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.

problem in include file in Hspice

Status
Not open for further replies.

rajamrish

Newbie level 4
Joined
Feb 20, 2014
Messages
6
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
75
hi everyone,

Can any of u help me with this.
i have downloaded the PTM file for 32nm FINFET.

the file has inculed statement as below,

* This is sub 32nm FinFET prdictive model
.options post=2 brief

.param tbsi=8.6n

** subckt for NMOS **

.subckt DGNMOS NVd NVgf NVgb NVs wdg=80n ldg=32n

.include './soinmos1.pm' * front soi model card
.include './soinmos2.pm' * back soi model card

.param pnch = 2e16
.param ptox = 1.4e-9
.param ptsi = 'tbsi'
.param ptbox = 1.4e-9
.param npvthf0 = 0.29
.param npvthb0 = 0.29
.param esi = 11.7
.param eox = 3.9
.param nlambda1 ='(-1)*(ptox/(ptbox+ptsi/(esi/eox)))'
.param nlambda2 ='(-1)*(ptbox/(ptox+ptsi/(esi/eox)))'

.param delta1 = 0.008
.param delta2 = 0.008

.param Voff2=-0.09
.param N = 0.2
.param Vt = 0.0259
.param Voff1 = 0.0

mn1 NVd NVgf1 NVs 0 nmos1 w='wdg/2' l='ldg'
+ as='wdg/2*2*ldg' ad='wdg/2*2*ldg'
+ ps='wdg/2+4*ldg' pd='wdg/2+4*ldg'
mn2 NVd NVgb1 NVs 0 nmos2 w='wdg/2' l='ldg'
+ as='wdg/2*2*ldg' ad='wdg/2*2*ldg'
+ ps='wdg/2+4*ldg' pd='wdg/2+4*ldg'

En1 NVgf NVgf1 VOL = 'nlambda1*(-1*N*Vt*log(1+exp((((nlambda2*(npvthb0-(v(NVd)-v(NVs))*delta2)+(npvthf0-(v(NVd)-v(NVs))*delta1))/(1-(nlambda1*nlambda2))+Voff2)-(v(NVgb)-v(NVs))-Voff1)/N/Vt))+N*Vt*log(1+exp((((nlambda2*(npvthb0-(v(NVd)-v(NVs))*delta2)+(npvthf0-(v(NVd)-v(NVs))*delta1))/(1-(nlambda1*nlambda2))+Voff2)-Voff1)/N/Vt))-1*N*Vt*log(1+exp(((-1)*((nlambda2*(npvthb0-(v(NVd)-v(NVs))*delta2)+(npvthf0-(v(NVd)-v(NVs))*delta1))/(1-(nlambda1*nlambda2))+Voff2)-Voff1)/N/Vt))+N*Vt*log(1+exp((-Voff1)/N/Vt)))'
En2 NVgb NVgb1 VOL = 'nlambda2*(-1*N*Vt*log(1+exp((((nlambda1*(npvthf0-(v(NVd)-v(NVs))*delta1)+(npvthb0-(v(NVd)-v(NVs))*delta2))/(1-(nlambda1*nlambda2))+Voff2)-(v(NVgf)-v(NVs))-Voff1)/N/Vt))+N*Vt*log(1+exp((((nlambda1*(npvthf0-(v(NVd)-v(NVs))*delta1)+(npvthb0-(v(NVd)-v(NVs))*delta2))/(1-(nlambda1*nlambda2))+Voff2)-Voff1)/N/Vt))-1*N*Vt*log(1+exp(((-1)*((nlambda1*(npvthf0-(v(NVd)-v(NVs))*delta1)+(npvthb0-(v(NVd)-v(NVs))*delta2))/(1-(nlambda1*nlambda2))+Voff2)-Voff1)/N/Vt))+N*Vt*log(1+exp((-Voff1)/N/Vt)))'
.ends





** sub ckt for PMOS **

.subckt DGPMOS PVd PVgf PVgb PVs wdg=1u ldg=32n

.include './soipmos1.pm' * front soi model card
.include './soipmos2.pm' * back soi model card

.param pnch =2e16
.param ptox = 1.4e-9
.param ptsi = 'tbsi'
.param ptbox = 1.4e-9
.param ppvthf0 = -0.25
.param ppvthb0 = -0.25
.param esi = 11.7
.param eox = 3.9
.param plambda1 ='(-1)*(ptox/(ptbox+ptsi/(esi/eox)))'
.param plambda2 ='(-1)*(ptbox/(ptox+ptsi/(esi/eox)))'

.param pdelta1 = 0.008
.param pdelta2 = 0.008

.param Voff2 = 0.12
.param N = 0.2
.param Vt = 0.0259
.param Voff1 = 0.0

mp1 PVd PVgf1 PVs n1 pmos1 w='wdg/2' l='ldg'
+ as='wdg/2*2*ldg' ad='wdg/2*2*ldg'
+ ps='wdg/2+4*ldg' pd='wdg/2+4*ldg'
mp2 PVd PVgb1 PVs n1 pmos2 w='wdg/2' l='ldg'
+ as='wdg/2*2*ldg' ad='wdg/2*2*ldg'
+ ps='wdg/2+4*ldg' pd='wdg/2+4*ldg'

