インテル® HLS コンパイラー

概要

インテル® HLS コンパイラーは、アンタイムド (untimed) C++ による入力をもとに、インテル® FPGA に最適化された製品レベル品質の Register Transfer Level (RTL) コードを生成する、高位合成 (HLS) ツールです。FPGA ハードウェア・デザインの抽象化レベルを RTL から引き上げることで、検証の時間を短縮します。一般に、C++ で開発されたモデルは RTL よりもはるかに検証が高速になります。

インテル® HLS コンパイラーはインテル® Quartus® Prime 開発ソフトウェアのインストールに含まれています。

今すぐダウンロード

インテル® HLS コンパイラーの導入事例

Horizon Robotics ではインテルと連携して AI アプリケーションを開発しています。3D セマンティック・モデリングと位置推定のピクセルレベルのリアルタイム・セグメンテーションにおいて、インテル® Arria® 10 FPGA とインテル® HLS コンパイラーがどのように活用されているかを紹介します。

機能

インテル® Quartus® Prime 開発ソフトウェア向けインテル® HLS コンパイラーには、ハードウェア・プログラマーが C++ を使用して FPGA 開発プロセスを迅速化するための多彩な機能が用意されています。

  • ゴールデン・デザイン・ソースとしてアンタイムド (untimed) ANSI C++ を使用
  • 高位のディレクティブにより複数のアーキテクチャーを素早く探索可能
  • 高位の制約から設計の意図を推察することで、ツールの使用方法を簡素化
  • オリジナルの C++ ソースモデルとの比較による RTL の検証をサポート
  • プラットフォーム・デザイナー (旧 Qsys) を使用したシステム・インテグレーションに対応した、再利用可能な Intellectual Property (IP) を生成
  • ストリーミング、メモリーのマッピング、またはケーブルのインターフェイスの推定をサポート
  • インテル® FPGA 向けのデバイス固有のタイミングによるスケジュール最適化およびテクノロジー・マッピングを実行
  • ソフトウェア・コンパイラー使用モデルと ac_int データ型を含む業界標準をサポート
  • 全体像を把握できる詳細なレポート機能: シミュレーション段階で概要設計の HTML レポートを自動生成、設計内のボトルネックの確認が可能
  • 領域使用率、ループ構造、メモリー使用率、システムのデータフロー、クラスター、周辺ロジックの表示と分析
  • システムに IP を組み込む複数のフローに対応: HLS コードの組込みに、直接 HLD をインスタンス化する方法、プラットフォーム・デザイナーによる方法、インテル® プログラマブル・アクセラレーション・カード (インテル® PAC) に統合する方法を使用可能

20.1 の新機能


直感的に使いやすい開発環境

  • エリア利用とパディングが改善され、2 の累乗ではない深度のローカルメモリーの使用量を削減します。
  • ループ演算でのfMAX改善方法と、並列度を上げる方法を示す新しいチュートリアル。

パフォーマンスの向上

  • レポートおよびプラグマの機能追加により、ループ・フュージョンを細かく調整できるようになりました。複数のループを一つのループにマージすることで、スループットを改善し、エリアを削減できます。
  • ストール・イネーブル・クラスター・プラグマを有効にすることでFIFO のインスタンス化と関数間のレイテンシーを削減して、ローカルメモリー使用量を削減します。Pipe API によって、オンチップ間のデータ移動のための高速コネクターの配列を有効にします。

スタートガイド


ドキュメントとサポート


インテル® HLS コンパイラーに関する技術ドキュメント、ビデオ、トレーニング・コースを用意しています。