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

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

2. コンポーネントのコーディングおよびコンパイルのベスト・プラクティス

コンポーネントの機能正確性を検証すると、コンポーネントのパフォーマンスおよび FPGA領域使用率を向上させることができます。コンポーネントのコーディングおよびコンパイルのベスト・プラクティスを身に着け、コンポーネントの最適化に最良のベスト・プラクティスを決定します。
コンポーネントの最適化について考える際は、ベスト・プラクティスの手法を次のエリアに適用します。おおよそ下記の順序で行います。また、デザイン例とチュートリアルが インテル®HLS (高位合成) コンパイラーで用意されていますので、手法を実装する方法について確認してください。
  • インターフェイスのベスト・プラクティス

    インテル®HLS (高位合成) コンパイラーを使用すると、コンポーネントでは、基本的なワイヤーからAvalon StreamingおよびAvalon Memory-Mapped Masterインターフェイスまでのさまざまなインターフェイスが使用できます。インターフェイスのベスト・プラクティスは、コンポーネントに適切なインターフェイスの選択やコンフィグレーションに役立ちます。

  • ループのベスト・プラクティス

    インテル®HLS (高位合成) コンパイラーでは、ループをパイプライン処理してスループットを向上させます。このループのベスト・プラクティスでは、ループを最適化してコンポーネントのパフォーマンスを向上させる手法を身に付けることができます。

  • メモリー・アーキテクチャーのベスト・プラクティス

    インテル®HLS (高位合成) コンパイラーでは、コンポーネント内の効率的なメモリー・アーキテクチャー (メモリー幅、バンク数、ポート数など) を推測します。そのために インテル®HLS (高位合成) コンパイラーでは、アーキテクチャーをコンポーネントのメモリー・アクセス・パターンに適応させます。メモリー・アーキテクチャーのベスト・プラクティスでは、コンポーネントの最適なメモリー・アーキテクチャーをコンパイラーから得る方法を身に付けます。

  • タスクのシステムのベスト・プラクティス

    HLSタスクのシステムをコンポーネントで使用すると、実装可能なさまざまなデザイン構造が可能になります。これには、複数のループの並列実行や負荷のかかる計算ブロックの共有などがあります。

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

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

  • 代替アルゴリズム

    インテル®HLS (高位合成) コンパイラーを使用すると、コンポーネントのコンパイルを迅速に行うことができ、コンポーネントのパフォーマンスと領域使用率に関する初期の見通しが得られます。この迅速さを利用して、より大規模なアルゴリズム変更を試し、その変更がコンポーネントのパフォーマンスに与える影響について確認します。