PrimeTime Report

PrimeTime reports

################################################################
# pt reports
# Owner:   Donghua Gu (donghua.gu@lsi.com)
# created: June 19 2011
# please don't change the report command and output file name
# reports will used by other scripts
################################################################
 
if {![info exists stage]}   { set stage postlayout }
if {![info exists mode]}    { set mode func }
if {![info exists corner]}  { set corner max }
if {![info exists rpt_dir]} {
  set rpt_dir ${stage}_${mode}_${corner}
}
if {![file isdirectory $rpt_dir]} {
  file mkdir ${rpt_dir}
} 
 
set rpt_prefix zgdh
set report_default_significant_digits 5
 
 
#check
check_timing -verbose                    > ${rpt_dir}/${rpt_prefix}_check_timing.rpt
check_power  -verbose                    > ${rpt_dir}/${rpt_prefix}_check_power.rpt
check_noise -nosplit -verbose            > ${rpt_dir}/${rpt_prefix}_check_noise.rpt
 
#annotated
report_annotated_parasitics              > ${rpt_dir}/${rpt_prefix}_annotated.rpt
report_annotated_parasitics -list_annotated \
                                         > ${rpt_dir}/${rpt_prefix}_annotated_list.rpt
 
report_case_analysis -all -nosplit       > ${rpt_dir}/${rpt_prefix}_case_analysis.rpt
 
#constraints
report_constraint                        > ${rpt_dir}/${rpt_prefix}_constraint.rpt
report_constraint -all_violators -nosplit \
                                         > ${rpt_dir}/${rpt_prefix}_constraint_all_vios.rpt
report_constraint -all_violators -nosplit \
                  -max_transition \
                                         > ${rpt_dir}/${rpt_prefix}_constraint_max_trans.rpt
report_constraint -all_violators -nosplit \
                  -max_transition \
                                         > ${rpt_dir}/${rpt_prefix}_constraint_max_cap.rpt
 
#timing
report_timing -delay max -input -net -max 5 -trans -nosplit  \
                                         > ${rpt_dir}/${rpt_prefix}_timing_setup_all.rpt
 
report_timing -delay min -input -net -max 5 -trans -nosplit  \
                                         > ${rpt_dir}/${rpt_prefix}_timing_hold_all.rpt
 
report_timing -delay min -input -net -trans -cap \
              -start_end_pair -nosplit -slack_lesser_than 0.0 \
              -significant_digits 5 -group reg2reg \
                                         > ${rpt_dir}/${rpt_prefix}_timing_hold_reg2reg_startend.rpt
 
report_timing -delay max -input -net -trans -cap \
              -start_end_pair -nosplit -slack_lesser_than 0.0 \
              -significant_digits 5 -group reg2reg \
                                         > ${rpt_dir}/${rpt_prefix}_timing_setup_reg2reg_startend.rpt
report_timing_derate -nosplit \
                                         > ${rpt_dir}/${rpt_prefix}_timing_derate.rpt
 
 
#clock
report_clock -nosplit                    > ${rpt_dir}/${rpt_prefix}_clock.rpt
report_clock -skew -nosplit              > ${rpt_dir}/${rpt_prefix}_clock_skew.rpt
 
#clock_timing
set clock_timing_types [ list skew  interclock_skew  latency \
                        transition  summary  fractional_gate_delay \
                        fractional_gate_delay_difference  \
                        interclock_fractional_gate_delay_difference \
                        ] 
foreach type $clock_timing_types {
  set ccmd "report_clock_timing -nosplit -derate -type $type > ${rpt_dir}/${rpt_prefix}_clock_timing_${type}.rpt"
  echo $ccmd; eval $ccmd
}
 
#qor
source /home/ztzx2110002v0/users/dongu/FDH1/sta/scripts/report_qor.tcl
 
report_qor > ${rpt_dir}/${rpt_prefix}_report_qor.rpt
 
#noise
#report_noise -slack_type height -nosplit -all_violators -verbose \
#                                         > ${rpt_dir}/${rpt_prefix}_noise_all_vios.rpt