• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Digital Implementation
  3. 2 new questions

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 90
  • Views 13021
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

2 new questions

archive
archive over 17 years ago

hi, all:

I have 2 new questions,

1. following is a script to get all the timing paths in SOCE after buildTimingGraph, but is doesn't work, pls help me! The bold characters is the main command.

proc getDesignPath { } {
 set FILE [open list.tmp w]
 dbForEachHeadPath [dbgHead] dpath {
  set type [dbObjType $dpath]
  if { $type == "dbcObjPath" } {
   puts $FILE "Path: [dbPathId $dpath]"
   dbForEachPathTerm $dpath termPtr {
    if { [dbObjType $termPtr] == "dbcObjTerm" } {
     set instPtr [dbTermInst $termPtr]
     puts $FILE "[dbInstName $instPtr]/[dbTermName $termPtr]"
    } else {
     puts $FILE "[dbFTermName $termPtr]"
    }
   }
  }
 }
 close $FILE
}

2. How to get all the via cells in SOCE, that means to get all the via definitions in LEF tech file within SOCE.

Thanks!


Originally posted in cdnusers.org by eminemshow
  • Cancel
  • archive
    archive over 17 years ago

    For item 1, there was a good posting on this topic in this forum entitled: "CTE-TCL to get one timing path?"
    http://www.cdnusers.org/Forums/tabid/52/forumid/19/postid/4253/view/topic/Default.aspx

    As discussed in that thread, the CTE-TCL interface's collection mechanism (ie, "report_timing -collection") returns a collection for all the timing paths reported. Once you have the paths captured as collections, you can use the "timing_points" associated with that collection to get the instances and terminals that you're seeking to get in your example code above.

    Here's an example that's more aligned with what you're trying to do I believe:

    foreach_in_collection timing_point [get_property [report_timing -collection] timing_points] {
    puts "[report_property [get_property $timing_point pin]]"
    }

    I have a hunch that dbForEachHeadPath only works with the FE timer, and as you're probably aware the tool is using the CTE timer going forward.

    For item 2, I'm not aware of a public command available that does what you're asking. I'll post again if I come across additional information that would be useful.

    Hope this helps,
    Bob


    Originally posted in cdnusers.org by BobD
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Thanks! Bob, that post really helps! I will also post if I get further progress.


    Originally posted in cdnusers.org by eminemshow
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information