Sim QA: Test all BJT parameters in each model
This commit is contained in:
parent
26644952a4
commit
5fb191e4d6
File diff suppressed because it is too large
Load Diff
|
@ -106,12 +106,17 @@ public:
|
|||
|
||||
BOOST_TEST_CONTEXT( "Param name: " << paramName )
|
||||
{
|
||||
if( i == 0 )
|
||||
if( i % 10 == 0 )
|
||||
BOOST_CHECK_EQUAL( aModel.FindParam( paramName )->value->ToString(), "0" );
|
||||
else if( aModel.FindParam( paramName )->info.type == SIM_VALUE::TYPE_INT )
|
||||
{
|
||||
BOOST_CHECK_EQUAL( aModel.FindParam( paramName )->value->ToString(),
|
||||
fmt::format( "{:d}", i % 10 ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
BOOST_CHECK_EQUAL( aModel.FindParam( paramName )->value->ToString(),
|
||||
fmt::format( "{}.0000{}G", i, i ) );
|
||||
fmt::format( "{}.0000{}G", i % 10, i % 10 ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -454,36 +459,625 @@ BOOST_AUTO_TEST_CASE( Bjts )
|
|||
{
|
||||
case 0:
|
||||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NPN_GUMMELPOON,
|
||||
{ "is", "nf", "ise", "ne", "bf", "ikf", "vaf", "nr", "isc", "nc" } );
|
||||
{
|
||||
"is",
|
||||
"nf",
|
||||
"ise",
|
||||
"ne",
|
||||
"bf",
|
||||
"ikf",
|
||||
"vaf",
|
||||
"nr",
|
||||
"isc",
|
||||
"nc",
|
||||
"br",
|
||||
"ikr",
|
||||
"var",
|
||||
"rb",
|
||||
"irb",
|
||||
"rbm",
|
||||
"re",
|
||||
"rc",
|
||||
"xtb",
|
||||
"eg",
|
||||
"xti",
|
||||
"cje",
|
||||
"vje",
|
||||
"mje",
|
||||
"tf",
|
||||
"xtf",
|
||||
"vtf",
|
||||
"itf",
|
||||
"ptf",
|
||||
"cjc",
|
||||
"vjc",
|
||||
"mjc",
|
||||
"xcjc",
|
||||
"tr",
|
||||
"cjs",
|
||||
"vjs",
|
||||
"mjs",
|
||||
"fc"
|
||||
} );
|
||||
break;
|
||||
|
||||
case 1:
|
||||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PNP_GUMMELPOON,
|
||||
{ "is", "nf", "ise", "ne", "bf", "ikf", "vaf", "nr", "isc", "nc" } );
|
||||
{
|
||||
"is",
|
||||
"nf",
|
||||
"ise",
|
||||
"ne",
|
||||
"bf",
|
||||
"ikf",
|
||||
"vaf",
|
||||
"nr",
|
||||
"isc",
|
||||
"nc",
|
||||
"br",
|
||||
"ikr",
|
||||
"var",
|
||||
"rb",
|
||||
"irb",
|
||||
"rbm",
|
||||
"re",
|
||||
"rc",
|
||||
"xtb",
|
||||
"eg",
|
||||
"xti",
|
||||
"cje",
|
||||
"vje",
|
||||
"mje",
|
||||
"tf",
|
||||
"xtf",
|
||||
"vtf",
|
||||
"itf",
|
||||
"ptf",
|
||||
"cjc",
|
||||
"vjc",
|
||||
"mjc",
|
||||
"xcjc",
|
||||
"tr",
|
||||
"cjs",
|
||||
"vjs",
|
||||
"mjs",
|
||||
"fc"
|
||||
} );
|
||||
break;
|
||||
|
||||
case 2:
|
||||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NPN_VBIC,
|
||||
{ "rcx", "rci", "vo", "gamm", "hrcf", "rbx", "rbi", "re", "rs",
|
||||
"rbp" } );
|
||||
{
|
||||
"rcx",
|
||||
"rci",
|
||||
"vo",
|
||||
"gamm",
|
||||
"hrcf",
|
||||
"rbx",
|
||||
"rbi",
|
||||
"re",
|
||||
"rs",
|
||||
"rbp",
|
||||
"is",
|
||||
"nf",
|
||||
"nr",
|
||||
"fc",
|
||||
"cbeo",
|
||||
"cje",
|
||||
"pe",
|
||||
"me",
|
||||
"aje",
|
||||
"cbco",
|
||||
"cjc",
|
||||
"qco",
|
||||
"cjep",
|
||||
"pc",
|
||||
"mc",
|
||||
"ajc",
|
||||
"cjcp",
|
||||
"ps",
|
||||
"ms",
|
||||
"ajs",
|
||||
"ibei",
|
||||
"wbe",
|
||||
"nei",
|
||||
"iben",
|
||||
"nen",
|
||||
"ibci",
|
||||
"nci",
|
||||
"ibcn",
|
||||
"ncn",
|
||||
"avc1",
|
||||
"avc2",
|
||||
"isp",
|
||||
"wsp",
|
||||
"nfp",
|
||||
"ibeip",
|
||||
"ibenp",
|
||||
"ibcip",
|
||||
"ncip",
|
||||
"ibcnp",
|
||||
"ncnp",
|
||||
"vef",
|
||||
"ver",
|
||||
"ikf",
|
||||
"ikr",
|
||||
"ikp",
|
||||
"tf",
|
||||
"qtf",
|
||||
"xtf",
|
||||
"vtf",
|
||||
"itf",
|
||||
"tr",
|
||||
"td",
|
||||
"kfn",
|
||||
"afn",
|
||||
"bfn",
|
||||
"xre",
|
||||
"xrb",
|
||||
"xrbi",
|
||||
"xrc",
|
||||
"xrci",
|
||||
"xrs",
|
||||
"xvo",
|
||||
"ea",
|
||||
"eaie",
|
||||
"eaic",
|
||||
"eais",
|
||||
"eane",
|
||||
"eanc",
|
||||
"eans",
|
||||
"xis",
|
||||
"xii",
|
||||
"xin",
|
||||
"tnf",
|
||||
"tavc",
|
||||
"rth",
|
||||
"cth",
|
||||
"vrt",
|
||||
"art",
|
||||
"ccso",
|
||||
"qbm",
|
||||
"nkf",
|
||||
"xikf",
|
||||
"xrcx",
|
||||
"xrbx",
|
||||
"xrbp",
|
||||
"isrr",
|
||||
"xisr",
|
||||
"dear",
|
||||
"eap",
|
||||
"vbbe",
|
||||
"nbbe",
|
||||
"ibbe",
|
||||
"tvbbe1",
|
||||
"tvbbe2",
|
||||
"tnbbe",
|
||||
"ebbe",
|
||||
"dtemp",
|
||||
"vers",
|
||||
"vref",
|
||||
"vbe_max",
|
||||
"vbc_max",
|
||||
"vce_max"
|
||||
} );
|
||||
break;
|
||||
|
||||
case 3:
|
||||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PNP_VBIC,
|
||||
{ "rcx", "rci", "vo", "gamm", "hrcf", "rbx", "rbi", "re", "rs",
|
||||
"rbp" } );
|
||||
{
|
||||
"rcx",
|
||||
"rci",
|
||||
"vo",
|
||||
"gamm",
|
||||
"hrcf",
|
||||
"rbx",
|
||||
"rbi",
|
||||
"re",
|
||||
"rs",
|
||||
"rbp",
|
||||
"is",
|
||||
"nf",
|
||||
"nr",
|
||||
"fc",
|
||||
"cbeo",
|
||||
"cje",
|
||||
"pe",
|
||||
"me",
|
||||
"aje",
|
||||
"cbco",
|
||||
"cjc",
|
||||
"qco",
|
||||
"cjep",
|
||||
"pc",
|
||||
"mc",
|
||||
"ajc",
|
||||
"cjcp",
|
||||
"ps",
|
||||
"ms",
|
||||
"ajs",
|
||||
"ibei",
|
||||
"wbe",
|
||||
"nei",
|
||||
"iben",
|
||||
"nen",
|
||||
"ibci",
|
||||
"nci",
|
||||
"ibcn",
|
||||
"ncn",
|
||||
"avc1",
|
||||
"avc2",
|
||||
"isp",
|
||||
"wsp",
|
||||
"nfp",
|
||||
"ibeip",
|
||||
"ibenp",
|
||||
"ibcip",
|
||||
"ncip",
|
||||
"ibcnp",
|
||||
"ncnp",
|
||||
"vef",
|
||||
"ver",
|
||||
"ikf",
|
||||
"ikr",
|
||||
"ikp",
|
||||
"tf",
|
||||
"qtf",
|
||||
"xtf",
|
||||
"vtf",
|
||||
"itf",
|
||||
"tr",
|
||||
"td",
|
||||
"kfn",
|
||||
"afn",
|
||||
"bfn",
|
||||
"xre",
|
||||
"xrb",
|
||||
"xrbi",
|
||||
"xrc",
|
||||
"xrci",
|
||||
"xrs",
|
||||
"xvo",
|
||||
"ea",
|
||||
"eaie",
|
||||
"eaic",
|
||||
"eais",
|
||||
"eane",
|
||||
"eanc",
|
||||
"eans",
|
||||
"xis",
|
||||
"xii",
|
||||
"xin",
|
||||
"tnf",
|
||||
"tavc",
|
||||
"rth",
|
||||
"cth",
|
||||
"vrt",
|
||||
"art",
|
||||
"ccso",
|
||||
"qbm",
|
||||
"nkf",
|
||||
"xikf",
|
||||
"xrcx",
|
||||
"xrbx",
|
||||
"xrbp",
|
||||
"isrr",
|
||||
"xisr",
|
||||
"dear",
|
||||
"eap",
|
||||
"vbbe",
|
||||
"nbbe",
|
||||
"ibbe",
|
||||
"tvbbe1",
|
||||
"tvbbe2",
|
||||
"tnbbe",
|
||||
"ebbe",
|
||||
"dtemp",
|
||||
"vers",
|
||||
"vref",
|
||||
"vbe_max",
|
||||
"vbc_max",
|
||||
"vce_max"
|
||||
} );
|
||||
break;
|
||||
|
||||
case 4:
|
||||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NPN_HICUM2,
|
||||
{ "c10", "qp0", "ich", "hf0", "hfe", "hfc", "hjei", "ahjei", "rhjei",
|
||||
"hjci" } );
|
||||
{
|
||||
"c10",
|
||||
"qp0",
|
||||
"ich",
|
||||
"hf0",
|
||||
"hfe",
|
||||
"hfc",
|
||||
"hjei",
|
||||
"ahjei",
|
||||
"rhjei",
|
||||
"hjci",
|
||||
"ibeis",
|
||||
"mbei",
|
||||
"ireis",
|
||||
"mrei",
|
||||
"ibeps",
|
||||
"mbep",
|
||||
"ireps",
|
||||
"mrep",
|
||||
"mcf",
|
||||
"tbhrec",
|
||||
"ibcis",
|
||||
"mbci",
|
||||
"ibcxs",
|
||||
"mbcx",
|
||||
"ibets",
|
||||
"abet",
|
||||
"tunode",
|
||||
"favl",
|
||||
"qavl",
|
||||
"kavl",
|
||||
"alfav",
|
||||
"alqav",
|
||||
"alkav",
|
||||
"rbi0",
|
||||
"rbx",
|
||||
"fgeo",
|
||||
"fdqr0",
|
||||
"fcrbi",
|
||||
"fqi",
|
||||
"re",
|
||||
"rcx",
|
||||
"itss",
|
||||
"msf",
|
||||
"iscs",
|
||||
"msc",
|
||||
"tsf",
|
||||
"rsu",
|
||||
"csu",
|
||||
"cjei0",
|
||||
"vdei",
|
||||
"zei",
|
||||
"ajei",
|
||||
//"aljei", Alias.
|
||||
"cjep0",
|
||||
"vdep",
|
||||
"zep",
|
||||
"ajep",
|
||||
//"aljep", Alias.
|
||||
"cjci0",
|
||||
"vdci",
|
||||
"zci",
|
||||
"vptci",
|
||||
"cjcx0",
|
||||
"vdcx",
|
||||
"zcx",
|
||||
"vptcx",
|
||||
"fbcpar",
|
||||
//"fbc", Alias.
|
||||
"fbepar",
|
||||
//"fbe", Alias.
|
||||
"cjs0",
|
||||
"vds",
|
||||
"zs",
|
||||
"vpts",
|
||||
"cscp0",
|
||||
"vdsp",
|
||||
"zsp",
|
||||
"vptsp",
|
||||
"t0",
|
||||
"dt0h",
|
||||
"tbvl",
|
||||
"tef0",
|
||||
"gtfe",
|
||||
"thcs",
|
||||
"ahc",
|
||||
//"alhc", Alias.
|
||||
"fthc",
|
||||
"rci0",
|
||||
"vlim",
|
||||
"vces",
|
||||
"vpt",
|
||||
"aick",
|
||||
"delck",
|
||||
"tr",
|
||||
"vcbar",
|
||||
"icbar",
|
||||
"acbar",
|
||||
"cbepar",
|
||||
//"ceox", Alias.
|
||||
"cbcpar",
|
||||
//"ccox", Alias.
|
||||
"alqf",
|
||||
"alit",
|
||||
"flnqs",
|
||||
"kf",
|
||||
"af",
|
||||
"cfbe",
|
||||
"flcono",
|
||||
"kfre",
|
||||
"afre",
|
||||
"latb",
|
||||
"latl",
|
||||
"vgb",
|
||||
"alt0",
|
||||
"kt0",
|
||||
"zetaci",
|
||||
"alvs",
|
||||
"alces",
|
||||
"zetarbi",
|
||||
"zetarbx",
|
||||
"zetarcx",
|
||||
"zetare",
|
||||
"zetacx",
|
||||
"vge",
|
||||
"vgc",
|
||||
"vgs",
|
||||
"f1vg",
|
||||
"f2vg",
|
||||
"zetact",
|
||||
"zetabet",
|
||||
"alb",
|
||||
"dvgbe",
|
||||
"zetahjei",
|
||||
"zetavgbe",
|
||||
"flsh",
|
||||
"rth",
|
||||
"zetarth",
|
||||
"alrth",
|
||||
"cth",
|
||||
"flcomp",
|
||||
"vbe_max",
|
||||
"vbc_max",
|
||||
"vce_max"
|
||||
} );
|
||||
break;
|
||||
|
||||
case 5:
|
||||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PNP_HICUM2,
|
||||
{ "c10", "qp0", "ich", "hf0", "hfe", "hfc", "hjei", "ahjei", "rhjei",
|
||||
"hjci" } );
|
||||
{
|
||||
"c10",
|
||||
"qp0",
|
||||
"ich",
|
||||
"hf0",
|
||||
"hfe",
|
||||
"hfc",
|
||||
"hjei",
|
||||
"ahjei",
|
||||
"rhjei",
|
||||
"hjci",
|
||||
"ibeis",
|
||||
"mbei",
|
||||
"ireis",
|
||||
"mrei",
|
||||
"ibeps",
|
||||
"mbep",
|
||||
"ireps",
|
||||
"mrep",
|
||||
"mcf",
|
||||
"tbhrec",
|
||||
"ibcis",
|
||||
"mbci",
|
||||
"ibcxs",
|
||||
"mbcx",
|
||||
"ibets",
|
||||
"abet",
|
||||
"tunode",
|
||||
"favl",
|
||||
"qavl",
|
||||
"kavl",
|
||||
"alfav",
|
||||
"alqav",
|
||||
"alkav",
|
||||
"rbi0",
|
||||
"rbx",
|
||||
"fgeo",
|
||||
"fdqr0",
|
||||
"fcrbi",
|
||||
"fqi",
|
||||
"re",
|
||||
"rcx",
|
||||
"itss",
|
||||
"msf",
|
||||
"iscs",
|
||||
"msc",
|
||||
"tsf",
|
||||
"rsu",
|
||||
"csu",
|
||||
"cjei0",
|
||||
"vdei",
|
||||
"zei",
|
||||
"ajei",
|
||||
//"aljei", Alias.
|
||||
"cjep0",
|
||||
"vdep",
|
||||
"zep",
|
||||
"ajep",
|
||||
//"aljep", Alias.
|
||||
"cjci0",
|
||||
"vdci",
|
||||
"zci",
|
||||
"vptci",
|
||||
"cjcx0",
|
||||
"vdcx",
|
||||
"zcx",
|
||||
"vptcx",
|
||||
"fbcpar",
|
||||
//"fbc", Alias.
|
||||
"fbepar",
|
||||
//"fbe", Alias.
|
||||
"cjs0",
|
||||
"vds",
|
||||
"zs",
|
||||
"vpts",
|
||||
"cscp0",
|
||||
"vdsp",
|
||||
"zsp",
|
||||
"vptsp",
|
||||
"t0",
|
||||
"dt0h",
|
||||
"tbvl",
|
||||
"tef0",
|
||||
"gtfe",
|
||||
"thcs",
|
||||
"ahc",
|
||||
//"alhc", Alias.
|
||||
"fthc",
|
||||
"rci0",
|
||||
"vlim",
|
||||
"vces",
|
||||
"vpt",
|
||||
"aick",
|
||||
"delck",
|
||||
"tr",
|
||||
"vcbar",
|
||||
"icbar",
|
||||
"acbar",
|
||||
"cbepar",
|
||||
//"ceox", Alias.
|
||||
"cbcpar",
|
||||
//"ccox", Alias.
|
||||
"alqf",
|
||||
"alit",
|
||||
"flnqs",
|
||||
"kf",
|
||||
"af",
|
||||
"cfbe",
|
||||
"flcono",
|
||||
"kfre",
|
||||
"afre",
|
||||
"latb",
|
||||
"latl",
|
||||
"vgb",
|
||||
"alt0",
|
||||
"kt0",
|
||||
"zetaci",
|
||||
"alvs",
|
||||
"alces",
|
||||
"zetarbi",
|
||||
"zetarbx",
|
||||
"zetarcx",
|
||||
"zetare",
|
||||
"zetacx",
|
||||
"vge",
|
||||
"vgc",
|
||||
"vgs",
|
||||
"f1vg",
|
||||
"f2vg",
|
||||
"zetact",
|
||||
"zetabet",
|
||||
"alb",
|
||||
"dvgbe",
|
||||
"zetahjei",
|
||||
"zetavgbe",
|
||||
"flsh",
|
||||
"rth",
|
||||
"zetarth",
|
||||
"alrth",
|
||||
"cth",
|
||||
"flcomp",
|
||||
"vbe_max",
|
||||
"vbc_max",
|
||||
"vce_max"
|
||||
} );
|
||||
|
||||
break;
|
||||
|
||||
case 6:
|
||||
|
|
Loading…
Reference in New Issue