public static void initialize_factory(factory.list_t factory) { // The following is from a script which automatically creates // the entries. // FIXME: the list should be either included or the whole // initialize factory code should be created programmatically. //#include "../generated/lib_entries.hxx" lib_entries_global.initialize_factory(factory); }
} //#define ENTRYX(nic, name, defparam) { NETLIB_DEVICE_DECL(nic) ENTRYX1(NETLIB_NAME(nic), name, defparam, decl_ ## nic) } //#define ENTRYX1_N(nic, decl) factory.register_device( decl (pstring(""), pstring(xstr(nic)), pstring("")) ); //#define ENTRYX_N(nic) { NETLIB_DEVICE_DECL(nic); ENTRYX1_N(NETLIB_NAME(nic), decl_ ## nic) } public static void initialize_factory(factory.list_t factory) { initialize_factory_factory = factory; ENTRYX(analog.nld_R.decl_R, "R", "RES", "R"); ENTRYX(analog.nld_POT.decl_POT, "POT", "POT", "R"); //ENTRYX("POT2", "POT2", "R"); ENTRYX(analog.nld_C.decl_C, "C", "CAP", "C"); //ENTRYX("L", "IND", "L"); //ENTRYX("D", "DIODE", "MODEL"); //ENTRYX("VS", "VS", "V"); //ENTRYX("CS", "CS", "I"); //ENTRYX("VCVS", "VCVS", ""); //ENTRYX("VCCS", "VCCS", ""); //ENTRYX("CCCS", "CCCS", ""); //ENTRYX("LVCCS", "LVCCS", ""); //ENTRYX("opamp", "OPAMP", "MODEL"); ENTRYX(nld_dummy_input.decl_dummy_input, "dummy_input", "DUMMY_INPUT", ""); //ENTRYX("frontier", "FRONTIER_DEV", "+I,+G,+Q"); // not intended to be used directly //ENTRYX("function", "AFUNC", "N,FUNC"); // only for macro devices - NO FEEDBACK loops //ENTRYX("QBJT_EB", "QBJT_EB", "MODEL"); //ENTRYX("QBJT_switch", "QBJT_SW", "MODEL"); ENTRYX(nld_logic_input.decl_logic_input, "logic_input", "TTL_INPUT", "IN"); //ENTRYX("logic_input", "LOGIC_INPUT", "IN,FAMILY"); ENTRYX(nld_analog_input.decl_analog_input, "analog_input", "ANALOG_INPUT", "IN"); //ENTRYX("log", "LOG", "+I"); //ENTRYX("logD", "LOGD", "+I,+I2"); //ENTRYX("clock", "CLOCK", "FREQ"); //ENTRYX("extclock", "EXTCLOCK", "FREQ,PATTERN"); //ENTRYX("mainclock", "MAINCLOCK", "FREQ"); ENTRYX(nld_gnd.decl_gnd, "gnd", "GND", ""); ENTRYX(nld_netlistparams.decl_netlistparams, "netlistparams", "PARAMETER", ""); ENTRYX(nld_solver.decl_solver, "solver", "SOLVER", "FREQ"); //ENTRYX("res_sw", "RES_SWITCH", "+IN,+P1,+P2"); //ENTRYX("switch1", "SWITCH", ""); //ENTRYX("switch2", "SWITCH2", ""); //ENTRYX("nicRSFF", "NETDEV_RSFF", ""); //ENTRYX("nicDelay", "NETDEV_DELAY", ""); //ENTRYX("2716", "EPROM_2716", "+GQ,+EPQ,+A0,+A1,+A2,+A3,+A4,+A5,+A6,+A7,+A8,+A9,+A10"); //ENTRYX("TMS4800", "ROM_TMS4800", "+AR,+OE1,+OE2,+A0,+A1,+A2,+A3,+A4,+A5,+A6,+A7,+A8,+A9,+A10"); //ENTRYX("2102A", "RAM_2102A", "+CEQ,+A0,+A1,+A2,+A3,+A4,+A5,+A6,+A7,+A8,+A9,+RWQ,+DI"); //ENTRYX("7450", "TTL_7450_ANDORINVERT", "+A,+B,+C,+D"); //ENTRYX("7448", "TTL_7448", "+A,+B,+C,+D,+LTQ,+BIQ,+RBIQ"); //ENTRYX("7473", "TTL_7473", "+CLK,+J,+K,+CLRQ"); //ENTRYX("7473A", "TTL_7473A", "+CLK,+J,+K,+CLRQ"); //ENTRYX("7474", "TTL_7474", "+CLK,+D,+CLRQ,+PREQ"); //ENTRYX("7475", "TTL_7475", ""); //ENTRYX("7477", "TTL_7477", ""); //ENTRYX("7483", "TTL_7483", "+A1,+A2,+A3,+A4,+B1,+B2,+B3,+B4,+C0"); //ENTRYX("7485", "TTL_7485", "+A0,+A1,+A2,+A3,+B0,+B1,+B2,+B3,+LTIN,+EQIN,+GTIN"); //ENTRYX("7490", "TTL_7490", "+A,+B,+R1,+R2,+R91,+R92"); //ENTRYX("7493", "TTL_7493", "+CLKA,+CLKB,+R1,+R2"); //ENTRYX("74107", "TTL_74107", "+CLK,+J,+K,+CLRQ"); //ENTRYX("74107A", "TTL_74107A", "+CLK,+J,+K,+CLRQ"); //ENTRYX("74123", "TTL_74123", ""); //ENTRYX("74153", "TTL_74153", "+C0,+C1,+C2,+C3,+A,+B,+G"); //ENTRYX("74161", "TTL_74161", "+A,+B,+C,+D,+CLRQ,+LOADQ,+CLK,+ENABLEP,+ENABLET"); //ENTRYX("74164", "TTL_74164", "+A,+B,+CLRQ,+CLK"); //ENTRYX("74165", "TTL_74165", "+CLK,+CLKINH,+SH_LDQ,+SER,+A,+B,+C,+D,+E,+F,+G,+H"); //ENTRYX("74166", "TTL_74166", "+CLK,+CLKINH,+SH_LDQ,+SER,+A,+B,+C,+D,+E,+F,+G,+H,+CLRQ"); //ENTRYX("74174", "TTL_74174", "+CLK,+D1,+D2,+D3,+D4,+D5,+D6,+CLRQ"); //ENTRYX("74175", "TTL_74175", "+CLK,+D1,+D2,+D3,+D4,+CLRQ"); //ENTRYX("74192", "TTL_74192", "+A,+B,+C,+D,+CLEAR,+LOADQ,+CU,+CD"); //ENTRYX("74193", "TTL_74193", "+A,+B,+C,+D,+CLEAR,+LOADQ,+CU,+CD"); //ENTRYX("74194", "TTL_74194", "+CLK,+S0,+S1,+SRIN,+A,+B,+C,+D,+SLIN,+CLRQ"); //ENTRYX("74365", "TTL_74365", "+G1Q,+G2Q,+A1,+A2,+A3,+A4,+A5,+A6"); ////ENTRY(74279, TTL_74279, "") // only dip available //ENTRYX("SN74LS629", "SN74LS629", "CAP"); //ENTRYX("82S16", "TTL_82S16", ""); //ENTRYX("82S115", "PROM_82S115", "+CE1Q,+CE2,+A0,+A1,+A2,+A3,+A4,+A5,+A6,+A7,+A8,+STROBE"); //ENTRYX("82S123", "PROM_82S123", "+CEQ,+A0,+A1,+A2,+A3,+A4"); //ENTRYX("82S126", "PROM_82S126", "+CE1Q,+CE2Q,+A0,+A1,+A2,+A3,+A4,+A5,+A6,+A7"); //ENTRYX("9310", "TTL_9310", ""); //ENTRYX("9314", "TTL_9314", "+EQ,+MRQ,+S0Q,+S1Q,+S2Q,+S3Q,+D0,+D1,+D2,+D3"); //ENTRYX("9316", "TTL_9316", "+CLK,+ENP,+ENT,+CLRQ,+LOADQ,+A,+B,+C,+D"); //ENTRYX("9322", "TTL_9322", "+SELECT,+A1,+B1,+A2,+B2,+A3,+B3,+A4,+B4,+STROBE"); //ENTRYX("9334", "TTL_9334", "+CQ,+EQ,+D,+A0,+A1,+A2"); //ENTRYX("AM2847", "TTL_AM2847", "+CP,+INA,+INB,+INC,+IND,+RCA,+RCB,+RCC,+RCD"); //ENTRYX("CD4020", "CD4020", ""); //ENTRYX("CD4066_GATE", "CD4066_GATE", ""); //ENTRYX("CD4316_GATE", "CD4316_GATE", ""); //ENTRYX("schmitt_trigger", "SCHMITT_TRIGGER", "MODEL"); /* entries with suffix WI are legacy only */ //ENTRYX("CD4020", "CD4020_WI", "+IP,+RESET,+VDD,+VSS"); ////ENTRY(4066, CD_4066, "+A,B") //ENTRYX("NE555", "NE555", ""); //ENTRYX("r2r_dac", "R2R_DAC", "VIN,R,N"); //ENTRYX("tristate", "TTL_TRISTATE", "+CEQ1,+D1,+CEQ2,+D2"); //ENTRYX("tristate3", "TTL_TRISTATE3", ""); //ENTRYX("2102A_dip", "RAM_2102A_DIP", ""); //ENTRYX("2716_dip", "EPROM_2716_DIP", ""); //ENTRYX("tms4800_dip", "ROM_TMS4800_DIP", ""); //ENTRYX("4538_dip", "CD4538_DIP", ""); //ENTRYX("7448_dip", "TTL_7448_DIP", ""); //ENTRYX("7450_dip", "TTL_7450_DIP", ""); //ENTRYX("7473_dip", "TTL_7473_DIP", ""); //ENTRYX("7473A_dip", "TTL_7473A_DIP", ""); //ENTRYX("7474_dip", "TTL_7474_DIP", ""); //ENTRYX("7475_dip", "TTL_7475_DIP", ""); //ENTRYX("7477_dip", "TTL_7477_DIP", ""); //ENTRYX("7483_dip", "TTL_7483_DIP", ""); //ENTRYX("7485_dip", "TTL_7485_DIP", ""); //ENTRYX("7490_dip", "TTL_7490_DIP", ""); //ENTRYX("7493_dip", "TTL_7493_DIP", ""); //ENTRYX("74107_dip", "TTL_74107_DIP", ""); //ENTRYX("74123_dip", "TTL_74123_DIP", ""); //ENTRYX("74153_dip", "TTL_74153_DIP", ""); //ENTRYX("74161_dip", "TTL_74161_DIP", ""); //ENTRYX("74164_dip", "TTL_74164_DIP", ""); //ENTRYX("74165_dip", "TTL_74165_DIP", ""); //ENTRYX("74166_dip", "TTL_74166_DIP", ""); //ENTRYX("74174_dip", "TTL_74174_DIP", ""); //ENTRYX("74175_dip", "TTL_74175_DIP", ""); //ENTRYX("74192_dip", "TTL_74192_DIP", ""); //ENTRYX("74193_dip", "TTL_74193_DIP", ""); //ENTRYX("74194_dip", "TTL_74194_DIP", ""); //ENTRYX("74365_dip", "TTL_74365_DIP", ""); //ENTRYX("82S16_dip", "TTL_82S16_DIP", ""); //ENTRYX("82S115_dip", "PROM_82S115_DIP", ""); //ENTRYX("82S123_dip", "PROM_82S123_DIP", ""); //ENTRYX("82S126_dip", "PROM_82S126_DIP", ""); //ENTRYX("9602_dip", "TTL_9602_DIP", ""); //ENTRYX("9310_dip", "TTL_9310_DIP", ""); //ENTRYX("9314_dip", "TTL_9314_DIP", ""); //ENTRYX("9316_dip", "TTL_9316_DIP", ""); //ENTRYX("9322_dip", "TTL_9322_DIP", ""); //ENTRYX("9334_dip", "TTL_9334_DIP", ""); //ENTRYX("AM2847_dip", "TTL_AM2847_DIP", ""); //ENTRYX("SN74LS629_dip", "SN74LS629_DIP", "1.CAP1,2.CAP2"); //ENTRYX("NE555_dip", "NE555_DIP", ""); //ENTRYX("MM5837_dip", "MM5837_DIP", ""); initialize_factory_factory = null; }
} //#define LIB_ENTRY(nic) { NETLIB_DEVICE_DECL(nic); LIB_DECL(decl_ ## nic) } public static void initialize_factory(factory.list_t factory) { initialize_factory_factory = factory; //LIB_ENTRY(2102A) //LIB_ENTRY(2716) //LIB_ENTRY(4538) LIB_ENTRY("74107", nld_74107.decl_74107); //LIB_ENTRY(74107A) //LIB_ENTRY(74113) //LIB_ENTRY(74113A) //LIB_ENTRY(74121) //LIB_ENTRY(74123) //LIB_ENTRY(74125) //LIB_ENTRY(74126) LIB_ENTRY("74153", nld_74153.decl_74153); //LIB_ENTRY(74161) //LIB_ENTRY(74161_fixme) //LIB_ENTRY(74163) //LIB_ENTRY(74164) //LIB_ENTRY(74165) //LIB_ENTRY(74166) //LIB_ENTRY(74174) //LIB_ENTRY(74175) //LIB_ENTRY(74192) //LIB_ENTRY(74193) //LIB_ENTRY(74194) //LIB_ENTRY(74365) //LIB_ENTRY(74377_GATE) //LIB_ENTRY(74393) LIB_ENTRY("7448", nld_7448.decl_7448); LIB_ENTRY("7450", nld_7450.decl_7450); //LIB_ENTRY(7473) //LIB_ENTRY(7473A) LIB_ENTRY("7474", nld_7474.decl_7474); //LIB_ENTRY(7475_GATE) //LIB_ENTRY(7477_GATE) LIB_ENTRY("7483", nld_7483.decl_7483); //LIB_ENTRY(7485) LIB_ENTRY("7490", nld_7490.decl_7490); //LIB_ENTRY(7492) LIB_ENTRY("7493", nld_7493.decl_7493); //LIB_ENTRY(7497) //LIB_ENTRY(74S287) //LIB_ENTRY(8277) //LIB_ENTRY(82S115) //LIB_ENTRY(82S123) //LIB_ENTRY(82S126) //LIB_ENTRY(82S16) //LIB_ENTRY(9310) //LIB_ENTRY(9314) LIB_ENTRY("9316", nld_9316.decl_9316); //LIB_ENTRY(9321) //LIB_ENTRY(9322) //LIB_ENTRY(9334) //LIB_ENTRY(9602) //LIB_ENTRY(AM2847) LIB_ENTRY("C", analog.nld_C.decl_C); //LIB_ENTRY(CCCS) //LIB_ENTRY(CCVS) //LIB_ENTRY(CD4006) //LIB_ENTRY(CD4013) //LIB_ENTRY(CD4017) //LIB_ENTRY(CD4020) //LIB_ENTRY(CD4022) //LIB_ENTRY(CD4024) //LIB_ENTRY(CD4029) //LIB_ENTRY(CD4042) //LIB_ENTRY(CD4053_GATE) LIB_ENTRY("CD4066_GATE", nld_CD4066_GATE.decl_CD4066_GATE); //LIB_ENTRY(CD4076) //LIB_ENTRY(CD4316_GATE) //LIB_ENTRY(CS) LIB_ENTRY("D", analog.nld_D.decl_D); //LIB_ENTRY(L) //LIB_ENTRY(LVCCS) //LIB_ENTRY(MC1455P) //LIB_ENTRY(MCM14524) //LIB_ENTRY(MK28000) //LIB_ENTRY(MM5837) //LIB_ENTRY(MOSFET) LIB_ENTRY("NE555", nld_NE555.decl_NE555); LIB_ENTRY("POT", analog.nld_POT.decl_POT); //LIB_ENTRY(POT2) LIB_ENTRY("QBJT_EB", analog.nld_QBJT_EB.decl_QBJT_EB); LIB_ENTRY("QBJT_switch", analog.nld_QBJT_switch.decl_QBJT_switch); LIB_ENTRY("R", analog.nld_R.decl_R); //LIB_ENTRY(SN74LS629) //LIB_ENTRY(TMS4800) //LIB_ENTRY(VCCS) //LIB_ENTRY(VCVS) //LIB_ENTRY(VS) LIB_ENTRY("Z", analog.nld_Z.decl_Z); LIB_ENTRY("analog_input", nld_analog_input.decl_analog_input); LIB_ENTRY("clock", nld_clock.decl_clock); //LIB_ENTRY(extclock) LIB_ENTRY("frontier", nld_frontier.decl_frontier); //LIB_ENTRY(function) LIB_ENTRY("gnd", nld_gnd.decl_gnd); //LIB_ENTRY(log) //LIB_ENTRY(logD) LIB_ENTRY("logic_input", nld_logic_input.decl_logic_input); //LIB_ENTRY(logic_input8) LIB_ENTRY("logic_input_ttl", nld_logic_input.decl_logic_input_ttl); LIB_ENTRY("mainclock", nld_mainclock.decl_mainclock); //LIB_ENTRY(nc_pin) LIB_ENTRY("netlistparams", nld_netlistparams.decl_netlistparams); //LIB_ENTRY(nicDelay) //LIB_ENTRY(nicRSFF) LIB_ENTRY("opamp", analog.nld_opamp.decl_opamp); //LIB_ENTRY(r2r_dac) //LIB_ENTRY(schmitt_trigger) LIB_ENTRY("solver", nld_solver.decl_solver); //LIB_ENTRY(switch1) LIB_ENTRY("switch2", analog.nld_switch2.decl_switch2); //LIB_ENTRY(sys_compd) LIB_ENTRY("sys_dsw1", nld_sys_dsw1.decl_sys_dsw1); //LIB_ENTRY(sys_dsw2) LIB_ENTRY("sys_noise_mt_n", nld_system_global.decl_sys_noise_mt_n); //LIB_ENTRY(sys_noise_mt_u) //LIB_ENTRY(tristate) //LIB_ENTRY(tristate3) //LIB_ENTRY(varclock) initialize_factory_factory = null; }