收藏 分销(赏)

第三讲门级与结构建模PPT课件.ppt

上传人:可**** 文档编号:677898 上传时间:2024-01-30 格式:PPT 页数:40 大小:823KB
下载 相关 举报
第三讲门级与结构建模PPT课件.ppt_第1页
第1页 / 共40页
第三讲门级与结构建模PPT课件.ppt_第2页
第2页 / 共40页
第三讲门级与结构建模PPT课件.ppt_第3页
第3页 / 共40页
第三讲门级与结构建模PPT课件.ppt_第4页
第4页 / 共40页
第三讲门级与结构建模PPT课件.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系第 三讲 门级与结构建模 内容:v结构建模分类vVerilog内建基本门v门级结构建模v门延迟v测试模块v模块仿真入门第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系前言 Verilog模型可以是实际电路不同级别的抽象。这些抽象的级别和它们对应的模型类型共有以下五种:系统级(system)算法级(algorithmic)RTL级(RegisterTransferLevel):门级(gate-level):开关级(switch-level)第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系我们将通过许多

2、实际的VerilogHDL模块的设计来了解不同抽象级别模块的结构和可综合性的问题。对于数字系统的逻辑设计工程师而言,熟练地掌握门级、RTL级、算法级、系统级是非常重要的。而对于电路基本部件(如门、缓冲器、驱动器等)库的设计者而言,则需要掌握用户自定义源语元件(UDP)和开关级的描述。一个复杂电路的完整VerilogHDL模型是由若干个VerilogHDL模块构成的,每一个模块又可以由若干个子模块构成。这些模块可以分别用不同抽象级别的VerilogHDL描述,在一个模块中也可以有多种级别的描述。利用VerilogHDL语言结构所提供的这种功能就可以构造一个模块间的清晰层次结构来描述极其复杂的大型

3、设计。第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系结构建模分类模块定义module(port list)时序特性timig specifications端口说明Port declarations输入input双向inout输出output数据类型说明Data type declarations线网类型net参数parameter寄存器类型register电路功能描述电路功能描述Circuit functionality子程序subprograms任务task函数function系统任务和函数System task&function编译指令Compiler directive

4、s连续赋值Continuousassignment赋值语句assign过程块Proceduralblocks过程块语句initial blockalways block模块实例模块实例instantiation第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系结构建模分类v结构建模侧重反映模块内部的结构组成。v门级建模由基本逻辑门级元件互连而成的具有一定功能的电路模块。v开关级建模(不讲)是构成VerilogHDL对硬件设计最低层次的描述。通常的综合工具不支持开关级描述。v用户定义原语建模(不讲)由用户定义基础元件互连而成的具有一定功能的电路模块。v用户定义模块建模由用户定义模块

5、互连而成的具有一定功能的电路模块。第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系Verilog内建基本门v一个逻辑网络是由许多逻辑门和开关所组成,因此用逻辑门的模型来描述逻辑网络是最直观的。VerilogHDL提供了一些门类型的关键字,可以用于门级结构建模v多输入门:and,nand,or,nor,xor,xnorv多输出门:buf(缓冲门),not(非门)v三态门:bufif0,bufif1,notif0,notif1。只有在控制端有效时才能传递数据,否则输出高阻抗z。v上拉、下拉电阻:pullup,pulldownvMOS开关:cmos,nmos,pmos,rcmos,r

6、nmos,rpmosv双向开关:tran,tranif0,tranif1,rtran,rtranif0,rtranif1第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系多输入门v多输入门具有单个输出,2个或多个输入,如图:v多输入门实例语句语法:gate_typeinstance_name(output,input1,inputN);多输入门输出输入n输入1门类型实例名可选单输出多输入第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系内建多输入门名称关键字图标名称关键字图标与门and与非门nand或门or或非门nor异或门xor异或非门(同或门)xnor第三讲第三

7、讲 门级与结构建模门级与结构建模西安邮电学院通信工程系与门(and)与门真值表:实例引用:andU1(out,in1,in2);andU2(out1,a,b,c,d);and(out,in1,in2)4个输入第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系与非门(nand)与非门真值表:实例引用:nandU3(out,in1,in2);nandU4(out1,a,b,c);3个输入第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系或门(or)或门真值表:实例引用:orU5(out,in1,in2),U6(out1,a,b,c);同类门实例引用简化方式第三讲第三讲

