Skip to content

Commit

Permalink
Sort paths by slack; and check hold-timing slack
Browse files Browse the repository at this point in the history
  • Loading branch information
davidbiancolin committed Jul 15, 2020
1 parent f22f7ca commit d65ee3c
Showing 1 changed file with 8 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -311,18 +311,12 @@ if {$implement} {
##############################
# CL Post-Route Optimization
##############################
set SLACK [get_property SLACK [get_timing_paths]]
set SLACK [get_property -min SLACK [get_timing_paths -delay_type min_max]]
#Post-route phys_opt will not be run if slack is positive or greater than -200ps.
if {$route_phys_opt && $SLACK > -0.400 && $SLACK < 0} {
puts "\nAWS FPGA: ([clock format [clock seconds] -format %T]) - Running post-route optimization";
impl_step route_phys_opt_design $TOP $post_phys_options $post_phys_directive $post_phys_preHookTcl $post_phys_postHookTcl
}
# Check if slack has improved after physopt.
set SLACK [get_property SLACK [get_timing_paths]]
if {$SLACK < 0} {
puts "\nFATAL: Design did not meet timing requirements. Terminating.";
exit 3
}

##############################
# Final Implmentation Steps
Expand All @@ -347,6 +341,13 @@ if {$implement} {
# Generate debug probes file
write_debug_probes -force -no_partial_ltxfile -file $CL_DIR/build/checkpoints/${timestamp}.debug_probes.ltx

# Before proceeding, coarsely check if we meet timing otherwise exit
set SLACK [get_property -min SLACK [get_timing_paths -delay_type min_max]]
if {$SLACK < 0} {
puts "\nFATAL: Design did not meet timing requirements. Terminating.";
exit 3
}

close_project
}

Expand Down

0 comments on commit d65ee3c

Please sign in to comment.