在Verilog中对于一个变量,是选成wire型还是选成reg型,根据啥标准来选择?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Verilog中对于一个变量,是选成wire型还是选成reg型,根据啥标准来选择?相关的知识,希望对你有一定的参考价值。

wire属于net型数据类型,相当于硬件电路中的各种物理连接,其特点是输出值紧跟输入值的变化而变化。例如,
wire cout=cin; //只要cin变化,cout就变化
reg属于variable型数据类型,必须放在过程语句中,通过过程赋值语句赋值;在过程块内被赋值的信号也必须定义成variable型。也就是说,要在always和initial中赋值的变量必须定义为variable型。追问

那是不是说reg型变量就是为了应用在过程块中呢?

追答

对不起,上面有个地方错了,是assign cout=cin;
可以这么说。wire型变量用在assign(持续赋值)中,reg用在过程块中

参考技术A 过程语句中使用reg型变量,连续赋值语句中使用wire型变量。希望可以帮到你!本回答被提问者采纳 参考技术B reg型是定义寄存器类型的变量的,用于定义域寄存器,而wire型数据常用来表示以assign关键字指定的组合逻辑信号。assign是连续赋值语句。希望对你有帮助。

以上是关于在Verilog中对于一个变量,是选成wire型还是选成reg型,根据啥标准来选择?的主要内容,如果未能解决你的问题,请参考以下文章

verilog中reg和wire的区别

为啥在verilog中要定义wire?

verilog中如何将wire类型的变量A 与reg类型的变量B进行比较?

verilog中的reg型变量,wire型变量初值是多少

求高手指教verilog中reg型和wire型在模块引用中的用法?

Verilog中wire与reg类型的区别