vvdd n1 0 1

Ep1 PVgf PVgf1 VOL = 'plambda1*(-1*(-1*N*Vt*log(1+exp((-1*((plambda2*(ppvthb0-(v(PVd)-v(PVs))*pdelta2)+(ppvthf0-(v(PVd)-v(PVs))*pdelta1))/(1-(plambda1*plambda2))+Voff2)+(v(PVgb)-v(PVs))+Voff1)/N/Vt))+N*Vt*log(1+exp((-1*((plambda2*(ppvthb0-(v(PVd)-v(PVs))*pdelta2)+(ppvthf0-(v(PVd)-v(PVs))*pdelta1))/(1-(plambda1*plambda2))+Voff2)+Voff1)/N/Vt))-1*N*Vt*log(1+exp((((plambda2*(ppvthb0-(v(PVd)-v(PVs))*pdelta2)+(ppvthf0-(v(PVd)-v(PVs))*pdelta1))/(1-(plambda1*plambda2))+Voff2)+Voff1)/N/Vt))+N*Vt*log(1+exp((Voff1)/N/Vt))))'
Ep2 PVgb PVgb1 VOL = 'plambda2*(-1*(-1*N*Vt*log(1+exp((-1*((plambda1*(ppvthf0-(v(PVd)-v(PVs))*pdelta1)+(ppvthb0-(v(PVd)-v(PVs))*pdelta2))/(1-(plambda1*plambda2))+Voff2)+(v(PVgf)-v(PVs))+Voff1)/N/Vt))+N*Vt*log(1+exp((-1*((plambda1*(ppvthf0-(v(PVd)-v(PVs))*pdelta1)+(ppvthb0-(v(PVd)-v(PVs))*pdelta2))/(1-(plambda1*plambda2))+Voff2)+Voff1)/N/Vt))-1*N*Vt*log(1+exp((((plambda1*(ppvthf0-(v(PVd)-v(PVs))*pdelta1)+(ppvthb0-(v(PVd)-v(PVs))*pdelta2))/(1-(plambda1*plambda2))+Voff2)+Voff1)/N/Vt))+N*Vt*log(1+exp((Voff1)/N/Vt))))'
.ends

the folder also has the soinmos1,soinmos2,soipmos1,soipmos2 PM file.

but when i am running this code it is should error in included statement.

can any1 of u help me with syntax.

please i help ur help urgently.
thanks

Rajni
 

You are probably not starting your simulation from the directory where these files reside. Put this latter directory in your library path!

Another possibility would be to replace the "./" notation - which means: "from this directory" - by its absolute path.
 

i tried both your solution but still not working.
can u help me with some more option.
 

Show your Hspice control file (by which you start your simulation), and the full error message.
 

Hi rajamrish

Try to copy your model file to directory you run hspice and do like this

.lib 'new_mm018.l' TT


I think it should work. Use dot lib not dot include
 

Thanks erikl,
I am herwith attaching the file i am using and the error are,
**error** (e:\sram\lib\32nm_finfet.sp:74) duplicate parameter being set or the number of element nodes is not within the range of 3-7.
**error** (e:\sram\lib\32nm_finfet.sp:74) difficulty in reading input
looking forward for ur help,
please help me with this
 

Attachments

  • FINFET32.zip
    6.8 KB · Views: 62

Hi rajamrish

1/Change your spice desk :

.include 'soinmos1.pm' * front soi model card <------ old one is .lib
.include 'soinmos2.pm' * back soi model card


2/Change your ptm (i pick soinmos1.pm as example)

.model nmos1 nmos level = 57 (new one)

.model nmos1 nmos1 level = 57 (old one)

3/ Do same thing with others (pmos)
 

**error** (e:\sram\lib\32nm_finfet.sp:74) duplicate parameter being set or the number of element nodes is not within the range of 3-7.

Could be possible that Hspice doesn't like the redefinition of the parameter wdg on line# 50 of the file 32nm_finfet.pm (earlier definition on line# 9), even if these definitions occur in two different subckts. Try and change the parameter wdg to a different name on line#s 50 and 74..79 .

BTW: Your FINFET32.zip file contains the file 32nm_finfet.pm, whereas the error message names the file 32nm_finfet.sp ???
 

Could be possible that Hspice doesn't like the redefinition of the parameter wdg on line# 50 of the file 32nm_finfet.pm (earlier definition on line# 9), even if these definitions occur in two different subckts. Try and change the parameter wdg to a different name on line#s 50 and 74..79 .

BTW: Your FINFET32.zip file contains the file 32nm_finfet.pm, whereas the error message names the file 32nm_finfet.sp ???

Thanks erikl,
To run the file in spice i an change it to .sp
The file is same only the extinction of file is change.
i hope this works.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top