数字逻辑电路设计例化模块输入输出,何时用reg,何时用wire?

初学者应该总会遇到这个问题,许多资料都介绍的是:

       reg  寄存器类型可以存储数据,wire 是一根线,不能存储保持数据,是如此,但是在例化模块,或者调用通用的fifo模板,算法模板时候,难免经常连线,用寄存器打拍~~~

       下图中,绿色部分是子模块,灰色部分是顶层的模块,这里的reg和wire使用,体现了verilog语法的设计思想:

       工作的子模块,需要立刻感受到外界的输入信号变化,所以需要使用wire 型的数据;如果使用reg型的数据,则外部模块如果给到reg型数据,则必须打拍,显然,子模块的优先级是较低的。

        工作的子模块的输出,则可以使用wire和reg,这里和顶层模块输入到子模块是对应的;

同样的,顶层接收子模块的输出信号,也需要wire,需要立刻感受到子模块的输出信号变化;

         总之,模块内部进去的信号必须是wire,输出给别的模块的wire和reg类型都可以。

  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

数码逐渐远去

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

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

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

打赏作者

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

抵扣说明:

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

余额充值