verilog教程2内容摘要:

时延定义 例 1: not 3 N1(QN, Q)。 三种延时都为 3 例 2: nand (4,5) (Out, In1, In2)。 上升时延为 4,下降时延为 5,转换到 x的时延为两者的最小值 4 例 3: notif1 (2,8,6) (Dout,Din,Ctrl)。 上升时延为 2,下降时延为 8,截止时延为 6,转换到 x的时延为三者的最小值 2 24解码器实例 module Dec2to4(A,B,Enable,z)。 input A,B,Enable。 output[0:3] z。 not (1,2) V0(Abar,A), V1(Bbar,B)。 nand (4,3) N0(z[3], Enable,A,B), N0(z[0], Enable,Abar,Bbar), N0(z[1], Enable,Abar,B), N0(z[2], Enable,A,Bbar)。 endmodule 语言要素及表达式 门电平模型 三种建模方式 测试验证 连续赋值 用于数据流行为建模 将值赋给线网,不能为寄存器赋值,格式为: assign target = expression。 在 expression发生变化时,执行 assign语句 例: wire Z, A, B。 assign (2,3,4) Z = Aamp。 B。 半加器的例子 module HalfAdder(A, B, Sum, Carry)。 input A, B。 output Sum, Carry。 assign 2 Sum=A^B。 assign 5 Carry=Aamp。 B。 endmodule 过程语句 用于行为建模 两种语句:  initial  always 一个模块内可包含任意多个 initial 和always语句,它们相互并行执行,即,它们的执行顺序与其在模块中的顺序无关 initial语句 只执行一次 在模拟开始时执行 例: reg State。 initial State=0。 initial语句 带顺序过程的 initial语句 reg State,Reset。 initial begin State=0。 Reset=0。 5 Reset=1。 10 Reset=0。 end always语句 always语句反复执行 例: always 5 Clock=~Clock。 由事件控制的顺序过程的 always语句 例: module HalfAdde。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。