版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、HDL语言硬件设计,第五章 门级建模,Verilog模型可以是实际电路不同级别的抽象。这些抽象的级别和它们对应的模型类型共有以下五种: (1)系统级(system) (2)算法级(algorithmic) (3)RTL级(Register Transfer Level): (4)门级(gate-level): (5)开关级(switch-level) 当前的数字电路设计,绝大多数都是建立在门级或更高的抽象层次上的。在门级抽象层次上,电路是用表示门的术语来描述的,如用and(与门),nand(与非门)等来描述。这种设计方法对于具有数字逻辑设计基础知识的用户来说是很直观的,在Verilog描述和电
2、路的逻辑图之间存在着一一对应的关系。,5.1 门的类型,Verilog语言中常用的门包括如下几种(以二输入为例):,1.与/或门,在Verilog语言中,我们可以调用(实例引用)这些逻辑门来构造逻辑电路。在门的实例引用中,输入端口的数目可以超过两个,这时只需将输入端口全部排列在端口列表中即可,Verilog会根据输入端口的数目自动选择引用合适的逻辑门。注意,在门级原语实例引用的时候,我们可以不指定具体实例的名字,这一点为设计师编写需要实例引用几百个门的模块提供了方便。 格式: ,;,2.缓冲器/非门,与and/or门相反,buf/not门具有一个标量输入和多个标量输出。端口列表中的最后一个终端
3、连接至输入端口,其他终端连接至输出端口。在这里,我们只讨论具有一个输入和一个输出的buf/not门,其原语和逻辑符号如下: Buf/not的引用实例如下:,带控制端的缓冲器/非门,除buf和not门之外,Verilog还提供了其他4个带有控制信号端口的buf/not门,这四种类型的门只有在控制信号有效的情况下才能传递数据;如果控制信号无效,则输出为高阻抗z。这些门的原语和逻辑符号如下:,在控制信号有效的情况下,这些门才能传递信号。在某些情况下,例如当一个信号由多个驱动源驱动时,我们可以这样来设计驱动源:让它们的控制信号的有效时间互相错开,从而避免一条信号线同时被两个源驱动。这时就需要使用带有控
4、制端的缓冲器/非门来搭建电路。引用的实例如下:,3.实例数组,在许多情况下,我们需要对某种类型的门进行多次调用(实例引用),这些门实例之间的区别仅仅在于它们分别连接在不同的向量信号位上。为了简化,Verilog允许用户自己来定义门实例数组。如下例:,4.举例,门级多路选择器 在本例中,我们设计一个带有两个控制信号的四选一多路选择器,并且假设控制信号s1和s0不能为x或z值。,5.1 门的类型 举例(续),采用Verilog门级描述,得到如下代码:,5.1 门的类型 举例(续),用门级结构描述D触发器,ndata,moduleflop(data,clock,clear,q,qb); inputd
5、ata,clock,clear; outputq,qb; wire a,b,c,d,e,f,ndata,nclock; nand nd1(a,data,clock,clear), nd2(b,ndata,clock), nd3(c,a,d), nd4(d,c,b,clear), nd5(e,c,nclock), nd6(f,d,nclock), nd7(q,e,qb), nd8(qb,q,f,clear); not iv1(ndata,data), iv2(nclock,clock); endmodule,由已经设计成的模块来构成更高一层的模块,modulehardreg(d,clk,clrb
6、,q); inputclk,clrb; input3:0d; output3:0q; flopf1(d0,clk,clrb,q0,), f2(d1,clk,clrb,q1,), f3(d2,clk,clrb,q2,), f4(d3,clk,clrb,q3,); endmodule 注意:当f1到f4实例引用已编模块flop时,由于不需要flop端口中的qb口,故在引用时把它省去,但逗号仍需要留着。,5.2 门延迟1.上升、下降和关断延迟,上升延迟: 在门的输入发生变化的情况下,门的输出从0,x,z变化为1所需的时间称为上升延迟。 下降延迟: 下降延迟是指门的输出从1,x,z变化为0所需的时间。
7、 关断延迟: 关断延迟是指门的输出从0,1,x变化为高阻抗z所需的时间。,2.延迟声明,如果用户只指定了一个延迟值,那么对所有类型的延迟都使用这个延迟值 如果用户指定了两个延迟值,则它们分别代表上升延迟和下降延迟,两者中的小者为关断延迟 如果用户指定了三个延迟值,则它们分别代表上升延迟、下降延迟和关断延迟。 如果未指定延迟值,那么默认延迟值为0。,5.2 门延迟 最小/典型/最大延迟,最小值:设计者预期逻辑门所具有的最小延迟。 典型值:设计者预期逻辑门所具有的典型延迟。 最大值:设计者预期逻辑门所具有的最大延迟。,3.门延迟举例,考虑一个简单的例子,说明如何使用门延迟为逻辑电路建立时序模型。假
8、设模块D实现逻辑功能: out = (a b) + c。 模块D的逻辑图如下,其中包含了一个延迟时间为5个单位的与门和一个延迟时间为4个单位的或门。,习题1,利用双输入端的nand门,用Verilog编写自己的双输入端的与门、或门和非门,把它们分别命名为my_or,my_and和my_not,并通过激励模块验证这些门的功能。,module my_and(in1,in2,out); input in1,in2; output out; wire out1; nand a1(out,out1,out1); nand a2(out1,in1,in2); endmodule,module my_or(
9、in1,in2,out); input in1,in2; output out; wire out1,out2; nand o1(out,out1,out2); nand o2(out1,in1,in1); nand o3(out2,in2,in2); endmodule,module my_not(in,out); input in; output out; nand n1(out,in,in); endmodule,习题2,使用上题中完成的my_or,my_and和my_not门构造一个双输入端的xor门,其功能是计算z = xy + x y,其中x和y为输入,z为输出;编写激励模块对x和
10、y的四种输入组合进行测试仿真。,module my_xor(in1,in2,out); input in1,in2; output out; wire not_in1,not_in2,out_a1,out_a2; my_not mynot1(in1,not_in1); my_not mynot2(in2,not_in2); my_and myand1(in1,not_in2,out_a1); my_and myand2(in2,not_in1,out_a2); my_or myor1(out_a1,out_a2,out); endmodule,module test52; reg x,y; w
11、ire z; initial begin x=0;y=0; #10 x=0;y=1; #10 x=1;y=0; #10 x=1;y=1; #10 $stop; end initial $monitor($time,“x=%b,y=%b, z=%b,x,y,z); my_xor myxor(x,y,z); endmodule,习题3,带有延迟的RS锁存器如下图所示,写出其带有延迟的Verilog门级描述。编写其激励模块,根据下面的输入-输出关系表对其功能进行验证。,module my_rs(reset,set,q,qbar); input reset,set; output q,qbar; nor #(1) nor1(q,reset,qbar); nor #(1) nor2(qbar,set,q); endmodule,module test54; reg set,reset; wire q,qbar; initial begin set=0;rese
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医患沟通技巧三基三严考试题库及答案
- 贵州小学综合实践试题及答案
- Aerial Lifts高空作业车液压系统
- 安全监控系统设备制度培训
- 2025《装在套子里的人》社会转型的阵痛课件
- 煤矿自制件、修理件及加工件管理办法培训
- 粗加工安全管理制度培训课件
- 铝罩复边机安全使用管理规定培训课件
- 2026年工业区块链数据合规使用合同
- 起重机械配合现场检验制度培训
- 《银行会计(第四版)》全套教学课件
- (自2026年1月1日起施行)《增值税法实施条例》的重要变化解读
- 个体化疫苗研发中的成本效益:精准分析
- 2025福建泉州丰泽城市建设集团有限公司招聘第二批招商专员复试及环节人员笔试历年难易错考点试卷带答案解析
- DB34∕T 5013-2025 工程建设项目招标代理规程
- 2026年江西司法警官职业学院单招职业技能考试题库及答案1套
- 去极端化宣传课件
- ERAS理念下术后早期活动的护理方案
- 2025财政部部属单位招聘笔试历年参考题库附带答案详解
- 基于高效清洗需求的换热器高压水射流清洗装置深度设计与研究
- 2025安宁疗护患者人文关怀专家共识学习与解读课件
评论
0/150
提交评论