The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Apr 20th, 2024, 2:06am
Pages: 1
Send Topic Print
sensitivity analysis in Ocean script (Read 606 times)
c1000
Junior Member
**
Offline



Posts: 16

sensitivity analysis in Ocean script
Dec 12th, 2010, 2:10pm
 
In the ocean script, I need to simulate the sensitivity of ids to l
(Leff) with respect to vds, vgs and vbs. For ids table, I used
****************************************************
analysis( 'dc ?saveOppoint t ) paramAnalysis("Vb" ?start Vground ?stop -Vsupply ?step -0.1
 paramAnalysis( "Vg" ?start Vground ?stop Vsupply ?step 0.05
  paramAnalysis( "Vd" ?start Vground ?stop Vsupply ?step 0.05
 )
)
)
paramRun()

selectResults('dcOpInfo)
idsAll = pv("n1" "ids")
*****************************************************
then how to 'sens??
I checked documents, it seems 'sens is only valid for dc not paramAnalysis. do I need to sweep vb,vg and vg in the script and simulate?

Then the other problem pops out.
if I use the following script for sensitivity analysis,
****************************************************
analysis( 'sens ?analyses_list "dc" ?output_variables_list "n1:ids"
?design_parameters_list "l" )
dc( "Vg" "dc" 0.00 0.05 0.10 )
run()
selectResults('sens)
*******************************************************
then how to save and display the sensitivities with respect to vds,vgs and vbs?? I used to use pv() to save ids values with respect to terminal voltages. but in .sens, the output is "n1:ids,n1:l", then I don't know how to use pv() and whether I should use pv(). how to do that?
Back to top
 
 
View Profile   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

Life, don't talk to
me about Life...

Posts: 1742
Bracknell, UK
Re: sensitivity analysis in Ocean script
Reply #1 - Jan 2nd, 2011, 9:22am
 
You don't need to do a parametric analysis to do a sensitivity analysis.

Assuming you have a source called "vds" and "vgs" in your schematic, the following OCEAN script can be used:
Code:
analysis('dc ?saveOppoint t  )
;analysis('sens ?analyses_list list("dcOp")  ?term list("/M0/S" "/M0/G" "/M0/B" "/M0/D")  )
analysis('sens ?analyses_list list("dcOp")  ?output_list list("M0:ids"))
desVar(   "Vds" 1	 )
desVar(   "Vgs" 0.7     )
temp( 27 )
run() 



Then afterwards, do:

Code:
selectResults('dcOpSens)
vdsSens=pv("/sens1" "M0:ids,vds:dc")
vgsSens=pv("/sens1" "M0:ids,vgs:dc") 



The ?output_list is referencing the ids parameter of the transistor you want to measure the sensitivity to. ADE always produces a sensitivity analysis to all instance and model parameters (there's no way to be selective about it, unfortunately, despite the fact that this is supported in spectre). The results are presented in terms of pairs of output parameter to input parameter names - in this case I'm checking the sensitivity to the dc parameter on the two voltage sources.

Best Regards,

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
c1000
Junior Member
**
Offline



Posts: 16

Re: sensitivity analysis in Ocean script
Reply #2 - Jan 3rd, 2011, 6:46am
 
Thanks a lot!!!
Back to top
 
 
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.