From dad163b6ac8756a30090e6f66f68a6024f1eed28 Mon Sep 17 00:00:00 2001 From: Phil Date: Fri, 8 May 2026 19:04:21 +0300 Subject: [PATCH] infra: update scripts to auto-upgrade ip --- scripts/vivado.mk | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/scripts/vivado.mk b/scripts/vivado.mk index ec67ca6..9869890 100644 --- a/scripts/vivado.mk +++ b/scripts/vivado.mk @@ -109,7 +109,27 @@ create_project.tcl: Makefile $(XCI_FILES) $(IP_TCL_FILES) echo "add_files -fileset constrs_1 $(XDC_FILES)" >> $@ for x in $(XCI_FILES); do echo "import_ip $$x" >> $@; done for x in $(IP_TCL_FILES); do echo "source $$x" >> $@; done + + echo 'set ips [get_ips -quiet *]' >> $@ + echo 'if {[llength $$ips] > 0} {' >> $@ + echo ' puts "INFO: Checking IP status..."' >> $@ + echo ' report_ip_status -file ip_status_before_upgrade.rpt' >> $@ + echo ' set locked_ips [get_ips -quiet -filter {IS_LOCKED == 1}]' >> $@ + echo ' if {[llength $$locked_ips] > 0} {' >> $@ + echo ' puts "INFO: Upgrading locked IP cores: $$locked_ips"' >> $@ + echo ' upgrade_ip $$locked_ips' >> $@ + echo ' }' >> $@ + echo ' set ip_files [get_files -quiet *.xci]' >> $@ + echo ' if {[llength $$ip_files] > 0} {' >> $@ + echo ' puts "INFO: Generating IP output products..."' >> $@ + echo ' generate_target all $$ip_files' >> $@ + echo ' export_ip_user_files -of_objects $$ip_files -no_script -sync -force -quiet' >> $@ + echo ' }' >> $@ + echo ' report_ip_status -file ip_status_after_upgrade.rpt' >> $@ + echo '}' >> $@ + for x in $(CONFIG_TCL_FILES); do echo "source $$x" >> $@; done + if [ -n "$(TB_FILES)" ]; then \ echo "add_files -fileset sim_1 defines.v $(TB_FILES)" >> $@; \ echo "set_property top $(SIM_TOP) [get_filesets sim_1]" >> $@; \