カーネル開発プロセスを開始する前に、高位合成 (HLS) の概念を理解しておく必要があります。HLS コンパイラは、C/C++ コードをデバイス ファブリックにマップ可能な RTL デザインに変換します。
HLS コンパイラには、標準的なソフトウェア コンパイラよりも多くの制限があります。たとえば、システム関数呼び出し、ダイナミック メモリ割り当て、再帰関数など、サポートされないコンストラクトがあります。詳細は、 『Vitis 高位合成ユーザー ガイド』 (UG1399) を参照してください。
より重要なのは、C/C++ ソース コードの構造が、生成されるハードウェア インプリメンテーションのパフォーマンスに大きく影響するということです。このガイドでは、アプリケーションのスループット目標を達成するような構造のコードを記述する方法を説明します。カーネルのプログラムの詳細は、C/C ++ カーネル を参照してください。