【数据类型】–【四值逻辑还是二值逻辑】
对Verilog的复习****************
verilog到底什么时候用reg还是wire的区分:
(1):
在Verilog中,wire永远是wire,就是相当于一条连线,用来连接电路,不能存储数据,无驱动能力,是组合逻辑;并且只能在assign左侧赋值,不能在always @ 中赋值。
(2):
reg可以综合成register,latch,甚至是wire(当其只是中间变量的时候),能存储数据,有驱动能力,可以用于组合逻辑或者时序逻辑;在always @模块表达式左侧被赋值。
【大总结reg 和 wire】
- 功能文件:由本模块产生,并且用always产生的信号,定义成reg;
- 测试文件:由初始化产生(一般是对被测试模块(DUT)的输入)的信号用 reg;
- 除了以上两种情况,就定义成wire 类型。