- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!a2i
[@t3840のQT|https://twitter.com/t3840/status/1540332308820922368]で[IBM Open Sourced the core to Blue Gene/Q...|https://twitter.com/antonblanchard/status/1540286911863873536]を知ったのでビルドしてみた.
ビルドには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にでも移植してみるか?