最低限の設定ファイルを使って、Vivadoのコマンドラインからプロジェクト環境を再構築する場合の例です。
実行に必要なファイル
TclスクリプトファイルとRTL、SDK用のCソースがあれば、プロジェクト環境を再生成できます。VivadoのIPコアなどは、生成できるので不要です。
ファイル名 | 内容 |
sdk | プロジェクトデータ(Cソースファイル) |
rtl | Verilog RTL |
run.bat | Vivado実行バッチファイル(Windowsの場合) |
ip.tcl | IP Integrator用Tclスクリプト |
synth.tcl | 合成用Tclスクリプト |
implement.tcl | インプリメンテーション用Tclスクリプト |
bitgen.tcl | ビットデータ生成用Tclスクリプト |
load_fpga.tcl | ビットデータロード用Tclスクリプト |
launch_sdk.tcl | SDK起動用Tclスクリプト |
user_const.xdc | ピンアサインなどの制約情報 |
dont_touch.xdc | ドントタッチなどの制約情報 |
実行方法
Vivadoコマンドプロンプトからrun.batを実行すると、.bitが生成されます。run.batはTclスクリプトを順番に実行しているだけです。callを付けないと、バッチファイルが途中で終了してしまいました。今回は、合成用、インプリメンテーション用などでTclスクリプトを分割していますが、必ずしも分割する必要はありません。
call vivado -m64 -mode batch -source ip.tcl call vivado -m64 -mode batch -source synth.tcl call vivado -m64 -mode batch -source implement.tcl call vivado -m64 -mode batch -source bitgen.tcl
実行後、ディレクトリには.bitを含めて次のような大量のファイルが生成されます。
SDK環境の再構成
Cソースを含むプロジェクトディレクトリだけを用意しておけば、それ以外のデータは生成できます。例えば、*_hw_platform_0やstandalone_bsp_0といったファイルは生成できるの不要です。
この例の場合、ビットデータ生成後、sdkディレクトリには次のファイルが含まれています。zed_base_wrapper.hdfは、ビットデータ生成時に生成したファイルです。
まず、launch_sdk.tclでSDKを起動します。
vivado -m64 -mode batch -source launch_sdk.tcl
create_project -in_memory -part xc7z020clg484-1 launch_sdk -workspace ./sdk -hwspec ./sdk/zed_base_wrapper.hdf
*.hdfを指定してSDKを起動すると、*hw_platform0が自動的にワークスペースに追加されます。
次に、File->Board Support PackageでBSPを生成します。
表示されるウィンドウをデフォルトの設定で確定していくと、最終的にstandalone_bsp_0が生成されます。
次に、File->Importで既存のプロジェクトをインポートします。インポートウィンドウの、General->Existing Projects into Workspaceを選択してNextをクリックします。
“Select root directry”に既存プロジェクトのディレクトリを指定してFinishをクリックします。
ワークスペースに既存プロジェクトが追加されます。
既存プロジェクトが参照するBSP名が異なる場合は、プロジェクトを右クリックして表示されるChange Referenced BSPで変更します。この例の場合はstandalone_bsp_0に変更します。
Build ConfigurationのRelease/Debugの設定を確認後、Project->Build Allを実行すればバイナリを再生成できます。