FPGA 学习小组
直播中

alexdos

6年用户 804经验值
擅长:可编程逻辑 电源/新能源 嵌入式技术 模拟技术
私信 关注

【FPGA学习】Verilog HDL 语言的描述语句之门级建模形式

门级建模形式
Verilog HDL 中可以使用内置基本门来进行硬件描述。Verilog HDL 中提供下列内置基本门:
• 多输入门 and(与门)、nand(与非门)、or(或门)、nor(或非门)、xor(异或门)。
• 多输出门 buf(缓冲门)、not(取反)。
• 三态门 bufif0、bufif1、notif0、notif1。
• 上拉、下拉电阻 pullup(上拉电阻)、pulldown(下拉电阻)。
• MOS 开关 cmos、nmos、pmos、rcmos、rnmos、rpmos。
• 双向开关 tran、tranif0、tranif1、rtran、rtranif0、rtranif1。
门级逻辑设计描述中可使用具体的门实例语句。下面是简单的门实例语句的格式:
  1. gate_type[instance_name] (term1, term2, . . . ,termN ) ;

其中 instance_name 是可选的,gate_type 为前面列出的某种门类型。各 term 用于表示与门的输入/输出端口相连的线网或寄存器。同一门类型的多个实例能够在一个结构形式中定义。语法如下:
  1. gate_type
  2. [instance_name1] (term11, term12, . . .,term1N ) ,
  3. [instance_name2] (term21, term22, . . .,term2N ) ,
  4. . . .
  5. [instance_nameM] (termM1, termM2, . . .,termMN)

下面是一个用门级建模形式实现的多路选择电路的例子,如图 2-7 所示。
QQ截图20180920092410.jpg
图 2-7 多路选择电路
多路选择电路如果用门级建模方式实现,代码如下:
  1. module MUX4x1 (Z , D0 , D1 , D2 , D3 , S0 , S1) ;
  2. output Z;
  3. input D0 , D1 , D2 , D3 , S0 , S1;
  4. and (T0 , D0 , S01 , S11) ,
  5. (T1 , D1 , S01, S1) ,
  6. (T2 , D2 , S0 , S11) ,
  7. (T3 , D3 , S0 , S1) ,
  8. not (S01, S0) ,
  9. (S11 , S1) ;
  10. or (Z , T0 , T1 , T2 , T3) ;
  11. endmodule


更多回帖

发帖
×
20
完善资料,
赚取积分