インテル®高位合成 (HLS) コンパイラー プロ・エディション: ベスト・プラクティス・ガイド

ID 683152
日付 12/16/2019
Public
ドキュメント目次

7. データ型のベスト・プラクティス

コンポーネントのデータ型や、データ型が受ける可能性のある変換またはキャストは、コンポーネントのパフォーマンスやFPGA領域の使用に大きく影響する可能性があります。データ型のベスト・プラクティスでは、コンポーネントのサイズや変換を制御するための最適な方法についてのヒントとガイダンスが確認できます。

デザインのアルゴリズムのボトルネックを最適化した後、コンポーネント内の一部のデータ型を微調整することができます。このためには、任意の精度のデータ型を使用して、データ幅を縮小します。 インテル®HLSコンパイラー プロ・エディションのデバッグ機能では、任意の精度データ型のオーバーフローを簡単に検出することができます。

C++では、shortchar などの小さいデータ型を32ビットに自動昇格させ、加算やビットシフトなどの操作に使用します。このため、コンポーネント内に狭いデータパスを作成する場合は、任意の精度のデータ型を使用してください。

データ型のベスト・プラクティスに関するチュートリアル

インテル®HLSコンパイラー プロ・エディションに付属している多数のチュートリアルでは、 インテル®HLSコンパイラーの重要な概念や優れたコーディング・プラクティスを示しています。

次のチュートリアルでは、デザインに適用できる可能性のあるデータ型のベスト・プラクティスを確認できます。
チュートリアル 内容
この表のチュートリアルは、 インテル® Quartus® Primeシステム内の次の場所にあります。
<quartus_installdir>/hls/examples/tutorials
best_practices/ac_datatypes int データ型の代わりに ac_int データ型を使用した場合の効果について示します。
ac_datatypes/ac_fixed_constructor ac_fixed コンストラクターの使用例を示します。ここでは、より優れたQoRを得るために、コーディング・スタイルのわずかな相違を使用します。
ac_datatypes/ac_int_basic_ops ac_int クラスで使用可能な演算子を示します。
ac_datatypes/ac_int_overflow DEBUG_AC_INT_WARNING および DEBUG_AC_INT_ERROR キーワードの使用方法を示します。これは、エミュレーション・ランタイム中のオーバーフローの検出に役立ちます。
best_practices/single_vs_double_precision_math 倍精度リテラルと関数の代わりに、単精度リテラルと関数を使用した場合の効果を示します。