Java教程

Verilog的端口类型以及端口连接规则

本文主要是介绍Verilog的端口类型以及端口连接规则,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Verilog中的端口类型

  共分为 input、output、和 inout 三种类型,所有的端口在声明时默认为 wire 型。

 

Verilog中的变量类型

  reg :本质是存储器,具有寄存功能;

  net :本质是一条没有逻辑的连线(wire);

 

Verilog的端口连接规则

  端口连接规则分为模块描述时和模块调用时两种情况。

1、模块描述时

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

2、模块调用时

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

 

综上所述

  模块描述时,input 端口只能为 net,output 端口可以为 net/reg,inout 端口只能为 net;

  模块调用时,连接模块input端口的信号可以为 net/reg 型,连接模块 output 端口的信号只能为 net,连接模块 inout 端口的信号也只能为 net;



 

这篇关于Verilog的端口类型以及端口连接规则的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!