summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author couriersud <couriersud@gmx.org>2020-08-24 22:01:39 +0200
committer couriersud <couriersud@gmx.org>2020-08-24 22:01:38 +0200
commit8335c1bed5d96ddfe07d53894ac742a078262b48 (patch)
tree771ab8b256ccbb1f3a8b86808c0d454419922329 /src
parent2880eea644c9fa32638b1e9c936c1e141ae97f7b (diff)
netlist: build system improvements
* Medium term this will significantly ease adding devices to netlist.
Diffstat (limited to 'src')
-rw-r--r--src/lib/netlist/build/create_devinc.py85
-rw-r--r--src/lib/netlist/build/create_lib_entries.py57
-rw-r--r--src/lib/netlist/build/makefile104
-rw-r--r--src/lib/netlist/build/nlwav.help2man5
-rw-r--r--src/lib/netlist/core/devices.h13
-rw-r--r--src/lib/netlist/devices/net_lib.cpp131
-rw-r--r--src/lib/netlist/devices/net_lib.h3
-rw-r--r--src/lib/netlist/devices/nld_4066.cpp2
-rw-r--r--src/lib/netlist/devices/nld_devinc.h1501
-rw-r--r--src/lib/netlist/examples/lostfound.cpp2
-rw-r--r--src/lib/netlist/generated/nld_devinc.h1106
-rw-r--r--src/lib/netlist/plib/ptests.h9
-rw-r--r--src/lib/netlist/tests/test_pfunction.cpp4
13 files changed, 1334 insertions, 1688 deletions
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
+#-------------------------------------------------
+
+runtests:
+ ./nltool$(EXESUFFIX) -c tests
+
+#-------------------------------------------------
+# man pages
+#-------------------------------------------------
-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
+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<double>("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<double>("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<double>("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<double>("(3, 4)")(), plib::pexception);
- PEXPECT_THROW(plib::pfunction<double>("(3)")(), plib::pexception); // fail
+ PEXPECT_NO_THROW(plib::pfunction<double>("(3)")()); // fail
}