====== 構文リファレンス ====== ===== 基本事項 ===== * 一般的には .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; ===== architecture =====