Main Content

cgsl_0204: Atomic Subsystem または Model ブロックに入るベクトル信号とバス信号

ID: タイトルcgsl_0204: Atomic Subsystem または Model ブロックに入るベクトル信号とバス信号
説明信号要素の一部が Atomic Subsystem または参照モデルに入るベクトル信号/バス信号を扱う場合、メモリの消費を最小限に抑えるため、以下の情報を使用して信号要素を選択してください。
A

Atomic Subsystem に入るベクトル信号/バス信号:

関数のパッケージ化: Non-reusable function

関数インターフェイス: void_void

 サブシステム外で選択された信号の結果サブシステム内で選択された信号の結果
バーチャル バスデータのコピーなしデータのコピーなし
非バーチャル バスデータのコピーなしデータのコピーなし
ベクトル関数で使用されるグローバルなブロック I/O 構造体にて選択した信号のコピーデータのコピーなし

関数のパッケージ化: Non-reusable function

関数インターフェイス: Allow arguments (Optimized)

 サブシステム外で選択された信号の結果サブシステム内で選択された信号の結果
バーチャル バスデータのコピーなし選択した信号のみ関数に渡される。データのコピーなし選択した信号のみ関数に渡される。
非バーチャル バスデータのコピーなし選択した信号のみ関数に渡される。データのコピーなしバスが丸ごと関数に渡される。
ベクトル関数に渡されたローカル変数にて選択した信号のコピー。データのコピーなしベクトルが丸ごと関数に渡される。

関数のパッケージ化: Reusable function

 サブシステム外で選択された信号の結果サブシステム内で選択された信号の結果
バーチャル バスデータのコピーなし選択した信号のみ関数に渡される。データのコピーなし選択した信号のみ関数に渡される。
非バーチャル バスデータのコピーなし選択した信号のみ関数に渡される。例 1 を参照。 データのコピーなしバスが丸ごと関数に渡される。
ベクトル関数に渡されたローカル変数にて選択した信号のコピー。データのコピーなしベクトルが丸ごと関数に渡される。

 
B

Model ブロックに入るバスまたはベクトル

 Model ブロック外で選択された信号の結果Model ブロック内で選択された信号の結果
バーチャル バスデータのコピーなし選択した信号のみ関数に渡される。

Inport ブロック パラメーターの [非バーチャル バスとして出力] が選択されている場合、データのコピーは発生しない。選択した信号のみ関数に渡される。

Inport ブロック パラメーターの [非バーチャル バスとして出力] の選択が解除されている場合、バス全体のコピーが関数に渡される。

非バーチャル バスデータのコピーなし選択した信号のみ関数に渡される。

Inport ブロック パラメーターの [非バーチャル バスとして出力] が選択されている場合、データのコピーは発生しない。選択した信号のみ関数に渡される。

Inport ブロック パラメーターの [非バーチャル バスとして出力] の選択が解除されている場合、バス全体のコピーが関数に渡される。例 2 を参照。

ベクトル関数に渡されたローカル変数にて選択した信号のコピー。データのコピーなしベクトルが丸ごと関数に渡される。

メモ:
  • Embedded Coder® の設定 (最適化など)、先行するブロック、信号ストレージ クラスにより、実際の結果は表と異なる場合があります。

  • バーチャル バスはグローバル データをサポートしていません。

  • サブシステムが Inline に設定されている場合、データのコピーは発生しません。

根拠A、BRAM、ROM、スタックの消費を最小限にする
最終更新R2016a

例 1: Atomic Subsystem に入る非バーチャル バス

  • 関数のパッケージ化: Reusable function

  • 選択: サブシステムの外で選択されたサブ信号

選択した信号のみ関数に渡される。

例 2: Model ブロックに入る非バーチャル バス

  • 最上位モデルごとに可能なインスタンスの総数 Multiple

  • 選択: 参照モデルの内部で選択されたサブ信号

メイン モデルのコードではデータのコピーは発生しない。モデル リファレンス関数にバスが丸ごと渡される。

モデル リファレンス関数のコード: