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