• 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. RF Design
  3. Corner and varible sweep simulation in spectre

Stats

  • Locked Locked
  • Replies 11
  • Subscribers 64
  • Views 21215
  • 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

Corner and varible sweep simulation in spectre

lahsivece
lahsivece over 12 years ago

Hi ,

I am trying to do a multivariable sweep and corner simulation in spectre . 

In ocean , it is easy , I can do following 

b0_list = list(0.0 1.2)
b1_list = list(0.0 1.2)
b2_list = list(0.0 1.2)

corners='("ss" "ff" "tt" "snfp" "fnsp")

foreach(corner corners

modelFile(list("<path_to_model_library>/model.lib.scs" sprintf(nil "%s" corner)))
foreach(x b2_list
desVar("b2" x)
foreach(y b1_list
desVar("b1" y)
foreach(z b0_list
desVar("b0" z)
  resultsDir(sprintf(nil "<path_to_result_directory>/spectre/schematic/corner=%sb5=%gb4=%gb3=%gb2=%gb1=%gb0=%g",corner,b5_z,b4_y,b3_x,x,y,z))
run()
)
)
)
)


How can I modify above to use it  for spectre simulations from command line ?

Due to some logistical issues , I can have access to either one  MMSIM (for spectre) or IC514( for ocean) for simulation .

Please advise. 

Thanks 

  • Cancel
  • jerry124
    jerry124 over 12 years ago

    Hi Andrew,

    I would like to run top level simulation with sweeping "w" parameter of device "m1" in subcircuit "xs25".

    I know how to sweep parameter of device which are present on top level schematic (for example "m5"), but I don't know how to do this for device in subcircit.

    example:

    //

        m6 ( w_s2_i1 w_s1_fo1b w_s2_i1 vss )  modn w=1u l=0.35u ad=0.85p as=0.85p \
            pd=2.7u ps=2.7u nrs=0.3 nrd=0.3 ng=1
        m5 ( w_s2_i2 w_s1_fo2b w_s2_i2 vss )  modn w=1u l=0.35u ad=0.85p \
            as=0.85p pd=2.7u ps=2.7u nrs=0.3 nrd=0.3 ng=1
        xs25 ( w_33 w_32 vdda w_19 ) tst1

    .......

    subckt tst1 vbpp vbpc vdda out
    m1 ( w_1 vbpp vdda vdda )  modp w=7u l=1u ad=5.95p as=5.95p pd=8.7u ps=8.7u \
            nrs=42.857m nrd=42.857m ng=1
    m2 ( out vbpc w_1 vdda )  modp w=4u l=1u ad=3.4p as=3.4p pd=5.7u ps=5.7u \
            nrs=75m nrd=75m ng=1

    ...............

    ends tst1

    ...............

    sw1 sweep sub=xs25 mod=mos bsim3v3 param=w values=[5u 6u 7u 8u 9u] {
       ac ac start=100 stop=150M dec=20
    }
    //

    Jerry

    • 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