netlist: move to generated header and link support files files.

* Removed device and macro header files.
* All of those can be generated automatically so going forward there is
no need for these any longer.
* Introduced the modules concept. Modules are netlists for which
automatic lib entries are generated.
* Going forward you just store them in macro/modules and they will be
automatically registered as device elements.
* You need to do a "make generated" is src/lib/netlist/build
* Some_device.cpp still needs to be added to netlist.lua
* Added documentation on how to add devices to netlist.
* Please refer to adding_devices.md for more information.
This commit is contained in:
couriersud 2020-09-06 23:24:21 +02:00
parent cda35c9402
commit ca31c844cd
138 changed files with 278 additions and 2341 deletions

View File

@ -137,140 +137,82 @@ project "netlist"
MAME_DIR .. "src/lib/netlist/solver/vector_base.h",
MAME_DIR .. "src/lib/netlist/devices/net_lib.cpp",
MAME_DIR .. "src/lib/netlist/devices/net_lib.h",
MAME_DIR .. "src/lib/netlist/devices/net_devinc.h",
MAME_DIR .. "src/lib/netlist/devices/nld_9316_base.hxx",
MAME_DIR .. "src/lib/netlist/devices/nld_2102A.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_2102A.h",
MAME_DIR .. "src/lib/netlist/devices/nld_tms4800.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_tms4800.h",
MAME_DIR .. "src/lib/netlist/devices/nld_4006.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_4006.h",
MAME_DIR .. "src/lib/netlist/devices/nld_4013.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_4013.h",
MAME_DIR .. "src/lib/netlist/devices/nld_4017.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_4017.h",
MAME_DIR .. "src/lib/netlist/devices/nld_4020.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_4020.h",
MAME_DIR .. "src/lib/netlist/devices/nld_4053.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_4053.h",
MAME_DIR .. "src/lib/netlist/devices/nld_4066.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_4066.h",
MAME_DIR .. "src/lib/netlist/devices/nld_4316.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_4316.h",
MAME_DIR .. "src/lib/netlist/devices/nld_7448.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_7448.h",
MAME_DIR .. "src/lib/netlist/devices/nld_7450.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_7450.h",
MAME_DIR .. "src/lib/netlist/devices/nld_7473.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_7473.h",
MAME_DIR .. "src/lib/netlist/devices/nld_7474.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_7474.h",
MAME_DIR .. "src/lib/netlist/devices/nld_7475.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_7475.h",
MAME_DIR .. "src/lib/netlist/devices/nld_7483.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_7483.h",
MAME_DIR .. "src/lib/netlist/devices/nld_7485.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_7485.h",
MAME_DIR .. "src/lib/netlist/devices/nld_7490.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_7490.h",
MAME_DIR .. "src/lib/netlist/devices/nld_7492.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_7492.h",
MAME_DIR .. "src/lib/netlist/devices/nld_7493.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_7493.h",
MAME_DIR .. "src/lib/netlist/devices/nld_7497.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_7497.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74107.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74107.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74113.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74113.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74123.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74123.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74125.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74125.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74153.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74153.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74161.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74163.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74164.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74164.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74165.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74165.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74166.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74166.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74174.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74174.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74175.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74175.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74192.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74192.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74193.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74193.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74194.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74194.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74377.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74377.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74393.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74393.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74365.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74365.h",
MAME_DIR .. "src/lib/netlist/devices/nld_74ls629.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_74ls629.h",
MAME_DIR .. "src/lib/netlist/devices/nld_82S16.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_82S16.h",
MAME_DIR .. "src/lib/netlist/devices/nld_82S115.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_82S115.h",
MAME_DIR .. "src/lib/netlist/devices/nld_8277.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_8277.h",
MAME_DIR .. "src/lib/netlist/devices/nld_9310.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_9316.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_9316.h",
MAME_DIR .. "src/lib/netlist/devices/nld_9321.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_9321.h",
MAME_DIR .. "src/lib/netlist/devices/nld_9322.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_9322.h",
MAME_DIR .. "src/lib/netlist/devices/nld_am2847.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_am2847.h",
MAME_DIR .. "src/lib/netlist/devices/nld_dm9314.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_dm9314.h",
MAME_DIR .. "src/lib/netlist/devices/nld_dm9334.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_dm9334.h",
MAME_DIR .. "src/lib/netlist/devices/nld_9321.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_9321.h",
MAME_DIR .. "src/lib/netlist/devices/nld_ne555.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_ne555.h",
MAME_DIR .. "src/lib/netlist/devices/nld_mm5837.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_mm5837.h",
MAME_DIR .. "src/lib/netlist/devices/nld_r2r_dac.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_r2r_dac.h",
MAME_DIR .. "src/lib/netlist/devices/nld_tristate.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_tristate.h",
MAME_DIR .. "src/lib/netlist/devices/nld_schmitt.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_schmitt.h",
MAME_DIR .. "src/lib/netlist/devices/nld_legacy.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_legacy.h",
MAME_DIR .. "src/lib/netlist/devices/nld_log.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_log.h",
MAME_DIR .. "src/lib/netlist/devices/nld_roms.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_roms.h",
MAME_DIR .. "src/lib/netlist/devices/nld_system.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_system.h",
MAME_DIR .. "src/lib/netlist/devices/nlid_truthtable.cpp",
MAME_DIR .. "src/lib/netlist/devices/nlid_truthtable.h",
MAME_DIR .. "src/lib/netlist/devices/nlid_system.h",
MAME_DIR .. "src/lib/netlist/devices/nlid_proxy.cpp",
MAME_DIR .. "src/lib/netlist/devices/nlid_proxy.h",
MAME_DIR .. "src/lib/netlist/macro/nlm_base_lib.cpp",
MAME_DIR .. "src/lib/netlist/macro/nlm_base_lib.h",
MAME_DIR .. "src/lib/netlist/macro/nlm_ttl74xx_lib.cpp",
MAME_DIR .. "src/lib/netlist/macro/nlm_ttl74xx_lib.h",
MAME_DIR .. "src/lib/netlist/macro/nlm_cd4xxx_lib.cpp",
MAME_DIR .. "src/lib/netlist/macro/nlm_cd4xxx_lib.h",
MAME_DIR .. "src/lib/netlist/macro/nlm_opamp_lib.cpp",
MAME_DIR .. "src/lib/netlist/macro/nlm_opamp_lib.h",
MAME_DIR .. "src/lib/netlist/macro/nlm_otheric_lib.cpp",
MAME_DIR .. "src/lib/netlist/macro/nlm_otheric_lib.h",
MAME_DIR .. "src/lib/netlist/macro/nlm_roms_lib.cpp",
MAME_DIR .. "src/lib/netlist/macro/nlm_roms_lib.h",
MAME_DIR .. "src/lib/netlist/macro/modules/nlmod_RTEST.cpp",
MAME_DIR .. "src/lib/netlist/generated/static_solvers.cpp",
MAME_DIR .. "src/lib/netlist/generated/nld_devinc.h",
MAME_DIR .. "src/lib/netlist/generated/lib_entries.hxx",
MAME_DIR .. "src/lib/netlist/generated/nlm_modules_lib.cpp",
}

