EDN首页   博客首页 用户登陆  |  注册

日志档案

发表于 2010/2/8 20:50:57

1

标签: CPLD/FPGA  

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

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

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

 

     

系统分类: CPLD/FPGA   |   用户分类: CPLD/FPGA   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

阅读(147)  |  评论(0)  |  收藏(0)  |  举报  

投一票您将和博主都有获奖机会!