浅显易懂-Verilog中什么时候用wire?什么时候用reg?wire与reg只有又有啥区别?如何去选择性的使用呢?

在使用FPGA的时候我们经常会遇到这样一个问题,这个信号我们到底是定义成wire类型还是定义成reg类型,如果定义不对编译软件也会通不过,有时候你通过编译软件的的提示将它改了回来,但你却并不明白是为什么会报错,而且下次还会再出现,当它再次出现时,我们又得重复的去修改,这样不仅耽误我们开发的时间,而且还影响我们学习的心情,所以这篇文章就是帮助你如何正确使用wire和reg来定义一个信号。

1wire和reg的区别

我们知道Verilog是硬件描述语言,就是通过描述构造底层的硬件电路来实现我们所需要的功能,那么当我们在设计数字电路的过程中经常需要将不同的芯片的引脚相互连接起来,而这一个过程其实就是wire所定义的变量类型,事实上当你写下如下语句时wire busy;其实就是将某一连线命名为busy,接下来如何连线,就只需要对busy这个线型的信号进行操作了。而reg类型的变量则不同,他是一个寄存器类型的变量,寄存器的功能就是可以将我需要的数据保存在我的寄存器里面,里面的数据也可以根据我的需要随时变化,也就是说当你定义一个需要保存一段时间的数据时,你可以将它定义为一个寄存器变量,如果当你写下如下语句时,reg busy;这里就是将busy定义成为一个寄存器类型的变量,接下来你要如何去操作这个寄存器,就需要你用别的语句去描述了。综合来看wire就是给某个连线取名字,reg就是给某个寄存器取名字。理解这一点后其实就很好区分那个时候用wire那个时候用reg了。

2什么时候定义wire型变量

2.1输入变量input以及双向变量inout

<
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文华也曾献与你

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值