diff --git a/9_Firmware/9_2_FPGA/scripts/build17_production.tcl b/9_Firmware/9_2_FPGA/scripts/build17_production.tcl index ce4aa63..8d4fcbc 100644 --- a/9_Firmware/9_2_FPGA/scripts/build17_production.tcl +++ b/9_Firmware/9_2_FPGA/scripts/build17_production.tcl @@ -188,7 +188,7 @@ set impl_status [get_property STATUS [get_runs impl_1]] puts " Implementation status: $impl_status" puts " Implementation time: ${impl_elapsed}s ([expr {$impl_elapsed/60}]m [expr {$impl_elapsed%60}]s)" -if {![string match "*Complete*" $impl_status]} { +if {![string match "*Complete*" $impl_status] && ![string match "*write_bitstream*" $impl_status]} { puts "CRITICAL: IMPLEMENTATION FAILED: $impl_status" close_project exit 1 @@ -204,7 +204,10 @@ puts " Phase 3/5: Bitstream Generation" puts "================================================================" set bit_start [clock seconds] -launch_runs impl_1 -to_step write_bitstream -jobs 8 +# Handle case where Vivado auto-proceeds to write_bitstream after impl +if {[catch {launch_runs impl_1 -to_step write_bitstream -jobs 8} launch_err]} { + puts " Note: write_bitstream may already be in progress: $launch_err" +} wait_on_run impl_1 set bit_elapsed [expr {[clock seconds] - $bit_start}] puts " Bitstream time: ${bit_elapsed}s" @@ -294,7 +297,7 @@ report_cdc -details -file "${report_dir}/12_cdc.rpt" puts " [13/15] Log scan — see build17.log" # --- Additional reports --- -puts " [extra] Generating additional diagnostic reports..." +puts " \[extra\] Generating additional diagnostic reports..." # Check_timing for completeness report_exceptions -file "${report_dir}/13_exceptions.rpt" diff --git a/9_Firmware/9_2_FPGA/scripts/build18_production.tcl b/9_Firmware/9_2_FPGA/scripts/build18_production.tcl index fdd1a0f..0feef68 100644 --- a/9_Firmware/9_2_FPGA/scripts/build18_production.tcl +++ b/9_Firmware/9_2_FPGA/scripts/build18_production.tcl @@ -194,7 +194,7 @@ set impl_status [get_property STATUS [get_runs impl_1]] puts " Implementation status: $impl_status" puts " Implementation time: ${impl_elapsed}s ([expr {$impl_elapsed/60}]m [expr {$impl_elapsed%60}]s)" -if {![string match "*Complete*" $impl_status]} { +if {![string match "*Complete*" $impl_status] && ![string match "*write_bitstream*" $impl_status]} { puts "CRITICAL: IMPLEMENTATION FAILED: $impl_status" close_project exit 1 @@ -210,7 +210,10 @@ puts " Phase 3/5: Bitstream Generation" puts "================================================================" set bit_start [clock seconds] -launch_runs impl_1 -to_step write_bitstream -jobs 8 +# Handle case where Vivado auto-proceeds to write_bitstream after impl +if {[catch {launch_runs impl_1 -to_step write_bitstream -jobs 8} launch_err]} { + puts " Note: write_bitstream may already be in progress: $launch_err" +} wait_on_run impl_1 set bit_elapsed [expr {[clock seconds] - $bit_start}] puts " Bitstream time: ${bit_elapsed}s" @@ -300,7 +303,7 @@ report_cdc -details -file "${report_dir}/12_cdc.rpt" puts " [13/15] Log scan — see build18.log" # --- Additional reports --- -puts " [extra] Generating additional diagnostic reports..." +puts " \[extra\] Generating additional diagnostic reports..." # Check_timing for completeness # report_exceptions can fail in Vivado 2025.2 — wrap in catch diff --git a/9_Firmware/9_2_FPGA/scripts/build19_mmcm.tcl b/9_Firmware/9_2_FPGA/scripts/build19_mmcm.tcl index cd1dcf1..c20f2bb 100644 --- a/9_Firmware/9_2_FPGA/scripts/build19_mmcm.tcl +++ b/9_Firmware/9_2_FPGA/scripts/build19_mmcm.tcl @@ -186,7 +186,7 @@ set impl_status [get_property STATUS [get_runs impl_1]] puts " Implementation status: $impl_status" puts " Implementation time: ${impl_elapsed}s ([expr {$impl_elapsed/60}]m [expr {$impl_elapsed%60}]s)" -if {![string match "*Complete*" $impl_status]} { +if {![string match "*Complete*" $impl_status] && ![string match "*write_bitstream*" $impl_status]} { puts "CRITICAL: IMPLEMENTATION FAILED: $impl_status" close_project exit 1 @@ -202,7 +202,10 @@ puts " Phase 3/5: Bitstream Generation" puts "================================================================" set bit_start [clock seconds] -launch_runs impl_1 -to_step write_bitstream -jobs 8 +# Handle case where Vivado auto-proceeds to write_bitstream after impl +if {[catch {launch_runs impl_1 -to_step write_bitstream -jobs 8} launch_err]} { + puts " Note: write_bitstream may already be in progress: $launch_err" +} wait_on_run impl_1 set bit_elapsed [expr {[clock seconds] - $bit_start}] puts " Bitstream time: ${bit_elapsed}s" @@ -292,7 +295,7 @@ report_cdc -details -file "${report_dir}/12_cdc.rpt" puts " [13/15] Log scan — see build19.log" # --- Additional reports --- -puts " [extra] Generating additional diagnostic reports..." +puts " \[extra\] Generating additional diagnostic reports..." # report_exceptions can fail in Vivado 2025.2 — wrap in catch if {[catch {report_exceptions -file "${report_dir}/13_exceptions.rpt"} err]} { diff --git a/9_Firmware/9_2_FPGA/scripts/build20_mmcm_creg.tcl b/9_Firmware/9_2_FPGA/scripts/build20_mmcm_creg.tcl index 0971b8b..607c014 100644 --- a/9_Firmware/9_2_FPGA/scripts/build20_mmcm_creg.tcl +++ b/9_Firmware/9_2_FPGA/scripts/build20_mmcm_creg.tcl @@ -190,7 +190,7 @@ set impl_status [get_property STATUS [get_runs impl_1]] puts " Implementation status: $impl_status" puts " Implementation time: ${impl_elapsed}s ([expr {$impl_elapsed/60}]m [expr {$impl_elapsed%60}]s)" -if {![string match "*Complete*" $impl_status]} { +if {![string match "*Complete*" $impl_status] && ![string match "*write_bitstream*" $impl_status]} { puts "CRITICAL: IMPLEMENTATION FAILED: $impl_status" close_project exit 1 @@ -206,7 +206,10 @@ puts " Phase 3/5: Bitstream Generation" puts "================================================================" set bit_start [clock seconds] -launch_runs impl_1 -to_step write_bitstream -jobs 8 +# Handle case where Vivado auto-proceeds to write_bitstream after impl +if {[catch {launch_runs impl_1 -to_step write_bitstream -jobs 8} launch_err]} { + puts " Note: write_bitstream may already be in progress: $launch_err" +} wait_on_run impl_1 set bit_elapsed [expr {[clock seconds] - $bit_start}] puts " Bitstream time: ${bit_elapsed}s" @@ -296,7 +299,7 @@ report_cdc -details -file "${report_dir}/12_cdc.rpt" puts " [13/15] Log scan — see build20.log" # --- Additional reports --- -puts " [extra] Generating additional diagnostic reports..." +puts " \[extra\] Generating additional diagnostic reports..." # report_exceptions can fail in Vivado 2025.2 — wrap in catch if {[catch {report_exceptions -file "${report_dir}/13_exceptions.rpt"} err]} { diff --git a/9_Firmware/9_2_FPGA/scripts/build21_fft_e2e.tcl b/9_Firmware/9_2_FPGA/scripts/build21_fft_e2e.tcl index 510be04..2733bbd 100644 --- a/9_Firmware/9_2_FPGA/scripts/build21_fft_e2e.tcl +++ b/9_Firmware/9_2_FPGA/scripts/build21_fft_e2e.tcl @@ -196,7 +196,7 @@ set impl_status [get_property STATUS [get_runs impl_1]] puts " Implementation status: $impl_status" puts " Implementation time: ${impl_elapsed}s ([expr {$impl_elapsed/60}]m [expr {$impl_elapsed%60}]s)" -if {![string match "*Complete*" $impl_status]} { +if {![string match "*Complete*" $impl_status] && ![string match "*write_bitstream*" $impl_status]} { puts "CRITICAL: IMPLEMENTATION FAILED: $impl_status" close_project exit 1 @@ -212,7 +212,10 @@ puts " Phase 3/5: Bitstream Generation" puts "================================================================" set bit_start [clock seconds] -launch_runs impl_1 -to_step write_bitstream -jobs 8 +# Handle case where Vivado auto-proceeds to write_bitstream after impl +if {[catch {launch_runs impl_1 -to_step write_bitstream -jobs 8} launch_err]} { + puts " Note: write_bitstream may already be in progress: $launch_err" +} wait_on_run impl_1 set bit_elapsed [expr {[clock seconds] - $bit_start}] puts " Bitstream time: ${bit_elapsed}s" @@ -302,7 +305,7 @@ report_cdc -details -file "${report_dir}/12_cdc.rpt" puts " [13/15] Log scan — see build21.log" # --- Additional reports --- -puts " [extra] Generating additional diagnostic reports..." +puts " \[extra\] Generating additional diagnostic reports..." # report_exceptions can fail in Vivado 2025.2 — wrap in catch if {[catch {report_exceptions -file "${report_dir}/13_exceptions.rpt"} err]} {