Verilog的端口连接规则

模块端口和与之链接的信号的数据类型必须遵循以下规定:
1.输入端口在模块内部必须为wire形数据;在模块外部可以连接wire或者reg型数据。

2.输出端口在模块内部可以为wire或者reg型数据,在模块外部必须连接到wire型数据。

3.连接的两个端口位宽可以不同。

veirlog中的端口类型 input output inout,所有的端口在声明时都默认为wire类型。

reg 本质是存储器,有寄存功能
wire本质是一条没有逻辑的连线。

verilog的端口连接规则分为一下两种情况:

1、模块描述时
模块描述时在模块内部对模块的端口进行描述,是从内部角度出发,因此将input端口看作外界引申进来的一条线,只能为net型变
量:同理inout端口作为有输入功能的端口,也应该看作net型变量。而output端口被看作模块的输出,既可以直接输出(如组合逻辑),
也可以寄存后输出(如时序逻辑),因此output端口应该设为reg型变量。

2、模块调用时
模块被调用时是在.上级模块中对下级模块的例化,描述了其采用何种信号与芯片(即底层模块)连接,进行驱动或得到输出。此时是
从外部角度出发…上级模块对 下级模块的输入既可以想输入什么就输入什么,也可以想什么时候输入就什么时候输入,所以input端口可以
为net/reg 型变量。而output端口是上级模块对下级模块的被动接收,是下级模块的一根输出导线,因此output端口只能是net型变量;同
理inout端口也只能是net型变量。

综上所述
模块描述时,input 端口只能为net, output 端口可以为netreg, inout 端口只能为net;
模块调用时,连接模块inpu端口的信号可以为net/reg 型,连接模块output端口的信号只能为net,连接模块inout端口的信号也只能
为net;

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

老师好,我是刘同学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值