HDLBits (45) — GND
2022-02-19 00:45 作者:僚机Wingplane | 我要投稿
本题链接:
https://hdlbits.01xz.net/wiki/Exams/m2014_q4i
下面的电路实现:


题目

答案

Verilog 最常用的 2 种数据类型就是线网(wire)与寄存器(reg),其余类型可以理解为这两种数据类型的扩展或辅助。
wire 类型表示硬件单元之间的物理连线,由其连接的器件输出端连续驱动。如果没有驱动元件连接到 wire 型变量,缺省值一般为 "Z"。
线网型还有其他数据类型,包括 wand,wor,wri,triand,trior,trireg 等。
连续赋值语句是 Verilog 数据流建模的基本语句,用于对 wire 型变量进行赋值。
LHS(left hand side) 指赋值操作的左侧,RHS(right hand side)指赋值操作的右侧。
assign 为关键词,任何已经声明 wire 变量的连续赋值语句都是以 assign 开头。
需要说明的是:
LHS_target 必须是一个标量或者线型向量,而不能是寄存器类型。
RHS_expression 的类型没有要求,可以是标量或线型或存器向量,也可以是函数调用。
只要 RHS_expression 表达式的操作数有事件发生(值的变化)时,RHS_expression 就会立刻重新计算,同时赋值给 LHS_target。
参考内容:
2.5 Verilog 编译指令 | 菜鸟教程:https://www.runoob.com/w3cnote/verilog-compile-instruction.html
3.1 Verilog 连续赋值 | 菜鸟教程:
https://www.runoob.com/w3cnote/verilog-assign.html