Main Content

ターゲット アーキテクチャの指定

同時実行用に構成されるモデルでは、モデルを展開するアーキテクチャを選択できます。Simulink® で事前定義されたアーキテクチャのセットから選択するか、カスタム アーキテクチャのインターフェイスを作成できます。アーキテクチャを選択したら、明示的な分割を使用して実行するタスクを指定できます。詳細については、明示的な分割を使用したモデルの分割を参照してください。

事前定義されたアーキテクチャからの選択

Simulink で利用できる事前定義されたアーキテクチャから選択することも、利用可能なさまざまなアーキテクチャのサポート パッケージをダウンロードすることもできます。

  1. [同時実行] ダイアログ ボックスの [同時実行] ペインで、[選択] をクリックします。同時実行ターゲット アーキテクチャ セレクターが表示されます。

  2. ターゲットを選択します。

    プロパティ説明

    Multicore

    複数のコアをもつ単一の CPU。

    Sample Architecture

    複数のコアと 2 つの FPGA をもつ単一の CPU。

    Get more ...

    [OK] をクリックして、サポート パッケージ インストーラーを起動します。リストから、ターゲットを選択し、指示に従います。

  3. [ターゲット アーキテクチャ] ウィンドウで、[Preserve compatible properties] チェック ボックスをオフにして、既存のターゲット プロパティ設定を既定値にリセットします。または、[Preserve compatible properties] チェック ボックスをオンにして、既存のターゲット プロパティ設定を維持します。

  4. [OK] をクリックします。

    Simulink は対応するソフトウェア ノードとハードウェア ノードをコンフィギュレーション ツリー階層に追加します。たとえば、以下は、[Sample architecture] をターゲット アーキテクチャとして選択した場合にコンフィギュレーション ツリーに追加される 1 つのソフトウェア ノードと 2 つのハードウェア ノードの例を示しています。

    Concurrent Execution tool.

カスタム アーキテクチャ ファイルの定義

カスタム アーキテクチャ ファイルは、タスクとトリガーのカスタム ターゲット プロパティを定義できる XML ファイルです。たとえば、スレッド API を表すカスタム プロパティを定義できます。スレッド API は、ターゲット プロセッサで同時実行性を利用するために必要です。

以下は、サンプルのカスタム アーカイブ ファイルです。

<architecture brief="Multicore with custom threading API"
              format="1.1"  revision="1.1"
              uuid="MulticoreCustomAPI"  name="MulticoreCustomAPI">
<configurationSet> 
     <parameter name="SystemTargetFile" value="ert.tlc"/> 
     <parameter name="SystemTargetFile" value="grt.tlc"/> 
</configurationSet>          
<node name="MulticoreProcessor" type="SoftwareNode" uuid="MulticoreProcessor"/>
<template name="CustomTask" type="Task" uuid="CustomTask">
     <property name="affinity" prompt="Affinity:" value="1" evaluate="true"/>
     <property name="schedulingPolicy" prompt="Scheduling policy:" value="Rate-monotonic">
           <allowedValue>Rate-monotonic</allowedValue>
           <allowedValue>Round-robin</allowedValue>
        </property>
   </template>
</architecture>

アーキテクチャ ファイルには以下を含めなければなりません。

  • Simulink がアーキテクチャを特定するために使用する基本情報を定義するアーキテクチャ要素。

  • このアーキテクチャが有効なシステム ターゲット ファイルを一覧表示する configurationSet 要素。

  • Simulink でマルチコア処理要素を特定するために使用する 1 つのノード要素。

    メモ

    アーキテクチャには、マルチコア処理要素を特定する 1 つのノード要素のみ含めなければなりません。複数の処理要素を特定する複数のノードまたはマルチコア処理要素のないアーキテクチャは作成できません。

  • タスクおよびトリガーのカスタム プロパティをリストする 1 つ以上のテンプレート要素。

    • タイプ属性は TaskPeriodicTrigger または AperiodicTrigger にすることができます。

    • 各プロパティは編集可能で、value 属性で指定された既定値をもちます。

    • 各プロパティは、テキスト ボックス、チェック ボックスまたはコンボ ボックスにすることができます。チェック ボックスは、value 属性を on または off に設定できるプロパティです。コンボ ボックスは、allowedValue 要素をプロパティの一部としてオプションでリストできるプロパティです。

    • 各テキスト ボックスのプロパティは、オプションで evaluate 属性も定義できます。これにより、MATLAB® 変数名をプロパティの値として配置できます。

    C:\custom_arch.xml にカスタム ターゲット アーキテクチャ ファイルを保存した場合、このファイルは関数 Simulink.architecture.register を使用して Simulink に登録します。

次に例を示します。

  1. リストされている XML ファイルのコンテンツを custom_arch.xml に保存します。

  2. MATLAB コマンド ウィンドウで以下のように入力します。

    Simulink.architecture.register('custom_arch.xml') 
  3. MATLAB コマンド ウィンドウで以下のように入力します。

    openExample('slexMulticoreSolverExample')
  4. Simulink エディターで、[コンフィギュレーション パラメーター][ソルバー] ペインを開き、[タスクの構成] をクリックします。[同時実行] ダイアログ ボックスが表示されます。

  5. [同時実行] ペインで、[ターゲット アーキテクチャ][選択...] をクリックします。[ターゲット アーキテクチャ] ウィンドウが表示されます。

  6. [MulticoreCustomAPI] を選択し、[OK] をクリックします。

[同時実行] ダイアログ ボックスが更新されて、表示されているタスクのコード生成プロパティが含まれます。これらは、XML ファイルで定義されたプロパティです。

Concurrent Execution tool highlighting the custom code generation properties for a task.

関連するトピック