• 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. RC extraction

Stats

  • Locked Locked
  • Replies 12
  • Subscribers 90
  • Views 16883
  • 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

RC extraction

archive
archive over 17 years ago

Hi all, I need some help.Now I am trying to model power of buses. But I don't know how to get the total RC value of selected nets.(there are thousands of nets so it is impossible to do it one by one) I wonder if there is a way of doing it. and another thing I want to ask is that all nets capacitances are 0. I wonder if it is right. Thanks


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

    Justin,

    The fields in dbNetExtrRCSummary stand for:
    cap_cnt,total_cap,xcap_cnt,total_xcap,res_cnt, total_res

    For your previous inquiry regarding how to get the value for all of the nets, I believe you're seeing that dbNetExtrRCSummary does not support wildcard matching for the net names you give it. You can help dbNetExtrRCSummary along by imbedding it within a foreach loop where, by some other means, you've captured the nets you're looking for.

    In my design, I have a bussed net called "r697". It looks like this:

    [DEV]encounter 21> dbFindNetsByName r697*
    {r697[15]} {r697[14]} {r697[13]} {r697[12]} {r697[11]} {r697[10]} {r697[9]} {r697[8]} {r697[7]} {r697[6]} {r697[5]} {r697[4]} {r697[3]} {r697[2]} {r697[1]} {r697[0]}

    Once I capture it by wildcard, I can then loop through and call dbNetExtrRCSummary iteratively for each net:

    [DEV]encounter 22> foreach net [dbFindNetsByName r697*] {Puts "[dbNetExtrRCSummary $net]"}
    42 18.7058 0 0 54 149.339
    53 28.6919 0 0 65 168.797
    39 11.8179 0 0 50 118.105
    47 25.3172 0 0 57 157.352
    40 16.1687 0 0 50 137.919
    33 16.3909 0 0 46 124.05
    39 18.2286 0 0 51 138.262
    41 14.0841 0 0 56 153.221
    41 14.6328 0 0 51 122
    50 20.0135 0 0 63 152.456
    38 13.516 0 0 51 132.627
    44 19.1988 0 0 57 158.185
    45 23.8199 0 0 54 148.814
    53 22.2221 0 0 65 163.052
    41 19.9921 0 0 55 160.046
    50 23.8562 0 0 61 180.404

    If the pattern you seek to match is more complicated than simple wildcarding will allow, you could use TCL's generic "regexp" to match the name. Or, you could leverage the dbGet command's support for regexp pattern matching. Say you wanted to get just the bits that start with "[1":

    [DEV]encounter 31> dbGet -regexp top.nets.name {r697\[1}
    {r697[15]} {r697[14]} {r697[13]} {r697[12]} {r697[11]} {r697[10]} {r697[1]}

    [DEV]encounter 34> foreach net [dbGet -regexp top.nets.name {r697\[1}] {puts "[dbNetExtrRCSummary $net]"}
    42 18.7058 0 0 54 149.339
    53 28.6919 0 0 65 168.797
    39 11.8179 0 0 50 118.105
    47 25.3172 0 0 57 157.352
    40 16.1687 0 0 50 137.919
    33 16.3909 0 0 46 124.05
    41 19.9921 0 0 55 160.046

    From the discussion in this thread it is clear that there is room for improvement in the way RC extraction information is accessible via TCL. As improved capabilities become available in this area, I will post back to this forum with an update. Thanks to all who posted their suggestions on this topic- great discussion!

    Hope this helps,
    Bob


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

    Justin,

    The fields in dbNetExtrRCSummary stand for:
    cap_cnt,total_cap,xcap_cnt,total_xcap,res_cnt, total_res

    For your previous inquiry regarding how to get the value for all of the nets, I believe you're seeing that dbNetExtrRCSummary does not support wildcard matching for the net names you give it. You can help dbNetExtrRCSummary along by imbedding it within a foreach loop where, by some other means, you've captured the nets you're looking for.

    In my design, I have a bussed net called "r697". It looks like this:

    [DEV]encounter 21> dbFindNetsByName r697*
    {r697[15]} {r697[14]} {r697[13]} {r697[12]} {r697[11]} {r697[10]} {r697[9]} {r697[8]} {r697[7]} {r697[6]} {r697[5]} {r697[4]} {r697[3]} {r697[2]} {r697[1]} {r697[0]}

    Once I capture it by wildcard, I can then loop through and call dbNetExtrRCSummary iteratively for each net:

    [DEV]encounter 22> foreach net [dbFindNetsByName r697*] {Puts "[dbNetExtrRCSummary $net]"}
    42 18.7058 0 0 54 149.339
    53 28.6919 0 0 65 168.797
    39 11.8179 0 0 50 118.105
    47 25.3172 0 0 57 157.352
    40 16.1687 0 0 50 137.919
    33 16.3909 0 0 46 124.05
    39 18.2286 0 0 51 138.262
    41 14.0841 0 0 56 153.221
    41 14.6328 0 0 51 122
    50 20.0135 0 0 63 152.456
    38 13.516 0 0 51 132.627
    44 19.1988 0 0 57 158.185
    45 23.8199 0 0 54 148.814
    53 22.2221 0 0 65 163.052
    41 19.9921 0 0 55 160.046
    50 23.8562 0 0 61 180.404

    If the pattern you seek to match is more complicated than simple wildcarding will allow, you could use TCL's generic "regexp" to match the name. Or, you could leverage the dbGet command's support for regexp pattern matching. Say you wanted to get just the bits that start with "[1":

    [DEV]encounter 31> dbGet -regexp top.nets.name {r697\[1}
    {r697[15]} {r697[14]} {r697[13]} {r697[12]} {r697[11]} {r697[10]} {r697[1]}

    [DEV]encounter 34> foreach net [dbGet -regexp top.nets.name {r697\[1}] {puts "[dbNetExtrRCSummary $net]"}
    42 18.7058 0 0 54 149.339
    53 28.6919 0 0 65 168.797
    39 11.8179 0 0 50 118.105
    47 25.3172 0 0 57 157.352
    40 16.1687 0 0 50 137.919
    33 16.3909 0 0 46 124.05
    41 19.9921 0 0 55 160.046

    From the discussion in this thread it is clear that there is room for improvement in the way RC extraction information is accessible via TCL. As improved capabilities become available in this area, I will post back to this forum with an update. Thanks to all who posted their suggestions on this topic- great discussion!

    Hope this helps,
    Bob


    Originally posted in cdnusers.org by BobD
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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