Use the HSpice models in Cadence IC 5 using Spectre sim

Status
Not open for further replies.

gezzas525

Full Member level 3
Joined
Mar 14, 2002
Messages
150
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,296
Activity points
1,740
tools.lnx86 spp

Hi, iam trying to get the hspice models to work under spectre, specificaly the tsmc18 models. Taking the hspice/public/publicmodels of the tsmc I converted it to spectre format using spp:

spp -convert < tsmc18dN > tsmc18N

etc..


when I come to simulate it I get the following errors


Error found by spectre during circuit read-in.
"/home/kleo/cadence/mymodels/N" 1: Illegal library definition found in
netlist
"/home/kleo/cadence/mymodels/P" 2: Illegal library definition found in
netlist
"/home/kleo/cadence/mymodels/P" 4: Duplicate name `section'.

spectre terminated prematurely due to fatal error.





so after this I delete the library section and xmos sections and then it simulates but gives a few warnings:



Command line:
spectre -env artist5.0.0 +log ../psf/spectre.out +inter=mpsc \
+mpssession=spectre8_4082_18 -format psfbin -raw ../psf \
input.scs
spectre pid = 7204

Loading /home/kleo/cadence/tools.lnx86/spectre/lib/cmi/2.0/libinfineon_sh.so
...
Loading /home/kleo/cadence/tools.lnx86/spectre/lib/cmi/2.0/libnortel_sh.so ...
Loading /home/kleo/cadence/tools.lnx86/spectre/lib/cmi/2.0/libphilips_sh.so
...
Loading /home/kleo/cadence/tools.lnx86/spectre/lib/cmi/2.0/libstmodels_sh.so
...
spectre (ver. 5.0.0.120902 -- 09 Dec 2002).

Simulating `input.scs' on localhost.localdomain at 7:37:35 PM, Sun Jun 27,
2004.

Circuit inventory:
nodes 3
equations 5
bsim3v3 2
vsource 2

Entering remote command mode using MPSC service (spectre, ipi, v0.0,
spectre8_4082_18, ).

************************************************
Transient Analysis `tran': time = (0 s -> 10 ns)
************************************************

Warning from spectre during IC analysis, during transient analysis `tran'.
P0: Vgs has exceeded the oxide breakdown voltage of `vbox' = 4 V.
P0: Vgd has exceeded the oxide breakdown voltage of `vbox' = 4 V.
N0: Vgd has exceeded the oxide breakdown voltage of `vbox' = 4 V.

Important parameter values:
start = 0 s
outputstart = 0 s
stop = 10 ns
step = 10 ps
maxstep = 200 ps
ic = all
skipdc = no
reltol = 1e-03
abstol(V) = 1 uV
abstol(I) = 1 pA
temp = 27 C
tnom = 27 C
tempeffects = all
errpreset = moderate
method = traponly
lteratio = 3.5
relref = sigglobal
cmin = 0 F
gmin = 1 pS


Warning from spectre at time = 10 ps during transient analysis `tran'.
P0: Vgs has exceeded the oxide breakdown voltage of `vbox' = 4 V.
P0: Vgd has exceeded the oxide breakdown voltage of `vbox' = 4 V.
N0: Vgd has exceeded the oxide breakdown voltage of `vbox' = 4 V.
Notice from spectre at time = 204.192 ps during transient analysis `tran'.
P0: Device leaves the gate-source oxide breakdown region.
P0: Device leaves the gate-drain oxide breakdown region.
N0: Device leaves the gate-drain oxide breakdown region.

tran: time = 270.1 ps (2.7 %), step = 65.86 ps (659 m%)
tran: time = 773.1 ps (7.73 %), step = 73.75 ps (738 m%)

