Hello !!
I am launching a script .ocn to do some spectre simulation : qs ocean -restore script.ocn in which I have written (xxx to remove the real names...):
script.ocn :
simulator( 'spectre )
design("xxx/netlist")
resultsDir( "xxx/results/" )
stimulusFile( ?xlate nil
"xxx/_graphical_stimuli.scs")
analysis('tran ?stop "100n" )
desVar( "wn1" 100n "ln1" 10n "wn2" 80n "ln2" 30n ... "nmos_tran_model_vth" "nsvtlp" ...)
definitionFile( ".../models.scs" )
temp( 200)
converge( 'ic "out_b" 0 )
converge( 'ic "out" 1.1 )
envOption(
'analysisOrder list("tran")
)
save( 'v "out" "out_b" ... "vss" "vri" "vli" )
run()
In the same directory, containing the above script, I have :
corners.scs hiddenOptions.scs models.scs results/
_graphical_stimuli.scs importNetlist.scs script.ocn setupCornersIncludeFile.scs netlist
The netlist content :
// Library name: xxx
// Cell name: inv
// View name: schematic
subckt inv A1 YN vdd vnw vpw vss
parameters wp=xxx lp=xxx pfolds=1 wn=xxx ln=xxx nfolds=1
M5 (YN A1 vdd vnw) pmos_tran_model_vth w=wp*10e5 l=lp*10e5 nfing=pfolds mult=1 \
srcefirst=1 mismatch=1 lpe=0 numcos=1 numcod=1 ngcon=1
M2 (YN A1 vss vpw) nmos_tran_model_vth w=wn*10e5 l=ln*10e5 nfing=nfolds mult=1 \
srcefirst=1 mismatch=1 lpe=0 numcos=1 numcod=1 ngcon=1
ends inv
// End of subcircuit definition.
// Library name: xxx
// Cell name: ncx
// View name: schematic
subckt ncx ncx
ends ncx
// End of subcircuit definition.
// Library name: Test
// Cell name: xxx
// View name: schematic
Rleft (vli saout_b) resistor r=Rleft
M2 (out saeqi saout_b vpw) nmos_tran_model_vth w=wn1 l=ln1 nfing=1 mult=1 \
srcefirst=1 mismatch=1 lpe=0 numcos=1 numcod=1 ngcon=1
...
M0 (out net07 vss vpw) nmos_tran_model_vth w=wndiff l=lndiff nfing=1 mult=1 \
srcefirst=1 mismatch=1 lpe=0 numcos=1 numcod=1 ngcon=1
M4 (vli saeni vdd vnw) pmos_tran_model_vth w=wpen l=lpen nfing=1 mult=1 srcefirst=1 \
mismatch=1 lpe=0 numcos=1 numcod=1 ngcon=1
M3 (vri saeni vdd vnw) pmos_tran_model_vth w=wpen l=lpen nfing=1 mult=1 srcefirst=1 \
mismatch=1 lpe=0 numcos=1 numcod=1 ngcon=1
I1 (out_b net08 vdd vnw vpw vss) inv wp=xxx lp=xxx pfolds=1 wn=xxx \
ln=xxx nfolds=1
...
V0 (net07 aout_b) vsource dc=xxx type=dc
...
I2 (net09) ncx
I cannot succeed in launching without any error the simulation :
log :
...
Simulating `input.scs' on clusts04 at 4:05:12 PM (process id:
13569).
Notice from spectre in `ncx', during circuit read-in.
"input.scs" 29: Subcircuit 'ncx' is empty.
Time for NDB Parsing: CPU = 761.883 ms, elapsed = 1.48527 s.
Time accumulated: CPU = 761.883 ms, elapsed = 1.48527 s.
Peak resident memory used = 30 Mbytes.
Error found by spectre during hierarchy flattening.
ERROR (SFE-23): "input.scs" 37: M2 is an instance of an undefined model
nsvtlp.
ERROR (SFE-23): "input.scs" 39: M1 is an instance of an undefined model
nsvtlp.
ERROR (SFE-23): "input.scs" 41: M0 is an instance of an undefined model
nsvtlp.
ERROR (SFE-23): "input.scs" 43: M4 is an instance of an undefined model
psvtlp.
ERROR (SFE-23): "input.scs" 45: M3 is an instance of an undefined model
psvtlp.
Error found by spectre in `inv':`I1', during hierarchy flattening.
ERROR (SFE-23): "input.scs" 18: I1.M5 is an instance of an undefined model
psvtlp.
ERROR (SFE-23): "input.scs" 20: I1.M2 is an instance of an undefined model
nsvtlp.
Error found by spectre in `inv':`I0', during hierarchy flattening.
ERROR (SFE-23): "input.scs" 18: I0.M5 is an instance of an undefined model
I would like to be able to launch sucessfully the simulation without any amap/ directory. To do it, I have tried to remove in the script.ocn, the "/" from /out for example.
I don't undertsand why I should, mandatory, use an input.scs file, and once the command launched, I don't have any input.scs file created.
Do you think this is possible ?
Thanks a lot !!
Pete