Verilog语法规则
Verilog语法规则
- 模块声明类
- 参数定义
- 信号类型
- 多语句定义
- 比较判断和分支判断
- 任务定义
- 连续赋值
- always模块
- 赋值符号:=和<=(小等号)
模块声明类
module at7(<端口信号列表>...)
<逻辑代码>
endmodule
FPGA中常常定义各种模块,不同模块之间有接口,类似C语言中的不同函数,有不同的输入输出变量。
参数定义
parameter用于申明一些常量,便于模块的移植或升级时的修改。
信号类型
wire:不同寄存器之间的连线
reg:一个寄存器,可以进行赋值等操作
多语句定义
begin…end
可用于包含关系,相当于C语言中的{},若有强耦合关系的一组,则不需要用begin…end
begin //可选申明部分//具体逻辑
end
比较判断和分支判断
比较判断:if…else
if()
begin
...
end
else
begin
...
end
if()
begin
...
end
else if()
begin
...
end
else
begin
...
end
分支判断:case…default…endcase
case(变量名)
取值1:具体逻辑1
取值2:具体逻辑2
取值3:具体逻辑3
default:具体逻辑4
endcase
任务定义
task…endtask 像是C语言中的子函数,有输入输出参数。
task是可综合的行为级语法,是顺序执行的,不是并行的。
task <task名>input 输入变量申明begin...end
endtask
连续赋值
- assign
assign可直接给wire型变量赋值:
assign wire变量名 = 变量或常量 - ?表达式
wire timer_cnt;
assign timer_vnt = (cnt == MAX_CNT_VALUE)?1:0;
always模块
//单个沿触发的时序逻辑
always @ (沿变化)
begin
...
end
//多个沿触发的时序逻辑
always @ (沿变化1 or 沿变化2)
begin
...
end
如:
always @ (posedge clk or negedge rst_n)
//上升沿posedge,下降沿negedge
赋值符号:=和<=(小等号)
=:阻塞,在组合逻辑中用,是顺序执行的
<=:非阻塞,在时序逻辑中用,两行语句在同一个时钟周期来到时是并行处理的
Verilog语法规则相关推荐
- 【系统设计】Verilog语法及示例(2)
参考Verilog语法 | 教程 (ustc.edu.cn) 1.7 D触发器 D触发器是一个具有记忆功能.具有两个稳定状态的信息存储器件,是构成时序逻辑的最基本逻辑单元.其具有两个稳定状态,即&qu ...
- LLVM一些语法规则
LLVM一些语法规则 LLVM文档 LLVM编译器基础架构支持广泛的项目,从工业强度编译器到专门的JIT应用程序,再到小型研究项目. 同样,文档分为几个针对不同受众的高级别分组: LLVM设计概述 几 ...
- 一文详解CMakeLists文件编写语法规则详解
作者丨zhanghm1995@blog 来源丨https://blog.csdn.net/zhanghm1995/article/details/80902807 编辑丨3D视觉工坊 基本语法规则 C ...
- 从零开始React:一档 React环境搭建,语法规则,基础使用
手挽手带你学React入门第一期,带你熟悉React的语法规则,消除对JSX的恐惧感,由于现在开发中都是使用ES6语法开发React,所以这次也使用ES6的模式进行教学,如果大家对ES6不熟悉的话,先 ...
- xml语法规则(一)
一.XML语法规则 XML的文档和HTML的原代码类似,也是用标识来标识内容.创建XML文档必须遵守下列重要规则: 规则1:必须有XML声明语句 这一点我们在上一章学习时已经提到过.声明是XML文档的 ...
- [转]verilog语法学习心得
verilog语法学习心得 1.数字电路基础知识: 布尔代数.门级电路的内部晶体管结构.组合逻辑电路分析与设计.触发器.时序逻辑电路分析与设计 2.数字系统的构成: 传感器 AD 数字处理器 D ...
- 【Groovy】Groovy 代码创建 ( 使用 Java 语法实现 Groovy 类和主函数并运行 | 按照 Groovy 语法改造上述 Java 语法规则代码 )
文章目录 一.创建 Groovy 代码文件 二.使用 Java 语法实现 Groovy 类和主函数并运行 三.按照 Groovy 语法改造上述 Java 语法规则代码 一.创建 Groovy 代码文件 ...
- Spring Boot—thymeleaf语法规则以及使用
文章目录 一.渲染机制 二.导入thymeleaf的名称空间 四.使用thymeleaf 五.语法规则 1.属性及属性的优先级 2.表达式 一.渲染机制 @ConfigurationPropertie ...
- Thymeleaf语法规则
语法规则 th:text 改变当前元素里面的文本内容 th:任意html属性: 来替换原生属性的值 <!DOCTYPE html> <html lang="en" ...
最新文章
- Bash脚本: 根据关键字做替换
- SPSS实战应用案例50篇(一):从SPSS的角度讲清楚卡方检验
- 致27岁的老光棍天空
- Node.js下载安装及各种npm、cnpm、nvm、nrm配置(保姆式教程—提供全套安装包)—nrm的安装与配置(5)
- java中异常抛出后代码还会继续执行吗
- Linux Shell编程笔记一:相关命令
- java outputstrea_java的InputStream和OutputStream的理解【转】
- PPC软件安装方法汇总
- 一招教你如何使用.Net Core 3.0正式版创建Winform程序
- 创建oracle数据库实例
- Aspose.Cells 使用FreezePanes()冻结行和列
- C语言getc函数没错不管用,对比C语言中getc()函数和ungetc()函数的使用
- 服务器抓不到mrcp信息,启动百度Mrcp服务器出错 错误码: 323
- 什么情况下单独计算机械台班,投标or签证,机械台班价如何确认?
- 乡郎桑黄:什么是桑黄?桑树的价值有哪些?
- Numpy:repeat用法图解
- 操作系统(四)——文件管理
- 注册Outlook如何跳过手机验证
- 数字基带信号的功率谱密度
- 血族群机器人_【lay兴】 《Heartbeat》[上]古老血族 X 智能AI丨 Can you feel my heartbeat?...