gnetlist(1)                      1.6.0.2001004                     gnetlist(1)



NAME
       gnetlist - gEDA/gaf Netlist extraction/generation

SYNOPSIS
       gnetlist [-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]

DESCRIPTION
       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:


       o Allegro netlist format (-g allegro)

       o BOM / BOM2 - Bill of Materials (-g bom and -g bom2)

       o Partslist 1,2,3 - More Bill of Materials (-g partslist[1-3])

       o DRC - Start of a design rule checker (-g drc)

       o DRC2 - A second design rule checker (-g drc2)

       o gEDA - native format, mainly used for testing (-g geda)

       o Gossip netlist format (-g gossip)

       o PADS netlist format (-g pads)

       o PCB / PCBboard (-g PCB and -g PCBboard)

       o PCB actions file for forward annotating pin/pad names from schematic
         to layout (-g pcbpins)

       o gsch2pcb backend (-g gsch2pcb)

       o ProtelII netlist format (-g protelII)

       o Spice compatible netlist format (-g spice)

       o Enhanced spice compatible netlist format (-g spice-sdb)

       o Tango netlist format (-g tango)

       o Verilog code (-g verilog)

       o VHDL code (-g vhdl)

       o VIPEC netlist format (-g vipec)

       o Bartels Autoengineer netlist format (-g bae)

       o GOSSIP system simulation system netlist format (-g gossip)

       o MAXASCII netlist format (-g maxascii)

       o VHDL-AMS netlist format (-g vams)

       o Futurenet2 netlist format (-g futurenet2)

       o SWITCAP switched capacitor simulator netlist format (-g switcap)

       o RF Cascade netlist format (-g cascade)

       o RACAL-REDAC netlist format (-g redac)

       o SystemC netlist backend (-g systemc)

       o Calay format netlist backend (-g calay)

       o Osmond format netlist backend (-g osmond)

       o Eagle netlist format (-g eagle)

       o Netlister for symbolic circuit analysis using Mathematica (-g
         mathematica)

       o LiquidPCB format netlist backend (-g liquidpcb)

         For more info on these formats please look at the README.*

         Please read the official 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.


OPTIONS
       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. Use "-g help" to display a list of available backends.

       -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.

       -e, --embed
               Force embedding contents of .include file when using the spice-
               sdb backend.

       -O string
               Pass the given option to the specified backend.

       -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).

       -n, --nomunge
               Do not autocorrect the refdes attributes.  Only applies to the
               spice-sdb backend.

       -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, --include
               Put .INCLUDE <filename> in output file instead of model file's
               contents.

       -h, --help
               Print out short command line help.

       -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).


EXAMPLES
       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
       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


ENVIRONMENT
       gnetlist respects the following environment variable:

       GEDADATA
               Specifies where the various required scheme and rc files are
               located (the default is ${prefix}/share/gEDA).  This
               environment variables does not need to be set by the end user
               unless they are moving the executables to a new install
               ${prefix}.


AUTHOR
       Ales Hvezda and many others


SEE ALSO
       gschem(1), gsymcheck(1)

COPYRIGHT
       Copyright (C)  1999-2008 Ales Hvezda

       This document can be freely redistributed according to the terms of the
       GNU General Public License version 2.0.




Version                        October 4th, 2009                   gnetlist(1)
