Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Use the HSpice models in Cadence IC 5 using Spectre sim

Status
Not open for further replies.

gezzas525

Full Member level 3
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

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top