メインコンテンツ

Simulink ブロックに対するネイティブ浮動小数点のサポート

HDL Coder™ のネイティブ浮動小数点を使用して、ターゲットに依存しない HDL コードを浮動小数点設計から生成できます。浮動小数点設計では、固定小数点設計に比べて、精度が向上し、ダイナミック レンジが高くなり、開発サイクルが短縮されます。設計に複雑な算術演算および三角関数演算がある場合は、ネイティブ浮動小数点テクノロジーを使用します。

このページでは、HDL Coder のネイティブ浮動小数点で使用できる Simulink® のブロックとパラメーター設定のリストを示します。

HDL Floating Point Operations ライブラリ

HDL Floating Point Operations ライブラリでは、データ型が singledouble のブロックが HDL Coder のネイティブ浮動小数点モードでサポートされます。Discrete-Time IntegratorDiscrete PID Controller などの特定のブロックには、ゼロ レイテンシ手法を使用します。

half 型を使用する場合は、次のブロックについて HDL Coder でネイティブ浮動小数点がサポートされます。

Math Operations ライブラリの Simulink ブロックに対するサポート

Math Operations ライブラリでは、次のブロックとデータ型について HDL Coder でネイティブ浮動小数点がサポートされます。

ブロック名half データ型のサポートsingle データ型のサポートdouble データ型のサポート 複素数データのサポート注意
Absはいはいはいはい 
Addはいはいはいはい 
Assignmentいいえはいはいはい 
Biasいいえはいはいはい 
Complex to Real-Imagいいえはいはいはい 
Divideはいはいはいいいえ 
Dot Productはいはいはいいいえ 
Gainはいはいはいはい 
MinMaxいいえはいはいいいえ 
Multiply-Addはいはいはいはい 
Productはいはいはいはい[乗算] ブロック パラメーターを [行列 (*)] に設定して行列の乗算を実行するようにブロックを設定する場合、[DotProductStrategy][Fully Parallel] に設定しなければなりません。
Product of Elementsはいはいはいはい 
Real-Imag to Complexいいえはいはいいいえ 
Reciprocal Sqrtいいえはいはいいいえ 
Reshapeはいはいはいはい 
Sqrtいいえはいはいいいえ 
Subtractはいはいはいはい 
Sumはいはいはいはい 
Sum of Elementsはいはいはいはい 
Trigonometric Functionいいえはいいいえいいえ 
Unary Minusはいはいはいはい 
Vector Concatenate, Matrix Concatenateはいはいはいはい 

Math Function ブロックの関数に対するサポート

Math Function ブロックでは、次の関数について HDL Coder でネイティブ浮動小数点がサポートされます。

数学関数浮動小数点のサポート複素数データのサポート
half データ型single データ型double データ型
exp いいえはいいいえいいえ
log いいえはいはいいいえ
10^u いいえはいいいえいいえ
log10 いいえはいいいえいいえ
magnitude^2 いいえはいはいはい
square いいえはいいいえはい
pow いいえはいいいえいいえ
conj いいえはいいいえはい
reciprocal はいはいはいいいえ
hypot いいえはいいいえいいえ
rem いいえはいいいえいいえ
mod いいえはいいいえいいえ
transpose はいはいはいはい
hermitian いいえはいいいえはい

他のライブラリの Simulink ブロックに対するサポート

次の HDL Coder ブロック ライブラリについて、HDL Coder でネイティブ浮動小数点がサポートされます。

ブロック ライブラリhalf データ型のサポートsingle データ型のサポートdouble データ型のサポート

Discrete

  • 同期ブロックなどの遅延ブロックのセット

  • Integer Delay

  • Tapped Delay

  • Zero Order Hold

  • 同期ブロック、Integer DelayTapped Delay などの遅延ブロックのセット。

  • Zero Order Hold

  • 同期ブロック、Integer DelayTapped Delay などの遅延ブロックのセット。

HDL Operations

このライブラリのブロックはサポートされません。

すべてのブロックがサポートされます。

すべてのブロックがサポートされます。

HDL RAMs

このライブラリのブロックはサポートされません。

すべてのブロックがサポートされます。

すべてのブロックがサポートされます。

HDL Subsystems

すべてのブロックがサポートされます。

すべてのブロックがサポートされます。

すべてのブロックがサポートされます。

Logic and Bit Operations

  • Compare to Constant

  • Relational Operator

  • Logical Operator

  • Detect Change

  • Detect Increase

  • Detect Decrease

すべてのブロックがサポートされます。

すべてのブロックがサポートされます。

Lookup Tables

このライブラリのブロックはサポートされません。

すべてのブロックがサポートされます。

すべてのブロックがサポートされます。

Model Verification

このライブラリのブロックはサポートされません。

すべてのブロックがサポートされます。

すべてのブロックがサポートされます。

Model-Wide Utilities

このライブラリのブロックはサポートされません。

すべてのブロックがサポートされます。

すべてのブロックがサポートされます。

Ports & Subsystems

  • イネーブル端子、リセット端子、入力端子、出力端子

  • モデル参照

  • サブシステム

  • イネーブル端子、リセット端子、入力端子、出力端子

  • モデル参照

  • サブシステム

  • イネーブル端子、リセット端子、入力端子、出力端子

  • モデル参照

  • サブシステム

Signal Attributes

  • Data Type Conversion

  • Data Type Duplicate

  • Rate Transition

  • Signal Specification

  • Signal Conversion

  • Bus to Vector

  • Probe

すべてのブロックがサポートされます。

すべてのブロックがサポートされます。

Signal Routing

すべてのブロックがサポートされます。

すべてのブロックがサポートされます。

すべてのブロックがサポートされます。

Sources

InportConstant、および Ground の各ブロック。

InportConstant、および Ground の各ブロック。

InportConstant、および Ground の各ブロック。

Sinks

すべてのブロックがサポートされます。

すべてのブロックがサポートされます。

すべてのブロックがサポートされます。

User-Defined Functions

MATLAB Function ブロック。

MATLAB Function ブロック。

MATLAB Function ブロック。

Stateflow チャートに対するサポート

HDL Coder のネイティブ浮動小数点モードでコードを生成する際、次のデータ型をもつ Stateflow® チャートがサポートされます。

  • 浮動小数点定数

  • 浮動小数点入力

  • 浮動小数点引数をもつ関数呼び出し

  • 浮動小数点算術演算

次のチャート タイプがサポートされます。

  • Classic チャート

  • Mealy チャート

  • 状態遷移表

  • 真理値表

  • 要件テーブル

条件付き遷移をもつ Stateflow チャートと Moore チャートはサポートされません。Stateflow チャートの条件付き遷移の詳細については、動作モード間の遷移 (Stateflow)を参照してください。

Simulink ブロックの制限

次のブロックまたはブロック アーキテクチャについては、HDL Coder でネイティブ浮動小数点がサポートされません。

  • [Architecture] パラメーターが [Tree] または [Linear] に設定された複素数値の入力または出力のデータをもつ Dot Product ブロック

  • Dead Zone ブロックと Dead Zone Dynamic ブロック

  • Polar to Cartesian ブロック

Data Type Conversion ブロックの場合:

  • [等価な値をもつ入力と出力] パラメーターを [整数格納 (SI)] に設定することはできない。

  • [整数オーバーフローで飽和] チェック ボックスをオフのままにしなければならない。

参考

モデリング ガイドライン

関数

トピック