ポート マップの論理式 - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: 合成 (UG901)

Document ID
UG901
Release Date
2023-11-01
Version
2023.2 日本語

VHDL-2008 では、インスタンシエーションのポート マップ内で関数および代入文を使用できます。これを使用した便利な方法として、次の例に示すように、信号を 1 つのデータ型から別のデータ型に変更できます。

U0 : my_entity port map (clk => clk, in1 => to_integer(my_signal)...

上記の例では、エンティティ my_entityin1 という integer 型のポートがありますが、上位の信号 my_signalstd_logic_vector 型です。

以前の VHDL では、integer 型の新しい信号を作成し、インスタンシエーション外で変換を実行し、その新しい信号をポート マップに割り当てる必要がありました。

データ型の変換に加え、次の例に示すように、ロジックをポート マップに挿入することも可能です。

U0 : my_entity port map (clk => clk, enable => en1 and en2 ...

この例では、下位に enable 信号があります。上位では enable が 2 つのほかの信号の AND に接続されています。

以前の VHDL では、前述の例と同様に、これに新しい信号と代入文が必要でしたが、VHDL-2008 ではこれをインスタンシエーションのポート マップで達成できます。