关于Verilog的output,应该是reg型,还是wire型

如题所述

如果output作为过程赋值语句的左值,则应该用reg类型;如果output作为连续赋值语句的左值,则应该用wire类型。
温馨提示:内容为网友见解,仅供参考
无其他回答

verilog hdl 输出端out为什么要同时定义为wire型
verilog里一般不声明输出类型的话 默认是wire型的 如果你想在输出处寄存一下:比如使用always语句,则必须声明为reg类型 wire是线网,就是相当于实际中的连接线,你想assign的话就是直接连接,就是用wire型,他的值是随时变化的。比如你想寄存一下,让他在时钟边沿才变化就需要reg类型了 你的问题应...

【急急急】Verilog的一些基本问题
1,是的,input,output都是默认为wire的。对于output,如果想声明为reg必须单独声明,想用wire的话是可以不声明wire的。2,一个模块使用另一个模块输入或输出信号,可以直接实例化,不用写include。但如果被使用的信号不是输入或输出而是内部信号的话,就要用层次调用 比如你有一个TB模块,下面有A,B两...

verilog答疑:从模块内部来讲,输出端口可以是线网或reg数据类型
reg类型的变量是需要触发来实现的,用于过程块(always)中,模块内部的输出还是在模块内部,因此reg可以作模块内部的输出。wire就相当于一根线,模块输出到外部当然需要线来连接

verilog有关wire与reg类型的一道题
Cout是output,可以是Wire类型,也可以说reg类型。C3是test内部连接到Cin上的信号,由于激励的加载,因而可以说Wire,也可以说reg类型。C5是test内部直接连接到Cout上的信号,只能是Wire类型。

verilog中寄存器型和输出型的变量名相同,那么它们是什么关系?
output a; 和 reg a就是寄存器类型输出 output b;和reg b_reg b默认是wire型输出

verilog ISE平台下问题
dout只声明为output是属于wire型的,只能用于组合逻辑,你此处用于时序逻辑应该同时声明为reg型,如下:output reg [7:0] dout

verilog中always块里面实现组合逻辑时,输出端口为什么不能用wire?
你好!这就是verilog的语法,凡是always块内输出,都要定义成reg型的。由这一点也可以看出,定义成reg型的不一定全是寄存器。仅代表个人观点,不喜勿喷,谢谢。

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

...我的程序(Verilog编写)总在赋值位置报错?编写的是2路时钟控制选择模 ...
原因很简单:verilog语法错误。1、首先把分号补全。reg clkout_t这句后面加个;reg clkout_t;2、output默认是wire型,你用assign是对的,但是你却用了<= 符号,这就错了 改为即可:assign clkout = clkout_t;整个代码:module contrl_2 (clk5,clk15,en0,en1,clkout);input clk5,clk15,...

verilog中always块里面实现组合逻辑时,输出端口为什么不能用wire?
可以这么理解(假设哈): 早期的verilog规定always只用于沿触发的时序电路, 所以其内的赋值都得是REG型. 后期对always进行了适当拓展可以电平触发甚至不触发, 以便综合成组合电路. 原always体内定义成REG型的要求保持不变, 但综合后若DFF没有CLK可被吸收掉.反正就是个语法规定, 掌握规律即可. 而且这样...

相似回答