原创 [Verilog HDL入门]第五章 门级建模

2010-2-8 20:49 4250 5 5 分类: FPGA/CPLD

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]);


   同一模块中,实例名不能与线网名相同。


 


     

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条