• 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. Assembler: possible to force inclusion of model file(s)...

Stats

  • Replies 2
  • Subscribers 126
  • Views 233
  • Members are here 0

Assembler: possible to force inclusion of model file(s) at the very beginning of netlist?

dontpanic
dontpanic 5 days ago

Is it possible to force the order in which "model" (.scs) files are included in the netlists that Assembler produces? For example, force it to add them right at the beginning of the netlist (just like it somehow always does for "ade_e.scs")?

Context: I have some big testbenches in which some variables are defined by means of .scs files, which are then included as model files in Assembler. This works great, except that then it becomes impossible to sweep these variables through corner definitions (as I normally could for any explicitly-defined variable in Assembler), because the values Assembler assigns at each sweep point get overridden in the netlist by the hardcoded definitions in those model files.

The above could be avoided if the model file were included *earlier* in the produced netlists, as then it would be the hardcoded values the ones to get overriden by the local values assigned by Assembler at each sweep point, instead of the opposite. Is there any way to achieve this effect?

Thanks in advance for any help!

Jorge.

  • Cancel
  • Sign in to reply
Parents
  • Saloni Chhabra
    Saloni Chhabra 4 days ago

    Hi Jorge,

    Yes, this is possible by adding this setting to .cdsinit:

    envSetVal("spectre.envOpts" "netlistModelFileFirst" 'boolean t)

    This will move the model statements before 'parameters' statement so the swept value will take effect.

    include "./param.scs"
    parameters temperature=27 CTRL=10

    Regards,

    Saloni

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • dontpanic
    dontpanic 2 days ago in reply to Saloni Chhabra

    Thanks so much for your suggestion; Saloni! I tried it and while the model files are now being included at the top of the netlists, the simulations now fail because for some reason Assembler is including a few empty parameter definitions in the netlist for some of the variables being defined in the model files.

    So, for example, now I see in my netlist something like this:

    [...usual input.scs header stuff...]

    include "/path/to/my_model_file1.scs"

    include "/path/to/my_model_file2.scs"

    [...]

    include "path/to/some/other_model_file.scs"

    parameters parameterA parameterB parameterC \

        parameterD parameterE parameterF \

    [...]

    parameter1=value1 parameter2=value2 parameter3=value3 \

       parameter4=value4 parameter5=value5 \

    [...]

       parameter99=value99 \

    [...rest of netlist as usual...]

    where "parameterA-F" are some of the parameters being defined in my model files, while "parameters1-99" are other parameters with explicit definitions in the Assembler view (they are Global Variables).

    Thus, since "parameterA-F" are being explicitly included in the netlist but without a value, the simulation is fails. 

    I noticed that if I remove those empty parameter definitions from the nestlist, then everything works as expected, and I am able to get the desired behavior (this however is not a practical solution, as I need to run hundreds of simulations).

    ...Any ideas on how I could prevent those spurious, empty inclusions for the variables being implicitly defined in the model files? 

    Thanks in advance for any help!

    KR, Jorge. 

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • dontpanic
    dontpanic 2 days ago in reply to Saloni Chhabra

    Thanks so much for your suggestion; Saloni! I tried it and while the model files are now being included at the top of the netlists, the simulations now fail because for some reason Assembler is including a few empty parameter definitions in the netlist for some of the variables being defined in the model files.

    So, for example, now I see in my netlist something like this:

    [...usual input.scs header stuff...]

    include "/path/to/my_model_file1.scs"

    include "/path/to/my_model_file2.scs"

    [...]

    include "path/to/some/other_model_file.scs"

    parameters parameterA parameterB parameterC \

        parameterD parameterE parameterF \

    [...]

    parameter1=value1 parameter2=value2 parameter3=value3 \

       parameter4=value4 parameter5=value5 \

    [...]

       parameter99=value99 \

    [...rest of netlist as usual...]

    where "parameterA-F" are some of the parameters being defined in my model files, while "parameters1-99" are other parameters with explicit definitions in the Assembler view (they are Global Variables).

    Thus, since "parameterA-F" are being explicitly included in the netlist but without a value, the simulation is fails. 

    I noticed that if I remove those empty parameter definitions from the nestlist, then everything works as expected, and I am able to get the desired behavior (this however is not a practical solution, as I need to run hundreds of simulations).

    ...Any ideas on how I could prevent those spurious, empty inclusions for the variables being implicitly defined in the model files? 

    Thanks in advance for any help!

    KR, Jorge. 

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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