このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
インポート用の 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 メモリマップなしのマッピング
Simulink マッピングを含む各 <spirit:busInterface>
定義は、TLM ターゲット ソケットにマップされます。<spirit:parameters>
タグ内に、Simulink マッピングを定義する <spirit:parameter>
の名前と値のペアを追加します。次に例を示します。
<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 ファイルに入力、出力、またはパラメータを追加するには、次の手順に従います。
Simulink マッピングを含む各
<spirit:busInterface>
定義は、TLM ターゲット ソケットにマップされます。メモリ マップに Simulink マッピングがあることを TLM ジェネレーターに示す<spirit:parameter>
の名前と値のペアを追加します。<spirit:parameter> <spirit:name>MWMap</spirit:name> <spirit:value>true</spirit:value> </spirit:parameter>
各
<spirit:memoryMap>
セクションの各<spirit:register>
定義の<spirit:parameters>
タグ内に、Simulink マッピングを持つ<spirit:parameter>
の名前と値のペアを追加します。<spirit:parameter> <spirit:name>MWMapInput</spirit:name> <spirit:value>input1</spirit:value> </spirit:parameter>
この画像は、Simulink 入力のこの配置を示しています。
レジスタ内のフィールドの位置をオプションで指定するには、
<spirit:register>
で<spirit:field>
定義を指定します。各<spirit:field>
を定義するには、<spirit:bitWidth>
タグと<spirit:bitOffset>
タグを使用します。<spirit:field>
定義に Simulink マッピングを含む<spirit:parameter>
名前と値のペアを含めます。<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:register>
定義に<spirit:parameter>
の名前と値のペアを追加します。レジスタをメモリ マップから除外するには、名前を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:addressblock>
定義に<spirit:parameter>
の名前と値のペアを追加します。アドレス ブロックをメモリ マップから除外するには、名前を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:wire>
の<spirit:port>
として指定します。ポート方向を
<spirit:direction>
として指定します。方向をin
に設定すると、sc_in
ポートが生成されます。方向をout
に設定すると、sc_out
ポートが生成されます。デフォルトでは、ポートのデータ型はサブシステムの入力または出力と同じです。オプションで、
<spirit:wireTypeDef>
で記述することにより、ポートのデータ型を定義することもできます。TLM ポートを Simulink 入力または出力にマッピングすることを定義するには、
<spirit:vendorExtension> <spirit:parameters> <spirit:parameter>
タグ内の名前と値のペアMWMapInput
またはMWMapOutput
を指定します。
この画像はポートへのマッピングの例を示しています。