Warning from spectre at time = 878.256 ps during transient analysis `tran'.
P0: Vgd has exceeded the oxide breakdown voltage of `vbox' = 4 V.
Further occurrences of this warning will be suppressed.
N0: Vgs has exceeded the oxide breakdown voltage of `vbox' = 4 V.

tran: time = 1.346 ns (13.5 %), step = 157.5 ps (1.58 %)
tran: time = 1.946 ns (19.5 %), step = 200 ps (2 %)
tran: time = 2.346 ns (23.5 %), step = 200 ps (2 %)
tran: time = 2.946 ns (29.5 %), step = 200 ps (2 %)
tran: time = 3.346 ns (33.5 %), step = 200 ps (2 %)
tran: time = 3.946 ns (39.5 %), step = 200 ps (2 %)
tran: time = 4.346 ns (43.5 %), step = 200 ps (2 %)
tran: time = 4.873 ns (48.7 %), step = 126.9 ps (1.27 %)

Notice from spectre at time = 5.21116 ns during transient analysis `tran'.
P0: Device leaves the gate-drain oxide breakdown region.
N0: Device leaves the gate-source oxide breakdown region.
N0: Device leaves the gate-drain oxide breakdown region.

tran: time = 5.348 ns (53.5 %), step = 137.2 ps (1.37 %)
tran: time = 5.796 ns (58 %), step = 64.96 ps (650 m%)

Warning from spectre at time = 5.87779 ns during transient analysis `tran'.
P0: Vgs has exceeded the oxide breakdown voltage of `vbox' = 4 V.

