FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

自作RISC-V CPUコアのVivado論理合成環境構築

自作CPUコアの合成環境を構築しておく。すべてのシミュレーションが完了してから合成試行するのでは遅い気がするので、今のうちに構築しておこう。

以下のようなTclを構築してく。まだ制約ファイルとかは追加していない。とりあえず論理合成がPASSすることを確認したいだけだ。

2018.3を使用した。2020.3では文法がPassできない。ひどい。

set PROJ_NAME msrh_tile_wrapper
set PROJ_DIR .
set RTL_ROOT_DIR ../src
set TOP_NAME msrh_tile_wrapper

create_project -in_memory -part xc7z020clg484-1 $PROJ_NAME $PROJ_DIR
save_project_as -force $PROJ_NAME $PROJ_DIR/$PROJ_NAME.xpr

set_property parent.project_path ${PROJ_DIR}/${PROJ_NAME}.xpr [current_project]
set_property default_lib xil_defaultlib [current_project]
set_property target_language Verilog [current_project]
set_property board_part em.avnet.com:zed:part0:1.3 [current_project]
set_property vhdl_version vhdl_2k [current_fileset]

add_files -norecurse ../src/riscv64_pkg.sv
import_files ../src/riscv64_pkg.sv
add_files -norecurse ../src/msrh_standard_conf_pkg.sv
import_files ../src/msrh_standard_conf_pkg.sv

# add_files -norecurse $RTL_ROOT_DIR
source filelist.tcl
import_files

synth_design -top ${TOP_NAME} -part xc7z020clg484-1 -fanout_limit 10000 -flatten_hierarchy rebuilt
write_checkpoint -force ${TOP_NAME}.dcp
report_utilization -file ${TOP_NAME}_utilization_synth.rpt -pb ${TOP_NAME}_utilization_synth.pb
report_timing -file ${TOP_NAME}_timing_synth.rpt -pb ${TOP_NAME}_timing_synth.pb

exit

一応合成できることが確認できた。

f:id:msyksphinz:20210313002204p:plain