• 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. Problem building a slotted metal pcell

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 125
  • Views 15409
  • 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

Problem building a slotted metal pcell

archive
archive over 18 years ago

Hi, I am trying to make a pcell that will create a big piece of metal with slots chopped out of it (for mechanical stress relief). I started with a prototype SKILL code that will create the slotted metal as an instance, and it worked ("prototype.il"). When put into pcell form, the pcell code compiles successfully. But the pcell instance can only have 14 slots max and fails otherwise. Warnings are always generated whether there is pcellEvalFailed or not. (I've appended the warnings generated to the end of "slot_pcell.il"). It seems that the database ID of the metal object becomes nil after being accessed repeatedly, so leChopShape stops working. (1) Could anyone help to point out what's wrong with the code/method? (2) I used leChopShape in the pcell, which is not a recommended function for pcells. Is there another way to make slots in layers? (3) In SKILL, is there a way to exit a loop prematurely, or skip some of the iterations (next/last functions) ? Thanks in advance :) KK


Originally posted in cdnusers.org by kkchen
prototype.il
  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    When you don't have a clue what you're doing, starting with code from a 9-year old post (from the old forums) which wasn't fully functional seems an odd thing to want to do. The post references some other code, which was probably lost during the translation from cdnusers.org (this was the code that created the PCell).

    I don't know how you've modified the code which is causing trouble when you're using it, but your subsequent calls to make_slot suggest that you have no knowledge of SKILL at all. You tried passing a variable name (met3) then a string ("met3") when the function is expecting a database object for the shape to be chopped. Also, the subsequent arguments don't take sense - they are supposed to be points, not single numbers.

    I suggest you start by reading the SKILL Language User Guide and maybe looking to attend a Cadence SKILL Language Programming training course (links under the Services menu at the top of the page).

    Kind Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    When you don't have a clue what you're doing, starting with code from a 9-year old post (from the old forums) which wasn't fully functional seems an odd thing to want to do. The post references some other code, which was probably lost during the translation from cdnusers.org (this was the code that created the PCell).

    I don't know how you've modified the code which is causing trouble when you're using it, but your subsequent calls to make_slot suggest that you have no knowledge of SKILL at all. You tried passing a variable name (met3) then a string ("met3") when the function is expecting a database object for the shape to be chopped. Also, the subsequent arguments don't take sense - they are supposed to be points, not single numbers.

    I suggest you start by reading the SKILL Language User Guide and maybe looking to attend a Cadence SKILL Language Programming training course (links under the Services menu at the top of the page).

    Kind Regards,

    Andrew.

    • 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