166    LoadLibrary( 
"subckts" );
 
  168    const std::vector<SIM_LIBRARY::MODEL> models = m_library->GetModels();
 
  172    for( 
int i = 0; i < models.size(); ++i )
 
  174        const auto& [modelName, model] = models.at( i );
 
  181            BOOST_CHECK( model.GetType() == SIM_MODEL::TYPE::SUBCKT );
 
  186            BOOST_CHECK( model.GetType() == SIM_MODEL::TYPE::SUBCKT );
 
  188            BOOST_REQUIRE_EQUAL( model.GetParamCount(), 1 );
 
  191            BOOST_REQUIRE_EQUAL( model.GetPinCount(), 2 );
 
  197            BOOST_CHECK( model.GetType() == SIM_MODEL::TYPE::SUBCKT );
 
  199            BOOST_REQUIRE_EQUAL( model.GetParamCount(), 1 );
 
  207            BOOST_CHECK( model.GetType() == SIM_MODEL::TYPE::SUBCKT );
 
  209            BOOST_REQUIRE_EQUAL( model.GetParamCount(), 2 );
 
  214            BOOST_REQUIRE_EQUAL( model.GetPinCount(), 2 );
 
  220            BOOST_CHECK( model.GetType() == SIM_MODEL::TYPE::SUBCKT );
 
  222            BOOST_REQUIRE_EQUAL( model.GetParamCount(), 2 );
 
  227            BOOST_REQUIRE_EQUAL( model.GetPinCount(), 2 );
 
  233            BOOST_CHECK( model.GetType() == SIM_MODEL::TYPE::SUBCKT );
 
  240            BOOST_CHECK( model.GetType() == SIM_MODEL::TYPE::SUBCKT );
 
 
 1133    LoadLibrary( 
"fets" );
 
 1135    const std::vector<SIM_LIBRARY::MODEL> models = m_library->GetModels();
 
 1139    for( 
int i = 0; i < models.size(); ++i )
 
 1141        const auto& [modelName, model] = models.at( i );
 
 1150            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NJFET_SHICHMANHODGES,
 
 1151                            { 
"vt0", 
"beta", 
"lambda", 
"rd", 
"rs", 
"cgs", 
"cgd", 
"pb", 
"is_",
 
 1156            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PJFET_SHICHMANHODGES,
 
 1157                            { 
"vt0", 
"beta", 
"lambda", 
"rd", 
"rs", 
"cgs", 
"cgd", 
"pb", 
"is_",
 
 1162            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NJFET_PARKERSKELLERN,
 
 1163                            { 
"vbi", 
"af", 
"beta", 
"cds", 
"cgd", 
"cgs", 
"delta", 
"hfeta", 
"mvst",
 
 1168            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PJFET_PARKERSKELLERN,
 
 1169                            { 
"vbi", 
"af", 
"beta", 
"cds", 
"cgd", 
"cgs", 
"delta", 
"hfeta", 
"mvst",
 
 1174            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMES_STATZ,
 
 1175                            { 
"vt0", 
"alpha", 
"beta", 
"lambda", 
"b", 
"rd", 
"rs", 
"cgs", 
"cgd_",
 
 1180            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMES_STATZ,
 
 1181                            { 
"vt0", 
"alpha", 
"beta", 
"lambda", 
"b", 
"rd", 
"rs", 
"cgs", 
"cgd_",
 
 1186            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMES_YTTERDAL,
 
 1187                            { 
"vto", 
"lambda", 
"lambdahf", 
"beta", 
"vs", 
"rd", 
"rs", 
"rg", 
"ri",
 
 1192            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMES_YTTERDAL,
 
 1193                            { 
"vto", 
"lambda", 
"lambdahf", 
"beta", 
"vs", 
"rd", 
"rs", 
"rg", 
"ri",
 
 1198            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMES_HFET1,
 
 1199                            { 
"vt0", 
"lambda", 
"rd", 
"rs", 
"rg", 
"rdi", 
"rsi", 
"rgs", 
"rgd",
 
 1204            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMES_HFET1,
 
 1205                            { 
"vt0", 
"lambda", 
"rd", 
"rs", 
"rg", 
"rdi", 
"rsi", 
"rgs", 
"rgd",
 
 1210            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMES_HFET2,
 
 1211                            { 
"vs", 
"ggr", 
"js", 
"del", 
"delta", 
"deltad", 
"di", 
"epsi", 
"eta",
 
 1216            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMES_HFET2,
 
 1217                            { 
"vs", 
"ggr", 
"js", 
"del", 
"delta", 
"deltad", 
"di", 
"epsi", 
"eta",
 
 1222            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_VDMOS,
 
 1297            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_VDMOS,
 
 1372            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_MOS1,
 
 1373                            { 
"vto", 
"kp", 
"gamma", 
"phi", 
"lambda", 
"rd_", 
"rs_", 
"cbd_", 
"cbs_",
 
 1378            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_MOS1,
 
 1379                            { 
"vto", 
"kp", 
"gamma", 
"phi", 
"lambda", 
"rd_", 
"rs_", 
"cbd_", 
"cbs_",
 
 1384            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_MOS2,
 
 1385                            { 
"vto", 
"kp", 
"gamma", 
"phi", 
"lambda", 
"rd_", 
"rs_", 
"cbd_", 
"cbs_",
 
 1390            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_MOS2,
 
 1391                            { 
"vto", 
"kp", 
"gamma", 
"phi", 
"lambda", 
"rd_", 
"rs_", 
"cbd_", 
"cbs_",
 
 1396            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_MOS3,
 
 1397                            { 
"vto", 
"theta", 
"gamma", 
"phi", 
"eta", 
"rd_", 
"rs_", 
"cbd_", 
"cbs_",
 
 1402            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_MOS3,
 
 1403                            { 
"vto", 
"theta", 
"gamma", 
"phi", 
"eta", 
"rd_", 
"rs_", 
"cbd_", 
"cbs_",
 
 1408            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_BSIM1,
 
 1409                            { 
"vfb", 
"lvfb", 
"wvfb", 
"phi", 
"lphi", 
"wphi", 
"k1", 
"lk1", 
"wk1",
 
 1414            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_BSIM1,
 
 1415                            { 
"vfb", 
"lvfb", 
"wvfb", 
"phi", 
"lphi", 
"wphi", 
"k1", 
"lk1", 
"wk1",
 
 1420            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_BSIM2,
 
 1421                            { 
"bib", 
"lbib", 
"wbib", 
"vghigh", 
"lvghigh", 
"wvghigh",
 
 1422                              "waib", 
"bi0", 
"lbi0", 
"wbi0" } );
 
 1426            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_BSIM2,
 
 1427                            { 
"bib", 
"lbib", 
"wbib", 
"vghigh", 
"lvghigh", 
"wvghigh",
 
 1428                              "waib", 
"bi0", 
"lbi0", 
"wbi0" } );
 
 1432            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_MOS6,
 
 1433                            { 
"vto", 
"nvth", 
"gamma", 
"phi", 
"lambda", 
"rd_", 
"rs_", 
"cbd_", 
"cbs_",
 
 1438            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_MOS6,
 
 1439                            { 
"vto", 
"nvth", 
"gamma", 
"phi", 
"lambda", 
"rd_", 
"rs_", 
"cbd_", 
"cbs_",
 
 1444            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_BSIM3,
 
 1445                            { 
"tox", 
"toxm", 
"cdsc", 
"cdscb", 
"cdscd", 
"cit", 
"nfactor", 
"xj",
 
 1450            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_BSIM3,
 
 1451                            { 
"tox", 
"toxm", 
"cdsc", 
"cdscb", 
"cdscd", 
"cit", 
"nfactor", 
"xj",
 
 1456            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_MOS9,
 
 1457                            { 
"vto", 
"theta", 
"gamma", 
"phi", 
"eta", 
"rd_", 
"rs_", 
"cbd_", 
"cbs_",
 
 1462            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_MOS9,
 
 1463                            { 
"vto", 
"theta", 
"gamma", 
"phi", 
"eta", 
"rd_", 
"rs_", 
"cbd_", 
"cbs_",
 
 1468            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_B4SOI,
 
 1469                            { 
"tox", 
"toxp", 
"toxm", 
"dtoxcv", 
"cdsc", 
"cdscb", 
"cdscd", 
"cit",
 
 1470                              "nfactor", 
"vsat" } );
 
 1474            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_B4SOI,
 
 1475                            { 
"tox", 
"toxp", 
"toxm", 
"dtoxcv", 
"cdsc", 
"cdscb", 
"cdscd", 
"cit",
 
 1476                              "nfactor", 
"vsat" } );
 
 1480            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_BSIM4,
 
 1481                            { 
"rbps0", 
"rbpsl", 
"rbpsw", 
"rbpsnf", 
"rbpd0", 
"rbpdl", 
"rbpdw", 
"rbpdnf",
 
 1482                              "rbpbx0", 
"rbpbxl" } );
 
 1486            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_BSIM4,
 
 1487                            { 
"rbps0", 
"rbpsl", 
"rbpsw", 
"rbpsnf", 
"rbpd0", 
"rbpdl", 
"rbpdw", 
"rbpdnf",
 
 1488                              "rbpbx0", 
"rbpbxl" } );
 
 1492            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_B3SOIFD,
 
 1493                            { 
"tox", 
"cdsc", 
"cdscb", 
"cdscd", 
"cit", 
"nfactor", 
"vsat", 
"at", 
"a0",
 
 1498            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_B3SOIFD,
 
 1499                            { 
"tox", 
"cdsc", 
"cdscb", 
"cdscd", 
"cit", 
"nfactor", 
"vsat", 
"at", 
"a0",
 
 1504            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_B3SOIDD,
 
 1505                            { 
"tox", 
"cdsc", 
"cdscb", 
"cdscd", 
"cit", 
"nfactor", 
"vsat", 
"at", 
"a0",
 
 1510            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_B3SOIDD,
 
 1511                            { 
"tox", 
"cdsc", 
"cdscb", 
"cdscd", 
"cit", 
"nfactor", 
"vsat", 
"at", 
"a0",
 
 1516            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_B3SOIPD,
 
 1517                            { 
"tox", 
"cdsc", 
"cdscb", 
"cdscd", 
"cit", 
"nfactor", 
"vsat", 
"at", 
"a0",
 
 1522            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_B3SOIPD,
 
 1523                            { 
"tox", 
"cdsc", 
"cdscb", 
"cdscd", 
"cit", 
"nfactor", 
"vsat", 
"at", 
"a0",
 
 1528            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_HISIM2,
 
 1529                            { 
"depmue0", 
"depmue0l", 
"depmue0lp", 
"depmue1", 
"depmue1l",
 
 1530                              "depmue1lp", 
"depmueback0", 
"depmueback0l", 
"depmueback0lp",
 
 1535            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_HISIM2,
 
 1536                            { 
"depmue0", 
"depmue0l", 
"depmue0lp", 
"depmue1", 
"depmue1l", 
"depmue1lp",
 
 1537                              "depmueback0", 
"depmueback0l", 
"depmueback0lp", 
"depmueback1" } );
 
 1541            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_HISIMHV1,
 
 1542                            { 
"prd", 
"prd22", 
"prd23", 
"prd24", 
"prdict1", 
"prdov13", 
"prdslp1",
 
 1543                              "prdvb", 
"prdvd", 
"prdvg11" } );
 
 1547            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_HISIMHV1,
 
 1548                            { 
"prd", 
"prd22", 
"prd23", 
"prd24", 
"prdict1", 
"prdov13", 
"prdslp1",
 
 1549                              "prdvb", 
"prdvd", 
"prdvg11" } );
 
 1553            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_HISIMHV2,
 
 1554                            { 
"pjs0d", 
"pjs0swd", 
"pnjd", 
"pcisbkd", 
"pvdiffjd", 
"pjs0s", 
"pjs0sws",
 
 1555                              "prs", 
"prth0", 
"pvover" } );
 
 1559            TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_HISIMHV2,
 
 1560                            { 
"pjs0d", 
"pjs0swd", 
"pnjd", 
"pcisbkd", 
"pvdiffjd", 
"pjs0s", 
"pjs0sws",
 
 1561                              "prs", 
"prth0", 
"pvover" } );