S-Function をインライン化する方法

3 次查看(过去 30 天)
晃平
晃平 2024-4-11
评论: 晃平 2024-6-10
S-Function をインライン化する方法は以下2点以外にありますでしょうか。
① S-Function ブロック用の「.tlc」ファイルを作成。 (完全にインライン化された S-Function )
②「.tlc」ファイル (ラッパーインライン S-Function) を生成する S-Function Builder を使用して S-Function をビルド。
また、作成したS-functionはアクセラレータで実行できるのでしょうか。
よろしくお願いいたします。

采纳的回答

covao
covao 2024-6-8
S-Functionインライン化の仕組みは複雑なため、整理します。
S-Functionには、以下の2つ実行方法があります。
  1. Simulinkモデルとしての直接実行
  2. Simulink Coderによるコード生成とビルドによる実行
このコード生成は以下のような目的で用いられます
  • アルゴリズムのコードを直接埋め込み、最適化された効率的なコード生成を行い、実行速度速くする
  • 組み込みシステムなどターゲットCPU向けのコード生成
S-Functionでは、テンプレートであるtlcファイルを用いてコード生成を行います。
以下に詳しい情報があります。
最適化を必要としなければ、アルゴリズム本体の関数コードはインライン化せず、ラッパーS-functionとして、S-functionとは別のソースコードファイル(*.c,*.h)などで関数を定義することもできます。
ラッパーS-functionを含めたコード生成可能なS-functionを作る方法について、以下に情報があります。
C MEX S-Functionのインライン化については、下記に情報があります
完全インライン化 S-Functionは、組み込みブロックとは区別のできない方法で、アルゴリズム (ブロック) を生成コードに組み込みむことで、最適化されたより効率的なコードを生成します。
以下に情報があります。
Simulinkのアクセラレータには、アクセラレータとラピッドアクセラレータの2つのモードがあり、アクセラレータは、通常のSimulinkとほぼ同様に実行できるものと考えられます。
ラピッドアクセラレータは、tlcファイルによるコード生成とビルドが行われるため、より制約が厳しくなります。
詳細は以下に情報があります。
  1 个评论
晃平
晃平 2024-6-10
ご丁寧にありがとうございました。
ためになりました。

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 S-Function 的更多信息

产品


版本

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!