gnetlist - gEDA/gaf Netlist extraction/generation |
gnetlist [-i] [-I] [-q] [-s] [-v] [-l schem_file] [-m schem_file ] [-g guile_procedure] [-c scheme_string ] [-o output_filename] schematic1 [... schematicN] |
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 ) |
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. |
gnelist accepts the following options: |
-q |
Quiet mode on. This mode turns off all warnings/notes/messages. (optional) |
||
-v |
Verbose mode on. This mode gives as much feedback to the user as possible. (optional) |
-g guile_procedure |
Specify the guile procedure which is executed to create the netlist. |
-o output_filename |
Specify the filename which will contain the netlist generated by gnetlist. If this option is not specified the default filename is "output.net". |
-l scheme_file |
Specify a filename which contains scheme code to be loaded and execute before any backend is loaded or any guile procedure (using -g flag) is executed. This flag can be specified multiple times and can be used to pass information to backends. |
-m scheme_file |
Specify a filename which contains scheme code to be loaded and execute after the backend is loaded but still before any guile procedure (using -g flag) is executed. This flag can be specified multiple times and can be used to pass information to backends. This flag, for example, allows the user to override variables inside of the backends (such as paths). |
-c string |
Pass the specified string to the guile interpreter. This allows you to execute arbitrary guile scripts from the command line. Be sure to surround the string with either single or double quotes to satisfy your shell. The string is execute before any init or netlist backend scheme code is loaded or executed. |
-I |
Put .INCLUDE <filename> in output file instead of model file’s contents. |
||
-i |
Interactive mode. After the schematic is read in and parsed then go into interactive mode. Interactive mode allows the user to execute guile procedures directly. |
||
-s |
Sort output netlist (for Gnucap) |
schematic1 [... schematicN] |
At least one schematic file must be specified. If multiple schematics are specified then they are sequentially read in and parsed with the assumption that they are all part of the same design. It is important that the schematic(s) follow all the options (ie last). |
These examples assume that you have a stack_1.sch in the current directory. 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 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" 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 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 |
./gnetlist -v -g geda stack_1.sch |
No environment variables are used. |
Ales Hvezda and many others |
gschem(1), gsymcheck(1) |
Copyright © 1999-2004 Ales Hvezda This document can be freely redistributed according to the terms of the GNU General Public License version 2.0 |