Corrected some errors in pole-zero routine.
This commit is contained in:
parent
28caa83ad1
commit
98f0efb33b
|
|
@ -3,7 +3,10 @@
|
|||
* tests/bin/check.sh: Changed the previous check script with the one
|
||||
supplied by Dietmar warning <warning@danalyse.de>. This new script
|
||||
adds support for different architectures (MINGW32, Linux, SunOS).
|
||||
|
||||
|
||||
* src/spicelib/device/vbic/vbicpzld.c: Corrected an error in pole-zero
|
||||
routine. Dietmar Warning <warning@danalyse.de> sent the fix.
|
||||
|
||||
2005-03-07 Paolo Nenzi <p.nenzi@ieee.org>
|
||||
|
||||
* src/spicelib/devices/bsim4/b4ld.c: commented out NEWCONV section.
|
||||
|
|
|
|||
|
|
@ -41,7 +41,6 @@ VBICpzLoad(GENmodel *inModel, CKTcircuit *ckt, SPcomplex *s)
|
|||
|
||||
if (here->VBICowner != ARCHme) continue;
|
||||
|
||||
|
||||
Ircx_Vrcx = 1.0 / here->VBICtextCollResist * here->VBICarea * here->VBICm;
|
||||
Irbx_Vrbx = 1.0 / here->VBICtextBaseResist * here->VBICarea * here->VBICm;
|
||||
Ire_Vre = 1.0 / here->VBICtemitterResist * here->VBICarea * here->VBICm;
|
||||
|
|
@ -232,89 +231,89 @@ c The complex part
|
|||
XQbcx_Vbcx = *(ckt->CKTstate0 + here->VBICcqbcx);
|
||||
XQbep_Vbep = *(ckt->CKTstate0 + here->VBICcqbep);
|
||||
XQbep_Vbci = *(ckt->CKTstate0 + here->VBICcqbepci);
|
||||
XQbcp_Vbcp = *(ckt->CKTstate0 + here->VBICcqbcp) * ckt->CKTomega;
|
||||
XQbcp_Vbcp = *(ckt->CKTstate0 + here->VBICcqbcp);
|
||||
/*
|
||||
c Stamp element: Qbe
|
||||
*/
|
||||
*(here->VBICbaseBIBaseBIPtr) += XQbe_Vbei * (s->real);
|
||||
*(here->VBICbaseBIBaseBIPtr + 1) += XQbe_Vbei * (s->imag);
|
||||
*(here->VBICbaseBIBaseBIPtr + 1) += XQbe_Vbei * (s->imag);
|
||||
*(here->VBICbaseBIEmitEIPtr) += -XQbe_Vbei * (s->real);
|
||||
*(here->VBICbaseBIEmitEIPtr + 1) += -XQbe_Vbei * (s->imag);
|
||||
*(here->VBICbaseBIBaseBIPtr) += XQbe_Vbci * (s->real);
|
||||
*(here->VBICbaseBIBaseBIPtr + 1) += XQbe_Vbci * (s->imag);
|
||||
*(here->VBICbaseBICollCIPtr) += -XQbe_Vbci * (s->real);
|
||||
*(here->VBICbaseBICollCIPtr + 1) += -XQbe_Vbci * (s->imag);
|
||||
*(here->VBICemitEIBaseBIPtr) += -XQbe_Vbei * (s->real);
|
||||
*(here->VBICemitEIBaseBIPtr + 1) += -XQbe_Vbei * (s->imag);
|
||||
*(here->VBICemitEIEmitEIPtr) += XQbe_Vbei * (s->real);
|
||||
*(here->VBICemitEIEmitEIPtr + 1) += XQbe_Vbei * (s->imag);
|
||||
*(here->VBICemitEIBaseBIPtr) += -XQbe_Vbci * (s->real);
|
||||
*(here->VBICemitEIBaseBIPtr + 1) += -XQbe_Vbci * (s->imag);
|
||||
*(here->VBICemitEICollCIPtr) += XQbe_Vbci * (s->real);
|
||||
*(here->VBICemitEICollCIPtr + 1) += XQbe_Vbci * (s->imag);
|
||||
*(here->VBICbaseBIEmitEIPtr + 1) += -XQbe_Vbei * (s->imag);
|
||||
*(here->VBICbaseBIBaseBIPtr) += XQbe_Vbci * (s->real);
|
||||
*(here->VBICbaseBIBaseBIPtr + 1) += XQbe_Vbci * (s->imag);
|
||||
*(here->VBICbaseBICollCIPtr) += -XQbe_Vbci * (s->real);
|
||||
*(here->VBICbaseBICollCIPtr + 1) += -XQbe_Vbci * (s->imag);
|
||||
*(here->VBICemitEIBaseBIPtr) += -XQbe_Vbei * (s->real);
|
||||
*(here->VBICemitEIBaseBIPtr + 1) += -XQbe_Vbei * (s->imag);
|
||||
*(here->VBICemitEIEmitEIPtr) += XQbe_Vbei * (s->real);
|
||||
*(here->VBICemitEIEmitEIPtr + 1) += XQbe_Vbei * (s->imag);
|
||||
*(here->VBICemitEIBaseBIPtr) += -XQbe_Vbci * (s->real);
|
||||
*(here->VBICemitEIBaseBIPtr + 1) += -XQbe_Vbci * (s->imag);
|
||||
*(here->VBICemitEICollCIPtr) += XQbe_Vbci * (s->real);
|
||||
*(here->VBICemitEICollCIPtr + 1) += XQbe_Vbci * (s->imag);
|
||||
/*
|
||||
c Stamp element: Qbex
|
||||
*/
|
||||
*(here->VBICbaseBXBaseBXPtr) += XQbex_Vbex * (s->real);
|
||||
*(here->VBICbaseBXBaseBXPtr + 1) += XQbex_Vbex * (s->imag);
|
||||
*(here->VBICbaseBXEmitEIPtr) += -XQbex_Vbex * (s->real);
|
||||
*(here->VBICbaseBXEmitEIPtr + 1) += -XQbex_Vbex * (s->imag);
|
||||
*(here->VBICemitEIBaseBXPtr) += -XQbex_Vbex * (s->real);
|
||||
*(here->VBICemitEIBaseBXPtr + 1) += -XQbex_Vbex * (s->imag);
|
||||
*(here->VBICemitEIEmitEIPtr ) += XQbex_Vbex * (s->real);
|
||||
*(here->VBICemitEIEmitEIPtr + 1) += XQbex_Vbex * (s->imag);
|
||||
*(here->VBICbaseBXBaseBXPtr) += XQbex_Vbex * (s->real);
|
||||
*(here->VBICbaseBXBaseBXPtr + 1) += XQbex_Vbex * (s->imag);
|
||||
*(here->VBICbaseBXEmitEIPtr) += -XQbex_Vbex * (s->real);
|
||||
*(here->VBICbaseBXEmitEIPtr + 1) += -XQbex_Vbex * (s->imag);
|
||||
*(here->VBICemitEIBaseBXPtr) += -XQbex_Vbex * (s->real);
|
||||
*(here->VBICemitEIBaseBXPtr + 1) += -XQbex_Vbex * (s->imag);
|
||||
*(here->VBICemitEIEmitEIPtr ) += XQbex_Vbex * (s->real);
|
||||
*(here->VBICemitEIEmitEIPtr + 1) += XQbex_Vbex * (s->imag);
|
||||
/*
|
||||
c Stamp element: Qbc
|
||||
*/
|
||||
*(here->VBICbaseBIBaseBIPtr) += XQbc_Vbci * (s->real);
|
||||
*(here->VBICbaseBIBaseBIPtr + 1) += XQbc_Vbci * (s->imag);
|
||||
*(here->VBICbaseBICollCIPtr) += -XQbc_Vbci * (s->real);
|
||||
*(here->VBICbaseBICollCIPtr + 1) += -XQbc_Vbci * (s->imag);
|
||||
*(here->VBICcollCIBaseBIPtr) += -XQbc_Vbci * (s->real);
|
||||
*(here->VBICcollCIBaseBIPtr + 1) += -XQbc_Vbci * (s->imag);
|
||||
*(here->VBICcollCICollCIPtr) += XQbc_Vbci * (s->real);
|
||||
*(here->VBICcollCICollCIPtr + 1) += XQbc_Vbci * (s->imag);
|
||||
*(here->VBICbaseBIBaseBIPtr) += XQbc_Vbci * (s->real);
|
||||
*(here->VBICbaseBIBaseBIPtr + 1) += XQbc_Vbci * (s->imag);
|
||||
*(here->VBICbaseBICollCIPtr) += -XQbc_Vbci * (s->real);
|
||||
*(here->VBICbaseBICollCIPtr + 1) += -XQbc_Vbci * (s->imag);
|
||||
*(here->VBICcollCIBaseBIPtr) += -XQbc_Vbci * (s->real);
|
||||
*(here->VBICcollCIBaseBIPtr + 1) += -XQbc_Vbci * (s->imag);
|
||||
*(here->VBICcollCICollCIPtr) += XQbc_Vbci * (s->real);
|
||||
*(here->VBICcollCICollCIPtr + 1) += XQbc_Vbci * (s->imag);
|
||||
/*
|
||||
c Stamp element: Qbcx
|
||||
*/
|
||||
*(here->VBICbaseBIBaseBIPtr) += XQbcx_Vbcx * (s->real);
|
||||
*(here->VBICbaseBIBaseBIPtr + 1) += XQbcx_Vbcx * (s->imag);
|
||||
*(here->VBICbaseBICollCXPtr) += -XQbcx_Vbcx * (s->real);
|
||||
*(here->VBICbaseBICollCXPtr + 1) += -XQbcx_Vbcx * (s->imag);
|
||||
*(here->VBICcollCXBaseBIPtr) += -XQbcx_Vbcx * (s->real);
|
||||
*(here->VBICcollCXBaseBIPtr + 1) += -XQbcx_Vbcx * (s->imag);
|
||||
*(here->VBICcollCXCollCXPtr) += XQbcx_Vbcx * (s->real);
|
||||
*(here->VBICcollCXCollCXPtr + 1) += XQbcx_Vbcx * (s->imag);
|
||||
*(here->VBICbaseBIBaseBIPtr) += XQbcx_Vbcx * (s->real);
|
||||
*(here->VBICbaseBIBaseBIPtr + 1) += XQbcx_Vbcx * (s->imag);
|
||||
*(here->VBICbaseBICollCXPtr) += -XQbcx_Vbcx * (s->real);
|
||||
*(here->VBICbaseBICollCXPtr + 1) += -XQbcx_Vbcx * (s->imag);
|
||||
*(here->VBICcollCXBaseBIPtr) += -XQbcx_Vbcx * (s->real);
|
||||
*(here->VBICcollCXBaseBIPtr + 1) += -XQbcx_Vbcx * (s->imag);
|
||||
*(here->VBICcollCXCollCXPtr) += XQbcx_Vbcx * (s->real);
|
||||
*(here->VBICcollCXCollCXPtr + 1) += XQbcx_Vbcx * (s->imag);
|
||||
/*
|
||||
c Stamp element: Qbep
|
||||
*/
|
||||
*(here->VBICbaseBXBaseBXPtr) += XQbep_Vbep * (s->real);
|
||||
*(here->VBICbaseBXBaseBXPtr + 1) += XQbep_Vbep * (s->imag);
|
||||
*(here->VBICbaseBXBaseBPPtr) += -XQbep_Vbep * (s->real);
|
||||
*(here->VBICbaseBXBaseBPPtr + 1) += -XQbep_Vbep * (s->imag);
|
||||
*(here->VBICbaseBXBaseBIPtr) += XQbep_Vbci * (s->real);
|
||||
*(here->VBICbaseBXBaseBIPtr + 1) += XQbep_Vbci * (s->imag);
|
||||
*(here->VBICbaseBXCollCIPtr) += -XQbep_Vbci * (s->real);
|
||||
*(here->VBICbaseBXCollCIPtr + 1) += -XQbep_Vbci * (s->imag);
|
||||
*(here->VBICbaseBPBaseBXPtr) += -XQbep_Vbep * (s->real);
|
||||
*(here->VBICbaseBPBaseBXPtr + 1) += -XQbep_Vbep * (s->imag);
|
||||
*(here->VBICbaseBPBaseBPPtr) += XQbep_Vbep * (s->real);
|
||||
*(here->VBICbaseBPBaseBPPtr + 1) += XQbep_Vbep * (s->imag);
|
||||
*(here->VBICbaseBPBaseBIPtr) += -XQbep_Vbci * (s->real);
|
||||
*(here->VBICbaseBPBaseBIPtr + 1) += -XQbep_Vbci * (s->imag);
|
||||
*(here->VBICbaseBPCollCIPtr) += XQbep_Vbci * (s->real);
|
||||
*(here->VBICbaseBPCollCIPtr + 1) += XQbep_Vbci * (s->imag);
|
||||
*(here->VBICbaseBXBaseBXPtr) += XQbep_Vbep * (s->real);
|
||||
*(here->VBICbaseBXBaseBXPtr + 1) += XQbep_Vbep * (s->imag);
|
||||
*(here->VBICbaseBXBaseBPPtr) += -XQbep_Vbep * (s->real);
|
||||
*(here->VBICbaseBXBaseBPPtr + 1) += -XQbep_Vbep * (s->imag);
|
||||
*(here->VBICbaseBXBaseBIPtr) += XQbep_Vbci * (s->real);
|
||||
*(here->VBICbaseBXBaseBIPtr + 1) += XQbep_Vbci * (s->imag);
|
||||
*(here->VBICbaseBXCollCIPtr) += -XQbep_Vbci * (s->real);
|
||||
*(here->VBICbaseBXCollCIPtr + 1) += -XQbep_Vbci * (s->imag);
|
||||
*(here->VBICbaseBPBaseBXPtr) += -XQbep_Vbep * (s->real);
|
||||
*(here->VBICbaseBPBaseBXPtr + 1) += -XQbep_Vbep * (s->imag);
|
||||
*(here->VBICbaseBPBaseBPPtr) += XQbep_Vbep * (s->real);
|
||||
*(here->VBICbaseBPBaseBPPtr + 1) += XQbep_Vbep * (s->imag);
|
||||
*(here->VBICbaseBPBaseBIPtr) += -XQbep_Vbci * (s->real);
|
||||
*(here->VBICbaseBPBaseBIPtr + 1) += -XQbep_Vbci * (s->imag);
|
||||
*(here->VBICbaseBPCollCIPtr) += XQbep_Vbci * (s->real);
|
||||
*(here->VBICbaseBPCollCIPtr + 1) += XQbep_Vbci * (s->imag);
|
||||
/*
|
||||
c Stamp element: Qbcp
|
||||
*/
|
||||
*(here->VBICsubsSISubsSIPtr) += XQbcp_Vbcp;
|
||||
*(here->VBICsubsSISubsSIPtr + 1) += XQbcp_Vbcp;
|
||||
*(here->VBICsubsSIBaseBPPtr) += -XQbcp_Vbcp;
|
||||
*(here->VBICsubsSIBaseBPPtr + 1) += -XQbcp_Vbcp;
|
||||
*(here->VBICbaseBPSubsSIPtr) += -XQbcp_Vbcp;
|
||||
*(here->VBICbaseBPSubsSIPtr + 1) += -XQbcp_Vbcp;
|
||||
*(here->VBICbaseBPBaseBPPtr) += XQbcp_Vbcp;
|
||||
*(here->VBICbaseBPBaseBPPtr + 1) += XQbcp_Vbcp;
|
||||
*(here->VBICsubsSISubsSIPtr) += XQbcp_Vbcp * (s->real);
|
||||
*(here->VBICsubsSISubsSIPtr + 1) += XQbcp_Vbcp * (s->imag);
|
||||
*(here->VBICsubsSIBaseBPPtr) += -XQbcp_Vbcp * (s->real);
|
||||
*(here->VBICsubsSIBaseBPPtr + 1) += -XQbcp_Vbcp * (s->imag);
|
||||
*(here->VBICbaseBPSubsSIPtr) += -XQbcp_Vbcp * (s->real);
|
||||
*(here->VBICbaseBPSubsSIPtr + 1) += -XQbcp_Vbcp * (s->imag);
|
||||
*(here->VBICbaseBPBaseBPPtr) += XQbcp_Vbcp * (s->real);
|
||||
*(here->VBICbaseBPBaseBPPtr + 1) += XQbcp_Vbcp * (s->imag);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue