• 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 Design
  3. How to search for vias with rows or columsn property in...

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 126
  • Views 14837
  • 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 search for vias with rows or columsn property in layout XL

pham777
pham777 over 12 years ago

Hi,

I am using IC615.06.15.151. In virtuoso layout XL, I opened a Find/Replace form, search for via in current cellview with

via definition == M5_M4

property Name CutRows == 2

But can not find any , eventhough there are  a lot of vias like that in layout. Do I make any mistakes ??

Thanks,

ha

  • Cancel
  • theopaone
    theopaone over 12 years ago

     The attribute is cutRows, not CutRows.

    Try this:

    viaHeaders = setof( vh deGetCellView()~>viaHeaders
                                      vh~>viaDefName == "M5_M4"  && vh~>cutRows == 2 )

    viaInstances = viaHeaders~>vias

     

    Ted

     

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

    Thanks for your skill code, Ted. I tried it, but it still return nill. Maybe I typed it wrong. I believed the results will be something like

    db:0x0000x....How can I use that to select the vias in layout. I am not good at all about skill code.

    Thanks,

    ha

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    There's a mistake in Ted's code - you can't do ~>cutRows on a viaHeader object. You can do that on a via instance, but not a viaHeader. So instead you'd need to do:

    ; take car, because there should only be one match
    viaHeaders = car(setof( vh deGetCellView()~>viaHeaders
                                      vh~>viaDefName == "M5_M4"  && cadr(assoc("cutRows" vh~>overrideParams)) == 2 ))
    viaInstances = viaHeaders~>vias
    foreach(via viaInstances geSelectFig(via))

    This will select the vias afterwards.

    I think you should also contact customer support to request that you can specify cutRows/cutColumns etc in the search criteria for finding vias on the Find command (it doesn't work, because it's not a "property").

    Kind Regards,

    Andrew.

     

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

    Thanks, Andrew. Your code works. But it returns only one match. Is it possible to return more than one match ?

    I will try to contact customer support.

    best regards,

    ha

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    Sorry, I was being a bit stupid. I forgot you'd likely have more than one M5_M4 viaHeader with that number of cutRows...

    Change the code to:

    viaHeaders = setof( vh deGetCellView()~>viaHeaders
                                      vh~>viaDefName == "M5_M4"  && cadr(assoc("cutRows" vh~>overrideParams)) == 2 )
    foreach(viaHeader viaHeaders
      foreach(via viaHeader~>vias geSelectFig(via))
    )

    Regards,

    Andrew.

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

    Hi Andrew,

    It works perfect now. You're the man.

    Appreciated,

    ha

    • 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