gaf: Fix memory leak
[geda-gaf.git] / docs / gnetlist.1.in
blob78fd2cc6b03b7f453792b4b2d710041aee30db25
1 .TH gnetlist 1 "@DATE@" "gEDA Project" @VERSION@
2 .SH NAME
3 gnetlist - gEDA/gaf Netlist Extraction and Generation
4 .SH SYNOPSIS
5 .B gnetlist
6 [\fIOPTION\fR...] [\fB-p\fR \fIBACKEND\fR|\fB-g\fR \fIBACKEND\fR] [--] \fIFILE\fR...
8 .SH DESCRIPTION
9 .PP
11 \fBgnetlist\fR is a netlist extraction and generation tool and is part
12 of the gEDA (GPL Electronic Design Automation) toolset.  It takes one
13 or multiple electronic schematics as input and outputs a netlist.  A
14 netlist is a machine-interpretable description of the way that
15 components in an electronic circuit are connected together and is
16 commonly used as the input to a PCB layout program such as
17 \fBpcb\fR(1) or to a simulator such as \fBgnucap\fR(1).
19 A normal \fBgnetlist\fR run is carried out in two steps.  First, the
20 \fBgnetlist\fR frontend loads the specified human-readable schematic
21 \fIFILE\fRs and compiles them to an in-memory netlist description.
22 Then, a \fIBACKEND\fR is used to export the connection and component
23 data to one of many supported netlist formats.
25 \fBgnetlist\fR is extensible in Python and Scheme.
27 .SH GENERAL OPTIONS
28 .TP 8
29 \fB-q\fR
30 Quiet mode. Turns off all warnings/notes/messages.
31 .TP 8
32 \fB-v\fR, \fB--verbose\fR
33 Verbose mode.  Output all diagnostic information.
34 .TP 8
35 \fB-L\fR \fIDIRECTORY\fR
36 Prepend \fIDIRECTORY\fR to the list of directories to be searched for
37 Python backends, Scheme backends, and other Scheme files.
38 .TP 8
39 \fB-p\fR \fIBACKEND\fR
40 Specify the Python netlist backend to be used.
41 .TP 8
42 \fB-g\fR \fIBACKEND\fR
43 Specify the Scheme netlist backend to be used.
44 .TP 8
45 \fB-O\fR \fISTRING\fR
46 Pass an option string to the backend.
47 .TP 8
48 \fB--list-backends\fR
49 Print a list of available netlist backends.  A backend name is
50 prefixed with the letters `P' and `G' in brackets if it is available
51 as a Python and as a Scheme backend, respectively.
52 .TP 8
53 \fB-o\fR \fIFILE\fR
54 Specify the filename for the generated netlist.  By default, output is
55 directed to `output.net'.
56 If `-' is given instead of a filename, the output is directed to the
57 standard output.
58 .TP 8
59 \fB-l\fR \fIFILE\fR
60 Specify a Scheme file to be loaded before the backend is loaded or
61 executed.  This option can be specified multiple times.
62 .TP 8
63 \fB-m\fR \fIFILE\fR
64 Specify a Scheme file to be loaded between loading the backend and
65 executing it.  This option can be specified multiple times.
66 .TP 8
67 \fB-c\fR \fIEXPR\fR
68 Specify a Scheme expression to be executed during \fBgnetlist\fR
69 startup.  This option can be specified multiple times.
70 .TP 8
71 \fB-i\fR
72 After the schematic files have been loaded and the netlist generated,
73 enter an interactive Python interpreter.  The netlist structure is
74 available as `netlist' in the local dictionary.
75 .TP 8
76 \fB--report-gui\fR
77 Report warnings and errors in a GUI dialog.
78 .TP 8
79 \fB-h\fR, \fB--help\fR
80 Print a help message.
81 .TP 8
82 \fB-V\fR, \fB--version\fR
83 Print \fBgnetlist\fR version information.
84 .TP 8
85 \fB--\fR
86 Treat all remaining arguments as schematic filenames.  Use this if you
87 have a schematic filename which begins with `-'.
89 .SH BACKENDS
90 .PP
91 Currently, \fBgnetlist\fR includes the following backends:
93 .TP 8
94 \fBallegro\fR
95 Allegro netlist format.
96 .TP 8
97 \fBbae\fR
98 Bartels Autoengineer netlist format.
99 .TP 8
100 \fBbom\fR, \fBbom2\fR
101 Bill of materials generation.
102 .TP 8
103 \fBcalay\fR
104 Calay netlist format.
105 .TP 8
106 \fBcascade\fR
107 RF Cascade netlist format.
108 .TP 8
109 \fBdrc\fR, \fBdrc2\fR
110 Design rule checkers (\fBdrc2\fR is recommended).
111 .TP 8
112 \fBdumpindent\fR, \fBdumpjson\fR, \fBdumplihata\fR, \fBdumptext\fR, \fBdumpxml\fR
113 Dump the netlist in various generic formats.
114 .TP 8
115 \fBeagle\fR
116 Eagle netlist format.
117 .TP 8
118 \fBewnet\fR
119 Netlist format for National Instruments ULTIboard layout tool.
120 .TP 8
121 \fBfuturenet2\fR
122 Futurenet2 netlist format.
123 .TP 8
124 \fBgeda\fR
125 Internal gEDA netlist format (used for testing and diagnostics).
126 .TP 8
127 \fBgossip\fR
128 Gossip netlist format.
129 .TP 8
130 \fBgsch2pcb\fR
131 Backend used for \fBpcb\fR(1) file layout generation by
132 \fBgsch2pcb\fR(1).  It is not recommended to use this backend
133 directly.
134 .TP 8
135 \fBguile\fR
136 Compatibility layer for old backends written in Scheme.
137 .TP 8
138 \fBliquidpcb\fR
139 LiquidPCB netlist format.
140 .TP 8
141 \fBmakedpend\fR
142 Auto-generate dependencies for Makefiles.
143 .TP 8
144 \fBmathematica\fR
145 Netlister for analytical circuit solving using Mathematica.
146 .TP 8
147 \fBmaxascii\fR
148 MAXASCII netlist format.
149 .TP 8
150 \fBosmond\fR
151 Osmond netlist format.
152 .TP 8
153 \fBpads\fR
154 PADS netlist format.
155 .TP 8
156 \fBpartslist1\fR, \fBpartslist2\fR, \fBpartslist3\fR
157 Bill of materials generation backends (alternatives to \fBbom\fR and
158 \fBbom2\fR).
159 .TP 8
160 \fBPCB\fR
161 \fBpcb\fR(1) netlist format.
162 .TP 8
163 \fBpcbfwd\fR
164 Internally used by \fBpcb\fR(1)'s "Import Schematics" mechanism.
165 .TP 8
166 \fBpcbpins\fR
167 Generates a \fBpcb\fR(1) action file for forward annotating pin/pad
168 names from schematic to layout.
169 .TP 8
170 \fBprotelII\fR
171 Protel II netlist format.
172 .TP 8
173 \fBredac\fR
174 RACAL-REDAC netlist format.
175 .TP 8
176 \fBspice\fR, \fBspice-sdb\fR, \fBspice-noqsi\fR
177 SPICE-compatible netlist format (\fBspice-sdb\fR and \fBspice-noqsi\fR
178 are recommended).
179 Suitable for use with \fBgnucap\fR(1).
180 .TP 8
181 \fBswitcap\fR
182 SWITCAP switched capacitor simulator netlist format.
183 .TP 8
184 \fBsystemc\fR
185 Structural SystemC code generation.
186 .TP 8
187 \fBtango\fR
188 Tango netlist format.
189 .TP 8
190 \fBtedax\fR
191 tEDAx netlist format (used by \fBpcb-rnd\fR(1)).
192 .TP 8
193 \fBvams\fR
194 VHDL-AMS code generation.
195 .TP 8
196 \fBverilog\fR
197 Verilog code generation.
198 .TP 8
199 \fBvhdl\fR
200 VHDL code generation.
201 .TP 8
202 \fBvipec\fR
203 ViPEC Network Analyser netlist format.
206 .SH EXAMPLES
208 These examples assume that you have a schematic file `stack_1.sch' in
209 the current directory.
211 \fBgnetlist\fR requires that at least one schematic and either a
212 Python backend, a Scheme backend, or interactive mode are specified on
213 the command line.  If a backend name is specified with `\-p
214 \fIBACKEND\fR' (for a Python backend) or `\-g \fIBACKEND\fR' (for a
215 Scheme backend), \fBgnetlist\fR will output a netlist:
218         gnetlist \-p dumptext stack_1.sch
219 .ad b
222 The netlist output will be written to a file called `output.net'
223 in the current working directory.
226 You can specify the output filename by using the `\-o' option:
229         gnetlist \-p dumptext \-o /tmp/stack.netlist stack_1.sch
230 .ad b
233 Output will now be directed to `/tmp/stack.netlist'.
236 You could run (for example) the `spice-sdb' backend against the
237 schematic if you specified `\-p spice-sdb', or you could generate a
238 bill of materials for the schematic using `\-p partslist1'.
241 To obtain a Python prompt to run Python commands directly, you can
242 use the `\-i' option.
245         gnetlist \-i stack_1.sch
246 .ad b
249 \fBgnetlist\fR will load `stack_1.sh' and then enter an interactive
250 Python interpreter.  The netlist structure is available as `netlist'
251 in the local dictionary.
253 .SH ENVIRONMENT
254 .TP 8
255 .B GEDADATA
256 specifies the search directory for Scheme and rc files.  The default
257 is `${prefix}/share/gEDA'.
258 .TP 8
259 .B GEDADATARC
260 specifies the search directory for rc files.  The default is `$GEDADATA'.
262 .SH AUTHORS
263 See the `AUTHORS' file included with this program.
265 .SH COPYRIGHT
267 Copyright \(co 1999-@YEAR@ gEDA Contributors.  License GPLv2+: GNU GPL
268 version 2 or later.  Please see the `COPYING' file included with this
269 program for full details.
271 This is free software: you are free to change and redistribute it.
272 There is NO WARRANTY, to the extent permitted by law.
274 .SH SEE ALSO
275 \fBgschem\fR(1), \fBgsymcheck\fR(1), \fBpcb\fR(1), \fBpcb-rnd\fR(1), \fBgnucap\fR(1)