• 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. Custom IC SKILL
  3. getting the dbID for an instance in the layout

Stats

  • Locked Locked
  • Replies 9
  • Subscribers 143
  • Views 18661
  • 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

getting the dbID for an instance in the layout

Inas Mohammed
Inas Mohammed over 8 years ago

Hello,

I need to get the dbID for certain transistor in order to do some operations on it after that.

The idea is that i need to check for a transistor in a pattern, if this transistor is at lower left of upper right do some commands.

so i need to get value of x which then will be used as follows.

when(row=0 && col==0  lowerleft=x)

when(row=Rows-1 && col=Cols-1 upperright=x)

I thought about like trying to create instances again on the old one with the same names in these places using dbCreateInst just to have the ID, then use it.

But it doesn't work

So can you help me with this issue please.

thanks

  • Cancel
Parents
  • dmay
    dmay over 8 years ago
    I too am confused about what is being done here. It seems to me that you should be recording this information when you create the instances. You said that you are creating the pattern with a skill script. I interpret that to mean that you have a skill script that places the instances using dbCreateInst. If that is true, then, like Andrew said, you would have the instance id after you create each inst (x = dbCreateInst...). If so, then you could change the instance name to contain information about where the instance is in the pattern:
    x~>name = "Inst_1_3"
    sprintf(instName "Inst_%d_%d" row col)
    lowerLeft = dbFindAnyInstByName(geGetEditCellView instName)

    Or you could put properties on the instance:
    x~>R =1
    x~>C = 1
    lowerLeft = setof(x geGetEditCellView()~>instances x~>R==0 && x~>C==0)

    Or you could create a table that contains your information:
    myTable = makeTable("myTable" nil)
    myTable["lowerleft"] = x ; Where x is the return value from dbCreateInst.
    or
    myTable[0:0] = x

    If you are looking at a cellview that already has the instances in it, then I think you have to do what Andrew suggested in his first response.

    Derek
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • dmay
    dmay over 8 years ago
    I too am confused about what is being done here. It seems to me that you should be recording this information when you create the instances. You said that you are creating the pattern with a skill script. I interpret that to mean that you have a skill script that places the instances using dbCreateInst. If that is true, then, like Andrew said, you would have the instance id after you create each inst (x = dbCreateInst...). If so, then you could change the instance name to contain information about where the instance is in the pattern:
    x~>name = "Inst_1_3"
    sprintf(instName "Inst_%d_%d" row col)
    lowerLeft = dbFindAnyInstByName(geGetEditCellView instName)

    Or you could put properties on the instance:
    x~>R =1
    x~>C = 1
    lowerLeft = setof(x geGetEditCellView()~>instances x~>R==0 && x~>C==0)

    Or you could create a table that contains your information:
    myTable = makeTable("myTable" nil)
    myTable["lowerleft"] = x ; Where x is the return value from dbCreateInst.
    or
    myTable[0:0] = x

    If you are looking at a cellview that already has the instances in it, then I think you have to do what Andrew suggested in his first response.

    Derek
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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