关于verilog实例化的介绍
概念
当我们完成一个比较完整的系统的时候,通常需要编写一个Testbench来验证自己的设计的功能能否满足设计要求。在这个系统中通常会有一个top模块来连接那些小的模块,verilog通过实例化的方式来完成这些子模块和顶层模块的连接,然后顶层模块可以由此来调用各个子模块。
用法
调用模块的端口一般有两种方式,一种是位置关联,一种是名字关联,顺序关联不容易漏掉端口,名字关联容易理解(两个相同的名字肯定好理解啊)
举例说明
子模块(这里以一个简单的全加器模块说明)描述如下:
module adder(a,b,cin,s,cout);
innput a,b,cin;
output cout,s;
assign {cout,s} = a + b + cin;
endmodule
下面有一个顶层模块调用全加器模块:
module top(A,B,CIN,S,COUT);
…
adder ADDER(A,B,CIN,S,COUT);//这里采用位置关联
…
endmodule
如果采用名称关联
adder ADDER(
.a(A),
.b(B),
.cin(CIN),
.cout(COUT)
);
上面两种关联方式有一些共同点:
1、例化中一定会有一个例化名,比如上面的ADDER,就代表着对adder模块的调用,这个例化名可以自己定,没有什么特别要求。
值得一讲的是名称关联,这种方法注意是前面写的是子模块内的端口名称,括号里面的是顶层模块里面的端口名称。一般我们写模块时都喜欢将两个模块里面的端口名称写成一样的,方便自己理解。
还有就是注意悬空端口的处理。综合时悬空端口会有一定的影响。
关于verilog实例化的介绍相关推荐
- Verilog语言语句介绍
Verilog语言语句介绍 结构语句 initial语句 always语句 赋值语句 阻塞赋值 非阻塞赋值 使用方法 条件语句 if_else语句 case语句 结构语句 共有两个重要的结构语句 in ...
- FPGA之道(35)Verilog中的并行与串行语句
文章目录 前言 Verilog的并行语句 Verilog连续赋值语句 普通连续赋值语句 条件连续赋值语句 Verilog程序块语句 沿事件 纯组合always 纯时序always 具有同步复位的alw ...
- Verilog的基础知识
Verilog的基本介绍: 硬件描述语言发展至今已有二十多年历史,当今业界的标准中( IEEE标准)主要有VHDL和Verilog HDL 这两种硬件描述语言. 一个设计往往从系统级设计开始,把系统划 ...
- 初学Verilog语言基础笔记整理(实例点灯代码分析)持续更新~
实例:点灯学习 一.Verilog语法学习 1. 参考文章 刚接触Verilog,作为一个硬件小白,只能尝试着去理解,文章未完-持续更新. 参考博客文章: Verilog语言入门学习(1) Veril ...
- Verilog系统函数(一) $display
Verilog系统函数 $display 参考:FPGA篇(四)Verilog系统函数介绍($display,$fopen,$fscanf,$fwrite($fdisplay),$fclose,$ra ...
- 【Verilog HDL 训练】第 07 天(串并转换)
串并转换 1. 复习verilog语法 [选做题] - 文件操作fopen fdisplay fwrite fclose - 生成随机数 random - 初始化 readmemh readmemb ...
- Vue详细介绍及使用
Vue详细介绍及使用 一.Vue定义及简介 1.Vue定义 关于Vue简介,百度百科给出的解释是:Vue.js是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设 ...
- Spring源码解析-bean实例化
Spring源码解析-bean实例化 本文介绍Spring创建 bean 过程中的第一个步骤:实例化 bean. 1. Bean实例化源码 虽然实例化Bean有多种方式(包括静态工厂和工厂实例 ...
- jchdl - RTL实例 - MOS6502 ALU (Verilog)
https://mp.weixin.qq.com/s/jLUz757FQZjMEYzYb2AIww MOS6502是简单,但是曾经相当流行的一款CPU.网上有很多模拟程序可供学习使用.这里使用一个较为 ...
最新文章
- Windows与Linux区别3
- 接口文档示例_在示例中使用Android中的Work Manager
- jax_ws_对状态代码使用JAX-RS异常
- python读取大文件-python快速读取一个大文件内容(瞎猜)
- MySQL常用SQL语句(CURD,建表,加字段,查改参数)
- can't load apple.laf.AquaLookAndFeel (Ant in Eclipse can't find it
- android图片上加有汉字,Android 为图片添加文字水印
- 分享改进 高性能通用分表归档存储过程测试结果更新
- Ubuntu如何定时清理内存
- java spi机制_Java 双亲委派机制的破坏—SPI机制
- Nginx 源码分析:ngx_queue_t
- Replication Backlog
- linux系统如何切换语言环境变量,Linux系统中如何修改某用户语言环境变量
- 7款很棒的 HTML5 视频播放器
- 20200627每日一句
- 阿里云徐栋:“下一代互联网”三大技术趋势
- LeetCode 55 - 跳跃游戏
- stata--异方差检验
- 视觉SLAM十四讲中P61作业7。
- 酒仙桥 asp.net 面试
热门文章
- CDlinux U盘启动制作教程
- Java图书借阅管理系统(含源码+论文+答辩PPT等)
- C语言对自然对数的底数e精确计算
- mysql数据的更新语句_MySQL数据库之UPDATE更新语句精解
- 年年双十一,年年抢不到,自制Python淘宝秒杀抢购脚本,百分百中
- C#如何连接postgresql数据库?
- OpenCV 连通分量标记和分析
- 程序员要如何提升自己的外形
- 你觉得一个软件设计师要具备什么样的能力?
- java delete file 失败_file.delete()无法删除文件的原因及解决方法