Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

To find number of cells which are unplaced after placement?

Status
Not open for further replies.

kirangu

Junior Member level 2
Joined
Jun 17, 2011
Messages
24
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,413
How to find number of cells which are unplaced. (Using SOC encounter db Commands)
 

Try using the dbget and dbquery commands similar to my reply to your other post asking for clock buffers.
 

The dbGet command can used interactively to explore the design. Below are some useful single line dbGet scripts:

1. To get a list of unplaced instances in the design:
dbGet [dbGet -p top.insts.pStatus unplaced].name

2. To list all the placed instances in the design:
dbGet [dbGet -p top.insts.pStatus placed].name

3. To list all the fixed instances in the design:
dbGet [dbGet -p top.insts.pStatus fixed].name

4. To see what metal layers your block's IO pins are on:
dbGet top.terms.pins.allShapes.layer.name

5. To get a list of NONDEFAULT rules in the design:
dbGet head.rules.name

6. To get NDR applied on a specified net:
dbGet [dbGet -p top.nets.name netName].rule.name

7. To get the placement status of an instance:
dbGet [dbGetInstByName instName].pStatus

8. To get the points of a rectangular routing blockage:
dbGet top.fplan.rBlkgs.shapes.rect

9. To get the points of a rectilinear routing blockage:
dbGet top.fplan.rBlkgs.shapes.poly

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

11. To get the size of block placement halos:
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

12. To get the size and top/bottom layers of block routing halos:
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

13. To make sure all your tiehi/lo connections have tie cells (and are not connected to a rail instead):
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

14. To get all insTerm names which are tied to tieLo cells:
dbGet [dbGet -p [dbGet -p2 top.insts.cell.subClass coreTieLo].instTerms.net.allTerms.isInput 1].name

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

16. To get the status of your design:
dbGet top.statusIoPlaced
dbGet top.statusPlaced
dbGet top.statusClockSynthesized
dbGet top.statusRouted
dbGet top.statusRCExtracted
dbGet top.statusPowerAnalyzed

17. To find out which layers are used in a net:
dbGet [dbGet -p top.nets.name netName].wires.layer.name

18. To find all the instances of a certain cell type:
dbGet [dbGet -p2 top.insts.cell.name cellName].name

19. To get the size of a cell in the library, but not necessarily in the current design:
dbGet [dbGetCellByName cellName].size

20. To get nets that are marked in the db as clock net:
dbGet [dbGet -p top.nets.isClock 1].name

21. To set all instances with a particular pattern in its name to fixed status:
dbSet [dbGet –p top.insts.name *clk*].pStatus fixed

22. To get database units:
dbGet head.dbUnits

23. To get manufacturing grid:
dbGet head.mfgGrid

24. To get physical only cells like filler cell, end cap cell etc:
dbGet [dbGet -p top.insts.isPhysOnly 1].name

25. To filter all the PG pins with direction bidi of a specific instance:
dbGet [dbGet -p [dbGet -p top.insts.name instName].pgCellTerms.inOutDir bidi].name

26. To get class and subClass of a cell:
dbGet [dbGetCellByName cellName].baseClass
dbGet [dbGetCellByName cellName].subClass

27. To find out the instname/cellname of the driver driving a specific net.
set netName <netName>
set inst [dbGet [dbGet -p [dbGet -p top.nets.name $netName].allTerms.isOutput 1].inst]
Puts "Net: $netName, driving inst name: [dbGet $inst.name], driving cell name: [dbGet $inst.cell.name]"

28. To list all layers for the pin of a cell:
dbGet [dbGet -p selected.cell.terms.name pinName].pins.allShapes.layer.extName

29. Report points of polyon that forms the die area:
dbShape -output polygon [dbGet top.fPlan.boxes]

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 <termName>] 1]"}

31. To find all instances with a specify property name "myProp" (string property type) and value "xyzzy"
set inst_ptrs [dbGet -p top.insts.props {.name == "myProp" && .value == "xyzzy"]
Puts "Instances with property myProp and value xyzzy: [dbGet $inst_ptrs.name]"


Have fun!!!
 
Thanks a looooooooot........ :)
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top