1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5 <link rel=
"stylesheet" media=
"screen" type=
"text/css" href=
"./style.css" />
6 <link rel=
"stylesheet" media=
"screen" type=
"text/css" href=
"./design.css" />
7 <link rel=
"stylesheet" media=
"print" type=
"text/css" href=
"./print.css" />
9 <meta http-equiv=
"Content-Type" content=
"text/html; charset=utf-8" />
12 <a href=.
>start
</a> =
> <a href=geda-gnetlist_ug.html
>gnetlist_ug
</a></br>
13 <div class=
"table sectionedit1"><table class=
"inline">
15 <td class=
"col0 leftalign"> «
<a href=
"geda-gnetlist_ug-input_output_files.html" class=
"wikilink1" title=
"geda-gnetlist_ug-input_output_files.html">Input
& output files
</a> </td><td class=
"col1 centeralign"> <strong><a href=
"geda-gnetlist_ug.html" class=
"wikilink1" title=
"geda-gnetlist_ug.html">gEDA gnetlist User Guide
</a></strong> </td><td class=
"col2 rightalign"> <a href=
"geda-gnetlist_ug-basic_netlisting.html" class=
"wikilink1" title=
"geda-gnetlist_ug-basic_netlisting.html">Basic netlisting
</a> »
</td>
18 <!-- EDIT1 TABLE [1-187] -->
19 <h2 class=
"sectionedit2" id=
"netlist_backends">Netlist backends
</h2>
23 Normally, gnetlist generates a netlist in two steps.
26 <li class=
"level1"><div class=
"li"> The gnetlist frontend uses the human-readable schematic files to construct an intermediate form of the design.
</div>
28 <li class=
"level1"><div class=
"li"> A
<em>netlist backend
</em> is used to extract information from the intermediate form and write it out to disk.
</div>
33 Most backends are used to write out electrical connectivity information in a machine-readable format for use by other tools. For example, the “liquidpcb” backend is used to generate a netlist to use when designing a circuit board with
<a href=
"http://www.liquidpcb.org/" class=
"urlextern" title=
"http://www.liquidpcb.org/" rel=
"nofollow">LiquidPCB
</a>, and the “spice-sdb” backend is often used to create netlists for use with the SPICE simulator.
37 Backends may have other uses, however. For example, the “bom2” backend is used for generating a list of components used (a “Bill of Materials”), and the “drc2” backend carries out “design rule checking” (i.e. checking a design for commonly-made errors and potential problems).
41 A summary of all the netlist backends distributed with gnetlist is provided in the gnetlist manpage (which you can view by running
<code>man gnetlist
</code>).
43 <div class=
"notetip">If none of the distributed backends do what you need, you can write and install your own! For more information, see the
<a href=
"geda-gnetlist_scheme_tutorial.html" class=
"wikilink1" title=
"geda-gnetlist_scheme_tutorial.html">Scripting a gnetlist backend in Scheme
</a> tutorial.
46 <!-- EDIT2 SECTION "Netlist backends" [189-1522] -->
47 <h3 class=
"sectionedit3" id=
"specifying_a_backend">Specifying a backend
</h3>
51 Use the
<code>-g
</code> option to indicate which backend you would like gnetlist to run. For example, to run the “bom2” backend:
53 <pre class=
"code">gnetlist -g bom2
</pre>
56 <!-- EDIT3 SECTION "Specifying a backend" [1523-1709] -->
57 <h3 class=
"sectionedit4" id=
"listing_backends">Listing backends
</h3>
61 To view a list of installed backends, use the
<code>--list-backends
</code> command-line option:
63 <pre class=
"code">gnetlist --list-backends
</pre>
66 This will print a list of all the backends that gnetlist can find.
70 <!-- EDIT4 SECTION "Listing backends" [1710-1938] -->
71 <h3 class=
"sectionedit5" id=
"interactive_mode">Interactive mode
</h3>
75 An alternative to running a backend is to use
<em>interactive mode
</em>. When the
<code>-i
</code> option is used, gnetlist creates the intermediate form from the schematic files, and then enters a Scheme REPL (Read-Eval-Print Loop). This allows you to run Scheme commands and inspect the output, which can be useful for troubleshooting and to enable some advanced netlist processing techniques.
79 <!-- EDIT5 SECTION "Interactive mode" [1939-] --></body>