Top-Down设计方法

Top-Down设计方法

ID:38853360

大小:293.81 KB

页数:30页

时间:2019-06-20

Top-Down设计方法_第1页
Top-Down设计方法_第2页
Top-Down设计方法_第3页
Top-Down设计方法_第4页
Top-Down设计方法_第5页
资源描述:

《Top-Down设计方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七讲Top-Down的设计方法7.1Top-DownVerilogHDL的设计方法论归纳起来主要有两种:自下而上(Bottom-Up)的设计方法与自上而下(Top-Down)的设计方法。另外,还可以根据实际情况,利用这两种方法的组合进行综合设计,即综合设计方法。Top-Down设计,即自顶向下的设计:将设计分为几个不同的层次:系统级、功能级、门级、开关级等,按照自上而下的顺序,在不同的层次上,对系统进行设计与仿真。在Top-Down的设计中,由系统用户对整个系统进行方案设计和功能划分,把系统划分为基本单元,然后再把每个基本单元划分为下一层次

2、的基本单元,直到可以直接用元件库中的元件来实现为止。Top-Down设计方式示意图:系统级与功能级的设计功能仿真综合门级网表时序仿真EDA工具的支持如图所示,在Top-Down的设计过程中,需要有EDA工具的支持,有些步骤EDA工具可以自动完成,比如综合等,有些步骤EDA工具为用户提供了操作平台。Top-Down设计方法一般采用HDL语言,具有以下一些优点:1):在设计周期中开始就做好了系统分析。2):由于设计的主要仿真和调试过程是在高层次完成的,所以能够在早期发现结构设计上的错误,避免设计工作的浪费,同时减少了逻辑仿真的工作量。3):自上而

3、下的设计方法方便了从系统划分和管理整个项目,使得几十万门甚至几百万门规模的复杂数字电路的设计成为可能。并可减少设计人员,避免不必要的重复设计,提高了设计的一次成功率。自上而下的设计方法有以下缺点:1):因采用的综合工具不一样,得到的最小单元不标准。2):制造成本高。频率计设计示例频率计是测量信号频率常用的仪器,其工作原理是在单位时间内对信号进行计数,从而测量出信号的频率,现设计一个6位频率计,其基准时钟为1MHz,要求频率测量范围为1Hz到1MHz。根据频率计的工作原理,其组成部分如下:(1)1KHz时钟发生器(2)闸门电路(3)计数器(4)

4、显示电路(显示电路又可以分割为计数值锁存器、扫描计数器、24选4多路开关、BCD-七段译码器、3-6译码器)(1)1KHz时钟发生器modulecounter1K(clk1k,mclk);outputclk1k;inputmclk;reg[8:0]count;regout;always@(posedgemclk)beginif(count〉9‘o499)beginclk1k<=!clk1k;count<=4'd0;endelsecount<=count+1;endendmodule(2)闸门电路moduleGateGen(load,clr,c

5、lk1k);outputload,clr;inputclk;reg[9:0]count;always@(posedgeclk1k)beginif(count==0)begincount<=count+1;load<=0;clr<=1;endelseif(count==1000)begincount<=10'd0;load<=1;clr<=0;endelsebegincount<=count+1;load<=0;clr<=0;endendendmodule(3)计数器Modulecounter(result,load,clr,signal);o

6、utputload,clr;output[23:0]result,inputsignal;reg[23:0]count;reg[23:0]result;//计数always@(posedgeclrorposedgesignal)beginif(clr)count<=24'h000000;elseif(count==24'd999999)count<=24'h000000;elseif(count[19:0]==20'h99999)begincount[19:0]<=0;count[23:20]<=count[23:20]+1;endelsei

7、f(count[15:0]==16'h9999)begincount[15:0]<=0;count[23:16]<=count[23:16]+1;endelseif(count[11:0]==12'h999)begincount[11:0]<=0;count[23:12]<=count[23:12]+1;endelseif(count[7:0]==8'h99)begincount[7:0]<=0;count[23:8]<=count[23:8]+1;endelseif(count[3:0]==4'h9)begincountt[3:0]<=0;

8、count[23:4]<=count[23:4]+1;endelsecount<=count+1;end//输出计数值always@(posedgeclrorpos

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。