• 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. Check LVS for Pcell

Stats

  • Locked Locked
  • Replies 17
  • Subscribers 144
  • Views 22300
  • 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

Check LVS for Pcell

NguyenDinh
NguyenDinh over 9 years ago

Hi all, I am a newer in Pcell. I designed a Pcell and run LVS, and had errors. I show  it below. Can anyone help me? Thank!

*** Calibre Interactive: Exporting netlist for library "skill", cell "example", view "schematic" ***

Virtuoso Framework License (111) was checked out successfully. Total checkout time was 0.01s.

Loading cdf.cxt

*WARNING* Invalid CDF data entry

*Error* cdfiCreateParam: Invalid CDF data entry.

*Error* load: error while loading file - "/home/outsource4/PDK/cdf_res_new.il" at line 114

function spcInputDim redefined

*Error* eval: undefined function - pcDefinePCell

*Error* load: error while loading file - "/home/outsource4/PDK/skill_res5.il" at line 124

function spcMsg redefined

function spcSetParam redefined

function spcRound redefined

function spcInputDim redefined

function spcInputInt redefined

function spcCalcRes redefined

function spcInputDim redefined

function spcCalcLength redefined

function spcDefResLength redefined

function resCB redefined

function res_spacingtretchCB redefined

function res1 redefined

function res_nodd redefined

function res_even redefined

function res_finanl redefined

Running Artist Hierarchical Netlisting ...

ERROR (OSSHNL-109): The cellview 'skill/example/schematic' has been modified since the last extraction. Validate

that the schematic is correct and run Check and Save to correct this error.

End netlisting Mar 17 17:58:32 2016

ERROR (OSSHNL-514): Netlist generation failed because of the errors reported above. The netlist might not have been generated at all, or the generated netlist could be corrupt. Fix the reported errors and regenerate the netlist.

  • Cancel
  • NguyenDinh
    NguyenDinh over 9 years ago

    Hi Andrew,

    I have a new problem. I have been written a code to create a pcell resistor by skill language. The properties of the pcell resistor in schematic and layout are the same. But when I run the LVS check, the mismatch is happened. A reason is that I have changed a function ( the function to calculate resistor value). I changed it in the cdf parameter file, the spice library (to run simulation). I do not know that I must change an other  file to pass the LVS check. Have you any ideal for this problem ? 

    I known this issue is not your major. But If you have any ideal, help me please.

    Thank you 

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

    I know physical verification tools too - I just can't help you with Calibre, because it's not our tool and I don't have access to it.

    I am assuming this might require you to change in one or two places. Either you need to alter how the CDL netlist is produced (this is in the auCdl simulation information section of the CDF) or change the calculations of the parameters being compared in the LVS rules, or possibly both.

    It probably depends on whether the LVS is extracting and comparing the physical parameters (width, length etc) or the electrical parameters (resistance).

    Really can't help much more given the lack of visibility as to what the actual problem is!

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • NguyenDinh
    NguyenDinh over 9 years ago

    Thank you so much, Andew

    I am looking for information about this issue. Your instruction is verry helpful

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • NguyenDinh
    NguyenDinh over 9 years ago
    Hi andrew, I have designed a simple opamp. Then I checked LVS and DRC. They are cleaned. But when I run "abstract" layout of the opamp circuit. Errors are happened. Like that: undefined function - pcDefinePCell
    *Error* load: error while loading file - "code_pcell/pcell_SoiMOS/mp_soi.il"
    *Error* eval: undefined function - pcDefinePCell

    And the via I created by Cadence Tool have an error: *Error* eval: undefined funciton - leDefineMPPTemplate... But these functions (pcDefinePCell, leDefineMPPTemplate) have already had in cadence tools. So, I do not know how to fix this problem. Could you help me solve this issues ?. Thanks
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    I don't know where you are seeing these errors - without knowing that it's hard to know.

    However, it sounds as if you're loading the code containing pcDefinePCell in (say) the libInit.il of the library; that makes no sense, as you wouldn't redefine the PCell every time the library is opened - once you define it, the code is stored within the view and there's no need to keep redefining it (and you'll hit issues like this).

    Maybe you're also calling leDefineMPPTemplate() too in the libInit.il - that is not available in all interfaces (like the stream interfaces) - you could instead add:

    when(isCallable('leDefineMPPTemplate)
      leDefineMPPTemplate(...) ; or load the code containing this call
    )

    As I said, without knowing what files you have, what's defined where, and what is producing these errors, I can't really be more specific - this is all based on supposition and guesswork.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • NguyenDinh
    NguyenDinh over 9 years ago

    HI Andrew,

    The program that I used to abtract show on the figure. Exactly, you said, I have load my pCell code from the lib.init file and have some warning like that "redefine". These warnings was cleand, when I just load my code once time. But the errors such as "undefine function - pcDefinePCell" are happened. Have you any solution for this problem?.

    Thankyou,  

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

    Yes, I have a solution. As I said before, don't call pcDefinePCell from the libInit.il - this is not necessary (and in fact is bad practice, as usually users wouldn't have the permissions to redefine the PCells each time - all you need to have loaded are any auxiliary functions called from within the pcDefinePCell code block).

    Regards,

    Andrew.

    • 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