前述のように、
Simulink®
で固定小数点型はサポートされていますが、Fixed-Point Designer™ 製品が必要となります。また、Model Composer でサポートされる fixed
データ型は Simulink のものと互換性がありません。
Model Composer の固定小数点型を表示するのに使用されるフォーマットは x_[u/s]fix[wl]_E[n][fl]
です。
-
x_
: ザイリンクスの固定小数点型を示す接頭辞。 -
[u/s]
: 符号なしか符号付きかを示します。 -
fix
: 固定小数点型であることを示します。 -
[wl]
: データのワード長を指定します。 -
E
: 固定小数点型の小数部の接頭辞。小数部の長さが 0 の場合は表示されません。 -
n
: 2 進数小数点がワードの最下位ビットの左にある場合は n を表記し、最下位ビットの右にある場合は n は表記しません。 -
[fl]
: 固定小数点型の小数部の長さを指定し、ワードの最下位ビットに対する 2 進数小数点の位置を示します。
たとえば、x_sfix16_En6
は符号付き 16 ビットの固定小数点で、2 進小数点の右側に 6 ビットが割り当てられています。
また、固定小数点型では、データ オーバーフローが発生した場合の処理、丸めまたは切り捨ての有無も指定できます。詳細は、Data Type Conversion を参照してください。
- ライブラリ ブラウザーの HLS ライブラリにある DTC ブロックを使用して、Model Composer の固定小数点型を
double
型に変換します。 - ライブラリ ブラウザーから Simulink Signal Attributes ライブラリにある Simulink Data Type Conversion ブロックを使用して、
double
型を Simulink フォーマットの固定小数点型に変換します。 - 2 つの固定小数点型の符号の有無、ワード長、小数長を同じにします。
固定小数点型の操作には時間がかかりますが、FPGA にインプリメントするアプリケーションには固定小数点型を使用する価値があります。これは通常、浮動小数点で設計した方がデザインの消費電力が大きくなるからです。FPGA には浮動小数点の DSP ブロックが搭載されており、DSP ブロックとその他のデバイス リソースを使用して浮動小数点ソリューションをインプリメントする必要があるので、消費電力が大きくなります。浮動小数点のインプリメンテーションには、同等の固定小数点のソリューションよりも多くの FPGA リソースが必要になります。リソース使用量が多くなると、消費電力も大きくなるので、デザインのインプリメンテーションの全体的なコストも高くなります。詳細は、ホワイト ペーパー 『浮動小数点から固定小数点への変換による消費電力およびコストの削減』 (WP491: 英語版、日本語版) を参照してください。