From 8335c1bed5d96ddfe07d53894ac742a078262b48 Mon Sep 17 00:00:00 2001 From: couriersud Date: Mon, 24 Aug 2020 22:01:39 +0200 Subject: [PATCH] netlist: build system improvements * Medium term this will significantly ease adding devices to netlist. --- src/lib/netlist/build/create_devinc.py | 85 ++ src/lib/netlist/build/create_lib_entries.py | 57 + src/lib/netlist/build/makefile | 104 +- src/lib/netlist/build/nlwav.help2man | 5 + src/lib/netlist/core/devices.h | 13 +- src/lib/netlist/devices/net_lib.cpp | 131 +- src/lib/netlist/devices/net_lib.h | 3 +- src/lib/netlist/devices/nld_4066.cpp | 2 - src/lib/netlist/devices/nld_devinc.h | 1501 ------------------- src/lib/netlist/examples/lostfound.cpp | 2 +- src/lib/netlist/generated/nld_devinc.h | 1106 ++++++++++++++ src/lib/netlist/plib/ptests.h | 9 + src/lib/netlist/tests/test_pfunction.cpp | 4 +- 13 files changed, 1334 insertions(+), 1688 deletions(-) create mode 100644 src/lib/netlist/build/create_devinc.py create mode 100644 src/lib/netlist/build/create_lib_entries.py create mode 100644 src/lib/netlist/build/nlwav.help2man delete mode 100644 src/lib/netlist/devices/nld_devinc.h create mode 100644 src/lib/netlist/generated/nld_devinc.h diff --git a/src/lib/netlist/build/create_devinc.py b/src/lib/netlist/build/create_devinc.py new file mode 100644 index 00000000000..c74780b45a2 --- /dev/null +++ b/src/lib/netlist/build/create_devinc.py @@ -0,0 +1,85 @@ +#!/usr/bin/python +## +## license:BSD-3-Clause +## copyright-holders:Couriersud + +import os +import os.path +import re +import sys +import xml.sax +import xml.sax.saxutils +import zlib + + +# workaround for version incompatibility +if sys.version_info > (3, ): + long = int + +# globals + +last_src = "" + +def process_entry(srcfile, name, params): + global last_src + if (last_src != srcfile): + last_src = srcfile + print("// ---------------------------------------------------------------------") + print("// Source: {}".format(srcfile)) + print("// ---------------------------------------------------------------------") + + p = re.sub("\+","",params) + ps = p.split(",") + pusage = "" + pauto = "" + for x in ps: + if x[0:1] == "@": + pauto = pauto + ", " + x[1:] + else: + pusage = pusage + ", " + x + print("// usage : {}(name{})".format(name, pusage)) + if len(pauto) > 0: + print("// auto connect: {}".format(pauto[2:])) + print("#define {}(...) \\".format(name)) + print(" NET_REGISTER_DEVEXT({}, __VA_ARGS__)".format(name)) + + +def process_file(srcfile): + src = open(srcfile,'r') + lines = src.readlines() + for line in lines: + ls = re.sub("\s+","",line.strip()) + ls = re.sub("^\s*//.*","",ls) + ls = re.sub("\"","",ls) + m = re.match(r"NETLIB_DEVICE_IMPL\((\w+),(\w+),([a-zA-Z0-9_+@,]*)", ls) + #print("Line{}: {}".format(count, line.strip())) + if m != None: + process_entry(srcfile, m.group(2), m.group(3)) + else: + m = re.match(r"NETLIB_DEVICE_IMPL_ALIAS\((\w+),(\w+),(\w+),([a-zA-Z0-9_+@,]*)", ls) + if m != None: + process_entry(srcfile, m.group(3), m.group(4)) + else: + m = re.match(r"NETLIB_DEVICE_IMPL_NS\((\w+),(\w+),(\w+),([a-zA-Z0-9_+@,]*)", ls) + if m != None: + process_entry(srcfile, m.group(3), m.group(4)) + else: + m = re.match(r"LOCAL_LIB_ENTRY\((\w+)\)", ls) + if m != None: + process_entry(srcfile, m.group(1), "") + else: + m = re.match(r"TRUTHTABLE_START\((\w+),(\w+),(\w+),([a-zA-Z0-9_+@,]*)", ls) + if m != None: + process_entry(srcfile, m.group(1), m.group(4)) + + src.close() + +if __name__ == '__main__': + if (len(sys.argv) == 0): + print('Usage:') + print(' create_devinc files ...') + sys.exit(0) + + for argno in range(1, len(sys.argv)): + process_file(sys.argv[argno]) + diff --git a/src/lib/netlist/build/create_lib_entries.py b/src/lib/netlist/build/create_lib_entries.py new file mode 100644 index 00000000000..461d5e2038b --- /dev/null +++ b/src/lib/netlist/build/create_lib_entries.py @@ -0,0 +1,57 @@ +#!/usr/bin/python +## +## license:BSD-3-Clause +## copyright-holders:Couriersud + +import os +import os.path +import re +import sys +import xml.sax +import xml.sax.saxutils +import zlib + + +# workaround for version incompatibility +if sys.version_info > (3, ): + long = int + +# globals +devices = [] + +def process_file(srcfile): + src = open(srcfile,'r') + lines = src.readlines() + for line in lines: + ls = re.sub("\s+","",line.strip()) + ls = re.sub("^\s*//.*","",ls) + m = re.match(r"NETLIB_DEVICE_IMPL\((\w+),", ls) + #print("Line{}: {}".format(count, line.strip())) + if m != None: + n = m.group(1) + devices.append(n) + else: + m = re.match(r"NETLIB_DEVICE_IMPL_ALIAS\((\w+),", ls) + if m != None: + n = m.group(1) + devices.append(n) + else: + m = re.match(r"NETLIB_DEVICE_IMPL_NS\((\w+),(\w+),", ls) + if m != None: + n = m.group(2) + devices.append(n) + src.close() + +if __name__ == '__main__': + if (len(sys.argv) == 0): + print('Usage:') + print(' extract files ...') + sys.exit(0) + + for argno in range(1, len(sys.argv)): + process_file(sys.argv[argno]) + + devices.sort() + for d in devices: + print("LIB_ENTRY({})".format(d)) + \ No newline at end of file diff --git a/src/lib/netlist/build/makefile b/src/lib/netlist/build/makefile index 82f9f1c12b6..27414e9439d 100644 --- a/src/lib/netlist/build/makefile +++ b/src/lib/netlist/build/makefile @@ -49,7 +49,7 @@ TIDY_FLAGSX += -llvmlibc-restrict-system-libc-headers,-llvmlibc-implementation-i space := space += TIDY_FLAGS = -p $(OBJ) $(subst $(space),,$(TIDY_FLAGSX)) -TIDY_SOURCES = $(SOURCES) +TIDY_SOURCES = $(ALLSOURCES) #TIDY_SOURCES = $(SRC)/devices/nld_7442.cpp $(SRC)/devices/nld_7492.cpp @@ -71,6 +71,8 @@ DOXYGEN = @./doxygen HOSTARCH = NIX endif +PYTHON=@python + TIDY_DB = $(OBJ)/compile_commands.json @@ -120,7 +122,7 @@ OBJDIRS = $(OBJ) \ $(OBJ)/generated \ -OBJS = $(POBJS) $(NLOBJS) $(TESTOBJS) +OBJS = $(POBJS) $(NLOBJS) $(NLDEVOBJS) $(TESTOBJS) POBJS := \ $(POBJ)/pstring.o \ @@ -136,20 +138,22 @@ POBJS := \ PMAIN := $(POBJ)/pmain.o NLOBJS := \ - $(NLOBJ)/solver/nld_solver.o \ $(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)/tools/nl_convert.o \ - $(NLOBJ)/generated/static_solvers.o \ $(NLOBJ)/devices/nld_2102A.o \ $(NLOBJ)/devices/nld_tms4800.o \ $(NLOBJ)/devices/nld_4006.o \ @@ -240,11 +244,12 @@ DOCS = \ ALL_OBJS = $(OBJS) $(PMAIN) $(NLOBJ)/prg/nltool.o $(NLOBJ)/prg/nlwav.o ALL_TIDY_FILES = $(ALL_OBJS:.o=.json) -SOURCES = $(patsubst $(OBJ)%, $(SRC)%, $(ALL_OBJS:.o=.cpp)) -ALLFILES = $(SOURCES) $(VSBUILDS) $(DOCS) - -MAKEFILE_TARGETS_WITHOUT_INCLUDE := gcc9 clang clang-5 mingw doc native maketree tidy runtests +ALLSOURCES = $(patsubst $(OBJ)%, $(SRC)%, $(ALL_OBJS:.o=.cpp)) +DEVSOURCES = $(patsubst $(OBJ)%, $(SRC)%, $(NLDEVOBJS:.o=.cpp)) +ALLFILES = $(ALLSOURCES) $(VSBUILDS) $(DOCS) +MAKEFILE_TARGETS_WITHOUT_INCLUDE := all gcc9 clang clang-5 mingw doc native maketree tidy runtests generated manpages +BUILD_DIRS = $(OBJDIRS) man html # git archive HEAD --prefix=project-name-version/ \ # --format=zip -o project-name-version.zip @@ -253,7 +258,7 @@ MAKEFILE_TARGETS_WITHOUT_INCLUDE := gcc9 clang clang-5 mingw doc native maketree # PHONY #------------------------------------------------- -.PHONY: all gcc9 clang clang-5 mingw doc man native maketree $(DEPEND) depend runtests +.PHONY: $(MAKEFILE_TARGETS_WITHOUT_INCLUDE) #------------------------------------------------- # all @@ -285,10 +290,10 @@ nlwav$(EXESUFFIX): $(OBJ)/prg/nlwav.o $(PMAIN) $(OBJS) # directories #------------------------------------------------- -$(sort $(OBJDIRS)): +$(sort $(BUILD_DIRS)): $(MD) -p $@ -maketree: $(sort $(OBJDIRS)) +maketree: $(sort $(BUILD_DIRS)) #------------------------------------------------- # Special targets @@ -338,53 +343,60 @@ nvcc: -Xcompiler -O6 -Xcompiler -march=native -ccbin g++-8 " \ DEPENDCC=g++ -runtests: - ./nltool$(EXESUFFIX) -c tests - -tidy_db: compile_commands_prefix $(ALL_TIDY_FILES) compile_commands_postfix - -# -# Mostly done: -Wno-weak-vtables -Wno-cast-align -# FIXME: -Wno-weak-vtables -Wno-weak-template-vtables -Wno-exit-time-destructors -# FIXME: -Winconsistent-missing-destructor-override : c++ community has diverging opinions on this https://github.com/isocpp/CppCoreGuidelines/issues/721 -# FIXME: -Wunreachable-code : False warnings, this a documented clang bug: https://llvm.org/bugs/show_bug.cgi?id=28994 -# -Wweak-template-vtables -# -# These have to be given: -# -Wno-missing-variable-declarations : Device factory code, on purpose - mingw: $(MAKE) CEXTRAFLAGS="-DUNICODE -D_UNICODE -D_WIN32_WINNT=0x0501 \ -DWIN32_LEAN_AND_MEAN" LDEXTRAFLAGS="-Wl,--subsystem,console \ -municode" LIBS= MD=@mkdir.exe SHELL=sh.exe DOXYGEN=doxygen.exe $(PARAMS) -# -# FIXME: Unicode -# CEXTRAFLAGS = -DUNICODE -D_UNICODE -municode -# LDEXTRAFLAGS = -municode -# +#------------------------------------------------- +# regression tests +#------------------------------------------------- -man: nltool$(EXESUFFIX) nlwav$(EXESUFFIX) - @mkdir -p man - @mkdir -p html - help2man --include=nltool.help2man --no-info ./nltool$(EXESUFFIX) > man/nltool.1 - groff -mandoc -Thtml man/nltool.1 > html/nltool.html +runtests: + ./nltool$(EXESUFFIX) -c tests + +#------------------------------------------------- +# man pages +#------------------------------------------------- + +manpages: maketree man/nltool.1 man/nlwav.1 html/nltool.html html/nlwav.html + +#------------------------------------------------- +# documentation +#------------------------------------------------- doc: ./nltool$(EXESUFFIX) -c docheader > ../documentation/devsyn.dox.h $(DOXYGEN) doxygen.conf +#------------------------------------------------- +# generated +#------------------------------------------------- + +../generated/lib_entries.hxx: $(DEVSOURCES) + @echo creating $@ + $(PYTHON) create_lib_entries.py $^ > $@ + +../generated/nld_devinc.h: $(DEVSOURCES) + @echo creating $@ + $(PYTHON) create_devinc.py $^ > $@ + +.PHONY: generated +generated: ../generated/lib_entries.hxx ../generated/nld_devinc.h + #------------------------------------------------- # depends #------------------------------------------------- -$(DEPEND): maketree $(SOURCES) +.PHONY: $(DEPEND) +$(DEPEND): maketree $(ALLSOURCES) @echo creating $(DEPEND) @rm -f $(DEPEND) - @for i in $(SOURCES); do \ + @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 @@ -395,15 +407,15 @@ endif #------------------------------------------------- # clang tidy #------------------------------------------------- + +tidy_db: compile_commands_prefix $(ALL_TIDY_FILES) compile_commands_postfix + tidy: tidy_db @echo running tidy @for i in $(TIDY_SOURCES); do \ $(CLANG_TIDY) $$i $(TIDY_FLAGS) -header-filter=.*; \ done -tidy_db: compile_commands_prefix $(ALL_TIDY_FILES) compile_commands_postfix - - #------------------------------------------------- # generic rules #------------------------------------------------- @@ -432,6 +444,14 @@ $(OBJ)/%.json: $(SRC)/%.cpp @echo \"file\": \"$(CURDIR)/$<\" } >> $(TIDY_DB) @echo "," >> $(TIDY_DB) +man/%.1: %$(EXESUFFIX) + @echo Building $@... + @help2man --include=$*.help2man --no-info ./$< > $@ + +html/%.html: man/%.1 + @echo Building $@... + @groff -mandoc -Thtml $< > $@ + compile_commands_prefix: @echo "[" > $(TIDY_DB) diff --git a/src/lib/netlist/build/nlwav.help2man b/src/lib/netlist/build/nlwav.help2man new file mode 100644 index 00000000000..9d1c78b5139 --- /dev/null +++ b/src/lib/netlist/build/nlwav.help2man @@ -0,0 +1,5 @@ +[see also] +More documentation for the +.B nlwav +program is available in doxygen format. + diff --git a/src/lib/netlist/core/devices.h b/src/lib/netlist/core/devices.h index f14832aa0b7..36631c5913d 100644 --- a/src/lib/netlist/core/devices.h +++ b/src/lib/netlist/core/devices.h @@ -11,20 +11,11 @@ /// here directly (e.g. nld_nc_pin). /// -#if 0 -#include "core/base_objects.h" -#include "core/logic.h" -#include "core/logic_family.h" -#include "core/netlist_state.h" -#include "core/nets.h" -#include "core/object_array.h" -#include "core/param.h" -#include "core/state_var.h" -#include "core/exec.h" -#endif #include "analog.h" #include "device.h" #include "device_macros.h" +#include "logic.h" +#include "param.h" //============================================================ // Namespace starts diff --git a/src/lib/netlist/devices/net_lib.cpp b/src/lib/netlist/devices/net_lib.cpp index 9d7577a5d41..14f7de04222 100644 --- a/src/lib/netlist/devices/net_lib.cpp +++ b/src/lib/netlist/devices/net_lib.cpp @@ -25,135 +25,10 @@ namespace devices { // The following is from a script which automatically creates // the entries. - // FIXME: the list should be either include or the whole + // FIXME: the list should be either included or the whole // initialize factory code should be created programmatically. -#if 0 - 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(74174_GATE) - LIB_ENTRY(74175) - LIB_ENTRY(74175_dip) - LIB_ENTRY(74192) - LIB_ENTRY(74192_dip) - LIB_ENTRY(74193) - LIB_ENTRY(74193_dip) - LIB_ENTRY(74194) - LIB_ENTRY(74194_dip) - LIB_ENTRY(74365) - LIB_ENTRY(74365_dip) - 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(82S115) - LIB_ENTRY(82S123) - LIB_ENTRY(82S126) - LIB_ENTRY(82S16) - LIB_ENTRY(9310) - LIB_ENTRY(9314) - LIB_ENTRY(9314_dip) - LIB_ENTRY(9316) - LIB_ENTRY(9322) - LIB_ENTRY(9322_GATE) - LIB_ENTRY(9334) - LIB_ENTRY(9334_dip) - LIB_ENTRY(9602) - LIB_ENTRY(AM2847) - LIB_ENTRY(AM2847_dip) - LIB_ENTRY(analog_input) - LIB_ENTRY(C) - LIB_ENTRY(CCCS) - LIB_ENTRY(CCVS) - LIB_ENTRY(CD4006) - LIB_ENTRY(CD4013) - LIB_ENTRY(CD4017) - LIB_ENTRY(CD4020) - LIB_ENTRY(CD4020_WI) - LIB_ENTRY(CD4022) - LIB_ENTRY(CD4024) - LIB_ENTRY(CD4053_GATE) - LIB_ENTRY(CD4066_GATE) - LIB_ENTRY(CD4316_GATE) - LIB_ENTRY(clock) - LIB_ENTRY(CS) - LIB_ENTRY(D) - LIB_ENTRY(extclock) - LIB_ENTRY(frontier) - LIB_ENTRY(function) - LIB_ENTRY(gnd) - LIB_ENTRY(L) - LIB_ENTRY(log) - LIB_ENTRY(logD) - LIB_ENTRY(logic_input) - LIB_ENTRY(logic_input8) - LIB_ENTRY(logic_input_ttl) - LIB_ENTRY(LVCCS) - LIB_ENTRY(mainclock) - LIB_ENTRY(MC1455P) - LIB_ENTRY(MC1455P_dip) - LIB_ENTRY(MM5837_dip) - LIB_ENTRY(MOSFET) - LIB_ENTRY(nc_pin) - LIB_ENTRY(NE555) - LIB_ENTRY(NE555_dip) - LIB_ENTRY(netlistparams) - LIB_ENTRY(nicDelay) - LIB_ENTRY(nicRSFF) - LIB_ENTRY(opamp) - LIB_ENTRY(POT) - LIB_ENTRY(POT2) - LIB_ENTRY(QBJT_EB) - LIB_ENTRY(QBJT_switch) - LIB_ENTRY(R) - LIB_ENTRY(r2r_dac) - LIB_ENTRY(schmitt_trigger) - LIB_ENTRY(SN74LS629) - 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(TMS4800) - LIB_ENTRY(TMS4800_dip) - LIB_ENTRY(tristate) - LIB_ENTRY(tristate3) - LIB_ENTRY(varclock) - LIB_ENTRY(VCCS) - LIB_ENTRY(VCVS) - LIB_ENTRY(VS) - LIB_ENTRY(Z) +#if (NL_AUTO_DEVICES) + #include "../generated/lib_entries.hxx" #else LIB_ENTRY(R) LIB_ENTRY(POT) diff --git a/src/lib/netlist/devices/net_lib.h b/src/lib/netlist/devices/net_lib.h index ccae6fa0175..aa6b6f922e6 100644 --- a/src/lib/netlist/devices/net_lib.h +++ b/src/lib/netlist/devices/net_lib.h @@ -31,7 +31,8 @@ NETLIST_EXTERNAL(base_lib) #if NL_AUTO_DEVICES -#include "nld_devinc.h" + + #include "../generated/nld_devinc.h" #else diff --git a/src/lib/netlist/devices/nld_4066.cpp b/src/lib/netlist/devices/nld_4066.cpp index 9a8f42a3f64..8260cf0303e 100644 --- a/src/lib/netlist/devices/nld_4066.cpp +++ b/src/lib/netlist/devices/nld_4066.cpp @@ -82,8 +82,6 @@ namespace netlist nld_power_pins m_supply; }; - - NETLIB_DEVICE_IMPL(CD4066_GATE, "CD4066_GATE", "") } //namespace devices } // namespace netlist diff --git a/src/lib/netlist/devices/nld_devinc.h b/src/lib/netlist/devices/nld_devinc.h deleted file mode 100644 index 5780106c96b..00000000000 --- a/src/lib/netlist/devices/nld_devinc.h +++ /dev/null @@ -1,1501 +0,0 @@ -// license:GPL-2.0+ -// copyright-holders:Couriersud -#ifndef NLD_DEVINC_H -#define NLD_DEVINC_H - -#ifndef __PLIB_PREPROCESSOR__ - -// ---------------------------------------------------------------------------- -// Netlist Macros -// --------------------------------------------------------------------------- - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/analog/nlid_twoterm.cpp -// --------------------------------------------------------------------- -// usage : RES(name, pR) -#define RES(...) \ - NET_REGISTER_DEVEXT(RES, __VA_ARGS__) - -// usage : POT(name, pR) -#define POT(...) \ - NET_REGISTER_DEVEXT(POT, __VA_ARGS__) - -// usage : POT2(name, pR) -#define POT2(...) \ - NET_REGISTER_DEVEXT(POT2, __VA_ARGS__) - -// usage : CAP(name, pC) -#define CAP(...) \ - NET_REGISTER_DEVEXT(CAP, __VA_ARGS__) - -// usage : IND(name, pL) -#define IND(...) \ - NET_REGISTER_DEVEXT(IND, __VA_ARGS__) - -// usage : DIODE(name, pMODEL) -#define DIODE(...) \ - NET_REGISTER_DEVEXT(DIODE, __VA_ARGS__) - -// usage : ZDIODE(name, pMODEL) -#define ZDIODE(...) \ - NET_REGISTER_DEVEXT(ZDIODE, __VA_ARGS__) - -// usage : VS(name, pV) -#define VS(...) \ - NET_REGISTER_DEVEXT(VS, __VA_ARGS__) - -// usage : CS(name, pI) -#define CS(...) \ - NET_REGISTER_DEVEXT(CS, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/analog/nlid_fourterm.cpp -// --------------------------------------------------------------------- -// usage : VCVS(name, pG) -#define VCVS(...) \ - NET_REGISTER_DEVEXT(VCVS, __VA_ARGS__) - -// usage : VCCS(name, pG) -#define VCCS(...) \ - NET_REGISTER_DEVEXT(VCCS, __VA_ARGS__) - -// usage : CCCS(name, pG) -#define CCCS(...) \ - NET_REGISTER_DEVEXT(CCCS, __VA_ARGS__) - -// usage : CCVS(name, pG) -#define CCVS(...) \ - NET_REGISTER_DEVEXT(CCVS, __VA_ARGS__) - -// usage : LVCCS(name) -#define LVCCS(...) \ - NET_REGISTER_DEVEXT(LVCCS, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/analog/nld_opamps.cpp -// --------------------------------------------------------------------- -// usage : OPAMP(name, pMODEL) -#define OPAMP(...) \ - NET_REGISTER_DEVEXT(OPAMP, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_system.cpp -// --------------------------------------------------------------------- -// usage : NC_PIN(name) -#define NC_PIN(...) \ - NET_REGISTER_DEVEXT(NC_PIN, __VA_ARGS__) - -// usage : FRONTIER_DEV(name, pI, pG, pQ) -#define FRONTIER_DEV(...) \ - NET_REGISTER_DEVEXT(FRONTIER_DEV, __VA_ARGS__) - -// usage : AFUNC(name, pN, pFUNC) -#define AFUNC(...) \ - NET_REGISTER_DEVEXT(AFUNC, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/analog/nld_bjt.cpp -// --------------------------------------------------------------------- -// usage : QBJT_EB(name, pMODEL) -#define QBJT_EB(...) \ - NET_REGISTER_DEVEXT(QBJT_EB, __VA_ARGS__) - -// usage : QBJT_SW(name, pMODEL) -#define QBJT_SW(...) \ - NET_REGISTER_DEVEXT(QBJT_SW, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/analog/nld_mosfet.cpp -// --------------------------------------------------------------------- -// usage : MOSFET(name, pMODEL) -#define MOSFET(...) \ - NET_REGISTER_DEVEXT(MOSFET, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_system.cpp -// --------------------------------------------------------------------- -// usage : TTL_INPUT(name, pIN) -#define TTL_INPUT(...) \ - NET_REGISTER_DEVEXT(TTL_INPUT, __VA_ARGS__) - -// usage : LOGIC_INPUT(name, pIN, pMODEL) -#define LOGIC_INPUT(...) \ - NET_REGISTER_DEVEXT(LOGIC_INPUT, __VA_ARGS__) - -// usage : LOGIC_INPUT8(name, pIN, pMODEL) -#define LOGIC_INPUT8(...) \ - NET_REGISTER_DEVEXT(LOGIC_INPUT8, __VA_ARGS__) - -// usage : ANALOG_INPUT(name, pIN) -#define ANALOG_INPUT(...) \ - NET_REGISTER_DEVEXT(ANALOG_INPUT, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_log.cpp -// --------------------------------------------------------------------- -// usage : LOG(name, pI) -#define LOG(...) \ - NET_REGISTER_DEVEXT(LOG, __VA_ARGS__) - -// usage : LOGD(name, pI, pI2) -#define LOGD(...) \ - NET_REGISTER_DEVEXT(LOGD, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_system.cpp -// --------------------------------------------------------------------- -// usage : CLOCK(name, pFREQ) -#define CLOCK(...) \ - NET_REGISTER_DEVEXT(CLOCK, __VA_ARGS__) - -// usage : VARCLOCK(name, pN, pFUNC) -#define VARCLOCK(...) \ - NET_REGISTER_DEVEXT(VARCLOCK, __VA_ARGS__) - -// usage : EXTCLOCK(name, pFREQ, pPATTERN) -#define EXTCLOCK(...) \ - NET_REGISTER_DEVEXT(EXTCLOCK, __VA_ARGS__) - -// usage : MAINCLOCK(name, pFREQ) -#define MAINCLOCK(...) \ - NET_REGISTER_DEVEXT(MAINCLOCK, __VA_ARGS__) - -// usage : GNDA(name) -#define GNDA(...) \ - NET_REGISTER_DEVEXT(GNDA, __VA_ARGS__) - -// usage : PARAMETER(name) -#define PARAMETER(...) \ - NET_REGISTER_DEVEXT(PARAMETER, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/solver/nld_solver.cpp -// --------------------------------------------------------------------- -// usage : SOLVER(name, pFREQ) -#define SOLVER(...) \ - NET_REGISTER_DEVEXT(SOLVER, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_system.cpp -// --------------------------------------------------------------------- -// usage : SYS_DSW(name, pI, p1, p2) -#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, pSIGMA) -#define SYS_NOISE_MT_U(...) \ - NET_REGISTER_DEVEXT(SYS_NOISE_MT_U, __VA_ARGS__) - -// usage : SYS_NOISE_MT_N(name, pSIGMA) -#define SYS_NOISE_MT_N(...) \ - NET_REGISTER_DEVEXT(SYS_NOISE_MT_N, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/analog/nld_switches.cpp -// --------------------------------------------------------------------- -// usage : SWITCH(name) -#define SWITCH(...) \ - NET_REGISTER_DEVEXT(SWITCH, __VA_ARGS__) - -// usage : SWITCH2(name) -#define SWITCH2(...) \ - NET_REGISTER_DEVEXT(SWITCH2, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_legacy.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__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_2102A.cpp -// --------------------------------------------------------------------- -// usage : RAM_2102A(name, pCEQ, pA0, pA1, pA2, pA3, pA4, pA5, pA6, pA7, pA8, pA9, pRWQ, pDI) -// auto connect: VCC, GND -#define RAM_2102A(...) \ - NET_REGISTER_DEVEXT(RAM_2102A, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_roms.cpp -// --------------------------------------------------------------------- -// usage : EPROM_2716(name, pCE2Q, pCE1Q, pA0, pA1, pA2, pA3, pA4, pA5, pA6, pA7, pA8, pA9, pA10) -// auto connect: VCC, GND -#define EPROM_2716(...) \ - NET_REGISTER_DEVEXT(EPROM_2716, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_roms.cpp -// --------------------------------------------------------------------- -// usage : PROM_MK28000(name, pOE1, pOE2, pAR, pA0, pA1, pA2, pA3, pA4, pA5, pA6, pA7, pA8, pA9, pA10, pA11) -// auto connect: VCC, GND -#define PROM_MK28000(...) \ - NET_REGISTER_DEVEXT(PROM_MK28000, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_7448.cpp -// --------------------------------------------------------------------- -// usage : TTL_7448(name, pA, pB, pC, pD, pLTQ, pBIQ, pRBIQ) -// auto connect: VCC, GND -#define TTL_7448(...) \ - NET_REGISTER_DEVEXT(TTL_7448, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_7450.cpp -// --------------------------------------------------------------------- -// usage : TTL_7450_ANDORINVERT(name, pA, pB, pC, pD) -// auto connect: VCC, GND -#define TTL_7450_ANDORINVERT(...) \ - NET_REGISTER_DEVEXT(TTL_7450_ANDORINVERT, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_7473.cpp -// --------------------------------------------------------------------- -// usage : TTL_7473(name, pCLK, pJ, pK, pCLRQ) -// auto connect: VCC, GND -#define TTL_7473(...) \ - NET_REGISTER_DEVEXT(TTL_7473, __VA_ARGS__) - -// usage : TTL_7473A(name, pCLK, pJ, pK, pCLRQ) -// auto connect: VCC, GND -#define TTL_7473A(...) \ - NET_REGISTER_DEVEXT(TTL_7473A, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_7474.cpp -// --------------------------------------------------------------------- -// usage : TTL_7474(name, pCLK, pD, pCLRQ, pPREQ) -// auto connect: VCC, GND -#define TTL_7474(...) \ - NET_REGISTER_DEVEXT(TTL_7474, __VA_ARGS__) - -// usage : TTL_7474_DIP(name) -#define TTL_7474_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7474_DIP, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_7475.cpp -// --------------------------------------------------------------------- -// usage : TTL_7475(name) -#define TTL_7475(...) \ - NET_REGISTER_DEVEXT(TTL_7475, __VA_ARGS__) - -// usage : TTL_7477(name) -#define TTL_7477(...) \ - NET_REGISTER_DEVEXT(TTL_7477, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_7483.cpp -// --------------------------------------------------------------------- -// usage : TTL_7483(name, pA1, pA2, pA3, pA4, pB1, pB2, pB3, pB4, pC0) -// auto connect: VCC, GND -#define TTL_7483(...) \ - NET_REGISTER_DEVEXT(TTL_7483, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_7485.cpp -// --------------------------------------------------------------------- -// usage : TTL_7485(name, pA0, pA1, pA2, pA3, pB0, pB1, pB2, pB3, pLTIN, pEQIN, pGTIN) -// auto connect: VCC, GND -#define TTL_7485(...) \ - NET_REGISTER_DEVEXT(TTL_7485, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_7490.cpp -// --------------------------------------------------------------------- -// usage : TTL_7490(name, pA, pB, pR1, pR2, pR91, pR92) -// auto connect: VCC, GND -#define TTL_7490(...) \ - NET_REGISTER_DEVEXT(TTL_7490, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_7492.cpp -// --------------------------------------------------------------------- -// usage : TTL_7492(name, pA, pB, pR1, pR2) -// auto connect: VCC, GND -#define TTL_7492(...) \ - NET_REGISTER_DEVEXT(TTL_7492, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_7493.cpp -// --------------------------------------------------------------------- -// usage : TTL_7493(name, pCLKA, pCLKB, pR1, pR2) -// auto connect: VCC, GND -#define TTL_7493(...) \ - NET_REGISTER_DEVEXT(TTL_7493, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_7497.cpp -// --------------------------------------------------------------------- -// usage : TTL_7497(name, pCLK, pSTRBQ, pENQ, pUNITYQ, pCLR, pB0, pB1, pB2, pB3, pB4, pB5) -// auto connect: VCC, GND -#define TTL_7497(...) \ - NET_REGISTER_DEVEXT(TTL_7497, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74107.cpp -// --------------------------------------------------------------------- -// usage : TTL_74107(name, pCLK, pJ, pK, pCLRQ) -// auto connect: VCC, GND -#define TTL_74107(...) \ - NET_REGISTER_DEVEXT(TTL_74107, __VA_ARGS__) - -// usage : TTL_74107A(name, pCLK, pJ, pK, pCLRQ) -// auto connect: VCC, GND -#define TTL_74107A(...) \ - NET_REGISTER_DEVEXT(TTL_74107A, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74113.cpp -// --------------------------------------------------------------------- -// usage : TTL_74113(name, pCLK, pJ, pK, pCLRQ) -// auto connect: VCC, GND -#define TTL_74113(...) \ - NET_REGISTER_DEVEXT(TTL_74113, __VA_ARGS__) - -// usage : TTL_74113A(name, pCLK, pJ, pK, pCLRQ) -// auto connect: VCC, GND -#define TTL_74113A(...) \ - NET_REGISTER_DEVEXT(TTL_74113A, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74123.cpp -// --------------------------------------------------------------------- -// usage : TTL_74121(name) -#define TTL_74121(...) \ - NET_REGISTER_DEVEXT(TTL_74121, __VA_ARGS__) - -// usage : TTL_74123(name) -#define TTL_74123(...) \ - NET_REGISTER_DEVEXT(TTL_74123, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/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__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74153.cpp -// --------------------------------------------------------------------- -// usage : TTL_74153(name, pC0, pC1, pC2, pC3, pA, pB, pG) -// auto connect: VCC, GND -#define TTL_74153(...) \ - NET_REGISTER_DEVEXT(TTL_74153, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74161.cpp -// --------------------------------------------------------------------- -// usage : TTL_74161(name, pCLK, pENP, pENT, pCLRQ, pLOADQ, pA, pB, pC, pD) -// auto connect: VCC, GND -#define TTL_74161(...) \ - NET_REGISTER_DEVEXT(TTL_74161, __VA_ARGS__) - -// usage : TTL_74161_FIXME(name, pA, pB, pC, pD, pCLRQ, pLOADQ, pCLK, pENP, pENT) -// auto connect: VCC, GND -#define TTL_74161_FIXME(...) \ - NET_REGISTER_DEVEXT(TTL_74161_FIXME, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74163.cpp -// --------------------------------------------------------------------- -// usage : TTL_74163(name, pCLK, pENP, pENT, pCLRQ, pLOADQ, pA, pB, pC, pD) -// auto connect: VCC, GND -#define TTL_74163(...) \ - NET_REGISTER_DEVEXT(TTL_74163, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74164.cpp -// --------------------------------------------------------------------- -// usage : TTL_74164(name, pA, pB, pCLRQ, pCLK) -// auto connect: VCC, GND -#define TTL_74164(...) \ - NET_REGISTER_DEVEXT(TTL_74164, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74165.cpp -// --------------------------------------------------------------------- -// usage : TTL_74165(name, pCLK, pCLKINH, pSH_LDQ, pSER, pA, pB, pC, pD, pE, pF, pG, pH) -// auto connect: VCC, GND -#define TTL_74165(...) \ - NET_REGISTER_DEVEXT(TTL_74165, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74166.cpp -// --------------------------------------------------------------------- -// usage : TTL_74166(name, pCLK, pCLKINH, pSH_LDQ, pSER, pA, pB, pC, pD, pE, pF, pG, pH, pCLRQ) -// auto connect: VCC, GND -#define TTL_74166(...) \ - NET_REGISTER_DEVEXT(TTL_74166, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74174.cpp -// --------------------------------------------------------------------- -// usage : TTL_74174_GATE(name) -#define TTL_74174_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_74174, __VA_ARGS__) - -// usage : TTL_74174(name, pCLK, pD1, pD2, pD3, pD4, pD5, pD6, pCLRQ) -// auto connect: VCC, GND -#define TTL_74174(...) \ - NET_REGISTER_DEVEXT(TTL_74174, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74175.cpp -// --------------------------------------------------------------------- -// usage : TTL_74175(name, pCLK, pD1, pD2, pD3, pD4, pCLRQ) -// auto connect: VCC, GND -#define TTL_74175(...) \ - NET_REGISTER_DEVEXT(TTL_74175, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74192.cpp -// --------------------------------------------------------------------- -// usage : TTL_74192(name, pA, pB, pC, pD, pCLEAR, pLOADQ, pCU, pCD) -// auto connect: VCC, GND -#define TTL_74192(...) \ - NET_REGISTER_DEVEXT(TTL_74192, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74193.cpp -// --------------------------------------------------------------------- -// usage : TTL_74193(name, pA, pB, pC, pD, pCLEAR, pLOADQ, pCU, pCD) -// auto connect: VCC, GND -#define TTL_74193(...) \ - NET_REGISTER_DEVEXT(TTL_74193, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74194.cpp -// --------------------------------------------------------------------- -// usage : TTL_74194(name, pCLK, pS0, pS1, pSRIN, pA, pB, pC, pD, pSLIN, pCLRQ) -// auto connect: VCC, GND -#define TTL_74194(...) \ - NET_REGISTER_DEVEXT(TTL_74194, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74365.cpp -// --------------------------------------------------------------------- -// usage : TTL_74365(name, pG1Q, pG2Q, pA1, pA2, pA3, pA4, pA5, pA6) -// auto connect: VCC, GND -#define TTL_74365(...) \ - NET_REGISTER_DEVEXT(TTL_74365, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74377.cpp -// --------------------------------------------------------------------- -// usage : TTL_74377_GATE(name) -#define TTL_74377_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_74377_GATE, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74393.cpp -// --------------------------------------------------------------------- -// usage : TTL_74393(name, pCP, pMR) -// auto connect: VCC, GND -#define TTL_74393(...) \ - NET_REGISTER_DEVEXT(TTL_74393, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74ls629.cpp -// --------------------------------------------------------------------- -// usage : SN74LS629(name, pCAP) -#define SN74LS629(...) \ - NET_REGISTER_DEVEXT(SN74LS629, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_82S16.cpp -// --------------------------------------------------------------------- -// usage : TTL_82S16(name) -#define TTL_82S16(...) \ - NET_REGISTER_DEVEXT(TTL_82S16, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_82S115.cpp -// --------------------------------------------------------------------- -// usage : PROM_82S115(name, pCE1Q, pCE2, pA0, pA1, pA2, pA3, pA4, pA5, pA6, pA7, pA8, pSTROBE) -// auto connect: VCC, GND -#define PROM_82S115(...) \ - NET_REGISTER_DEVEXT(PROM_82S115, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_roms.cpp -// --------------------------------------------------------------------- -// usage : PROM_82S123(name, pCEQ, pA0, pA1, pA2, pA3, pA4) -// auto connect: VCC, GND -#define PROM_82S123(...) \ - NET_REGISTER_DEVEXT(PROM_82S123, __VA_ARGS__) - -// usage : PROM_82S126(name, pCE1Q, pCE2Q, pA0, pA1, pA2, pA3, pA4, pA5, pA6, pA7) -// auto connect: VCC, GND -#define PROM_82S126(...) \ - NET_REGISTER_DEVEXT(PROM_82S126, __VA_ARGS__) - -// usage : PROM_74S287(name, pCE1Q, pCE2Q, pA0, pA1, pA2, pA3, pA4, pA5, pA6, pA7) -// auto connect: VCC, GND -#define PROM_74S287(...) \ - NET_REGISTER_DEVEXT(PROM_74S287, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_9310.cpp -// --------------------------------------------------------------------- -// usage : TTL_9310(name, pCLK, pENP, pENT, pCLRQ, pLOADQ, pA, pB, pC, pD) -// auto connect: VCC, GND -#define TTL_9310(...) \ - NET_REGISTER_DEVEXT(TTL_9310, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_dm9314.cpp -// --------------------------------------------------------------------- -// usage : TTL_9314(name, pEQ, pMRQ, pS0Q, pS1Q, pS2Q, pS3Q, pD0, pD1, pD2, pD3) -// auto connect: VCC, GND -#define TTL_9314(...) \ - NET_REGISTER_DEVEXT(TTL_9314, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_9316.cpp -// --------------------------------------------------------------------- -// usage : TTL_9316(name, pCLK, pENP, pENT, pCLRQ, pLOADQ, pA, pB, pC, pD) -// auto connect: VCC, GND -#define TTL_9316(...) \ - NET_REGISTER_DEVEXT(TTL_9316, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_9321.cpp -// --------------------------------------------------------------------- -// usage: TTL_9321(name, cAE, cA0, cA1, cBE, cB0, cB1) -#define TTL_9321(...) \ - NET_REGISTER_DEVEXT(TTL_9321, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_9322.cpp -// --------------------------------------------------------------------- -// usage : TTL_9322(name, pSELECT, pA1, pB1, pA2, pB2, pA3, pB3, pA4, pB4, pSTROBE) -// auto connect: VCC, GND -#define TTL_9322(...) \ - NET_REGISTER_DEVEXT(TTL_9322, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_dm9334.cpp -// --------------------------------------------------------------------- -// usage : TTL_9334(name, pCQ, pEQ, pD, pA0, pA1, pA2) -// auto connect: VCC, GND -#define TTL_9334(...) \ - NET_REGISTER_DEVEXT(TTL_9334, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_am2847.cpp -// --------------------------------------------------------------------- -// usage : TTL_AM2847(name, pCP, pINA, pINB, pINC, pIND, pRCA, pRCB, pRCC, pRCD) -// auto connect: VSS, VDD -#define TTL_AM2847(...) \ - NET_REGISTER_DEVEXT(TTL_AM2847, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_4006.cpp -// --------------------------------------------------------------------- -// usage : CD4006(name, pCLOCK, pD1, pD2, pD3, pD4, pD1P4, pD1P4S, pD2P4, pD2P5, pD3P4, pD4P4, pD4P5) -// auto connect: VCC, GND -#define CD4006(...) \ - NET_REGISTER_DEVEXT(CD4006, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_4013.cpp -// --------------------------------------------------------------------- -// usage : CD4013(name) -#define CD4013(...) \ - NET_REGISTER_DEVEXT(CD4013, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_4017.cpp -// --------------------------------------------------------------------- -// usage : CD4017(name) -#define CD4017(...) \ - NET_REGISTER_DEVEXT(CD4017, __VA_ARGS__) - -// usage : CD4022(name) -#define CD4022(...) \ - NET_REGISTER_DEVEXT(CD4022, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_4020.cpp -// --------------------------------------------------------------------- -// usage : CD4020_WI(name, pIP, pRESET, pVDD, pVSS) -#define CD4020_WI(...) \ - NET_REGISTER_DEVEXT(CD4020_WI, __VA_ARGS__) - -// usage : CD4020(name) -#define CD4020(...) \ - NET_REGISTER_DEVEXT(CD4020, __VA_ARGS__) - -// usage : CD4024(name) -#define CD4024(...) \ - NET_REGISTER_DEVEXT(CD4024, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_4053.cpp -// --------------------------------------------------------------------- -// usage : CD4053_GATE(name) -#define CD4053_GATE(...) \ - NET_REGISTER_DEVEXT(CD4053_GATE, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_4066.cpp -// --------------------------------------------------------------------- -// usage : CD4066_GATE(name) -#define CD4066_GATE(...) \ - NET_REGISTER_DEVEXT(CD4066_GATE, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_4316.cpp -// --------------------------------------------------------------------- -// usage : CD4316_GATE(name) -#define CD4316_GATE(...) \ - NET_REGISTER_DEVEXT(CD4316_GATE, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74123.cpp -// --------------------------------------------------------------------- -// usage : CD4538(name) -#define CD4538(...) \ - NET_REGISTER_DEVEXT(CD4538, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_8277.cpp -// --------------------------------------------------------------------- -// usage : TTL_8277(name, pRESET, pCLK, pCLKA, pD0A, pD1A, pDSA, pCLKB, pD0B, pD1B, pDSB) -// auto connect: VCC, GND -#define TTL_8277(...) \ - NET_REGISTER_DEVEXT(TTL_8277, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_schmitt.cpp -// --------------------------------------------------------------------- -// usage : SCHMITT_TRIGGER(name, pSTMODEL) -#define SCHMITT_TRIGGER(...) \ - NET_REGISTER_DEVEXT(SCHMITT_TRIGGER, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_ne555.cpp -// --------------------------------------------------------------------- -// usage : NE555(name) -#define NE555(...) \ - NET_REGISTER_DEVEXT(NE555, __VA_ARGS__) - -// usage : NE555_DIP(name) -#define NE555_DIP(...) \ - NET_REGISTER_DEVEXT(NE555_DIP, __VA_ARGS__) - -// usage : MC1455P(name) -#define MC1455P(...) \ - NET_REGISTER_DEVEXT(MC1455P, __VA_ARGS__) - -// usage : MC1455P_DIP(name) -#define MC1455P_DIP(...) \ - NET_REGISTER_DEVEXT(MC1455P_DIP, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_tms4800.cpp -// --------------------------------------------------------------------- -// usage : ROM_TMS4800(name, pAR, pOE1, pOE2, pA0, pA1, pA2, pA3, pA4, pA5, pA6, pA7, pA8, pA9, pA10) -// auto connect: VCC, GND -#define ROM_TMS4800(...) \ - NET_REGISTER_DEVEXT(ROM_TMS4800, __VA_ARGS__) - -// usage : ROM_TMS4800_DIP(name) -#define ROM_TMS4800_DIP(...) \ - NET_REGISTER_DEVEXT(ROM_TMS4800_DIP, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_r2r_dac.cpp -// --------------------------------------------------------------------- -// usage : R2R_DAC(name, pVIN, pR, pN) -#define R2R_DAC(...) \ - NET_REGISTER_DEVEXT(R2R_DAC, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_tristate.cpp -// --------------------------------------------------------------------- -// usage : TTL_TRISTATE(name, pCEQ1, pD1, pCEQ2, pD2) -#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: src/lib/netlist/devices/nld_74175.cpp -// --------------------------------------------------------------------- -// usage : TTL_74175_DIP(name) -#define TTL_74175_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74175_DIP, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74192.cpp -// --------------------------------------------------------------------- -// usage : TTL_74192_DIP(name) -#define TTL_74192_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74192_DIP, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74193.cpp -// --------------------------------------------------------------------- -// usage : TTL_74193_DIP(name) -#define TTL_74193_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74193_DIP, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74194.cpp -// --------------------------------------------------------------------- -// usage : TTL_74194_DIP(name) -#define TTL_74194_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74194_DIP, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74365.cpp -// --------------------------------------------------------------------- -// usage : TTL_74365_DIP(name) -#define TTL_74365_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74365_DIP, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_74123.cpp -// --------------------------------------------------------------------- -// usage : TTL_9602(name) -#define TTL_9602(...) \ - NET_REGISTER_DEVEXT(TTL_9602, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_dm9314.cpp -// --------------------------------------------------------------------- -// usage : TTL_9314_DIP(name) -#define TTL_9314_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_9314_DIP, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_dm9334.cpp -// --------------------------------------------------------------------- -// usage : TTL_9334_DIP(name) -#define TTL_9334_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_9334_DIP, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_am2847.cpp -// --------------------------------------------------------------------- -// usage : TTL_AM2847_DIP(name) -#define TTL_AM2847_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_AM2847_DIP, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_8277.cpp -// --------------------------------------------------------------------- -// usage : TTL_8277_DIP(name) -#define TTL_8277_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_8277_DIP, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: src/lib/netlist/devices/nld_mm5837.cpp -// --------------------------------------------------------------------- -// usage : MM5837_DIP(name) -#define MM5837_DIP(...) \ - NET_REGISTER_DEVEXT(MM5837_DIP, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: TTL74XX_lib -// --------------------------------------------------------------------- -// usage : TTL_7400_GATE(name) -#define TTL_7400_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7400_GATE, __VA_ARGS__) - -// usage : TTL_7400_NAND(name, pA, pB) -// auto connect: VCC, GND -#define TTL_7400_NAND(...) \ - NET_REGISTER_DEVEXT(TTL_7400_NAND, __VA_ARGS__) - -// usage : TTL_7402_GATE(name) -#define TTL_7402_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7402_GATE, __VA_ARGS__) - -// usage : TTL_7402_NOR(name, pA, pB) -// auto connect: VCC, GND -#define TTL_7402_NOR(...) \ - NET_REGISTER_DEVEXT(TTL_7402_NOR, __VA_ARGS__) - -// usage : TTL_7404_GATE(name) -#define TTL_7404_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7404_GATE, __VA_ARGS__) - -// usage : TTL_7404_INVERT(name, pA) -// auto connect: VCC, GND -#define TTL_7404_INVERT(...) \ - NET_REGISTER_DEVEXT(TTL_7404_INVERT, __VA_ARGS__) - -// usage : TTL_7406_GATE(name) -#define TTL_7406_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7406_GATE, __VA_ARGS__) - -// usage : TTL_7407_GATE(name) -#define TTL_7407_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7407_GATE, __VA_ARGS__) - -// usage : TTL_7408_GATE(name) -#define TTL_7408_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7408_GATE, __VA_ARGS__) - -// usage : TTL_7408_AND(name, pA, pB) -// auto connect: VCC, GND -#define TTL_7408_AND(...) \ - NET_REGISTER_DEVEXT(TTL_7408_AND, __VA_ARGS__) - -// usage : TTL_7410_NAND(name, pA, pB, pC) -// auto connect: VCC, GND -#define TTL_7410_NAND(...) \ - NET_REGISTER_DEVEXT(TTL_7410_NAND, __VA_ARGS__) - -// usage : TTL_7410_GATE(name) -#define TTL_7410_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7410_GATE, __VA_ARGS__) - -// usage : TTL_7411_AND(name, pA, pB, pC) -// auto connect: VCC, GND -#define TTL_7411_AND(...) \ - NET_REGISTER_DEVEXT(TTL_7411_AND, __VA_ARGS__) - -// usage : TTL_7411_GATE(name) -#define TTL_7411_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7411_GATE, __VA_ARGS__) - -// usage : TTL_7416_GATE(name) -#define TTL_7416_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7416_GATE, __VA_ARGS__) - -// usage : TTL_7420_GATE(name) -#define TTL_7420_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7420_GATE, __VA_ARGS__) - -// usage : TTL_7420_NAND(name, pA, pB, pC, pD) -// auto connect: VCC, GND -#define TTL_7420_NAND(...) \ - NET_REGISTER_DEVEXT(TTL_7420_NAND, __VA_ARGS__) - -// usage : TTL_7421_GATE(name) -#define TTL_7421_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7421_GATE, __VA_ARGS__) - -// usage : TTL_7421_AND(name, pA, pB, pC, pD) -// auto connect: VCC, GND -#define TTL_7421_AND(...) \ - NET_REGISTER_DEVEXT(TTL_7421_AND, __VA_ARGS__) - -// usage : TTL_7425_GATE(name) -#define TTL_7425_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7425_GATE, __VA_ARGS__) - -// usage : TTL_7425_NOR(name, pA, pB, pC, pD) -// auto connect: VCC, GND -#define TTL_7425_NOR(...) \ - NET_REGISTER_DEVEXT(TTL_7425_NOR, __VA_ARGS__) - -// usage : TTL_7427_GATE(name) -#define TTL_7427_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7427_GATE, __VA_ARGS__) - -// usage : TTL_7427_NOR(name, pA, pB, pC) -// auto connect: VCC, GND -#define TTL_7427_NOR(...) \ - NET_REGISTER_DEVEXT(TTL_7427_NOR, __VA_ARGS__) - -// usage : TTL_7430_GATE(name) -#define TTL_7430_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7430_GATE, __VA_ARGS__) - -// usage : TTL_7430_NAND(name, pA, pB, pC, pD, pE, pF, pG, pH) -// auto connect: VCC, GND -#define TTL_7430_NAND(...) \ - NET_REGISTER_DEVEXT(TTL_7430_NAND, __VA_ARGS__) - -// usage : TTL_7432_GATE(name) -#define TTL_7432_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7432_GATE, __VA_ARGS__) - -// usage : TTL_7432_OR(name, pA, pB) -// auto connect: VCC, GND -#define TTL_7432_OR(...) \ - NET_REGISTER_DEVEXT(TTL_7432_OR, __VA_ARGS__) - -// usage : TTL_7437_GATE(name) -#define TTL_7437_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7437_GATE, __VA_ARGS__) - -// usage : TTL_7437_NAND(name, pA, pB) -#define TTL_7437_NAND(...) \ - NET_REGISTER_DEVEXT(TTL_7437_NAND, __VA_ARGS__) - -// usage : TTL_7448_DIP(name) -#define TTL_7448_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7448_DIP, __VA_ARGS__) - -// usage : TTL_7450_DIP(name) -#define TTL_7450_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7450_DIP, __VA_ARGS__) - -// usage : TTL_7473_DIP(name) -#define TTL_7473_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7473_DIP, __VA_ARGS__) - -// usage : TTL_7473A_DIP(name) -#define TTL_7473A_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7473A_DIP, __VA_ARGS__) - -// usage : TTL_7475_DIP(name) -#define TTL_7475_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7475_DIP, __VA_ARGS__) - -// usage : TTL_7477_DIP(name) -#define TTL_7477_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7477_DIP, __VA_ARGS__) - -// usage : TTL_7483_DIP(name) -#define TTL_7483_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7483_DIP, __VA_ARGS__) - -// usage : TTL_7485_DIP(name) -#define TTL_7485_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7485_DIP, __VA_ARGS__) - -// usage : TTL_7486_GATE(name) -#define TTL_7486_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7486_GATE, __VA_ARGS__) - -// usage : TTL_7486_XOR(name, pA, pB) -// auto connect: VCC, GND -#define TTL_7486_XOR(...) \ - NET_REGISTER_DEVEXT(TTL_7486_XOR, __VA_ARGS__) - -// usage : TTL_7490_DIP(name) -#define TTL_7490_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7490_DIP, __VA_ARGS__) - -// usage : TTL_7492_DIP(name) -#define TTL_7492_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7492_DIP, __VA_ARGS__) - -// usage : TTL_7493_DIP(name) -#define TTL_7493_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7493_DIP, __VA_ARGS__) - -// usage : TTL_7497_DIP(name) -#define TTL_7497_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7497_DIP, __VA_ARGS__) - -// usage : TTL_74107_DIP(name) -#define TTL_74107_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74107_DIP, __VA_ARGS__) - -// usage : TTL_74107_DIP(name) -#define TTL_74107A_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74107A_DIP, __VA_ARGS__) - -// usage : TTL_74113_DIP(name) -#define TTL_74113_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74113_DIP, __VA_ARGS__) - -// usage : TTL_74113A_DIP(name) -#define TTL_74113A_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74113A_DIP, __VA_ARGS__) - -// usage : TTL_74139_GATE(name) -#define TTL_74139_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_74139_GATE, __VA_ARGS__) - -// usage : TTL_74155A_GATE(name) -#define TTL_74155A_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_74155A_GATE, __VA_ARGS__) - -// usage : TTL_74155B_GATE(name) -#define TTL_74155B_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_74155B_GATE, __VA_ARGS__) - -// usage : TTL_74156A_GATE(name) -#define TTL_74156A_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_74156A_GATE, __VA_ARGS__) - -// usage : TTL_74156B_GATE(name) -#define TTL_74156B_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_74156B_GATE, __VA_ARGS__) - -// usage : TTL_74157_GATE(name) -#define TTL_74157_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_74157_GATE, __VA_ARGS__) - -// usage : TTL_74161_DIP(name) -#define TTL_74161_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74161_DIP, __VA_ARGS__) - -// usage : TTL_74163_DIP(name) -#define TTL_74163_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74163_DIP, __VA_ARGS__) - -// usage : TTL_74164_DIP(name) -#define TTL_74164_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74164_DIP, __VA_ARGS__) - -// usage : TTL_74165_DIP(name) -#define TTL_74165_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74165_DIP, __VA_ARGS__) - -// usage : TTL_74165_DIP(name) -#define TTL_74166_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74166_DIP, __VA_ARGS__) - -// usage : TTL_74174_DIP(name) -#define TTL_74174_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74174_DIP, __VA_ARGS__) - -// usage : TTL_74260_GATE(name) -#define TTL_74260_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_74260_GATE, __VA_ARGS__) - -// usage : TTL_74260_NOR(name, pA, pB, pC, pD, pE) -// auto connect: VCC, GND -#define TTL_74260_NOR(...) \ - NET_REGISTER_DEVEXT(TTL_74260_NOR, __VA_ARGS__) - -// usage : TTL_74279A(name) -#define TTL_74279A(...) \ - NET_REGISTER_DEVEXT(TTL_74279A, __VA_ARGS__) - -// usage : TTL_74279B(name) -#define TTL_74279B(...) \ - NET_REGISTER_DEVEXT(TTL_74279B, __VA_ARGS__) - -// usage : TTL_9312(name, pA, pB, pC, pG, pD0, pD1, pD2, pD3, pD4, pD5, pD6, pD7) -// auto connect: VCC, GND -#define TTL_9312(...) \ - NET_REGISTER_DEVEXT(TTL_9312, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: parser: TTL74XX_lib -// --------------------------------------------------------------------- -// usage : TTL_7400_DIP(name) -#define TTL_7400_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7400_DIP, __VA_ARGS__) - -// usage : TTL_7402_DIP(name) -#define TTL_7402_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7402_DIP, __VA_ARGS__) - -// usage : TTL_7404_DIP(name) -#define TTL_7404_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7404_DIP, __VA_ARGS__) - -// usage : TTL_7406_DIP(name) -#define TTL_7406_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7406_DIP, __VA_ARGS__) - -// usage : TTL_7407_DIP(name) -#define TTL_7407_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7407_DIP, __VA_ARGS__) - -// usage : TTL_7408_DIP(name) -#define TTL_7408_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7408_DIP, __VA_ARGS__) - -// usage : TTL_7410_DIP(name) -#define TTL_7410_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7410_DIP, __VA_ARGS__) - -// usage : TTL_7411_DIP(name) -#define TTL_7411_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7411_DIP, __VA_ARGS__) - -// usage : TTL_7414_GATE(name) -#define TTL_7414_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_7414_GATE, __VA_ARGS__) - -// usage : TTL_74LS14_GATE(name) -#define TTL_74LS14_GATE(...) \ - NET_REGISTER_DEVEXT(TTL_74LS14_GATE, __VA_ARGS__) - -// usage : TTL_7414_DIP(name) -#define TTL_7414_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7414_DIP, __VA_ARGS__) - -// usage : TTL_74LS14_DIP(name) -#define TTL_74LS14_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74LS14_DIP, __VA_ARGS__) - -// usage : TTL_7416_DIP(name) -#define TTL_7416_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7416_DIP, __VA_ARGS__) - -// usage : TTL_7420_DIP(name) -#define TTL_7420_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7420_DIP, __VA_ARGS__) - -// usage : TTL_7421_DIP(name) -#define TTL_7421_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7421_DIP, __VA_ARGS__) - -// usage : TTL_7425_DIP(name) -#define TTL_7425_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7425_DIP, __VA_ARGS__) - -// usage : TTL_7427_DIP(name) -#define TTL_7427_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7427_DIP, __VA_ARGS__) - -// usage : TTL_7430_DIP(name) -#define TTL_7430_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7430_DIP, __VA_ARGS__) - -// usage : TTL_7432_DIP(name) -#define TTL_7432_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7432_DIP, __VA_ARGS__) - -// usage : TTL_7437_DIP(name) -#define TTL_7437_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7437_DIP, __VA_ARGS__) - -// usage : TTL_7442(name, cA, cB, cC, cD) -#define TTL_7442(...) \ - NET_REGISTER_DEVEXT(TTL_7442, __VA_ARGS__) - -// usage : TTL_7442_DIP(name) -#define TTL_7442_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7442_DIP, __VA_ARGS__) - -// usage : TTL_7486_DIP(name) -#define TTL_7486_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_7486_DIP, __VA_ARGS__) - -// usage : TTL_74121_DIP(name) -#define TTL_74121_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74121_DIP, __VA_ARGS__) - -// usage : TTL_74123_DIP(name) -#define TTL_74123_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74123_DIP, __VA_ARGS__) - -// usage : TTL_9602_DIP(name) -#define TTL_9602_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_9602_DIP, __VA_ARGS__) - -// usage : TTL_74125_DIP(name) -#define TTL_74125_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74125_DIP, __VA_ARGS__) - -// usage : TTL_74126_DIP(name) -#define TTL_74126_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74126_DIP, __VA_ARGS__) - -// usage : TTL_74139_DIP(name) -#define TTL_74139_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74139_DIP, __VA_ARGS__) - -// usage : TTL_74153_DIP(name) -#define TTL_74153_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74153_DIP, __VA_ARGS__) - -// usage : TTL_74155_DIP(name) -#define TTL_74155_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74155_DIP, __VA_ARGS__) - -// usage : TTL_74156_DIP(name) -#define TTL_74156_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74156_DIP, __VA_ARGS__) - -// usage : TTL_74157_DIP(name) -#define TTL_74157_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74157_DIP, __VA_ARGS__) - -// usage : TTL_74260_DIP(name) -#define TTL_74260_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74260_DIP, __VA_ARGS__) - -// usage : TTL_74279_DIP(name) -#define TTL_74279_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74279_DIP, __VA_ARGS__) - -// usage : TTL_74377_DIP(name) -#define TTL_74377_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74377_DIP, __VA_ARGS__) - -// usage : TTL_74378_DIP(name) -#define TTL_74378_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74378_DIP, __VA_ARGS__) - -// usage : TTL_74379_DIP(name) -#define TTL_74379_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74379_DIP, __VA_ARGS__) - -// usage : TTL_74393_DIP(name) -#define TTL_74393_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74393_DIP, __VA_ARGS__) - -// usage : SN74LS629_DIP(name, p1_CAP1, p2_CAP2) -#define SN74LS629_DIP(...) \ - NET_REGISTER_DEVEXT(SN74LS629_DIP, __VA_ARGS__) - -// usage : TTL_9312_DIP(name) -#define TTL_9312_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_9312_DIP, __VA_ARGS__) - -// usage : TTL_9310_DIP(name) -#define TTL_9310_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_9310_DIP, __VA_ARGS__) - -// usage : TTL_9316_DIP(name) -#define TTL_9316_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_9316_DIP, __VA_ARGS__) - -// usage : TTL_9321_DIP(name) -#define TTL_9321_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_9321_DIP, __VA_ARGS__) - -// usage : TTL_9322_DIP(name) -#define TTL_9322_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_9322_DIP, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: CD4XXX_lib -// --------------------------------------------------------------------- -// 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__) - -// --------------------------------------------------------------------- -// Source: parser: CD4XXX_lib -// --------------------------------------------------------------------- -// usage : CD4001_DIP(name) -#define CD4001_DIP(...) \ - NET_REGISTER_DEVEXT(CD4001_DIP, __VA_ARGS__) - -// usage : CD4006_DIP(name) -#define CD4006_DIP(...) \ - NET_REGISTER_DEVEXT(CD4006_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 : 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__) - -// --------------------------------------------------------------------- -// Source: parser: OPAMP_lib -// --------------------------------------------------------------------- -// 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__) - -// --------------------------------------------------------------------- -// Source: otheric_lib -// --------------------------------------------------------------------- -// usage : MC14584B_GATE(name) -#define MC14584B_GATE(...) \ - NET_REGISTER_DEVEXT(MC14584B_GATE, __VA_ARGS__) - -// --------------------------------------------------------------------- -// Source: parser: otheric_lib -// --------------------------------------------------------------------- -// 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__) - -// --------------------------------------------------------------------- -// Source: parser: ROMS_lib -// --------------------------------------------------------------------- -// 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 : PROM_MK28000_DIP(name) -#define PROM_MK28000_DIP(...) \ - NET_REGISTER_DEVEXT(PROM_MK28000_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 : RAM_2102A_DIP(name) -#define RAM_2102A_DIP(...) \ - NET_REGISTER_DEVEXT(RAM_2102A_DIP, __VA_ARGS__) - - -#endif // __PLIB_PREPROCESSOR__ -#endif diff --git a/src/lib/netlist/examples/lostfound.cpp b/src/lib/netlist/examples/lostfound.cpp index f22ebb64646..38c9376d1b6 100644 --- a/src/lib/netlist/examples/lostfound.cpp +++ b/src/lib/netlist/examples/lostfound.cpp @@ -211,5 +211,5 @@ private: nld_power_pins m_supply; }; - NETLIB_DEVICE_IMPL(CD4066_GATE_DYNAMIC, "CD4066_GATE_DYNAMIC", "") +// NETLIB_DEVICE_IMPL(CD4066_GATE_DYNAMIC, "CD4066_GATE_DYNAMIC", "") diff --git a/src/lib/netlist/generated/nld_devinc.h b/src/lib/netlist/generated/nld_devinc.h new file mode 100644 index 00000000000..20fb74f8bb1 --- /dev/null +++ b/src/lib/netlist/generated/nld_devinc.h @@ -0,0 +1,1106 @@ +// --------------------------------------------------------------------- +// Source: ../solver/nld_solver.cpp +// --------------------------------------------------------------------- +// usage : SOLVER(name, FREQ) +#define SOLVER(...) \ + NET_REGISTER_DEVEXT(SOLVER, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../analog/nld_bjt.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__) +// --------------------------------------------------------------------- +// Source: ../analog/nld_mosfet.cpp +// --------------------------------------------------------------------- +// usage : MOSFET(name, MODEL) +#define MOSFET(...) \ + NET_REGISTER_DEVEXT(MOSFET, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../analog/nlid_fourterm.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__) +// --------------------------------------------------------------------- +// Source: ../analog/nld_switches.cpp +// --------------------------------------------------------------------- +// usage : SWITCH(name, ) +#define SWITCH(...) \ + NET_REGISTER_DEVEXT(SWITCH, __VA_ARGS__) +// usage : SWITCH2(name, ) +#define SWITCH2(...) \ + NET_REGISTER_DEVEXT(SWITCH2, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../analog/nlid_twoterm.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__) +// --------------------------------------------------------------------- +// Source: ../analog/nld_opamps.cpp +// --------------------------------------------------------------------- +// usage : OPAMP(name, MODEL) +#define OPAMP(...) \ + NET_REGISTER_DEVEXT(OPAMP, __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_tms4800.cpp +// --------------------------------------------------------------------- +// usage : ROM_TMS4800(name, AR, OE1, OE2, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) +// auto connect: VCC, GND +#define ROM_TMS4800(...) \ + NET_REGISTER_DEVEXT(ROM_TMS4800, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_4006.cpp +// --------------------------------------------------------------------- +// usage : CD4006(name, CLOCK, D1, D2, D3, D4, D1P4, D1P4S, D2P4, D2P5, D3P4, D4P4, D4P5) +// auto connect: VCC, GND +#define CD4006(...) \ + NET_REGISTER_DEVEXT(CD4006, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_4013.cpp +// --------------------------------------------------------------------- +// usage : CD4013(name, CLOCK, DATA, RESET, SET) +// auto connect: VDD, VSS +#define CD4013(...) \ + NET_REGISTER_DEVEXT(CD4013, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_4017.cpp +// --------------------------------------------------------------------- +// 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_4020.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__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_4053.cpp +// --------------------------------------------------------------------- +// usage : CD4053_GATE(name, ) +#define CD4053_GATE(...) \ + NET_REGISTER_DEVEXT(CD4053_GATE, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_4066.cpp +// --------------------------------------------------------------------- +// usage : CD4066_GATE(name, ) +#define CD4066_GATE(...) \ + NET_REGISTER_DEVEXT(CD4066_GATE, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_4316.cpp +// --------------------------------------------------------------------- +// usage : CD4316_GATE(name, ) +#define CD4316_GATE(...) \ + NET_REGISTER_DEVEXT(CD4316_GATE, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_7448.cpp +// --------------------------------------------------------------------- +// usage : TTL_7448(name, A, B, C, D, LTQ, BIQ, RBIQ) +// auto connect: VCC, GND +#define TTL_7448(...) \ + NET_REGISTER_DEVEXT(TTL_7448, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_7450.cpp +// --------------------------------------------------------------------- +// usage : TTL_7450_ANDORINVERT(name, A, B, C, D) +// auto connect: VCC, GND +#define TTL_7450_ANDORINVERT(...) \ + NET_REGISTER_DEVEXT(TTL_7450_ANDORINVERT, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_7473.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) +// auto connect: VCC, GND +#define TTL_7473A(...) \ + NET_REGISTER_DEVEXT(TTL_7473A, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_7474.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) +// auto connect: VCC, GND +#define TTL_74107(...) \ + NET_REGISTER_DEVEXT(TTL_74107, __VA_ARGS__) +// usage : TTL_74107A(name, CLK, J, K, CLRQ) +// auto connect: VCC, GND +#define TTL_74107A(...) \ + NET_REGISTER_DEVEXT(TTL_74107A, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_74113.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) +// 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__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_74153.cpp +// --------------------------------------------------------------------- +// usage : TTL_74153(name, C0, C1, C2, C3, A, B, G) +// auto connect: VCC, GND +#define TTL_74153(...) \ + NET_REGISTER_DEVEXT(TTL_74153, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_74161.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) +// auto connect: VCC, GND +#define TTL_74161_FIXME(...) \ + NET_REGISTER_DEVEXT(TTL_74161_FIXME, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_74163.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__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_74164.cpp +// --------------------------------------------------------------------- +// usage : TTL_74164(name, A, B, CLRQ, CLK) +// auto connect: VCC, GND +#define TTL_74164(...) \ + NET_REGISTER_DEVEXT(TTL_74164, __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_74166.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__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_74174.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__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_74175.cpp +// --------------------------------------------------------------------- +// usage : TTL_74175(name, CLK, D1, D2, D3, D4, CLRQ) +// auto connect: VCC, GND +#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 +// --------------------------------------------------------------------- +// 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__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_74365.cpp +// --------------------------------------------------------------------- +// usage : TTL_74365(name, G1Q, G2Q, A1, A2, A3, A4, A5, A6) +// auto connect: VCC, GND +#define TTL_74365(...) \ + NET_REGISTER_DEVEXT(TTL_74365, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_74377.cpp +// --------------------------------------------------------------------- +// usage : TTL_74377_GATE(name, ) +#define TTL_74377_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_74377_GATE, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_74393.cpp +// --------------------------------------------------------------------- +// usage : TTL_74393(name, CP, MR) +// auto connect: VCC, GND +#define TTL_74393(...) \ + NET_REGISTER_DEVEXT(TTL_74393, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_74ls629.cpp +// --------------------------------------------------------------------- +// usage : SN74LS629(name, CAP) +// auto connect: VCC, GND +#define SN74LS629(...) \ + NET_REGISTER_DEVEXT(SN74LS629, __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_82S16.cpp +// --------------------------------------------------------------------- +// usage : TTL_82S16(name, ) +#define TTL_82S16(...) \ + NET_REGISTER_DEVEXT(TTL_82S16, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_82S115.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__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_9310.cpp +// --------------------------------------------------------------------- +// usage : TTL_9310(name, CLK, ENP, ENT, CLRQ, LOADQ, A, B, C, D) +// auto connect: VCC, GND +#define TTL_9310(...) \ + NET_REGISTER_DEVEXT(TTL_9310, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_9316.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__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_9321.cpp +// --------------------------------------------------------------------- +// usage : TTL_9321(name, E, A0, A1) +#define TTL_9321(...) \ + NET_REGISTER_DEVEXT(TTL_9321, __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_am2847.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__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_dm9314.cpp +// --------------------------------------------------------------------- +// usage : TTL_9314(name, EQ, MRQ, S0Q, S1Q, S2Q, S3Q, D0, D1, D2, D3) +// auto connect: VCC, GND +#define TTL_9314(...) \ + NET_REGISTER_DEVEXT(TTL_9314, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_dm9334.cpp +// --------------------------------------------------------------------- +// 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: ../devices/nld_mm5837.cpp +// --------------------------------------------------------------------- +// usage : MM5837(name, ) +#define MM5837(...) \ + NET_REGISTER_DEVEXT(MM5837, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_ne555.cpp +// --------------------------------------------------------------------- +// usage : NE555(name, ) +#define NE555(...) \ + NET_REGISTER_DEVEXT(NE555, __VA_ARGS__) +// usage : MC1455P(name, ) +#define MC1455P(...) \ + NET_REGISTER_DEVEXT(MC1455P, __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_roms.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) +// 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_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__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_schmitt.cpp +// --------------------------------------------------------------------- +// usage : SCHMITT_TRIGGER(name, STMODEL) +#define SCHMITT_TRIGGER(...) \ + NET_REGISTER_DEVEXT(SCHMITT_TRIGGER, __VA_ARGS__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_legacy.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__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_log.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__) +// --------------------------------------------------------------------- +// Source: ../devices/nld_system.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__) +// --------------------------------------------------------------------- +// 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_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: ../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_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_ttl74xx_lib.cpp +// --------------------------------------------------------------------- +// usage : TTL_7400_NAND(name, A, B) +// auto connect: VCC, GND +#define TTL_7400_NAND(...) \ + NET_REGISTER_DEVEXT(TTL_7400_NAND, __VA_ARGS__) +// usage : TTL_7402_NOR(name, A, B) +// auto connect: VCC, GND +#define TTL_7402_NOR(...) \ + NET_REGISTER_DEVEXT(TTL_7402_NOR, __VA_ARGS__) +// usage : TTL_7404_INVERT(name, A) +// auto connect: VCC, GND +#define TTL_7404_INVERT(...) \ + NET_REGISTER_DEVEXT(TTL_7404_INVERT, __VA_ARGS__) +// usage : TTL_7406_GATE(name, ) +#define TTL_7406_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_7406_GATE, __VA_ARGS__) +// usage : TTL_7407_GATE(name, ) +#define TTL_7407_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_7407_GATE, __VA_ARGS__) +// usage : TTL_7408_GATE(name, ) +#define TTL_7408_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_7408_GATE, __VA_ARGS__) +// usage : TTL_7408_AND(name, A, B) +// auto connect: VCC, GND +#define TTL_7408_AND(...) \ + NET_REGISTER_DEVEXT(TTL_7408_AND, __VA_ARGS__) +// usage : TTL_7410_NAND(name, A, B, C) +// auto connect: VCC, GND +#define TTL_7410_NAND(...) \ + NET_REGISTER_DEVEXT(TTL_7410_NAND, __VA_ARGS__) +// usage : TTL_7410_GATE(name, ) +#define TTL_7410_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_7410_GATE, __VA_ARGS__) +// usage : TTL_7411_AND(name, A, B, C) +// auto connect: VCC, GND +#define TTL_7411_AND(...) \ + NET_REGISTER_DEVEXT(TTL_7411_AND, __VA_ARGS__) +// usage : TTL_7411_GATE(name, ) +#define TTL_7411_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_7411_GATE, __VA_ARGS__) +// usage : TTL_7416_GATE(name, ) +#define TTL_7416_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_7416_GATE, __VA_ARGS__) +// usage : TTL_7420_NAND(name, A, B, C, D) +// auto connect: VCC, GND +#define TTL_7420_NAND(...) \ + NET_REGISTER_DEVEXT(TTL_7420_NAND, __VA_ARGS__) +// usage : TTL_7421_AND(name, A, B, C, D) +// auto connect: VCC, GND +#define TTL_7421_AND(...) \ + NET_REGISTER_DEVEXT(TTL_7421_AND, __VA_ARGS__) +// usage : TTL_7425_NOR(name, A, B, C, D) +// auto connect: VCC, GND +#define TTL_7425_NOR(...) \ + NET_REGISTER_DEVEXT(TTL_7425_NOR, __VA_ARGS__) +// usage : TTL_7427_NOR(name, A, B, C) +// auto connect: VCC, GND +#define TTL_7427_NOR(...) \ + NET_REGISTER_DEVEXT(TTL_7427_NOR, __VA_ARGS__) +// usage : TTL_7430_NAND(name, A, B, C, D, E, F, G, H) +// auto connect: VCC, GND +#define TTL_7430_NAND(...) \ + NET_REGISTER_DEVEXT(TTL_7430_NAND, __VA_ARGS__) +// usage : TTL_7432_OR(name, A, B) +// auto connect: VCC, GND +#define TTL_7432_OR(...) \ + NET_REGISTER_DEVEXT(TTL_7432_OR, __VA_ARGS__) +// usage : TTL_7442(name, ) +#define TTL_7442(...) \ + NET_REGISTER_DEVEXT(TTL_7442, __VA_ARGS__) +// usage : TTL_7437_NAND(name, A, B) +#define TTL_7437_NAND(...) \ + NET_REGISTER_DEVEXT(TTL_7437_NAND, __VA_ARGS__) +// usage : TTL_7486_XOR(name, A, B) +// auto connect: VCC, GND +#define TTL_7486_XOR(...) \ + NET_REGISTER_DEVEXT(TTL_7486_XOR, __VA_ARGS__) +// usage : TTL_74139_GATE(name, ) +#define TTL_74139_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_74139_GATE, __VA_ARGS__) +// usage : TTL_74155A_GATE(name, ) +#define TTL_74155A_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_74155A_GATE, __VA_ARGS__) +// usage : TTL_74155B_GATE(name, ) +#define TTL_74155B_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_74155B_GATE, __VA_ARGS__) +// usage : TTL_74156A_GATE(name, ) +#define TTL_74156A_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_74156A_GATE, __VA_ARGS__) +// usage : TTL_74156B_GATE(name, ) +#define TTL_74156B_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_74156B_GATE, __VA_ARGS__) +// usage : TTL_74157_GATE(name, ) +#define TTL_74157_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_74157_GATE, __VA_ARGS__) +// usage : TTL_74260_NOR(name, A, B, C, D, E) +// auto connect: VCC, GND +#define TTL_74260_NOR(...) \ + NET_REGISTER_DEVEXT(TTL_74260_NOR, __VA_ARGS__) +// usage : TTL_74279A(name, ) +#define TTL_74279A(...) \ + NET_REGISTER_DEVEXT(TTL_74279A, __VA_ARGS__) +// usage : TTL_74279B(name, ) +#define TTL_74279B(...) \ + NET_REGISTER_DEVEXT(TTL_74279B, __VA_ARGS__) +// usage : TTL_9312(name, A, B, C, G, D0, D1, D2, D3, D4, D5, D6, D7) +// auto connect: VCC, GND +#define TTL_9312(...) \ + NET_REGISTER_DEVEXT(TTL_9312, __VA_ARGS__) +// usage : TTL_7400_DIP(name, ) +#define TTL_7400_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7400_DIP, __VA_ARGS__) +// usage : TTL_7402_DIP(name, ) +#define TTL_7402_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7402_DIP, __VA_ARGS__) +// usage : TTL_7404_DIP(name, ) +#define TTL_7404_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7404_DIP, __VA_ARGS__) +// usage : TTL_7406_DIP(name, ) +#define TTL_7406_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7406_DIP, __VA_ARGS__) +// usage : TTL_7407_DIP(name, ) +#define TTL_7407_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7407_DIP, __VA_ARGS__) +// usage : TTL_7408_DIP(name, ) +#define TTL_7408_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7408_DIP, __VA_ARGS__) +// usage : TTL_7410_DIP(name, ) +#define TTL_7410_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7410_DIP, __VA_ARGS__) +// usage : TTL_7411_DIP(name, ) +#define TTL_7411_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7411_DIP, __VA_ARGS__) +// usage : TTL_7414_GATE(name, ) +#define TTL_7414_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_7414_GATE, __VA_ARGS__) +// usage : TTL_74LS14_GATE(name, ) +#define TTL_74LS14_GATE(...) \ + NET_REGISTER_DEVEXT(TTL_74LS14_GATE, __VA_ARGS__) +// usage : TTL_7414_DIP(name, ) +#define TTL_7414_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7414_DIP, __VA_ARGS__) +// usage : TTL_74LS14_DIP(name, ) +#define TTL_74LS14_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74LS14_DIP, __VA_ARGS__) +// usage : TTL_7416_DIP(name, ) +#define TTL_7416_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7416_DIP, __VA_ARGS__) +// usage : TTL_7420_DIP(name, ) +#define TTL_7420_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7420_DIP, __VA_ARGS__) +// usage : TTL_7421_DIP(name, ) +#define TTL_7421_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7421_DIP, __VA_ARGS__) +// usage : TTL_7425_DIP(name, ) +#define TTL_7425_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7425_DIP, __VA_ARGS__) +// usage : TTL_7427_DIP(name, ) +#define TTL_7427_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7427_DIP, __VA_ARGS__) +// usage : TTL_7430_DIP(name, ) +#define TTL_7430_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7430_DIP, __VA_ARGS__) +// usage : TTL_7432_DIP(name, ) +#define TTL_7432_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7432_DIP, __VA_ARGS__) +// usage : TTL_7437_DIP(name, ) +#define TTL_7437_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7437_DIP, __VA_ARGS__) +// usage : TTL_7442_DIP(name, ) +#define TTL_7442_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7442_DIP, __VA_ARGS__) +// usage : TTL_7448_DIP(name, ) +#define TTL_7448_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7448_DIP, __VA_ARGS__) +// usage : TTL_7450_DIP(name, ) +#define TTL_7450_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7450_DIP, __VA_ARGS__) +// usage : TTL_7473_DIP(name, ) +#define TTL_7473_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7473_DIP, __VA_ARGS__) +// usage : TTL_7473A_DIP(name, ) +#define TTL_7473A_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7473A_DIP, __VA_ARGS__) +// usage : TTL_7474_DIP(name, ) +#define TTL_7474_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7474_DIP, __VA_ARGS__) +// usage : TTL_7475_DIP(name, ) +#define TTL_7475_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7475_DIP, __VA_ARGS__) +// usage : TTL_7477_DIP(name, ) +#define TTL_7477_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7477_DIP, __VA_ARGS__) +// usage : TTL_7483_DIP(name, ) +#define TTL_7483_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7483_DIP, __VA_ARGS__) +// usage : TTL_7485_DIP(name, ) +#define TTL_7485_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7485_DIP, __VA_ARGS__) +// usage : TTL_7486_DIP(name, ) +#define TTL_7486_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7486_DIP, __VA_ARGS__) +// usage : TTL_7490_DIP(name, ) +#define TTL_7490_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7490_DIP, __VA_ARGS__) +// usage : TTL_7492_DIP(name, ) +#define TTL_7492_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7492_DIP, __VA_ARGS__) +// usage : TTL_7493_DIP(name, ) +#define TTL_7493_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7493_DIP, __VA_ARGS__) +// usage : TTL_7497_DIP(name, ) +#define TTL_7497_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_7497_DIP, __VA_ARGS__) +// usage : TTL_74107_DIP(name, ) +#define TTL_74107_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74107_DIP, __VA_ARGS__) +// usage : TTL_74107A_DIP(name, ) +#define TTL_74107A_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74107A_DIP, __VA_ARGS__) +// usage : TTL_74113_DIP(name, ) +#define TTL_74113_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74113_DIP, __VA_ARGS__) +// usage : TTL_74113A_DIP(name, ) +#define TTL_74113A_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74113A_DIP, __VA_ARGS__) +// usage : TTL_74121_DIP(name, ) +#define TTL_74121_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74121_DIP, __VA_ARGS__) +// usage : TTL_74123_DIP(name, ) +#define TTL_74123_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74123_DIP, __VA_ARGS__) +// usage : TTL_9602_DIP(name, ) +#define TTL_9602_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_9602_DIP, __VA_ARGS__) +// usage : TTL_74125_DIP(name, ) +#define TTL_74125_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74125_DIP, __VA_ARGS__) +// usage : TTL_74126_DIP(name, ) +#define TTL_74126_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74126_DIP, __VA_ARGS__) +// usage : TTL_74139_DIP(name, ) +#define TTL_74139_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74139_DIP, __VA_ARGS__) +// usage : TTL_74153_DIP(name, ) +#define TTL_74153_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74153_DIP, __VA_ARGS__) +// usage : TTL_74155_DIP(name, ) +#define TTL_74155_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74155_DIP, __VA_ARGS__) +// usage : TTL_74156_DIP(name, ) +#define TTL_74156_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74156_DIP, __VA_ARGS__) +// usage : TTL_74157_DIP(name, ) +#define TTL_74157_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74157_DIP, __VA_ARGS__) +// usage : TTL_74161_DIP(name, ) +#define TTL_74161_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74161_DIP, __VA_ARGS__) +// usage : TTL_74163_DIP(name, ) +#define TTL_74163_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74163_DIP, __VA_ARGS__) +// usage : TTL_74164_DIP(name, ) +#define TTL_74164_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74164_DIP, __VA_ARGS__) +// usage : TTL_74165_DIP(name, ) +#define TTL_74165_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74165_DIP, __VA_ARGS__) +// usage : TTL_74166_DIP(name, ) +#define TTL_74166_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74166_DIP, __VA_ARGS__) +// usage : TTL_74174_DIP(name, ) +#define TTL_74174_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74174_DIP, __VA_ARGS__) +// usage : TTL_74175_DIP(name, ) +#define TTL_74175_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74175_DIP, __VA_ARGS__) +// usage : TTL_74192_DIP(name, ) +#define TTL_74192_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74192_DIP, __VA_ARGS__) +// usage : TTL_74193_DIP(name, ) +#define TTL_74193_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74193_DIP, __VA_ARGS__) +// usage : TTL_74194_DIP(name, ) +#define TTL_74194_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74194_DIP, __VA_ARGS__) +// usage : TTL_74260_DIP(name, ) +#define TTL_74260_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74260_DIP, __VA_ARGS__) +// usage : TTL_74279_DIP(name, ) +#define TTL_74279_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74279_DIP, __VA_ARGS__) +// usage : TTL_74365_DIP(name, ) +#define TTL_74365_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74365_DIP, __VA_ARGS__) +// usage : TTL_74377_DIP(name, ) +#define TTL_74377_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74377_DIP, __VA_ARGS__) +// usage : TTL_74378_DIP(name, ) +#define TTL_74378_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74378_DIP, __VA_ARGS__) +// usage : TTL_74379_DIP(name, ) +#define TTL_74379_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74379_DIP, __VA_ARGS__) +// usage : TTL_74393_DIP(name, ) +#define TTL_74393_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74393_DIP, __VA_ARGS__) +// usage : SN74LS629_DIP(name, ) +#define SN74LS629_DIP(...) \ + NET_REGISTER_DEVEXT(SN74LS629_DIP, __VA_ARGS__) +// usage : TTL_9310_DIP(name, ) +#define TTL_9310_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_9310_DIP, __VA_ARGS__) +// usage : TTL_9312_DIP(name, ) +#define TTL_9312_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_9312_DIP, __VA_ARGS__) +// usage : TTL_9314_DIP(name, ) +#define TTL_9314_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_9314_DIP, __VA_ARGS__) +// usage : TTL_9316_DIP(name, ) +#define TTL_9316_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_9316_DIP, __VA_ARGS__) +// usage : TTL_9321_DIP(name, ) +#define TTL_9321_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_9321_DIP, __VA_ARGS__) +// usage : TTL_9322_DIP(name, ) +#define TTL_9322_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_9322_DIP, __VA_ARGS__) +// usage : TTL_9334_DIP(name, ) +#define TTL_9334_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_9334_DIP, __VA_ARGS__) +// usage : TTL_8277_DIP(name, ) +#define TTL_8277_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_8277_DIP, __VA_ARGS__) +// usage : TTL_AM2847_DIP(name, ) +#define TTL_AM2847_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_AM2847_DIP, __VA_ARGS__) diff --git a/src/lib/netlist/plib/ptests.h b/src/lib/netlist/plib/ptests.h index e0faaf99bbb..613fac8133f 100644 --- a/src/lib/netlist/plib/ptests.h +++ b/src/lib/netlist/plib/ptests.h @@ -31,6 +31,7 @@ #define PEXPECT_FALSE(exp1) PINT_EXPECT(eq, exp1, false) #define PEXPECT_THROW(exp, excep) PINT_EXPECT_THROW(exp, excep) +#define PEXPECT_NO_THROW(exp) PINT_EXPECT_NO_THROW(exp) #define PTEST(name, desc) PINT_TEST(name, desc) #define PTEST_F(name, desc) PINT_TEST_F(name, desc, name) @@ -61,6 +62,14 @@ catch (...) { std::cout << ptest_f << ":" << __LINE__ << ":1: error: unexpected exception thrown\n"; } \ } else do {} while (0) +#define PINT_EXPECT_NO_THROW(exp) \ + if (const char *ptest_f = __FILE__) \ + { \ + try { exp; std::cout << "\tOK: got no exception for " # exp "\n";} \ + catch (std::exception &ptest_e) { std::cout << ptest_f << ":" << __LINE__ << ":1: error: unexpected exception thrown: " << ptest_e.what() << "\n"; } \ + catch (...) { std::cout << ptest_f << ":" << __LINE__ << ":1: error: unexpected exception thrown\n"; } \ + } else do {} while (0) + namespace plib { namespace testing diff --git a/src/lib/netlist/tests/test_pfunction.cpp b/src/lib/netlist/tests/test_pfunction.cpp index 60e6753b7ac..56923be8149 100644 --- a/src/lib/netlist/tests/test_pfunction.cpp +++ b/src/lib/netlist/tests/test_pfunction.cpp @@ -33,7 +33,7 @@ PTEST(pfunction, func_if) { PFUNCEXPECT("if(1>0, 2, 0)", 2.0); PFUNCEXPECT("if(0>1, 2, 3)", 3.0); - PFUNCEXPECT("if(sin(1)>0, 2, 3)", 3.0); // fail + PFUNCEXPECT("if(sin(1)>0, 2, 3)", 2.0); // fail PEXPECT_EQ( 1.0, plib::pfunction("if(A2>2.5, 0-A1, (0.07-(0.005*A1))*if(A0>2.5,1,0-1))", {"A0","A1","A2"})({1.0,-1.0,3.0})); PEXPECT_EQ(-0.065, plib::pfunction("if(A2>2.5, 0-A1, (0.07-(0.005*A1))*if(A0>2.5,1,0-1))", {"A0","A1","A2"})({1.0,1.0,1.0})); PEXPECT_EQ( 0.065, plib::pfunction("if(A2>2.5, 0-A1, (0.07-(0.005*A1))*if(A0>2.5,1,0-1))", {"A0","A1","A2"})({3.0,1.0,1.0})); @@ -51,5 +51,5 @@ PTEST(pfunction, unary_minus) PFUNCEXPECT("3*-(3*2)", -18.0); PFUNCEXPECT("3*-(2*1)^2", -12.0); PEXPECT_THROW(plib::pfunction("(3, 4)")(), plib::pexception); - PEXPECT_THROW(plib::pfunction("(3)")(), plib::pexception); // fail + PEXPECT_NO_THROW(plib::pfunction("(3)")()); // fail }