Verilog中端口的连接规则
摘自于(15条消息) Verilog中端口应该设置为wire形还是reg形_CLL_caicai的博客-CSDN博客, 以及(15条消息) Verilog端口连接规则_「已注销」的博客-CSDN博客_verilog 端口连接
初学Verilog时,一直搞不清Verilog描述模块时端口应该取什么类型;是reg形?还是wire形?模块对应测试文件的端口类型为什么又与模块的端口类型不一样?因此有必要进行学习与整理:
先写结论:
verilog中的端口具有三种传输方向:input、output、和inout,所有的端口均默认为wire类型;
模块描述时,input端口只能为线网形,output端口可以为线网/reg,inout端口只能为线网形;
模块调用时(实例化模块时对应端口的信号),连接模块input端口的信号可以为线网/reg形,连接模块output端口的信号只能为线网,连接模块inout端口的信号也只能为线网形;
如何理解:
模块描述时:
Verilog描述模块时,所处的角度实际为芯片(模块)内部,描述了模块内部对输入信号进行处理最后输出处理结果的过程;
因此:
模块的输入从模块内部看,就是外界输入的一根信号线,外界来什么模块就接收什么,因此模块描述时input端口只能为线网类型;
模块的输出从模块内部看,就是处理结果向外界的输出,可以直接输出(如组合逻辑)也可以寄存一会再输出(如时序逻辑),因此模块描述时output端口可以为线网类型/reg形;
同理,模块描述时inout端口只能为线网类型;
模块调用时:
模块调用时如测试文件实例化模块,以及顶层文件实例化模块时,所处的角度实际为芯片(模块)外部,描述了其采用何种信号与芯片(即底层模块)连接,进行驱动或得到输出。
因此:
模块的输入从模块外部看,输入信号作为模块的激励,外界想输入什么就输入什么,想何时输入就何时输入,因此模块调用时input端口可以为线网类型/reg形;
模块的输出从模块外部看,模块外部看来输出端口就是模块通向外界的一根输出导线,模块外部只能被动接收,因此模块调用时output端口只能为线网类型;
同理,模块调用时inout端口只能为线网类型;
————————————————
版权声明:本文为CSDN博主「CLL_caicai」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/CLL_caicai/article/details/104457700
Verilog中端口的连接规则的更多相关文章
- Verilog中关于wire使用的一些小知识
1.Verilog中如果wire连接到常量,而常量没有说明他的位宽,那么将会默认为32位 如: input [:] x ; wire [:] a; assign a = + x; 上述代码在综合的时候 ...
- 负载均衡服务TCP端口健康检查成功,为什么在后端业务日志中出现网络连接异常信息?
负载均衡服务TCP端口健康检查成功,为什么在后端业务日志中出现网络连接异常信息? 原文: https://help.aliyun.com/document_detail/127193.html?spm ...
- linux中sftp默认登录的端口号是多少? sftp通过指定的端口号连接?sftp默认端口号
需求描述: 今天一个同事,遇到个问题,程序连接sftp服务器连接不上,问我端口号是多少, 我想了一下是21还是22,所以就做了测试,发现sftp默认的连接端口号是22, 在此做下记录. 操作过程: 1 ...
- 在windows中使用Navicat连接Linux虚拟机中的mysql数据库
今天想用navicat远程连接虚拟机中的MySQL数据库,一直连不上,在网上搜索了一下,发现原因是MySQL对远程用户登陆的授权问题.这里说一下我的解决方法.(本人小白) 首先,我用navicat去远 ...
- golang中mysql建立连接超时时间timeout 测试
本文测试连接mysql的超时时间. 这里的"连接"是建立连接的意思. 连接mysql的超时时间是通过参数timeout设置的. 1.建立连接超时测试 下面例子中,设置连接超时时间为 ...
- system verilog中的跳转操作
在verilog中,使用disable声明来从执行流程中的某一点跳转到另一点.特别地,disable声明使执行流程跳转到标注名字的声明组末尾,或者一个任务的末尾. verilog中的disable命令 ...
- system verilog中的类型转换(type casting)、位宽转换(size casting)和符号转换(sign casting)
类型转换 verilog中,任何类型的任何数值都用来给任何类型赋值.verilog使用赋值语句自动将一种类型的数值转换为另一种类型. 例如,当一个wire类型赋值给一个reg类型的变量时,wire类型 ...
- 【转】Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败
错误原因如下: Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot ...
- JNDI和在tomcat中配置DBCP连接池 元数据的使用 DBUtils框架的使用 多表操作
1 JNDI和在tomcat中配置DBCP连接池 JNDI(Java Naming and Directory Interface),Java命名和目录接口,它对应于J2SE中的javax.namin ...
- Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 及sql2008外围服务器
转载:Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 错误原因如下: Exception in thread & ...
随机推荐
- skype网络异常无法登录
在有些win7电脑上安装最新版skype软件后,打开skype软件后显示无法访问网络 检查网络及防火墙,确定无异常 最后排查原因定位到操作系统的根证书 发现系统缺少部分DigiCert的根证书 从其他 ...
- 牛客java基础语法在线编程-知识点小结(待完善)
知识点小结 一.输入输出 Scanner类 Scanner类在java.util包下,导包格式如下: import java.util.Scanner; 使用示例: import java.util. ...
- wpf DataGrid cell 背景色修改参考
<DataTemplate.Triggers> <DataTrigger Binding="{Binding Path=IsSelected, RelativeSource ...
- git 代码提交到github 回滚到上一版本
1.项目所在目录>git log(查看提交日志) commit idCodeAuthor: XXXXDate: Tue Mar 6 15:10:59 2018 +0800 commit idCo ...
- ESP_IDF中使用TFT_eSPI库驱动ST7789V
前言: 想学习创建好看的菜单界面很久了,寒假在家正好有时间,手中恰好有一块ST7789的tft屏幕,正好拿来练练手. Step 1: 在github中找到TFT_eSPI库(网址:docs · mas ...
- CToolsDetachBehaviors
CTools dispatches the event "CToolsDetachBehaviors" when the modal gets closed. Careful th ...
- ABC136 E - Max GCD 题解
题面 给定一个长度为 $N$ 的整数序列:$A_1, A_2, \ldots, A_n$. 您可以执行以下操作 $0 \sim K$ 次: 选择两个整数 $i$ 和 $j$,满足 $i \ne j$ ...
- Vue v-once指令 和 v-pre指令
v-once指令: 1.v-once 所在节点在初始化动态渲染后,就视为静态内容了 2.以后数据的改变不会引起v-once所在结构的更新,可用于优化性能 v-pre指令: 1.跳过其所在节点的编译过程 ...
- Expected indentation of 2 spaces but found 4
预期缩进2个空格,但发现4个 把缩进空格修改后如图
- Java基础之注释
注释 在Java的编写过程中我们需要对一些程序进行注释,除了自己方便阅读,更为别人更好理解自己的程序,可以是编程思路或者是程序的作用. 注释不会被执行,是给写代码的人看的. 书写注释是一个非常好的习惯 ...