Main Content

DocBlock を使用したカスタム HDL コードの統合

1 つ以上の DocBlock ブロックを使用してカスタム HDL コードを設計に統合できます。

カスタム コードの統合に DocBlock を使用する場合

HDL コードを個別のファイルとしてではなくモデルで維持する場合は、DocBlock を使用してカスタム HDL コードを統合します。DocBlock 内のテキストはカスタム VHDL®、Verilog®、または SystemVerilog コードです。

カスタム HDL コードが含まれる各 DocBlock を含めるには、それぞれをブラック ボックス サブシステムに配置し、そのブラック ボックス サブシステムをテスト対象設計 (DUT) に含めます。ブラック ボックス サブシステムごとに 1 つの HDL ファイルが生成されます。

カスタム コード統合の代替方法

カスタム コードが知的所有権 (IP) またはサードパーティ ベンダーのライブラリなどの場合にカスタム HDL コードをモデルとは別に維持するには、ブラック ボックス サブシステムまたはブラック ボックス モデル参照を使用します。

DocBlock を使用したカスタム コードの統合

  1. DUT 内の任意の階層レベルで、Subsystem ブロックを追加します。

  2. Subsystem ブロックの場合は、[HDL ブロック プロパティ] ダイアログ ボックスで次の手順に従います。

  3. サブシステムで、DocBlock ブロックを追加します。

  4. DocBlock の場合は、[HDL ブロック プロパティ] ダイアログ ボックスで次を行います。

    • [Architecture][HDLText] に設定します。

    • [TargetLanguage] を、[Verilog][SystemVerilog][VHDL] などのターゲット言語に設定します。

  5. DocBlock に、カスタムの Verilog または SystemVerilog module、あるいは VHDL entity に対する HDL コードを入力します。

    言語は DocBlock [TargetLanguage] 設定と一致していなければなりません。

制限

  • DocBlock を含むブラック ボックス サブシステムを最上位 DUT にすることはできません。

  • ブラック ボックス サブシステムは最大 2 つの DocBlock ブロックをもつことができます。2 つの DocBlock ブロックがある場合、1 つのブロックで [TargetLanguage][VHDL] に設定し、もう 1 つのブロックで [TargetLanguage][Verilog] または [SystemVerilog] のいずれかに設定しなければなりません。

    コードを生成する場合、HDL Coder™ はコード生成のターゲット言語と一致する DocBlock からコードを統合します。

  • DocBlock を含むブラック ボックス サブシステムが別のブラック ボックス サブシステムに配置されている場合、その DocBlock の HDL コードは HDL Coder によるコード生成時に統合されません。

Doc ブロックを使用してカスタム HDL コードを含める

hdlcoderIncludeCustomHdlUsingDocBlockExample モデルは、DocBlock ブロックを使用してカスタムの VHDL コードと Verilog コードを設計に統合する方法を示したものです。

hdlcoderIncludeCustomHdlUsingDocBlockExample モデルを開くには、次のコマンドを実行します。

load_system('hdlcoderIncludeCustomHdlUsingDocBlockExample.slx');
open_system('hdlcoderIncludeCustomHdlUsingDocBlockExample/DUT');

LegacyCodeSubs サブシステムに、従来の VHDL コードと Verilog コードを含む 2 つの DocBlock ブロックがあります。makehdlコマンドを使用して DUT サブシステムの HDL コードを生成できます。

関連するトピック