• 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. spectre nested sweep in MC run fails to "export" expres...

Stats

  • Locked Locked
  • Replies 11
  • Subscribers 125
  • Views 6385
  • 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

spectre nested sweep in MC run fails to "export" expression

kxlux
kxlux over 12 years ago

 Here is my netlist(analysis part of.., produced from ADEXL):

________________________________________________________________________________________

simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=70 \
    tnom=27 homotopy=dptran scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 \
    maxnotes=5 maxwarns=5 digits=5 cols=80 pivrel=1e-3 \
    sensfile="../psf/sens.output" checklimitdest=psf
mc1 montecarlo numruns=1 seed=12345 variations=all sampling=standard \
    donominal=no scalarfile="../monteCarlo/mcdata" \
    paramfile="../monteCarlo/mcparam" saveprocessparams=yes \
    processparamfile="../monteCarlo/processParam" \
    processscalarfile="../monteCarlo/processData" savemismatchparams=yes \
    mismatchparamfile="../monteCarlo/mismatchparam" \
    mismatchscalarfile="../monteCarlo/mismatchdata" \
    dumpdependency=mismatch \
    dependencymapfile="../monteCarlo/mismatchdependency" \
    savefamilyplots=yes savedatainseparatedir=yes firstrun=15 {
swp0 sweep param=EQ values=[0 1 2 3] {
dcOp0 dc write="spectre.dc" maxiters=150 maxsteps=10000 annotate=status
dcOpInfo0 info what=oppoint where=rawfile
ac0 ac start=10K stop=10G lin=1 annotate=status
modelParameter0 info what=models where=rawfile
element0 info what=inst where=rawfile
outputParameter0 info what=output where=rawfile
designParamVals0 info what=parameters where=rawfile
primitives0 info what=primitives where=rawfile
export real Gain100k0=oceanEval("value((dB20((VF(\"VOP\") - VF(\"VON\"))) - dB20((VF(\"CHINP\") - VF(\"CHINN\")))) 1e+4)")
export real Gain13G0=oceanEval("value((dB20((VF(\"VOP\") - VF(\"VON\"))) - dB20((VF(\"CHINP\") - VF(\"CHINN\")))) 1.0e+10)")
}

}
mcOptions options genmcdep=yes
save V10CUR:p V33CUR:p VIP_IN VIN_IN I1.I1.CTLEOUT2 I1.I1.CTLEOUT2B VOP \
    VON CHINP CHINN I1.I1.I0.CTLEOUT1 I1.I1.I0.CTLEOUT1B I2.I15.M7:1 \
    I2.I15.M17:1
saveOptions options save=selected
__________________________________________________________________________________________________

 Here is files generated in psf dir:

artil.log       

logFile     

mc1_ac1.montecarlo  

mc1_dcOpInfo.montecarlo        

mc1_element.montecarlo        

mc1_outputParameter.montecarlo 

mc1_separate
ipvs_ui.msg.log 

mc1.mapping 

mc1_dcOp.montecarlo 

mc1_designParamVals.montecarlo 

mc1_modelParameter.montecarlo 

mc1_primitives.montecarlo      

spectre.out

_________________________________________________________________

The "mc1_separate"is a dir containing sweep result files:

 -rw-r--r-- 1 workareas        0 Aug 20 10:40 ipvs_ui.msg.log
