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

小林 優

IEEE Std 1076-1987(いわゆるVHDL87)に基づいて文法要約を示します.VHDLの文法体系は多岐にわたっているのですが,ここでは「設計や検証で使うもの」を中心にまとめました.実設計で必要のないものや代替手段のあるものは割愛しましたので,広範囲に知りたい方は,記述スタイル編に掲載した参考文献の文法書などを参照してください. (編集部)

 本稿で使用する訳語は,日本電子機械工業会EDA特別委員会によるVHDL対訳表に沿いました.ただし一部の用語は,各種文献などで慣例的に用いられている訳語を利用しました.

 文法表現のため,いくつかの記号を用いています.以下に説明します.

 { } … 省略可能な記述を示す.
 [ ] … 複数使える記述を示す.
  | … いずれかの要素を用いる.
 < > …  これでくくった項目は,別途定義してある項目を示す.ただし,自明なものは定義を省略した.
 

 これら以外の記号は,文法上必要な記号です.

 

1.記述全体

● デザイン・ユニット

< コンテキスト節 > < ライブラリ・ユニット >

:コンテキスト節は,ライブラリやパッケージの指定.
  ライブラリ・ユニットは,entityやarchitectureなどの記述本体.

● コンテキスト節

library < ライブラリ名 >, < ライブラリ名 >,…  ;
use < ライブラリ名 > . < パッケージ名 > . < アイテム > ;

:ライブラリWORKとSTDは,すでに指定されているものとして扱われる.

 《 記述例
library IEEE , MYLIB ;
use IEEE.std_logic_unsigned.all ;
use WORK.MYPAC.all ;

 

● アイテム

< 名前 > | ' 文字 ' | " 文字列 " | all

:パッケージ内の特定要素のみ指定できる.allはすべてを指定する.

● ライブラリ・ユニット

< エンティティ宣言 > | < パッケージ宣言 > | < コンフィグレーション宣言 >
< アーキテクチャ本体 > | < パッケージ本体 >

 

2.エンティティ

● エンティティ宣言

entity  < エンティティ名 >  is
  { port { < インターフェース・リスト > ) ; }
  { generic ( < インターフェース・リスト > ) ; }
end { < エンティティ名 > } ;

:エンティティ内では,タイプや信号宣言,ステートメントの一部を記述できるが割愛した.

  《 記述例
entity dec2to4 is
  port ( d : in std_logic_vector ( 1 downto 0 ) ;
      q : in std_logic_vector ( 3 downto 0 ) ) ;
end ;

 

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! 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日