構文リファレンス
基本事項
- 一般的には .vhd や .vhdl のサフィックスが使われる。
- 識別子において、大文字/小文字の区別はしない。
- 単一行コメントは
-
-
(ハイフン2つ) から始まり、行末まで。 - 複数行コメントは存在しない。
library
ライブラリを読み込む。読み込んだライブラリの中身を使うのは use へ。
-- 構文 library ライブラリ名; -- 例 library ieee;
- ieee - 標準的なパッケージを収めたライブラリ。
- ただし、IEEEで定義された物ではないベンダー依存のパッケージが、しれっとieeeライブラリの中に入っていることもあるので注意。
- work - 自分で定義したパッケージが入るライブラリ。vlib workとかして作ったアレ。
use
パッケージ内の要素を使えるようにする。要素名がallの場合、該当パッケージ内の全要素を使えるようにする。
-- 構文 use ライブラリ名.パッケージ名.要素名; use ライブラリ名.パッケージ名.all; -- 例 use ieee.std_logic_1164.all;
entity
回路の外部インターフェースを定義する。内部動作定義は architecture へ。
-- 構文 entity エンティティ名 is generic ( GENERIC宣言 -- 宣言が空っぽの場合は、generic ( ); を記述してはならない ); -- セミコロン忘れずに port ( PORT宣言 -- 宣言が空っぽの場合は、port( ); を記述してはならない ); -- セミコロン忘れずに end [entity] [エンティティ名]; -- 例 entity my_module is generic ( WIDTH : integer := 4 ); port ( a : in std_logic_vector(WIDTH-1 downto 0); ); end entity;