Tuesday, January 06, 2009     Register | Login | Search | Contact Us
     

Many of you already received communications about the move of the Cadence user community into cadence.com. And many of you have already joined, with over 4000 registrations in the first two weeks.

The new Cadence Community enhances the ability of Cadence users to connect and collaborate. In addition to moving the community into cadence.com -- enabling single sign-on for community, Sourcelink and Cadence events -- the new site is organized around nine technology segments, giving you easy access to product information, training, forums and blogs. Some of the new features include:
  • Ability to respond to posts via e-mail
  • Technology-specific blogs
  • Latest Web 2.0 social networking capabilities
  • Public profile options
  • Private messaging
  • Friends lists
Visit the new Cadence Community today at www.cadence.com/community and join the discussions!

Registration note: Due to the scope of the enhancements and the new SSO registration system, we were not able to migrate existing cdnusers.org member accounts. So new registrations are required, but this enables a broader set of functionality we think you'll enjoy.

Forum note: Under the guidance of forum moderators, we have taken the 20+ cdnusers.org forums and consolidated them into 11 forums on the new site. Posts have been brought over so you can leverage that posting history. CDNusers forums will be set to read only starting 7/30, and cdnusers.org will be redirected to the new community on 8/4.

Best regards,
Mike and Tom

Michael A. Catrambone - Steering Committee Chairman
Distinguished Engineer
PCB/Mechanical
UTStarcom, Inc.

Tom Diederich
Cadence Community Manager
Home
Forums
Subject: CTE-TCL to get one timing path ?
Posting to forums is available to community members only.
Login or Register
Rate this topic:
   
Author Messages
aidans
Posts: 35
Online: User is Offline
5/27/2007 6:07 AM  
I  notice that in SOC Encounter CTE-TCL, get_timing can get the arrival time or the slack of one Pin,
since arrival time or slack time are concepts related timing path, I wonder How can we get the timing path by this kind of command. 

If we do can get the timing path in CTE-TCL,  then we can writes lot of useful scripts to fix timing.  One example is that we can evaluate each cell in one timing path,  how many timing path this cell are will affect? and find the bottleneck in this timing path.  this is more like the whatif timing analysis  by scripts.

Anyone can get me more reference on this topic?


ejm
Posts: 8
Online: User is Offline
8/01/2007 12:21 PM  
aidans,

What you want does exist. The CTE Tcl interface is moving towards a collections and object querying approach.
The new methodology is documented in the ETS Reference Manual under the chapter "Advanced Timing Tcl Scripting Commands".

The same commands are available in 6.1 and 6.2 SOCE releases. The new scripting chapter should be added to an upcoming 6.2
release of Encounter. In current releases, the Tcl scripting is supported at the Tcl prompt and via Tcl "source" - you may not
use these constructs directly in the .sdc file.

In a nutshell, the report_timing -collection command is used to generate a set of paths, which you can then iterate over and use other commands like get_property. Here is a sample snippet for a very simple report generator:


proc my_report_timing { args } {

# Create a collection of timing paths
#
set rptTimingCmd "report_timing -collection $args"
set timingPaths_C [eval $rptTimingCmd]

set pathNum 0

# Iterate over the set of paths, and process them one at-a-time

foreach_in_collection timingPath_C $timingPaths_C {

incr pathNum

# Some objects returned by get_property will themselves be collections, so
# additional processing is required to, for instance, get the name of a
# particular pin or port

# This section pulls "bannder/header" information about the path

set timingPts_C [get_property $timingPath_C timing_points]
set startPoint [query_objects [get_property $timingPath_C launching_point]]
set endPoint [query_objects [get_property $timingPath_C capturing_point]]
set launchClk [query_objects [get_property $timingPath_C launching_clock]]
set captureClk [query_objects [get_property $timingPath_C capturing_clock]]
set launchClkEdge [get_property $timingPath_C launching_clock_open_edge_type]
set captureClkEdge [get_property $timingPath_C capturing_clock_close_edge_type]

puts "\n"
puts "Path $pathNum"
puts "\t Startpoint: $startPoint launched by $launchClk $launchClkEdge"
puts "\t Endpoint: $endPoint latched by $captureClk $captureClkEdge"


# This section iterates over the pins/ports for a specific path and prints
# out the pin name and the edge of the transition
#

foreach_in_collection point_C $timingPts_C {
set pin [get_property [get_property $point_C pin] hierarchical_name]
set pinEdge [get_property $point_C transition_type]
puts "$pin \t $pinEdge"
}

}
}


Example:

encounter 34> my_report_timing -max_paths 2


Path 1
Startpoint: in launched by PH1 rise
Endpoint: RS/D latched by PH1 rise
in fall
U0/A fall
U0/Y fall
U00/A fall
U00/Y fall
U01/A fall
U01/Y fall
RS/D fall


Path 2
Startpoint: in launched by PH1 rise
Endpoint: RS/D latched by PH1 rise
in rise
U0/A rise
U0/Y rise
U00/A rise
U00/Y rise
U01/A rise
U01/Y rise
RS/D rise
Posting to forums is available to community members only.
Login or Register

Forums > Digital IC > Floorplanning, Place and route > CTE-TCL to get one timing path ?


ActiveForums 3.6
     
Copyright 2006 Cadence Design Systems, Inc.