8、门级与结构建模门级与结构建模西安邮电学院通信工程系或非门(nor)或非门真值表:实例引用:norU7(out,in1,in2);norU8(out1,out,b,c);U7输出out信号连接到U8的输入端口第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系异或门(xor)异或门真值表:实例引用:xorU9(out,in1,in2);xorU10(out1,out,in1,c);in1信号连接到U9、U10的输入端口第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系异或非门(xnor)异或门真值表:实例引用:xnorU11(out,in1,in2);xor(out1,

9、out,b,c);无实例名第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系多输出门v多输出门具有单个输入,1个或多个输出,如图:v多输出门实例语句语法:gate_typeinstance_name(output1,outputN,input);多输入门输出1输出n输入门类型实例名可选多输出单输入第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系内建多输出门名称关键字图标名称关键字图标缓冲门buf非门not真值表:实例引用:bufB1(F1,F2,F3,F4,CLK);notN1(A,B,ready);clkF2F1F3F4第三讲第三讲 门级与结构建模门级与结构建模

10、西安邮电学院通信工程系内建三态门名称关键字图标名称关键字图标高有效三态门bufif1高有效三态非门notif1低有效三态门bufif0低有效三态非门notif0三态门实例语句语法:gate_typeinstance_name(output,input,control);第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系内建三态门真值表第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系门级结构建模 s1 s0 z 0 0D0 0 1D1 1 0D2 1 1D3真值表:4选1多路选择器第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系4选1多路选择器的门级

11、结构建模module MUX4x1(Z,D0,D1,D2,D3,S0,S1);output Z;/端口说明 input D0,D1,D2,D3,S0,S1;/端口说明 wire T1,T2,T3,T4;/内部线网说明,缺省说明S0bar,S1bar and (T0,D0,S0bar,S1bar),/4个与门(T1,D1,S0bar,S1),(T2,D2,S0,S1bar),(T3,D3,S0,S1);not (S0bar,S0),/2个非门(S1bar,S1);or (Z,T0,T1,T2,T3);/1个或门endmodule第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系门延

12、迟v在实际电路中任何一个逻辑门输入到输出都有延迟。v门延迟由三类延迟值组成:1)下降延迟:1、x、z02)上升延迟:10、x、z3)截止延迟:输出从0、1、x变化到z的延迟。v带有延迟定义的门实例引用的语法如下:gate_typedelayinstance_name(terminal_list);第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系带门延迟的实例引用v无延迟值:not N1(Qbar,Q);因为没有定义时延,门时延为0。v1个延迟值:nand#6(Out,In1,In2);所有时延均为6,即上升时延和下降时延都是6。v2个延迟值:and#(3,5)(Out,In1,

13、In2,In3);上升时延被定义为3,下降时延为5,转换到x的时延是3和5中间的最小值,即3。v3个延迟值:notif1#(2,8,6)(Dout,Din1,Din2);上升时延为2,下降时延为8,截止时延为6,转换到x的时延是2、8和6中的最小值,即2。第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系(最小:典型:最大)延迟v实际电路中逻辑门不但有延迟,而且延迟受温度、电压等因素影响,是变化的。v门延迟变化采用min:typ:max形式定义如下:minimum:typical:maximumv最小值、典型值和最大值延迟实例引用:nand#(2:3:4,5:6:7)(Pout,

14、Pin1,Pin2);v选择使用哪种延迟通常作为模拟仿真中的一个选项。v延迟时间单位由timescale编译器指令设定。第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系带延迟的4选1多路选择器的门级结构建模module MUX4x1_delay(Z,D0,D1,D2,D3,S0,S1);output Z;/端口说明 input D0,D1,D2,D3,S0,S1;/端口说明 wire T1,T2,T3,T4;/内部线网说明,缺省说明S0bar,S1bar and#(2)U1(T0,D0,S0bar,S1bar),/4个与门,上升时延和下降时延都是2U2(T1,D1,S0bar,

15、S1),U3(T2,D2,S0,S1bar),U4(T3,D3,S0,S1);not U5(S0bar,S0),/2个非门U6(S1bar,S1);or#(2,1)U7(Z,T0,T1,T2,T3);/1个或门endmodule第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系用户模块结构建模用MUX4x1用户模块设计16选1多路选择器:第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系16选1多路选择器设计module MUX16x1(Z,D,S);output Z;/端口说明 input 15:0 D;/端口说明input3:0S;/端口说明/用户模块建模 MU

