openFPGALoader/spiOverJtag/xilinx_spiOverJtag.tcl

83 lines
1.9 KiB
Tcl
Raw Normal View History

set parts [lindex $argv 0]
set project_name "spiOverJtag"
set build_path tmp_${parts}
file delete -force $build_path
# Project creation
set grade [dict create \
xc7a15tfgg484 -1 \
xc7a25tcpg238 -1 \
xc7a25tcsg325 -1 \
2021-04-20 21:28:14 +02:00
xc7a35tcpg236 -1 \
xc7a35tcsg324 -1 \
xc7a35tftg256 -1 \
xc7a50tcpg236 -2 \
2025-04-01 21:19:18 +02:00
xc7a50tcsg325 -2 \
xc7a75tfgg484 -2 \
xc7a100tfgg484 -2 \
xc7a200tsbg484 -1 \
xc7k70tfbg676 -1 \
xc7k160tffg676 -1 \
xc7k325tffg676 -1 \
xc7k325tffg900 -2 \
xc7s25csga225 -1 \
xc7s50csga324 -1 \
]
set pkg_name [dict create \
xc7a25tcpg238 xc7a_cpg238 \
xc7a25tcsg325 xc7a_csg325 \
2021-04-20 21:28:14 +02:00
xc7a35tcpg236 xc7a_cpg236 \
xc7a35tcsg324 xc7a_csg324 \
xc7a35tftg256 xc7a_ftg256 \
xc7a50tcpg236 xc7a_cpg236 \
2025-04-01 21:19:18 +02:00
xc7a50tcsg325 xc7a_csg325 \
xc7a15tfgg484 xc7a_fgg484 \
xc7a75tfgg484 xc7a_fgg484 \
xc7a100tfgg484 xc7a_fgg484 \
xc7a200tsbg484 xc7a_sbg484 \
xc7a200tfbg484 xc7a_fbg484 \
xc7k70tfbg676 xc7k_fbg676 \
xc7k160tffg676 xc7k_ffg676 \
xc7k325tffg676 xc7k_ffg676 \
xc7k325tffg900 xc7k_ffg900 \
xc7s25csga225 xc7s_csga225 \
xc7s50csga324 xc7s_csga324 \
]
set curr_grade [dict get $grade $parts]
set curr_pins [dict get $pkg_name $parts]
create_project $project_name $build_path -part ${parts}${curr_grade}
add_files -norecurse xilinx_spiOverJtag.vhd
add_files -norecurse -fileset constrs_1 constr_${curr_pins}.xdc
set_property VERILOG_DEFINE {TOOL_VIVADO} [current_fileset]
# set the current synth run
current_run -synthesis [get_runs synth_1]
reset_run synth_1
set obj [get_runs impl_1]
set_property AUTO_INCREMENTAL_CHECKPOINT 1 [get_runs impl_1]
set_property "needs_refresh" "1" $obj
# set the current impl run
current_run -implementation [get_runs impl_1]
puts "INFO: Project created: $project_name"
launch_runs synth_1 -jobs 4
wait_on_run synth_1
## do implementation
launch_runs impl_1 -jobs 4
wait_on_run impl_1
## make bit file
launch_runs impl_1 -jobs 4 -to_step write_bitstream
wait_on_run impl_1
exit