本文是Verilog学习笔记,参考于《Xilinx FPGA开发实用教程》和夏宇闻老师的Verilog经典教程系列

模块特点

Verilog HDL程序是由模块构成的。每个模块的内容都是嵌在module和endmodule两个语句之间。每个模块实现特定的功能。模块可以进行层次嵌套。

每个模块要进行端口定义,并说明输入输出口,然后对模块的功能进行行为逻辑描述。

Verilog HDL程序的书写格式自由,一行可以写几个语句,一个语句也可以分写多行。

除了endmodule语句外,每个语句和数据定义的最后必须有分号。

可以用/…../和//…….对Verilog HDL程序的任何部分作注释。一个好的,有使
用价值的源程序都应当加上必要的注释,以增强程序的可读性和可维护性。

模块的结构

module <模块名> (<端口列表>)
<I/O说明>
<内部信号声明>
<功能定义>
endmodule

模块的端口定义:

模块的端口声明了模块的输入输出口。格式:

module 模块名(口1,口2,口3,口4,......)

模块的内容:

I/O说明

输入口(input 端口名1,端口名2,……端口名n)

输出口(output 端口名1,端口名2,……端口名n)

I/O\说明也可以卸载端口声明语句中: module module_name(input port1,input port2,…output port1,output port2…)

内部信号说明

在模块内用到的和与端口有关的wire和reg变量的声明,比如:reg[width-1:0] R1,R2…; wire[width-1:0] W1,W2…

 功能定义

模块中最重要的部分是逻辑功能定义部分。有三种方法可在模块中产生逻辑:

用“assign”声明语句

“assign”,后面再加一个方程式即可

assign a = b & c;//两个输入的与门

“assign”语句是描述组合逻辑最常用的方法之一

用实例元件

and and_inst( q, a, b );

采用实例元件的方法象在电路图输入方式下,调入库元件一样。键入元件的名字和相连的引脚即可,
表示在设计中用到一个跟与门(and)一样的名为and_inst的与门,其输入端为a, b,输出为q。要求
每个实例元件的名字必须是唯一的,以避免与其他调用与门(and) 的实例混淆。

用“always”块

always @(posedge clk or posedge clr)
begin
if(clr) q <= 0;
else if(en) q <= d;
end
//带有异步清除端的D触发器

“always”块既可用于描述组合逻辑也可
描述时序逻辑.“always”模块内,逻辑是按照指定的顺序执行的,两个或更多的“always”模块也是同时执行的,但是模块内部的语
句是顺序执行的

Verilog基本语法——模块相关推荐

  1. b 计数器位选信号 verilog_Verilog HDL菜鸟学习笔记———三、Verilog常用语法之一...

    1.一个完整版实例 上一次Verilog学习笔记中,我通过几个小例子,较为直观的对Verilog编程有了一些了解.这次笔记,我开始着重的系统学习Verilog编程语法基础.在我系统学习语法之前,我先用 ...

  2. 【正点原子FPGA连载】 第七章 Verilog HDL语法 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: h ...

  3. 【正点原子FPGA连载】第七章Verilog HDL语法 -摘自【正点原子】新起点之FPGA开发指南_V2.1

    1)实验平台:正点原子新起点V2开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113 2)全套实验源码+手册+视频下载地址:ht ...

  4. Verilog HDL 语法整理 (一)

    目录 导读 一.模块结构 1.模块的端口定义 2.模块内容 二.数据类型 1.常量 2.参量 3.变量 1.寄存器数据类型 2.线网型数据类型 参考声明 导读 本篇博文主要介绍Verilog HDL ...

  5. Verilog HDL 语法学习笔记

    今天给大侠带来Verilog HDL 语法学习笔记,话不多说,上货. 关于详细的VHDL语法以及Verilog HDL语法可参见往期文章. 一周掌握 FPGA VHDL Day 7 暨汇总篇 一周掌握 ...

  6. RTL是什么,Verilog的语法能不能看我的这一篇大致知道。

    Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图.逻辑表达式,还可 ...

  7. chisel黑盒(调用verilog书写的模块)

    因为Chisel的功能相对Verilog来说还不完善,所以设计人员在当前版本下无法实现的功能,就需要用Verilog来实现.在这种情况下,可以使用Chisel的BlackBox功能,它的作用就是向Ch ...

  8. 一周掌握FPGA Verilog HDL语法 day 4

    今天给大侠带来的是一周掌握FPGA Verilog HDL 语法,今天开启第四天. 一周掌握FPGA Verilog HDL语法 day 3 被平台综合了,如果想要看详细介绍的话,可以到公众号内部&q ...

  9. (64)Verilog HDL多模块重复例化

    (64)Verilog HDL多模块重复例化 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)Verilog HDL多模块重复例化 5)结语 1.2 FPGA简介 FPG ...

最新文章

  1. 学习世界模型,通向AI的下一步:Yann LeCun在IJCAI 2018上的演讲
  2. linux小窍门──设置时钟和时间
  3. 解决方案 | python安装wordfreq库
  4. C/C++ | 字节对齐
  5. python怎么处理数据标注_在python中将数据标记为敏感
  6. 电商产品页多种出彩表现设计手法!
  7. 干不过支付宝的微信,还有翻盘的可能吗?| 畅言
  8. go-cqhttp + noneBot群聊机器人 配置开发
  9. pdca实施的流程图_思维导图丨《高效PDCA工作术》流程图
  10. Linux 用户必须知道的 14 个常用 Linux 终端快捷键
  11. 高德地图导航onInitNaviSuccess只调用一次
  12. 明天省赛,我都还不太熟悉Dev - C++,怎么切换成C++11了?它的报错看不懂呀,那花八分钟看看这篇文章吧~解决你的困惑。
  13. 基于Hadoop HA集群部署HBase HA集群(详细版)
  14. 一文简述机构资本市场中的区块链
  15. ThinkSNS安装手记
  16. Java开发面试题目,熬夜整理Java面试笔试题
  17. 2014年年终总结——获得集团优秀员工称号的心得体会
  18. 哪家手机车牌识别软件好
  19. 使用两台服务器做负载均衡(nginx版)
  20. 微服务应用故障定位系统实现原理剖析

热门文章

  1. 字符 正则表达式详解
  2. 【小程序】微信小程序如何获取用户微信openID?(已解决,完整代码实例)
  3. 学习数据分析,数据分析必备的技能有哪些
  4. flex布局---flex-wrap属性,决定排列是否换行
  5. 基于Tensorflow2 Lite在Android手机上实现时间序列温度预测(二)
  6. Java、JSP(二手车)交易管理系统毕业设计论文
  7. (十六)admin-boot项目之文件存储上传与下载minio
  8. 高等数学——讲透求极限两大方法,夹逼法与换元法
  9. shift删除的文件如何恢复?
  10. 计算机音乐数字乐谱贴吧,【图片】【谱集】贴吧谱子整理【计算器音乐吧】_百度贴吧...