格式

Verilog 是區分大小寫的。

格式自由,可以在一行內編寫,也可跨多行編寫。

每個語句必須以分號為結束符。空白符(換行、製表、空格)都沒有實際的意義,在編譯階段可忽略。例如下麵兩中編程方式都是等效的。

不換行(不推薦)

實例

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

換行(推薦)

實例

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

注釋

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 ;

標識符與關鍵字

標識符(identifier)可以是任意一組字母、數字、$ 符號和 _(下劃線)符號的合,但標識符的第一個字符必須是字母或者下劃線,不能以數字或者美元符開始。

另外,標識符是區分大小寫的。

關鍵字是 Verilog 中預留的用於定義語言結構的特殊標識符。

Verilog 中關鍵字全部為小寫。

實例

reg [3:0] counter ; //reg 為關鍵字, counter 為標識符
input clk; //input 為關鍵字,clk 為標識符
input CLK; //CLK 與 clk是 2 個不同的標識符