Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。该语言具有多层次的抽象,适合于电子系统设计的所有阶段。Verilog HDL的语法与C语言的语法有许多类似的地方,但也有许多不同的地方。以下是Verilog HDL的语法规则的一些要点:
1、Verilog HDL中有4种基本的值:0、1、x和z。其中,x表示未知状态,z表示高阻态。Verilog HDL中的常量是由以上这四类基本值组成的。同时,Verilog HDL中有3类常量:整型、实数型和字符串型。
2、Verilog HDL中的标识符可以是任意一组字母、数字、$符号和_符号的组合,但标识符的第一个字符必须是字母或者下划线。另外,标识符是区分大小写的。
3、Verilog HDL有两大类数据类型:线网类型和寄存器类型。线网类型表示Verilog HDL结构化元件间的物理连线,它的值由驱动元件的值决定,例如连续赋值或门的输出,线网的缺省值为z(高阻态)。寄存器类型表示一个抽象的数据存储单元,它只能在always语句和initial语句中被赋值,并且它的值被保存下来,缺省值为x(未知状态)。
4、Verilog HDL中的操作符包括算术操作符、关系操作符、相等操作符、逻辑操作符和按位操作符。
5、Verilog HDL中的表达式由操作符和操作数按照一定的规则组合而成。
6、Verilog HDL的描述语句有结构化建模方式、数据流建模方式和行为建模方式三种。
7、Verilog HDL语言中常用的语法包括:模块的结构、数据类型、运算符与表达式、赋值语句和块语句、条件语句、循环语句、生成语句、结构说明、任务和函数说明语句、常用的系统任务、调试用的系统任务、常用编译预处理语句等。
8、Verilog HDL的优点包括:简单、直观和高效;设计可以在多个层次上加以描述,从开关级、门级、寄存器传输级(Register Tansfer Level,RTL)到算法级;多种不同方式或混合方式对设计建模;提高了逻辑设计的效率,降低设计成本,更重要的是缩短设计周期;多方位的仿真可以在设计完成之前检测到其错误,减少设计的重复次数,使得第一次投片便能成功实现芯片成为可能。
9、要学习Verilog HDL语法,需要善于找到与C语言的不同点,着重理解如阻塞〔Blocking〕和非阻塞〔Non-Blocking〕赋值的不同;顺序块和并行块的不同;块与块之间的并行执行的概念;task和function的概念。同时,需要掌握Verilog HDL中的系统函数和任务,如monitor、readmemb、$stop等等。