DB Commands
DB Commands
Solution
You can use the following single-line dbGet scripts to explore various aspects of your design:
1. List the metal layers on which the I/O pins of the block reside
dbGet top.terms.pins.allShapes.layer.name
dbGet head.rules.name
dbGet top.fplan.rBlkgs.shapes.rect
dbGet top.fplan.rBlkgs.shapes.poly
dbGet -u top.insts.cell.name
The previous commands should return "0x0" if all connections have tie cells. If "1"s are returned, use the
following commands to find the terms that still need a tie cell:
1. Change the routing status of a net (for example, from FIXED to ROUTED)
1. Determine the size of a cell in the library, but not necessarily in the current design
1. Set all instances with a particular pattern in the name to fixed status:
dbGet head.dbUnits
dbGet head.mfgGrid
1. Get physical-only cells such as filler cell, end cap cell, and so on
1. Report the points of the polyon that forms the die area
1. Identify ‘physical only’ types of cells (well tap, tie hi/lo, filler, endcap/decap)
You can query the subclass for a cell to check whether it is welltap, tiehigh, tielow or end cap:
For example, to get names of well tap cells (specified as ‘CLASS CORE WELLTAP ‘ in LEF), you can use
Similarly, to get names of tie high / tie low cells (specified as ‘CLASS CORE TIEHIGH’ or ‘CLASS CORE
TIELOW’ in LEF), use
or
Similarly, to query filler cells with ‘CLASS CORE SPACER’ in LEF syntax, you can use following (similar
to other physical-only cells)
Puts "$module_name"
This will not include the top module name. To get the top module name, run the following command:
dbGet top.name
Select the instances on which to apply set_dont_touch. For example, select all level shifter instances
with prefix "LS":