16、X4x1 U1(.Z(Z3_0),.D0(D0),.D1(D1),.D2(D2),.D3(D3),.S0(S0),.S1(S1),U2(.Z(Z7_4),.D0(D4),.D1(D5),.D2(D6),.D3(D7),.S0(S0),.S1(S1),U3(.Z(Z11_8),.D0(D8),.D1(D9),.D2(D10),.D3(D11),.S0(S0),.S1(S1),U4(.Z(Z15_12),.D0(D12),.D1(D13),.D2(D14),.D3(D15),.S0(S0),.S1(S1),U5(.Z(Z),.D0(Z3_0),.D1(Z7_4),.D2(Z11_8),.D3(Z1

17、5_12),.S0(S3),.S1(S4);endmodule第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系模块仿真入门 v 如何编写测试文件对所做的设计进行测试和验证。vmodelsim仿真工具入门第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系Verilog设计的仿真步骤注:虚线表示编译器能检查输入文件的可读性和是否存在以及是否允许生成输出文件include文件设计文件厂家元件库文件输入文件:激励和期望的输出信号输出文件:激励和实际输出的信号编译器仿真器仿真器第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系仿真测试平台的组成激励信号需要验证

18、的设计激励信号和用于验证的结果数据需要验证的设计简单的测试平台复杂的测试平台第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系测试模块为了对已设计的模块进行检验往往需要产生一系列信号作为输出,输入到已设计的模块,并检查已设计模块的输出,看它们是否符合设计要求。这就要求我们编写测试模块,也称作测试文件,常用带.tf扩展名的文件来描述测试模块。第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系4选1多路选择器测试模块1moduletest_MUX4x1;/MUX4x1模块测试平台,无输入输出端口reg3:0d;/测试平台内部激励信号说明reg1:0s;wireout;/

19、模块输出信号MUX4x1mymux(out,d0,d1,d2,d3,s0,s1);/调有被测模块initial/激励信号产生与结果输出begind=4b1010;s=2b00;/加载输入信号d3:0$display($time,“d=%b,s1=%b,s0=%b,out=%bn”,d,s1,s0,out);/显示结果第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系#5s=2b00;/加载选择信号s1:0$display($time,“d=%b,s1=%b,s0=%b,out=%bn”,d,s1,s0,out);/延时后显示结果#5s=2b01;$display($time,“d

20、=%b,s1=%b,s0=%b,out=%bn,d,s1,s0,out);#5s=2b10;$display$time,(“d=%b,s1=%b,s0=%b,out=%bn,d,s1,s0,out);#5s=2b11;$display($time,“d=%b,s1=%b,s0=%b,out=%bn,d,s1,s0,out);endendmodule第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系4选1多路选择器测试模块1仿真结果run-all#0d=1010,s1=0,s0=0,out=x#5d=1010,s1=0,s0=0,out=0#10d=1010,s1=0,s0=1,o

21、ut=0#15d=1010,s1=1,s0=0,out=0#20d=1010,s1=1,s0=1,out=1第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系4选1多路选择器测试模块2moduletest_MUX4x1_delay;/MUX4x1模块测试平台,无输入输出端口reg3:0d;/测试平台内部激励信号说明reg1:0s;wireout;/模块输出信号MUX4x1_delaymymux(out,d0,d1,d2,d3,s0,s1);/调用被测模块第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系initial/激励信号产生与结果输出begin$monitor

22、($time,“d=%b,s1=%b,s0=%b,out=%bn”,d,s1,s0,out);/监视输出d=4b1010;/加载输入信号d3:05s=2b00;/加载选择信号s1:05s=2b01;5s=2b10;5s=2b11;endendmodule第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系4选1多路选择器测试模块2仿真结果run-all#0d=1010,s1=0,s0=0,out=x#3d=1010,s1=0,s0=0,out=0#10d=1010,s1=0,s0=1,out=0#15d=1010,s1=1,s0=0,out=0#19d=1010,s1=1,s0=0,out=1#20d=1010,s1=1,s0=1,out=1第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系Modelsim仿真工具入门第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系第三讲第三讲 门级与结构建模门级与结构建模西安邮电学院通信工程系

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们     诚招英才     服务填表     联系我们

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号  |  icp.png浙ICP备2021020529号-1 浙B2-2024(办理中)  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服