はじめに
Vivado HLSプロジェクトのソースコードをVSCodeなどで開いて書いている時、ふと、ターミナルからコマンドを入力して高位合成やIP出力できたら開く画面が減って便利ではないかと思いました。
ここでは、ターミナル上でVivado HLSのTclプロンプトを起動し、コマンドで高位合成とIP出力までをまとめようと思います。ただし、プロジェクトは既存のプロジェクトを開くことを前提として、最初のプロジェクト作成はGUIで済ませていることを想定しています。
環境
以下に示すバージョンのVivado HLSが入っているマシンにリモート接続して使用しています。
- Vivado HLS 2019.2 (Linux版)
手順
XilinxのユーザガイドUG9021の「コマンドプロンプトとTclインターフェイスの使用」に簡単に記載されていました。
プロジェクトオープンからIP出力までのコマンドを順に並べておきます。
Tclプロンプト起動
インタラクティブモードというらしい。
ターミナルで以下のように入力すると起動する。
$ vivado_hls -i
これでTclコマンドを受け付けるようになります。
画面も、
vivado_hls >
となってコマンドを受け付けるようになっています。
プロジェクトとソリューションを開く
プロジェクトディレクトリの直上に移動します。
プロジェクト名が、hoge_projであれば、それが見えるところ。
vivado_hls > open_project hoge_proj
ソリューションを開きます。
以下の例では、solution1です。
vivado_hls > open_solution solution1
高位合成する
vivado_hls > csynth_design
これで高位合成が実施され、しばらく待つと完了して合成レポートなどがプロジェクトフォルダに生成されています。
IPとして書き出す
VivadoでIPとして呼び出すために書き出す場合は、以下のコマンドを使います。
いくつかオプションがありますが、詳細はコマンドのhelpを参照してください。
私はデフォルト設定のままで使えました。ここは所望の機能次第だと思います。
vivado_hls > export_design
コマンドを調べる
コマンド一覧はhelpと入力すると参照できます。
様々なコマンドが存在するようですので、普段GUIで設定していることがコマンドからできるかもしれません。
vivado_hls > help
また、各コマンドの詳細はhelpに続けてコマンド名を入れれば参照できます。
vivado_hls > help 調べたいコマンド
おわりに
ターミナルからVivado HLSの論理合成・IP出力までの一連のコマンドをまとめました。
Tclスクリプトを書けば色々自動化できそうですが、とりあえずこれでGUIを開かずに処理できそうです。