View File

@ -0,0 +1,82 @@
# Adding devices to netlist
There are basically two kind of devices you can add to netlist:
- coded devices. These can be found in the devices and analog folder. Typically
these are logic or elementary (i.e. resistor, capacitor) devices.
- netlist language devices. These are found in the macro folder structure.
Typically these are dip layouts or devices consisting of elementary devices. A good
example are operational amplifier models or VCOs.
In prior netlist releases (<=0.13.0) it was cumbersome to add devices. You had to make
sure to add references and code in a number of different locations.
All necessary header files are now created automatically.
## Stand alone compilation
### Coded devices
Just add your device code (e.g. nld_device.cpp) into the devices folder.
Switch to the `build` directory
`cd build`
and type
`make generated`
to create all the infrastructure code.
### Macro devices
Place the device code (e.g. nlmod_device.cpp) into macro/modules.
Switch to the `build` directory
`cd build`
and type
`make generated`
to create all the infrastructure code.
## Visual Studio build
You need to add the files manually to the Visual Studio solution.
## MAME integration
In addition to the the steps above you have to add your code additions to the
`scripts/src/netlist.lua` file.
Make sure to
```sh
cd src/lib/netlist/build
make generated
```
to (re)create the necessary files in the `generated` directory.
## Background
### What does `make generated` do?
`make generated` calls three python scripts:
- `create_devinc.py`
- `create_lib_entries.py`
- `create_modules.py`
which create the following files in the `generated` directory:
- `nld_devinc.h`
- `lib_entries.hxx`
- `nlm_modules_lib.cpp`
The information contained in these files in the past had to be included in various places
and files previously. Since the information can be extracted programmatically the
manual process now was replaced.

View File

@ -1,25 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_BJT_H_
#define NLD_BJT_H_
///
/// \file nld_bjt.h
///
#include "../nl_setup.h"
// -----------------------------------------------------------------------------
// Macros
// -----------------------------------------------------------------------------
#define QBJT_SW(name, model) \
NET_REGISTER_DEV(QBJT_SW, name) \
NETDEV_PARAMI(name, MODEL, model)
#define QBJT_EB(name, model) \
NET_REGISTER_DEV(QBJT_EB, name) \
NETDEV_PARAMI(name, MODEL, model)
#endif // NLD_BJT_H_

View File

@ -1,32 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_FOURTERM_H_
#define NLD_FOURTERM_H_
///
/// \file nld_fourterm.h
///
#include "../nl_setup.h"
// ----------------------------------------------------------------------------------------
// Macros
// ----------------------------------------------------------------------------------------
#define VCCS(name, G) \
NET_REGISTER_DEVEXT(VCCS, name, G)
#define CCCS(name, G) \
NET_REGISTER_DEVEXT(CCCS, name, G)
#define VCVS(name, G) \
NET_REGISTER_DEVEXT(VCVS, name, G)
#define CCVS(name, G) \
NET_REGISTER_DEVEXT(CCVS, name, G)
#define LVCCS(name) \
NET_REGISTER_DEV(LVCCS, name)
#endif // NLD_FOURTERM_H_

View File

@ -1,21 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_MOSFET_H_
#define NLD_MOSFET_H_
#include "../nl_setup.h"
///
/// \file nld_mosfet.h
///
// -----------------------------------------------------------------------------
// Macros
// -----------------------------------------------------------------------------
#define MOSFET(name, model) \
NET_REGISTER_DEV(MOSFET, name) \
NETDEV_PARAMI(name, MODEL, model)
#endif // NLD_MOSFET_H_

View File

@ -1,7 +1,6 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#include "nld_opamps.h"
#include "nl_base.h"
#include "nl_errstr.h"
#include "nlid_fourterm.h"

View File

@ -1,22 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_OPAMPS_H_
#define NLD_OPAMPS_H_
///
/// \file nld_opamps.h
///
#include "../nl_setup.h"
// ----------------------------------------------------------------------------------------
// Macros
// ----------------------------------------------------------------------------------------
#define OPAMP(name, model) \
NET_REGISTER_DEV(OPAMP, name) \
NETDEV_PARAMI(name, MODEL, model)
#endif // NLD_OPAMPS_H_

View File

@ -1,23 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_SWITCHES_H_
#define NLD_SWITCHES_H_
///
/// \file nld_switches.h
///
#include "../nl_setup.h"
// ----------------------------------------------------------------------------------------
// Macros
// ----------------------------------------------------------------------------------------
#define SWITCH(name) \
NET_REGISTER_DEV(SWITCH, name)
#define SWITCH2(name) \
NET_REGISTER_DEV(SWITCH2, name)
#endif // NLD_SWITCHES_H_

View File

@ -1,47 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_TWOTERM_H_
#define NLD_TWOTERM_H_
///
/// \file nld_twoterm.h
///
#include "../nl_setup.h"
// -----------------------------------------------------------------------------
// Macros
// -----------------------------------------------------------------------------
#define RES(name, p_R) \
NET_REGISTER_DEVEXT(RES, name, p_R)
#define POT(name, p_R) \
NET_REGISTER_DEVEXT(POT, name, p_R)
// Does not have pin 3 connected
#define POT2(name, p_R) \
NET_REGISTER_DEVEXT(POT2, name, p_R)
#define CAP(name, p_C) \
NET_REGISTER_DEVEXT(CAP, name, p_C)
#define IND(name, p_L) \
NET_REGISTER_DEVEXT(IND, name, p_L)
// Generic Diode
#define DIODE(name, model) \
NET_REGISTER_DEVEXT(DIODE, name, model)
// Generic Zener Diode
#define ZDIODE(name, model) \
NET_REGISTER_DEVEXT(ZDIODE, name, model)
#define VS(name, pV) \
NET_REGISTER_DEVEXT(VS, name, pV)
#define CS(name, pI) \
NET_REGISTER_DEVEXT(CS, name, pI)
#endif // NLD_TWOTERM_H_

