このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ネイティブ浮動小数点を使用してサポートされる 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 ブロックの制限
ネイティブ浮動小数点モードでは、コード ジェネレーターは以下のブロックまたはブロック アーキテクチャをサポートしません。
[Architecture] が
[Tree]または[Linear]に設定された複雑なモードの Dot Product。Dead Zone および Dead Zone Dynamic。
Polar to Cartesian.
Data Type Conversion ブロックの場合:
[等価な値をもつ入力と出力] 設定で
[整数格納 (SI)]モードがサポートされない。[整数オーバーフローで飽和] チェック ボックスをオフのままにしなければならない。