Main Content

このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。

インポート用の 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 ファイルに入力、出力、またはパラメータを追加するには、次の手順に従います。

  1. Simulink マッピングを含む各 <spirit:busInterface> 定義は、TLM ターゲット ソケットにマップされます。メモリ マップに Simulink マッピングがあることを TLM ジェネレーターに示す <spirit:parameter> の名前と値のペアを追加します。

    <spirit:parameter>
        <spirit:name>MWMap</spirit:name>
        <spirit:value>true</spirit:value>
    </spirit:parameter>
  2. <spirit:memoryMap> セクションの各 <spirit:register> 定義の <spirit:parameters> タグ内に、Simulink マッピングを持つ <spirit:parameter> の名前と値のペアを追加します。

    <spirit:parameter>
        <spirit:name>MWMapInput</spirit:name>
        <spirit:value>input1</spirit:value>
    </spirit:parameter>

    この画像は、Simulink 入力のこの配置を示しています。

  3. レジスタ内のフィールドの位置をオプションで指定するには、<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>
    
  4. オプションでレジスタを 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 ファイルで次のように指定します。

  1. ポートをタイプ <spirit:wire><spirit:port> として指定します。

  2. ポート方向を <spirit:direction> として指定します。方向を in に設定すると、sc_in ポートが生成されます。方向を out に設定すると、sc_out ポートが生成されます。

  3. デフォルトでは、ポートのデータ型はサブシステムの入力または出力と同じです。オプションで、<spirit:wireTypeDef> で記述することにより、ポートのデータ型を定義することもできます。

  4. TLM ポートを Simulink 入力または出力にマッピングすることを定義するには、<spirit:vendorExtension> <spirit:parameters> <spirit:parameter> タグ内の名前と値のペア MWMapInput または MWMapOutput を指定します。

この画像はポートへのマッピングの例を示しています。

関連するトピック

外部の Web サイト