我想请问:在verilog语言中,输出什么时候用wire型,什么时候用reg型??
4个回答
展开全部
verilog里一般不声明输出类型的话 默认是wire型的
如果你想在输出处寄存一下:比如使用always时序语句,则必须声明为reg类型
wire是线网,就是相当于实际中的连接线,你想assign的话就是直接连接,就是用wire型,他的值是随时变化的。比如你想寄存一下,让信号在时钟边沿才变化就需要reg类型了,在程序中用带时钟的always块来实现即可
另外需要注意的是reg型变量不一定是寄存器,因为时序逻辑现在也基本上使用always @*这种语言来写,只是必须被声明为reg型。
输出用wire型的其实并不多,具体情况比如:两给信号的与或等简单逻辑。稍微复杂的即使是组合逻辑也要声明reg型,然后在程序里面用always块来实现组合逻辑
如果你想在输出处寄存一下:比如使用always时序语句,则必须声明为reg类型
wire是线网,就是相当于实际中的连接线,你想assign的话就是直接连接,就是用wire型,他的值是随时变化的。比如你想寄存一下,让信号在时钟边沿才变化就需要reg类型了,在程序中用带时钟的always块来实现即可
另外需要注意的是reg型变量不一定是寄存器,因为时序逻辑现在也基本上使用always @*这种语言来写,只是必须被声明为reg型。
输出用wire型的其实并不多,具体情况比如:两给信号的与或等简单逻辑。稍微复杂的即使是组合逻辑也要声明reg型,然后在程序里面用always块来实现组合逻辑
展开全部
wire表示实打实的电线,reg是寄存器,如果你设一个值为wire,那么这个值输出时是低电平或者高电平,而reg只是一个虚拟的值,比方你要把计算的一个结果放到一个地方存储,这个地方你就可以设为一个reg型的值好存储结果。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单地说,always块中用reg型,assign语句用wire型。端口之间连线也用wire型。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-09-07
展开全部
reg型变量是用存储数据的,可以被赋值。
wire型变量是线性的用来连接数据,或者作为输入端,也可以作为输出端。(assign语句必须用wire型变量)
wire型变量是线性的用来连接数据,或者作为输入端,也可以作为输出端。(assign语句必须用wire型变量)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询