• 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. How to report cells from window x1 y1 x2 y2

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 91
  • Views 15916
  • 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

How to report cells from window x1 y1 x2 y2

gpremala
gpremala over 12 years ago

Hi All,

I want write a script to get below things with dbGet commands.

How do I give coordinates to dbGet command for the following. 

 

1. 

I want to get cell count from window x1 y1 x2 y2.

it should report count for sequential, inverter, buffer, other combinational cells with cell name. 

 

2.

 I want to get cell count from window x1 y1 x2 y2.

it should report pattern (*AND*) cell count in particular area by giving coordinates. 

 

Thanks,

Gopi Premala 

  • Cancel
  • wally1
    wally1 over 12 years ago

    Hi Gopi,

    I think the command "dbQuery -area {x1 y1 x2 y2} -objType inst" will help you here. It will return pointers to the instances in the specified area. You can then parse the list to get the cell types, etc.

    Brian

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • BobD
    BobD over 12 years ago
    I was going to suggest dbQuery as well. For the breakdown by type, have a look at "userReportArea.tcl" in the gifts dir. It might provide a useful example for how to summarize cells by type: 
     
    Type            Count  Area(u^2)
    --------------------------------
    Standard Cell:   5906  133841.03
      Buffers:        193
      Inverters:      478
      Sequentials:    543
      Comb:          4692
    Block:              4  366346.56
    BlackBox:           0       0.00
    IO:                71  850700.00
    Area IO:            0       0.00
    Sum:             5981 1350887.59
    Total:           5981 1350887.59
    Die Density = (Standard Cell + Block + Black Box + IO Cell + Area IO Cell) / Die Area
    Die Density = 133841.0304 + 366346.562025 + 0 + 850700.0 + 0 / 1558322.095
    Die Density = 1350887.59243 / 1558322.095
    Die Density = 86.69%
    INFO: Die area was found to be rectangular:
      Die Area = (Width * Height)
      Die Area = (1255.375 * 1241.32)
      Die Area = 1558322.095 u^2
     
    Hope this helps,
    Bob 
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • gpremala
    gpremala over 12 years ago

    Thank you Brian, for your quick reply.

     

    Here I want to fileter out cell (*AND*).

    How do I do with db command. 

    Thanks,

    Gopi Premala 

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • wally1
    wally1 over 12 years ago

    Hi Gopi, Try the following:

         set instPtrs [dbQuery -area {x1 y1 x2 y2}

         set cellPtrs [dbGet -v -p $instPtrs.cell.name *AND*]

    The -v says omit objects that don't match *AND*. Use -p2 to return the inst pointers instead of the cell pointers.

    Brian

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • gpremala
    gpremala over 12 years ago

    Hi Brian,

    Thank you for your help.

    Where can i find the documents for db commands and its info.

     

     Gopi Premala

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • BobD
    BobD over 12 years ago

    Search for "dbGet" on support.cadence.com and the following is under "New or Changed Features":

    http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:DocumentViewer;src=wp;q=ProductInformation/Digital_IC_Design/ApplicationPackages/download/EDI11_DBTCL_slides.pdf 

    It covers dbGet, dbQuery and other related db access commands.

    Hope this helps,
    Bob 

    • 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