Verilog 基础语法

学习一门设计语言需要先从掌握基础语法开始,循序渐进,逐步迈进。Verilog 基础语法非常简单,包括语法格式、标识符、关键字以及注释。

 

1. 格式

Verilog 是区分大小写的。

格式自由,可以在一行内编写,也可跨多行编写。

每个语句必须以分号为结束符。空白符(换行、制表、空格)都没有实际的意义,在编译阶段可忽略。例如下面两中编程方式都是等效的。

不换行(不推荐)

wire [1:0] results ;assign results = (a == 1'b0) ? 2'b01 : (b==1'b0) ? 2'b10 : 2'b11 ;

换行(推荐)

wire [1:0]  results ;
assign      results = (a == 1'b0) ? 2'b01 :
            (b==1'b0) ? 2'b10 :
                2'b11 ;

 

2. 注释

Verilog 中有 2 种注释方式:

用 // 进行单行注释:

reg [3:0] counter ;  // A definition of counter register

用 /* 与 */ 进行跨行注释:

wire [11:0]  addr ;
/* 
Next are notes with multiple lines.
Codes here cannot be compiled.
*/
assign   addr = 12'b0 ;

 

3. 标识符与关键字

标识符(identifier)可以是任意一组字母、数字、$ 符号和 _(下划线)符号的合,但标识符的第一个字符必须是字母或者下划线,不能以数字或者美元符开始。

另外,标识符是区分大小写的。

关键字是 Verilog 中预留的用于定义语言结构的特殊标识符。

Verilog 中关键字全部为小写。

reg [3:0] counter ; //reg 为关键字, counter 为标识符
input clk; //input 为关键字,clk 为标识符
input CLK; //CLK 与 clk是 2 个不同的标识符

1. 数值种类 Verilog HDL 有下列四种基本的值来表示硬件电路中的电平逻辑。2. 整数数值表示方法 数字声明时,合法的基数格式有 4 种,包括:十进制('d 或 'D),十六进制('h 或 'H),二进制('b 或 'B),八进制('o 或 'O)。数值可指明位宽,也可不指明位宽。3. 实数表示方法 实数表示方法主要有两种方式。