diff options
Diffstat (limited to 'src/lib/netlist/documentation/primer_1.dox.h')
-rw-r--r-- | src/lib/netlist/documentation/primer_1.dox.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/lib/netlist/documentation/primer_1.dox.h b/src/lib/netlist/documentation/primer_1.dox.h new file mode 100644 index 00000000000..8df612e242d --- /dev/null +++ b/src/lib/netlist/documentation/primer_1.dox.h @@ -0,0 +1,62 @@ +/*! \page primer_1 nltool primer + +## First example + +Let's start with a simple charge/discharge circuit. I denotes the input, +O denotes the output. + + I >----RRR----+-----> O + | + C + C + C + | + GND + +Now in netlist syntax this looks like: + +~~~{.cpp} +NETLIST_START(charge_discharge) + SOLVER(solver, 48000) // Fixed frequency solver + CLOCK(I, 200) // 200 Hz clock as input, TTL logic output + RES(R, RES_K(1)) + CAP(C, CAP_U(1)) + + NET_C(I.Q, R.1) + NET_C(R.2, C.1) + NET_C(C.2, GND) + + 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 +is simple. You can also compile netlists. Thats a feature which is used by MAME. +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 +~~~ + +This will run the circuit for 50 ms and log input "I" to file log_I.log and +output "O" to log_O.log . The log files will be located in the current folder. + +Next, run + +~~~ +> plot_nl I O +~~~ + + + +and enjoy the results. + +##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 +and output voltages using the plot_nl command using the log files we generated. + +*/ |