网站大量收购独家精品文档,联系QQ:2885784924

第七讲Top_Down设计方法.pptVIP

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七讲Top_Down设计方法

第七讲 Top-Down的设计方法 ;Top-Down设计,即自顶向下的设计 : 将设计分为几个不同的层次:系统级、功能级、门级、开关级等,按照自上而下的顺序,在不同的层次上,对系统进行设计与仿真。 在Top-Down的设计中,由系统用户对整个系统进行方案设计和功能划分,把系统划分为基本单元,然后再把每个基本单元划分为下一层次的基本单元,直到可以直接用元件库中的元件来实现为止。 ;Top-Down设计方式示意图: ;Top-Down设计方法一般采用HDL语言,具有以下一些优点: ;自上而下的设计方法有以下缺点: 1): 因采用的综合工具不一样,得到的最小单元不标准。 2): 制造成本高。;频率计设计示例;根据频率计的工作原理,其组成部分如下: ;(1)1KHz时钟发生器 ;(2) 闸门电路;(3)计数器;else if(count[15:0]==16h9999) begin count[15:0]=0; count[23:16]=count[23:16]+1; end else if(count[11:0]==12h999) begin count[11:0]=0; count[23:12]=count[23:12]+1; end else if(count[7:0]==8h99) begin count[7:0]=0; count[23:8]=count[23:8]+1; end;else if(count[3:0]==4h9) begin countt[3:0]=0; count[23:4]=count[23:4]+1; end else count=count+1; end //输出计数值 always @(posedge clr or posedge load) begin if(clr) result=24h0000; else result=count; end endmodule ;(4)显示电路;(5)顶层文件;//1KHz时钟分频器 counter1K U1( .clk1k(clk1k), .mclk(mclk)); //闸门电路 GateGen U2(.load(load),.clr(clr),.clk1k(clk1k)); //测量单元 Counter U3(.result(result),.load(load),.clr(clr), .signal(signal)); //LED显示 Disled U4(.seg7(ledseg7),.segsel(ledsel),.bcdin(result),.clk1k(clk1K)); endmodule;7.2 存储器建模;也可以用parameter参数定义存储器的尺寸,比如: parameter wordwidth=8,memsize=1024; reg[wordwidth-1:0] mymem[memsize-1:0] 上面的语句定义了一个宽度为8位,1024个存储单元的存储器。该存储器的名字是mymem,若对该存储器中的某一单元赋值的话,可采用如下方式: mymem[8]=1; //mymem存储器中的第8个单元被赋值为1 mymem[25]=65; //mymem存储器中的第25个单元被赋值为65 不允许对存储器进行位选择和域选择。不过,可以首先将存储器的值赋给寄存器,然后对寄存器进行位选择和域选择。;为存储器赋值的另一种方法是使用系统任务(仅限于电路仿真中使用): $readmemb(加载二进制值) $readmemh(加载十六进制值) 这些系统任务从指定的文本中读取数据并加载到存储器。文本文件必须包含相应的二进制数或者十六进制数。; 存储器建模必须注意以下两个方面的问题: ;例如:指出可以对存储器做以下哪几种操作: 只读 读写 同步读写 多次读,同时进行一次写 多次同步读写,同时提供一些方法保证一致性;例1:ROM建模;例2:RAM建模;RAM模型跟ROM模型相比: ;7.3 双向口建模; 例如:当使用总线读RAM中的数据时,如果同时又向RAM模型的双向数据总线写数据,就会产生逻辑竞争,导致总线数据无法确定。所以必须为inout口设计控制逻辑,只有这样才能保证正确的操作。 使用双向口时还要注意: 声明一个inout口,可以用来输入或输出数据。inout口默认为网络连接类型。不允许在过程块(initial 或always块)中对网络连接类型的数据进行过程赋值;但可以在过程块外把一个寄存器数据类型通过连续赋值语句赋给它(inout口)

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档