このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ネイティブ浮動小数点を使用してサポートされる Simulink ブロック
HDL Coder™ のネイティブ浮動小数点によって、ターゲットに依存しない HDL コードを浮動小数点設計から生成できます。汎用 FPGA または ASIC で浮動小数点設計を合成できます。浮動小数点設計では、固定小数点設計に比べて、精度が向上し、ダイナミック レンジが高くなり、開発サイクルが短縮されます。設計に複雑な算術演算および三角関数演算がある場合は、ネイティブ浮動小数点テクノロジーを使用します。
HDL Coder では、Math ブロックと Trigonometric ブロックを含むいくつかの Simulink® ブロックをネイティブ浮動小数点テクノロジーを使用してサポートしています。
HDL Floating Point Operations ライブラリ
[HDL Floating Point Operations] ライブラリでは、データ型が single
と double
のブロックが HDL Coder の Native Floating Point
モードでサポートされます。Discrete-Time Integrator や Discrete PID Controller などの特定のブロックには、ゼロ レイテンシ手法を使用します。
half
型を使用する場合、次のブロックは Native Floating Point
モードでサポートされます。
Math Operations ライブラリでサポートされる Simulink ブロック
Math Operations
ライブラリでは、次のブロックが HDL コード生成でサポートされます。
ブロック名 | 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 コード生成でサポートされます。
数学関数 | 浮動小数点データ型のサポート | 複素数データのサポート | ||
---|---|---|---|---|
half | single | double | ||
exp | いいえ | はい | いいえ | いいえ |
log | いいえ | はい | はい | いいえ |
10^u | いいえ | はい | いいえ | いいえ |
log10 | いいえ | はい | いいえ | いいえ |
magnitude^2 | いいえ | はい | はい | はい |
square | いいえ | はい | いいえ | はい |
pow | いいえ | はい | いいえ | いいえ |
conj | いいえ | はい | いいえ | はい |
reciprocal | はい | はい | はい | いいえ |
hypot | いいえ | はい | いいえ | いいえ |
rem | いいえ | はい | いいえ | いいえ |
mod | いいえ | はい | いいえ | いいえ |
transpose | はい | はい | はい | はい |
hermitian | いいえ | はい | いいえ | はい |
他のライブラリでサポートされる Simulink ブロック
次の表に、他の [HDL Coder] ブロック ライブラリでサポートされる HDL コード生成のブロックのリストを示します。
ブロック ライブラリ | half データ型のサポート | single データ型のサポート | double データ型のサポート |
---|---|---|---|
Discrete | サポートされるブロックには、同期ブロック、Integer Delay、Tapped Delay などの遅延ブロックのセットが含まれます。 | 以下のブロックがサポートされます。
| 以下のブロックがサポートされます。
|
HDL Operations | このライブラリのブロックはサポートされません。 | すべてのブロックがサポートされます。 | すべてのブロックがサポートされます。 |
HDL RAMs | このライブラリのブロックはサポートされません。 | すべてのブロックがサポートされます。 | すべてのブロックがサポートされます。 |
HDL Subsystems | すべてのブロックがサポートされます。 | すべてのブロックがサポートされます。 | すべてのブロックがサポートされます。 |
Logic and Bit Operations | 以下のブロックがサポートされます。
| すべてのブロックがサポートされます。 | すべてのブロックがサポートされます。 |
Lookup Tables | このライブラリのブロックはサポートされません。 | すべてのブロックがサポートされます。 | すべてのブロックがサポートされます。 |
Model Verification | このライブラリのブロックはサポートされません。 | すべてのブロックがサポートされます。 | すべてのブロックがサポートされます。 |
Model-Wide Utilities | このライブラリのブロックはサポートされません。 | すべてのブロックがサポートされます。 | すべてのブロックがサポートされます。 |
Ports & Subsystems | イネーブル端子、リセット端子、入力端子、出力端子、モデル参照、およびサブシステム ブロックがサポートされます。 | イネーブル端子、リセット端子、入力端子、出力端子、モデル参照、およびサブシステム ブロックがサポートされます。 | イネーブル端子、リセット端子、入力端子、出力端子、モデル参照、およびサブシステム ブロックがサポートされます。 |
Signal Attributes | 以下のブロックがサポートされます。
| すべてのブロックがサポートされます。 | すべてのブロックがサポートされます。 |
Signal Routing | すべてのブロックがサポートされます。 | すべてのブロックがサポートされます。 | すべてのブロックがサポートされます。 |
Sources | Inport、Constant、および Ground の各ブロックがサポートされます。 | Inport、Constant、および Ground の各ブロックがサポートされます。 | Inport、Constant、および Ground の各ブロックがサポートされます。 |
Sinks | すべてのブロックがサポートされます。 | すべてのブロックがサポートされます。 | すべてのブロックがサポートされます。 |
User-Defined Functions | MATLAB Function ブロックがサポートされます。 | MATLAB Function ブロックがサポートされます。 | MATLAB Function ブロックがサポートされます。 |
Simulink ブロックの制限
ネイティブ浮動小数点モードでは、コード ジェネレーターは以下のブロックまたはブロック アーキテクチャをサポートしません。
Biquad Filter.
複素数入力の型をもつ Sum of Elements。
MATLAB System ブロック。
[Architecture] が
[Tree]
または[Linear]
に設定された複雑なモードの Dot Product。[Architecture] が
[Fully Parallel]
以外に設定された Discrete FIR Filter。Dead Zone および Dead Zone Dynamic。
Polar to Cartesian.
Data Type Conversion ブロックの場合:
[等価な値をもつ入力と出力] 設定で
[整数格納 (SI)]
モードがサポートされない。[整数オーバーフローで飽和] チェック ボックスをオフのままにしなければならない。