第5章门级建模.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章门级建模第5章门级建第5章门级建模第5章门级建模

第5章门级建模 在门级抽象层次上,电路是用表示门的术语来描述的,如用and、nand来描述。 在verilog描述和电路的逻辑图之间存在着一一对应的关系。 5.1门的类型 与门和或门 缓冲器/非门 实例数组 举例 5.1.1与门和或门 and nand or nor xor xnor 门的端口列表中的第一个端口必定是输出端口,其后为输入端口 and a1(out,in1,in2); or a2(out,in1,in2,in3); nand (out,in1,in2,in3,in4); 5.1.2缓冲器/非门 基本缓冲器/非门:buf not buf和not可以具有多个输出端口,但只能具有一个输入端口,这个输入端口必须是实例端口表的最后一个。 举例:buf b1(out1,out2,in); 带控制端的缓冲器/非门:bufif1 bufif0 notfif1 notfif0 举例:bufif1(out,in,ctrl); notfif0(out,in,ctrl); 在某些情况下,例如当一个信号由多个驱动源驱动时,我们可以这样来设计驱动源:让它们的控制信号互相错开,从而避免一条信号线同时被两个源驱动。这时就需要使用这些带有控制端的缓冲器/非门来搭建电路。 5.1.3实例数组 5.1.4举例 门级多路选择器 四位脉动进位全加器 例一:门级多路选择器:4选1 门级多路选择器:4选1 -------原理图设计块 门级多路选择器:4选1 -------门级语言描述设计块 module mux41(out,s1,s0,D0,D1,D2,D3); output out; input D0,D1,D2,D3; input s1,s0; wire ns1,ns0; wire y0,y1,y2,y3; (中间信号-内部连线) not (ns1,s1); not (ns0,s0); and (y0,D0,ns1,ns0), (y1,D1,ns1, s0), (y2,D2, s1,ns0), (y3,D3, s1, s0); or (out, y0,y1,y2,y3); endmodule 门级多路选择器:4选1 -------门级语言描述激励块 module mux41stimulus; reg in0,in1,in2,in3; reg s0,s1; wire out; mux41 mymux(out,s1,s0,in0,in1,in2,in3); initial begin in0=1;in1=0;in2=1;in3=0; #1 $display(“in0=%b, in1=%b ,in2=%b ,in0=%b\n” ,in0,in1,in2,in3); s1=0;s0=0; #1 $display(“s1=%b,s0=%b,out=%b\n”,s1,s0,out); s1=0;s0=1; #1 $display (“s1=%b,s0=%b,out=%b\n”,s1,s0,out); s1=1;s0=0; #1 $display (“s1=%b,s0=%b,out=%b\n”,s1,s0,out); s1=1;s0=1; #1 $display (“s1=%b,s0=%b,out=%b\n”,s1,s0,out); end endmodule 例二:四位脉动进位全加器 --模块实例化语句体现层次设计 一位全加器 四位脉动进位全加器 一位全加器的门级描述 module fadder1bit(a,b,ci,s,cout); input a,b,ci; output s,cout; wire hadd1,hc1,hc2; (中间信号-内部连线) xor u1(hadd1,a,b), u2(s,hadd1,ci); and u3(hc1,hadd1,ci), u4(hc2,a,b); or u5(cout,hc1,hc2); endmodule 四位脉动进位全加器的原理图设计 四位脉动进位全加器的设计块 module fadder4bit(a,b,ci,s,cout); input [3:0]a,b; input ci; output [3:0] s; output cout; wire [2:0] c1; fadder1bit u0(a[0],b[0],ci,s[0],c1[0

您可能关注的文档

文档评论(0)

cxiongxchunj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档