Running simulations using OCEAN

Contents

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



Last update: Luca Pacher - Aug 20, 2013