VHDLでEntityは何のために使われますか?
VHDL(VHSICハードウェア記述言語)では、エンティティはハードウェア回路のインターフェースや入出力を定義するために用いられます。エンティティとは、仮想的なハードウェアモジュールの外見上の特徴を記述したもので、C言語における関数宣言に類似しています。モジュールの入出力ポートや、モジュール名・種類を指定します。
エンティティの宣言は通常、次の部分で構成されます。
- entity名:function名と同様に、モジュールを識別するために使われる名前。
- ポート宣言:モジュールの入出力ポートを定義します。各ポートには名称、方向(入力または出力)、データ型があります。
- その他の属性:Clock周波数やレイテンシなど、その他の属性をエンティティの中で定義できます。
次に簡単な例を挙げて、VHDL でエンティティを使用する方法を示します。
entity my_entity is
port (
clk : in std_logic; -- 输入时钟信号
reset : in std_logic; -- 输入复位信号
data_in : in std_logic_vector(7 downto 0); -- 输入数据
data_out : out std_logic_vector(7 downto 0) -- 输出数据
);
end entity my_entity;
上記の例では「my_entity」というEntityを定義しており、このEntityはclk、reset、data_in、data_outの4つのポートを持っています。ここで、clkとresetは入力ポート、data_inとdata_outは入出力ポートになっています。
エンティティの定義は具体的なハードウェア論理実装を持たず、モジュールのインターフェースのみを記述します。モジュールの論理実装は、通常、アーキテクチャで行われます。