gnetlist is the netlist extraction/generation program which is part gEDA (GPL Electronic Design Automation) toolset. This program takes a schematic for its input and outputs a netlist.
gnetlist depends heavily on guile (a scheme based scripting language). It uses guile to define the output format. Basically gnetlist reads a schematic, creates an internal representation of the various connections, and then a guile script extracts the connections into some netlist format.
gnetlist is very much so a work in progress. Currently it supports the following backends:
1) Allegro netlist format (-g allegro)
2) BAE netlist format (-g bae)
3) BOM / BOM2 - Bill of Materials (-g bom and -g bom2)
4) Partslist 1,2,3 - More Bill of Materials (-g partslist[1-3])
5) DRC - Start of a design rule checker (-g drc)
6) DRC2 - A second design rule checker (-g drc2)
7) gEDA - native format, mainly used for testing (-g geda)
8) Gossip netlist format (-g gossip)
9) PADS netlist format (-g pads)
10) PCB / PCBboard (-g PCB and -g PCBboard)
11) gsch2pcb backend (-g gsch2pcb)
12) ProtelII netlist format (-g protelII)
13) Spice compatible netlist format (-g spice)
14) Enhanced spice compatible netlist format (-g spice-sdb)
15) Switcap netlist format (-g switcap)
16) Tango netlist format (-g tango)
17) Verilog code (-g verilog)
18) VHDL code (-g vhdl)
19) VIPEC netlist format (-g vipec)
20) Bartels Autoengineer netlist format (-g bae)
21) GOSSIP system simulation system netlist format (-g gossip)
22) MAXASCII netlist format (-g maxascii)
23) VHDL-AMS netlist format (-g vams)
24) Futurenet2 netlist format (-g futurenet2 )
25) SWITCAP switched capacitor simulator netlist format (-g switcap )
26) RF Cascade netlist format (-g cascade )
27) RACAL-REDAC netlist format (-g redac )
28) PCB actions file for forward annotating pin/pad names from schematic to layout (-g pcbpins)
For more info on these formats please look at the README.*
Please read the official (non-existant) documentation on how to use gnetlist, since this man page just describes the command line arguments and a few examples on how to run gnetlist.
gnetlist requires that at least one schematic to be specified on the command line:
./gnetlist stack_1.sch
This is not very useful since it does not direct gnetlist to do
anything.
Specify a guile procedure name to get gnetlist to output a netlist:
./gnetlist -g geda stack_1.sch
The netlist output will be written to a file called "output.net"
in the current working directory.
You can specify the output filename by using the -o flag:
./gnetlist -g geda stack_1.sch -o stack.netlist
The spice backend is run against the schematic(s) if you specify
-g spice and the tango backend is run if you specify -g tango.
To interact with the guile interpreter:
./gnetlist -i stack_1.sch
You will get a prompt where you can execute guile procedures.
To get a more verbose feedback as to what gnetlist is doing run
with the -v flag:
./gnetlist -v -g geda stack_1.sch
This document can be freely redistributed according to the terms of the GNU General Public License version 2.0