我想请问:在verilog语言中,输出什么时候用wire型,什么时候用reg型??

 我来答
2403102028
2011-09-12 · TA获得超过340个赞
知道答主
回答量:37
采纳率:0%
帮助的人:68.7万
展开全部
verilog里一般不声明输出类型的话 默认是wire型的
如果你想在输出处寄存一下:比如使用always时序语句,则必须声明为reg类型
wire是线网,就是相当于实际中的连接线,你想assign的话就是直接连接,就是用wire型,他的值是随时变化的。比如你想寄存一下,让信号在时钟边沿才变化就需要reg类型了,在程序中用带时钟的always块来实现即可

另外需要注意的是reg型变量不一定是寄存器,因为时序逻辑现在也基本上使用always @*这种语言来写,只是必须被声明为reg型。

输出用wire型的其实并不多,具体情况比如:两给信号的与或等简单逻辑。稍微复杂的即使是组合逻辑也要声明reg型,然后在程序里面用always块来实现组合逻辑
zyzzvya
2011-09-07
知道答主
回答量:25
采纳率:0%
帮助的人:5.4万
展开全部
wire表示实打实的电线,reg是寄存器,如果你设一个值为wire,那么这个值输出时是低电平或者高电平,而reg只是一个虚拟的值,比方你要把计算的一个结果放到一个地方存储,这个地方你就可以设为一个reg型的值好存储结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风雷小草
2011-09-07 · TA获得超过1711个赞
知道小有建树答主
回答量:1174
采纳率:0%
帮助的人:682万
展开全部
简单地说,always块中用reg型,assign语句用wire型。端口之间连线也用wire型。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-09-07
展开全部
reg型变量是用存储数据的,可以被赋值。
wire型变量是线性的用来连接数据,或者作为输入端,也可以作为输出端。(assign语句必须用wire型变量)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式