Running simulations using OCEAN
[ Home ] [ Design WorkBook ] [ Back to index ]
Contents
- Introduction
- Reference documentation
- …
- …
Keywords:
http://www.slideshare.net/michaelgod/writing-cadence-ocean-scripts
http://www.es.isy.liu.se/courses/PhD_courses/techdoc/download/Ocean_demo_ek.pdf
Cadence training references:
http://www.cadence.com/training/eu/pages/coursedetails.aspx?courseid=ES_84454_IC.6.1.3
YouTube:
Introduction
http://venividiwiki.ee.virginia.edu/mediawiki/index.php/ToolsCadenceSimulationOCEAN
Fondamentale perche' e' la sintassi del Calculator!
youtube video here
Starting point? Beh, registrare una macro da ADE!
ADE L ⇒ Session ⇒ Save Ocean Script… con estensione .ocn
Poi lo script puo' essere eseguito dalla command line della CIW !
load("oceanScript.ocn")
Tutta la documentazione si trova in
/usr/cadence/IC_6.1.5/doc/oceanref/oceanref.pdf
mentre esempi di codice sono in
/usr/cadence/IC_6.1.5/tools/dfII/samples/artist/OCEAN
cd ~/cadence/tutorials mkdir src cd src ln -s /usr/cadence/IC_6.1.5/tools/dfII/samples/artist/OCEAN ocean_samples
the README file gives a brief description of the directory contents
Wiki tutorial here
ocean [-nograph] ... ... ocean> => OCEAN prompt
ocean> ocnHelp()
ocean> ocnHelp( "<command>" )
e.g.
ocean> ocnHelp( "tran" ) PROTOTYPE tran( g_fromValue g_toValue g_byValue ) => g_byValue/nil tran( g_toValue)=> undefined/nil DESCRIPTION Specifies a transient analysis with limited options. If other analysis options are needed, use the analysis command. NOTE The second instance of the tran command is valid only with the Spectre® circuit simulator EXAMPLE(S) tran( 1u) Specifies a transient analysis to 1u for the Spectre® Circuit Simulator tran( 0 1u 1n ) => 1e-09 t ocean>
http://homerreid.dyndns.org/misc/ocean/index.shtml (fatto molto bene!)
https://www.eleceng.adelaide.edu.au/personal/dabbott/wiki/images/d/d5/OCEAN_Tutorial_Rahimi.pdf
http://venividiwiki.ee.virginia.edu/mediawiki/index.php/ToolsCadenceSimulationOCEAN
http://blog.intgckts.com/cadence-ocean-scripting/
https://secure.engr.oregonstate.edu/wiki/ams/index.php/Cadence/WritingCadenceOCEANScripts
Sample OCEAN macros comes with Cadence IC itself under
$IC_DIR/tools/dfII/samples/artist/OCEAN
Simulation setup
Note
netlist
netlistHeader
and netlistFooter
files are mandatory!!!
https://groups.google.com/forum/#!topic/comp.cad.cadence/HzcvLFQALoY
ocean> simulator('spectre)
ocean> design("/path/to/spectre/main/netlist")
ocean> resultsDir("/where/you/want/to/put/results/")
modelFile("/path/to/model/file")
modelFile( '("/path/to/model/file" "section") '("/path/to/model/file" "section") ... ... )
Design variables
desVar( "varName" value )
desVar( "varName1" value1 "varName2" value2 ... )
or
varName( "varName1" value1 ) varName( "varName2" value2 ) ...
Analyses
analysis('type ?option1 value1 ?option2 value2 ...)
analysis('tran ?start 0 ?stop 10u ?step 10n)
Parametric analysis
Don't use the run() command! Use paramRun() !!!
Process corners simulations
http://venividiwiki.ee.virginia.edu/mediawiki/index.php/ToolsSpectreSimOceanCorners
Sample scripts:
$IC_DIR/tools/dfII/samples/artist/OCEAN/corners/
Monte Carlo simulations
http://venividiwiki.ee.virginia.edu/mediawiki/index.php/ToolsSpectreSimOceanMonteCarlo
http://www.cadence.com/Community/forums/p/13613/21552.aspx
Sample scripts:
$IC_DIR/tools/dfII/samples/artist/OCEAN/monteCarlo/