[eispice] eispice and semi-conductors models

  • From: Cyril Giraudon <cyril.giraudon@xxxxxxx>
  • To: eispice@xxxxxxxxxxxxx, Christophe Girard <christophe.girard.thales@xxxxxxxxxx>, Didier.ROISSE@xxxxxxxxxxxxxxxxxx
  • Date: Mon, 19 Mar 2007 14:13:49 +0100

Hi Charles,


In a few weeks, I will have to integrate a circuits simulator in a more 
general framework.
This framework is developed in python (numpy, scipy, matplotlib ...) and 
handles problems in the time domain (electromagnetic security issues 
inside systems).

Firstly, I thought about building a wrapper around gnucap, but by lack 
of time, I haven't been very far in that way.
Al Davis would like such a wrapper, It's still in my plans...

Secondly, I follow your work since the "beginning" of eispice and my 
interest grows (I have already written in this mailing list).

However, the major problem is the lack of semi-conductor models in 
eispice (expertise weak before IHM, IDE...).
The circuits I manipulate can be composed of the following PSPICE models :
- R, resistance;
- L, inductance;
- C, capacity;
- XFRM_LINEAR, ideal transformer;

- D, Diode;
- NPN, BJT model (NPN bipolar transistor);
- NJF, JFET model (field effect transistor);
- NMOS, MOS model (mos transistors);

- VDC, source tension
- EVALUE, controled tension source;
- GVALUE, controled current source;
- VPWL_FILE, tension source from a file;
- VPULSE, pulsed tension source

- K_linear, coupling coefficient between 2 inductances.

In your last message 'Future Direction of eispice Part 2', you propose 
to use the PyB model for diodes, BJT...

Can the PyB model handle all components, particularly with more than 2 
branches ?
Can you explain me the way to create a PyB element for a JFET transistor 
for instance ?
How do you mix python and C ?
Could Pyrex be a mix method (instead of the C language) to add PyB 
models in order to gain time ?

Does the list of features you would to add in the next releases sort the 
features by priority ?
Semi-conductor models appear in 7th position, is that to say it's a low 
priority ?
What are your plans about the C based implementation of semi conductors ?
Will it be a hard task ?

A lot of questions I see :-)

I imagine I can help you but I don't know the theory of spice-like 
simulators (I can learn it)...
I know python, and C languages.

Have you an idea of the time needed to write a model, of the time to get 
started ?

What kind of help would you like ?


Thanks a lot,

Cyril.


Here is an exemple of a PSPICE circuit netlist :
Do you see any serious problem which could not allow eispice use ?

* *

*_Netlist des circuit sous PSpice avec les sources d’alimentation primaire_*

*A. **alimentation continue 28V*

* *

M_M1 N645668 N645922 N6459080 N6459080 IRF150

L_L3 N645668 N645818 10

Kn_K2 L_L3 L_L4 1

C_C3 0 VOBSERVABLE 0.47u

L_L4 0 N646100 0.365

R_R7 N646100 N646114 1

R_R5 N645704 N659207 1n

R_R8 0 VOBSERVABLE 1k

R_R10 0 N6459080 1.2

V_V3 N645532 0

+PULSE 0 12 2u 1n 1n 2.5u 5u

R_R9 N645532 N645922 20

R_R6 N659207 N645818 100

X_D5-2 N646114 VOBSERVABLE 0 schemas29nov_D5-2

V_V2 N645704 0 28



.subckt schemas29nov_D5-2 1 2 3

D_D5-1 1 2 STPS20H100CG

D_D5-2 3 2 STPS20H100CG

.ends

*STPS20H100CG *

IS 312.550000E-09

N 1.2955

ISR 10.010000E-21

NR 4.995

IKF .44849

RS 2.776000E-03

CJO 1.391000E-09

VJ .55197

M .50027

EG .69

XTI 2

*IRF150 *

NMOS

LEVEL 3

L 2.000000E-06

W .3

VTO 2.831

KP 20.530000E-06

GAMMA 0

PHI .6

LAMBDA 0

RD 1.031000E-03

RS 1.624000E-03

RG 13.89

RDS 444.400000E+03

IS 194.000000E-18

JS 0

PB .8

PBSW .8

CBD 3.229000E-09

CJ 0

CJSW 0

TT 288.000000E-09

CGSO 9.027000E-09

CGDO 1.679000E-09

CGBO 0

TOX 100.000000E-09

XJ 0

UCRIT 10.000000E+03

DELTA 0

ETA 0

DIOMOD 1

VFB 0

LETA 0

WETA 0

U0 0

TEMP 0

VDD 0

XPART 0

**



* *

*B. **alimentation alternative 115V*

* *

R_R3 N660524 N660285 1

D_D2 N660285 N660273 D1N5617/-55C

L_L1 0 N660699 35

R_R1 N660215 N660889 1n

D_D3 0 N660479 D1N5617/-55C

L_L2 N660479 N660524 0.105

D_D4 N660479 N660273 D1N5617/-55C

Kn_K1 L_L1 L_L2 1

C_C2 0 N660273 150u

C_C1 N660479 N660285 0.1u

R_R4 0 N660273 3.9k

R_R2 N660889 N660699 100

D_D1 0 N660285 D1N5617/-55C

V_V1 N660215 0

+SIN 0 115 400 0 0 0

* *

*D1N5617/-55C *

* IS 418.570000E-09 *

* N 2.402374 *

* BV 660 *

* IBV 1.000000E-06 *

* RS .130038 *

* TT 88.100000E-09 *

* CJO 23.036800E-12 *

* VJ .4 *

* M .389478 *

* FC .819179 *

* XTI 2.908969*



---------------------------------------------------------------------------------------
Orange vous informe que cet  e-mail a ete controle par l'anti-virus mail. 
Aucun virus connu a ce jour par nos services n'a ete detecte.


------------------------------------------------------------------
To unsubscribe from the eispice list send an email to:
eispice-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field

Other related posts: