初めてでも使えるVerilog HDL文法ガイド ―― 文法ガイド編

小林 優

回路記述やテストベンチでよく用いるものについて,Verilog HDLの文法の要約を示します.簡略化して表現したものもあります.また,省略できる項目には[ ]を付けました. (編集部)

1.基本項目

1.1 識別子

● 通常の識別子

  • 英字またはアンダ・スコア( _ )で始まる文字列.
  • 文字列中には,英字,数字,アンダ・スコア( _ ),ドル記号($)を含むことができる.
  • 大文字と小文字を区別する.

《記述例》
 正しい識別子 cnt4,_reset,TEN$,INPUT
                             (大文字なので予約語のinputとは区別できる)
 誤った識別子 74LS00(先頭が数字),$test(先頭が$),xor(予約語)

● エスケープされた識別子

  • バック・スラッシュ( \ )で始まる文字列(日本語環境では¥で始まる文字列).
  • 任意の印字可能なASCII文字を含むことができる.
  • ホワイト・スペース(スペース,タブ,改行)が識別子の区切りとなる.

《記述例》
 ¥cnt4_reg[3]  , ¥74LS04  , ¥/*Hello,HDL-World*/ 
          ↑       ↑                ↑
         スペース   スペース          スペース
 

1.2 コメント,フォーマット

● コメント

  • // で始まり,行末までの1行
  • /*  ~  */ で囲まれた複数行

《記述例》
 // 入力はreg宣言
 /* データ処理部
  by  Dr. Kobanovski */

● ソース・フォーマット

 ソース・ファイルはフリー・フォーマットであり,空白,タブ,改行など自由に挿入できる.

1.3 論理値

  • 0,1,X,zの4値
  • x(または大文字のX): 不定値
  • z(または大文字のZ): ハイ・インピーダンス

 数値表現の中での?はzと同義.

1.4 数値表現

 size'base value の形で表現する.
 size : 定数のビット幅を示す10進数値.
 'base : 基数を示す文字.d,h,o,bがあり,それぞれdecimal(10進),hexadecimal(16進),octal(8  
進),binary(2進).
      符号付き数値に場合には,それぞれsd,sh,so,sbを使う.
      以上は大文字でも可.
 value: 定数値.各基数で許される値のほかに,x,zが記述できる.
      区切りのために_(アンダ・スコア)を使用できる.
 ビット幅を省略すると32ビット幅,さらに基数も省略すると32ビット幅の10進数となる.

表1 数値表現例

 

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日