Hi everyone, I am trying to get global timing reports for reg2mem, mem2reg, reg2icg , in2icg in primetime. So far, I have found a way to report the timing report belong to the listed paths.
However, I cannot find any option or way to report the WNS, TNS, and NUM like the report_global_timing (which are restrcited to only 4 paths) for the path I have listed. If anyone have any idea or solution, please help me out.
Thanks in advance.
That is the usual way to use primetime, you use the report_timing command and specify what paths or clock group you want. I do not recall a PrimeTime command to give you all paths of a specific set like you requested. You probably will have to write your own script.
This code comes from the PrimeTime Advanced Timing Analysis Guide. It is for generating a simple WNS/TNS for each clock group and then for the whole design. Perhaps it can help you as a starting point. There are other examples in the manual and in the scripts directory.
Code:
proc report_design_slack_information {} {
set design_tns 0
set design_wns 100000
set design_tps 0
foreach_in_collection group [get_path_groups *] {
set group_tns 0
set group_wns 100000
set group_tps 0
foreach_in_collection path [get_timing_paths -nworst 10000 \
-group $group] {
set slack [get_attribute $path slack]
if {$slack < $group_wns} {
set group_wns $slack
if {$slack < $design_wns} {
set design_wns $slack
}
}
if {$slack < 0.0} {
set group_tns [expr $group_tns + $slack]
} else {
set group_tps [expr $group_tps + $slack]
}
}
set design_tns [expr $design_tns + $group_tns]
set design_tps [expr $design_tps + $group_tps]
set group_name [get_attribute $group full_name]
echo [format "Group '%s' Worst Negative Slack : %g" $group_name $group_wns]
echo [format "Group '%s' Total Negative Slack : %g" $group_name $group_tns]
echo [format "Group '%s' Total Positive Slack : %g" $group_name $group_tps]
echo ""
}
echo “------------------------------------------”
echo [format "Design Worst Negative Slack : %g" $design_wns]
echo [format "Design Total Negative Slack : %g" $design_tns]
echo [format "Design Total Positive Slack : %g" $design_tps]
}