tran: time = 6.437 ns (64.4 %), step = 195.6 ps (1.96 %)
tran: time = 6.837 ns (68.4 %), step = 200 ps (2 %)
tran: time = 7.437 ns (74.4 %), step = 200 ps (2 %)
tran: time = 7.837 ns (78.4 %), step = 200 ps (2 %)
tran: time = 8.437 ns (84.4 %), step = 200 ps (2 %)
tran: time = 8.837 ns (88.4 %), step = 200 ps (2 %)
tran: time = 9.437 ns (94.4 %), step = 200 ps (2 %)
tran: time = 9.837 ns (98.4 %), step = 200 ps (2 %)
Number of accepted tran steps = 103.
Initial condition solution time = 0 s.
Intrinsic tran analysis time = 10 ms.
Total time required for tran analysis `tran' was 10 ms.


Warning from spectre.
3 warnings suppressed.

finalTimeOP: writing operating point information to rawfile.
modelParameter: writing model parameter values to rawfile.
element: writing instance parameter values to rawfile.
outputParameter: writing output parameter values to rawfile.
designParamVals: writing netlist parameters to rawfile.





What is the model file suppost to look like for the spectre simulator?
 

vgs vbox

here is the current model file after the convertion:


simulator lang=spectre insensitive=yes
library MyLib

section pmos

// DATE: Dec 9/02
// LOT: T29B WAF: 6003
// Temperature_parameters=Default

model tsmc18dp bsim3v3 type=p
+ version=3.1 tnom=27 tox=4e-9
+ xj=1e-7 nch=4.1589e17 vth0=-0.4064886
+ k1=0.5499001 k2=0.0389453 k3=0
+ k3b=11.4951756 w0=1e-6 nlx=9.143209e-8
+ dvt0w=0 dvt1w=0 dvt2w=0
+ dvt0=0.5449299 dvt1=0.3160821 dvt2=0.1
+ u0=117.9612996 ua=1.64867e-9 ub=1.165056e-21
+ uc=-1e-10 vsat=2e5 a0=1.7833459
+ ags=0.407511 b0=1.314603e-6 b1=5e-6
+ keta=0.0137171 a1=0.4610527 a2=0.6597363
+ rdsw=364.9443889 prwg=0.5 prwb=-0.1129203
+ wr=1 wint=0 lint=2.007556e-8
+ xl=-2e-8 xw=-1e-8 dwg=-2.835566e-8
+ dwb=8.003075e-9 voff=-0.1064646 nfactor=2
+ cit=0 cdsc=2.4e-4 cdscd=0
+ cdscb=0 eta0=0.0141703 etab=-0.0398356
+ dsub=0.4441401 pclm=2.2364512 pdiblc1=9.167645e-4
+ pdiblc2=0.0209189 pdiblcb=-9.568266e-4 drout=9.976778e-4
+ pscbe1=1.731161e9 pscbe2=5e-10 pvag=14.337819
+ delta=0.01 rsh=7.5 mobmod=1
+ prt=0 ute=-1.5 kt1=-0.11
+ kt1l=0 kt2=0.022 ua1=4.31e-9
+ ub1=-7.61e-18 uc1=-5.6e-11 at=3.3e4
+ wl=0 wln=1 ww=0
+ wwn=1 wwl=0 ll=0
+ lln=1 lw=0 lwn=1
+ lwl=0 capmod=2 xpart=0.5
+ cgdo=6.79e-10 cgso=6.79e-10 cgbo=1e-12
+ cj=1.176396e-3 pb=0.8607121 mj=0.4163285
+ cjsw=2.135953e-10 pbsw=0.6430918 mjsw=0.2654457
+ cjswg=4.22e-10 pbswg=0.6430918 mjswg=0.2654457
+ cf=0 pvth0=4.364418e-3 prdsw=4.4192048
+ pk2=3.104478e-3 wketa=0.0270296 lketa=2.038008e-3
+ pu0=-2.3639825 pua=-8.41675e-11 pub=1e-21
+ pvsat=-50 peta0=1e-4 pketa=-1.444802e-3
//

endsection pmos
endlibrary MyLib




and after I edited it:


simulator lang=spectre insensitive=yes

// DATE: Dec 9/02
// LOT: T29B WAF: 6003
// Temperature_parameters=Default

model tsmc18dp bsim3v3 type=p
+ version=3.1 tnom=27 tox=4e-9
+ xj=1e-7 nch=4.1589e17 vth0=-0.4064886
+ k1=0.5499001 k2=0.0389453 k3=0
+ k3b=11.4951756 w0=1e-6 nlx=9.143209e-8
+ dvt0w=0 dvt1w=0 dvt2w=0
+ dvt0=0.5449299 dvt1=0.3160821 dvt2=0.1
+ u0=117.9612996 ua=1.64867e-9 ub=1.165056e-21
+ uc=-1e-10 vsat=2e5 a0=1.7833459
+ ags=0.407511 b0=1.314603e-6 b1=5e-6
+ keta=0.0137171 a1=0.4610527 a2=0.6597363
+ rdsw=364.9443889 prwg=0.5 prwb=-0.1129203
+ wr=1 wint=0 lint=2.007556e-8
+ xl=-2e-8 xw=-1e-8 dwg=-2.835566e-8
+ dwb=8.003075e-9 voff=-0.1064646 nfactor=2
+ cit=0 cdsc=2.4e-4 cdscd=0
+ cdscb=0 eta0=0.0141703 etab=-0.0398356
+ dsub=0.4441401 pclm=2.2364512 pdiblc1=9.167645e-4
+ pdiblc2=0.0209189 pdiblcb=-9.568266e-4 drout=9.976778e-4
+ pscbe1=1.731161e9 pscbe2=5e-10 pvag=14.337819
+ delta=0.01 rsh=7.5 mobmod=1
+ prt=0 ute=-1.5 kt1=-0.11
+ kt1l=0 kt2=0.022 ua1=4.31e-9
+ ub1=-7.61e-18 uc1=-5.6e-11 at=3.3e4
+ wl=0 wln=1 ww=0
+ wwn=1 wwl=0 ll=0
+ lln=1 lw=0 lwn=1
+ lwl=0 capmod=2 xpart=0.5
+ cgdo=6.79e-10 cgso=6.79e-10 cgbo=1e-12
+ cj=1.176396e-3 pb=0.8607121 mj=0.4163285
+ cjsw=2.135953e-10 pbsw=0.6430918 mjsw=0.2654457
+ cjswg=4.22e-10 pbswg=0.6430918 mjswg=0.2654457
+ cf=0 pvth0=4.364418e-3 prdsw=4.4192048
+ pk2=3.104478e-3 wketa=0.0270296 lketa=2.038008e-3
+ pu0=-2.3639825 pua=-8.41675e-11 pub=1e-21
+ pvsat=-50 peta0=1e-4 pketa=-1.444802e-3
//


Kleos
 

xpart parameter cadence

For one thing, just by looking at the errors that are outputted, are your voltages correct? The tsmc.18 process I believe is a 1.8V process. What are you doing to run it above 4V. Are your input voltages 5V's?

Note: I have not used spectre and so am not sure about this.
 

notice from spectre has exceeded

I have same problem, too. As the same, when i deleted section lines and attached only one section, the problem had solved. So I think we could not determine "section command" to spectre. Is there some command that we missed? Why did not spectre understand "section command" ?
Libertador.
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…