From f1cb622089c04d29e2b0ff87c409e957162fa0ff Mon Sep 17 00:00:00 2001 From: couriersud Date: Mon, 24 Aug 2020 22:02:39 +0200 Subject: netlist: more standalone makefile changes * On windows a simple make is now enough to build. * Devices, macro and tests folders now included with wildcard. * No more makefile changes if a device is added. * Moved nld_devinc.h to generated folder * Added to python scripts to create nld_devinc.h and lib_entries.hxx * TEST MODE: these two files are created automatically but are not used currently. Once I get feedback that the python scripts work in different environments I will remove header files from devices and macro and start using these files in production. --- src/lib/netlist/build/makefile | 190 ++-- src/lib/netlist/buildVS/netlistlib.vcxproj | 18 +- src/lib/netlist/buildVS/netlistlib.vcxproj.filters | 50 +- src/lib/netlist/core/setup.h | 5 +- src/lib/netlist/generated/lib_entries.hxx | 115 ++ src/lib/netlist/generated/nld_devinc.h | 1190 ++++++++++---------- src/lib/netlist/nl_setup.h | 3 - 7 files changed, 817 insertions(+), 754 deletions(-) create mode 100755 src/lib/netlist/generated/lib_entries.hxx mode change 100644 => 100755 src/lib/netlist/generated/nld_devinc.h diff --git a/src/lib/netlist/build/makefile b/src/lib/netlist/build/makefile index 27414e9439d..ab3ce830df7 100644 --- a/src/lib/netlist/build/makefile +++ b/src/lib/netlist/build/makefile @@ -20,7 +20,10 @@ # # +.DEFAULT_GOAL := all + SRC = .. +PSRC = $(SRC)/plib VSBUILD = $(SRC)/buildVS DOC = $(SRC)/documentation @@ -64,11 +67,20 @@ OBJ = obj/mingw EXESUFFIX = .exe DOXYGEN = doxygen.exe HOSTARCH = WINDOWS +CEXTRAFLAGS = -DUNICODE -D_UNICODE -D_WIN32_WINNT=0x0501 -DWIN32_LEAN_AND_MEAN +LDEXTRAFLAGS = -Wl,--subsystem,console -municode +LIBS = $(EXTRALIBS) +MD = @mkdir.exe +RM = @rm.exe +SHELL = sh.exe else OBJ = obj/nix EXESUFFIX := DOXYGEN = @./doxygen HOSTARCH = NIX +LIBS = -lpthread -ldl $(EXTRALIBS) +MD = @mkdir +RM = @rm endif PYTHON=@python @@ -83,12 +95,9 @@ CCOREFLAGS = -g -O3 -std=c++14 -I$(CURDIR)/.. -I$(CURDIR)/../.. CFLAGS = $(LTO) $(CCOREFLAGS) $(CEXTRAFLAGS) LDFLAGS = $(LTO) -g -O3 -std=c++14 $(LDEXTRAFLAGS) -LIBS = -lpthread -ldl $(EXTRALIBS) CC = g++ -LD = @g++ -MD = @mkdir -RM = @rm +LD = g++ CLANG_TIDY = clang-tidy-11 DEPENDCC=$(CC) @@ -107,7 +116,7 @@ NLOBJ = $(OBJ) POBJ = $(OBJ)/plib TESTOBJ = $(OBJ)/tests -DEPEND = $(OBJ)/.depend +DEPEND := $(OBJ)/.depend OBJDIRS = $(OBJ) \ $(OBJ)/analog \ @@ -121,110 +130,44 @@ OBJDIRS = $(OBJ) \ $(OBJ)/prg \ $(OBJ)/generated \ +DEVSOURCES = $(wildcard $(SRC)/devices/*.cpp) +DEVSOURCES += $(wildcard $(SRC)/analog/*.cpp) +DEVSOURCES += $(wildcard $(SRC)/macro/*.cpp) +DEVSOURCES += $(SRC)/solver/nld_solver.cpp + +TESTSOURCES = $(wildcard $(SRC)/tests/*.cpp) + +CORESOURCES := \ + $(SRC)/solver/nld_matrix_solver.cpp \ + $(SRC)/nl_base.cpp \ + $(SRC)/nl_parser.cpp \ + $(SRC)/nl_setup.cpp \ + $(SRC)/nl_factory.cpp \ + $(SRC)/tools/nl_convert.cpp \ + $(SRC)/generated/static_solvers.cpp \ + +MAINSOURCES = $(SRC)/prg/nltool.cpp $(SRC)/prg/nlwav.cpp + +PSOURCES := \ + $(PSRC)/pstring.cpp \ + $(PSRC)/pdynlib.cpp \ + $(PSRC)/pexception.cpp \ + $(PSRC)/pfunction.cpp \ + $(PSRC)/pfmtlog.cpp \ + $(PSRC)/pmain.cpp \ + $(PSRC)/poptions.cpp \ + $(PSRC)/ppreprocessor.cpp \ + $(PSRC)/ptokenizer.cpp \ + $(PSRC)/putil.cpp \ + +NLOBJS = $(patsubst $(SRC)%, $(OBJ)%, $(CORESOURCES:.cpp=.o)) +NLDEVOBJS = $(patsubst $(SRC)%, $(OBJ)%, $(DEVSOURCES:.cpp=.o)) +TESTOBJS = $(patsubst $(SRC)%, $(OBJ)%, $(TESTSOURCES:.cpp=.o)) +MAINOBJS = $(patsubst $(SRC)%, $(OBJ)%, $(MAINSOURCES:.cpp=.o)) +POBJS = $(patsubst $(SRC)%, $(OBJ)%, $(PSOURCES:.cpp=.o)) OBJS = $(POBJS) $(NLOBJS) $(NLDEVOBJS) $(TESTOBJS) -POBJS := \ - $(POBJ)/pstring.o \ - $(POBJ)/pdynlib.o \ - $(POBJ)/pexception.o \ - $(POBJ)/pfunction.o \ - $(POBJ)/pfmtlog.o \ - $(POBJ)/poptions.o \ - $(POBJ)/ppreprocessor.o \ - $(POBJ)/ptokenizer.o \ - $(POBJ)/putil.o \ - -PMAIN := $(POBJ)/pmain.o - -NLOBJS := \ - $(NLOBJ)/solver/nld_matrix_solver.o \ - $(NLOBJ)/nl_base.o \ - $(NLOBJ)/nl_parser.o \ - $(NLOBJ)/nl_setup.o \ - $(NLOBJ)/nl_factory.o \ - $(NLOBJ)/tools/nl_convert.o \ - $(NLOBJ)/generated/static_solvers.o \ - -NLDEVOBJS := \ - $(NLOBJ)/solver/nld_solver.o \ - $(NLOBJ)/analog/nld_bjt.o \ - $(NLOBJ)/analog/nld_mosfet.o \ - $(NLOBJ)/analog/nlid_fourterm.o \ - $(NLOBJ)/analog/nld_switches.o \ - $(NLOBJ)/analog/nlid_twoterm.o \ - $(NLOBJ)/analog/nld_opamps.o \ - $(NLOBJ)/devices/nld_2102A.o \ - $(NLOBJ)/devices/nld_tms4800.o \ - $(NLOBJ)/devices/nld_4006.o \ - $(NLOBJ)/devices/nld_4013.o \ - $(NLOBJ)/devices/nld_4017.o \ - $(NLOBJ)/devices/nld_4020.o \ - $(NLOBJ)/devices/nld_4053.o \ - $(NLOBJ)/devices/nld_4066.o \ - $(NLOBJ)/devices/nld_4316.o \ - $(NLOBJ)/devices/nld_7448.o \ - $(NLOBJ)/devices/nld_7450.o \ - $(NLOBJ)/devices/nld_7473.o \ - $(NLOBJ)/devices/nld_7474.o \ - $(NLOBJ)/devices/nld_7475.o \ - $(NLOBJ)/devices/nld_7483.o \ - $(NLOBJ)/devices/nld_7485.o \ - $(NLOBJ)/devices/nld_7492.o \ - $(NLOBJ)/devices/nld_7490.o \ - $(NLOBJ)/devices/nld_7493.o \ - $(NLOBJ)/devices/nld_7497.o \ - $(NLOBJ)/devices/nld_74107.o \ - $(NLOBJ)/devices/nld_74113.o \ - $(NLOBJ)/devices/nld_74123.o \ - $(NLOBJ)/devices/nld_74125.o \ - $(NLOBJ)/devices/nld_74153.o \ - $(NLOBJ)/devices/nld_74161.o \ - $(NLOBJ)/devices/nld_74163.o \ - $(NLOBJ)/devices/nld_74164.o \ - $(NLOBJ)/devices/nld_74165.o \ - $(NLOBJ)/devices/nld_74166.o \ - $(NLOBJ)/devices/nld_74174.o \ - $(NLOBJ)/devices/nld_74175.o \ - $(NLOBJ)/devices/nld_74192.o \ - $(NLOBJ)/devices/nld_74193.o \ - $(NLOBJ)/devices/nld_74194.o \ - $(NLOBJ)/devices/nld_74365.o \ - $(NLOBJ)/devices/nld_74377.o \ - $(NLOBJ)/devices/nld_74393.o \ - $(NLOBJ)/devices/nld_74ls629.o \ - $(NLOBJ)/devices/nld_8277.o \ - $(NLOBJ)/devices/nld_82S16.o \ - $(NLOBJ)/devices/nld_82S115.o \ - $(NLOBJ)/devices/nld_9310.o \ - $(NLOBJ)/devices/nld_9316.o \ - $(NLOBJ)/devices/nld_9321.o \ - $(NLOBJ)/devices/nld_9322.o \ - $(NLOBJ)/devices/nld_am2847.o \ - $(NLOBJ)/devices/nld_dm9314.o \ - $(NLOBJ)/devices/nld_dm9334.o \ - $(NLOBJ)/devices/nld_mm5837.o \ - $(NLOBJ)/devices/nld_ne555.o \ - $(NLOBJ)/devices/nld_r2r_dac.o \ - $(NLOBJ)/devices/nld_roms.o \ - $(NLOBJ)/devices/nld_tristate.o \ - $(NLOBJ)/devices/nld_schmitt.o \ - $(NLOBJ)/devices/nld_legacy.o \ - $(NLOBJ)/devices/net_lib.o \ - $(NLOBJ)/devices/nld_log.o \ - $(NLOBJ)/devices/nlid_proxy.o \ - $(NLOBJ)/devices/nld_system.o \ - $(NLOBJ)/devices/nlid_truthtable.o \ - $(NLOBJ)/macro/nlm_base_lib.o \ - $(NLOBJ)/macro/nlm_cd4xxx_lib.o \ - $(NLOBJ)/macro/nlm_opamp_lib.o \ - $(NLOBJ)/macro/nlm_otheric_lib.o \ - $(NLOBJ)/macro/nlm_roms_lib.o \ - $(NLOBJ)/macro/nlm_ttl74xx_lib.o \ - -TESTOBJS := \ - $(TESTOBJ)/test_pfunction.o \ - VSBUILDS = \ $(VSBUILD/netlistlib.vcxproj) \ $(VSBUILD/netlistlib.vcxproj.user \ @@ -241,14 +184,17 @@ DOCS = \ $(DOC)/structure.dox.h \ $(DOC)/test1-50r.svg \ -ALL_OBJS = $(OBJS) $(PMAIN) $(NLOBJ)/prg/nltool.o $(NLOBJ)/prg/nlwav.o +ALL_OBJS = $(OBJS) $(MAINOBJS) ALL_TIDY_FILES = $(ALL_OBJS:.o=.json) -ALLSOURCES = $(patsubst $(OBJ)%, $(SRC)%, $(ALL_OBJS:.o=.cpp)) -DEVSOURCES = $(patsubst $(OBJ)%, $(SRC)%, $(NLDEVOBJS:.o=.cpp)) +ALLSOURCES = $(DEVSOURCES) $(CORESOURCES) $(TESTSOURCES) $(MAINSOURCES) $(PSOURCES) ALLFILES = $(ALLSOURCES) $(VSBUILDS) $(DOCS) -MAKEFILE_TARGETS_WITHOUT_INCLUDE := all gcc9 clang clang-5 mingw doc native maketree tidy runtests generated manpages +MAKEFILE_TARGETS_WITHOUT_INCLUDE := \ + clang clang-5 clang-libc gcc9 mingw native nvcc \ + clean depend doc generated manpages maketree \ + runtests tidy + BUILD_DIRS = $(OBJDIRS) man html # git archive HEAD --prefix=project-name-version/ \ @@ -264,28 +210,27 @@ BUILD_DIRS = $(OBJDIRS) man html # all #------------------------------------------------- -all: maketree depend $(TARGETS) +all: maketree generated $(DEPEND) $(TARGETS) #------------------------------------------------- # clean #------------------------------------------------- clean: - $(RM) -rf $(OBJS) $(TARGETS) $(OBJ)/prg/nltool.o $(OBJ)/prg/nlwav.o $(DEPEND) doxy/* + $(RM) -rf $(OBJS) $(TARGETS) $(MAINOBJS) $(DEPEND) doxy/* #------------------------------------------------- # nltool #------------------------------------------------- -nltool$(EXESUFFIX): $(OBJ)/prg/nltool.o $(PMAIN) $(OBJS) +nltool$(EXESUFFIX): $(OBJ)/prg/nltool.o $(OBJS) @echo Linking $@... $(LD) -o $@ $(LDFLAGS) $^ $(LIBS) -nlwav$(EXESUFFIX): $(OBJ)/prg/nlwav.o $(PMAIN) $(OBJS) +nlwav$(EXESUFFIX): $(OBJ)/prg/nlwav.o $(OBJS) @echo Linking $@... $(LD) -o $@ $(LDFLAGS) $^ $(LIBS) - #------------------------------------------------- # directories #------------------------------------------------- @@ -352,14 +297,14 @@ mingw: # regression tests #------------------------------------------------- -runtests: +runtests: $(TARGETS) ./nltool$(EXESUFFIX) -c tests #------------------------------------------------- # man pages #------------------------------------------------- -manpages: maketree man/nltool.1 man/nlwav.1 html/nltool.html html/nlwav.html +manpages: maketree $(TARGETS) man/nltool.1 man/nlwav.1 html/nltool.html html/nlwav.html #------------------------------------------------- # documentation @@ -388,17 +333,16 @@ generated: ../generated/lib_entries.hxx ../generated/nld_devinc.h # depends #------------------------------------------------- -.PHONY: $(DEPEND) -$(DEPEND): maketree $(ALLSOURCES) +.PHONY: depend +depend: $(DEPEND) + +$(DEPEND): $(OBJ) | $(ALLSOURCES) @echo creating $(DEPEND) - @rm -f $(DEPEND) + @$(RM) -f $(DEPEND) @for i in $(ALLSOURCES); do \ $(DEPENDCC) $(CCOREFLAGS) -MM $$i -MT `echo $$i | sed -e 's+$(SRC)+$(OBJ)+' -e 's+.cpp+.o+' ` >> $(DEPEND); \ done -.PHONY: depend -depend: $(DEPEND) - # Include only if the goal needs it ifeq ($(filter $(MAKECMDGOALS),$(MAKEFILE_TARGETS_WITHOUT_INCLUDE)),) -include $(DEPEND) diff --git a/src/lib/netlist/buildVS/netlistlib.vcxproj b/src/lib/netlist/buildVS/netlistlib.vcxproj index 1d4df8f0649..2d7dcb7bd38 100755 --- a/src/lib/netlist/buildVS/netlistlib.vcxproj +++ b/src/lib/netlist/buildVS/netlistlib.vcxproj @@ -116,13 +116,16 @@ + + - + + @@ -172,12 +175,12 @@ - - - - - - + + + + + + @@ -211,7 +214,6 @@ - diff --git a/src/lib/netlist/buildVS/netlistlib.vcxproj.filters b/src/lib/netlist/buildVS/netlistlib.vcxproj.filters index c41348819b8..1d0477e7802 100755 --- a/src/lib/netlist/buildVS/netlistlib.vcxproj.filters +++ b/src/lib/netlist/buildVS/netlistlib.vcxproj.filters @@ -75,21 +75,6 @@ Source Files - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - Source Files @@ -249,9 +234,6 @@ Source Files - - Source Files - Source Files @@ -276,7 +258,34 @@ Source Files - + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + Source Files @@ -638,9 +647,6 @@ Header Files - - Source Files - Source Files diff --git a/src/lib/netlist/core/setup.h b/src/lib/netlist/core/setup.h index 20fc9cb3678..f2d0b748fd0 100644 --- a/src/lib/netlist/core/setup.h +++ b/src/lib/netlist/core/setup.h @@ -148,7 +148,6 @@ namespace netlist // get family -> truthtable const logic_family_desc_t *family_from_model(const pstring &model); - // FIXME: return param_ref_t param_ref_t find_param(const pstring ¶m_in) const; // needed by nltool std::vector get_terminals_for_device_name(const pstring &devname) const; @@ -157,8 +156,6 @@ namespace netlist detail::core_terminal_t *find_terminal(const pstring &terminal_in, detail::terminal_type atype, bool required = true) const; detail::core_terminal_t *find_terminal(const pstring &terminal_in, bool required = true) const; pstring de_alias(const pstring &alias) const; - // FIXME: only needed by solver code outside of setup_t - bool connect(detail::core_terminal_t &t1, detail::core_terminal_t &t2); // run preparation @@ -192,6 +189,8 @@ namespace netlist void connect_terminal_input(terminal_t &term, detail::core_terminal_t &inp); bool connect_input_input(detail::core_terminal_t &t1, detail::core_terminal_t &t2); + bool connect(detail::core_terminal_t &t1, detail::core_terminal_t &t2); + // helpers static pstring termtype_as_str(detail::core_terminal_t &in); diff --git a/src/lib/netlist/generated/lib_entries.hxx b/src/lib/netlist/generated/lib_entries.hxx new file mode 100755 index 00000000000..da6ad55a0a3 --- /dev/null +++ b/src/lib/netlist/generated/lib_entries.hxx @@ -0,0 +1,115 @@ +LIB_ENTRY(2102A) +LIB_ENTRY(2716) +LIB_ENTRY(4538) +LIB_ENTRY(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) +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) +LIB_ENTRY(7450) +LIB_ENTRY(7473) +LIB_ENTRY(7473A) +LIB_ENTRY(7474) +LIB_ENTRY(7475_GATE) +LIB_ENTRY(7477_GATE) +LIB_ENTRY(7483) +LIB_ENTRY(7485) +LIB_ENTRY(7490) +LIB_ENTRY(7492) +LIB_ENTRY(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) +LIB_ENTRY(9321) +LIB_ENTRY(9322) +LIB_ENTRY(9334) +LIB_ENTRY(9602) +LIB_ENTRY(AM2847) +LIB_ENTRY(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(CD4053_GATE) +LIB_ENTRY(CD4066_GATE) +LIB_ENTRY(CD4316_GATE) +LIB_ENTRY(CS) +LIB_ENTRY(D) +LIB_ENTRY(L) +LIB_ENTRY(LVCCS) +LIB_ENTRY(MC1455P) +LIB_ENTRY(MK28000) +LIB_ENTRY(MM5837) +LIB_ENTRY(MOSFET) +LIB_ENTRY(NE555) +LIB_ENTRY(POT) +LIB_ENTRY(POT2) +LIB_ENTRY(QBJT_EB) +LIB_ENTRY(QBJT_switch) +LIB_ENTRY(R) +LIB_ENTRY(SN74LS629) +LIB_ENTRY(TMS4800) +LIB_ENTRY(VCCS) +LIB_ENTRY(VCVS) +LIB_ENTRY(VS) +LIB_ENTRY(Z) +LIB_ENTRY(analog_input) +LIB_ENTRY(clock) +LIB_ENTRY(extclock) +LIB_ENTRY(frontier) +LIB_ENTRY(function) +LIB_ENTRY(gnd) +LIB_ENTRY(log) +LIB_ENTRY(logD) +LIB_ENTRY(logic_input) +LIB_ENTRY(logic_input8) +LIB_ENTRY(logic_input_ttl) +LIB_ENTRY(mainclock) +LIB_ENTRY(nc_pin) +LIB_ENTRY(netlistparams) +LIB_ENTRY(nicDelay) +LIB_ENTRY(nicRSFF) +LIB_ENTRY(opamp) +LIB_ENTRY(r2r_dac) +LIB_ENTRY(schmitt_trigger) +LIB_ENTRY(solver) +LIB_ENTRY(switch1) +LIB_ENTRY(switch2) +LIB_ENTRY(sys_compd) +LIB_ENTRY(sys_dsw1) +LIB_ENTRY(sys_dsw2) +LIB_ENTRY(sys_noise_mt_n) +LIB_ENTRY(sys_noise_mt_u) +LIB_ENTRY(tristate) +LIB_ENTRY(tristate3) +LIB_ENTRY(varclock) diff --git a/src/lib/netlist/generated/nld_devinc.h b/src/lib/netlist/generated/nld_devinc.h old mode 100644 new mode 100755 index 2113e730699..2ef20a9ff7d --- a/src/lib/netlist/generated/nld_devinc.h +++ b/src/lib/netlist/generated/nld_devinc.h @@ -1,101 +1,102 @@ // --------------------------------------------------------------------- -// Source: ../solver/nld_solver.cpp +// Source: ../devices/nld_9321.cpp // --------------------------------------------------------------------- -// usage : SOLVER(name, FREQ) -#define SOLVER(...) \ - NET_REGISTER_DEVEXT(SOLVER, __VA_ARGS__) +// usage : TTL_9321(name, E, A0, A1) +#define TTL_9321(...) \ + NET_REGISTER_DEVEXT(TTL_9321, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../analog/nld_bjt.cpp +// Source: ../devices/nld_log.cpp // --------------------------------------------------------------------- -// usage : QBJT_EB(name, MODEL) -#define QBJT_EB(...) \ - NET_REGISTER_DEVEXT(QBJT_EB, __VA_ARGS__) -// usage : QBJT_SW(name, MODEL) -#define QBJT_SW(...) \ - NET_REGISTER_DEVEXT(QBJT_SW, __VA_ARGS__) +// usage : LOG(name, I) +#define LOG(...) \ + NET_REGISTER_DEVEXT(LOG, __VA_ARGS__) +// usage : LOGD(name, I, I2) +#define LOGD(...) \ + NET_REGISTER_DEVEXT(LOGD, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../analog/nld_mosfet.cpp +// Source: ../devices/nld_dm9334.cpp // --------------------------------------------------------------------- -// usage : MOSFET(name, MODEL) -#define MOSFET(...) \ - NET_REGISTER_DEVEXT(MOSFET, __VA_ARGS__) +// usage : TTL_9334(name, CQ, EQ, D, A0, A1, A2) +// auto connect: VCC, GND +#define TTL_9334(...) \ + NET_REGISTER_DEVEXT(TTL_9334, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../analog/nlid_fourterm.cpp +// Source: ../devices/nld_74174.cpp // --------------------------------------------------------------------- -// usage : VCVS(name, G) -#define VCVS(...) \ - NET_REGISTER_DEVEXT(VCVS, __VA_ARGS__) -// usage : VCCS(name, G) -#define VCCS(...) \ - NET_REGISTER_DEVEXT(VCCS, __VA_ARGS__) -// usage : CCCS(name, G) -#define CCCS(...) \ - NET_REGISTER_DEVEXT(CCCS, __VA_ARGS__) -// usage : CCVS(name, G) -#define CCVS(...) \ - NET_REGISTER_DEVEXT(CCVS, __VA_ARGS__) -// usage : LVCCS(name, ) -#define LVCCS(...) \ - NET_REGISTER_DEVEXT(LVCCS, __VA_ARGS__) +// usage : TTL_74174(name, CLK, D1, D2, D3, D4, D5, D6, CLRQ) +// auto connect: VCC, GND +#define TTL_74174(...) \ + NET_REGISTER_DEVEXT(TTL_74174, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../analog/nld_switches.cpp +// Source: ../devices/nld_7497.cpp // --------------------------------------------------------------------- -// usage : SWITCH(name, ) -#define SWITCH(...) \ - NET_REGISTER_DEVEXT(SWITCH, __VA_ARGS__) -// usage : SWITCH2(name, ) -#define SWITCH2(...) \ - NET_REGISTER_DEVEXT(SWITCH2, __VA_ARGS__) +// usage : TTL_7497(name, CLK, STRBQ, ENQ, UNITYQ, CLR, B0, B1, B2, B3, B4, B5) +// auto connect: VCC, GND +#define TTL_7497(...) \ + NET_REGISTER_DEVEXT(TTL_7497, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../analog/nlid_twoterm.cpp +// Source: ../devices/nld_9316.cpp // --------------------------------------------------------------------- -// usage : RES(name, R) -#define RES(...) \ - NET_REGISTER_DEVEXT(RES, __VA_ARGS__) -// usage : POT(name, R) -#define POT(...) \ - NET_REGISTER_DEVEXT(POT, __VA_ARGS__) -// usage : POT2(name, R) -#define POT2(...) \ - NET_REGISTER_DEVEXT(POT2, __VA_ARGS__) -// usage : CAP(name, C) -#define CAP(...) \ - NET_REGISTER_DEVEXT(CAP, __VA_ARGS__) -// usage : IND(name, L) -#define IND(...) \ - NET_REGISTER_DEVEXT(IND, __VA_ARGS__) -// usage : DIODE(name, MODEL) -#define DIODE(...) \ - NET_REGISTER_DEVEXT(DIODE, __VA_ARGS__) -// usage : ZDIODE(name, MODEL) -#define ZDIODE(...) \ - NET_REGISTER_DEVEXT(ZDIODE, __VA_ARGS__) -// usage : VS(name, V) -#define VS(...) \ - NET_REGISTER_DEVEXT(VS, __VA_ARGS__) -// usage : CS(name, I) -#define CS(...) \ - NET_REGISTER_DEVEXT(CS, __VA_ARGS__) +// usage : TTL_9316(name, CLK, ENP, ENT, CLRQ, LOADQ, A, B, C, D) +// auto connect: VCC, GND +#define TTL_9316(...) \ + NET_REGISTER_DEVEXT(TTL_9316, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../analog/nld_opamps.cpp +// Source: ../devices/nld_74123.cpp // --------------------------------------------------------------------- -// usage : OPAMP(name, MODEL) -#define OPAMP(...) \ - NET_REGISTER_DEVEXT(OPAMP, __VA_ARGS__) +// usage : TTL_74123(name, ) +#define TTL_74123(...) \ + NET_REGISTER_DEVEXT(TTL_74123, __VA_ARGS__) +// usage : TTL_74121(name, ) +#define TTL_74121(...) \ + NET_REGISTER_DEVEXT(TTL_74121, __VA_ARGS__) +// usage : CD4538(name, ) +#define CD4538(...) \ + NET_REGISTER_DEVEXT(CD4538, __VA_ARGS__) +// usage : TTL_9602(name, ) +#define TTL_9602(...) \ + NET_REGISTER_DEVEXT(TTL_9602, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_2102A.cpp +// Source: ../devices/nld_7474.cpp // --------------------------------------------------------------------- -// usage : RAM_2102A(name, CEQ, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, RWQ, DI) +// usage : TTL_7474(name, CLK, D, CLRQ, PREQ) // auto connect: VCC, GND -#define RAM_2102A(...) \ - NET_REGISTER_DEVEXT(RAM_2102A, __VA_ARGS__) +#define TTL_7474(...) \ + NET_REGISTER_DEVEXT(TTL_7474, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_tms4800.cpp +// Source: ../devices/nld_9310.cpp // --------------------------------------------------------------------- -// usage : ROM_TMS4800(name, AR, OE1, OE2, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) +// usage : TTL_9310(name, CLK, ENP, ENT, CLRQ, LOADQ, A, B, C, D) // auto connect: VCC, GND -#define ROM_TMS4800(...) \ - NET_REGISTER_DEVEXT(ROM_TMS4800, __VA_ARGS__) +#define TTL_9310(...) \ + NET_REGISTER_DEVEXT(TTL_9310, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_7485.cpp +// --------------------------------------------------------------------- +// usage : TTL_7485(name, A0, A1, A2, A3, B0, B1, B2, B3, LTIN, EQIN, GTIN) +// auto connect: VCC, GND +#define TTL_7485(...) \ + NET_REGISTER_DEVEXT(TTL_7485, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_9322.cpp +// --------------------------------------------------------------------- +// usage : TTL_9322(name, SELECT, A1, B1, A2, B2, A3, B3, A4, B4, STROBE) +// auto connect: VCC, GND +#define TTL_9322(...) \ + NET_REGISTER_DEVEXT(TTL_9322, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_74165.cpp +// --------------------------------------------------------------------- +// usage : TTL_74165(name, CLK, CLKINH, SH_LDQ, SER, A, B, C, D, E, F, G, H) +// auto connect: VCC, GND +#define TTL_74165(...) \ + NET_REGISTER_DEVEXT(TTL_74165, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_82S16.cpp +// --------------------------------------------------------------------- +// usage : TTL_82S16(name, ) +#define TTL_82S16(...) \ + NET_REGISTER_DEVEXT(TTL_82S16, __VA_ARGS__) // --------------------------------------------------------------------- // Source: ../devices/nld_4006.cpp // --------------------------------------------------------------------- @@ -104,42 +105,45 @@ #define CD4006(...) \ NET_REGISTER_DEVEXT(CD4006, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_4013.cpp +// Source: ../devices/nld_schmitt.cpp // --------------------------------------------------------------------- -// usage : CD4013(name, CLOCK, DATA, RESET, SET) -// auto connect: VDD, VSS -#define CD4013(...) \ - NET_REGISTER_DEVEXT(CD4013, __VA_ARGS__) +// usage : SCHMITT_TRIGGER(name, STMODEL) +#define SCHMITT_TRIGGER(...) \ + NET_REGISTER_DEVEXT(SCHMITT_TRIGGER, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_4017.cpp +// Source: ../devices/nld_74125.cpp // --------------------------------------------------------------------- -// usage : CD4017(name, ) -#define CD4017(...) \ - NET_REGISTER_DEVEXT(CD4017, __VA_ARGS__) -// usage : CD4022(name, ) -#define CD4022(...) \ - NET_REGISTER_DEVEXT(CD4022, __VA_ARGS__) +// usage : TTL_74125_GATE(name, ) +#define TTL_74125_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_74125_GATE, __VA_ARGS__) +// usage : TTL_74126_GATE(name, ) +#define TTL_74126_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_74126_GATE, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_4020.cpp +// Source: ../devices/nld_74163.cpp // --------------------------------------------------------------------- -// usage : CD4020(name, IP, RESET, VDD, VSS) -#define CD4020(...) \ - NET_REGISTER_DEVEXT(CD4020, __VA_ARGS__) -// usage : CD4024(name, ) -#define CD4024(...) \ - NET_REGISTER_DEVEXT(CD4024, __VA_ARGS__) +// usage : TTL_74163(name, CLK, ENP, ENT, CLRQ, LOADQ, A, B, C, D) +// auto connect: VCC, GND +#define TTL_74163(...) \ + NET_REGISTER_DEVEXT(TTL_74163, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_4053.cpp +// Source: ../devices/nld_74113.cpp // --------------------------------------------------------------------- -// usage : CD4053_GATE(name, ) -#define CD4053_GATE(...) \ - NET_REGISTER_DEVEXT(CD4053_GATE, __VA_ARGS__) +// usage : TTL_74113(name, CLK, J, K, CLRQ) +// auto connect: VCC, GND +#define TTL_74113(...) \ + NET_REGISTER_DEVEXT(TTL_74113, __VA_ARGS__) +// usage : TTL_74113A(name, CLK, J, K, CLRQ) +// auto connect: VCC, GND +#define TTL_74113A(...) \ + NET_REGISTER_DEVEXT(TTL_74113A, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_4066.cpp +// Source: ../devices/nld_74192.cpp // --------------------------------------------------------------------- -// usage : CD4066_GATE(name, ) -#define CD4066_GATE(...) \ - NET_REGISTER_DEVEXT(CD4066_GATE, __VA_ARGS__) +// usage : TTL_74192(name, A, B, C, D, CLEAR, LOADQ, CU, CD) +// auto connect: VCC, GND +#define TTL_74192(...) \ + NET_REGISTER_DEVEXT(TTL_74192, __VA_ARGS__) // --------------------------------------------------------------------- // Source: ../devices/nld_4316.cpp // --------------------------------------------------------------------- @@ -147,6 +151,20 @@ #define CD4316_GATE(...) \ NET_REGISTER_DEVEXT(CD4316_GATE, __VA_ARGS__) // --------------------------------------------------------------------- +// Source: ../devices/nld_2102A.cpp +// --------------------------------------------------------------------- +// usage : RAM_2102A(name, CEQ, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, RWQ, DI) +// auto connect: VCC, GND +#define RAM_2102A(...) \ + NET_REGISTER_DEVEXT(RAM_2102A, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_8277.cpp +// --------------------------------------------------------------------- +// usage : TTL_8277(name, RESET, CLK, CLKA, D0A, D1A, DSA, CLKB, D0B, D1B, DSB) +// auto connect: VCC, GND +#define TTL_8277(...) \ + NET_REGISTER_DEVEXT(TTL_8277, __VA_ARGS__) +// --------------------------------------------------------------------- // Source: ../devices/nld_7448.cpp // --------------------------------------------------------------------- // usage : TTL_7448(name, A, B, C, D, LTQ, BIQ, RBIQ) @@ -154,85 +172,23 @@ #define TTL_7448(...) \ NET_REGISTER_DEVEXT(TTL_7448, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_7450.cpp +// Source: ../devices/nld_dm9314.cpp // --------------------------------------------------------------------- -// usage : TTL_7450_ANDORINVERT(name, A, B, C, D) +// usage : TTL_9314(name, EQ, MRQ, S0Q, S1Q, S2Q, S3Q, D0, D1, D2, D3) // auto connect: VCC, GND -#define TTL_7450_ANDORINVERT(...) \ - NET_REGISTER_DEVEXT(TTL_7450_ANDORINVERT, __VA_ARGS__) +#define TTL_9314(...) \ + NET_REGISTER_DEVEXT(TTL_9314, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_7473.cpp +// Source: ../devices/nld_7490.cpp // --------------------------------------------------------------------- -// usage : TTL_7473(name, CLK, J, K, CLRQ) -// auto connect: VCC, GND -#define TTL_7473(...) \ - NET_REGISTER_DEVEXT(TTL_7473, __VA_ARGS__) -// usage : TTL_7473A(name, CLK, J, K, CLRQ) +// usage : TTL_7490(name, A, B, R1, R2, R91, R92) // auto connect: VCC, GND -#define TTL_7473A(...) \ - NET_REGISTER_DEVEXT(TTL_7473A, __VA_ARGS__) +#define TTL_7490(...) \ + NET_REGISTER_DEVEXT(TTL_7490, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_7474.cpp +// Source: ../devices/nld_74107.cpp // --------------------------------------------------------------------- -// usage : TTL_7474(name, CLK, D, CLRQ, PREQ) -// auto connect: VCC, GND -#define TTL_7474(...) \ - NET_REGISTER_DEVEXT(TTL_7474, __VA_ARGS__) -// --------------------------------------------------------------------- -// Source: ../devices/nld_7475.cpp -// --------------------------------------------------------------------- -// usage : TTL_7475_GATE(name, ) -#define TTL_7475_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7475_GATE, __VA_ARGS__) -// usage : TTL_7477_GATE(name, ) -#define TTL_7477_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7477_GATE, __VA_ARGS__) -// --------------------------------------------------------------------- -// Source: ../devices/nld_7483.cpp -// --------------------------------------------------------------------- -// usage : TTL_7483(name, A1, A2, A3, A4, B1, B2, B3, B4, C0) -// auto connect: VCC, GND -#define TTL_7483(...) \ - NET_REGISTER_DEVEXT(TTL_7483, __VA_ARGS__) -// --------------------------------------------------------------------- -// Source: ../devices/nld_7485.cpp -// --------------------------------------------------------------------- -// usage : TTL_7485(name, A0, A1, A2, A3, B0, B1, B2, B3, LTIN, EQIN, GTIN) -// auto connect: VCC, GND -#define TTL_7485(...) \ - NET_REGISTER_DEVEXT(TTL_7485, __VA_ARGS__) -// --------------------------------------------------------------------- -// Source: ../devices/nld_7492.cpp -// --------------------------------------------------------------------- -// usage : TTL_7492(name, A, B, R1, R2) -// auto connect: VCC, GND -#define TTL_7492(...) \ - NET_REGISTER_DEVEXT(TTL_7492, __VA_ARGS__) -// --------------------------------------------------------------------- -// Source: ../devices/nld_7490.cpp -// --------------------------------------------------------------------- -// usage : TTL_7490(name, A, B, R1, R2, R91, R92) -// auto connect: VCC, GND -#define TTL_7490(...) \ - NET_REGISTER_DEVEXT(TTL_7490, __VA_ARGS__) -// --------------------------------------------------------------------- -// Source: ../devices/nld_7493.cpp -// --------------------------------------------------------------------- -// usage : TTL_7493(name, CLKA, CLKB, R1, R2) -// auto connect: VCC, GND -#define TTL_7493(...) \ - NET_REGISTER_DEVEXT(TTL_7493, __VA_ARGS__) -// --------------------------------------------------------------------- -// Source: ../devices/nld_7497.cpp -// --------------------------------------------------------------------- -// usage : TTL_7497(name, CLK, STRBQ, ENQ, UNITYQ, CLR, B0, B1, B2, B3, B4, B5) -// auto connect: VCC, GND -#define TTL_7497(...) \ - NET_REGISTER_DEVEXT(TTL_7497, __VA_ARGS__) -// --------------------------------------------------------------------- -// Source: ../devices/nld_74107.cpp -// --------------------------------------------------------------------- -// usage : TTL_74107(name, CLK, J, K, CLRQ) +// usage : TTL_74107(name, CLK, J, K, CLRQ) // auto connect: VCC, GND #define TTL_74107(...) \ NET_REGISTER_DEVEXT(TTL_74107, __VA_ARGS__) @@ -241,40 +197,12 @@ #define TTL_74107A(...) \ NET_REGISTER_DEVEXT(TTL_74107A, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_74113.cpp +// Source: ../devices/nld_74194.cpp // --------------------------------------------------------------------- -// usage : TTL_74113(name, CLK, J, K, CLRQ) -// auto connect: VCC, GND -#define TTL_74113(...) \ - NET_REGISTER_DEVEXT(TTL_74113, __VA_ARGS__) -// usage : TTL_74113A(name, CLK, J, K, CLRQ) +// usage : TTL_74194(name, CLK, S0, S1, SRIN, A, B, C, D, SLIN, CLRQ) // auto connect: VCC, GND -#define TTL_74113A(...) \ - NET_REGISTER_DEVEXT(TTL_74113A, __VA_ARGS__) -// --------------------------------------------------------------------- -// Source: ../devices/nld_74123.cpp -// --------------------------------------------------------------------- -// usage : TTL_74123(name, ) -#define TTL_74123(...) \ - NET_REGISTER_DEVEXT(TTL_74123, __VA_ARGS__) -// usage : TTL_74121(name, ) -#define TTL_74121(...) \ - NET_REGISTER_DEVEXT(TTL_74121, __VA_ARGS__) -// usage : CD4538(name, ) -#define CD4538(...) \ - NET_REGISTER_DEVEXT(CD4538, __VA_ARGS__) -// usage : TTL_9602(name, ) -#define TTL_9602(...) \ - NET_REGISTER_DEVEXT(TTL_9602, __VA_ARGS__) -// --------------------------------------------------------------------- -// Source: ../devices/nld_74125.cpp -// --------------------------------------------------------------------- -// usage : TTL_74125_GATE(name, ) -#define TTL_74125_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_74125_GATE, __VA_ARGS__) -// usage : TTL_74126_GATE(name, ) -#define TTL_74126_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_74126_GATE, __VA_ARGS__) +#define TTL_74194(...) \ + NET_REGISTER_DEVEXT(TTL_74194, __VA_ARGS__) // --------------------------------------------------------------------- // Source: ../devices/nld_74153.cpp // --------------------------------------------------------------------- @@ -283,51 +211,51 @@ #define TTL_74153(...) \ NET_REGISTER_DEVEXT(TTL_74153, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_74161.cpp +// Source: ../devices/nld_74166.cpp // --------------------------------------------------------------------- -// usage : TTL_74161(name, CLK, ENP, ENT, CLRQ, LOADQ, A, B, C, D) -// auto connect: VCC, GND -#define TTL_74161(...) \ - NET_REGISTER_DEVEXT(TTL_74161, __VA_ARGS__) -// usage : TTL_74161_FIXME(name, A, B, C, D, CLRQ, LOADQ, CLK, ENP, ENT) +// usage : TTL_74166(name, CLK, CLKINH, SH_LDQ, SER, A, B, C, D, E, F, G, H, CLRQ) // auto connect: VCC, GND -#define TTL_74161_FIXME(...) \ - NET_REGISTER_DEVEXT(TTL_74161_FIXME, __VA_ARGS__) +#define TTL_74166(...) \ + NET_REGISTER_DEVEXT(TTL_74166, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_74163.cpp +// Source: ../devices/nld_4020.cpp // --------------------------------------------------------------------- -// usage : TTL_74163(name, CLK, ENP, ENT, CLRQ, LOADQ, A, B, C, D) -// auto connect: VCC, GND -#define TTL_74163(...) \ - NET_REGISTER_DEVEXT(TTL_74163, __VA_ARGS__) +// usage : CD4020(name, IP, RESET, VDD, VSS) +#define CD4020(...) \ + NET_REGISTER_DEVEXT(CD4020, __VA_ARGS__) +// usage : CD4024(name, ) +#define CD4024(...) \ + NET_REGISTER_DEVEXT(CD4024, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_74164.cpp +// Source: ../devices/nld_74365.cpp // --------------------------------------------------------------------- -// usage : TTL_74164(name, A, B, CLRQ, CLK) +// usage : TTL_74365(name, G1Q, G2Q, A1, A2, A3, A4, A5, A6) // auto connect: VCC, GND -#define TTL_74164(...) \ - NET_REGISTER_DEVEXT(TTL_74164, __VA_ARGS__) +#define TTL_74365(...) \ + NET_REGISTER_DEVEXT(TTL_74365, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_74165.cpp +// Source: ../devices/nld_74393.cpp // --------------------------------------------------------------------- -// usage : TTL_74165(name, CLK, CLKINH, SH_LDQ, SER, A, B, C, D, E, F, G, H) +// usage : TTL_74393(name, CP, MR) // auto connect: VCC, GND -#define TTL_74165(...) \ - NET_REGISTER_DEVEXT(TTL_74165, __VA_ARGS__) +#define TTL_74393(...) \ + NET_REGISTER_DEVEXT(TTL_74393, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_74166.cpp +// Source: ../devices/nld_4013.cpp // --------------------------------------------------------------------- -// usage : TTL_74166(name, CLK, CLKINH, SH_LDQ, SER, A, B, C, D, E, F, G, H, CLRQ) -// auto connect: VCC, GND -#define TTL_74166(...) \ - NET_REGISTER_DEVEXT(TTL_74166, __VA_ARGS__) +// usage : CD4013(name, CLOCK, DATA, RESET, SET) +// auto connect: VDD, VSS +#define CD4013(...) \ + NET_REGISTER_DEVEXT(CD4013, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_74174.cpp +// Source: ../devices/nld_4017.cpp // --------------------------------------------------------------------- -// usage : TTL_74174(name, CLK, D1, D2, D3, D4, D5, D6, CLRQ) -// auto connect: VCC, GND -#define TTL_74174(...) \ - NET_REGISTER_DEVEXT(TTL_74174, __VA_ARGS__) +// usage : CD4017(name, ) +#define CD4017(...) \ + NET_REGISTER_DEVEXT(CD4017, __VA_ARGS__) +// usage : CD4022(name, ) +#define CD4022(...) \ + NET_REGISTER_DEVEXT(CD4022, __VA_ARGS__) // --------------------------------------------------------------------- // Source: ../devices/nld_74175.cpp // --------------------------------------------------------------------- @@ -336,46 +264,83 @@ #define TTL_74175(...) \ NET_REGISTER_DEVEXT(TTL_74175, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_74192.cpp -// --------------------------------------------------------------------- -// usage : TTL_74192(name, A, B, C, D, CLEAR, LOADQ, CU, CD) -// auto connect: VCC, GND -#define TTL_74192(...) \ - NET_REGISTER_DEVEXT(TTL_74192, __VA_ARGS__) -// --------------------------------------------------------------------- -// Source: ../devices/nld_74193.cpp -// --------------------------------------------------------------------- -// usage : TTL_74193(name, A, B, C, D, CLEAR, LOADQ, CU, CD) -// auto connect: VCC, GND -#define TTL_74193(...) \ - NET_REGISTER_DEVEXT(TTL_74193, __VA_ARGS__) -// --------------------------------------------------------------------- -// Source: ../devices/nld_74194.cpp +// Source: ../devices/nld_system.cpp // --------------------------------------------------------------------- -// usage : TTL_74194(name, CLK, S0, S1, SRIN, A, B, C, D, SLIN, CLRQ) -// auto connect: VCC, GND -#define TTL_74194(...) \ - NET_REGISTER_DEVEXT(TTL_74194, __VA_ARGS__) +// usage : PARAMETER(name, ) +#define PARAMETER(...) \ + NET_REGISTER_DEVEXT(PARAMETER, __VA_ARGS__) +// usage : NC_PIN(name, ) +#define NC_PIN(...) \ + NET_REGISTER_DEVEXT(NC_PIN, __VA_ARGS__) +// usage : FRONTIER_DEV(name, I, G, Q) +#define FRONTIER_DEV(...) \ + NET_REGISTER_DEVEXT(FRONTIER_DEV, __VA_ARGS__) +// usage : AFUNC(name, N, FUNC) +#define AFUNC(...) \ + NET_REGISTER_DEVEXT(AFUNC, __VA_ARGS__) +// usage : ANALOG_INPUT(name, IN) +#define ANALOG_INPUT(...) \ + NET_REGISTER_DEVEXT(ANALOG_INPUT, __VA_ARGS__) +// usage : CLOCK(name, FREQ) +#define CLOCK(...) \ + NET_REGISTER_DEVEXT(CLOCK, __VA_ARGS__) +// usage : VARCLOCK(name, N, FUNC) +#define VARCLOCK(...) \ + NET_REGISTER_DEVEXT(VARCLOCK, __VA_ARGS__) +// usage : EXTCLOCK(name, FREQ, PATTERN) +#define EXTCLOCK(...) \ + NET_REGISTER_DEVEXT(EXTCLOCK, __VA_ARGS__) +// usage : SYS_DSW(name, I, 1, 2) +#define SYS_DSW(...) \ + NET_REGISTER_DEVEXT(SYS_DSW, __VA_ARGS__) +// usage : SYS_DSW2(name, ) +#define SYS_DSW2(...) \ + NET_REGISTER_DEVEXT(SYS_DSW2, __VA_ARGS__) +// usage : SYS_COMPD(name, ) +#define SYS_COMPD(...) \ + NET_REGISTER_DEVEXT(SYS_COMPD, __VA_ARGS__) +// usage : SYS_NOISE_MT_U(name, SIGMA) +#define SYS_NOISE_MT_U(...) \ + NET_REGISTER_DEVEXT(SYS_NOISE_MT_U, __VA_ARGS__) +// usage : SYS_NOISE_MT_N(name, SIGMA) +#define SYS_NOISE_MT_N(...) \ + NET_REGISTER_DEVEXT(SYS_NOISE_MT_N, __VA_ARGS__) +// usage : MAINCLOCK(name, FREQ) +#define MAINCLOCK(...) \ + NET_REGISTER_DEVEXT(MAINCLOCK, __VA_ARGS__) +// usage : GNDA(name, ) +#define GNDA(...) \ + NET_REGISTER_DEVEXT(GNDA, __VA_ARGS__) +// usage : LOGIC_INPUT8(name, IN, MODEL) +#define LOGIC_INPUT8(...) \ + NET_REGISTER_DEVEXT(LOGIC_INPUT8, __VA_ARGS__) +// usage : LOGIC_INPUT(name, IN, MODEL) +#define LOGIC_INPUT(...) \ + NET_REGISTER_DEVEXT(LOGIC_INPUT, __VA_ARGS__) +// usage : TTL_INPUT(name, IN) +#define TTL_INPUT(...) \ + NET_REGISTER_DEVEXT(TTL_INPUT, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_74365.cpp +// Source: ../devices/nld_74164.cpp // --------------------------------------------------------------------- -// usage : TTL_74365(name, G1Q, G2Q, A1, A2, A3, A4, A5, A6) +// usage : TTL_74164(name, A, B, CLRQ, CLK) // auto connect: VCC, GND -#define TTL_74365(...) \ - NET_REGISTER_DEVEXT(TTL_74365, __VA_ARGS__) +#define TTL_74164(...) \ + NET_REGISTER_DEVEXT(TTL_74164, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_74377.cpp +// Source: ../devices/nld_am2847.cpp // --------------------------------------------------------------------- -// usage : TTL_74377_GATE(name, ) -#define TTL_74377_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_74377_GATE, __VA_ARGS__) +// usage : TTL_AM2847(name, CP, INA, INB, INC, IND, RCA, RCB, RCC, RCD) +// auto connect: VSS, VDD +#define TTL_AM2847(...) \ + NET_REGISTER_DEVEXT(TTL_AM2847, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_74393.cpp +// Source: ../devices/nld_tms4800.cpp // --------------------------------------------------------------------- -// usage : TTL_74393(name, CP, MR) +// usage : ROM_TMS4800(name, AR, OE1, OE2, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) // auto connect: VCC, GND -#define TTL_74393(...) \ - NET_REGISTER_DEVEXT(TTL_74393, __VA_ARGS__) +#define ROM_TMS4800(...) \ + NET_REGISTER_DEVEXT(ROM_TMS4800, __VA_ARGS__) // --------------------------------------------------------------------- // Source: ../devices/nld_74ls629.cpp // --------------------------------------------------------------------- @@ -384,79 +349,118 @@ #define SN74LS629(...) \ NET_REGISTER_DEVEXT(SN74LS629, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_8277.cpp +// Source: ../devices/nld_roms.cpp // --------------------------------------------------------------------- -// usage : TTL_8277(name, RESET, CLK, CLKA, D0A, D1A, DSA, CLKB, D0B, D1B, DSB) +// usage : PROM_82S126(name, CE1Q, CE2Q, A0, A1, A2, A3, A4, A5, A6, A7) // auto connect: VCC, GND -#define TTL_8277(...) \ - NET_REGISTER_DEVEXT(TTL_8277, __VA_ARGS__) +#define PROM_82S126(...) \ + NET_REGISTER_DEVEXT(PROM_82S126, __VA_ARGS__) +// usage : PROM_74S287(name, CE1Q, CE2Q, A0, A1, A2, A3, A4, A5, A6, A7) +// auto connect: VCC, GND +#define PROM_74S287(...) \ + NET_REGISTER_DEVEXT(PROM_74S287, __VA_ARGS__) +// usage : PROM_82S123(name, CEQ, A0, A1, A2, A3, A4) +// auto connect: VCC, GND +#define PROM_82S123(...) \ + NET_REGISTER_DEVEXT(PROM_82S123, __VA_ARGS__) +// usage : EPROM_2716(name, CE2Q, CE1Q, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) +// auto connect: VCC, GND +#define EPROM_2716(...) \ + NET_REGISTER_DEVEXT(EPROM_2716, __VA_ARGS__) +// usage : PROM_MK28000(name, OE1, OE2, ARQ, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) +// auto connect: VCC, GND +#define PROM_MK28000(...) \ + NET_REGISTER_DEVEXT(PROM_MK28000, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_82S16.cpp +// Source: ../devices/nld_mm5837.cpp // --------------------------------------------------------------------- -// usage : TTL_82S16(name, ) -#define TTL_82S16(...) \ - NET_REGISTER_DEVEXT(TTL_82S16, __VA_ARGS__) +// usage : MM5837(name, ) +#define MM5837(...) \ + NET_REGISTER_DEVEXT(MM5837, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_82S115.cpp +// Source: ../devices/nld_legacy.cpp // --------------------------------------------------------------------- -// usage : PROM_82S115(name, CE1Q, CE2, A0, A1, A2, A3, A4, A5, A6, A7, A8, STROBE) -// auto connect: VCC, GND -#define PROM_82S115(...) \ - NET_REGISTER_DEVEXT(PROM_82S115, __VA_ARGS__) +// usage : NETDEV_RSFF(name, ) +#define NETDEV_RSFF(...) \ + NET_REGISTER_DEVEXT(NETDEV_RSFF, __VA_ARGS__) +// usage : NETDEV_DELAY(name, ) +#define NETDEV_DELAY(...) \ + NET_REGISTER_DEVEXT(NETDEV_DELAY, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_9310.cpp +// Source: ../devices/nld_7492.cpp // --------------------------------------------------------------------- -// usage : TTL_9310(name, CLK, ENP, ENT, CLRQ, LOADQ, A, B, C, D) +// usage : TTL_7492(name, A, B, R1, R2) // auto connect: VCC, GND -#define TTL_9310(...) \ - NET_REGISTER_DEVEXT(TTL_9310, __VA_ARGS__) +#define TTL_7492(...) \ + NET_REGISTER_DEVEXT(TTL_7492, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_9316.cpp +// Source: ../devices/nld_7475.cpp // --------------------------------------------------------------------- -// usage : TTL_9316(name, CLK, ENP, ENT, CLRQ, LOADQ, A, B, C, D) -// auto connect: VCC, GND -#define TTL_9316(...) \ - NET_REGISTER_DEVEXT(TTL_9316, __VA_ARGS__) +// usage : TTL_7475_GATE(name, ) +#define TTL_7475_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_7475_GATE, __VA_ARGS__) +// usage : TTL_7477_GATE(name, ) +#define TTL_7477_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_7477_GATE, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_9321.cpp +// Source: ../devices/nld_4053.cpp // --------------------------------------------------------------------- -// usage : TTL_9321(name, E, A0, A1) -#define TTL_9321(...) \ - NET_REGISTER_DEVEXT(TTL_9321, __VA_ARGS__) +// usage : CD4053_GATE(name, ) +#define CD4053_GATE(...) \ + NET_REGISTER_DEVEXT(CD4053_GATE, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_9322.cpp +// Source: ../devices/nld_7493.cpp // --------------------------------------------------------------------- -// usage : TTL_9322(name, SELECT, A1, B1, A2, B2, A3, B3, A4, B4, STROBE) +// usage : TTL_7493(name, CLKA, CLKB, R1, R2) // auto connect: VCC, GND -#define TTL_9322(...) \ - NET_REGISTER_DEVEXT(TTL_9322, __VA_ARGS__) +#define TTL_7493(...) \ + NET_REGISTER_DEVEXT(TTL_7493, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_am2847.cpp +// Source: ../devices/nld_74193.cpp // --------------------------------------------------------------------- -// usage : TTL_AM2847(name, CP, INA, INB, INC, IND, RCA, RCB, RCC, RCD) -// auto connect: VSS, VDD -#define TTL_AM2847(...) \ - NET_REGISTER_DEVEXT(TTL_AM2847, __VA_ARGS__) +// usage : TTL_74193(name, A, B, C, D, CLEAR, LOADQ, CU, CD) +// auto connect: VCC, GND +#define TTL_74193(...) \ + NET_REGISTER_DEVEXT(TTL_74193, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_dm9314.cpp +// Source: ../devices/nld_tristate.cpp // --------------------------------------------------------------------- -// usage : TTL_9314(name, EQ, MRQ, S0Q, S1Q, S2Q, S3Q, D0, D1, D2, D3) +// usage : TTL_TRISTATE(name, CEQ1, D1, CEQ2, D2) +#define TTL_TRISTATE(...) \ + NET_REGISTER_DEVEXT(TTL_TRISTATE, __VA_ARGS__) +// usage : TTL_TRISTATE3(name, ) +#define TTL_TRISTATE3(...) \ + NET_REGISTER_DEVEXT(TTL_TRISTATE3, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_r2r_dac.cpp +// --------------------------------------------------------------------- +// usage : R2R_DAC(name, VIN, R, N) +#define R2R_DAC(...) \ + NET_REGISTER_DEVEXT(R2R_DAC, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_7473.cpp +// --------------------------------------------------------------------- +// usage : TTL_7473(name, CLK, J, K, CLRQ) // auto connect: VCC, GND -#define TTL_9314(...) \ - NET_REGISTER_DEVEXT(TTL_9314, __VA_ARGS__) +#define TTL_7473(...) \ + NET_REGISTER_DEVEXT(TTL_7473, __VA_ARGS__) +// usage : TTL_7473A(name, CLK, J, K, CLRQ) +// auto connect: VCC, GND +#define TTL_7473A(...) \ + NET_REGISTER_DEVEXT(TTL_7473A, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_dm9334.cpp +// Source: ../devices/nld_7450.cpp // --------------------------------------------------------------------- -// usage : TTL_9334(name, CQ, EQ, D, A0, A1, A2) +// usage : TTL_7450_ANDORINVERT(name, A, B, C, D) // auto connect: VCC, GND -#define TTL_9334(...) \ - NET_REGISTER_DEVEXT(TTL_9334, __VA_ARGS__) +#define TTL_7450_ANDORINVERT(...) \ + NET_REGISTER_DEVEXT(TTL_7450_ANDORINVERT, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_mm5837.cpp +// Source: ../devices/nld_4066.cpp // --------------------------------------------------------------------- -// usage : MM5837(name, ) -#define MM5837(...) \ - NET_REGISTER_DEVEXT(MM5837, __VA_ARGS__) +// usage : CD4066_GATE(name, ) +#define CD4066_GATE(...) \ + NET_REGISTER_DEVEXT(CD4066_GATE, __VA_ARGS__) // --------------------------------------------------------------------- // Source: ../devices/nld_ne555.cpp // --------------------------------------------------------------------- @@ -467,304 +471,114 @@ #define MC1455P(...) \ NET_REGISTER_DEVEXT(MC1455P, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_r2r_dac.cpp +// Source: ../devices/nld_7483.cpp // --------------------------------------------------------------------- -// usage : R2R_DAC(name, VIN, R, N) -#define R2R_DAC(...) \ - NET_REGISTER_DEVEXT(R2R_DAC, __VA_ARGS__) +// usage : TTL_7483(name, A1, A2, A3, A4, B1, B2, B3, B4, C0) +// auto connect: VCC, GND +#define TTL_7483(...) \ + NET_REGISTER_DEVEXT(TTL_7483, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_roms.cpp +// Source: ../devices/nld_74161.cpp // --------------------------------------------------------------------- -// usage : PROM_82S126(name, CE1Q, CE2Q, A0, A1, A2, A3, A4, A5, A6, A7) -// auto connect: VCC, GND -#define PROM_82S126(...) \ - NET_REGISTER_DEVEXT(PROM_82S126, __VA_ARGS__) -// usage : PROM_74S287(name, CE1Q, CE2Q, A0, A1, A2, A3, A4, A5, A6, A7) -// auto connect: VCC, GND -#define PROM_74S287(...) \ - NET_REGISTER_DEVEXT(PROM_74S287, __VA_ARGS__) -// usage : PROM_82S123(name, CEQ, A0, A1, A2, A3, A4) -// auto connect: VCC, GND -#define PROM_82S123(...) \ - NET_REGISTER_DEVEXT(PROM_82S123, __VA_ARGS__) -// usage : EPROM_2716(name, CE2Q, CE1Q, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) +// usage : TTL_74161(name, CLK, ENP, ENT, CLRQ, LOADQ, A, B, C, D) // auto connect: VCC, GND -#define EPROM_2716(...) \ - NET_REGISTER_DEVEXT(EPROM_2716, __VA_ARGS__) -// usage : PROM_MK28000(name, OE1, OE2, ARQ, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) +#define TTL_74161(...) \ + NET_REGISTER_DEVEXT(TTL_74161, __VA_ARGS__) +// usage : TTL_74161_FIXME(name, A, B, C, D, CLRQ, LOADQ, CLK, ENP, ENT) // auto connect: VCC, GND -#define PROM_MK28000(...) \ - NET_REGISTER_DEVEXT(PROM_MK28000, __VA_ARGS__) -// --------------------------------------------------------------------- -// Source: ../devices/nld_tristate.cpp -// --------------------------------------------------------------------- -// usage : TTL_TRISTATE(name, CEQ1, D1, CEQ2, D2) -#define TTL_TRISTATE(...) \ - NET_REGISTER_DEVEXT(TTL_TRISTATE, __VA_ARGS__) -// usage : TTL_TRISTATE3(name, ) -#define TTL_TRISTATE3(...) \ - NET_REGISTER_DEVEXT(TTL_TRISTATE3, __VA_ARGS__) +#define TTL_74161_FIXME(...) \ + NET_REGISTER_DEVEXT(TTL_74161_FIXME, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_schmitt.cpp +// Source: ../devices/nld_82S115.cpp // --------------------------------------------------------------------- -// usage : SCHMITT_TRIGGER(name, STMODEL) -#define SCHMITT_TRIGGER(...) \ - NET_REGISTER_DEVEXT(SCHMITT_TRIGGER, __VA_ARGS__) +// usage : PROM_82S115(name, CE1Q, CE2, A0, A1, A2, A3, A4, A5, A6, A7, A8, STROBE) +// auto connect: VCC, GND +#define PROM_82S115(...) \ + NET_REGISTER_DEVEXT(PROM_82S115, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_legacy.cpp +// Source: ../devices/nld_74377.cpp // --------------------------------------------------------------------- -// usage : NETDEV_RSFF(name, ) -#define NETDEV_RSFF(...) \ - NET_REGISTER_DEVEXT(NETDEV_RSFF, __VA_ARGS__) -// usage : NETDEV_DELAY(name, ) -#define NETDEV_DELAY(...) \ - NET_REGISTER_DEVEXT(NETDEV_DELAY, __VA_ARGS__) +// usage : TTL_74377_GATE(name, ) +#define TTL_74377_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_74377_GATE, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_log.cpp +// Source: ../analog/nlid_fourterm.cpp // --------------------------------------------------------------------- -// usage : LOG(name, I) -#define LOG(...) \ - NET_REGISTER_DEVEXT(LOG, __VA_ARGS__) -// usage : LOGD(name, I, I2) -#define LOGD(...) \ - NET_REGISTER_DEVEXT(LOGD, __VA_ARGS__) +// usage : VCVS(name, G) +#define VCVS(...) \ + NET_REGISTER_DEVEXT(VCVS, __VA_ARGS__) +// usage : VCCS(name, G) +#define VCCS(...) \ + NET_REGISTER_DEVEXT(VCCS, __VA_ARGS__) +// usage : CCCS(name, G) +#define CCCS(...) \ + NET_REGISTER_DEVEXT(CCCS, __VA_ARGS__) +// usage : CCVS(name, G) +#define CCVS(...) \ + NET_REGISTER_DEVEXT(CCVS, __VA_ARGS__) +// usage : LVCCS(name, ) +#define LVCCS(...) \ + NET_REGISTER_DEVEXT(LVCCS, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../devices/nld_system.cpp +// Source: ../analog/nld_switches.cpp // --------------------------------------------------------------------- -// usage : PARAMETER(name, ) -#define PARAMETER(...) \ - NET_REGISTER_DEVEXT(PARAMETER, __VA_ARGS__) -// usage : NC_PIN(name, ) -#define NC_PIN(...) \ - NET_REGISTER_DEVEXT(NC_PIN, __VA_ARGS__) -// usage : FRONTIER_DEV(name, I, G, Q) -#define FRONTIER_DEV(...) \ - NET_REGISTER_DEVEXT(FRONTIER_DEV, __VA_ARGS__) -// usage : AFUNC(name, N, FUNC) -#define AFUNC(...) \ - NET_REGISTER_DEVEXT(AFUNC, __VA_ARGS__) -// usage : ANALOG_INPUT(name, IN) -#define ANALOG_INPUT(...) \ - NET_REGISTER_DEVEXT(ANALOG_INPUT, __VA_ARGS__) -// usage : CLOCK(name, FREQ) -#define CLOCK(...) \ - NET_REGISTER_DEVEXT(CLOCK, __VA_ARGS__) -// usage : VARCLOCK(name, N, FUNC) -#define VARCLOCK(...) \ - NET_REGISTER_DEVEXT(VARCLOCK, __VA_ARGS__) -// usage : EXTCLOCK(name, FREQ, PATTERN) -#define EXTCLOCK(...) \ - NET_REGISTER_DEVEXT(EXTCLOCK, __VA_ARGS__) -// usage : SYS_DSW(name, I, 1, 2) -#define SYS_DSW(...) \ - NET_REGISTER_DEVEXT(SYS_DSW, __VA_ARGS__) -// usage : SYS_DSW2(name, ) -#define SYS_DSW2(...) \ - NET_REGISTER_DEVEXT(SYS_DSW2, __VA_ARGS__) -// usage : SYS_COMPD(name, ) -#define SYS_COMPD(...) \ - NET_REGISTER_DEVEXT(SYS_COMPD, __VA_ARGS__) -// usage : SYS_NOISE_MT_U(name, SIGMA) -#define SYS_NOISE_MT_U(...) \ - NET_REGISTER_DEVEXT(SYS_NOISE_MT_U, __VA_ARGS__) -// usage : SYS_NOISE_MT_N(name, SIGMA) -#define SYS_NOISE_MT_N(...) \ - NET_REGISTER_DEVEXT(SYS_NOISE_MT_N, __VA_ARGS__) -// usage : MAINCLOCK(name, FREQ) -#define MAINCLOCK(...) \ - NET_REGISTER_DEVEXT(MAINCLOCK, __VA_ARGS__) -// usage : GNDA(name, ) -#define GNDA(...) \ - NET_REGISTER_DEVEXT(GNDA, __VA_ARGS__) -// usage : LOGIC_INPUT8(name, IN, MODEL) -#define LOGIC_INPUT8(...) \ - NET_REGISTER_DEVEXT(LOGIC_INPUT8, __VA_ARGS__) -// usage : LOGIC_INPUT(name, IN, MODEL) -#define LOGIC_INPUT(...) \ - NET_REGISTER_DEVEXT(LOGIC_INPUT, __VA_ARGS__) -// usage : TTL_INPUT(name, IN) -#define TTL_INPUT(...) \ - NET_REGISTER_DEVEXT(TTL_INPUT, __VA_ARGS__) +// usage : SWITCH(name, ) +#define SWITCH(...) \ + NET_REGISTER_DEVEXT(SWITCH, __VA_ARGS__) +// usage : SWITCH2(name, ) +#define SWITCH2(...) \ + NET_REGISTER_DEVEXT(SWITCH2, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../macro/nlm_cd4xxx_lib.cpp +// Source: ../analog/nld_mosfet.cpp // --------------------------------------------------------------------- -// usage : CD4001_GATE(name, ) -#define CD4001_GATE(...) \ - NET_REGISTER_DEVEXT(CD4001_GATE, __VA_ARGS__) -// usage : CD4011_GATE(name, ) -#define CD4011_GATE(...) \ - NET_REGISTER_DEVEXT(CD4011_GATE, __VA_ARGS__) -// usage : CD4069_GATE(name, ) -#define CD4069_GATE(...) \ - NET_REGISTER_DEVEXT(CD4069_GATE, __VA_ARGS__) -// usage : CD4070_GATE(name, ) -#define CD4070_GATE(...) \ - NET_REGISTER_DEVEXT(CD4070_GATE, __VA_ARGS__) -// usage : CD4001_DIP(name, ) -#define CD4001_DIP(...) \ - NET_REGISTER_DEVEXT(CD4001_DIP, __VA_ARGS__) -// usage : CD4011_DIP(name, ) -#define CD4011_DIP(...) \ - NET_REGISTER_DEVEXT(CD4011_DIP, __VA_ARGS__) -// usage : CD4069_DIP(name, ) -#define CD4069_DIP(...) \ - NET_REGISTER_DEVEXT(CD4069_DIP, __VA_ARGS__) -// usage : CD4070_DIP(name, ) -#define CD4070_DIP(...) \ - NET_REGISTER_DEVEXT(CD4070_DIP, __VA_ARGS__) -// usage : CD4006_DIP(name, ) -#define CD4006_DIP(...) \ - NET_REGISTER_DEVEXT(CD4006_DIP, __VA_ARGS__) -// usage : CD4013_DIP(name, ) -#define CD4013_DIP(...) \ - NET_REGISTER_DEVEXT(CD4013_DIP, __VA_ARGS__) -// usage : CD4017_DIP(name, ) -#define CD4017_DIP(...) \ - NET_REGISTER_DEVEXT(CD4017_DIP, __VA_ARGS__) -// usage : CD4022_DIP(name, ) -#define CD4022_DIP(...) \ - NET_REGISTER_DEVEXT(CD4022_DIP, __VA_ARGS__) -// usage : CD4020_DIP(name, ) -#define CD4020_DIP(...) \ - NET_REGISTER_DEVEXT(CD4020_DIP, __VA_ARGS__) -// usage : CD4024_DIP(name, ) -#define CD4024_DIP(...) \ - NET_REGISTER_DEVEXT(CD4024_DIP, __VA_ARGS__) -// usage : CD4053_DIP(name, ) -#define CD4053_DIP(...) \ - NET_REGISTER_DEVEXT(CD4053_DIP, __VA_ARGS__) -// usage : CD4066_DIP(name, ) -#define CD4066_DIP(...) \ - NET_REGISTER_DEVEXT(CD4066_DIP, __VA_ARGS__) -// usage : CD4016_DIP(name, ) -#define CD4016_DIP(...) \ - NET_REGISTER_DEVEXT(CD4016_DIP, __VA_ARGS__) -// usage : CD4316_DIP(name, ) -#define CD4316_DIP(...) \ - NET_REGISTER_DEVEXT(CD4316_DIP, __VA_ARGS__) -// usage : CD4538_DIP(name, ) -#define CD4538_DIP(...) \ - NET_REGISTER_DEVEXT(CD4538_DIP, __VA_ARGS__) -// usage : MM5837_DIP(name, ) -#define MM5837_DIP(...) \ - NET_REGISTER_DEVEXT(MM5837_DIP, __VA_ARGS__) +// usage : MOSFET(name, MODEL) +#define MOSFET(...) \ + NET_REGISTER_DEVEXT(MOSFET, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../macro/nlm_opamp_lib.cpp +// Source: ../analog/nlid_twoterm.cpp // --------------------------------------------------------------------- -// usage : opamp_layout_4_4_11(name, ) -#define opamp_layout_4_4_11(...) \ - NET_REGISTER_DEVEXT(opamp_layout_4_4_11, __VA_ARGS__) -// usage : opamp_layout_2_8_4(name, ) -#define opamp_layout_2_8_4(...) \ - NET_REGISTER_DEVEXT(opamp_layout_2_8_4, __VA_ARGS__) -// usage : opamp_layout_2_13_9_4(name, ) -#define opamp_layout_2_13_9_4(...) \ - NET_REGISTER_DEVEXT(opamp_layout_2_13_9_4, __VA_ARGS__) -// usage : opamp_layout_1_7_4(name, ) -#define opamp_layout_1_7_4(...) \ - NET_REGISTER_DEVEXT(opamp_layout_1_7_4, __VA_ARGS__) -// usage : opamp_layout_1_8_5(name, ) -#define opamp_layout_1_8_5(...) \ - NET_REGISTER_DEVEXT(opamp_layout_1_8_5, __VA_ARGS__) -// usage : opamp_layout_1_11_6(name, ) -#define opamp_layout_1_11_6(...) \ - NET_REGISTER_DEVEXT(opamp_layout_1_11_6, __VA_ARGS__) -// usage : MB3614_DIP(name, ) -#define MB3614_DIP(...) \ - NET_REGISTER_DEVEXT(MB3614_DIP, __VA_ARGS__) -// usage : MC3340_DIP(name, ) -#define MC3340_DIP(...) \ - NET_REGISTER_DEVEXT(MC3340_DIP, __VA_ARGS__) -// usage : TL081_DIP(name, ) -#define TL081_DIP(...) \ - NET_REGISTER_DEVEXT(TL081_DIP, __VA_ARGS__) -// usage : TL082_DIP(name, ) -#define TL082_DIP(...) \ - NET_REGISTER_DEVEXT(TL082_DIP, __VA_ARGS__) -// usage : TL084_DIP(name, ) -#define TL084_DIP(...) \ - NET_REGISTER_DEVEXT(TL084_DIP, __VA_ARGS__) -// usage : LM324_DIP(name, ) -#define LM324_DIP(...) \ - NET_REGISTER_DEVEXT(LM324_DIP, __VA_ARGS__) -// usage : LM358_DIP(name, ) -#define LM358_DIP(...) \ - NET_REGISTER_DEVEXT(LM358_DIP, __VA_ARGS__) -// usage : LM2902_DIP(name, ) -#define LM2902_DIP(...) \ - NET_REGISTER_DEVEXT(LM2902_DIP, __VA_ARGS__) -// usage : UA741_DIP8(name, ) -#define UA741_DIP8(...) \ - NET_REGISTER_DEVEXT(UA741_DIP8, __VA_ARGS__) -// usage : UA741_DIP10(name, ) -#define UA741_DIP10(...) \ - NET_REGISTER_DEVEXT(UA741_DIP10, __VA_ARGS__) -// usage : UA741_DIP14(name, ) -#define UA741_DIP14(...) \ - NET_REGISTER_DEVEXT(UA741_DIP14, __VA_ARGS__) -// usage : MC1558_DIP(name, ) -#define MC1558_DIP(...) \ - NET_REGISTER_DEVEXT(MC1558_DIP, __VA_ARGS__) -// usage : LM747_DIP(name, ) -#define LM747_DIP(...) \ - NET_REGISTER_DEVEXT(LM747_DIP, __VA_ARGS__) -// usage : LM747A_DIP(name, ) -#define LM747A_DIP(...) \ - NET_REGISTER_DEVEXT(LM747A_DIP, __VA_ARGS__) -// usage : LM3900(name, ) -#define LM3900(...) \ - NET_REGISTER_DEVEXT(LM3900, __VA_ARGS__) -// usage : AN6551_SIL(name, ) -#define AN6551_SIL(...) \ - NET_REGISTER_DEVEXT(AN6551_SIL, __VA_ARGS__) +// usage : RES(name, R) +#define RES(...) \ + NET_REGISTER_DEVEXT(RES, __VA_ARGS__) +// usage : POT(name, R) +#define POT(...) \ + NET_REGISTER_DEVEXT(POT, __VA_ARGS__) +// usage : POT2(name, R) +#define POT2(...) \ + NET_REGISTER_DEVEXT(POT2, __VA_ARGS__) +// usage : CAP(name, C) +#define CAP(...) \ + NET_REGISTER_DEVEXT(CAP, __VA_ARGS__) +// usage : IND(name, L) +#define IND(...) \ + NET_REGISTER_DEVEXT(IND, __VA_ARGS__) +// usage : DIODE(name, MODEL) +#define DIODE(...) \ + NET_REGISTER_DEVEXT(DIODE, __VA_ARGS__) +// usage : ZDIODE(name, MODEL) +#define ZDIODE(...) \ + NET_REGISTER_DEVEXT(ZDIODE, __VA_ARGS__) +// usage : VS(name, V) +#define VS(...) \ + NET_REGISTER_DEVEXT(VS, __VA_ARGS__) +// usage : CS(name, I) +#define CS(...) \ + NET_REGISTER_DEVEXT(CS, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../macro/nlm_otheric_lib.cpp +// Source: ../analog/nld_opamps.cpp // --------------------------------------------------------------------- -// usage : MC14584B_GATE(name, ) -#define MC14584B_GATE(...) \ - NET_REGISTER_DEVEXT(MC14584B_GATE, __VA_ARGS__) -// usage : MC14584B_DIP(name, ) -#define MC14584B_DIP(...) \ - NET_REGISTER_DEVEXT(MC14584B_DIP, __VA_ARGS__) -// usage : NE566_DIP(name, ) -#define NE566_DIP(...) \ - NET_REGISTER_DEVEXT(NE566_DIP, __VA_ARGS__) -// usage : NE555_DIP(name, ) -#define NE555_DIP(...) \ - NET_REGISTER_DEVEXT(NE555_DIP, __VA_ARGS__) -// usage : MC1455P_DIP(name, ) -#define MC1455P_DIP(...) \ - NET_REGISTER_DEVEXT(MC1455P_DIP, __VA_ARGS__) +// usage : OPAMP(name, MODEL) +#define OPAMP(...) \ + NET_REGISTER_DEVEXT(OPAMP, __VA_ARGS__) // --------------------------------------------------------------------- -// Source: ../macro/nlm_roms_lib.cpp +// Source: ../analog/nld_bjt.cpp // --------------------------------------------------------------------- -// usage : PROM_82S123_DIP(name, ) -#define PROM_82S123_DIP(...) \ - NET_REGISTER_DEVEXT(PROM_82S123_DIP, __VA_ARGS__) -// usage : PROM_82S126_DIP(name, ) -#define PROM_82S126_DIP(...) \ - NET_REGISTER_DEVEXT(PROM_82S126_DIP, __VA_ARGS__) -// usage : PROM_74S287_DIP(name, ) -#define PROM_74S287_DIP(...) \ - NET_REGISTER_DEVEXT(PROM_74S287_DIP, __VA_ARGS__) -// usage : EPROM_2716_DIP(name, ) -#define EPROM_2716_DIP(...) \ - NET_REGISTER_DEVEXT(EPROM_2716_DIP, __VA_ARGS__) -// usage : TTL_82S16_DIP(name, ) -#define TTL_82S16_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_82S16_DIP, __VA_ARGS__) -// usage : PROM_82S115_DIP(name, ) -#define PROM_82S115_DIP(...) \ - NET_REGISTER_DEVEXT(PROM_82S115_DIP, __VA_ARGS__) -// usage : PROM_MK28000_DIP(name, ) -#define PROM_MK28000_DIP(...) \ - NET_REGISTER_DEVEXT(PROM_MK28000_DIP, __VA_ARGS__) -// usage : RAM_2102A_DIP(name, ) -#define RAM_2102A_DIP(...) \ - NET_REGISTER_DEVEXT(RAM_2102A_DIP, __VA_ARGS__) -// usage : ROM_TMS4800_DIP(name, ) -#define ROM_TMS4800_DIP(...) \ - NET_REGISTER_DEVEXT(ROM_TMS4800_DIP, __VA_ARGS__) +// usage : QBJT_EB(name, MODEL) +#define QBJT_EB(...) \ + NET_REGISTER_DEVEXT(QBJT_EB, __VA_ARGS__) +// usage : QBJT_SW(name, MODEL) +#define QBJT_SW(...) \ + NET_REGISTER_DEVEXT(QBJT_SW, __VA_ARGS__) // --------------------------------------------------------------------- // Source: ../macro/nlm_ttl74xx_lib.cpp // --------------------------------------------------------------------- @@ -1122,3 +936,189 @@ // usage : TTL_AM2847_DIP(name, ) #define TTL_AM2847_DIP(...) \ NET_REGISTER_DEVEXT(TTL_AM2847_DIP, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../macro/nlm_cd4xxx_lib.cpp +// --------------------------------------------------------------------- +// usage : CD4001_GATE(name, ) +#define CD4001_GATE(...) \ + NET_REGISTER_DEVEXT(CD4001_GATE, __VA_ARGS__) +// usage : CD4011_GATE(name, ) +#define CD4011_GATE(...) \ + NET_REGISTER_DEVEXT(CD4011_GATE, __VA_ARGS__) +// usage : CD4069_GATE(name, ) +#define CD4069_GATE(...) \ + NET_REGISTER_DEVEXT(CD4069_GATE, __VA_ARGS__) +// usage : CD4070_GATE(name, ) +#define CD4070_GATE(...) \ + NET_REGISTER_DEVEXT(CD4070_GATE, __VA_ARGS__) +// usage : CD4001_DIP(name, ) +#define CD4001_DIP(...) \ + NET_REGISTER_DEVEXT(CD4001_DIP, __VA_ARGS__) +// usage : CD4011_DIP(name, ) +#define CD4011_DIP(...) \ + NET_REGISTER_DEVEXT(CD4011_DIP, __VA_ARGS__) +// usage : CD4069_DIP(name, ) +#define CD4069_DIP(...) \ + NET_REGISTER_DEVEXT(CD4069_DIP, __VA_ARGS__) +// usage : CD4070_DIP(name, ) +#define CD4070_DIP(...) \ + NET_REGISTER_DEVEXT(CD4070_DIP, __VA_ARGS__) +// usage : CD4006_DIP(name, ) +#define CD4006_DIP(...) \ + NET_REGISTER_DEVEXT(CD4006_DIP, __VA_ARGS__) +// usage : CD4013_DIP(name, ) +#define CD4013_DIP(...) \ + NET_REGISTER_DEVEXT(CD4013_DIP, __VA_ARGS__) +// usage : CD4017_DIP(name, ) +#define CD4017_DIP(...) \ + NET_REGISTER_DEVEXT(CD4017_DIP, __VA_ARGS__) +// usage : CD4022_DIP(name, ) +#define CD4022_DIP(...) \ + NET_REGISTER_DEVEXT(CD4022_DIP, __VA_ARGS__) +// usage : CD4020_DIP(name, ) +#define CD4020_DIP(...) \ + NET_REGISTER_DEVEXT(CD4020_DIP, __VA_ARGS__) +// usage : CD4024_DIP(name, ) +#define CD4024_DIP(...) \ + NET_REGISTER_DEVEXT(CD4024_DIP, __VA_ARGS__) +// usage : CD4053_DIP(name, ) +#define CD4053_DIP(...) \ + NET_REGISTER_DEVEXT(CD4053_DIP, __VA_ARGS__) +// usage : CD4066_DIP(name, ) +#define CD4066_DIP(...) \ + NET_REGISTER_DEVEXT(CD4066_DIP, __VA_ARGS__) +// usage : CD4016_DIP(name, ) +#define CD4016_DIP(...) \ + NET_REGISTER_DEVEXT(CD4016_DIP, __VA_ARGS__) +// usage : CD4316_DIP(name, ) +#define CD4316_DIP(...) \ + NET_REGISTER_DEVEXT(CD4316_DIP, __VA_ARGS__) +// usage : CD4538_DIP(name, ) +#define CD4538_DIP(...) \ + NET_REGISTER_DEVEXT(CD4538_DIP, __VA_ARGS__) +// usage : MM5837_DIP(name, ) +#define MM5837_DIP(...) \ + NET_REGISTER_DEVEXT(MM5837_DIP, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../macro/nlm_roms_lib.cpp +// --------------------------------------------------------------------- +// usage : PROM_82S123_DIP(name, ) +#define PROM_82S123_DIP(...) \ + NET_REGISTER_DEVEXT(PROM_82S123_DIP, __VA_ARGS__) +// usage : PROM_82S126_DIP(name, ) +#define PROM_82S126_DIP(...) \ + NET_REGISTER_DEVEXT(PROM_82S126_DIP, __VA_ARGS__) +// usage : PROM_74S287_DIP(name, ) +#define PROM_74S287_DIP(...) \ + NET_REGISTER_DEVEXT(PROM_74S287_DIP, __VA_ARGS__) +// usage : EPROM_2716_DIP(name, ) +#define EPROM_2716_DIP(...) \ + NET_REGISTER_DEVEXT(EPROM_2716_DIP, __VA_ARGS__) +// usage : TTL_82S16_DIP(name, ) +#define TTL_82S16_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_82S16_DIP, __VA_ARGS__) +// usage : PROM_82S115_DIP(name, ) +#define PROM_82S115_DIP(...) \ + NET_REGISTER_DEVEXT(PROM_82S115_DIP, __VA_ARGS__) +// usage : PROM_MK28000_DIP(name, ) +#define PROM_MK28000_DIP(...) \ + NET_REGISTER_DEVEXT(PROM_MK28000_DIP, __VA_ARGS__) +// usage : RAM_2102A_DIP(name, ) +#define RAM_2102A_DIP(...) \ + NET_REGISTER_DEVEXT(RAM_2102A_DIP, __VA_ARGS__) +// usage : ROM_TMS4800_DIP(name, ) +#define ROM_TMS4800_DIP(...) \ + NET_REGISTER_DEVEXT(ROM_TMS4800_DIP, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../macro/nlm_otheric_lib.cpp +// --------------------------------------------------------------------- +// usage : MC14584B_GATE(name, ) +#define MC14584B_GATE(...) \ + NET_REGISTER_DEVEXT(MC14584B_GATE, __VA_ARGS__) +// usage : MC14584B_DIP(name, ) +#define MC14584B_DIP(...) \ + NET_REGISTER_DEVEXT(MC14584B_DIP, __VA_ARGS__) +// usage : NE566_DIP(name, ) +#define NE566_DIP(...) \ + NET_REGISTER_DEVEXT(NE566_DIP, __VA_ARGS__) +// usage : NE555_DIP(name, ) +#define NE555_DIP(...) \ + NET_REGISTER_DEVEXT(NE555_DIP, __VA_ARGS__) +// usage : MC1455P_DIP(name, ) +#define MC1455P_DIP(...) \ + NET_REGISTER_DEVEXT(MC1455P_DIP, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../macro/nlm_opamp_lib.cpp +// --------------------------------------------------------------------- +// usage : opamp_layout_4_4_11(name, ) +#define opamp_layout_4_4_11(...) \ + NET_REGISTER_DEVEXT(opamp_layout_4_4_11, __VA_ARGS__) +// usage : opamp_layout_2_8_4(name, ) +#define opamp_layout_2_8_4(...) \ + NET_REGISTER_DEVEXT(opamp_layout_2_8_4, __VA_ARGS__) +// usage : opamp_layout_2_13_9_4(name, ) +#define opamp_layout_2_13_9_4(...) \ + NET_REGISTER_DEVEXT(opamp_layout_2_13_9_4, __VA_ARGS__) +// usage : opamp_layout_1_7_4(name, ) +#define opamp_layout_1_7_4(...) \ + NET_REGISTER_DEVEXT(opamp_layout_1_7_4, __VA_ARGS__) +// usage : opamp_layout_1_8_5(name, ) +#define opamp_layout_1_8_5(...) \ + NET_REGISTER_DEVEXT(opamp_layout_1_8_5, __VA_ARGS__) +// usage : opamp_layout_1_11_6(name, ) +#define opamp_layout_1_11_6(...) \ + NET_REGISTER_DEVEXT(opamp_layout_1_11_6, __VA_ARGS__) +// usage : MB3614_DIP(name, ) +#define MB3614_DIP(...) \ + NET_REGISTER_DEVEXT(MB3614_DIP, __VA_ARGS__) +// usage : MC3340_DIP(name, ) +#define MC3340_DIP(...) \ + NET_REGISTER_DEVEXT(MC3340_DIP, __VA_ARGS__) +// usage : TL081_DIP(name, ) +#define TL081_DIP(...) \ + NET_REGISTER_DEVEXT(TL081_DIP, __VA_ARGS__) +// usage : TL082_DIP(name, ) +#define TL082_DIP(...) \ + NET_REGISTER_DEVEXT(TL082_DIP, __VA_ARGS__) +// usage : TL084_DIP(name, ) +#define TL084_DIP(...) \ + NET_REGISTER_DEVEXT(TL084_DIP, __VA_ARGS__) +// usage : LM324_DIP(name, ) +#define LM324_DIP(...) \ + NET_REGISTER_DEVEXT(LM324_DIP, __VA_ARGS__) +// usage : LM358_DIP(name, ) +#define LM358_DIP(...) \ + NET_REGISTER_DEVEXT(LM358_DIP, __VA_ARGS__) +// usage : LM2902_DIP(name, ) +#define LM2902_DIP(...) \ + NET_REGISTER_DEVEXT(LM2902_DIP, __VA_ARGS__) +// usage : UA741_DIP8(name, ) +#define UA741_DIP8(...) \ + NET_REGISTER_DEVEXT(UA741_DIP8, __VA_ARGS__) +// usage : UA741_DIP10(name, ) +#define UA741_DIP10(...) \ + NET_REGISTER_DEVEXT(UA741_DIP10, __VA_ARGS__) +// usage : UA741_DIP14(name, ) +#define UA741_DIP14(...) \ + NET_REGISTER_DEVEXT(UA741_DIP14, __VA_ARGS__) +// usage : MC1558_DIP(name, ) +#define MC1558_DIP(...) \ + NET_REGISTER_DEVEXT(MC1558_DIP, __VA_ARGS__) +// usage : LM747_DIP(name, ) +#define LM747_DIP(...) \ + NET_REGISTER_DEVEXT(LM747_DIP, __VA_ARGS__) +// usage : LM747A_DIP(name, ) +#define LM747A_DIP(...) \ + NET_REGISTER_DEVEXT(LM747A_DIP, __VA_ARGS__) +// usage : LM3900(name, ) +#define LM3900(...) \ + NET_REGISTER_DEVEXT(LM3900, __VA_ARGS__) +// usage : AN6551_SIL(name, ) +#define AN6551_SIL(...) \ + NET_REGISTER_DEVEXT(AN6551_SIL, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../solver/nld_solver.cpp +// --------------------------------------------------------------------- +// usage : SOLVER(name, FREQ) +#define SOLVER(...) \ + NET_REGISTER_DEVEXT(SOLVER, __VA_ARGS__) diff --git a/src/lib/netlist/nl_setup.h b/src/lib/netlist/nl_setup.h index b81f5c6c4f6..745032ab054 100644 --- a/src/lib/netlist/nl_setup.h +++ b/src/lib/netlist/nl_setup.h @@ -18,8 +18,6 @@ #include "nl_config.h" #include "nl_parser.h" #include "nltypes.h" -// FIXME: avoid including factory -//#include "nl_factory.h" #include #include @@ -86,7 +84,6 @@ void NETLIST_NAME(name)(netlist::nlparse_t &setup) \ #define EXTERNAL_SOURCE(name) \ setup.register_source_proc(# name, &NETLIST_NAME(name)); -// FIXME: Need to pass in parameter definition #define LOCAL_LIB_ENTRY_1(name) \ LOCAL_SOURCE(name) \ setup.register_lib_entry(# name, "", PSOURCELOC()); -- cgit v1.2.3