目次
文法
Verilogでは大文字と小文字が区別されます。
特定の文法がなく、1行または複数行にまたがって書き込めます。
各ステートメントはセミコロンで終了する必要があります。空白文字(改行、タブ、スペース)は実用的な意味がなく、コンパイル段階では無視できます。例えば、次の2つのプログラミングは同じ結果です。
改行しません(非推奨)
実例
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 ;
コメント
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つの異なる識別子である
コメントを残す