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에서 ビッグ データの処理에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!