Verilog中reg型与wire型区别

赋值语句

连续赋值语句

wire型数据只能被assign赋值,用以指定的组合逻辑信号。
如: assign b = a;
表达式右侧的计算结果可以立即更新到左侧,所以wire型数据需要持续的驱动,给wire型信号a逻辑值相当于通过导线。例:在组合逻辑电路中定义内部信号为wire型。

过程赋值语句

reg型一般在always initial过程语句中
即使always*(a or b or c)敏感列表是此种类型,变量仍是reg型,综合出来为组合逻辑

输入输出

由于模块间的例化,对于输入信号,连接的上一级输出是组合逻辑输出还是寄存器输出(可由wire型/reg型驱动),所以对于当前模块来说是wire型;而输出端口只能驱动wire型,自己决定是组合逻辑输出还是寄存器输出。

综合

wire型变量

综合出来是一根导线,用来连接电路,这时易理解它没有驱动能力,不能存储值

reg型变量

reg型可综合成register(边沿触发)对应触发器,latch(电平触发)对应锁存器,wire(作为中间变量)

仿真文件

待仿真文件输入类型信号需在仿真文件中设置为reg型;
待仿真文件输出类型信号需在仿真文件中设置为wire型;
可以这样理解:待仿真文件相当于一个黑盒,对黑盒进行测试,所以输入信号在仿真文件为reg型【数据源不断产生数据流】,输出信号在仿真文件中为wire型。
同时也说明待仿真文件的输入信号为wire型【双向端口】,输出信号为reg型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值