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.

[SOLVED] [MOVED]Converting MOS HSpice level 49 to PSpice

Status
Not open for further replies.

radagast

Junior Member level 1
Joined
Jan 13, 2010
Messages
18
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,413
Hi

I need to convert NMOS/PMON from HSpice (level 49) to PSpice.

I did see the PDFs around but I still get errors. I run on PSpice 16.5 if it matters.

It doesn't recognize the following parameters:
m, ad, as, pd, ps, nrd, nrs, nrg, nrb.

Also, anyone knows how to use the internal parameters? for example, I need:
% w = 100u, and:
% d = { 20.5e-6 *(w)}
But spice doesn't recognize my w. How can I use the internal model params as an argument for other parameters?

Thanks.
 

I read this document. However it says that if I set params such as AD explicitly it should be fine. However my PSpice doesn't recognize them on my model...
 

You need to post an example of the model you are using, the exact syntax you are using it with (and whether it is wrapped in a subcircuit) and the error message you are getting.

Keith
 

Hi

This is the beginning of the model (other data is just other parameters):

.MODEL Nch_fast NMOS
+ l = 100u
+ w = 100u
+ ad = { 20.5e-6 *(w)}
+ as = { 20.5e-6 *(w)}
+ pd = { 40.5e-6 + (2*w)}
+ ps = { 40.5e-6 + (2*w)}
+ m = 1
+ nrd = { nrd }
+ nrs = { nrs }
+ nrg = { nrg }
+ nrb = { nrb }
+ mobmod = 1.000000e+00
+ capmod = 1.000000e+00

These are the errors:

ERROR -- 'ad' is not a model parameter name

Thanks.
 

The first thing is your original model should look something like:

Code:
.MODEL Nch_fast NMOS LEVEL=49 
+ ...

and you need to change that to be

Code:
.MODEL Nch_fast NMOS LEVEL=7 
+ ...

for PSPICE

I am not sure of the default model if you don't specify the LEVEL but it is unlikely to be LEVEL 7. That is why it is rejecting the "ad" parameter and probably all the other IC based dimensional parameters.

Keith.
 
I actually do set the level, it's just later on. But even when I move the level declaration to the top I get the same error...
 

Your netlist should contain the device dimensions, not the model. So, a typical netlist line might look like

PHP:
M$Q10 VOUT Q16_G VSS VSS NEMOS AD=9.5e-012 AS=9.5e-012 PD=2.19e-005 PS=2.19e-005 NRD=0.09 NRS=0.09 L=350n W=10u

The AS, AD etc could be calculations. I don't believe you can put AS, AD directly in the model.

It is not uncommon to find devices wrapped in a subcircuit to get round that although I am not sure whether it is a Pspice or Hspice requirement. So, you would end up with a device definition that looks like:

PHP:
.SUBCKT MODNH D G S B W=1e-6 L=1e-6 AD=0 AS=0 PD=0 PS=0 NRD=0 NRS=0
M1 D G S B MODNHINSUB W=W L=L AD=AD AS=AS PD=PD PS=PS NRD=NRD NRS=NRS
.ENDS MODNH
.MODEL MODNHINSUB NMOS LEVEL=49 VERSION=3.1 
+ ...

Keith
 
The problem when I do something like this is that I get a subcircuit with these parameters as pins:


subckt1.png
 

Okay, after fiddling a bit I found this solution:

Using SUBCKT on pspice gets me the above result; as well as just turning into a dip package instead of looking like a transistor it also doesn't take the parameters well.

So I just created the NMos model by the conversion program, and as for the 'external' parameters (PD, NRB etc.) I added them to a global parameter component. Then, I added them manually to the transistor via the PSpice gui. I couldn't skip the global parameter component step since I can't do calculations directly to the transistor parameters.

Thanks for all your help!
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top