diff options
author | 2014-01-10 19:23:42 +0000 | |
---|---|---|
committer | 2014-01-10 19:23:42 +0000 | |
commit | f8eac14fa9eb507a7e9374fcd187de311abf68de (patch) | |
tree | 1fd6d1a0269e1e3127f1f78b17f0ec6f7480449b /nl_examples | |
parent | 6efc17f6956392e687b48deeeecea921364033e3 (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.c | 4 | ||||
-rw-r--r-- | nl_examples/bjt_eb.c | 6 | ||||
-rw-r--r-- | nl_examples/msx_mixer_stage.c | 2 | ||||
-rw-r--r-- | nl_examples/test.c | 86 | ||||
-rw-r--r-- | nl_examples/todo.c | 118 |
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 |