Example TCL Script To Extract Timing Information From A Report - Timing Report
Example TCL Script To Extract Timing Information From A Report - Timing Report
Advanced
Search
All
Content Sta
Use * and ? as 1
wildcard
(/apex/homePage?
returnParam=true)
Support Home(/apex/homePage)
Resources
Troubleshooting
Information(/apex/Coveo_CommunitySearch#t=TroubleshootingInformation&language=en)
FEEDBACK
> report_timing
+--------------------------------------------------------------
-+
| Instance | Arc | Cell | Delay | Arrival | Required
|
+--------------------------------------------------------------
-+
U
https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000000nUjXEAU&pageName=ArticleContent 1/5
12/29/21, 1:45 PM Example Tcl script to extract timing information from a report_timing report
Usage
To extract timing information from 'm' number of timing paths:
For example, to extract timing information for the worst timing path:
Setup: 0.332
Uncertainty:
0.000
+----------+--------------------------------+---------+-------+---
----+--------+----------+----------+
| instance |
+----------+--------------------------------+---------+-------+---
----+--------+----------+----------+
| u30 | u30/CK (rise)
| | 0.000 |
0.003 | 1 | | -0.300 |
| u30 | u30/CK (rise) -> u30/Q
(fall) | DFFHQX1 | 0.075 |
0.002 | 1 | 0.258 | -0.042 |
| u31 | u31/A (fall) -> u31/Y
(fall) | BUFXL | 0.064 |
0.003 | 1 | 8.700 | 8.658 |
| u32 | u32/D (fall)
| DFFHQX1 | 0.064 |
0.003 | | 0.000 | 8.658 |
#+----------+--------------------------------+---------+-------+-
------+--------+-----#-----+----------+
Code
Content of report_collection_path.tcl:
#*************************************************************************
# DISCLAIMER: The code is provided for Cadence customers
#
#
to use at their own risk. The code may require modification
to #
# satisfy the
requirements of any user. The code and any
modifications #
# to the code may
#*************************************************************************
endPointPtr [get_property $path capturing_point]
set
set endPointName [get_object_name $endPointPtr]
Puts "END POINT: $endPointName"
#
#
Report the setup, uncertainty, required time and slack for the path.
#
setup [get_property $path setup]
set
Puts ""
set uncertainty [get_property $path clock_uncertainty]
Puts "Uncertainty: $uncertainty"
set requiredTime [get_property $path required_time]
Puts "Required Time: $requiredTime"
set slack [get_property $path slack]
Puts "Slack: $slack"
Puts ""
#
#
Report details of the path by walking through each timing point. Note
the timing points are a collection.
#
# Store timing points collection to $timingPoints.
set timingPoints [get_property $path timing_points]
# Print header.
#
#
Walk through each timing point
#
#
Print timing information for each ouptut pin
#
if {$direction == "out"} {
if {$transition_type == "fall"} {
Puts "[format " | %8s | %6s (%4s) -> %6s (%4s) | %7s | %5s | %5s |
%6s | %8s | %8s |" $inst $prevPoint $prevTranType $pin $transition_type
$cell $slew $load $fanout $maxDelay $arrival]"
}
#
#
Print timing information for the first point
#
if {$pointNum == 1} {
set required [expr
$requiredTime - $arrival]
set load [get_property [get_nets $net] capacitance_max]
Puts "[format " | %8s | %6s (%4s) %17s| %7s | %5s | %5s | %6s |
%8s | %8s |" $inst $pin $transition_type "" "" $slew $load $fanout ""
$arrival]"
} else
{
#
set point1 $prevPoint
set point2 $pin
Attachments:
report_collection_path.tcl
(/sfc/servlet.shepherd/version/download/0680V0000065hFpQAI)
Related Solutions:
How to report the data path, launch clock path, and capture clock path delay of a timing path
(/apex/ArticleAttachmentPortal?id=a1Od0000000tQefEAE&pageName=ArticleContent)
This document:
Helped in learning
Resolved my query
Needs review
Submit Feedback
People who viewed this also viewed: You might be interested in:
Explanation of various terms reported in the Script to display a timing waveform from a timing
header section of report_timing output report(https://support.cadence.com/apex/Article
(/apex/ArticleAttachmentPortal? id=a1O3w00000ABB67EAH&pageName=Article
id=a1O0V000006Am5CUAS&pageName=Arti… Documents which may be similar to this docume
who viewed this also viewed) How to create a list of cells in a timing path?
https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000000nUjXEAU&pageName=ArticleContent 4/5
12/29/21, 1:45 PM Example Tcl script to extract timing information from a report_timing report
(https://support.cadence.com/apex/ArticleAttach
How to report logic depth, the number of id=a1Od0000000uahSEAQ&pageName=Article
buffers/inverters, path_cell_delay, cuments which may be similar to this document
path_net_delay, slack, and skew for timing path
The basics of using the Advanced Timing Tcl Sc
(/apex/ArticleAttachmentPortal?
Commands(https://support.cadence.com/apex/A
id=a1O3w000009xymOEAQ&pageName=Arti… id=a1Od0000000nUjoEAE&pageName=ArticleC
who viewed this also viewed) uments which may be similar to this document)
Yes, please !
Would you like to be notified whenever a new content is created for
Tempus?
https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000000nUjXEAU&pageName=ArticleContent 5/5