• 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. how to search for specific devices/models into spectre netlist...

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 144
  • Views 2178
  • 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 search for specific devices/models into spectre netlist?

marcelpreda
marcelpreda over 11 years ago

 Hi there,

 I want to know if it is possible with SKILL functions to scan a spectre netlist for specific devices.

We have a spectre netlist file and we want to search for devices of a specific model or devices with specific properties (e.g. w < 0.XX um ).

If such devices/instances are found  to warn the deigner:

            In cell ABC we found device D (model=model_X, w=0.zz )

And based on those info he shoudl decice if really want to run the simulation of not.

 

 Do we have such things in SKILL?

I want to run it from command line, some other scripting is OK if SKILL has no such functionality.

Best Regards,

Marcel

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

    Hi Marcel,

    Not sure SKILL is really the right way to do it for a spectre netlist. You can do this directly in spectre though using spectre's assert statement. For example:

    //
    // example of showing an assert statement to range check
    // a transistor size

    model nch bsim4 type=n
    model pch bsim4 type=p

    subckt block1 (a y vdd vss)
    MP1 (y a vdd vdd) pch w=0.4u l=0.2u
    MN1 (y a vss vss) nch w=0.5u l=0.2u
    ends block1

    subckt block2 (a y vdd vss)
    I1 (a b vdd vss) block1
    I2 (b y vdd vss) block1
    ends block2

    top (n1 n2 vdd 0) block2
    v1 (n1 0) vsource type=pulse val0=0 val1=1 rise=1n period=20n width=10n
    vdd (vdd 0) vsource dc=1

    // here's the check
    smallMos assert mod=pch param=w min=0.5u message="nch transistor too small"
    // in this case I've told it to write to a file; if this is not given, it
    // will write in the simulation log file (see spectre -h options for other check options)
    myOptions options checklimitfile="asserts.out"

    tran tran stop=1u

    Regards,

    Andrew.

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

    Hi Marcel,

    Not sure SKILL is really the right way to do it for a spectre netlist. You can do this directly in spectre though using spectre's assert statement. For example:

    //
    // example of showing an assert statement to range check
    // a transistor size

    model nch bsim4 type=n
    model pch bsim4 type=p

    subckt block1 (a y vdd vss)
    MP1 (y a vdd vdd) pch w=0.4u l=0.2u
    MN1 (y a vss vss) nch w=0.5u l=0.2u
    ends block1

    subckt block2 (a y vdd vss)
    I1 (a b vdd vss) block1
    I2 (b y vdd vss) block1
    ends block2

    top (n1 n2 vdd 0) block2
    v1 (n1 0) vsource type=pulse val0=0 val1=1 rise=1n period=20n width=10n
    vdd (vdd 0) vsource dc=1

    // here's the check
    smallMos assert mod=pch param=w min=0.5u message="nch transistor too small"
    // in this case I've told it to write to a file; if this is not given, it
    // will write in the simulation log file (see spectre -h options for other check options)
    myOptions options checklimitfile="asserts.out"

    tran tran stop=1u

    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