| << [[geda:gnetlist_ug:running_gnetlist|Running gnetlist]]  |  **[[geda:gnetlist_ug|gEDA gnetlist User Guide]]**     |  [[geda:gnetlist_ug:netlist_backends|Netlist backends]] >> |

~~NOTOC~~

===== Input and output files =====

gnetlist takes one or more //schematic files// as input, and outputs the result of processing them to generate a //netlist//.

<note tip>Schematic files can be viewed and edited using the gEDA //schematic capture// application. For more information, see the  [[geda:gschem_ug|gEDA gschem User Guide]].</note>

==== Schematic files ====

Schematic files contain //components//, which may represent subcircuits to be included in the design, or or discrete parts or devices to be used.  Components have //pins// associated with them, which represent either a physical pin on an electronic component, or a logical connection to a subcircuit schematic.  Components are connected up by joining their pins with //nets// or //buses//.  All of these elements can have //attributes// associated with them, which control how they are interpreted by gnetlist.

You can list any number of schematic files as input.  They will be merged together to form a single netlist.  This allows you to split your circuit into several schematic diagrams, which can be useful if you have a very large and complicated design.  List the schematic files on the command line, e.g.:

<code>
gnetlist power-supply.sch motor-drive.sch
</code>

If you have a schematic which has a filename beginning with a hyphen ("-"), you should add the special option ''%%--%%'' after any options and before your list of input files.  This will make sure that none of your filenames get misinterpreted as options. For example:

<code>
gnetlist -- -tricky-name.sch
</code>

==== Output filename ====

By default, gnetlist writes the netlist it generates to a file called "output.net".  You can use the ''-o'' option to specify a different filename. For example, to output to a file called "stepper.bom":

<code>
gnetlist -o stepper.bom
</code>