FPGA プログラミングの 3 つのパラダイム - 2023.2 日本語

Vitis 高位合成ユーザー ガイド (UG1399)

Document ID
UG1399
Release Date
2023-12-18
Version
2023.2 日本語

FPGA は、Verilog や VHDL などの下位レベルのハードウェア記述言語 (HDL) を使用してプログラミングできますが、現在では、C/C++ などの上位レベル言語で記述されたアルゴリズム記述を使用し、Verilog や VHDL などの下位レベルのハードウェア記述言語に変換できるいくつかの高位合成 (HLS) ツールがあります。これは、FPGA デバイスをプログラムするダウンストリーム ツールによって処理されます。

このようなフローの主な利点は、C/C++ などのプログラミング言語の利点を維持したままで効率的なコードを記述し、それをハードウェアに変換できることです。また、優れたコードを書くことはソフトウェア設計者の得意とするところなので、新しいハードウェア記述言語を習得するよりも簡単です。ただし、許容可能な QoR (結果の品質) を達成するには、HLS ツールが目的のパフォーマンス目標を達成できるようにソフトウェアを書き直すなどの追加作業が必要です。次のいくつかのセクションでは、プログラムを構成するマクロレベルのアーキテクチャ最適化を最初に特定し、パフォーマンス目標を高める詳細なマイクロレベルのアーキテクチャ最適化に焦点を当てる方法について説明します。