电子设计自动化基础.ppt

上传人:wuy****n92 文档编号:77671612 上传时间:2023-03-16 格式:PPT 页数:36 大小:148KB
返回 下载 相关 举报
电子设计自动化基础.ppt_第1页
第1页 / 共36页
电子设计自动化基础.ppt_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《电子设计自动化基础.ppt》由会员分享,可在线阅读,更多相关《电子设计自动化基础.ppt(36页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、电子设计自动化基础3哈尔滨工业大学微电子中心李晓明1内容Verilog结构描述n模块调用与端口名对应方式n分级结构(层次式结构)与分级名Verilog结构描述:门级描述n基本门级元件n基本门与连线延时表示n连线驱动强度2Verilog结构描述电路描述n行为描述:侧重对模块行为功能的抽象描述n结构描述:侧重对模块内部结构实现的具体描述门级描述:对由基本逻辑门(and、or)互连而成的具有一定功能的电路模块的描述结构描述:将上述逻辑门用一个个功能模块替换,就拓展到一般意义的结构描述结构描述侧重对模块内部结构实现的具体描述3半加器为例module half_adder(sum,cout,a,b);o

2、utput sum,cout;input a,b;xor U0(sum,a,b);and U1(cout,a,b);endmoudle4Verilog结构描述模块调用n模块调用是Verilog结构描述的基本构成方式n通过调用其他模块来搭建新的模块n如果当前模块不再被其他模块调用,此模块即称作顶层模块模块调用类型n基本门调用nmodule模块调用5Verilog结构描述模块调用的基本形式:模块名 调用名(端口名表项);n调用名是唯一的模块调的端口名对应方式n位置对应n端口名对应:.定义时的端口名(调用时与之相连的信号名)n允许出现不连接的端口6Verilog结构描述模块调用(元件例化)7EX:m

3、odule comp(out_port1,out_port2,in_port1,in_port2);output out_port1,out_port2;input in_port1,in_port2;endmodule /调用方式1:位置对应 module demo_top1;comp gate1(Q,R,J,K);endmodule /调用方式2:端口名对应 module demo_top2;comp gate2(.in_port2(K),.out_port1(Q),.out_port2(R),.in_port1(J);endmodule/调用方式3:不连接端口 module demo_t

4、op3;comp gate3(Q,J,K);endmodule8Verilog结构描述如果从逻辑电路图开始n给电路图每个输入输出引脚赋以端口名n给电路图每条内部连线取连线名n给电路图每个逻辑单元取单元名(调用名)n给本电路模块取模块名n用module定义相应模块名的结构描述,并将图中所有输入输出端口名列入端口名列表中,再完成对各端口输入输出类型说明n依照图中连接关系,确定单元之间端口信号连接9Verilog结构描述注意:n对于位宽大于1位的内部连线,需补充相应连线类型说明n对于Verilog内含的基本门级元件调用,可以省略调用名,仿真系统在模拟过程中会给其自动赋予“基本门名$序列号”的缺省名n

5、对于Verilog内含的基本门级元件调用,允许在调用同时给出门的延时参数和驱动强度10Verilog结构描述例:全加器/行为描述vs 结构描述(b)门级11Verilog结构描述(C)行为级当a、b或cin逻辑状态发生变化,采用如下等式得到sum及cout:sum=abccout=ab+bc+ca12Verilog结构描述全加器行为描述实例:module fadder(sum,cout,a,b,cin);/-端口声明 output sum,cout;input a,b,cin;/-数据类型声明 reg sum,cout;/-行为级描述 always(a or b or cin)/过程语句 be

6、gin /过程块 sum=abcin;/过程赋值语句 cout=(a&b)|(b&cin)|(cin&a);endendmodule13Verilog结构描述全加器结构描述实例module fadder(sum,cout,a,b,cin);/-端口声明 output sum,cout;input a,b,cin;/-门级互连 xor U0(sum,a,b,cin);and U1(net1,a,b);and U2(net2,a,cin);and U3(net3,b,cin);or U4(cout,net1,net2,net3);endmodule14Verilog结构描述分级结构(层次式结构)与

7、分级名(Hierarchical Name)n顶层模块次级模块n不单以模块为分级依据:module、task、function、有名块,每一个都可作为分枝n分级名:任何模块中的调用元件、task、function以及连线,都可依据从根出发经各个中间分枝的一条路径确定它在此设计中独有的标识名。15 module bottom(in);input in;always(posedge in)begin:keep reg hold;hold=in;end endmodule module middle(stim1,stim2);input stim1,stim2;bottom amod(stim1),

8、bmod(stim2);endmodule module top;reg stim1,stim2;middle a(stim1,stim2);initial begin:block1#100 begin:block2 reg hold;end#100 begin stim1=0;end end endmodule16本例子中完整的分级名:模块单元名:top top.a 有名块名:top.block1 top.block1.block2 信号线名:17系统结构描述/top module module test;/模块例化fadder U0(sum,cout,a,b,cin);fadder_sti

9、m stim1(a,b,cin);endmodule/应用激励module fadder_stim(a,b,cin);output a,b,cin;reg a,b,cin;initial begina=0;b=0;cin=0;#5 cin=1;#5 cin=0;b=1;#5 cin=1;#5 a=1;b=0;cin=0;#5 cin=1;#5 cin=0;b=1;#5 cin=1;#10$finish;/结束仿真endendmodule18Verilog结构描述:门级描述基本元件(Basic Primitives):26种n门级元件(gate-level primitives):14种n开关级

10、元件(switch-level primitives):12种19Verilog结构描述:门级描述基本逻辑门级元件(Primitive cell)20Verilog结构描述:门级描述一、and、nand、or、nor、xor、nxor门名(输出,输入1,输入2,);特点:只有一个输出二、buf、not门名(输出1,输出2,输入)特点:只有一个输入21Verilog结构描述:门级描述三、bufif1、bufif0、notif1、notif0门名(输出,输入,使能控制端);特点:带有使能控制端三态输出四、pullup、pulldown门名(输出);特点:只有输出端22基本门元件调用的完整格式:门名

11、(对1驱动强度,对0驱动强度)(延迟)调用名(端口名表项);and(out,a,b);or(out,in1,in2,in3);/a primitive instance without /instance namebuf U0(out,in);/specify the instance namenotif0#5 n0(out,in,enable);/specify the delay注意端口名列表次序为先 output 再 input。23基本门元件的传播延迟表示法:24Verilog结构描述:门级描述基本门与连线的延时表示n门级延时:输入端发生变化到输出发生变化的门传输延时nassign语句

12、延时:左端发生变化到右端发生变化的延时n连线延时:信号在连线上的传输延时延时基本表示法:#(d1,d2,d3)d1:上升延时d2:下降延时d3:关断延时针对三态输出25(上升,下降,关断)延迟表示法0,x,or Z to 11,x,or Z to 00 or 1 to Zt_riset_fallt_turnoff26and#(3,2)(out,in1,in2);/基本门延时assign#(3,2)out=in1&in2;/assign赋值延时wire#(3,2)out=in1&in2;/连线定义in1in2out32ttt1注意:如果只出现一个延时值,表示统一代表所有状态转移的延时;如果出现2

13、个值,则代表d1,d227bufif1#(3,4,7)(out,in,ctrl);in1ctrlouttttZ343728Verilog结构描述:门级描述assign连续赋值语句的完整格式:assign(对1驱动强度,对0驱动强度)(延迟)赋值;连线类型说明的完整格式:连线类型(对1驱动强度,对0驱动强度)(延迟)连线名表项;trireg(电荷模式说明)(延迟)连线名表项;基本门元件调用的完整格式:门名(对1驱动强度,对0驱动强度)(延迟)调用名(端口名表项);29连线驱动强度的表示Strength Name Strength Element Modeled Declaration Print

14、ed LevelAbbreviation Abbreviation(%V)SuStPuLaWeMeSmHiSupply DriveStrong DrivePull DriveLarge CapacitorWeak DriveMedium CapacitorSmall CapacitorHigh Impedance76543210Power supply connectionGate and assign output strength(default)Gate and assign output strengthSize of trireg net capacitorGate of trire

15、g net capacitorSize of trireg net capacitorSize of trireg net capacitorNot applicablesupplystrongpulllargeweakmediumsmallhighZ30当两个驱动强度不同的连线相连时,会以强度等级较高的 连线输出为结果,例如:当没有使用强度时,Verilog的缺省值是Strong Drive,即(strong0,strong1)31Verilog系统函数为了方便对仿真过程的控制与仿真结果的分析,Verilog提供了系统函数,统一以“$”开头n输出控制:$display,$write,$mon

16、itorn模拟时标:$time,$realtimen进程控制:$finish,$stopn文件读写:$readmemn其它:$random32Verilog系统函数$display与与$write$write和$display列出所指定信号的值,它们的功能都相同,唯一不同点在$display输出结束后会自动换行,而$write不会换行。EX:$write(%b t%h t%d t%on,a,b,c,d);$display(%b t%h t%d t%o,a,b,c,d);33输出格式说明符以及转义字符34Verilog系统函数$monitor:输出变量的任何变化,都会输出一次结果;而$write

17、和$display每调用一次执行一次EX:module monitor_test;reg in;wire out;not#1 U0(out,in);initial$monitor($time,out=%b in=%b,out,in);initial begin in=0;#10 in=1;#10 in=0;endendmodule35Verilog系统函数$finish与$stopn$finish终止仿真器的运行n$stop暂停模拟程序的执行,不退出仿真进程$readmem:把文件内容读入指定存储器 readmemb(“文件名”,存储器名,起始地址,结束地址);readmemh(“文件名”,存储器名,起始地址,结束地址);Ex:reg 7:0 mem1:256;initial$”,mem);initial$”,mem,16);initial$”,mem,128,156);36

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com