
www.Usenet.com
| <-- __Chronological__ --> | <-- __Thread__ --> |
Hi,
I actually use 2 scripts (because it didn't work by just putting them
together into one) :
script number one (which is executed from the shell) :
---------
ocean -nograph <oceanScript1.ocn
ocean -nograph <oceanScript2.ocn
----------
the oceanScripts themself look like this :
----------
; INIT
simulator( 'spectre )
design( "/AMS_CDS_3.51/Sim/Test5/spectre/schematic/netlist/netlist")
resultsDir( "/AMS_CDS_3.51/Sim/Test5/spectre/schematic/" )
modelFile( '("/software/init.scs" "") '("/software/definitions.scs" "")
'("/software/include.scs" "slow") )
temp( 27 )
desVar( "vctrl" 1.044)
desVar( "W_TG" 1 )
desVar( "W_INV" 1 )
p = outfile( "./outfile_slow_5")
save( 'v "/osc_out" )
converge( 'ic "/osc_out" "0" )
desVar( "lambda_TG" 1)
desVar( "lambda_INV" 1)
; MAIN
lambdaTGList=list(1 1.5 2 4 )
lambdaINVList=list(1 1.5 2 4 )
WeiteTGList=list(0.16u 0.32u 0.48u 0.96u 1.92u )
WeiteINVList=list(0.16u 0.32u 0.48u 0.96u 1.92u )
foreach(lambdaTG lambdaTGList
desVar("lambda_TG" lambdaTG)
foreach(lambdaINV lambdaINVList
desVar("lambda_INV" lambdaINV)
foreach(Winv WeiteINVList
desVar("W_INV" Winv )
foreach(Weite WeiteTGList
desVar("W_TG" Weite )
delete( 'analysis )
analysis('tran ?stop "10n" )
paramAnalysis( "vctrl" ?values '(0 0.1666666666666667 0.3333333333333333
0.5 0.6666666666666666 0.8333333333333333 0.999999
paramRun()
pvctrl=cross( frequency( VT("/osc_out"
"/AMS_CDS_3.51/Sim/Test5/spectre/schematic")), 1.565G)
if(
numberp(cross(frequency(VT("/osc_out"
"/AMS_CDS_3.51/Sim/Test5/spectre/schematic")),1.565G))
; IF TRUE
(pvctrl=cross(frequency(VT("/osc_out"
"/home/joeres/AMS_CDS_3.51/Sim/Test5/spectre/schematic")),1.565G))
; ELSE
(pvctrl=1.5)
) ; ENDIF
delete('analysis)
desVar( "vctrl" pvctrl)
analysis('tran ?stop "10n" )
analysis('pss ?fund "1.565G" ?harms "5" ?errpreset "conservative" ?p
"/osc_out" ?n "/gnd!" )
analysis('pnoise ?relharmnum "" ?start "10k" ?stop "100G" ?maxsideband
"3" ?p "/osc_out" ?n "/gnd!" ?oprobe "" ?ipro
run()
PhaseNoise = value(phaseNoise(1 "pss_fd" ?result "pnoise") 1000000)
ocnPrint( ?output p pvctrl )
ocnPrint( ?output p Weite )
ocnPrint( ?output p lambdaTG)
ocnPrint( ?output p Winv )
ocnPrint( ?output p "-------------------------")
drain(p)
) ; END FOREACH
) ; END FOREACH
) ; END FOREACH
) ; END FOREACH
close(p)
; END MAIN
--------- END OCEAN SCRIPT
Another thing I was wondering about : When I try to put an 'ocnPrint(
?output p "TEXT)' as first statement - ocean complains about something like
"not a function" or similar (can't compile this at the moment ...)
Thanks in advance,
Stefan
| <-- __Chronological__ --> | <-- __Thread__ --> |