• 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. Blogs
  2. Digital Design
  3. Useful dbGet One-Liners
Kari
Kari

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
CDNS - RequestDemo

Have a question? Need more information?

Contact Us
dbGet
dbSet
Digital Implementation

Useful dbGet One-Liners

12 Aug 2009 • 2 minute read

We've gotten some good feedback about posts in this forum relating to dbGet and dbSet (the database access mechanism inside SoC-Encounter). I've been collecting interesting dbGet/dbSet lines over the past several months that I think are very useful. Some of these may be something you've wanted to do as well, or maybe they will serve as a starting point for a different idea or even a longer script. I gave credit to the people whose emails I extracted these from:

Get a list of unplaced cells: (Laurent Lefebure)
    dbGet [dbGet -p top.insts.pStatus unplaced].name

See what metal layers your block's IO pins are on: (Bob Dwyer)
    dbGet top.terms.pins.allShapes.layer.name

Get a list of NONDEFAULT rules in the design: (Gary Nunn)
    dbGet head.rules.name

Get the placement status of an instance: (Ali Aslani)
    dbGet [dbGetInstByName instName].pStatus

Get the points of a rectangular routing blockage: (Bob Dwyer)
    dbGet top.fplan.rBlkgs.shapes.rect

Get the points of a rectilinear routing blockage: (Jon Cooper)
    dbGet top.fplan.rBlkgs.shapes.poly

Get a list of all cell types used in the design: (Gary Nunn)
    dbGet -u top.insts.cell.name
    (The "-u" filters out duplicate objects.)

Get the size of block placement halos: (Kari Summers / Bob Dwyer)
    dbGet [dbGet -p2 top.insts.cell.subClass block*].pHaloTop
    dbGet [dbGet -p2 top.insts.cell.subClass block*].pHaloBot
    dbGet [dbGet -p2 top.insts.cell.subClass block*].pHaloLeft
    dbGet [dbGet -p2 top.insts.cell.subClass block*].pHaloRight

Get the size and top/bottom layers of block routing halos: (Bob Dwyer)
    dbGet [dbGet -p2 top.insts.cell.subClass block*].rHaloSideSize
    dbGet [dbGet -p2 top.insts.cell.subClass block*].rHaloBotLayer.name
    dbGet [dbGet -p2 top.insts.cell.subClass block*].rHaloTopLayer.name

Make sure all your tiehi/lo connections have tie cells (and are not connected to a rail instead): (Gary Nunn)
    dbGet top.insts.instTerms.isTieHi 1
    dbGet top.insts.instTerms.isTieLo 1
    (Should return "0x0" if all connections have tie cells.
     If "1"s are returned, use the following to find the terms that still need a tie cell:)
    dbGet [dbGet -p top.insts.instTerms.isTieHi 1].name
    dbGet [dbGet -p top.insts.instTerms.isTieLo 1].name

Change the routing status of a net (for example, from FIXED to ROUTED): (Gary Nunn)
    dbSet [dbGet -p top.nets.name netName].wires.status routed

Get the status of your design: (Siva Kumar)
    dbGet top.statusIoPlaced
    dbGet top.statusPlaced
    dbGet top.statusClockSynthesized
    dbGet top.statusRouted
    dbGet top.statusRCExtracted
    dbGet top.statusPowerAnalyzed

List all the FIXED instances in your design: (Bob Dwyer)
    dbGet [dbGet -p top.insts.pStatus fixed].name

Find out which layers are used in a net: (Bob Dwyer)
    dbGet [dbGet -p top.nets.name netName].wires.layer.name

Find all the instances of a certain cell type: (Laurent Lefebure)
    dbGet [dbGet -p2 top.insts.cell.name cellName].name

Get the size of a cell in the library, but not necessarily in the current design: (Rob Lipsey)
    dbGet [dbGetCellByName cellName].size

I'm sure there are many more useful dbGet/dbSet one-liners out there; let's hear yours! Please post in the comments some of the dbGet lines that you have come up with.

Related Resources:

First Encounter Design Exploration and Prototyping


CDNS - RequestDemo

Try Cadence Software for your next design!

Free Trials

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

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