正在加载图片...
第2章建实例139 下载 reg[0:11]z always e(Aorc。rc1kB) egin: SEQ //由于标记了程序块,可以说明一个局部寄存器变量s1 reg[0:7]S1; i£f(c1kB) Z=S1*G 这种模型也描述了电路的行为,但是没有蕴含任何结构,无论是隐式还是显示的。在这 种方式中,寄存器用谚语句建模。 第三种描述Save_Mal电路的方法是假定已存在8位寄存器和8位乘法器,将电路建模为线 网表 module Save MuIt Netlist (A, C, ClkB, 2) input [0: 7]A input [0:3]C, input ClkB; output [0: 11]2 w⊥re[0:7]S1,S3; Wire[0:15]S2; Reg8 R1(. Din(A), Clk(CIkB), Dout(s1))i Mu1t8M1(.A(s1),B(4′1b0000,c),z(z)); 种描述方式显式地描述了电路结构,但其行为是未知的。这是因为Reg8和Ml8的模块 名是任意的,并且它们可以有与其相关的各种行为。 12.3时延建模 考虑3输入或非门。它的行为可以使用连续赋值语句建模,如 assign #12 Gate out=+(A I B I C)i 这条语句对带有12个时间单位时延的或非门建模。这一时延表示从信号A、B或C上事件发 生到结果值出现在信号 Gate Out上的时间。一个事件可以是任何值的变化,如x→>z、x->0, 或者1->0 如果要显式地对上升和下降时间建模,则在连续赋值语句中使用两个时延,例如: assign #(12,14) Zoom =N(A I B I C)i /*12是上升时延,14是下降时延,min(12,14)=1是转换到x的时延+/ 在能够对高阻值Z赋值的逻辑中,也能够定义第三种时延,即关断时延。例如 assign #(12,14,10)Zoom =A>B? C: 1bz //上升时延为12,14是下降时延,min(12,14,10)=1是转换到x的时延,关断时延为10 每个时延值都能够用min:pp:max表示,例如o u t p u t [ 0 : 1 1 ] Z; r e g [0:11] Z; a l w a y s @(A o r C o r C l k B) b e g i n: SEQ / /由于标记了程序块,可以说明一个局部寄存器变量 S 1。 r e g [0:7] S 1; i f (C l k B) S1 = A; Z = S1 * C; e n d e n d m o d u l e 这种模型也描述了电路的行为,但是没有蕴含任何结构,无论是隐式还是显示的。在这 种方式中,寄存器用i f语句建模。 第三种描述S a v e _ M u l t电路的方法是假定已存在 8位寄存器和8位乘法器,将电路建模为线 网表。 m o d u l e S a v e _ M u l t _ N e t l i s t (A , C , C l k B , Z) i n p u t [0:7] A ; i n p u t [0:3] C ; i n p u t C l k B ; o u t p u t [0:11] Z; w i r e [0:7] S 1 , S 3; W i r e [0:15] S 2; R e g 8 R 1 (. D i n(A) , .C l k(C l k B) , .D o u t(S 1) ) ; M u l t 8 M 1 ( .A(S 1) , .B( { 4′1 b 0 0 0 0 ,C} ) , .Z(Z) ) ; e n d m o d u l e 这种描述方式显式地描述了电路结构,但其行为是未知的。这是因为 R e g 8和M u l t 8的模块 名是任意的,并且它们可以有与其相关的各种行为。 12.3 时延建模 考虑3输入或非门。它的行为可以使用连续赋值语句建模,如 a s s i g n #12 Gate_Out = ~(A | B | C) ; 这条语句对带有1 2个时间单位时延的或非门建模。这一时延表示从信号 A、B或C上事件发 生到结果值出现在信号G a t e _ O u t上的时间。一个事件可以是任何值的变化,如 x -> z、 x - > 0, 或者1- > 0。 如果要显式地对上升和下降时间建模,则在连续赋值语句中使用两个时延,例如: a s s i g n #(12,14) Zoom = ~(A | B | C) ; / * 1 2是上升时延,1 4是下降时延,min(12,14) = 12是转换到x的时延* / 在能够对高阻值Z赋值的逻辑中,也能够定义第三种时延,即关断时延。例如: a s s i g n #(12,14,10) Z o o m = A > B ? C : 1bz; / /上升时延为1 2,1 4是下降时延,m i n ( 1 2 , 1 4,10) = 12是转换到x的时延,关断时延为1 0。 每个时延值都能够用m i n : t y p : m a x表示,例如, 第12章 建 模 实 例 139 下载
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有