Home > Community > Forums > Digital Implementation > 2 new questions

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 2 new questions 

Last post Wed, Oct 31 2007 11:18 PM by archive. 2 replies.
Started by archive 31 Oct 2007 11:18 PM. Topic has 2 replies and 1173 views
Page 1 of 1 (3 items)
Sort Posts:
  • Wed, Oct 31 2007 11:18 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    2 new questions Reply

    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
    • Post Points: 0
  • Thu, Nov 1 2007 1:03 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: 2 new questions Reply

    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
    • Post Points: 0
  • Thu, Nov 1 2007 7:44 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: 2 new questions Reply

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


    Originally posted in cdnusers.org by eminemshow
    • Post Points: 0
Page 1 of 1 (3 items)
Sort Posts:
Started by archive at 31 Oct 2007 11:18 PM. Topic has 2 replies.