summaryrefslogtreecommitdiffstatshomepage
path: root/nl_examples
diff options
context:
space:
mode:
author Couriersud <couriersud@users.noreply.github.com>2014-01-10 19:23:42 +0000
committer Couriersud <couriersud@users.noreply.github.com>2014-01-10 19:23:42 +0000
commitf8eac14fa9eb507a7e9374fcd187de311abf68de (patch)
tree1fd6d1a0269e1e3127f1f78b17f0ec6f7480449b /nl_examples
parent6efc17f6956392e687b48deeeecea921364033e3 (diff)
Quite a number of simplifications for netlist. Also tested some parallel processing using OpenMP (disabled). No wn
Diffstat (limited to 'nl_examples')
-rw-r--r--nl_examples/bjt.c4
-rw-r--r--nl_examples/bjt_eb.c6
-rw-r--r--nl_examples/msx_mixer_stage.c2
-rw-r--r--nl_examples/test.c86
-rw-r--r--nl_examples/todo.c118
5 files changed, 210 insertions, 6 deletions
diff --git a/nl_examples/bjt.c b/nl_examples/bjt.c
index 0a89303ec9a..0cd983a24dd 100644
--- a/nl_examples/bjt.c
+++ b/nl_examples/bjt.c
@@ -18,7 +18,7 @@ NETLIST_START(bjt)
/* NPN - example */
- NETDEV_QNPN(Q, BC237B)
+ NETDEV_QNPN(Q, "BC237B")
NETDEV_R(RB, 1000)
NETDEV_R(RC, 1000)
@@ -30,7 +30,7 @@ NETLIST_START(bjt)
/* PNP - example */
- NETDEV_QPNP(Q1, BC556B)
+ NETDEV_QPNP(Q1, "BC556B")
NETDEV_R(RB1, 1000)
NETDEV_R(RC1, 1000)
diff --git a/nl_examples/bjt_eb.c b/nl_examples/bjt_eb.c
index cff1783edf3..93a70f9d614 100644
--- a/nl_examples/bjt_eb.c
+++ b/nl_examples/bjt_eb.c
@@ -19,7 +19,7 @@ NETLIST_START(bjt)
/* NPN - example */
- NETDEV_QNPN_EB(Q, BC237B)
+ NETDEV_QBJT_EB(Q, "BC237B")
NETDEV_R(RB, 1000)
NETDEV_R(RC, 1000)
@@ -30,7 +30,7 @@ NETLIST_START(bjt)
NET_C(RB.2, Q.B)
NET_C(Q.E, GND)
- NETDEV_LOG(logB, Q.B)
- NETDEV_LOG(logC, Q.C)
+ //NETDEV_LOG(logB, Q.B)
+ //NETDEV_LOG(logC, Q.C)
NETLIST_END()
diff --git a/nl_examples/msx_mixer_stage.c b/nl_examples/msx_mixer_stage.c
index af07606e57e..ea13aa0c9cd 100644
--- a/nl_examples/msx_mixer_stage.c
+++ b/nl_examples/msx_mixer_stage.c
@@ -50,7 +50,7 @@ NETLIST_START(msx)
NET_C(R21.1, V5)
NET_C(R21.2, R23.2)
- NETDEV_QNPN_EB(T2, ss9014)
+ NETDEV_QBJT_EB(T2, "ss9014")
NET_C(R9.1, V12)
NET_C(R9.2, T2.C)
diff --git a/nl_examples/test.c b/nl_examples/test.c
new file mode 100644
index 00000000000..b47815de25f
--- /dev/null
+++ b/nl_examples/test.c
@@ -0,0 +1,86 @@
+/*
+ * bjt.c
+ *
+ */
+
+
+#include "netlist/devices/net_lib.h"
+
+NETLIST_START(bjt)
+ /* Standard stuff */
+
+ NETDEV_CLOCK(clk)
+ NETDEV_PARAM(clk.FREQ, 1000) // 1000 Hz
+ NETDEV_SOLVER(Solver)
+ NETDEV_PARAM(Solver.FREQ, 48000)
+
+ NETDEV_ANALOG_CONST(V3, 3)
+ NETDEV_ANALOG_CONST(STOPG, 0)
+ NET_ALIAS(SRSTQ, RYf.2)
+ NET_ALIAS(SRST, RYc.2)
+ NET_C(antenna, GND)
+ NET_ALIAS(runQ, Q1.C)
+
+ TTL_7404_INVERT(e4d, STOPG)
+
+ NETDEV_R(RYf, 50) // output impedance
+ NETDEV_R(RYc, 50) // output impedance
+
+ TTL_7404_INVERT(c9f, RYc.2)
+ TTL_7404_INVERT(c9c, RYf.2)
+ NET_C(c9f.Q, RYf.1)
+ NET_C(c9c.Q, RYc.1)
+
+ NETDEV_SWITCH2(coinsw, RYc.2, RYf.2)
+
+ NET_C(coinsw.Q, GND)
+
+ /* Antenna circuit */
+ /* Also has a diode to clamp negative voltages - omitted here */
+ NETDEV_QNPN(Q3, BC237B)
+ NET_ALIAS(antenna, Q3.B)
+ NET_C(GND, Q3.E)
+ NETDEV_R(RX5, 100)
+ NETDEV_C(CX1, 100)
+ NET_C(RX5.1, CX1.1)
+ NET_C(RX5.1, Q3.C)
+ NET_C(RX5.2, GND)
+ NET_C(CX1.2, GND)
+ NETDEV_QNPN(Q1, BC237B)
+ NET_C(Q1.B, RX5.1)
+ NET_C(Q1.E, GND)
+
+ NETDEV_D(D3, 1N914)
+ NET_C(D3.A, Q1.C)
+ NET_C(D3.K, SRSTQ)
+
+ NETDEV_D(D2, 1N914)
+ NETDEV_R(RX4, 220)
+ NET_C(D2.K, e4d.Q)
+ NET_C(D2.A, RX4.1)
+ NET_C(RX4.2, Q3.C)
+
+ NETDEV_R(RX1, 100)
+ NETDEV_R(RX2, 100)
+ NETDEV_R(RX3, 330)
+ NETDEV_C(CX2, CAP_U(0.1))
+
+ NET_C(RX3.2, D3.A)
+ NET_C(RX3.1, RX1.2)
+ NET_C(RX1.1, V3)
+
+ NET_C(RX1.1, CX2.1)
+ NET_C(RX1.2, CX2.2)
+
+ NETDEV_QPNP(Q2, BC556B)
+ NET_C(Q2.E, V3)
+ NET_C(Q2.B, RX1.2)
+ NET_C(Q2.C, RX2.2)
+
+ NET_C(RX2.1, D2.A)
+
+
+ //NETDEV_LOG(logB, Q1.B)
+ //NETDEV_LOG(logC, Q1.C)
+
+NETLIST_END()
diff --git a/nl_examples/todo.c b/nl_examples/todo.c
new file mode 100644
index 00000000000..1fa2d885584
--- /dev/null
+++ b/nl_examples/todo.c
@@ -0,0 +1,118 @@
+/*
+ * todo.c
+ *
+ */
+
+#if 0
+ NETDEV_R(R1, 10)
+ NETDEV_R(R2, 10)
+ NETDEV_R(R3, 10)
+ NET_C(V5,R1.1)
+ NET_C(R1.2, R2.1)
+ NET_C(R2.2, R3.1)
+ NET_C(R3.2, GND)
+#endif
+#if 0
+ NETDEV_R(R4, 1000)
+ NETDEV_C(C1, 1e-6)
+ NET_C(V5,R4.1)
+ NET_C(R4.2, C1.1)
+ NET_C(C1.2, GND)
+ //NETDEV_LOG(log1, C1.1)
+#endif
+
+#if 0
+ NETDEV_R(R5, 1000)
+ NETDEV_1N914(D1)
+ NET_C(V5, R5.1)
+ NET_C(R5.2, D1.A)
+ NET_C(D1.K, GND)
+ //NETDEV_LOG(log1, D1.A)
+#endif
+
+#if 0
+#endif
+
+#if 0
+ NETDEV_VCVS(VV)
+ NETDEV_R(R1, 1000)
+ NETDEV_R(R2, 10000)
+
+ NET_C(V5, R1.1)
+ NET_C(R1.2, VV.IN)
+ NET_C(R2.1, VV.OP)
+ NET_C(R2.2, VV.IN)
+ NET_C(VV.ON, GND)
+ NET_C(VV.IP, GND)
+ NETDEV_LOG(logX, VV.OP)
+
+#endif
+
+#if 0
+ NETDEV_VCCS(VV)
+ NETDEV_PARAM(VV.G, 100000) // typical OP-AMP amplification
+ NETDEV_R(R1, 1000)
+ NETDEV_R(R2, 1)
+ NETDEV_R(R3, 10000)
+
+ NET_C(4V, R1.1)
+ NET_C(R1.2, VV.IN)
+ NET_C(R2.1, VV.OP)
+ NET_C(R3.1, VV.IN)
+ NET_C(R3.2, VV.OP)
+ NET_C(R2.2, GND)
+ NET_C(VV.ON, GND)
+ NET_C(VV.IP, GND)
+ //NETDEV_LOG(logX, VV.OP)
+ //NETDEV_LOG(logY, 4V)
+
+#endif
+
+#if 0
+ NETDEV_VCVS(VV)
+ NETDEV_PARAM(VV.G, 100000) // typical OP-AMP amplification
+ NETDEV_PARAM(VV.RO, 50) // typical OP-AMP amplification
+ NETDEV_R(R1, 1000)
+ NETDEV_R(R3, 10000) // ==> 10x amplification (inverting)
+
+ NET_C(4V, R1.1)
+ NET_C(R1.2, VV.IN)
+ NET_C(R3.1, VV.IN)
+ NET_C(R3.2, VV.OP)
+ NET_C(VV.ON, GND)
+ NET_C(VV.IP, GND)
+ NETDEV_LOG(logX, VV.OP)
+ NETDEV_LOG(logY, 4V)
+
+#endif
+
+#if 0
+ // Impedance converter with resistor
+ NETDEV_VCVS(VV)
+ NETDEV_PARAM(VV.G, 100000) // typical OP-AMP amplification
+ NETDEV_PARAM(VV.RO, 50) // typical OP-AMP amplification
+ NETDEV_R(R3, 10000)
+
+ NET_C(4V, VV.IP)
+ NET_C(R3.1, VV.IN)
+ NET_C(R3.2, VV.OP)
+ NET_C(VV.ON, GND)
+ NETDEV_LOG(logX, VV.OP)
+ NETDEV_LOG(logY, 4V)
+
+#endif
+
+#if 0
+ // Impedance converter without resistor
+ NETDEV_VCVS(VV)
+ NETDEV_PARAM(VV.G, 100000) // typical OP-AMP amplification
+ NETDEV_PARAM(VV.RO, 50) // typical OP-AMP amplification
+
+ NET_C(4V, VV.IP)
+ NET_C(VV.IN, VV.OP)
+ NET_C(VV.ON, GND)
+ NETDEV_LOG(logX, VV.OP)
+ NETDEV_LOG(logY, 4V)
+
+#endif
+d