概念
当我们完成一个比较完整的系统的时候,通常需要编写一个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实例化的介绍相关推荐

  1. Verilog语言语句介绍

    Verilog语言语句介绍 结构语句 initial语句 always语句 赋值语句 阻塞赋值 非阻塞赋值 使用方法 条件语句 if_else语句 case语句 结构语句 共有两个重要的结构语句 in ...

  2. FPGA之道(35)Verilog中的并行与串行语句

    文章目录 前言 Verilog的并行语句 Verilog连续赋值语句 普通连续赋值语句 条件连续赋值语句 Verilog程序块语句 沿事件 纯组合always 纯时序always 具有同步复位的alw ...

  3. Verilog的基础知识

    Verilog的基本介绍: 硬件描述语言发展至今已有二十多年历史,当今业界的标准中( IEEE标准)主要有VHDL和Verilog HDL 这两种硬件描述语言. 一个设计往往从系统级设计开始,把系统划 ...

  4. 初学Verilog语言基础笔记整理(实例点灯代码分析)持续更新~

    实例:点灯学习 一.Verilog语法学习 1. 参考文章 刚接触Verilog,作为一个硬件小白,只能尝试着去理解,文章未完-持续更新. 参考博客文章: Verilog语言入门学习(1) Veril ...

  5. Verilog系统函数(一) $display

    Verilog系统函数 $display 参考:FPGA篇(四)Verilog系统函数介绍($display,$fopen,$fscanf,$fwrite($fdisplay),$fclose,$ra ...

  6. 【Verilog HDL 训练】第 07 天(串并转换)

    串并转换 1. 复习verilog语法 [选做题] - 文件操作fopen fdisplay fwrite fclose - 生成随机数 random - 初始化 readmemh readmemb ...

  7. Vue详细介绍及使用

    Vue详细介绍及使用 一.Vue定义及简介 1.Vue定义 关于Vue简介,百度百科给出的解释是:Vue.js是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设 ...

  8. Spring源码解析-bean实例化

    Spring源码解析-bean实例化 ​ 本文介绍Spring创建 bean 过程中的第一个步骤:实例化 bean. 1. Bean实例化源码 ​ 虽然实例化Bean有多种方式(包括静态工厂和工厂实例 ...

  9. jchdl - RTL实例 - MOS6502 ALU (Verilog)

    https://mp.weixin.qq.com/s/jLUz757FQZjMEYzYb2AIww MOS6502是简单,但是曾经相当流行的一款CPU.网上有很多模拟程序可供学习使用.这里使用一个较为 ...

最新文章

  1. Windows与Linux区别3
  2. 接口文档示例_在示例中使用Android中的Work Manager
  3. jax_ws_对状态代码使用JAX-RS异常
  4. python读取大文件-python快速读取一个大文件内容(瞎猜)
  5. MySQL常用SQL语句(CURD,建表,加字段,查改参数)
  6. can't load apple.laf.AquaLookAndFeel (Ant in Eclipse can't find it
  7. android图片上加有汉字,Android 为图片添加文字水印
  8. 分享改进 高性能通用分表归档存储过程测试结果更新
  9. Ubuntu如何定时清理内存
  10. java spi机制_Java 双亲委派机制的破坏—SPI机制
  11. Nginx 源码分析:ngx_queue_t
  12. Replication Backlog
  13. linux系统如何切换语言环境变量,Linux系统中如何修改某用户语言环境变量
  14. 7款很棒的 HTML5 视频播放器
  15. 20200627每日一句
  16. 阿里云徐栋:“下一代互联网”三大技术趋势
  17. LeetCode 55 - 跳跃游戏
  18. stata--异方差检验
  19. 视觉SLAM十四讲中P61作业7。
  20. 酒仙桥 asp.net 面试

热门文章

  1. CDlinux U盘启动制作教程
  2. Java图书借阅管理系统(含源码+论文+答辩PPT等)
  3. C语言对自然对数的底数e精确计算
  4. mysql数据的更新语句_MySQL数据库之UPDATE更新语句精解
  5. 年年双十一,年年抢不到,自制Python淘宝秒杀抢购脚本,百分百中
  6. C#如何连接postgresql数据库?
  7. OpenCV 连通分量标记和分析
  8. 程序员要如何提升自己的外形
  9. 你觉得一个软件设计师要具备什么样的能力?
  10. java delete file 失败_file.delete()无法删除文件的原因及解决方法