• 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. command to find the maximum and minimum drivestrength of...

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 93
  • Views 17820
  • 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

command to find the maximum and minimum drivestrength of a particular std cell

selvam27
selvam27 over 11 years ago

Hai,

Currently I'm writing a tcl script to fix max transition violation. In this script,I used the ecoChangeCell command to upsize and downsize the cells.

I am facing a problem in this script. If I run this script, it upsize the cell upto the maximum drivestrength and after that when there is no further cells available for changing. the script exits with ERROR indication.

 Now i want the script to continue even if there is an error notification.

 Can anybody help me in this to say the tool to continue with the script even when there is error..

or 

 Is there any command to find the maximum and minimum drivestrength of a particular std cell.

Plz help me

thank you

Selva

  • Cancel
  • fitz
    fitz over 11 years ago

    Selva: I am surprized optDesign did not automatically fix max tran for you.

    The following online document will help you a lot.

    Getting started with DB Tcl scripting in EDI System
    Useful single line dbGet scripts

    Solution ID:    11598038

    30. To query the max_cap for a list of cells

         set cellPtrList [dbGet -p head.allCells.name BUF*]
         foreach cellPtr $cellPtrList {puts "[dbGet $cellPtr.name] [dbFTermMaxCap [dbGet -p $cellPtr.terms.name <term>] 1]"}

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • selvam27
    selvam27 over 11 years ago

    Thanks a lot Shawn.

    I tried that command and it's very useful.

     

    Thanks

    selva. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • fitz
    fitz over 11 years ago

    Selva:
    All of the commands in  "Useful single line dbGet scripts"  are useful, this should be required reading and on the pop quiz.
    Solution ID:    11598038

    Back to your max tran violations. I still don't understand why optDesign didn't fix these automatically.

    Max output cap violations are relatively easy to fix, upsize the driver until you are at the cell types maximum drive strength after that you must resort to ecoAddRepeater.

     ecoAddRepeater
        {-net netName | -term inst1/term inst2/ ...}
        -cell masterCellName
        [-loc {x y | x1 y1 x2 y2} [-radius μm]] |
        [-relativeDistToSink value [-radius μm]] |
        [-offLoadSlack ns [-radius μm]] |
        [-noPlace] |
        -offLoadAtLoc {x y}
        [-evaluateOnly | -evaluateAll]
        [-hinstGuide]

    Max input trans are not as simple to fix, the root cause is generally the RC loss due to long interconnect.
    Simply Increasing the source drive strength may not improve the situation.

    Blindly using ecoAddRepeater is dangerous if you do not understand the interconnect topology.
    For each input transition violation you must be aware of the, source inst/ type, net name/length/fanout.
    These give you some textual hint to the solution, but I always visually verify.

    If there is no source max cap , the nets fanin = 1,  then ecoAddRepeater -net is the fix.
    If there is no source max cap , the nets fanin > 1,  then ecoAddRepeater -term is the  fix.
    Basically you have to differentiate between , sinks near and sinks far.
    Adding a buffer on nearby sinks is a waste, you want the sinks far to be in the ecoAddRepeater -term list.

    Shawn ... Tapeout Today : )

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • shvd
    shvd over 5 years ago

    Hey, can you help me with TCL script to fix DRV violations?

    • 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