1、内建基元(原语)门
多输入门:与门(and)、与非门(nand)、或门(or)、或非门(nor)、
异或门(xor)、同或门(xnor)
多输出门:缓冲器(buf)、非门(not)
三态门:bufif0、bufif1、notif0、notif1
上拉、下拉门:pullup、pulldown
MOS开关:cmos、nmos、pmos、rcmos、rnmos、rpmos
双向开关:tran、tranif0、tranif1、rtran、rtranif0、rtranif1
门实例引用语句格式:
gate_type[instance_name] (term1,term2,...,termN);
同一类型的多个实例能够在一条语句结构中定义。
多输入门的输出绝不可能是z。
上拉门和下拉门只有一个输出、没有输入
pull_gate[instance_name] (outputA);
MOS开关:
gate_type[instance_name] (outputA,outputB,ContrlC);
2、门延迟:信号从任何门的输入到其输出的传播延迟
gate_type[delay][instance_name](terminal_list);
三种延迟:上升延迟、下降延迟、截止延迟
门延迟可以指定包含0、1、2或3个延迟值。
nand #6(hmark,in1,in2);//所有延迟均为6,无截止延迟
and #(3,5)(yout,a,b,c); //上升延迟为3,下降延迟为5,转换到x的
//延迟为3和5中间的最小值,即3
notif1 #(2,8,6)(dout,din1,din2);//上升延迟为2,下降延迟为8,截止
//延迟为6,转换到x的延迟为2和8中的最小值,即2。
对多输入门(例如与门和或门)和多输出门(缓冲门和非门)最多只能定义2
个延迟(因为决不可能是z)。三态门最多可以指定3个延迟,而上拉/下拉门
(电阻)不能有任何延迟。
nand #(2:3:4,5:6:7)(pout,pin1,pin2);
3、实例数组:当指定实例数组时,必须明确地定义实例名。
nand u8nand[3:0] (irq,ctrl,sense);
等价于:
nand
u8nand3(irq[3],ctrl[3],sense[3]),
u8nand2(irq[2],ctrl[2],sense[2]),
u8nand1(irq[1],ctrl[1],sense[1]),
u8nand0(irq[0],ctrl[0],sense[0]);
同一模块中,实例名不能与线网名相同。
文章评论(0条评论)
登录后参与讨论