このブラック ボックス機能を使用すると、ライブラリの依存関係があらかじめ定義されている VHDL モジュールをインポートできます。このインポート方法を例をあげて説明します。
次の VHDL モジュールは、非同期クリアを持つ 4 ビットのアップ カウンターです (async_counter.vhd)。これは、async_counter_lib というライブラリにコンパイルされます。
次の VHDL モジュールは、同期クリアを持つ 4 ビットのアップ カウンターです (sync_counter.vhd)。これは、sync_counter_lib
というライブラリにコンパイルされます。
次の VHDL モジュールは、前の 2 つのモジュールをインスタンシエートするために使用される最上位モジュールです。System Generator モデルにブラック ボックスを追加する際は、このモジュールを指定する必要があります。
この VHDL をインポートするには、ブラック ボックスを使用して、まず最上位エンティティ top_level
をインポートします。
ファイルがインポートされたら、関連付けられているブラック ボックスのコンフィギュレーション M ファイルを次のように変更する必要があります。
インターフェイス関数 addFileToLibrary
は、ライブラリ名を work 以外のものに指定し、関連付けられている HDL ソースを指定ライブラリにコンパイルするよう指示するために使用されます。
System Generator モデルは次の図のようになります。
次に、System Generator トークンをダブルクリックし、Generate をクリックして HDL ネットリストを生成します。
この生成プロセスで Vivado IDE プロジェクト (.xpr) が作成され、netlist フォルダーの下にある hdl_netlist フォルダーに保存されます。Vivado IDE プロジェクトをダブルクリックし、[Source] ウィンドウの [Libraries] ビューを選択すると、work
ライブラリと共に、async_counter_lib
ライブラリおよび sync_counter_lib
ライブラリが表示されます。