2015-06-04 14:51:01 +00:00
|
|
|
|
2018-08-08 08:08:49 +00:00
|
|
|
report_timing -detail full_path -npaths 20 -setup -file timing_impl.log
|
|
|
|
report_timing -detail full_path -npaths 20 -hold -append -file timing_impl.log
|
|
|
|
report_timing -detail full_path -npaths 20 -recovery -append -file timing_impl.log
|
|
|
|
report_timing -detail full_path -npaths 20 -removal -append -file timing_impl.log
|
2015-06-12 19:14:56 +00:00
|
|
|
|
2015-06-04 14:51:01 +00:00
|
|
|
set worst_path [get_timing_paths -npaths 1 -setup]
|
|
|
|
foreach_in_collection path $worst_path {
|
|
|
|
set slack [get_path_info $path -slack]
|
|
|
|
}
|
|
|
|
|
|
|
|
if {$slack > 0} {
|
|
|
|
set worst_path [get_timing_paths -npaths 1 -hold]
|
|
|
|
foreach_in_collection path $worst_path {
|
|
|
|
set slack [get_path_info $path -slack]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-06-12 13:59:58 +00:00
|
|
|
if {$slack > 0} {
|
|
|
|
set worst_path [get_timing_paths -npaths 1 -recovery]
|
|
|
|
foreach_in_collection path $worst_path {
|
|
|
|
set slack [get_path_info $path -slack]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if {$slack > 0} {
|
|
|
|
set worst_path [get_timing_paths -npaths 1 -removal]
|
|
|
|
foreach_in_collection path $worst_path {
|
|
|
|
set slack [get_path_info $path -slack]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-06-04 14:51:01 +00:00
|
|
|
if {$slack < 0} {
|
2017-02-16 17:20:49 +00:00
|
|
|
set sof_files [glob *.sof]
|
2017-02-16 19:21:51 +00:00
|
|
|
foreach sof_file $sof_files {
|
2017-02-16 17:20:49 +00:00
|
|
|
set root_sof_file [file rootname $sof_file]
|
|
|
|
set new_sof_file [append root_sof_file "_timing.sof"]
|
|
|
|
file rename -force $sof_file $new_sof_file
|
|
|
|
}
|
2015-06-04 14:51:01 +00:00
|
|
|
return -code error [format "ERROR: Timing Constraints NOT met!"]
|
|
|
|
}
|