@@ -144,6 +144,10 @@ set_msg_config -id {DRC CKLD-2} -suppress
144
144
set_msg_config -id {DRC REQP-1853} -suppress
145
145
set_msg_config -id {Timing 38-436} -suppress
146
146
147
+ # Promote the following critical warnings to errors to prevent AGFI generation
148
+ # Design not completely routed
149
+ set_msg_config -id {Route 35-1} -new_severity " ERROR"
150
+
147
151
# Check that an email address has been set, else unset notify_via_sns
148
152
149
153
if {[string compare $notify_via_sns " 1" ] == 0} {
@@ -307,7 +311,7 @@ if {$implement} {
307
311
# #############################
308
312
# CL Post-Route Optimization
309
313
# #############################
310
- set SLACK [get_property SLACK [get_timing_paths]]
314
+ set SLACK [get_property -min SLACK [get_timing_paths -delay_type min_max ]]
311
315
# Post-route phys_opt will not be run if slack is positive or greater than -200ps.
312
316
if {$route_phys_opt && $SLACK > -0.400 && $SLACK < 0} {
313
317
puts " \n AWS FPGA: ([ clock format [clock seconds] -format %T]) - Running post-route optimization" ;
@@ -337,6 +341,13 @@ if {$implement} {
337
341
# Generate debug probes file
338
342
write_debug_probes -force -no_partial_ltxfile -file $CL_DIR /build/checkpoints/${timestamp} .debug_probes.ltx
339
343
344
+ # Before proceeding, coarsely check if we meet timing otherwise exit
345
+ set SLACK [get_property -min SLACK [get_timing_paths -delay_type min_max]]
346
+ if {$SLACK < 0} {
347
+ puts " \n FATAL: Design did not meet timing requirements. Terminating." ;
348
+ exit 3
349
+ }
350
+
340
351
close_project
341
352
}
342
353
0 commit comments