Verilog语言、语法
Verilog采用模块化的结构来描述电子电路系统,模块是它描述电路的基本单元,像C语言中的函数一样。模块的不同结构实现了不同的功能,对应着硬件上的逻辑实体,同时模块有输入和输出端口,能够和其他模块相连。
Verilog中有26个基本的单元。
名称 |
|
多输入门 |
and、nand、or、nor、xor、xnor |
多输出门 |
buf、bot |
三态门 |
bufif0、bufif1、notif0、notif1 |
上拉下、拉电阻 |
pulldown、pullup |
MOS开关 |
coms、nmos、pmos、rcmos、rnmos、rpmos |
反向开关 |
tran、tranif0、tranif1、rtran、rtranif0、rtranif1 |
门级建模是使用基本的单元进行的,与行为级建模相比效率低,verilog多用来进行寄存器传输级的描写电路设计,rtl最后也是会被综合成具体的门级电路。
Verilog模块的结构:
module template1(a,b,c,d);/*template1:模块名,后面的括号里跟端口,端口的输入输出说明可以在端口列表里,也可以在下面写。*/input a,b;output c;output d;//数据类型wire ;reg [14:0]; //15位的parameter;//描述逻辑功能的语句assign ;//多用于组合逻辑always @();/*既可用于组合逻辑也可用于时序逻辑,C语言里的case,if-else,for循环之类的都可以写,括号内是敏感信号,像上升下降沿之类*//*例化调用模块调用模块名 被调用的模块的模块,端口列表(.a(a),.b(b),.c(c),.d(d));*/endmodule
Verilog程序由各种符号流组成,标识符由字母、数字、下划线、$和_(下划线)组成,且$和数字不能开头,区分字符大小写。
数字:位宽’数制 数字;’和数制之间不能有空格;?z Z都代表高阻态。整数可以写符号。没有数制时默认是十进制。
Verilog的数据类型有4种逻辑值:0、1、x不确定、z高阻态。
数据类型是用来表示数字电路里的物理连线、数据存储和传输单元等的。分net和variable两种。
Net型有wire 和tri。
Variable型有reg和integer。
Net型的数据相当于硬件电路中的物理连接。特点是输出随输入的变化而变化,可以用assign语句进行赋值。
Variable类型是用在initial和always这样的过程语句中赋值的。
Parameter用来定义符号常量,例如parameter 参数名=表达式, , ;
Always语句过程的敏感信号列表有边沿敏感型和电平敏感型,*是通配符,表示对所有的信号变量都敏感,通常在组合逻辑中使用。
Initial语句没有触发条件,只执行一次。
块语句:begin-end和fork-join。Begin-end中的语句是顺序执行的,fork-join块中的语句是并发执行的。
Verilog语言、语法相关推荐
- [SugerTangYL] Verilog 语言入门(零基础视角)
目录 前言 一.示例 1.一位全加器功能及电路图 2.一位全加器Verilog代码 (1)模块定义声明 (2)变量声明定义 (3)子模块调用 二.模块声明定义模板 总结 前言 hi guys,这是我第 ...
- 使用Verilog语言实现时间计数器
数字逻辑课程设计报告 课题名称 电子时钟设计 姓 名 周策 学 号 2018207129 专业班级 18级物联网一班 指导教师 巨春民 2019年 10月 25日 一.设计任务及要求: 设计任务:用V ...
- FPGA笔记之verilog语言(基础语法篇)
文章目录 FPGA笔记之verilog语言(基础语法篇) 1. verilog 的基础结构 1.1 verilog设计的基本单元--module 1.2 module的使用 1.3 I/O的说明 1. ...
- Verilog语言基础语法
Verilog基础知识 数字进制格式 标识符 数据类型 寄存器类型 线网类型 参数类型 运算符 运算优先级 数字进制格式 Verilog数字进制格式包括二进制,八进制,十进制,十六进制.常用为二进制, ...
- b 计数器位选信号 verilog_Verilog HDL菜鸟学习笔记———三、Verilog常用语法之一...
1.一个完整版实例 上一次Verilog学习笔记中,我通过几个小例子,较为直观的对Verilog编程有了一些了解.这次笔记,我开始着重的系统学习Verilog编程语法基础.在我系统学习语法之前,我先用 ...
- FPGA学习之verilog语言入门指导
本人985硕士,在此分享下学习过程,verilog通关!本人博客页也分享了很多课程设计和毕业设计,欢迎收藏观看订阅!谢谢支持! 在学习之前,要思考下为什么学习FPGA,老师要求?项目要求?课题组要求? ...
- Verilog语言与数字系统设计
学习Verilog语言必要的基础知识 计算机导论 数字逻辑或数字电路与逻辑设计 计算机科学概论 拓展学习: 计算机组成原理 计算机体系结构 学习视频链接: 基于FPGA的Verilog语法基础课程(至 ...
- Verilog语言基础
Verilog HDL 和 VHDL对比 VHDL: 语法严谨(Basic语言). 行为与系统级抽象描述能力强.代码冗长. 编程耗时多: Verilog HDL:语法灵活(C语言). 版图级与门级描述 ...
- Verilog语言要素(二)
1 Verilog语言要素 1.2 标识符-关键字-属性 1.2.1 标识符(Identifier) 规范原文如下: An identifier is used to give an object a ...
- Verilog语言初学1
Verilog语言初学1 Verilog初学 Verilog的一些常用标识符 入门笔记 Verilog初学 本人初学Verilog,自己做一点笔记 Verilog的一些常用标识符 入门笔记 veril ...
最新文章
- 程序员如何写出更好的代码
- python安装出错0xc00006b_Python安装时我遇到的一些问题
- 存到mysql的中文乱码_将用户输入的中文保存到数据库出现中文乱码问题
- 基于八叉树快速分类的Shear-Warp交互式体绘制算法
- CVPR 2020 | 北航提出:通过由粗到精特征自适应进行跨域目标检测,表现SOTA!
- jquery中如何表达本页网址_如何用js得到当前页面的url信息方法(JS获取当前网址信息)...
- 决策树ID3和C4.5
- 只用两个函数实现事务的设计模式!
- 如何使Android应用程序获取系统权限来修改系统时间
- 6个高级Python技巧
- 中兴智能视觉大数据报道:人脸识别画上浓妆也不耽误识别
- 抖音创作规范_实体店如何借势抖音为门店获客?
- 推荐一门开源课程“C/C++:从基础语法到优化策略”
- SCADA电力系统基础业务知识
- CSS 字体加粗,导致布局宽度改变怎么处理?
- python做数学计算器_python作为计算器 数学用法
- Ubuntu镜像名称解释
- 2012年8月编程语言排行榜:C# 的航向在哪里
- 负载均衡_Maglev
- 为什么墨刀的动效这么酷炫?学会神奇移动,你也可以