Updated version strings in all man pages
[geda-gaf.git] / gnetlist / docs / gnetlist.1
blob55d0a1842db9b46684972e458359e2384605cb30
1 .TH gnetlist 1 "January 15th, 2011" Version 1.6.2.20110115
2 .SH NAME
3 gnetlist - gEDA/gaf Netlist extraction/generation
4 .SH SYNOPSIS
5 .B gnetlist
6 [\-e] [\-i] [\-I] [\-q] [\-s] [\-v] [\-l schem_file] [\-m schem_file ] [\-n] [ \-O option ] [\-h | \-\-help] [\-g guile_procedure] [\-c scheme_string ] [\-o output_filename] schematic1 [... schematicN]
7 .SH DESCRIPTION
8 .PP
9 \fIgnetlist\fP is the netlist extraction/generation program which is part gEDA 
10 (GPL Electronic Design Automation) toolset.  This program takes a schematic
11 for its input and outputs a netlist.  
13 gnetlist depends heavily on guile (a scheme based scripting language).  It 
14 uses guile to define the output format.  Basically gnetlist reads a schematic,
15 creates an internal representation of the various connections, and then a
16 guile script extracts the connections into some netlist format.  
18 gnetlist is very much so a work in progress.  Currently it supports the
19 following backends: 
21 .IP \[bu] 2 
22 Allegro netlist format (\-g allegro)
23 .IP \[bu]
24 BOM / BOM2 - Bill of Materials (\-g bom and \-g bom2)
25 .IP \[bu]
26 Partslist 1,2,3 - More Bill of Materials (\-g partslist[1-3])
27 .IP \[bu]
28 DRC - Start of a design rule checker (\-g drc)
29 .IP \[bu]
30 DRC2 - A second design rule checker (\-g drc2)
31 .IP \[bu]
32 gEDA - native format, mainly used for testing (\-g geda)
33 .IP \[bu]
34 Gossip netlist format (\-g gossip)
35 .IP \[bu]
36 PADS netlist format (\-g pads)
37 .IP \[bu]
38 PCB / PCBboard (\-g PCB and \-g PCBboard)
39 .IP \[bu]
40 PCB actions file for forward annotating pin/pad names from
41 schematic to layout (\-g pcbpins)
42 .IP \[bu]
43 gsch2pcb backend (\-g gsch2pcb)
44 .IP \[bu]
45 ProtelII netlist format (\-g protelII)
46 .IP \[bu]
47 Spice compatible netlist format (\-g spice)
48 .IP \[bu]
49 Enhanced spice compatible netlist format (\-g spice-sdb)
50 .IP \[bu]
51 Tango netlist format (\-g tango)
52 .IP \[bu]
53 Verilog code (\-g verilog)
54 .IP \[bu]
55 VHDL code (\-g vhdl)
56 .IP \[bu]
57 VIPEC netlist format (\-g vipec)
58 .IP \[bu]
59 Bartels Autoengineer netlist format (\-g bae)
60 .IP \[bu]
61 GOSSIP system simulation system netlist format (\-g gossip)
62 .IP \[bu]
63 MAXASCII netlist format (\-g maxascii)
64 .IP \[bu]
65 VHDL-AMS netlist format (\-g vams)
66 .IP \[bu]
67 Futurenet2 netlist format (\-g futurenet2)
68 .IP \[bu]
69 SWITCAP switched capacitor simulator netlist format (\-g switcap)
70 .IP \[bu]
71 RF Cascade netlist format (\-g cascade)
72 .IP \[bu]
73 RACAL-REDAC netlist format (\-g redac)
74 .IP \[bu]
75 SystemC netlist backend (\-g systemc)
76 .IP \[bu]
77 Calay format netlist backend (\-g calay)
78 .IP \[bu]
79 Osmond format netlist backend (\-g osmond)
80 .IP \[bu]
81 Eagle netlist format (\-g eagle)
82 .IP \[bu]
83 Netlister for symbolic circuit analysis using Mathematica (\-g mathematica)
84 .IP \[bu]
85 LiquidPCB format netlist backend (\-g liquidpcb)
87 For more info on these formats please look at the README.*
89 Please read the official documentation on how to use
90 gnetlist, since this man page just describes the command line arguments
91 and a few examples on how to run gnetlist.
93 .SH OPTIONS
94 \fIgnelist\fP accepts the following options:
95 .TP 8
96 .B -q
97 Quiet mode on.  This mode turns off all warnings/notes/messages. (optional)
98 .TP 8
99 .B -v 
100 Verbose mode on.  This mode gives as much feedback to the user as possible. (optional)
101 .TP 8
102 .B -g guile_procedure
103 Specify the guile procedure which is executed to create the netlist. Use "\-g help" to display a list of available backends.
104 .TP 8
105 .B -o output_filename
106 Specify the filename which will contain the netlist generated by gnetlist.  If this option is not specified the default filename is "output.net".
107 .TP 8
108 .B -l scheme_file
109 Specify a filename which contains scheme code to be loaded and
110 execute before any backend is loaded or any guile procedure (using \-g flag) 
111 is executed.  This flag can be specified multiple times and can be used to 
112 pass information to backends.
113 .TP 8
114 .B -e, --embed 
115 Force embedding contents of .include file when using the spice-sdb backend.
116 .TP 8
117 .B -O string
118 Pass the given option to the specified backend.
119 .TP 8
120 .B -m scheme_file
121 Specify a filename which contains scheme code to be loaded and
122 execute after the backend is loaded but still before any guile procedure 
123 (using \-g flag) is executed.  This flag can be specified multiple times 
124 and can be used to pass information to backends.  This flag, for example, 
125 allows the user to override variables inside of the backends (such as paths).
126 .TP 8
127 .B -n, --nomunge
128 Do not autocorrect the refdes attributes.  Only applies to the spice-sdb backend.
129 .TP 8
130 .B -c string
131 Pass the specified string to the guile interpreter.  This allows you to 
132 execute arbitrary guile scripts from the command line.  Be sure to surround
133 the string with either single or double quotes to satisfy your shell.  The
134 string is execute before any init or netlist backend scheme code is
135 loaded or executed.
136 .TP 8
137 .B -I, --include 
138 Put .INCLUDE <filename> in output file instead of model file's contents.
139 .TP 8
140 .B -h, --help
141 Print out short command line help.
142 .TP 8
143 .B -i 
144 Interactive mode.  After the schematic is read in and parsed then go into 
145 interactive mode.  Interactive mode allows the user to execute guile 
146 procedures directly. 
147 .TP 8
148 .B -s 
149 Sort output netlist (for Gnucap)
150 .TP 8
151 schematic1 [... schematicN]
152 At least one schematic file must be specified.  If multiple schematics are 
153 specified then they are sequentially read in and parsed with the assumption 
154 that they are all part of the same design.  It is important that the 
155 schematic(s) follow all the options (ie last).
157 .SH EXAMPLES 
158 These examples assume that you have a stack_1.sch in the current directory.
160 gnetlist requires that at least one schematic to be specified on the command line:
163         ./gnetlist stack_1.sch 
164 .ad b 
166 This is not very useful since it does not direct gnetlist to do 
167 anything.  
169 Specify a guile procedure name to get gnetlist to output a netlist:
172         ./gnetlist \-g geda stack_1.sch 
173 .ad b 
175 The netlist output will be written to a file called "output.net" 
176 in the current working directory.
178 You can specify the output filename by using the \-o flag:
181         ./gnetlist \-g geda stack_1.sch \-o stack.netlist
182 .ad b 
184 The spice backend is run against the schematic(s) if you specify 
185 \-g spice and the tango backend is run if you specify \-g tango.
187 To interact with the guile interpreter:
190         ./gnetlist \-i stack_1.sch 
191 .ad b 
193 You will get a prompt where you can execute guile procedures.
195 To get a more verbose feedback as to what gnetlist is doing run 
196 with the \-v flag:
199         ./gnetlist \-v \-g geda stack_1.sch 
200 .ad b 
202 .SH "ENVIRONMENT"
203 \fIgnetlist\fP respects the following environment variable:
205 .TP 8
206 .B GEDADATA 
207 Specifies where the various required scheme and rc files are located
208 (the default is ${prefix}/share/gEDA).  This environment variables does
209 not need to be set by the end user unless they are moving the executables
210 to a new install ${prefix}.
212 .SH "AUTHOR"
213 Ales Hvezda and many others
215 .SH SEE ALSO
216 .BR gschem (1),
217 .BR gsymcheck (1)
218 .SH COPYRIGHT
219 Copyright \(co  1999-2008 Ales Hvezda
221 This document can be freely redistributed according to the terms of the 
222 GNU General Public License version 2.0.