-rw-r--r-- 1 workareas     1231 Aug 16 21:31 logFile
-rw-r--r-- 1 workareas     4872 Aug 16 21:30 mc1_swp-000_ac1.ac
-rw-r--r-- 1 workareas     4036 Aug 16 21:30 mc1_swp-000_dcOp.dc
-rw-r--r-- 1 workareas  4012008 Aug 16 21:30 mc1_swp-000_dcOpInfo.info
-rw-r--r-- 1 workareas   183276 Aug 16 21:30 mc1_swp-000_designParamVals.info
-rw-r--r-- 1 workareas  4437996 Aug 16 21:30 mc1_swp-000_element.info
-rw-r--r-- 1 workareas 32983396 Aug 16 21:30 mc1_swp-000_modelParameter.info
-rw-r--r-- 1 workareas  1109648 Aug 16 21:30 mc1_swp-000_outputParameter.info
-rw-r--r-- 1 workareas    13935 Aug 16 21:30 mc1_swp-000_primitives.info.primitives
-rw-r--r-- 1 workareas     4872 Aug 16 21:31 mc1_swp-001_ac1.ac
-rw-r--r-- 1 workareas     4036 Aug 16 21:31 mc1_swp-001_dcOp.dc
-rw-r--r-- 1 workareas  4012008 Aug 16 21:31 mc1_swp-001_dcOpInfo.info
-rw-r--r-- 1 workareas   183276 Aug 16 21:31 mc1_swp-001_designParamVals.info
-rw-r--r-- 1 workareas  4437996 Aug 16 21:31 mc1_swp-001_element.info
-rw-r--r-- 1 workareas 32983396 Aug 16 21:31 mc1_swp-001_modelParameter.info
-rw-r--r-- 1 workareas  1109648 Aug 16 21:31 mc1_swp-001_outputParameter.info
-rw-r--r-- 1 workareas    13935 Aug 16 21:31 mc1_swp-001_primitives.info.primitives
-rw-r--r-- 1 workareas     4872 Aug 16 21:31 mc1_swp-002_ac1.ac
-rw-r--r-- 1 workareas     4036 Aug 16 21:31 mc1_swp-002_dcOp.dc
-rw-r--r-- 1 workareas  4012008 Aug 16 21:31 mc1_swp-002_dcOpInfo.info
-rw-r--r-- 1 workareas   183276 Aug 16 21:31 mc1_swp-002_designParamVals.info
-rw-r--r-- 1 workareas  4437996 Aug 16 21:31 mc1_swp-002_element.info
-rw-r--r-- 1 workareas 32983396 Aug 16 21:31 mc1_swp-002_modelParameter.info
-rw-r--r-- 1 workareas  1109648 Aug 16 21:31 mc1_swp-002_outputParameter.info
-rw-r--r-- 1 workareas    13935 Aug 16 21:31 mc1_swp-002_primitives.info.primitives
-rw-r--r-- 1 workareas     4872 Aug 16 21:31 mc1_swp-003_ac1.ac
-rw-r--r-- 1 workareas     4036 Aug 16 21:31 mc1_swp-003_dcOp.dc
-rw-r--r-- 1 workareas  4012008 Aug 16 21:31 mc1_swp-003_dcOpInfo.info
-rw-r--r-- 1 workareas   183276 Aug 16 21:31 mc1_swp-003_designParamVals.info
-rw-r--r-- 1 workareas  4437996 Aug 16 21:31 mc1_swp-003_element.info
-rw-r--r-- 1 workareas 32983396 Aug 16 21:31 mc1_swp-003_modelParameter.info
-rw-r--r-- 1 workareas  1109648 Aug 16 21:31 mc1_swp-003_outputParameter.info
-rw-r--r-- 1 workareas    13935 Aug 16 21:31 mc1_swp-003_primitives.info.primitives
-rw-r--r-- 1 workareas     3432 Aug 16 21:31 mc1_swp_ac1.sweep
-rw-r--r-- 1 workareas     3432 Aug 16 21:31 mc1_swp_dcOp.sweep
-rw-r--r-- 1 workareas     3436 Aug 16 21:31 mc1_swp_dcOpInfo.sweep
-rw-r--r-- 1 workareas     3444 Aug 16 21:31 mc1_swp_designParamVals.sweep
-rw-r--r-- 1 workareas     3436 Aug 16 21:31 mc1_swp_element.sweep
-rw-r--r-- 1 workareas     3444 Aug 16 21:31 mc1_swp_modelParameter.sweep
-rw-r--r-- 1 workareas     3444 Aug 16 21:31 mc1_swp_outputParameter.sweep
-rw-r--r-- 1 workareas     3440 Aug 16 21:31 mc1_swp_primitives.sweep
_________________________________________________________________________________________

questions:

1. why the "export" was not executed?

2.  how to plot an expression from resultsdirectory?

 

what i am trying to achieve is do a DC followed by an AC within each MC run and nested with a sweep of a parameter.

 appreciate any feedbacks.

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

    That's because you're trying to sweep the variable from the global variables. As I said before, that is not supported in ADE XL.

    You must do the sweep in a corner for this to work. Expand the corners in the Data View assistant, and click on the "Click to add corner". Add a corner with the "Add New Corner" icon (it's a thermometer with a *). In the Variables section, hit the Click to add, and in the cyclic that appears, pick EQ. In the column for your new column, type 0:1:10 (or click in the field, and then hit the Set Sweep Value icon (the dial icon) - this can also be found in the right mouse button over the field - if you do that you get a form like you get in the Variables part of the Data View assistant to set up the sweep.

    At the bottom of the corner definition, you'll see that the number of corners will reflect the number of points in the sweep within the corner - effectively a corner can have a number of sub-corners.

    You can also set up the models from the corner definition too - although it's not essential. If you don't it will pick the model setup from the test (if my memory is correct).

    Of course, you'll need to disable the sweep from the variables section of the data view assistant.

    Regards,

    Andrew.

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

    That's because you're trying to sweep the variable from the global variables. As I said before, that is not supported in ADE XL.

    You must do the sweep in a corner for this to work. Expand the corners in the Data View assistant, and click on the "Click to add corner". Add a corner with the "Add New Corner" icon (it's a thermometer with a *). In the Variables section, hit the Click to add, and in the cyclic that appears, pick EQ. In the column for your new column, type 0:1:10 (or click in the field, and then hit the Set Sweep Value icon (the dial icon) - this can also be found in the right mouse button over the field - if you do that you get a form like you get in the Variables part of the Data View assistant to set up the sweep.

    At the bottom of the corner definition, you'll see that the number of corners will reflect the number of points in the sweep within the corner - effectively a corner can have a number of sub-corners.

    You can also set up the models from the corner definition too - although it's not essential. If you don't it will pick the model setup from the test (if my memory is correct).

    Of course, you'll need to disable the sweep from the variables section of the data view assistant.

    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