差分
この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
vhdl:syntax [2017/09/13 03:43] kimu_shu [use] |
vhdl:syntax [2017/09/13 04:18] (現在) kimu_shu |
||
---|---|---|---|
ライン 5: | ライン 5: | ||
* 一般的には .vhd や .vhdl のサフィックスが使われる。 | * 一般的には .vhd や .vhdl のサフィックスが使われる。 | ||
* 識別子において、大文字/小文字の区別はしない。 | * 識別子において、大文字/小文字の区別はしない。 | ||
- | * 単一行コメントは "--" から始まり行末まで。 | + | * 単一行コメントは ''-''''-'' (ハイフン2つ) から始まり、行末まで。 |
* 複数行コメントは存在しない。 | * 複数行コメントは存在しない。 | ||
===== library ===== | ===== library ===== | ||
+ | |||
+ | ライブラリを読み込む。読み込んだライブラリの中身を使うのは [[#use]] へ。 | ||
<code vhdl> | <code vhdl> | ||
ライン 17: | ライン 19: | ||
library ieee; | library ieee; | ||
</code> | </code> | ||
- | |||
- | ライブラリを読み込む。 | ||
* ieee - 標準的なパッケージを収めたライブラリ。 | * ieee - 標準的なパッケージを収めたライブラリ。 | ||
ライン 25: | ライン 25: | ||
===== use ===== | ===== use ===== | ||
+ | |||
+ | パッケージ内の要素を使えるようにする。要素名がallの場合、該当パッケージ内の全要素を使えるようにする。 | ||
<code vhdl> | <code vhdl> | ||
ライン 35: | ライン 37: | ||
</code> | </code> | ||
- | パッケージ内の要素を使えるようにする。要素名がallの場合、該当パッケージ内の全要素を使えるようにする。 | + | |
+ | ===== entity ===== | ||
+ | |||
+ | 回路の外部インターフェースを定義する。内部動作定義は [[#architecture]] へ。 | ||
+ | |||
+ | <code vhdl> | ||
+ | -- 構文 | ||
+ | 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; | ||
+ | </code> | ||
+ | |||
+ | ===== architecture ===== | ||