View File

@ -0,0 +1,83 @@
#!/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
import datetime
# 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("// ---------------------------------------------------------------------")
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("\tNET_REGISTER_DEVEXT({}, __VA_ARGS__)".format(name))
print("")
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"NETLIST_START\((\w+)\)", ls)
if m != None:
print("\tEXTERNAL_LIB_ENTRY("+ m.group(1) + ")")
src.close()
if __name__ == '__main__':
if (len(sys.argv) == 0):
print('Usage:')
print(' create_devinc files ...')
sys.exit(0)
files_sorted = [];
for argno in range(1, len(sys.argv)):
files_sorted.append(sys.argv[argno])
files_sorted.sort();
print("// license:CC0")
print("// copyright-holders:Couriersud")
print("")
now = datetime.datetime.now()
print("// File programmatically created " + now.strftime("%c"))
print("")
print("#include \"devices/net_lib.h\"")
print("")
print("NETLIST_START(modules_lib)")
print("")
for entry in files_sorted:
process_file(entry)
print("")
print("NETLIST_END()")

View File

@ -116,7 +116,7 @@ DEPENDCC=$(CC)
ifndef FAST
FAST=0
FAST=1
endif
ifeq ($(FAST),1)
@ -138,15 +138,18 @@ OBJDIRS = $(OBJ) \
$(OBJ)/plib \
$(OBJ)/devices \
$(OBJ)/macro \
$(OBJ)/macro/modules \
$(OBJ)/tests \
$(OBJ)/tools \
$(OBJ)/prg \
$(OBJ)/generated \
MODULESOURCES += $(wildcard $(SRC)/macro/modules/*.cpp)
DEVSOURCES = $(SRC)/solver/nld_solver.cpp
DEVSOURCES += $(wildcard $(SRC)/devices/*.cpp)
DEVSOURCES += $(wildcard $(SRC)/analog/*.cpp)
DEVSOURCES += $(wildcard $(SRC)/macro/*.cpp)
DEVSOURCES += $(MODULESOURCES)
TESTSOURCES = $(wildcard $(SRC)/tests/*.cpp)
@ -158,6 +161,7 @@ CORESOURCES := \
$(SRC)/nl_factory.cpp \
$(SRC)/tools/nl_convert.cpp \
$(SRC)/generated/static_solvers.cpp \
$(SRC)/generated/nlm_modules_lib.cpp \
MAINSOURCES = $(SRC)/prg/nltool.cpp $(SRC)/prg/nlwav.cpp
@ -287,7 +291,8 @@ clang-libc:
-Wmissing-variable-declarations -Wno-float-equal -Wconversion \
-Wno-c++98-compat -Wno-c++98-compat-pedantic -Wformat-nonliteral \
-Wno-exit-time-destructors -Winconsistent-missing-destructor-override \
-Wno-return-std-move-in-c++11 -Wno-unreachable-code" \
-Wno-return-std-move-in-c++11 -Wno-unreachable-code \
-Wno-missing-prototypes" \
LDEXTRAFLAGS=-stdlib=libc++
clang-5:
@ -360,8 +365,12 @@ $(SRC)/generated/nld_devinc.h: $(DEVSOURCES)
@echo creating $@
$(PYTHON) create_devinc.py $^ > $@
$(SRC)/generated/nlm_modules_lib.cpp: $(MODULESOURCES)
@echo creating $@
$(PYTHON) create_modules.py $^ > $@
.PHONY: generated
generated: ../generated/lib_entries.hxx ../generated/nld_devinc.h
generated: $(SRC)/generated/lib_entries.hxx $(SRC)/generated/nld_devinc.h $(SRC)/generated/nlm_modules_lib.cpp
#-------------------------------------------------
# clang tidy

View File

@ -174,7 +174,9 @@
<ClCompile Include="..\devices\nld_tristate.cpp" />
<ClCompile Include="..\devices\nlid_proxy.cpp" />
<ClCompile Include="..\devices\nlid_truthtable.cpp" />
<ClCompile Include="..\generated\nlm_modules_lib.cpp" />
<ClCompile Include="..\generated\static_solvers.cpp" />
<ClCompile Include="..\macro\modules\nlmod_RTEST.cpp" />
<ClCompile Include="..\macro\nlm_base_lib.cpp" />
<ClCompile Include="..\macro\nlm_cd4xxx_lib.cpp" />
<ClCompile Include="..\macro\nlm_opamp_lib.cpp" />
@ -210,55 +212,8 @@
<ClInclude Include="..\analog\nlid_fourterm.h" />
<ClInclude Include="..\analog\nlid_twoterm.h" />
<ClInclude Include="..\devices\net_lib.h" />
<ClInclude Include="..\devices\nld_2102A.h" />
<ClInclude Include="..\devices\nld_2716.h" />
<ClInclude Include="..\devices\nld_74393.h" />
<ClInclude Include="..\devices\nld_7442.h" />
<ClInclude Include="..\devices\nld_schmitt.h" />
<ClInclude Include="..\devices\nld_tms4800.h" />
<ClInclude Include="..\devices\nld_4020.h" />
<ClInclude Include="..\devices\nld_4066.h" />
<ClInclude Include="..\devices\nld_4316.h" />
<ClInclude Include="..\devices\nld_74107.h" />
<ClInclude Include="..\devices\nld_74113.h" />
<ClInclude Include="..\devices\nld_74123.h" />
<ClInclude Include="..\devices\nld_74153.h" />
<ClInclude Include="..\devices\nld_74161.h" />
<ClInclude Include="..\devices\nld_74164.h" />
<ClInclude Include="..\devices\nld_74165.h" />
<ClInclude Include="..\devices\nld_74166.h" />
<ClInclude Include="..\devices\nld_74174.h" />
<ClInclude Include="..\devices\nld_74175.h" />
<ClInclude Include="..\devices\nld_74192.h" />
<ClInclude Include="..\devices\nld_74193.h" />
<ClInclude Include="..\devices\nld_74194.h" />
<ClInclude Include="..\devices\nld_74365.h" />
<ClInclude Include="..\devices\nld_7448.h" />
<ClInclude Include="..\devices\nld_7450.h" />
<ClInclude Include="..\devices\nld_7473.h" />
<ClInclude Include="..\devices\nld_7474.h" />
<ClInclude Include="..\devices\nld_7475.h" />
<ClInclude Include="..\devices\nld_7483.h" />
<ClInclude Include="..\devices\nld_7485.h" />
<ClInclude Include="..\devices\nld_7490.h" />
<ClInclude Include="..\devices\nld_7493.h" />
<ClInclude Include="..\devices\nld_74ls629.h" />
<ClInclude Include="..\devices\nld_82S115.h" />
<ClInclude Include="..\devices\nld_82S123.h" />
<ClInclude Include="..\devices\nld_82S126.h" />
<ClInclude Include="..\devices\nld_82S16.h" />
<ClInclude Include="..\devices\nld_9310.h" />
<ClInclude Include="..\devices\nld_9316.h" />
<ClInclude Include="..\devices\nld_9322.h" />
<ClInclude Include="..\devices\nld_am2847.h" />
<ClInclude Include="..\devices\nld_devinc.h" />
<ClInclude Include="..\devices\nld_dm9314.h" />
<ClInclude Include="..\devices\nld_dm9334.h" />
<ClInclude Include="..\devices\nld_legacy.h" />
<ClInclude Include="..\devices\nld_log.h" />
<ClInclude Include="..\devices\nld_mm5837.h" />
<ClInclude Include="..\devices\nld_ne555.h" />
<ClInclude Include="..\devices\nld_r2r_dac.h" />
<ClInclude Include="..\devices\nld_system.h" />
<ClInclude Include="..\devices\nld_tristate.h" />
<ClInclude Include="..\devices\nlid_cmos.h" />
@ -267,11 +222,6 @@
<ClInclude Include="..\devices\nlid_truthtable.h" />
<ClInclude Include="..\documentation\primer_1.dox.h" />
<ClInclude Include="..\documentation\structure.dox.h" />
<ClInclude Include="..\macro\nlm_base.h" />
<ClInclude Include="..\macro\nlm_cd4xxx.h" />
<ClInclude Include="..\macro\nlm_opamp.h" />
<ClInclude Include="..\macro\nlm_other.h" />
<ClInclude Include="..\macro\nlm_ttl74xx.h" />
<ClInclude Include="..\nl_base.h" />
<ClInclude Include="..\nl_config.h" />
<ClInclude Include="..\nl_dice_compat.h" />

View File

@ -288,6 +288,12 @@
<ClCompile Include="..\devices\nld_9321.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\generated\nlm_modules_lib.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\macro\modules\nlmod_RTEST.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\nl_errstr.h">
@ -428,186 +434,36 @@
<ClInclude Include="..\tools\nl_convert.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\macro\nlm_ttl74xx.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\macro\nlm_opamp.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\macro\nlm_other.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\macro\nlm_base.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\macro\nlm_cd4xxx.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\documentation\structure.dox.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\documentation\primer_1.dox.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_2102A.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nlid_system.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_r2r_dac.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_74193.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nlid_proxy.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_log.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_2716.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_tms4800.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_am2847.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_74174.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_7448.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_74192.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_9310.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_4066.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nlid_cmos.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_4020.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_7474.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_74194.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_dm9314.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_dm9334.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_tristate.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_7450.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\net_lib.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_7473.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_74113.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_74161.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_82S115.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nlid_truthtable.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_9316.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_7485.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_74166.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_devinc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_74165.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_82S126.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_system.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_74ls629.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_74365.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_7475.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_7483.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_74123.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_mm5837.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_4316.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_82S123.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_74153.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_7493.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_legacy.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_74107.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_ne555.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_9322.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_7490.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_82S16.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_74175.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_74164.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\plib\gmres.h">
<Filter>Header Files</Filter>
</ClInclude>
@ -656,11 +512,5 @@
<ClInclude Include="..\analog\nld_mosfet.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_7442.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\devices\nld_74393.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -27,126 +27,9 @@ namespace devices
// the entries.
// FIXME: the list should be either included or the whole
// initialize factory code should be created programmatically.
#if (NL_AUTO_DEVICES)
#include "../generated/lib_entries.hxx"
#else
LIB_ENTRY(R)
LIB_ENTRY(POT)
LIB_ENTRY(POT2)
LIB_ENTRY(C)
LIB_ENTRY(L)
LIB_ENTRY(D)
LIB_ENTRY(Z)
LIB_ENTRY(VS)
LIB_ENTRY(CS)
LIB_ENTRY(VCVS)
LIB_ENTRY(VCCS)
LIB_ENTRY(CCCS)
LIB_ENTRY(CCVS)
LIB_ENTRY(LVCCS)
LIB_ENTRY(opamp)
LIB_ENTRY(nc_pin)
LIB_ENTRY(frontier) // not intended to be used directly
LIB_ENTRY(function) // only for macro devices - NO FEEDBACK loops
LIB_ENTRY(QBJT_EB)
LIB_ENTRY(QBJT_switch)
LIB_ENTRY(MOSFET)
LIB_ENTRY(logic_input_ttl)
LIB_ENTRY(logic_input)
LIB_ENTRY(logic_input8)
LIB_ENTRY(analog_input)
LIB_ENTRY(log)
LIB_ENTRY(logD)
LIB_ENTRY(clock)
LIB_ENTRY(varclock)
LIB_ENTRY(extclock)
LIB_ENTRY(mainclock)
LIB_ENTRY(gnd)
LIB_ENTRY(netlistparams)
LIB_ENTRY(solver)
LIB_ENTRY(sys_dsw1)
LIB_ENTRY(sys_dsw2)
LIB_ENTRY(sys_compd)
LIB_ENTRY(sys_noise_mt_u)
LIB_ENTRY(sys_noise_mt_n)
LIB_ENTRY(switch1)
LIB_ENTRY(switch2)
LIB_ENTRY(nicRSFF)
LIB_ENTRY(nicDelay)
LIB_ENTRY(2102A)
LIB_ENTRY(2716)
LIB_ENTRY(7448)
LIB_ENTRY(MK28000)
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(74107)
LIB_ENTRY(74107A)
LIB_ENTRY(74113)
LIB_ENTRY(74113A)
LIB_ENTRY(74121)
LIB_ENTRY(74123)
LIB_ENTRY(74125)
LIB_ENTRY(74126)
LIB_ENTRY(74153)
LIB_ENTRY(74161)
LIB_ENTRY(74161_fixme)
LIB_ENTRY(74163)
LIB_ENTRY(74164)
LIB_ENTRY(74165)
LIB_ENTRY(74166)
LIB_ENTRY(74174)
LIB_ENTRY(74175)
LIB_ENTRY(74192)
LIB_ENTRY(74193)
LIB_ENTRY(74194)
LIB_ENTRY(74365)
LIB_ENTRY(74377_GATE)
LIB_ENTRY(74393)
//ENTRY(74279, TTL_74279, "") // only dip available
LIB_ENTRY(SN74LS629)
LIB_ENTRY(82S16)
LIB_ENTRY(82S115)
LIB_ENTRY(82S123)
LIB_ENTRY(82S126)
LIB_ENTRY(74S287)
LIB_ENTRY(8277)
LIB_ENTRY(9310)
LIB_ENTRY(9314)
LIB_ENTRY(9316)
LIB_ENTRY(9321)
LIB_ENTRY(9322)
LIB_ENTRY(9334)
LIB_ENTRY(AM2847)
LIB_ENTRY(CD4006)
LIB_ENTRY(CD4013)
LIB_ENTRY(CD4017)
LIB_ENTRY(CD4022)
LIB_ENTRY(CD4020)
LIB_ENTRY(CD4024)
LIB_ENTRY(CD4053_GATE)
LIB_ENTRY(CD4066_GATE)
LIB_ENTRY(CD4316_GATE)
LIB_ENTRY(4538)
LIB_ENTRY(schmitt_trigger)
LIB_ENTRY(NE555)
LIB_ENTRY(MC1455P)
LIB_ENTRY(TMS4800)
LIB_ENTRY(r2r_dac)
LIB_ENTRY(tristate)
LIB_ENTRY(tristate3)
LIB_ENTRY(9602)
LIB_ENTRY(MM5837)
#endif
}
} //namespace devices

View File

@ -7,7 +7,7 @@
///
/// \file net_lib.h
///
/// Discrete netlist implementation.
/// This file is included by all netlist implementations.
///
#include "../nl_setup.h"
@ -30,92 +30,7 @@
NETLIST_EXTERNAL(base_lib)
#if NL_AUTO_DEVICES
#include "../generated/nld_devinc.h"
#include "../generated/nld_devinc.h"
#else
#define SOLVER(name, freq) \
NET_REGISTER_DEVEXT(SOLVER, name, freq)
#include "nld_system.h"
#include "nld_2102A.h"
#include "nld_4006.h"
#include "nld_4013.h"
#include "nld_4017.h"
#include "nld_4020.h"
#include "nld_4053.h"
#include "nld_4066.h"
#include "nld_4316.h"
#include "nld_74107.h"
#include "nld_74113.h"
#include "nld_74123.h"
#include "nld_74125.h"
#include "nld_74153.h"
#include "nld_74164.h"
#include "nld_74165.h"
#include "nld_74166.h"
#include "nld_74174.h"
#include "nld_74175.h"
#include "nld_74192.h"
#include "nld_74193.h"
#include "nld_74194.h"
#include "nld_74365.h"
#include "nld_74377.h"
#include "nld_74393.h"
#include "nld_7448.h"
#include "nld_7450.h"
#include "nld_7473.h"
#include "nld_7474.h"
#include "nld_7475.h"
#include "nld_7483.h"
#include "nld_7485.h"
#include "nld_7490.h"
#include "nld_7492.h"
#include "nld_7493.h"
#include "nld_7497.h"
#include "nld_74ls629.h"
#include "nld_82S115.h"
#include "nld_82S16.h"
#include "nld_9316.h"
#include "nld_9321.h"
#include "nld_9322.h"
#include "nld_tms4800.h"
#include "nld_8277.h"
#include "nld_am2847.h"
#include "nld_dm9314.h"
#include "nld_dm9334.h"
#include "nld_mm5837.h"
#include "nld_ne555.h"
#include "nld_r2r_dac.h"
#include "nld_roms.h"
#include "nld_schmitt.h"
#include "nld_tristate.h"
#include "nld_log.h"
#include "../macro/nlm_cd4xxx_lib.h"
#include "../macro/nlm_opamp_lib.h"
#include "../macro/nlm_otheric_lib.h"
#include "../macro/nlm_roms_lib.h"
#include "../macro/nlm_ttl74xx_lib.h"
#include "../analog/nld_bjt.h"
#include "../analog/nld_fourterm.h"
#include "../analog/nld_mosfet.h"
#include "../analog/nld_opamps.h"
#include "../analog/nld_switches.h"
#include "../analog/nld_twoterm.h"
#include "nld_legacy.h"
#endif
#endif
#endif // NET_LIB_H

View File

@ -21,7 +21,6 @@
*
*/
#include "nld_2102A.h"
#include "nl_base.h"
#define ADDR2BYTE(a) ((a) >> 3)

View File

@ -1,13 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Ryan Holtz
#ifndef NLD_2102A_H_
#define NLD_2102A_H_
#include "../nl_setup.h"
// expects: RAM_2102A(name, cCEQ, cA0, cA1, cA2, cA3, cA4, cA5, cA6, cA7, cA8, cA9, cRWQ, cDI)
#define RAM_2102A(...) \
NET_REGISTER_DEVEXT(RAM_2102A, __VA_ARGS__)
#endif /* NLD_2102A_H_ */

View File

@ -39,7 +39,6 @@
*
*/
#include "nld_4006.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,12 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_4006_H_
#define NLD_4006_H_
#include "../nl_setup.h"
#define CD4006(name) \
NET_REGISTER_DEV(CD4006, name)
#endif /* NLD_4006_H_ */

View File

@ -1,13 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_4013_H_
#define NLD_4013_H_
#include "../nl_setup.h"
// usage: CD4013(name, cCLOCK, cDATA, cRESET, cSET)
#define CD4013(...) \
NET_REGISTER_DEVEXT(CD4013, __VA_ARGS__)
#endif /* NLD_4013_H_ */

View File

@ -37,7 +37,6 @@
*
*/
#include "nld_4017.h"
#include "nl_base.h"
#include "nl_factory.h"

View File

@ -1,15 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_4017_H_
#define NLD_4017_H_
#include "../nl_setup.h"
#define CD4017(name) \
NET_REGISTER_DEV(CD4017, name)
#define CD4022(name) \
NET_REGISTER_DEV(CD4022, name)
#endif /* NLD_4017_H_ */

View File

@ -37,7 +37,6 @@
*
*/
#include "nld_4020.h"
#include "nl_base.h"
#include "nl_factory.h"

View File

@ -1,17 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_4020_H_
#define NLD_4020_H_
#include "../nl_setup.h"
// usage : CD4020(name)
#define CD4020(...) \
NET_REGISTER_DEVEXT(CD4020, __VA_ARGS__)
// usage : CD4024(name)
#define CD4024(...) \
NET_REGISTER_DEVEXT(CD4024, __VA_ARGS__)
#endif /* NLD_4020_H_ */

View File

@ -23,8 +23,6 @@
*/
#include "nld_4053.h"
#include "analog/nlid_twoterm.h"
#include "solver/nld_solver.h"

View File

@ -1,13 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_4053_H_
#define NLD_4053_H_
#include "../nl_setup.h"
// FIXME: Implement pure CMOS version
#define CD4053_GATE(name) \
NET_REGISTER_DEV(CD4053_GATE, name)
#endif /* NLD_4053_H_ */

View File

@ -21,8 +21,6 @@
*
*/
#include "nld_4066.h"
#include "analog/nlid_twoterm.h"
#include "solver/nld_solver.h"

View File

@ -1,14 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_4066_H_
#define NLD_4066_H_
#include "../nl_setup.h"
// FIXME: Implement pure CMOS version
#define CD4066_GATE(name) \
NET_REGISTER_DEV(CD4066_GATE, name)
#endif /* NLD_4066_H_ */

View File

@ -22,7 +22,6 @@
*
*/
#include "nld_4316.h"
#include "analog/nlid_twoterm.h"
#include "solver/nld_solver.h"

View File

@ -1,12 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Vas Crabb
#ifndef NLD_4316_H_
#define NLD_4316_H_
#include "../nl_setup.h"
#define CD4316_GATE(name) \
NET_REGISTER_DEV(CD4316_GATE, name)
#endif /* NLD_4316_H_ */

View File

@ -61,7 +61,6 @@
*
*/
#include "nld_74107.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,16 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_74107_H_
#define NLD_74107_H_
#include "../nl_setup.h"
#define TTL_74107(...) \
NET_REGISTER_DEVEXT(TTL_74107, __VA_ARGS__)
// usage: TTL_74107A(name, cCLK, cJ, cK, cCLRQ)
#define TTL_74107A(...) \
NET_REGISTER_DEVEXT(TTL_74107A, __VA_ARGS__)
#endif /* NLD_74107_H_ */

View File

@ -57,7 +57,6 @@
*
*/
#include "nld_74113.h"
#include "nl_base.h"
// FIXME: this can probably be merged with nld_7473.cpp

View File

@ -1,17 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_74113_H_
#define NLD_74113_H_
#include "../nl_setup.h"
// usage: TTL_74113(name, cCLK, cJ, cK, cCLRQ)
#define TTL_74113(...) \
NET_REGISTER_DEVEXT(TTL_74113, __VA_ARGS__)
// usage: TTL_74113A(name, cCLK, cJ, cK, cCLRQ)
#define TTL_74113A(...) \
NET_REGISTER_DEVEXT(TTL_74113, __VA_ARGS__)
#endif /* NLD_74113_H_ */

View File

@ -1,21 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_74123_H_
#define NLD_74123_H_
#include "../nl_setup.h"
#define TTL_74123(name) \
NET_REGISTER_DEV(TTL_74123, name)
#define TTL_74121(name) \
NET_REGISTER_DEV(TTL_74121, name)
#define TTL_9602(name) \
NET_REGISTER_DEV(TTL_9602, name)
#define CD4538(name) \
NET_REGISTER_DEV(CD4538, name)
#endif /* NLD_74123_H_ */

View File

@ -5,7 +5,6 @@
*
*/
#include "nld_74125.h"
#include "nl_base.h"
#include <type_traits>

View File

@ -1,19 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
/*
* nld_74125.h
*
*/
#ifndef NLD_74125_H_
#define NLD_74125_H_
#include "../nl_setup.h"
#define TTL_74125_GATE(...) \
NET_REGISTER_DEV(TTL_74125_GATE, __VA_ARGS__)
#define TTL_74126_GATE(...) \
NET_REGISTER_DEV(TTL_74126_GATE, __VA_ARGS__)
#endif /* NLD_74125_H_ */

View File

@ -42,7 +42,6 @@
*
*/
#include "nld_74153.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,13 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_74153_H_
#define NLD_74153_H_
#include "../nl_setup.h"
// usage: TTL_74153(name, cC0, cC1, cC2, cC3, cA, cB, cG)
#define TTL_74153(...) \
NET_REGISTER_DEVEXT(TTL_74153, __VA_ARGS__)
#endif /* NLD_74153_H_ */

View File

@ -46,7 +46,6 @@
**********************************************************************/
#include "nld_74164.h"
#include "nl_base.h"
// FIXME: clk input to be separated - only falling edge relevant

View File

@ -1,13 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Joakim Larsson Edstrom
#ifndef NLD_74164_H_
#define NLD_74164_H_
#include "../nl_setup.h"
// usage: TTL_74164(name, cA, cB, cCLRQ, cCLK)
#define TTL_74164(...) \
NET_REGISTER_DEVEXT(TTL_74164, __VA_ARGS__)
#endif /* NLD_74164_H_ */

View File

@ -24,7 +24,6 @@
*
*/
#include "nld_74165.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,13 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Ryan Holtz
#ifndef NLD_74165_H_
#define NLD_74165_H_
#include "../nl_setup.h"
// usage: TTL_74165(name, cCLK, cCLKINH, cSH_LDQ, cSER, cA, cB, cC, cD, cE, cF, cG, cH)
#define TTL_74165(...) \
NET_REGISTER_DEVEXT(TTL_74165, __VA_ARGS__)
#endif /* NLD_74165_H_ */

View File

@ -24,7 +24,6 @@
*
*/
#include "nld_74166.h"
#include "nl_base.h"
// FIXME: separate handlers for inputs

View File

@ -1,13 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Ryan Holtz
#ifndef NLD_74166_H_
#define NLD_74166_H_
#include "../nl_setup.h"
// usage: TTL_74166(name, cCLK, cCLKINH, cSH_LDQ, cSER, cA, cB, cC, cD, cE, cF, cG, cH, cCLRQ)
#define TTL_74166(...) \
NET_REGISTER_DEVEXT(TTL_74166, __VA_ARGS__)
#endif /* NLD_74166_H_ */

View File

@ -33,7 +33,6 @@
*
*/
#include "nld_74174.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,13 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_74174_H_
#define NLD_74174_H_
#include "../nl_setup.h"
// usage: TTL_74174(name, cCLK, cD1, cD2, cD3, cD4, cD5, cD6, cCLRQ)
#define TTL_74174(...) \
NET_REGISTER_DEVEXT(TTL_74174, __VA_ARGS__)
#endif /* NLD_74174_H_ */

View File

@ -33,7 +33,6 @@
*
*/
#include "nld_74175.h"
#include "nl_base.h"
// FIXME: optimize

View File

@ -1,14 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_74175_H_
#define NLD_74175_H_
#include "../nl_setup.h"
// usage : TTL_74175(name, pCLK, pD1, pD2, pD3, pD4, pCLRQ)
// auto connect: VCC, GND
#define TTL_74175(...) \
NET_REGISTER_DEVEXT(TTL_74175, __VA_ARGS__)
#endif /* NLD_74175_H_ */

View File

@ -26,7 +26,7 @@
*
*/
#include "nld_74192.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,14 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_74192_H_
#define NLD_74192_H_
#include "../nl_setup.h"
// 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__)
#endif /* NLD_74192_H_ */

View File

@ -23,7 +23,6 @@
*
*/
#include "nld_74193.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,14 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_74193_H_
#define NLD_74193_H_
#include "../nl_setup.h"
// 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__)
#endif /* NLD_74193_H_ */

View File

@ -23,8 +23,6 @@
*
*/
#include "nld_74194.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,13 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Ryan Holtz
#ifndef NLD_74194_H_
#define NLD_74194_H_
#include "../nl_setup.h"
// 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__)
#endif /* NLD_74194_H_ */

View File

@ -22,7 +22,6 @@
* is not a "real" bus driver, it simply outputs 0 if the chip is not enabled.
*/
#include "nld_74365.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,13 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Ryan Holtz
#ifndef NLD_74365_H_
#define NLD_74365_H_
#include "../nl_setup.h"
// 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__)
#endif /* NLD_74365_H_ */

View File

@ -48,7 +48,6 @@
*
*/
#include "nld_74377.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,14 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud,Aaron Giles
#ifndef NLD_74377_H_
#define NLD_74377_H_
#include "../nl_setup.h"
#define TTL_74377_GATE(name) \
NET_REGISTER_DEV(TTL_74377_GATE, name)
#endif /* NLD_74377_H_ */

View File

@ -19,7 +19,6 @@
*
*/
#include "nld_74393.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,13 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_74393_H_
#define NLD_74393_H_
#include "../nl_setup.h"
// usage: TTL_74393(name, cCP, cMR)
#define TTL_74393(...) \
NET_REGISTER_DEVEXT(TTL_74393, __VA_ARGS__)
#endif /* NLD_74193_H_ */

View File

@ -1,14 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_7448_H_
#define NLD_7448_H_
#include "../nl_setup.h"
// 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__)
#endif /* NLD_7448_H_ */

View File

@ -21,7 +21,6 @@
*
*/
#include "nld_7450.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,13 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_7450_H_
#define NLD_7450_H_
#include "../nl_setup.h"
// usage: TTL_7450_ANDORINVERT(name, cI1, cI2, cI3, cI4)
#define TTL_7450_ANDORINVERT(...) \
NET_REGISTER_DEVEXT(TTL_7450_ANDORINVERT, __VA_ARGS__)
#endif /* NLD_7450_H_ */

View File

@ -57,7 +57,6 @@
*
*/
#include "nld_7473.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,16 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_7473_H_
#define NLD_7473_H_
#include "../nl_setup.h"
// usage: TTL_7473(name, cCLK, cJ, cK, cCLRQ)
#define TTL_7473(...) \
NET_REGISTER_DEVEXT(TTL_7473, __VA_ARGS__)
#define TTL_7473A(...) \
TTL_7473(__VA_ARGS__)
#endif /* NLD_7473_H_ */

View File

@ -40,7 +40,6 @@
* FIXME: Check that (*) is emulated properly
*/
#include "nld_7474.h"
#include "nl_base.h"
#include <array>

View File

@ -1,13 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_7474_H_
#define NLD_7474_H_
#include "../nl_setup.h"
// usage: TTL_7474(name, cCLK, cD, cCLRQ, cPREQ)
#define TTL_7474(...) \
NET_REGISTER_DEVEXT(TTL_7474, __VA_ARGS__)
#endif /* NLD_7474_H_ */

View File

@ -34,7 +34,6 @@
*
*/
#include "nld_7475.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,15 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Ryan Holtz
#ifndef NLD_7475_H_
#define NLD_7475_H_
#include "../nl_setup.h"
#define TTL_7475_GATE(...) \
NET_REGISTER_DEVEXT(TTL_7475_GATE, __VA_ARGS__)
#define TTL_7477_GATE(...) \
NET_REGISTER_DEVEXT(TTL_7477_GATE, __VA_ARGS__)
#endif /* NLD_7475_H_ */

View File

@ -24,7 +24,6 @@
*
*/
#include "nld_7483.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,13 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_7483_H_
#define NLD_7483_H_
#include "../nl_setup.h"
// usage: TTL_7483(name, cA1, cA2, cA3, cA4, cB1, cB2, cB3, cB4, cCI)
#define TTL_7483(...) \
NET_REGISTER_DEVEXT(TTL_7483, __VA_ARGS__)
#endif /* NLD_7483_H_ */

View File

@ -22,7 +22,6 @@
*
*/
#include "nld_7485.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,13 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Ryan Holtz
#ifndef NLD_7485_H_
#define NLD_7485_H_
#include "../nl_setup.h"
// usage: TTL_7485(name, cA0, cA1, cA2, cA3, cB0, cB1, cB2, cB3, cLTIN, cEQIN, cGTIN)
#define TTL_7485(...) \
NET_REGISTER_DEVEXT(TTL_7485, __VA_ARGS__)
#endif /* NLD_7485_H_ */

View File

@ -52,7 +52,6 @@
*
*/
#include "nld_7490.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,13 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_7490_H_
#define NLD_7490_H_
#include "../nl_setup.h"
// usage: TTL_7490(name, cA, cB, cR1, cR2, cR91, cR92)
#define TTL_7490(...) \
NET_REGISTER_DEVEXT(TTL_7490, __VA_ARGS__)
#endif /* NLD_7490_H_ */

View File

@ -1,13 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_7492_H_
#define NLD_7492_H_
#include "../nl_setup.h"
// usage: TTL_7492(name, cA, cB, cR1, cR2)
#define TTL_7492(...) \
NET_REGISTER_DEVEXT(TTL_7492, __VA_ARGS__)
#endif /* NLD_7492_H_ */

View File

@ -54,7 +54,6 @@
*
*/
#include "nld_7493.h"
#include "nl_base.h"

View File

@ -1,13 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_7493_H_
#define NLD_7493_H_
#include "../nl_setup.h"
// usage: TTL_7493(name, cCLKA, cCLKB, cR1, cR2)
#define TTL_7493(...) \
NET_REGISTER_DEVEXT(TTL_7493, __VA_ARGS__)
#endif /* NLD_7493_H_ */

View File

@ -37,7 +37,6 @@
* Unity/cascade is used to inhibit output Y (UNITY L -> Y H)
*/
#include "nld_7497.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,13 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Sergey Svishchev
#ifndef NLD_7497_H_
#define NLD_7497_H_
#include "../nl_setup.h"
// usage: TTL_7497(name, cCLK, cSTRB, cEN, cUNITY, cCLR, cB0, cB1, cB2, cB3, cB4, cB5)
#define TTL_7497(...) \
NET_REGISTER_DEVEXT(TTL_7497, __VA_ARGS__)
#endif /* NLD_7497_H_ */

View File

@ -58,8 +58,6 @@
* Then just use that to toggle a waveform.
*/
#include "nld_74ls629.h"
#include "analog/nlid_twoterm.h"
namespace netlist

View File

@ -1,12 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_74LS629_H_
#define NLD_74LS629_H_
#include "../nl_setup.h"
#define SN74LS629(name, ...) \
NET_REGISTER_DEVEXT(SN74LS629, name,__VA_ARGS__)
#endif /* NLD_74LS629_H_ */

View File

@ -18,7 +18,6 @@
*
*/
#include "nld_8277.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,14 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Ryan Holtz
#ifndef NLD_8277_H_
#define NLD_8277_H_
#include "../nl_setup.h"
// 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__)
#endif /* NLD_2877_H_ */

View File

@ -25,7 +25,6 @@
*
*/
#include "nld_82S115.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,13 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Ryan Holtz
#ifndef NLD_82S115_H_
#define NLD_82S115_H_
#include "../nl_setup.h"
// expects: PROM_82S115(name, cCE1Q, cCE2, cA0, cA1, cA2, cA3, cA4, cA5, cA6, cA7, cA8, cSTROBE)
#define PROM_82S115(...) \
NET_REGISTER_DEVEXT(PROM_82S115, __VA_ARGS__)
#endif /* NLD_82S115_H_ */

View File

@ -22,7 +22,6 @@
*
*/
#include "nld_82S16.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,12 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_82S16_H_
#define NLD_82S16_H_
#include "../nl_setup.h"
#define TTL_82S16(name) \
NET_REGISTER_DEV(TTL_82S16, name)
#endif /* NLD_82S16_H_ */

View File

@ -1,25 +0,0 @@
// license:GPL-2.0+
// copyright-holders:Couriersud
#ifndef NLD_9316_H_
#define NLD_9316_H_
#include "../nl_setup.h"
// usage: TTL_9316(name, cCLK, cENP, cENT, cCLRQ, cLOADQ, cA, cB, cC, cD)
#define TTL_9316(...) \
NET_REGISTER_DEVEXT(TTL_74161, __VA_ARGS__)
#define TTL_74161(...) \
NET_REGISTER_DEVEXT(TTL_74161, __VA_ARGS__)
#define TTL_74161_FIXME(...) \
NET_REGISTER_DEVEXT(TTL_74161_FIXME, __VA_ARGS__)
#define TTL_74163(...) \
NET_REGISTER_DEVEXT(TTL_74163, __VA_ARGS__)
#define TTL_9310(...) \
NET_REGISTER_DEVEXT(TTL_9310, __VA_ARGS__)
#endif /* NLD_9316_H_ */

View File

@ -18,7 +18,6 @@
*
*/
#include "nld_9321.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,13 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Ryan Holtz
#ifndef NLD_9321_H_
#define NLD_9321_H_
#include "../nl_setup.h"
// usage: TTL_9321(name, cAE, cA0, cA1, cBE, cB0, cB1)
#define TTL_9321(...) \
NET_REGISTER_DEVEXT(TTL_9321, __VA_ARGS__)
#endif /* NLD_9321_H_ */

View File

@ -18,7 +18,6 @@
*
*/
#include "nld_9322.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,13 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Ryan Holtz
#ifndef NLD_9322_H_
#define NLD_9322_H_
#include "../nl_setup.h"
// usage: TTL_9322(name, cSELECT, cA1, cB1, cA2, cB2, cA3, cB3, cA4, cB4, cSTROBE)
#define TTL_9322(...) \
NET_REGISTER_DEVEXT(TTL_9322, __VA_ARGS__)
#endif /* NLD_9322_H_ */

View File

@ -18,7 +18,6 @@
*
*/
#include "nld_am2847.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,12 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Ryan Holtz
#ifndef NLD_AM2847_H_
#define NLD_AM2847_H_
#include "../nl_setup.h"
#define TTL_AM2847(...) \
NET_REGISTER_DEVEXT(TTL_AM2847, __VA_ARGS__)
#endif /* NLD_AM2847_H_ */

View File

@ -18,7 +18,6 @@
*
*/
#include "nld_dm9314.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,14 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Felipe Sanches
#ifndef NLD_DM9314_H_
#define NLD_DM9314_H_
#include "../nl_setup.h"
// 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__)
#endif /* NLD_DM9314_H_ */

View File

@ -62,7 +62,6 @@
*
*/
#include "nld_dm9334.h"
#include "nl_base.h"
namespace netlist

View File

@ -1,14 +0,0 @@
// license:BSD-3-Clause
// copyright-holders:Ryan Holtz
#ifndef NLD_DM9334_H_
#define NLD_DM9334_H_
#include "../nl_setup.h"
// usage : TTL_9334(name, pCQ, pEQ, pD, pA0, pA1, pA2)
// auto connect: VCC, GND
#define TTL_9334(...) \
NET_REGISTER_DEVEXT(TTL_9334, __VA_ARGS__)
#endif /* NLD_DM9334_H_ */

Some files were not shown because too many files have changed in this diff Show More