1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5 <link rel=
"stylesheet" media=
"screen" type=
"text/css" href=
"./style.css" />
6 <link rel=
"stylesheet" media=
"screen" type=
"text/css" href=
"./design.css" />
7 <link rel=
"stylesheet" media=
"print" type=
"text/css" href=
"./print.css" />
9 <meta http-equiv=
"Content-Type" content=
"text/html; charset=utf-8" />
12 <a href=.
>start
</a> =
> <a href=geda-gnetlist_ug.html
>gnetlist_ug
</a></br>
13 <div class=
"table sectionedit1"><table class=
"inline">
15 <td class=
"col0 leftalign"> << <a href=
"geda-gnetlist_ug-implicitpins.html" class=
"wikilink2" title=
"geda-gnetlist_ug-implicitpins.html">Implicit pins
</a> </td><td class=
"col1 centeralign"> <strong><a href=
"geda-gnetlist_ug.html" class=
"wikilink1" title=
"geda-gnetlist_ug.html">gEDA gnetlist User Guide
</a></strong> </td><td class=
"col2 rightalign"> <a href=
"geda-gnetlist_ug-command_line.html" class=
"wikilink1" title=
"geda-gnetlist_ug-command_line.html">Command-line arguments
</a> >> </td>
18 <!-- EDIT1 TABLE [1-129] -->
19 <h2 id=
"configuringgnetlist">Configuring gnetlist
</h2>
23 gnetlist loads a series of configuration files at start-up, if they exist:
26 <li class=
"level1"><div class=
"li"> The suite
's system configuration file, called
<code>$PREFIX/share/gEDA/system-gafrc
</code></div>
28 <li class=
"level1"><div class=
"li"> The suite
's user configuration file, called
<code>$HOME/.gEDA/gafrc
</code></div>
30 <li class=
"level1"><div class=
"li"> A
<code>gafrc
</code> file in the current working directory.
</div>
32 <li class=
"level1"><div class=
"li"> gnetlist
's system configuration file, called
<code>$PREFIX/share/gEDA/system-gnetlistrc
</code></div>
34 <li class=
"level1"><div class=
"li"> gnetlist
's user configuration file, called
<code>$HOME/.gEDA/gnetlistrc
</code></div>
36 <li class=
"level1"><div class=
"li"> A
<code>gnetlistrc
</code> file in the current working directory.
</div>
41 $PREFIX denotes the base installation directory for gnetlist (
<code>/usr
</code> on most systems), and $HOME denotes your home directory.
45 These files are scripts written in Scheme, and they are executed using a Scheme interpreter. This means that you can use the configuration files as a way of customising and extending gnetlist.
49 There are a very large number of options that affect the way gnetlist works, and only the most commonly-used are listed here. For a full list, see the
<code>system-gnetlistrc
</code> file installed with gEDA.
54 <h3 id=
"symbolandsourcelibraries">Symbol and source libraries
</h3>
58 When using gnetlist, it is very important that your symbol and source libraries are set up correctly. You will almost always want to put these settings in a suite configuration file (one of the
"<code>gafrc
</code>" files) so that the same libraries are used by gschem and gnetlist. For an explanation of how to set up symbol and source libraries, see the
<a href=
"geda-gschem_ug-config.html" class=
"wikilink1" title=
"geda-gschem_ug-config.html">gEDA gschem User Guide
</a>.
63 <h3 id=
"hierarchyprocessingoptions">Hierarchy processing options
</h3>
67 When working with
<a href=
"geda-gnetlist_ug-hierarchy.html" class=
"wikilink1" title=
"geda-gnetlist_ug-hierarchy.html">hierarchy
</a>, gnetlist renames nets and components based on where in the hierarchy they occur. You can configure how this
"mangling
" is carried out, and disable it if necessary.
71 By default, gnetlist appends names at each level of hierarchy together, using
"/
" as the separator (so the component
"U1
" in the subcircuit
"A3
" becomes
"A3/U1
"). For component names (
"refdes
"), the
<code>hierarchy-uref-order
</code> and
<code>hierarchy-uref-separator
</code> functions can be used to change this. For example, to change the
"refdes
" mangling to prepend names at each level with the separator
":
", you could use:
73 <pre class=
"code">(hierarchy-uref-order
"prepend
")
74 (hierarchy-uref-separator
":
")
</pre>
77 Now
"U1
" in the subcircuit
"A3
" would be renamed to
"U1:A3
" by gnetlist.
81 The
<code>hierarchy-uref-mangle
</code> function can be used to turn off
"refdes
" mangling entirely:
83 <pre class=
"code">(hierarchy-uref-mangle
"disabled
")
</pre>
86 This is very rarely a useful thing to do.
90 Similar settings exist for net names set using the
"<code>netname=
</code>" attribute, and net names set using
<a href=
"geda-gnetlist_ug-implicitpins.html" class=
"wikilink2" title=
"geda-gnetlist_ug-implicitpins.html">implicit pins
</a> and the
"<code>net=
</code>" attribute.
93 <li class=
"level1"><div class=
"li"> The
<code>hierarchy-netname-order
</code>,
<code>hierarchy-netname-separator
</code> and
<code>hierarchy-netname-mangle
</code> functions control
"<code>netname=
</code>" mangling.
</div>
95 <li class=
"level1"><div class=
"li"> The
<code>hierarchy-netattrib-order
</code>,
<code>hierarchy-netattrib-separator
</code> and
<code>hierarchy-netattrib-mangle
</code> functions control
"<code>net=
</code>" mangling.
</div>
100 It is sometimes useful to turn off hierarchy processing entirely. You can do this with the
<code>hierarchy-traversal
</code> option:
102 <pre class=
"code">(hierarchy-traversal
"disabled
")
</pre>
106 <h3 id=
"automaticnetnaming">Automatic net naming
</h3>
110 You can control how gnetlist automatically names nets that are not named in the schematic files using the
<code>unnamed-netname
</code> function. gnetlist will add a unique number to the end of the string you provide. For example:
112 <pre class=
"code">(unnamed-netname
"unnamed_net
")
</pre>
115 This would make gnetlist automatically give unnamed nets names of the form
"unnamed_net12345
".