Verilog HDL硬件描述语言是一种广泛使用的、灵活度高且易于学习的语言。其在较短时间内可掌握,适用于FPGA设计的基础语法总结。
一、基础知识
1、逻辑值:逻辑0表示低电平,对应GND;逻辑1表示高电平,对应VCC;逻辑X表示未知状态;逻辑Z表示高阻态。
2、进制格式:Verilog中常用二进制、十进制、十六进制表示数字。例如:4b0101表示4位二进制,4'd2表示4位十进制,4ha表示4位十六进制。二进制转换十六进制如:16'b1001 1010 1010 1001=16'h9AA9。
3、标识符:用于定义模块名、端口名、信号名等,由字母、数字、$符号和下划线组成。标识符首字符必须为字母或下划线,大小写敏感。
二、数据类型
Verilog中有寄存器、线网和参数三大类数据类型。寄存器用于存储值,线网表示物理连接,参数定义常量。
1、寄存器类型:关键为reg,初始值不定,仅在always或initial语句中赋值。触发器由时钟控制,硬件连线不带时钟。
2、线网类型:表示连接元件的物理线路,值由驱动元件决定。无驱动元件时值为z。
3、参数类型:用于定义状态、位宽等,常量形式表示。
三、运算符
包括算数、关系、逻辑、条件、位、移位、拼接、优先级运算符。
四、模块结构
Verilog模块由接口描述和逻辑功能两部分组成。使用quartusii软件编写代码后,可生成组合逻辑电路图。
五、结构语句
1、initial和always语句:initial仅执行一次,用于初始化或测试;always重复执行,需要时间控制。
2、组合逻辑和时序逻辑:根据功能分为两类。
3、赋值语句:阻塞赋值(如b=a)和非阻塞赋值(如b<=a)。
六、条件语句
条件语句如if_else和case用于控制流程。
七、数据类型与运算符
数据类型包括寄存器、线网和参数,运算符覆盖算数、关系、逻辑、条件、位、移位、拼接和优先级。
八、模块结构与结构语句
模块由接口和逻辑功能组成,初始与always语句控制执行流程,组合逻辑与时序逻辑区分。
九、赋值语句
阻塞赋值与非阻塞赋值分别用于寄存器变量赋值,遵循特定原则避免冒险竞争。
十、条件语句
条件语句包括if_else与case语句,用于流程控制。
温馨提示:答案为网友推荐,仅供参考