トップ 一覧 Farm 検索 ヘルプ RSS ログイン

Diary/2022-6-25の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!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にでも移植してみるか?