summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/documentation/primer_1.dox.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/documentation/primer_1.dox.h')
-rw-r--r--src/lib/netlist/documentation/primer_1.dox.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/lib/netlist/documentation/primer_1.dox.h b/src/lib/netlist/documentation/primer_1.dox.h
index 8df612e242d..6c2642fbcde 100644
--- a/src/lib/netlist/documentation/primer_1.dox.h
+++ b/src/lib/netlist/documentation/primer_1.dox.h
@@ -1,6 +1,6 @@
/*! \page primer_1 nltool primer
-## First example
+# First example
Let's start with a simple charge/discharge circuit. I denotes the input,
O denotes the output.
@@ -16,7 +16,13 @@ O denotes the output.
Now in netlist syntax this looks like:
~~~{.cpp}
+#include "netlist/devices/net_lib.h"
+
NETLIST_START(charge_discharge)
+{
+
+ ANALOG_INPUT(V5, 5) // Clock needs a 5V power supply
+
SOLVER(solver, 48000) // Fixed frequency solver
CLOCK(I, 200) // 200 Hz clock as input, TTL logic output
RES(R, RES_K(1))
@@ -24,10 +30,12 @@ NETLIST_START(charge_discharge)
NET_C(I.Q, R.1)
NET_C(R.2, C.1)
- NET_C(C.2, GND)
+
+ NET_C(GND, C.2, I.GND)
+ NET_C(V5, I.VCC)
ALIAS(O, R.2) // Output O == C.1 == R.2
-NETLIST_END()
+}
~~~
Save this example as e.g. test1.cpp. Now that's a c++ extension. The background
@@ -37,7 +45,7 @@ That's something we will cover later.
Now, to test this, run the following:
~~~
-> nltool --cmd=run -f test1.cpp -t 0.05 -l O -l I
+> nltool --cmd=run -t 0.05 -l O -l I test1.cpp
~~~
This will run the circuit for 50 ms and log input "I" to file log_I.log and
@@ -46,14 +54,14 @@ output "O" to log_O.log . The log files will be located in the current folder.
Next, run
~~~
-> plot_nl I O
+> plot_nl O I
~~~
![](test1-50r.svg)
and enjoy the results.
-##Recap
+# Recap
We have created our first netlist fragment. nltool was used to model the
periodically forced charge/discharge circuit for 50ms. Finally we plotted both input