インテルのみ表示可能 — GUID: kzp1508549429833
Ixiasoft
5. メモリー・アーキテクチャーのベスト・プラクティス
インテル®HLS (高位合成) コンパイラーでは、コンポーネント内の効率的なメモリー・アーキテクチャー (メモリー幅、バンク数、ポート数など) を推測します。そのために インテル®HLS (高位合成) コンパイラーでは、アーキテクチャーをコンポーネントのメモリー・アクセス・パターンに適応させます。メモリー・アーキテクチャーのベスト・プラクティスでは、コンポーネントの最適なメモリー・アーキテクチャーをコンパイラーから得る方法を身に付けます。
ほとんどの場合、メモリー・アーキテクチャーを最適化するには、アクセスパターンを変更しますが、 インテル®HLSコンパイラー プロ・エディションを使用すると、メモリー・アーキテクチャーを制御することができます。
メモリー・アーキテクチャーのベスト・プラクティスに関するチュートリアル
インテル®HLSコンパイラー プロ・エディションに付属している多数のチュートリアルでは、 インテル®HLSコンパイラーの重要な概念や優れたコーディング・プラクティスを示しています。
次のチュートリアルでは、デザインに適用できる可能性のあるメモリー・アーキテクチャーのベスト・プラクティスを確認できます。
チュートリアル | 説明 |
---|---|
この表のチュートリアルは、 インテル® Quartus® Primeシステム内の次の場所にあります。<quartus_installdir>/hls/examples/tutorials/component_memories |
|
memory_bank_configuration | 次のメモリー属性を1つ以上使用して、各メモリーバンクのロード/ストアポートの数を制御し、コンポーネント領域の使用率、スループットを最適化する方法を示します。
|
memory_geometry | 各メモリーバンクのロード/ストアポートの数を制御し、コンポーネント領域の使用率、スループットを最適化する方法を示します。このためには、次のメモリー属性を1つ以上使用します。
|
memory_implementation | 変数または配列をレジスター、MLAB、またはRAMに実装する方法を示します。このためには、次のメモリー属性を使用します。
|
memory_merging | リソース使用率の改善方法を示します。このためには、2つのロジックメモリーを単一の物理メモリーとして実装します。そのためには、hls_merge メモリー属性を深さ方向または幅方向にマージさせます。 |
static_var_init | コンポーネント内のスタティックの初期化動作を制御する方法を示します。このためには、hls_init_on_reset または hls_init_on_powerup メモリー属性を使用します。 |
attributes_on_mm_slave_arg | メモリー属性を Avalon® Memory Mapped (MM) スレーブ引数に適用する方法を示します。 |
exceptions | メモリー属性を定数および構造体メンバーで使用する方法を示します。 |