• 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 define model or subcircuit?

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 125
  • Views 21642
  • 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 define model or subcircuit?

chofie
chofie over 5 years ago

There is error during running netlist assembly.

ERROR (SFE-23): "/path/input.scs": The instance 'xx' is referencing an undefined model or subcircuit, 'xx'. Either include the file containing the definition of 'xx', or define 'xx' before running the simulation.

The reason why it happens is because the model is undefined in input.scs, but I am not sure how to fix that problem. In input.scs file, each instance is defined in detail, does that mean I have to add those models' definitions one by one in input.scs? Is there any way to import those definitions automatically?

Perhaps my guess is wrong. There is another problem needing to be fixed.

Please direct me if you have any idea, thanks.

Regards,

Ciao. 

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 5 years ago

    Not sure why you posted once, deleted the post (which was almost identical to this one) and then posted again - I tend to find that a bit annoying.

    The error indicates that you have an instance in the netlist which is trying to instantiate a sub circuit or model that hasn't been defined anywhere. It's not the instance that is the problem, but the model definitions need to be provided somewhere, typically via Setup->Model Libraries in ADE. If this is a transistor or similar device level component, presumably you have some model files somewhere (usually with a .scs suffix) that would need including. Often there's a single model file that can be included to define all the devices for a particular PDK.

    It's possible using a cdsenv setting to have new ADE setups define the model files automatically - using:

    envSetVal("spectre.envOpts" "modelFiles" 'string  "/some/path")

    There was a recent post talking about this - but first of all, work out how to set it up interactively to make sure all is working OK.

    Andrew.

         

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • chofie
    chofie over 5 years ago in reply to Andrew Beckett

    Hi Andrew

    I am so sorry for deleted previous one and posted again. I did that because I thought the error was not described clearly. 

    Back to the problem, I tried to set a new ADE setups for defining the model files automatically, but in CIW, it shows unmatched.

    In the error, the path is xxx/simulation/Receiver_readera_tb/ams/config/netlist/analog/input.scs.

    I tried both

    envSetVal("spectre.envOpts""modelFiles"'string"/xxx/simulation/.../analog/input.scs") ---  unmatched

    and

    spectre.envOpts modelFiles string"/xxx/simulation/.../analog/input.scs" --- Command not found

    The component used is transistor. In the PDK's Model file, I can find that there are 3 .scs fiels including gf90nlp.scs/gl90nlprf.scs/soa_EF90.scs

    Is there any problem that the ADE L ams:model library setup is empty without any file link? such as xx.tt

    By the way, I did not execute following command in UNIX for entering certain forms with ADE because they are optional and permission is denied when I excuted.

    In -s <PDK_INST_DIR>/Models

    In -s<PDK_INST_DIR>/Stream

    Sorry again for making you a bad mood and have a good day.

    Regards,

    Chofie.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to chofie

    You can't just enter cdsenv lines in the CIW, because that syntax (the second you showed) is for a .cdsenv file only. You need the SKILL statement and you appear to have missed out the spaces between the strings and arguments. It should be:

    envSetVal("spectre.envOpts"  "modelFiles"  'string  "/path/to/model.scs")

    You didn't mention you're using AMS as the simulator until now, for that it would be:

    envSetVal("ams.envOpts" "modelFiles" 'string "/path/to/model.scs")

    HOWEVER, you appear to be trying to set the model file to the path  to an intermediate netlist within the run directory. That makes no sense as it would then refer to itself somehow. You're presumably going to need to include these gf90nlp.scs files or similar - I can't tell you what is needed for the specific PDK you're using, but hopefully GF have documented it. If not, you would need to ask the foundry.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • chofie
    chofie over 5 years ago in reply to Andrew Beckett

    I have considered my simulator is using ams and tried

    envSetVal("ams.envOpts" "modelFiles" 'string "/path/Models/gf90nlp.scs")

    Now, I link Models and Stream files into my work directory and try to set it again. Still, it shows unmatched in CIW again. 

    Is that because the .scs file I got is wrong file? I opened this file and saw nmos part parameters setting (so i guess this file is what I am looking for).

    Cho.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to chofie

    Please give the exact error message (cut and paste it into the post). Otherwise I'm having to guess what you might have done wrong.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • chofie
    chofie over 5 years ago in reply to Andrew Beckett

    It caused due to no global model files. 

    Then, I add global model files (xx.scs) and specific sections (tt/res/...) manually.

    However, there is a error claiming that

    "path/xx.scs" 3240: No section found with name 'mos_dep_hv' defined in file 'path/xx.scs'

    I wonder that the problem is caused by some missing section of the lib file or mismatch of some component. Thus, ensuring detail of xx.scs file with PDK provider is next step.

    Regards,

    Cho.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to chofie

    It's pretty unlikely that you need to use a section name corresponding to the model name to include each model. I'd check the model files, and have a look for the lines with the keyword section at the beginning of each line. Maybe do:

    grep '^section' path/xx.scs

    to see the available section names (ADE should also show a drop-down list for the available section names on the Setup->Model Libraries form, so that will show you too).

    Or best, contact the foundry or read their documentation to find out what they expect you to include.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to chofie

    It's pretty unlikely that you need to use a section name corresponding to the model name to include each model. I'd check the model files, and have a look for the lines with the keyword section at the beginning of each line. Maybe do:

    grep '^section' path/xx.scs

    to see the available section names (ADE should also show a drop-down list for the available section names on the Setup->Model Libraries form, so that will show you too).

    Or best, contact the foundry or read their documentation to find out what they expect you to include.

    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