Diary/2022-6-25
a2i
@t3840のQTでIBM Open Sourced the core to Blue Gene/Q...を知ったのでビルドしてみた.
ビルドにはVivadoは2019.1.3を利用する.
まずは使用するIPコアをそれぞれビルド.各コアのディレクトリの下のreadme.mdに従う.
cd rel/build mkdir ip_repo cd ip_user # cd a2x_axi vivado -mode batch -source tcl/create_ip_a2x_axi.tcl cp -r a2x_axi ../../ip_repo cd .. # cd a2x_axi_reg vivado -mode batch -source tcl/create_ip_a2x_axi_reg.tcl cp -r a2x_axi_reg ../../ip_repo cd .. # cd a2x_dbug vivado -mode batch -source tcl/create_ip_a2x_dbug.tcl cp -r a2x_dbug ../../ip_repo cd .. # cd a2x_reset vivado -mode batch -source tcl/create_ip_a2x_reset.tcl cp -r a2x_reset ../../ip_repo cd .. # cd reverserator_3 vivado -mode batch -source ./create_ip.tcl cp -r reverserator_3 ../../ip_repo cd .. # cd reverserator_4 vivado -mode batch -source ./create_ip.tcl cp -r reverserator_4 ../../ip_repo cd .. # cd reverserator_32 vivado -mode batch -source ./create_ip.tcl cp -r reverserator_32 ../../ip_repo cd .. # cd reverserator_64/ vivado -mode batch -source ./create_ip.tcl cp -r reverserator_64 ../../ip_repo cd .. cd ..
で,全体のビルドをするためのプロジェクトを作成して開く,
cd a2x vivado -mode batch -source ./create_a2x_project.tcl vivado proj/proj_a2x_axi.prj
開いたら,
source ./fixup_a2x_bd.tcl
でBDを整形して,Run Synthesisをクリックして合成開始.40分くらいかかった.
Open Synthesized Designで合成したデザインを開いたあと,Tcl Consoleで,
source ./fixup_a2x_bd.tcl
として,Set up Debugをクリック,全部有効にしてダイアログを閉じる.
で,Ctrl-Sでデバッグ情報を保存したら,最後に,tcl consoleで,
source ./a2x_impl_step.tcl
として配置配線を実行.このスクリプトの中身は,
#synth_design -top a2x_axi_bd_wrapper -part xcvu3p-ffvc1517-2-e -verbose #source ila_axi.tcl set version v0 write_checkpoint -force a2x_axi_synth_${version}.dcp opt_design -retarget -propconst -bram_power_opt place_design -directive Explore phys_opt_design -directive Explore route_design -directive Explore phys_opt_design -directive Explore write_checkpoint -force a2x_axi_routed_${version}.dcp report_utilization -file utilization_route_design_${version}.rpt report_timing_summary -max_paths 100 -file timing_routed_summary_${version}.rpt write_bitstream -force -bin_file a2x_axi_${version} write_debug_probes -force a2x_axi_${version} write_cfgmem -force -format BIN -interface SPIx8 -size 256 -loadbit "up 0 a2x_axi_${version}.bit" a2x_axi_${version}
となっている.バージョンをサフィックスに付けたbitファイルを作ってるの面白いな.
とりあえずビルドできることは分かった.リソース使用量はCLBが32995,BRAMが475だった.
Alveoにでも移植してみるか?