このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
インポート用に IP-XACT ファイルを準備する
生成するコンポーネントの TLM インターフェイスをカスタマイズするには、独自の IP-XACT XML ファイルを TLM ジェネレーターにインポートします。
IP-XACT ファイルのインポートの詳細については、 「 TLM マッピング オプションの選択 」を参照してください。
メモ
この機能には、 ASIC Testbench for HDL Verifierアドオンが必要です。
インポートされた IP-XACT ファイルに必要な情報
すべての IP-XACT XML ファイルには、コンポーネント内の要素で定義されたMathWorks®に固有の情報が含まれている必要があります。この情報が存在しない場合、TLM ジェネレーターは IP-XACT ファイルを解析できません。
<spirit:component>
には、次のパラメーターの名前と値のペアが必要です。
<spirit:parameter>
<spirit:name>
MWベンダー</spirit:name>
<spirit:value>
MathWorks</spirit:value>
</spirit:parameter>
<spirit:parameter>
<spirit:name>
MWバージョン</spirit:name>
<spirit:value>
1.0</spirit:value>
</spirit:parameter>
<spirit:parameter>
<spirit:name>
MWモデル</spirit:name>
<spirit:value>
name_of_model
</spirit:value>
</spirit:parameter>
<spirit:parameter>
<spirit:name>
MWブロック</spirit:name>
<spirit:value>
name_of_block
</spirit:value>
</spirit:parameter>
この画像は、IP-XACT XML ファイル内のこれらの必須要素を示しています。
メモリマップのないバスインターフェイス定義
一般的なガイドライン
IP-XACT 1685-2009 のIEEE®標準に従って、モデルのバス定義を作成します。
Simulink®マッピングを使用する場合は、 Simulinkマッピングを含むすべてのバス インターフェイスがスレーブ インターフェイスである必要があります。
メモリ マップのない各バス インターフェイスには、Simulinkマッピング用に次のいずれかの要素配置が必要です。
Simulinkへのマッピングはありません
Simulink入力、 Simulink出力、または入力と出力の組み合わせへのマッピング
Simulink調整可能パラメーターへのマッピング
各バス インターフェイスは 1 つの配列のみを持つことができますが、IP-XACT ファイルには、それぞれが異なる配列を持つ複数のバス インターフェイス定義を含めることができます。
Simulinkメモリ マップを使用しないマッピング
<spirit:busInterface>
マッピングを含む各Simulink定義は、TLM ターゲット ソケットにマップされます。<spirit:parameters>
タグ内に、 <spirit:parameter>
Simulink の名前と値のペアを追加します。以下に例を示します。
<spirit:parameter> <spirit:name>MWMapInput</spirit:name> <spirit:value>input_1</spirit:value> </spirit:parameter>
この画像は、 Simulink入力にマップされたいくつかのバス インターフェイスを示しています。
入力は 1 つのバス インターフェイス定義に一緒にマップされます。出力は別のバス インターフェイスにあります。フィルター係数は別の独立したバス インターフェイスにあります。
あるいは、単一のバス インターフェイス定義で入力と出力を一緒に定義することもできます。ただし、フィルター係数は、独自の別個のバス インターフェイス定義に保持する必要があります。
メモリマッピングを使用したバスインターフェイス定義
一般的なガイドライン
IP-XACT 1685-2009 のIEEE標準に従って、モデルのバス定義を作成します。次の権限が適用されます。
入力レジスタ — 書き込み専用または読み書き可能
出力レジスタ — 読み取り専用または読み取り/書き込み
パラメーターレジスタ — 要件に応じて、読み取り専用、書き込み専用、または読み取り/書き込み
各レジスタのビット単位のスピリット サイズを、 Simulink入力、出力、またはパラメーターのサイズ以上にします。
Simulinkマッピングを使用する場合は、 Simulinkマッピングを含むすべてのバス インターフェイスがスレーブ インターフェイスである必要があります。
Simulinkメモリ マップ内のマッピング
バス インターフェイスにメモリ マップ参照がある場合は、バス インターフェイスではなくメモリ マップでSimulinkマッピングを表現する必要があります。
各レジスタのSimulinkマッピングは、次の要素の配置で構成できます。
Simulinkへのマッピングはありません (つまり、レジスタにマッピング情報は必要ありません)
Simulink入力、 Simulink出力、または入力と出力の組み合わせへのマッピング
Simulink調整可能パラメーターへのマッピング
レジスタは複数の入出力を持つことができません。ただし、バス インターフェイスは、それぞれが異なる配置を持つ複数のレジスタにマッピングすることができます。
IP-XACT ファイルに入力、出力、またはパラメーターを追加するには、次の手順に従います。
<spirit:busInterface>
マッピングを含む各Simulink定義は、TLM ターゲット ソケットにマップされます。メモリ マップに<spirit:parameter>
マッピングがあることを TLM ジェネレーターに示すSimulink の名前と値のペアを追加します。<spirit:parameter> <spirit:name>MWMap</spirit:name> <spirit:value>true</spirit:value> </spirit:parameter>
各
<spirit:memoryMap>
セクション、各<spirit:register>
定義、<spirit:parameters>
タグ内に、<spirit:parameter>
を追加します。 Simulinkマッピングを使用した名前と値のペア。<spirit:parameter> <spirit:name>MWMapInput</spirit:name> <spirit:value>input1</spirit:value> </spirit:parameter>
この画像は、 Simulink入力に対するこの配置を示しています。
オプションでレジスタ内のフィールドの位置を指定するには、
<spirit:field>
で<spirit:register>
定義を指定します。<spirit:bitWidth>
タグと<spirit:bitOffset>
タグを使用して、各<spirit:field>
を定義します。<spirit:parameter>
の名前と値のペアとSimulinkマッピングを<spirit:field>
定義に含めます。<spirit:field> <spirit:name>OUTPUT_1</spirit:name> <spirit:bitOffset>32</spirit:bitOffset> <spirit:bitWidth>32</spirit:bitWidth> <spirit:access>read-only</spirit:access> <spirit:parameters> <spirit:parameter> <spirit:name>MWMapOutput</spirit:name> <spirit:value>output_1</spirit:value> </spirit:parameter> </spirit:parameters> </spirit:field>
オプションでSimulinkマッピングからレジスタを除外するには、
<spirit:parameter>
<spirit:register>
の名前と値のペアを追加します。レジスタをメモリ マップから除外するには、名前をMWMap
、値をfalse
と指定します。<spirit:register> <spirit:name>EXCLUDED_REG_1</spirit:name> <spirit:addressOffset>0x38</spirit:addressOffset> <spirit:size>64</spirit:size> <spirit:access>read-only</spirit:access> <spirit:parameters> <spirit:parameter> <spirit:name>MWMap</spirit:name> <spirit:value>false</spirit:value> </spirit:parameter> </spirit:parameters> </spirit:register>
Simulinkメモリ マッピングからアドレス ブロックを除外するには、
<spirit:parameter>
<spirit:addressblock>
の名前と値のペアを追加します。メモリ マップからアドレス ブロックを除外するには、名前をMWMap
、値をfalse
と指定します。<spirit:addressBlock> <spirit:name>EXCLUDED_BANK</spirit:name> <spirit:baseAddress spirit:id="EXCLUDED_BANK_ADDR" spirit:resolve="user">0x00030000</spirit:baseAddress> <spirit:range>128</spirit:range> <spirit:width>64</spirit:width> <spirit:usage>register</spirit:usage> <spirit:register> <spirit:name>EXCLUDED_REG_2</spirit:name> <spirit:addressOffset>0x00</spirit:addressOffset> <spirit:size>64</spirit:size> <spirit:access>read-only</spirit:access> </spirit:register> <spirit:register> <spirit:name>EXCLUDED_REG_3</spirit:name> <spirit:addressOffset>0x08</spirit:addressOffset> <spirit:size>64</spirit:size> <spirit:access>read-only</spirit:access> </spirit:register> <spirit:parameters> <spirit:parameter> <spirit:name>MWMap</spirit:name> <spirit:value>false</spirit:value> </spirit:parameter> </spirit:parameters> </spirit:addressBlock>
TLM コンポーネントへのSimulinkメモリ マッピングの完全な例については、 インポートされた IP-XACT とメモリ マップを参照してください。
信号ポートへのマッピング
未登録のsc_signal
ポートを生成できます。ステップ関数が実行されると、 sc_in
ポートの現在値を読み取り、それらをすべてステップ関数に渡し、ステップ関数を実行して、ステップ関数の結果をsc_out
に書き込みます。 $$ポート。
入力ポートと出力ポートを追加するには、IP-XACT ファイルで次のように指定します。
ポートを
<spirit:port>
タイプの<spirit:wire>
として指定します。ポートの方向を
<spirit:direction>
として指定します。方向をin
に設定して、sc_in
ポートを生成します。方向をout
に設定して、sc_out
ポートを生成します。デフォルトでは、ポートのデータ型はサブシステムの入力または出力と同じです。オプションで、
<spirit:wireTypeDef>
に記述することで、ポートのデータ型を定義できます。TLM ポートのSimulink入力または出力へのマッピングを定義するには、名前と値のペア
MWMapInput
またはMWMapOutput
を<spirit:vendorExtension> <spirit:parameters> <spirit:parameter>
タグ。
このイメージは、ポートへのマッピングの例を示しています。