User Tools

Site Tools


Netlist backends

Normally, gnetlist generates a netlist in two steps.

  1. The gnetlist frontend uses the human-readable schematic files to construct an intermediate form of the design.
  2. A netlist backend is used to extract information from the intermediate form and write it out to disk.

Most backends are used to write out electrical connectivity information in a machine-readable format for use by other tools. For example, the “liquidpcb” backend is used to generate a netlist to use when designing a circuit board with LiquidPCB, and the “spice-sdb” backend is often used to create netlists for use with the SPICE simulator.

Backends may have other uses, however. For example, the “bom2” backend is used for generating a list of components used (a “Bill of Materials”), and the “drc2” backend carries out “design rule checking” (i.e. checking a design for commonly-made errors and potential problems).

A summary of all the netlist backends distributed with gnetlist is provided in the gnetlist manpage (which you can view by running man gnetlist).

If none of the distributed backends do what you need, you can write and install your own! For more information, see the Scripting a gnetlist backend in Scheme tutorial.

Specifying a backend

Use the -g option to indicate which backend you would like gnetlist to run. For example, to run the “bom2” backend:

gnetlist -g bom2

Listing backends

To view a list of installed backends, use the --list-backends command-line option:

gnetlist --list-backends

This will print a list of all the backends that gnetlist can find.

Interactive mode

An alternative to running a backend is to use interactive mode. When the -i option is used, gnetlist creates the intermediate form from the schematic files, and then enters a Scheme REPL (Read-Eval-Print Loop). This allows you to run Scheme commands and inspect the output, which can be useful for troubleshooting and to enable some advanced netlist processing techniques.

geda/gnetlist_ug/netlist_backends.txt · Last modified: 2012/11/17 03:10 by peter-b