[eispice] behavior test case problems
- From: "Jon Choy" <jonchoy@xxxxxxxxxxx>
- To: eispice@xxxxxxxxxxxxx
- Date: Mon, 18 Dec 2006 16:27:19 -0600
I've tried a couple of behavior cases that don't seem to run. I hope I
haven't abused the capability. I'm simply seeing if a mos divider circuit
will work. I have two devices and behavioral nmos and pmos with the gate,
drain of both the pmos and nmos tied together. I have tried three different
cases. Let me know what you think.
#!/usr/bin/python
from eispice import *
# -- PyB Defined Model --
class pmos_sat(dev.PyB):
def __init__(self, p, n, g, s, b, kp=2e-6,wp=2,lp=1,power=2.0):
dev.PyB.__init__(self, p, n, Current, v(g), v(s), v(b))
self.kp = kp
self.wp = wp
self.lp = lp
self.vtp= 0.7
self.betap = kp*wp/lp
self.power=power
def model(self, Vg, Vs):
if ((Vs - Vg)> self.vtp):
return 0.5*self.betap*(Vs - Vg - self.vtp)**self.power
else :
return 0
class nmos_sat(dev.PyB):
def __init__(self, p, n, g, s, b, kn=5e-6,wn=2,ln=1,power=2.0):
dev.PyB.__init__(self, p, n, Current, v(g), v(s), v(b))
self.kn = kn
self.wn = wn
self.ln = ln
self.vtn= 0.7
self.betan = kn*wn/ln
self.power=power
def model(self, Vg, Vs):
if ((Vg - Vs)> self.vtp):
return 0.5*self.betan*(Vg - Vs - self.vtn)**self.power
else :
return 0
# Now to use the model
kp = 2e-6
wp = 2
lp = 1
vtp= 0.7
betap = kp*wp/lp
power=2
kn = 5e-6
wn = 2
ln = 1
vtn= 0.7
betan = kn*wn/ln
d = Deck('PyB Defined Behavioral MOS divider')
d.V0 = dev.V(1, GND, 3.3)
#d.pmosx = pmos_sat(4, GND, 4, 1, 1)
#d.pmosx = dev.B('4', GND, 'i',"0.5*betap*(v(1,4)-vtp)^2")
d.pmosx = dev.B('4', GND, 'i',"0.5*2e-6*(v(1,4)-0.7)^2")
#d.nmosx = nmos_sat(4, GND, 4, GND, GND)
#d.nmosx = dev.B(4, GND, 'i',"0.5*betan*(v(4,GND)-vtn)^2")
d.nmosx = dev.B(4, GND, 'i',"0.5*5e-6*(v(4,GND)-0.7)^2")
d.rout = dev.R(4,GND, 100000)
d.op()
d.plot()
_________________________________________________________________
Get live scores and news about your team: Add the Live.com Football Page
www.live.com/?addtemplate=football&icid=T001MSN30A0701
------------------------------------------------------------------
To unsubscribe from the eispice list send an email to:
eispice-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field
- Follow-Ups:
- [eispice] Re: behavior test case problems
- From: Charles Eidsness
Other related posts:
- » [eispice] behavior test case problems
- » [eispice] Re: behavior test case problems
- » [eispice] Re: behavior test case problems
- » [eispice] Re: behavior test case problems
- » [eispice] Re: behavior test case problems
- » [eispice] Re: behavior test case problems
- » [eispice] Re: behavior test case problems
- » [eispice] Re: behavior test case problems
- » [eispice] Re: behavior test case problems
- » [eispice] Re: behavior test case problems
- [eispice] Re: behavior test case problems
- From: Charles Eidsness