• 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. connect two metal nets

Stats

  • Locked Locked
  • Replies 15
  • Subscribers 145
  • Views 14298
  • 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

connect two metal nets

Deeksha D
Deeksha D over 2 years ago

Hello,

I am trying to connect two metal nets (objType~>path).

if both metal net layers are same then simply align nets abutted.

if nets have different metal layers then check if metals layers can be connected using VIA .

eg if metals layers are M1 and M2 then connect using VIA1 taking via's  min.  width and min. enclosure by metal from techfile, 

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 2 years ago
    Deeksha D said:
    I am trying to connect two metal nets (objType~>path).

    Did you have a question?

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Deeksha D
    Deeksha D over 2 years ago in reply to Andrew Beckett

    Hi Andrew I Posted my question below for your understanding

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • RicardoGV1
    RicardoGV1 over 2 years ago in reply to Andrew Beckett

    Hi Andrew, I'm having an error when using this code. The first time I used it was done correctly, but after that time, I'm getting the error even rebooting cadence.
       
    Is this something I need to check with support? or do you know why this happens? 


    Best regards,
    R.Gómez

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to RicardoGV1

    I'm using the viaGenerateViasAtPoint() SKILL function to place the vias. It turns out that if you are not using VLS EAD (in IC6.1.8) or VLS EXL (in ICADVM20.1), then it checks out GXL tokens instead. Potentially it could use lxComputeViaParams instead to compute the parameters (this requires VLS XL licensing) and then create the via using dbCreateVia. That's not as convenient as using the via.* functions though as it's more work.

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • RicardoGV1
    RicardoGV1 over 2 years ago in reply to Andrew Beckett

    Thanks a lot Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Vallabha
    Vallabha over 2 years ago in reply to Andrew Beckett

    Hi Andrew,

    I am interested in the code which you posted.

    The code is giving me the following error:

    I am using the Virtuoso Version ICADVM20.1.

    Regards,
    Vallabha

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to Vallabha

    Vallabha,

    First of all, what does:

    cstGetDefaultConstraintGroupName(geGetEditCellView() "Via")

    return with the layout window active? 

    Secondly, if you do this:

    tf=techGetTechFile(geGetEditCellView())
    cg=cstFindConstraintGroupIn(tf "theNameFromFirstFunc")

    where theNameFromFirstFunc is what the cstGetDefaultConstraintGroupName returned, what happens? 

    My guess is that either the default constraint group name mis-specified in the environment, or that constraint group does not exist in the tech file.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Vallabha
    Vallabha over 2 years ago in reply to Andrew Beckett

    Hi Andrew

    Thanks for the quick reply.

    cstGetDefaultConstraintGroupName(geGetEditCellView() "Via") 

    returning a constraint group that is defined in the reference tech lib.

    tf=techGetTechFile(geGetEditCellView())
    cg=cstFindConstraintGroupIn(tf "theNameFromFirstFunc")

    returning nil, I think it's because the constraints group is coming from the reference tech lib.

    The code is working fine after I changed the Via Constraints Group to "foundry".

    Regards,
    Vallabha

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to Vallabha

    Vallabha,

    I've updated the code above (I edited the original post to replace with a newer version) which should handle the constraint group either being in a reference technology library, or even in the design. Apologies for this - a silly oversight on my part.

    Hopefully you can try that and it should (I hope) work for you.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Vallabha
    Vallabha over 2 years ago in reply to Andrew Beckett

    Thanks Andrew for the updated code.

    The updated code is giving me the following error.

    Regards,
    Vallabha

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to Vallabha

    Vallabha,

    Please ensure that the code is in a file with a ".ils" suffix (not ".il") before loading it. This ensures it will be read using SKILL++ semantics (that's what the SCHEME message is about). That should fix the problem.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Vallabha
    Vallabha over 2 years ago in reply to Andrew Beckett

    Andrew,

    The code is working perfectly.
    Thank you very much!

    Regards,
    Vallabha

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Vallabha
    Vallabha over 2 years ago in reply to Andrew Beckett

    Andrew,

    The code is working perfectly.
    Thank you very much!

    Regards,
    Vallabha

    • 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