summaryrefslogtreecommitdiff
path: root/js/Electrical/PMOS.js
blob: 935faf352fcb842d09bdbc06fa7309b7864435bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/* autogenerated from "macros/Electrical/PMOS.sci" */
function PMOS() {
PMOS.prototype.get = function PMOS() {
}
PMOS.prototype.set = function PMOS() {
x=arg1;
graphics=arg1.graphics;
exprs=graphics.exprs;
model=arg1.model;
while (true) {
[ok,W,L,Beta,Vt,K2,K5,dW,dL,RDS,exprs]=scicos_getvalue("Set PMOS Transistor parameters",["Width [m]","Length [m]","Transconductance parameter [A/(V*V)]","Zero bias threshold voltage [V]","Bulk threshold parameter","Reduction of pinch-off region","Narrowing of channel [m]","Shortening of channel [m]","Drain-Source-Resistance [Ohm]"],list("vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1),exprs);
if (!ok) {
break
}
model.equations.parameters[2-1]=list(W,L,Beta,Vt,K2,K5,dW,dL,RDS);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
break
}
}
PMOS.prototype.define = function PMOS() {
model=scicos_model();
W=50.0e-6;
L=6.0e-6;
Beta=0.0105e-3;
Vt=-1;
K2=0.41;
K5=0.839;
dW=-2.5e-6;
dL=-2.1e-6;
RDS=1.e+7;
model.sim="PMOS";
model.blocktype="c";
model.dep_ut=[true,None];
mo=modelica();
mo.model="PMOS";
mo.outputs=["D","B","S"];
mo.inputs="G";
mo.parameters=list(["W","L","Beta","Vt","K2","K5","dW","dL","RDS"],[W,L,Beta,Vt,K2,K5,dW,dL,RDS]);
model.equations=mo;
model.in1=ones(size(mo.inputs,"*"),1);
model.out=ones(size(mo.outputs,"*"),1);
exprs=[string(W),string(L),string(Beta),string(Vt),string(K2),string(K5),string(dW),string(dL),string(RDS)];
gr_i=[];
x=standard_define([2,2],model,exprs,gr_i);
x.graphics.in_implicit=["I"];
x.graphics.out_implicit=["I","I","I"];
}
PMOS.prototype.details = function PMOS() {
}
}