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

3 vues (au cours des 30 derniers jours)
晃平
晃平 le 11 Avr 2024
Commenté : 晃平 le 10 Juin 2024
S-Function をインライン化する方法は以下2点以外にありますでしょうか。
① S-Function ブロック用の「.tlc」ファイルを作成。 (完全にインライン化された S-Function )
②「.tlc」ファイル (ラッパーインライン S-Function) を生成する S-Function Builder を使用して S-Function をビルド。
また、作成したS-functionはアクセラレータで実行できるのでしょうか。
よろしくお願いいたします。

Réponse acceptée

covao
covao le 8 Juin 2024
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 commentaire
晃平
晃平 le 10 Juin 2024
ご丁寧にありがとうございました。
ためになりました。

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur ビッグ データの処理 dans Help Center et File Exchange

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!