summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/examples/nmos_fet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/examples/nmos_fet.cpp')
-rw-r--r--src/lib/netlist/examples/nmos_fet.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/lib/netlist/examples/nmos_fet.cpp b/src/lib/netlist/examples/nmos_fet.cpp
new file mode 100644
index 00000000000..8ee91c97fc3
--- /dev/null
+++ b/src/lib/netlist/examples/nmos_fet.cpp
@@ -0,0 +1,55 @@
+// license:CC0-1.0
+// copyright-holders:Couriersud
+/*
+ * nmos_fet.cpp
+ *
+ */
+
+
+#include "netlist/devices/net_lib.h"
+#include "netlist/devices/net_lib.h"
+
+NETLIST_START(nmos)
+{
+ /* Standard stuff */
+
+ CLOCK(clk, 100) // 100 Hz
+ SOLVER(Solver, 48000)
+ PARAM(Solver.ACCURACY, 1e-9)
+ PARAM(Solver.NR_LOOPS, 50000)
+ PARAM(Solver.DYNAMIC_TS, 1)
+ PARAM(Solver.DYNAMIC_MIN_TIMESTEP, 1e-9)
+ ANALOG_INPUT(V5, 5)
+ ANALOG_INPUT(V3, 3.5)
+
+ /* NMOS - example */
+
+ NET_MODEL("MM NMOS(VTO=1.0 KP=2e-3 LAMBDA=2E-2)")
+ MOSFET(M, "MM")
+
+ RES(RB, 1000)
+ RES(RC, 10000)
+
+ NET_C(RC.1, V5)
+ NET_C(RC.2, M.D)
+ NET_C(RB.1, clk)
+ //NET_C(RB.1, V3)
+ NET_C(RB.2, M.G)
+ NET_C(M.S, GND)
+
+ // put some load on M.D
+
+ RES(RCE, 150000)
+ NET_C(RCE.1, M.D)
+ NET_C(RCE.2, GND)
+
+ // capacitance over G - S
+
+ CAP(C, CAP_N(1))
+ NET_C(M.D, C.1)
+ NET_C(M.S, C.2)
+
+ LOG(log_G, M.G)
+ LOG(log_D, M.D)
+
+}