このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
サブシステムのブラック ボックス インターフェイスの生成
ブラック ボックス インターフェイスとは
サブシステムの "ブラック ボックス" インターフェイスは、生成された VHDL® コンポーネントまたは Verilog® モジュールまたは SystemVerilog モジュールです。これらには、サブシステム用に HDL の入力および出力端子の定義のみが含まれています。このようなコンポーネントを生成することで、モデル内のサブシステムを使用して既存の手書きの HDL コード、サードパーティ製の IP または HDL Coder™ で生成された他のコードへのインターフェイスを生成できます。
要件
ブラック ボックスの実装は、DUT より低いレベルのサブシステム ブロックでのみ使用できます。また、DUT より低いレベルのカスタム ライブラリのバーチャルおよび Atomic Subsystem ブロックでも、ブラック ボックス実装を使用できます。
サブシステム用のブラック ボックス インターフェイスの生成
インターフェイスを生成するには、1 つ以上の Subsystem ブロックで BlackBox
実装を選択します。テスト対象デバイスとなる、次のサブシステム top
を含むモデルがあるとします。
サブシステム top
には次の 2 つの下位レベルのサブシステムが含まれています。
Interface
サブシステムのブラック ボックス インターフェイスを使用して top
から HDL コードを生成するとします。ブラック ボックス インターフェイスを指定するには、次の手順に従います。
Interface
サブシステムを右クリックして [HDL コード] 、 [HDL ブロック プロパティ] を選択します。[HDL プロパティ] ダイアログ ボックスが表示されます。
[Architecture] を
[BlackBox]
に設定します。次のパラメーターがブラック ボックスの実装に使用できます。
ブラック ボックスの実装に使用できる HDL ブロック パラメーターで、生成されるインターフェイスをカスタマイズできます。これらのパラメーターについては、ブラック ボックスまたは HDL コシミュレーション インターフェイスのカスタマイズを参照してください。
必要に応じてパラメーターを変更し、[Apply] をクリックします。
[OK] をクリックして [HDL プロパティ] ダイアログ ボックスを閉じます。
ブラック ボックス サブシステム実装のためのコードの生成
ex_blackbox_subsys
モデル内の DUT のコードを生成する場合、次のメッセージが表示されます。
>> makehdl('ex_blackbox_subsys/top') ### Generating HDL for 'ex_blackbox_subsys/top' ### Starting HDL Check. ### HDL Check Complete with 0 errors, 0 warnings and 0 messages. ### Begin VHDL Code Generation ### Working on ex_blackbox_subsys/top/gencode as hdlsrc\gencode.vhd ### Working on ex_blackbox_subsys/top as hdlsrc\top.vhd ### HDL Code Generation Complete.
この進行状況メッセージ内で、gencode
サブシステムがその VHDL エンティティの定義用に別のファイル gencode.vhd
を生成していることが確認できます。Interface
サブシステムでは、このようなファイルは生成されません。このサブシステムのインターフェイス コードは、ex_blackbox_subsys/top
から生成される top.vhd
内にあります。次のコード リストは、Interface
サブシステム用に生成されたコンポーネントの定義とインスタンス化を説明しています。
COMPONENT Interface PORT( clk : IN std_logic; clk_enable : IN std_logic; reset : IN std_logic; In1 : IN std_logic_vector(7 DOWNTO 0); -- uint8 In2 : IN std_logic_vector(15 DOWNTO 0); -- uint16 In3 : IN std_logic_vector(31 DOWNTO 0); -- uint32 Out1 : OUT std_logic_vector(31 DOWNTO 0) -- uint32 ); END COMPONENT; ... u_Interface : Interface PORT MAP( clk => clk, clk_enable => enb, reset => reset, In1 => gencode_out1, -- uint8 In2 => gencode_out2, -- uint16 In3 => gencode_out3, -- uint32 Out1 => Interface_out1 -- uint32 ); enb <= clk_enable; ce_out <= enb; Out1 <= Interface_out1;
既定の設定では、サブシステム用に生成されたブラック ボックス インターフェイスにはクロック、クロック イネーブルおよびリセット端子が含まれます。これらの信号の名前の変更方法や生成の抑制方法および生成されたインターフェイスの他の要素のカスタマイズ方法については、ブラック ボックスまたは HDL コシミュレーション インターフェイスのカスタマイズを参照してください。