




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七讲Top-Down的设计方法,7.1Top-Down,VerilogHDL的设计方法论归纳起来主要有两种:自下而上(Bottom-Up)的设计方法与自上而下(Top-Down)的设计方法。另外,还可以根据实际情况,利用这两种方法的组合进行综合设计,即综合设计方法。,Top-Down设计,即自顶向下的设计:将设计分为几个不同的层次:系统级、功能级、门级、开关级等,按照自上而下的顺序,在不同的层次上,对系统进行设计与仿真。在Top-Down的设计中,由系统用户对整个系统进行方案设计和功能划分,把系统划分为基本单元,然后再把每个基本单元划分为下一层次的基本单元,直到可以直接用元件库中的元件来实现为止。,Top-Down设计方式示意图:,如图所示,在Top-Down的设计过程中,需要有EDA工具的支持,有些步骤EDA工具可以自动完成,比如综合等,有些步骤EDA工具为用户提供了操作平台。,Top-Down设计方法一般采用HDL语言,具有以下一些优点:,1):在设计周期中开始就做好了系统分析。2):由于设计的主要仿真和调试过程是在高层次完成的,所以能够在早期发现结构设计上的错误,避免设计工作的浪费,同时减少了逻辑仿真的工作量。3):自上而下的设计方法方便了从系统划分和管理整个项目,使得几十万门甚至几百万门规模的复杂数字电路的设计成为可能。并可减少设计人员,避免不必要的重复设计,提高了设计的一次成功率。,自上而下的设计方法有以下缺点:1):因采用的综合工具不一样,得到的最小单元不标准。2):制造成本高。,频率计设计示例,频率计是测量信号频率常用的仪器,其工作原理是在单位时间内对信号进行计数,从而测量出信号的频率,现设计一个6位频率计,其基准时钟为1MHz,要求频率测量范围为1Hz到1MHz。,根据频率计的工作原理,其组成部分如下:,(1)1KHz时钟发生器(2)闸门电路(3)计数器(4)显示电路(显示电路又可以分割为计数值锁存器、扫描计数器、24选4多路开关、BCD-七段译码器、3-6译码器),(1)1KHz时钟发生器,modulecounter1K(clk1k,mclk);outputclk1k;inputmclk;reg8:0count;regout;always(posedgemclk)beginif(count9o499)beginclk1k=!clk1k;count=4d0;endelsecount=count+1;endendmodule,(2)闸门电路,moduleGateGen(load,clr,clk1k);outputload,clr;inputclk;reg9:0count;always(posedgeclk1k)beginif(count=0)begincount=count+1;load=0;clr=1;end,elseif(count=1000)begincount=10d0;load=1;clr=0;endelsebegincount=count+1;load=0;clr=0;endendendmodule,(3)计数器,Modulecounter(result,load,clr,signal);outputload,clr;output23:0result,inputsignal;reg23:0count;reg23:0result;/计数always(posedgeclrorposedgesignal)beginif(clr)count=24h000000;elseif(count=24d999999)count=24h000000;elseif(count19:0=20h99999)begincount19:0=0;count23:20=count23:20+1;end,elseif(count15:0=16h9999)begincount15:0=0;count23:16=count23:16+1;endelseif(count11:0=12h999)begincount11:0=0;count23:12=count23:12+1;endelseif(count7:0=8h99)begincount7:0=0;count23:8=count23:8+1;end,elseif(count3:0=4h9)begincountt3:0=0;count23:4=count23:4+1;endelsecount=count+1;end/输出计数值always(posedgeclrorposedgeload)beginif(clr)result=24h0000;elseresult=count;endendmodule,(4)显示电路,moduledisled(seg7,segsel,bcdin,clk1k);inputclk1ms;input23:0bcdin;output7:0seg7n;output5:0segsel;endmodule,(5)顶层文件,moduletop(ledseg7,ledsel,signal,mclk)inputsin,mclk;/输入信号和1MHz时钟输入output7:0ledseg7;output5:0ledsel;wireclk1k,clr,load;wire23:0result;wire7:0seg7;wire5:0segsel;,/1KHz时钟分频器counter1KU1(.clk1k(clk1k),.mclk(mclk);/闸门电路GateGenU2(.load(load),.clr(clr),.clk1k(clk1k);/测量单元CounterU3(.result(result),.load(load),.clr(clr),.signal(signal);/LED显示DisledU4(.seg7(ledseg7),.segsel(ledsel),.bcdin(result),.clk1k(clk1K);endmodule,7.2存储器建模,若干个相同宽度的向量构成数组(array),也就是存储器。例如:reg7:0mymem1023:0;上面的语句定义了一个1024个字节,每个字节宽度为8位的存储器。再如:reg3:0Amem63:0/Amem为64个4位寄存器的存储器regBmen5:1/Bmem为5个1位寄存器的存储器,也可以用parameter参数定义存储器的尺寸,比如:parameterwordwidth=8,memsize=1024;regwordwidth-1:0mymemmemsize-1:0上面的语句定义了一个宽度为8位,1024个存储单元的存储器。该存储器的名字是mymem,若对该存储器中的某一单元赋值的话,可采用如下方式:mymem8=1;/mymem存储器中的第8个单元被赋值为1mymem25=65;/mymem存储器中的第25个单元被赋值为65不允许对存储器进行位选择和域选择。不过,可以首先将存储器的值赋给寄存器,然后对寄存器进行位选择和域选择。,为存储器赋值的另一种方法是使用系统任务(仅限于电路仿真中使用):$readmemb(加载二进制值)$readmemh(加载十六进制值)这些系统任务从指定的文本中读取数据并加载到存储器。文本文件必须包含相应的二进制数或者十六进制数。,存储器建模必须注意以下两个方面的问题:,1)声明存储器容量的大小。2)明确对存储器访问操作的权限。,例如:指出可以对存储器做以下哪几种操作:只读读写同步读写多次读,同时进行一次写多次同步读写,同时提供一些方法保证一致性,例1:ROM建模,timescale1ns/10psmodulemyrom(read_data,addr,read_en_);inputread_en_;input3:0addr;output3:0read_data;reg3:0read_data;reg3:0mem0:15;initial$readmemb(“my_rom_data”,mem);always(addrorread_en_)if(!read_en_)read_data=memaddr;endmodule,例2:RAM建模,timescale1ns/1nsmodulemymem(data,addr,read,write);inout3:0data;inout3:0addr;inputread,write;reg3:0memory0:15;/4bits,16words/从存储器读出到总线上assigndata=read?memoryaddr:4bz;/从总线写入存储器always(posedgewrite)memoryaddr=data;endmodule,RAM模型跟ROM模型相比:,它必须具有读写能力;进行读写时通常使用相同的数据总线;需要新技术来处理双向总线;当读信号无效时,RAM模型与总线脱离,如果此时写信号也无效,总线无驱动源,则总线进入高阻状态,这就避免了RAM中的读写竞争。上例的RAM模块是可综合的,但综合出来是一大堆寄存器,占比较大的面积,经济上不太合算。,7.3双向口建模,使用inout关键字声明端口为双向口。inout7:0databus;使用双向口必需遵循下面的规则:inout口只能声明为网络连接类型,不允许把它声明为寄存器类型。(所以仿真器能确定多个驱动源的最终值。)在设计中,每次只能从一个方向来驱动inout口。,例如:当使用总线读RAM中的数据时,如果同时又向RAM模型的双向数据总线写数据,就会产生逻辑竞争,导致总线数据无法确定。所以必须为inout口设计控制逻辑,只有这样才能保证正确的操作。使用双向口时还要注意:声明一个inout口,可以用来输入或输出数据。inout口默认为网络连接类型。不允许在过程块(initial或always块)中对网络连接类型的数据进行过程赋值;但可以在过程块外把一个寄存器数据类型通过连续赋值语句赋给它(inout口),或者把它与用户定义的源语(UDP)相连。必须为inout口设计控制逻辑,用来保证正确的操作。当把inout口作为输入口时,必须通过控制逻辑禁止输出到inout口。,例1:使用Verilog中的基本元件(bufif1)为双向口建模,modulebus_xcvr(bus_a,bus_b,en_a_b,en_b_a);inoutbus_a,bus_b;inputen_a_b,en_b_a;bufiflb1(bus_b,bus_a,en_a_b);bufiflb2(bus_a,bus_b,en_b_a);/结构模块逻辑endmodule,例2:使用连续赋值为双向口建模,modulebus_xcvr(bus_a,bus_b,en_a_b,en_b_a);inoutbus_a,bus_b;inputen_a_b,en_b_a;assignbus_b=en_a_b?bus_a:bz;assignbus_a=en_b_a?bus_b:bz;/结构模块逻辑endmodule,例3:存储器的端口建模,moduleram_cell(databus,rd.wr);inoutdatabus;inputrd,wr;regdatareg;assigndatabus=rd?datareg:bz;always(negedgewr)datareg=databus;endmodule该例中存储单元在wr的下降沿到达时存入数据。上页模块在wr处于高电平时,通过数据总线写入数据,但必须保证wr的高电平维持时间长于数据的写入时间。在rd处于高电平时,上述存储单元通过数据总线读出数据。由于此模型为单口存储模型,因此wr变低电平时,rd不能同时为高电平,否则就无法确定存储器的读出/写入的结果。,7.4IP的使用,IP核是具有知识产权(IntellectualProperty)的集成电路芯核的简称,其作用是把一组拥有知识产权的电路设计集合在一起,构成芯片的基本单位,以供设计时搭积木之用。其实可以把IP理解为一颗ASIC,以前是ASIC做好以后供人家在PCB上使用,现在是IP做好以后让人家集成在更大的芯片里。IP核是一段具有特定电路功能的硬件描述语言程序,该程序与集成电路工艺无关,可以移植到不同的半导体工艺中去生产集成电路芯片。利用IP核设计电子系统,引用方便,修改基本元件的功能容易。具有复杂功能和商业价值的IP核一般具有知识产权,尽管IP核的市场活动还不规范,但是仍有许多集成电路设计公司从事IP核的设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60155:1993/AMD2:2006 FR-D Amendment 2 - Glow-starters for fluorescent lamps
- 来自大自然启示的故事寓言性质作文8篇范文
- 楼盘销售数据对比表
- 现代管理学理论与应用测试题
- 食品营养学与实践能力测试卷详解
- 疫情期间考试试题及答案
- 宜宾燃气考试试题及答案
- 仪器分析考试试题及答案
- 六一儿童摄影活动方案
- 六一古装活动方案
- 2025天猫服饰春夏趋势白皮书
- 2024年冬季N0M世界青少年数学思维研学活动模拟题
- 2024NEA水性气硅涂膏隔热保温墙体构造
- DB61T1536-2022工业锅炉运行管理规范
- SH/T 3046-2024 石油化工立式圆筒形钢制焊接储罐设计规范(正式版)
- JT∕T 795-2023 事故汽车修复技术规范
- 预防接种门诊验收表4-副本
- 外国文学之旅智慧树知到期末考试答案章节答案2024年山东师范大学
- 驾驶档案注销委托书
- 焊接规范的基本要求
- 广东省广州市2024届七年级生物第二学期期末教学质量检测模拟试题含解析
评论
0/150
提交评论