summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author couriersud <couriersud@gmx.org>2020-09-12 01:13:18 +0200
committer couriersud <couriersud@gmx.org>2020-09-12 01:13:18 +0200
commit37309ab3d419794c86fea9eb8b094cf7d7e3a13e (patch)
treed7d694a0705ee87111d4dafe8242ab5b8953b62a
parent8f40d2c6b95c706273a137d3bddda69a93a96398 (diff)
netlist: automatically create library entries for files in ...
* modules folder.
-rw-r--r--scripts/src/netlist.lua2
-rw-r--r--src/lib/netlist/build/makefile8
-rw-r--r--src/lib/netlist/examples/cmos_inverter.cpp3
-rw-r--r--src/lib/netlist/examples/cmos_inverter_clk.cpp5
-rwxr-xr-xsrc/lib/netlist/generated/nld_devinc.h8
-rw-r--r--src/lib/netlist/macro/nlm_modules_lib.cpp10
-rw-r--r--src/lib/netlist/nl_base.cpp3
7 files changed, 13 insertions, 26 deletions
diff --git a/scripts/src/netlist.lua b/scripts/src/netlist.lua
index a301e250a45..72d7117fce9 100644
--- a/scripts/src/netlist.lua
+++ b/scripts/src/netlist.lua
@@ -205,7 +205,6 @@ project "netlist"
MAME_DIR .. "src/lib/netlist/macro/nlm_base_lib.cpp",
MAME_DIR .. "src/lib/netlist/macro/nlm_ttl74xx_lib.cpp",
MAME_DIR .. "src/lib/netlist/macro/nlm_cd4xxx_lib.cpp",
- MAME_DIR .. "src/lib/netlist/macro/nlm_modules_lib.cpp",
MAME_DIR .. "src/lib/netlist/macro/nlm_opamp_lib.cpp",
MAME_DIR .. "src/lib/netlist/macro/nlm_otheric_lib.cpp",
MAME_DIR .. "src/lib/netlist/macro/nlm_roms_lib.cpp",
@@ -215,4 +214,5 @@ project "netlist"
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",
}
diff --git a/src/lib/netlist/build/makefile b/src/lib/netlist/build/makefile
index 6f50fd86f79..4a877dac259 100644
--- a/src/lib/netlist/build/makefile
+++ b/src/lib/netlist/build/makefile
@@ -144,11 +144,12 @@ OBJDIRS = $(OBJ) \
$(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 += $(wildcard $(SRC)/macro/modules/*.cpp)
+DEVSOURCES += $(MODULESOURCES)
TESTSOURCES = $(wildcard $(SRC)/tests/*.cpp)
@@ -160,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
@@ -363,6 +365,10 @@ $(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
diff --git a/src/lib/netlist/examples/cmos_inverter.cpp b/src/lib/netlist/examples/cmos_inverter.cpp
index 5c72dda8608..022da27d23d 100644
--- a/src/lib/netlist/examples/cmos_inverter.cpp
+++ b/src/lib/netlist/examples/cmos_inverter.cpp
@@ -7,7 +7,6 @@
#include "netlist/devices/net_lib.h"
-#include "netlist/devices/net_lib.h"
NETLIST_START(cmos_inverter)
/* Standard stuff */
@@ -18,7 +17,7 @@ NETLIST_START(cmos_inverter)
SOLVER(Solver, 48000)
PARAM(Solver.ACCURACY, 1e-7)
- PARAM(Solver.NR_LOOPS, 5000)
+ PARAM(Solver.NR_LOOPS, 50)
PARAM(Solver.METHOD, "MAT_CR")
ANALOG_INPUT(V5, 5)
diff --git a/src/lib/netlist/examples/cmos_inverter_clk.cpp b/src/lib/netlist/examples/cmos_inverter_clk.cpp
index 7429b077245..d115867d9ee 100644
--- a/src/lib/netlist/examples/cmos_inverter_clk.cpp
+++ b/src/lib/netlist/examples/cmos_inverter_clk.cpp
@@ -7,7 +7,6 @@
#include "netlist/devices/net_lib.h"
-#include "netlist/devices/net_lib.h"
#define USE_CLOCK (1)
@@ -18,10 +17,10 @@ NETLIST_START(cmos_inverter_clk)
SOLVER(Solver, 1e5)
//SOLVER(Solver, 100000000000)
PARAM(Solver.ACCURACY, 1e-6 )
- PARAM(Solver.NR_LOOPS, 500000)
+ PARAM(Solver.NR_LOOPS, 50)
PARAM(Solver.DYNAMIC_TS, 1)
PARAM(Solver.DYNAMIC_LTE, 1e-5)
- PARAM(Solver.DYNAMIC_MIN_TIMESTEP, 2e-9)
+ PARAM(Solver.DYNAMIC_MIN_TIMESTEP, 2e-6)
ANALOG_INPUT(V5, 5)
// CLOCK(clk, 0.5e6)
diff --git a/src/lib/netlist/generated/nld_devinc.h b/src/lib/netlist/generated/nld_devinc.h
index 2f0545efc92..f5b14563db8 100755
--- a/src/lib/netlist/generated/nld_devinc.h
+++ b/src/lib/netlist/generated/nld_devinc.h
@@ -842,14 +842,6 @@
NET_REGISTER_DEVEXT(MM5837_DIP, __VA_ARGS__)
// ---------------------------------------------------------------------
-// Source: ../macro/nlm_modules_lib.cpp
-// ---------------------------------------------------------------------
-
-// usage : RTEST(name, )
-#define RTEST(...) \
- NET_REGISTER_DEVEXT(RTEST, __VA_ARGS__)
-
-// ---------------------------------------------------------------------
// Source: ../macro/nlm_opamp_lib.cpp
// ---------------------------------------------------------------------
diff --git a/src/lib/netlist/macro/nlm_modules_lib.cpp b/src/lib/netlist/macro/nlm_modules_lib.cpp
deleted file mode 100644
index d6b3f17c5ff..00000000000
--- a/src/lib/netlist/macro/nlm_modules_lib.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
-// license:CC0
-// copyright-holders:Couriersud
-
-#include "devices/net_lib.h"
-
-NETLIST_START(modules_lib)
-
- EXTERNAL_LIB_ENTRY(RTEST)
-
-NETLIST_END()
diff --git a/src/lib/netlist/nl_base.cpp b/src/lib/netlist/nl_base.cpp
index 7bf32d95095..a4510fe5765 100644
--- a/src/lib/netlist/nl_base.cpp
+++ b/src/lib/netlist/nl_base.cpp
@@ -135,13 +135,14 @@ namespace netlist
// This is for core macro libraries
m_setup->parser().add_include<plib::psource_str_t>("devices/net_lib.h", content);
-#if 0
+#if 1
NETLIST_NAME(base_lib)(m_setup->parser());
//m_setup->parser().register_source<source_pattern_t>("../macro/modules/nlmod_{1}.cpp");
//m_setup->parser().register_source<source_pattern_t>("../macro/nlm_{1}.cpp");
#else
#if 1
m_setup->parser().register_source<source_pattern_t>("src/lib/netlist/macro/nlm_{1}.cpp");
+ m_setup->parser().register_source<source_pattern_t>("src/lib/netlist/generated/nlm_{1}.cpp");
m_setup->parser().register_source<source_pattern_t>("src/lib/netlist/macro/modules/nlmod_{1}.cpp");
m_setup->parser().include("base_lib");
#else