トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

Diary/2022-6-25

a2i


@t3840のQTIBM 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にでも移植してみるか?