• 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. PCELL eval failed, how to debug missing functions?

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 145
  • Views 19741
  • 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

PCELL eval failed, how to debug missing functions?

bpdegnan
bpdegnan over 11 years ago

Hello everyone. I'm trying to debug a strange PCELL evaluation error. I had a bunch of layout up and working, but 3 design kit revisions later, I have a bunch of PCELL evaluation errors instead of transistors. I'm sure that this has to do with how my kit is configurued, and I'd like to track it down out of interest. I've tracked down somethings, but I'm not completely familiar with the "internal" gears of Virtuouso. The PCELL error is:

*WARNING* (DB-270001): Pcell evaluation for cmos14soi/nmos/layout has the following error(s):
*WARNING* (DB-270002): ("eval" 0 t nil ("*Error* eval: undefined function" dbSetShapeColor))
*WARNING* (DB-270003): Error kept in "errorDesc" property of the label "pcellEvalFailed" on layer/purpose "marker/error" in the submaster.
Great, so I know that the error is the dbSetShapeColor call. I've found that in the kit using grep:
neko:/kits/cmos14soi/relIBM/cdslib$ grep -r dbSetShapeColor *
Binary file cmos14soi/cmos14soi121.att matches
Binary file cmos14soi/x_single_shape/layout/layout.oa matches
Binary file cmos14soi/cmos14soi610.att matches
Binary file cmos14soi/64bit/cmos14soi121.att matches
Binary file cmos14soi/64bit/cmos14soi610.att matches

So, I now know that my missing function call resides in those .att files. Is there anyway for me to check which/if those .att files are "loaded"? 

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    No need to do all this hunting. The function dbGetShapeColor is a Cadence built-in function that exists in ICADV12.1 (a release equivalent to IC616 except it supports advanced node ( 20nm or smaller) features such as double patterning etc. The function as exists in IC616 but I don't think it works there. 

     So my expectation is that this PDK requires ICADV12.1. You should check the PDK documentation to be sure.

    Kind Regards,

    Andrew 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • bpdegnan
    bpdegnan over 11 years ago

    Andrew, you are indeed correct.  Apparently the kit went from 6.1.5 to ICAD12.1 with the last update.  I'm pretty terrible at scanning the release notes when they are 100 pages long.  Thank you for the insight.

    Cheers,

    Brian Degnan 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • tweeks
    tweeks over 11 years ago

    Would it have killed the PDK author to check the Cadence version and print a warning if it was too old?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • theopaone
    theopaone over 11 years ago

     Not killed but made the PDK developer ill by requiring more work as it requires additional testing on multiple releases. The process cmos14soi is probably 14nm so it may require the advanced release capability.

    There are at several ways around this:

    Print a warning and cause a pcell evaluation error.

    Test for release and skip the code if it is not the required release.

    Encapsulate the release specific code in a function and have a version of that function for the advanced release and a no-op function for the rest of us.

    Write pseudo APIs for the missing functionality that only get loaded if the function name is not callable.

    Ted

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • bpdegnan
    bpdegnan over 11 years ago

    I'm going to assume the more mature kits are better at this.   What I'm working with is very bleeding edge, and generally designers have a support structure in place.   This project is just *me* from the front to backend, and I'm just happy to have access to it at all. :)   Again, thanks to everyone for the help.  All is well with the world with ICADV12.1.

    --bpd 

    • 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