Update wiki pages
[geda-gaf.git] / docs / wiki / geda-gaf.html
blob3ee9708d2bbb2cd64133b4d9e5688d23b91a33c0
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html>
4 <head>
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" />
10 </head>
11 <body>
13 <h1 class="sectionedit1" id="geda_gaf">gEDA/gaf</h1>
14 <div class="level1">
16 <p>
17 Here is a list of programs, libraries and other things that are
18 part of gEDA/gaf (gschem and friends).
19 </p>
21 </div>
22 <!-- EDIT1 SECTION "gEDA/gaf" [1-128] -->
23 <h2 class="sectionedit2" id="schematic_capture">Schematic capture</h2>
24 <div class="level2">
26 <p>
27 <strong>gschem</strong>(1) is the schematic capture program/tool which is part
28 of gEDA. Its sole purpose is to facilitate the graphical input of
29 components/circuits. See the <a href="geda-gschem_ug.html" class="wikilink1" title="geda-gschem_ug.html">gschem User Guide</a>
30 for more information on the program.
31 </p>
33 </div>
34 <!-- EDIT2 SECTION "Schematic capture" [129-394] -->
35 <h2 class="sectionedit3" id="netlisting">Netlisting</h2>
36 <div class="level2">
38 <p>
39 <strong>gnetlist</strong>(1) is a netlist generation program. It takes as input
40 gEDA/gaf .sch (schematic) files and the required .sym (symbol)
41 files and converts them into netlists. See the
42 <a href="geda-gnetlist_ug.html" class="wikilink1" title="geda-gnetlist_ug.html">gnetlist User Guide</a> for more information on
43 the program.
44 </p>
46 </div>
47 <!-- EDIT3 SECTION "Netlisting" [395-673] -->
48 <h2 class="sectionedit4" id="attribute_editing">Attribute editing</h2>
49 <div class="level2">
51 <p>
52 <strong>gattrib</strong>(1) is gEDA&#039;s attribute editor. It reads a set of
53 gschem .sch files (schematic files), and creates a spreadsheet
54 showing all components in rows, with the associated component
55 attributes listed in the columns.
56 </p>
58 <p>
59 See also the <a href="geda-master_attributes_list.html" class="wikilink1" title="geda-master_attributes_list.html">Master Attributes
60 List</a> document for more information on attributes used in
61 gEDA/gaf.
62 </p>
64 </div>
65 <!-- EDIT4 SECTION "Attribute editing" [674-1055] -->
66 <h2 class="sectionedit5" id="utilities">Utilities</h2>
67 <div class="level2">
69 <p>
70 There are many utilities included as part of gEDA/gaf. See their
71 manual pages and READMEs in the source distribution for more
72 information on them:
73 </p>
74 <ul>
75 <li class="level1"><div class="li"> <strong>gaf</strong>(1) is a multipurpose command line utility implementing setting up the above programs, exporting schematics and symbols into various formats, and shell for command line processing of their data. See also <a href="geda-gaf_utility.html" class="wikilink1" title="geda-gaf_utility.html">this page on the utility</a>.</div>
76 </li>
77 </ul>
79 </div>
80 <!-- EDIT5 SECTION "Utilities" [1056-1487] -->
81 <h3 class="sectionedit6" id="utilities_for_schematics">Utilities for schematics</h3>
82 <div class="level3">
83 <ul>
84 <li class="level1"><div class="li"> <strong>refdes_renum</strong>(1) is a utility for renumbering reference designators in gschem schematic files.</div>
85 </li>
86 <li class="level1"><div class="li"> <strong>grenum</strong>(1) is an advanced refdes renumber utility.</div>
87 </li>
88 <li class="level1"><div class="li"> <strong>garchive</strong>(1) is a utility written in Python used to create and extract gEDA design archives. In archive mode it creates a project archive from a bunch of project files, and in extract mode it extracts the files from the archive and places them in the local directory.</div>
89 </li>
90 <li class="level1"><div class="li"> <strong>gschlas</strong>(1) is a utility which can embed the in-use schematic symbols and pictures into a schematic or set of schematics to put them, for instance, on a website or in an email without the recipient needing to download lots of custom symbols for the design. It can also unembed symbol references from a schematic.</div>
91 </li>
92 </ul>
94 </div>
95 <!-- EDIT6 SECTION "Utilities for schematics" [1488-2278] -->
96 <h3 class="sectionedit7" id="utilities_for_symbols">Utilities for symbols</h3>
97 <div class="level3">
98 <ul>
99 <li class="level1"><div class="li"> <strong>gsymcheck</strong>(1) is the symbol checker for the gEDA/gaf system. Give it a symbol file and it will go through and verify that the symbol will work in gschem and friends.</div>
100 </li>
101 <li class="level1"><div class="li"> <strong>gsymfix</strong>(1) is the utility to automatically fix common cut-and-paste issues with gEDA symbols and fix up the symbols so that they will pass gsymcheck with no errors or warnings.</div>
102 </li>
103 <li class="level1"><div class="li"> <strong>gmk_sym</strong>(1) is a program to create rectangular symbols for gschem from a file composed of comma separated lines.</div>
104 </li>
105 <li class="level1"><div class="li"> <strong>tragesym</strong>(1) is a small python script that creates gschem symbols out of structured textfiles. The aim of this script is to make it easier (and faster) to create symbols for gschem. See the <a href="geda-tragesym_tutorial.html" class="wikilink1" title="geda-tragesym_tutorial.html">tragesym tutorial</a> and README in the distribution.</div>
106 </li>
107 </ul>
109 </div>
110 <!-- EDIT7 SECTION "Utilities for symbols" [2279-3045] -->
111 <h3 class="sectionedit8" id="tools_to_facilitate_netlisting">Tools to facilitate netlisting</h3>
112 <div class="level3">
113 <ul>
114 <li class="level1"><div class="li"> <strong>gsch2pcb</strong>(1) is a frontend to gnetlist(1) which aids in creating and updating pcb(1) printed circuit board layouts based on a set of electronic schematics created with gschem(1). See also <a href="geda-gsch2pcb_tutorial.html" class="wikilink1" title="geda-gsch2pcb_tutorial.html">Bill Wilson&#039;s gsch2pcb tutorial</a>. Modern pcb also has an import function which uses import from gnetlist directly.</div>
115 </li>
116 <li class="level1"><div class="li"> <strong>gnet_hier_verilog.sh</strong>(1) is a simple shell script which gathers hierarchical information from a list of unique symbols/schematics originating from the top level schematic and produces a hierarchical Verilog netlist in a single file.</div>
117 </li>
118 </ul>
120 </div>
121 <!-- EDIT8 SECTION "Tools to facilitate netlisting" [3046-3663] -->
122 <h3 class="sectionedit9" id="utilities_for_printing_and_graphical_output">Utilities for printing and graphical output</h3>
123 <div class="level3">
124 <ul>
125 <li class="level1"><div class="li"> <strong>schdiff</strong>(1) is a graphical diff tool for gschem(1) schematics. It uses ImageMagick(1) and is most useful when combined with a revision control system (such as Git, Mercurial, and Subversion) so it can compare two revisions of the same file, review changes, etc.</div>
126 </li>
127 <li class="level1"><div class="li"> <strong>gpstoimage</strong> is a shell script that creates GIFs from PS files created by gschem using gs and ppmtogif. It has no documentation and is obsoleted by new gaf(1) and gschem(1) printing capabilities.</div>
128 </li>
129 </ul>
131 </div>
132 <!-- EDIT9 SECTION "Utilities for printing and graphical output" [3664-4189] -->
133 <h3 class="sectionedit10" id="format_conversion_tools">Format conversion tools</h3>
134 <div class="level3">
135 <ul>
136 <li class="level1"><div class="li"> <strong>convert_sym</strong>(1) converts a Viewlogic symbol/schematic to gEDA gschem format; there is also <strong>convert_sym.awk</strong> with almost the same functionality.</div>
137 </li>
138 <li class="level1"><div class="li"> <strong>smash_megafile</strong>(1) is a utility that takes a Viewlogic megafile and extracts its contents into a directory, where each element of the library will be represented with one file.</div>
139 </li>
140 <li class="level1"><div class="li"> <strong>olib</strong>(1) is a simple automated converter from OrCAD v4 <abbr title="American Standard Code for Information Interchange">ASCII</abbr> parts library to gEDA symbols.</div>
141 </li>
142 <li class="level1"><div class="li"> Sarlacc is an OrCAD to gEDA format converter. It consists of <strong>sarlacc_schem</strong>(1) and <strong>sarlacc_sym</strong>(1). The first utility written in C converts OrCAD schematic files (in 16-bit format) to gEDA format. The second is a Perl script which converts OrCAD text libraries to gEDA components.</div>
143 </li>
144 </ul>
146 </div>
147 <!-- EDIT10 SECTION "Format conversion tools" [4190-4952] -->
148 <h3 class="sectionedit11" id="tools_for_interaction_with_other_programs">Tools for interaction with other programs</h3>
149 <div class="level3">
150 <ul>
151 <li class="level1"><div class="li"> <strong>gxyrs</strong>(1) is a program written in Perl to batch process XYRS files. XYRS files are usually generated by <a href="http://pcb.geda-project.org" class="urlextern" title="http://pcb.geda-project.org" rel="nofollow">PCB</a> design programs, and are used by board assemblers.</div>
152 </li>
153 <li class="level1"><div class="li"> <strong>sw2asc</strong>(1) is a utility which converts a SWITCAP2 output file into <abbr title="American Standard Code for Information Interchange">ASCII</abbr> data files that other tools can read. See the <a href="geda-ssan.html" class="wikilink1" title="geda-ssan.html">gEDA/gaf Switcap Symbols and Netlister</a> for more information on the program.</div>
154 </li>
155 <li class="level1"><div class="li"> <strong>pads_backannotate</strong>(1) is a Perl program which backannotates changes from Pads PowerPCB board layouts to gschem(1) schematics. See the <a href="geda-fbabgapp.html" class="wikilink1" title="geda-fbabgapp.html">Forward/Backward Annotation Between gEDA and Pads PowerPCB</a> document for more information.</div>
156 </li>
157 <li class="level1"><div class="li"> <strong>pcb_backannotate</strong>(1) is a program written in Perl which reads an engineering change order (ECO) files generated by the <a href="http://pcb.geda-project.org" class="urlextern" title="http://pcb.geda-project.org" rel="nofollow">PCB</a> program and backannotates the requested changes to a gschem(1) schematics. See the <a href="http://pcb.geda-project.org/manual.html" class="urlextern" title="http://pcb.geda-project.org/manual.html" rel="nofollow">PCB manual</a> for a complete description of the ECO file format.</div>
158 </li>
159 </ul>
161 </div>
162 <!-- EDIT11 SECTION "Tools for interaction with other programs" [4953-6019] -->
163 <h3 class="sectionedit12" id="update_utilities">Update utilities</h3>
164 <div class="level3">
167 These are utilities for schematics and symbols for support of old schematic file formats:
168 </p>
169 <ul>
170 <li class="level1"><div class="li"> <strong>gschupdate</strong> and <strong>gsymupdate</strong> are programs written in Perl which update attributes in schematics and symbols of version 20020527 or earlier to use them in modern <strong>gschem</strong>; they are documented briefly in the source code.</div>
171 </li>
172 </ul>
174 </div>
175 <!-- EDIT12 SECTION "Update utilities" [6020-6369] -->
176 <h2 class="sectionedit13" id="symbols">Symbols</h2>
177 <div class="level2">
180 Symbols (on a schematic) are an abstract representation of the
181 physical components used in electronic circuits. Initial gEDA
182 installation provides you with default symbols contributed by many
183 users. See also the <a href="geda-gschem_symbol_creation.html" class="wikilink1" title="geda-gschem_symbol_creation.html">gEDA/gaf Symbol
184 Creation document</a> on how to create your own symbols and
185 <a href="http://gedasymbols.org" class="urlextern" title="http://gedasymbols.org" rel="nofollow">http://gedasymbols.org</a> to find already available symbols
186 shared by other gEDA users.
187 </p>
189 </div>
190 <!-- EDIT13 SECTION "Symbols" [6370-6795] -->
191 <h2 class="sectionedit14" id="libraries">Libraries</h2>
192 <div class="level2">
193 <ul>
194 <li class="level1"><div class="li"> <strong>libgeda</strong> is a main gEDA library of functions for manipulating gEDA schematics and symbols which is used by many of the above mentioned programs and utilities. See the gEDA Scheme Reference Manual (<em>info geda-scheme</em>) for more information on the library.</div>
195 </li>
196 <li class="level1"><div class="li"> <strong>libgedacairo</strong> is a library which provides a renderer for schematics and symbols based on the Cairo vector graphics library and the Pango font library. Data for rendering is loaded using libgeda. See the libgedacairo/README in the gEDA/gaf distribution for more information.</div>
197 </li>
198 </ul>
200 </div>
201 <!-- EDIT14 SECTION "Libraries" [6796-7363] -->
202 <h2 class="sectionedit15" id="examples_and_other_documentation">Examples and other documentation</h2>
203 <div class="level2">
206 gEDA/gaf contains some examples and other documentation which can
207 be found in the documentation installation directory of your
208 distribution.
209 </p>
211 </div>
212 <!-- EDIT15 SECTION "Examples and other documentation" [7364-] --></body>
213 </html>