• 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. Nested sweep with Monte Carlo

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 124
  • Views 14217
  • 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

Nested sweep with Monte Carlo

Cotomaznamenat
Cotomaznamenat over 9 years ago

Hello,

This post refers to discussions in previous posts:

http://community.cadence.com/cadence_technology_forums/f/38/t/27113

http://community.cadence.com/cadence_technology_forums/f/38/t/25519

I have following problem: 

I have a variable gain amplifier with 7 gains.

I need to analyze Absolute gain error/ linearity for defined input voltage range ( scaled down with gain) and also gain step error.

I will need to perform  processing corners & montecarlo mismatch analysis. I need to perform calibration simulation of the DUT before I can do other analysis. 

I had multiple options ( ADE-XL) what to do after calibration is done :

1)      Setup  test state wit dc sweep, where the input voltage will be sweep within defined range. Setup outputs for gain/linearity.
Make 6 copies of this test. Analyzing gain step is not possible. This will also lead to more simulation overhead.

2)      Setup nested sweep. Nested sweep definition will be included as the simulation file.

Example of such file for 3 gains[1 2 4] and base input voltage range +- 100mV:

“simulator lang = spectre

swp sweep param vGainCode values [0 1 2] {

dcG dc param=vVin start=-0.1/2**vGainCode stop=0.1/2**vGainCode \

lin=200 oppoint =rawfile maxiters=150 maxsteps=1000 annotate=status

}
“

Then I can extract the outputs like gain, gain linearity, gain step , … after only 1 test is finished. So it also significantly reduces the number of corners and also the size of the simulation overhead. 

3)      Setup single test with long dc sweep. This time I will be sweeping auxiliary variable. Then a special circuitry inside test bench will generate input voltage and gain code for the DUT. Then I will be able to setup expressions for gain, linearity and also for gain step. For instance assume you will have gain [1 2 4] and input voltage range [ +-100 mV +-50 mV +-25mV]. Input voltage will be sweeped with 256 linear steps, so I will need to perform dc sweep of auxiliary variable from 0 to 2*256 with step 1. The aux circuitry will generate required scaled input voltage. With clip() function I am now able to crate expressions for all gain codes within 1 simulation. This option also reduces simulation overhead. 

I started with option 2. I have no problems with running corner simulations ( process/supply/..). Then I moved to montecarlo and the problem has been born. All the expressions evaluated to error stating that the results are not available at defined location. MonteCarlo has been setup to save data in order to allow family plots. After a short investigation and with help of Result browser I found out that the mcarlo  psf data are stored in the MonteCarlo.0/1/test_dc/groupRunDataDir/psf/mc1_separate/001/

But the results of nested sweep were not located inside this location. I found the nested sweep results in the location MonteCarlo.0/1/test_dc/groupRunDataDir/psf . After short investigation of the input.scs I discovered that the include file defining nested sweep is at the very beginning of the input.scs and is not included inside the montecarlo control sequence. So far I have not found a way how to insert this include file. My question is this even possible, or the nested sweeps are not allowed inside montecarlo analysis?

Thanks in advance.

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    The nested sweeps inside monte carlo isn't a problem - it's just that you can't get the include in the right place in the netlist. 

    I was going to suggest using a pre-run script instead, as that runs prior to each monte carlo point. However, I think that would still include the swept analysis outside the single point monte carlo analysis that would be used when running with pre-run scripts.

    I have some ideas as to how this could be solved but I'm not sure I want to share them in a public forum because it might involve having to use some custom SKILL code as a workaround, and that code is not ready for public distribution (it contains some private functionality). So could you please contact customer support and mention that we've discussed this - and ask the AE dealing with it to contact me?

    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