Verilog基本语法——模块
本文是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基本语法——模块相关推荐
- b 计数器位选信号 verilog_Verilog HDL菜鸟学习笔记———三、Verilog常用语法之一...
1.一个完整版实例 上一次Verilog学习笔记中,我通过几个小例子,较为直观的对Verilog编程有了一些了解.这次笔记,我开始着重的系统学习Verilog编程语法基础.在我系统学习语法之前,我先用 ...
- 【正点原子FPGA连载】 第七章 Verilog HDL语法 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0
1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: h ...
- 【正点原子FPGA连载】第七章Verilog HDL语法 -摘自【正点原子】新起点之FPGA开发指南_V2.1
1)实验平台:正点原子新起点V2开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113 2)全套实验源码+手册+视频下载地址:ht ...
- Verilog HDL 语法整理 (一)
目录 导读 一.模块结构 1.模块的端口定义 2.模块内容 二.数据类型 1.常量 2.参量 3.变量 1.寄存器数据类型 2.线网型数据类型 参考声明 导读 本篇博文主要介绍Verilog HDL ...
- Verilog HDL 语法学习笔记
今天给大侠带来Verilog HDL 语法学习笔记,话不多说,上货. 关于详细的VHDL语法以及Verilog HDL语法可参见往期文章. 一周掌握 FPGA VHDL Day 7 暨汇总篇 一周掌握 ...
- RTL是什么,Verilog的语法能不能看我的这一篇大致知道。
Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图.逻辑表达式,还可 ...
- chisel黑盒(调用verilog书写的模块)
因为Chisel的功能相对Verilog来说还不完善,所以设计人员在当前版本下无法实现的功能,就需要用Verilog来实现.在这种情况下,可以使用Chisel的BlackBox功能,它的作用就是向Ch ...
- 一周掌握FPGA Verilog HDL语法 day 4
今天给大侠带来的是一周掌握FPGA Verilog HDL 语法,今天开启第四天. 一周掌握FPGA Verilog HDL语法 day 3 被平台综合了,如果想要看详细介绍的话,可以到公众号内部&q ...
- (64)Verilog HDL多模块重复例化
(64)Verilog HDL多模块重复例化 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)Verilog HDL多模块重复例化 5)结语 1.2 FPGA简介 FPG ...
最新文章
- 学习世界模型,通向AI的下一步:Yann LeCun在IJCAI 2018上的演讲
- linux小窍门──设置时钟和时间
- 解决方案 | python安装wordfreq库
- C/C++ | 字节对齐
- python怎么处理数据标注_在python中将数据标记为敏感
- 电商产品页多种出彩表现设计手法!
- 干不过支付宝的微信,还有翻盘的可能吗?| 畅言
- go-cqhttp + noneBot群聊机器人 配置开发
- pdca实施的流程图_思维导图丨《高效PDCA工作术》流程图
- Linux 用户必须知道的 14 个常用 Linux 终端快捷键
- 高德地图导航onInitNaviSuccess只调用一次
- 明天省赛,我都还不太熟悉Dev - C++,怎么切换成C++11了?它的报错看不懂呀,那花八分钟看看这篇文章吧~解决你的困惑。
- 基于Hadoop HA集群部署HBase HA集群(详细版)
- 一文简述机构资本市场中的区块链
- ThinkSNS安装手记
- Java开发面试题目,熬夜整理Java面试笔试题
- 2014年年终总结——获得集团优秀员工称号的心得体会
- 哪家手机车牌识别软件好
- 使用两台服务器做负载均衡(nginx版)
- 微服务应用故障定位系统实现原理剖析
热门文章
- 字符 正则表达式详解
- 【小程序】微信小程序如何获取用户微信openID?(已解决,完整代码实例)
- 学习数据分析,数据分析必备的技能有哪些
- flex布局---flex-wrap属性,决定排列是否换行
- 基于Tensorflow2 Lite在Android手机上实现时间序列温度预测(二)
- Java、JSP(二手车)交易管理系统毕业设计论文
- (十六)admin-boot项目之文件存储上传与下载minio
- 高等数学——讲透求极限两大方法,夹逼法与换元法
- shift删除的文件如何恢复?
- 计算机音乐数字乐谱贴吧,【图片】【谱集】贴吧谱子整理【计算器音乐吧】_百度贴吧...