psp102, workaround adms ddx() translation
our adms .xml files do not support translation of ddx() expressions, except at the toplevel in assignments. foo = ddx(); is supported foo = bar * ddx(); is not
This commit is contained in:
parent
b9c85ccf6a
commit
9d0d90dad3
|
|
@ -2216,39 +2216,40 @@
|
||||||
vsat = Vds - vdss;
|
vsat = Vds - vdss;
|
||||||
|
|
||||||
temp = Idse + Iimpacte + Igidle - Igde - isjun; // Total drain-current
|
temp = Idse + Iimpacte + Igidle - Igde - isjun; // Total drain-current
|
||||||
gm = CHNL_TYPE * ddx(temp, V(`Gint, S));
|
gm = ddx( CHNL_TYPE * temp, V(`Gint, S));
|
||||||
gmb = -CHNL_TYPE * ddx(temp, V(S, `Bint));
|
gmb = ddx(-CHNL_TYPE * temp, V(S, `Bint));
|
||||||
gds = -CHNL_TYPE * ddx(temp, V(D, S)) - (gm + gmb);
|
gds = ddx(-CHNL_TYPE * temp, V(D, S));
|
||||||
|
gds = gds - (gm + gmb);
|
||||||
|
|
||||||
gjs = -ddx(idjun, V(D, `Bjd));
|
gjs = ddx(-idjun, V(D, `Bjd));
|
||||||
gjd = -ddx(isjun, V(S, `Bjs));
|
gjd = ddx(-isjun, V(S, `Bjs));
|
||||||
|
|
||||||
css = CHNL_TYPE * ddx(Qd, V(D, S));
|
css = ddx( CHNL_TYPE * Qd, V(D, S));
|
||||||
csg = -CHNL_TYPE * ddx(Qd, V(`Gint, S));
|
csg = ddx(-CHNL_TYPE * Qd, V(`Gint, S));
|
||||||
csb = CHNL_TYPE * ddx(Qd, V(S, `Bint));
|
csb = ddx( CHNL_TYPE * Qd, V(S, `Bint));
|
||||||
csd = css - csg - csb;
|
csd = css - csg - csb;
|
||||||
cgs = -CHNL_TYPE * ddx(Qg, V(D, S));
|
cgs = ddx(-CHNL_TYPE * Qg, V(D, S));
|
||||||
cgg = CHNL_TYPE * ddx(Qg, V(`Gint, S));
|
cgg = ddx( CHNL_TYPE * Qg, V(`Gint, S));
|
||||||
cgb = CHNL_TYPE * ddx(Qg, V(S, `Bint));
|
cgb = ddx( CHNL_TYPE * Qg, V(S, `Bint));
|
||||||
cgd = cgg - cgs - cgb;
|
cgd = cgg - cgs - cgb;
|
||||||
cds = -CHNL_TYPE * ddx(Qs, V(D, S));
|
cds = ddx(-CHNL_TYPE * Qs, V(D, S));
|
||||||
cdg = -CHNL_TYPE * ddx(Qs, V(`Gint, S));
|
cdg = ddx(-CHNL_TYPE * Qs, V(`Gint, S));
|
||||||
cdb = CHNL_TYPE * ddx(Qs, V(S, `Bint));
|
cdb = ddx( CHNL_TYPE * Qs, V(S, `Bint));
|
||||||
cdd = cdg + cds + cdb;
|
cdd = cdg + cds + cdb;
|
||||||
cbs = -CHNL_TYPE * ddx(Qb, V(D, S));
|
cbs = ddx(-CHNL_TYPE * Qb, V(D, S));
|
||||||
cbg = -CHNL_TYPE * ddx(Qb, V(`Gint, S));
|
cbg = ddx(-CHNL_TYPE * Qb, V(`Gint, S));
|
||||||
cbb = -CHNL_TYPE * ddx(Qb, V(S, `Bint));
|
cbb = ddx(-CHNL_TYPE * Qb, V(S, `Bint));
|
||||||
cbd = cbb - cbs - cbg;
|
cbd = cbb - cbs - cbg;
|
||||||
cgsol = -CHNL_TYPE * ddx(Qfgd, V(D, S));
|
cgsol = ddx(-CHNL_TYPE * Qfgd, V(D, S));
|
||||||
cgdol = CHNL_TYPE * ddx(Qfgs, V(`Gint, S));
|
cgdol = ddx( CHNL_TYPE * Qfgs, V(`Gint, S));
|
||||||
|
|
||||||
cjsbot = -MULT_i * CHNL_TYPE * ABDRAIN_i * ddx(qdjunbot, V(D, `Bjd));
|
cjsbot = ddx(-MULT_i * CHNL_TYPE * ABDRAIN_i * qdjunbot, V(D, `Bjd));
|
||||||
cjsgat = -MULT_i * CHNL_TYPE * LGDRAIN_i * ddx(qdjungat, V(D, `Bjd));
|
cjsgat = ddx(-MULT_i * CHNL_TYPE * LGDRAIN_i * qdjungat, V(D, `Bjd));
|
||||||
cjssti = -MULT_i * CHNL_TYPE * LSDRAIN_i * ddx(qdjunsti, V(D, `Bjd));
|
cjssti = ddx(-MULT_i * CHNL_TYPE * LSDRAIN_i * qdjunsti, V(D, `Bjd));
|
||||||
cjs = cjsbot + cjsgat + cjssti;
|
cjs = cjsbot + cjsgat + cjssti;
|
||||||
cjdbot = -MULT_i * CHNL_TYPE * ABSOURCE_i * ddx(qsjunbot, V(S, `Bjs));
|
cjdbot = ddx(-MULT_i * CHNL_TYPE * ABSOURCE_i * qsjunbot, V(S, `Bjs));
|
||||||
cjdgat = -MULT_i * CHNL_TYPE * LGSOURCE_i * ddx(qsjungat, V(S, `Bjs));
|
cjdgat = ddx(-MULT_i * CHNL_TYPE * LGSOURCE_i * qsjungat, V(S, `Bjs));
|
||||||
cjdsti = -MULT_i * CHNL_TYPE * LSSOURCE_i * ddx(qsjunsti, V(S, `Bjs));
|
cjdsti = ddx(-MULT_i * CHNL_TYPE * LSSOURCE_i * qsjunsti, V(S, `Bjs));
|
||||||
cjd = cjdbot + cjdgat + cjdsti;
|
cjd = cjdbot + cjdgat + cjdsti;
|
||||||
end else begin
|
end else begin
|
||||||
ise = is - isjun;
|
ise = is - isjun;
|
||||||
|
|
@ -2287,39 +2288,39 @@
|
||||||
vsat = Vds - vdss;
|
vsat = Vds - vdss;
|
||||||
|
|
||||||
temp = Idse + Iimpacte + Igidle - Igde - idjun;
|
temp = Idse + Iimpacte + Igidle - Igde - idjun;
|
||||||
gm = CHNL_TYPE * ddx(temp, V(`Gint, S));
|
gm = ddx( CHNL_TYPE * temp, V(`Gint, S));
|
||||||
gmb = -CHNL_TYPE * ddx(temp, V(S, `Bint));
|
gmb = ddx(-CHNL_TYPE * temp, V(S, `Bint));
|
||||||
gds = CHNL_TYPE * ddx(temp, V(D, S));
|
gds = ddx( CHNL_TYPE * temp, V(D, S));
|
||||||
|
|
||||||
gjs = -ddx(isjun, V(S, `Bjs));
|
gjs = ddx(-isjun, V(S, `Bjs));
|
||||||
gjd = -ddx(idjun, V(D, `Bjd));
|
gjd = ddx(-idjun, V(D, `Bjd));
|
||||||
|
|
||||||
cdd = CHNL_TYPE * ddx(Qd, V(D, S));
|
cdd = ddx( CHNL_TYPE * Qd, V(D, S));
|
||||||
cdg = -CHNL_TYPE * ddx(Qd, V(`Gint, S));
|
cdg = ddx(-CHNL_TYPE * Qd, V(`Gint, S));
|
||||||
cdb = CHNL_TYPE * ddx(Qd, V(S, `Bint));
|
cdb = ddx( CHNL_TYPE * Qd, V(S, `Bint));
|
||||||
cds = cdd - cdg - cdb;
|
cds = cdd - cdg - cdb;
|
||||||
cgd = -CHNL_TYPE * ddx(Qg, V(D, S));
|
cgd = ddx(-CHNL_TYPE * Qg, V(D, S));
|
||||||
cgg = CHNL_TYPE * ddx(Qg, V(`Gint, S));
|
cgg = ddx( CHNL_TYPE * Qg, V(`Gint, S));
|
||||||
cgb = CHNL_TYPE * ddx(Qg, V(S, `Bint));
|
cgb = ddx( CHNL_TYPE * Qg, V(S, `Bint));
|
||||||
cgs = cgg - cgd - cgb;
|
cgs = cgg - cgd - cgb;
|
||||||
csd = -CHNL_TYPE * ddx(Qs, V(D, S));
|
csd = ddx(-CHNL_TYPE * Qs, V(D, S));
|
||||||
csg = -CHNL_TYPE * ddx(Qs, V(`Gint, S));
|
csg = ddx(-CHNL_TYPE * Qs, V(`Gint, S));
|
||||||
csb = CHNL_TYPE * ddx(Qs, V(S, `Bint));
|
csb = ddx( CHNL_TYPE * Qs, V(S, `Bint));
|
||||||
css = csg + csd + csb;
|
css = csg + csd + csb;
|
||||||
cbd = -CHNL_TYPE * ddx(Qb, V(D, S));
|
cbd = ddx(-CHNL_TYPE * Qb, V(D, S));
|
||||||
cbg = -CHNL_TYPE * ddx(Qb, V(`Gint, S));
|
cbg = ddx(-CHNL_TYPE * Qb, V(`Gint, S));
|
||||||
cbb = -CHNL_TYPE * ddx(Qb, V(S, `Bint));
|
cbb = ddx(-CHNL_TYPE * Qb, V(S, `Bint));
|
||||||
cbs = cbb - cbd - cbg;
|
cbs = cbb - cbd - cbg;
|
||||||
cgsol = CHNL_TYPE * ddx(Qfgs, V(`Gint, S));
|
cgsol = ddx( CHNL_TYPE * Qfgs, V(`Gint, S));
|
||||||
cgdol = -CHNL_TYPE * ddx(Qfgd, V(D, S));
|
cgdol = ddx(-CHNL_TYPE * Qfgd, V(D, S));
|
||||||
|
|
||||||
cjsbot = -MULT_i * CHNL_TYPE * ABSOURCE_i * ddx(qsjunbot, V(S, `Bjs));
|
cjsbot = ddx(-MULT_i * CHNL_TYPE * ABSOURCE_i * qsjunbot, V(S, `Bjs));
|
||||||
cjsgat = -MULT_i * CHNL_TYPE * LGSOURCE_i * ddx(qsjungat, V(S, `Bjs));
|
cjsgat = ddx(-MULT_i * CHNL_TYPE * LGSOURCE_i * qsjungat, V(S, `Bjs));
|
||||||
cjssti = -MULT_i * CHNL_TYPE * LSSOURCE_i * ddx(qsjunsti, V(S, `Bjs));
|
cjssti = ddx(-MULT_i * CHNL_TYPE * LSSOURCE_i * qsjunsti, V(S, `Bjs));
|
||||||
cjs = cjsbot + cjsgat + cjssti;
|
cjs = cjsbot + cjsgat + cjssti;
|
||||||
cjdbot = -MULT_i * CHNL_TYPE * ABDRAIN_i * ddx(qdjunbot, V(D, `Bjd));
|
cjdbot = ddx(-MULT_i * CHNL_TYPE * ABDRAIN_i * qdjunbot, V(D, `Bjd));
|
||||||
cjdgat = -MULT_i * CHNL_TYPE * LGDRAIN_i * ddx(qdjungat, V(D, `Bjd));
|
cjdgat = ddx(-MULT_i * CHNL_TYPE * LGDRAIN_i * qdjungat, V(D, `Bjd));
|
||||||
cjdsti = -MULT_i * CHNL_TYPE * LSDRAIN_i * ddx(qdjunsti, V(D, `Bjd));
|
cjdsti = ddx(-MULT_i * CHNL_TYPE * LSDRAIN_i * qdjunsti, V(D, `Bjd));
|
||||||
cjd = cjdbot + cjdgat + cjdsti;
|
cjd = cjdbot + cjdgat + cjdsti;
|
||||||
end
|
end
|
||||||
`ifdef LocalModel
|
`ifdef LocalModel
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue