Vitis HLS で [Export RTL] コマンドを実行すると、アクティブ ソリューションのフォルダーにある impl フォルダーに 出力が保存されます。
出力ファイルおよびフォルダーは、次のとおりです。
• component.xml: インターフェイスおよびアーキテクチャを 定義する IP コンポーネント ファイル。
• export.zip: IP およびその内容の ZIP アーカイブ。この ZIP ファイルは、Vivado IP カタログに直接追加できま す。
• export.xo: Vitis アプリケーション アクセラレーション開発フローで使用するためのコンパイル済みカーネル オブジェクト。
• impl/ip: ZIP ファイルから解凍された IP の内容。
• impl/ip/example: パッケージされた IP を生成する Tcl スクリプトと IP をエクスポートするシェル スクリプト を含むフォルダー。
• impl/report: 合成済みまたは配置配線済み IP のレポートを含むフォルダー。
• impl/verilog: Verilog 形式の RTL 出力ファイルを含むフォルダー。
• impl/vhdl: VHDL 形式の RTL 出力ファイルを含むフォルダー。
ヒント: [Vivado synthesis] または [Vivado synthesis, place, and route] オプションが選択されている場合、Vivado 合 成およびインプリメンテーションは Verilog または VHDL フォルダーで実行されます。その場合、このフォルダーに Vivado Design Suite で開くことができる project.xpr ファイルが含まれます。
重要: ザイリンクスでは、ユーザー独自の RTL 合成プロジェクトに verilog または vhdl フォルダーのファイルを 直接使用することはお勧めしません。ザイリンクスでは、その代わりにパッケージ済み IP 出力ファイルを使用する ことを勧めします。この注記の後の説明を参照してください。
浮動小数点のデザインなど、Vitis HLS でザイリンクス IP が使用される場合、RTL ディレクトリには RTL 合成中に IP を作成するためのスクリプトが含まれます。verilog または vhdl フォルダーのファイルをコピーして RTL 合成で 使用する場合、これらのフォルダー内にあるスクリプト ファイルを正しく使用することはユーザーの責任です。パッ ケージされた IP が使用される場合、このプロセスはザイリンクス ツールにより自動的に実行されます。Vitis HLS で C/RTL 協調シミュレーションが実行されていれば、Vivado プロジェクトに RTL テストベンチも含まれ、デザインを シミュレーションできます。
プロジェクトのアーカイブ
プロジェクトを作成し、RTL をエクスポートしたら、Vitis HLS プロジェクトを業界標準の ZIP ファイルにアーカイブ できます。[File] → [Archive Project] をクリックすると、次の図に示す [Archive Project] ダイアログ ボックスが表示さ れます。
図 39: [Archive Project] ダイアログ ボックス
[Archive Project] ダイアログボックスには、次の設定があります。
• [Archive Name]: 作成するアーカイブ ファイルの名前を指定します。
• [Active Solution Only]: アクティブ ソリューションのみを含めます。デフォルトでオンになっています。このオプ ションをオフにすると、現在のプロジェクトからのすべてのソリューションが含まれます。
• [Include Run Results]: デフォルトでは、アーカイブ ファイルにソース ファイルと制約のみが含まれます。このオ プションをオンにすると、アーカイブ ファイルにシミュレーションおよび合成の結果も含まれます。
コマンド ラインからの Vitis HLS の実行
Vitis HLS は、前述のように GUI から実行するか、コマンド ラインからインタラクティブに実行するか、Tcl スクリプ トからバッチ モードで実行できます。このセクションでは、ツールをインタラクティブに、またはバッチ モードで 実行する方法を説明します。
Vitis HLS をインタラクティブに実行
Vitis HLS を -i オプションを使用して起動すると、ツールがインタラクティブ モードで開きます。
$ vitis_hls -i
ツールをインタラクティブに実行すると、コマンドを入力するコマンド ライン プロンプトが表示されます。
vitis_hls>
help コマンドを使用すると、第 3 章: コマンド リファレンス に説明されているように、このモードで使用可能なコ マンドのリストが表示されます。
vitis_hls> help
各コマンドのヘルプを表示するには、help コマンドのオプションとしてコマンド名を指定します。たとえば、
add_files コマンドのヘルプを表示するには、次のコマンドを入力します。
vitis_hls> help add_files
Vitis HLS では、コマンドの入力中に Tab キーを押して、自動補完機能を使用できます。入力した文字に一致するコマ ンドまたはコマンド オプションが表示されます。さらに多くの文字を入力すると、選択肢を狭めることができます。
Vitis HLS を終了するには、exitまたはquitコマンドを入力します。
ヒント: Windows OS では、Vitis HLS コマンド プロンプトは Minimalist GNU for Windows (minGW) 環境を使用して インプリメントされています。この環境では、標準 Windows DOS コマンドと Linux コマンドのサブセットの両方 を使用できます。たとえば、ディレクトリの内容をリストするには、Linux のlsコマンドおよび DOS のdirコマ ンドの両方を使用できます。makefile の Linux パスは、minGW パスに変換されます。そのため、パス変換が発生し ないようにするため、すべての makefile ファイルでパス名をクォーテーションで囲む必要があります (例: FOO :=
":/")。
Vitis HLS のバッチ モードでの実行
Vitis HLS を起動するときに次のように Tcl スクリプトを指定すると、バッチ モードで実行できます。
vitis_hls -f tcl_script.tcl
指定した Tcl スクリプトに含まれるコマンドが記述された順に実行されます。Tcl スクリプトに exit または quit コ マンドを含めると、その時点でバッチプロセスが終了し、ツールが閉じます。Tcl スクリプトにexitコマンドが含 まれていない場合は、Vitis HLS でコマンド プロンプトが表示され、ツールをインタラクティブ モードで使用できま す。
GUI でプロジェクトを作成した場合の Tcl コマンドは、プロジェクトの solution/script.tcl ファイルに保存さ れます。このスクリプトを開始点として使用して、独自のバッチ スクリプトを作成できます。次に、スクリプトの例 を示します。
open_project dct set_top dct
add_files ../dct_src/dct.cpp
add_files tb ../dct_src/out.golden.dat cflags "Wnounknownpragmas" -csimflags "-Wno-unknown-pragmas"
add_files -tb ../dct_src/in.dat -cflags Wno-unknown-pragmas" -csimflags "-Wno-unknown-pragmas"
add_files tb ../dct_src/dct_test.cpp cflags "Wnounknownpragmas" -csimflags "-Wno-unknown-pragmas"
open_solution "solution1" -flow_target vitis set_part {xcvu11p-flga2577-1-e}
create_clock -period 10 -name default source "./dct/solution1/directives.tcl"
csim_design csynth_design cosim_design
export_design -format ip_catalog
Vivado HLS プロジェクトを Vitis HLS で開く場合は、-upgrade または -reset オプションを指定する必要がありま
す。
• -upgradeオプションを使用すると、Vivado HLS プロジェクトが Vitis HLS プロジェクトに変換されます。
• -reset オプションを使用すると、プロジェクトが初期状態に戻ります。
ヒント: open_project コマンドで -upgrade または -reset オプションを使用せずに Vitis HLS プロジェクトを 開こうとすると、エラーが返されます。