门级建模形式
Verilog HDL 中可以使用内置基本门来进行硬件描述。Verilog HDL 中提供下列内置基本门:
• 多输入门 and(与门)、nand(与非门)、or(或门)、nor(或非门)、xor(异或门)。
• 多输出门 buf(缓冲门)、not(取反)。
• 三态门 bufif0、bufif1、no
tif0、notif1。
• 上拉、下拉电阻 pullup(上拉电阻)、pulldown(下拉电阻)。
• MOS 开关 cmos、nmos、pmos、rcmos、rnmos、rpmos。
• 双向开关 tran、tranif0、tranif1、rtran、rtranif0、rtranif1。
门级逻辑设计描述中可使用具体的门实例语句。下面是简单的门实例语句的格式:
- gate_type[instance_name] (term1, term2, . . . ,termN ) ;
其中 instance_name 是可选的,gate_type 为前面列出的某种门类型。各 term 用于表示与门的输入/输出端口相连的线网或寄存器。同一门类型的多个实例能够在一个结构形式中定义。语法如下:
- gate_type
- [instance_name1] (term11, term12, . . .,term1N ) ,
- [instance_name2] (term21, term22, . . .,term2N ) ,
- . . .
- [instance_nameM] (termM1, termM2, . . .,termMN)
下面是一个用门级建模形式实现的多路选择
电路的例子,如图 2-7 所示。
图 2-7 多路选择电路
多路选择电路如果用门级建模方式实现,代码如下:
- module MUX4x1 (Z , D0 , D1 , D2 , D3 , S0 , S1) ;
- output Z;
- input D0 , D1 , D2 , D3 , S0 , S1;
- and (T0 , D0 , S01 , S11) ,
- (T1 , D1 , S01, S1) ,
- (T2 , D2 , S0 , S11) ,
- (T3 , D3 , S0 , S1) ,
- not (S01, S0) ,
- (S11 , S1) ;
- or (Z , T0 , T1 , T2 , T3) ;
- endmodule