find.c: Fix flag passed to ListStart() in DRCFind().
[geda-pcb/pcjc2.git] / doc / gs / terminology.texi
blob4066fd6a7e02422629c62364fc14014771fb6705
1 @node Terminology
2 @chapter Terminology
4 @comment wrap terms at their definition
5 @ifhtml
6 @macro tdef{TERM}
7 @html
8 <a name="\TERM\">\TERM\</a>@end html
9 @end macro
10 @end ifhtml
12 @iftex
13 @tex
14 \gdef\tdef#1{%
15   \ifpdf
16     \pdfdest name{#1} xyz
17     \pdfoutline goto name{#1} count 0 {#1}
18   \fi
19   #1%
21 @end tex
22 @end iftex
24 @ifnottex
25 @ifnothtml
26 @macro tdef{TERM}
27 \TERM\
28 @end macro
29 @end ifnothtml
30 @end ifnottex
32 @comment wrap terms to cross reference
33 @ifhtml
34 @macro tref{TERM}
35 @html
36 <a href="#\TERM\">\TERM\</a>@end html
37 @end macro
38 @macro trefl{TERM,LINK}
39 @html
40 <a href="#\LINK\">\TERM\</a>@end html
41 @end macro
42 @end ifhtml
44 @ifnothtml
45 @macro tref{TERM}
46 \TERM\
47 @end macro
48 @macro trefl{TERM,LINK}
49 \TERM\
50 @end macro
51 @end ifnothtml
53 @comment image legend
54 @macro iml{ITXT}
55 @center @i{\ITXT\}
56 @end macro
58 There is some variation in terminology used by EDA packages.  To best
59 understand the @pcb{} documentation, it's important to read through
60 these definitions so you understand how @pcb{} uses these terms.
62 @table @dfn
64 @item @tdef{action}
65 Internally, most @code{pcb} commands use a common interface to connect
66 to the GUI, scripts, and user requests.  We call these internal
67 commands actions, because they are actions that pcb can take.  Each
68 action may take parameters, according to their individual
69 documentation.  Actions are written like function calls, and may be
70 invoked directly from within @pcb{} using the ':' key.
72 @item @tdef{annulus}
73 @itemx @tdef{annular ring}
74 The donut-shaped ring of copper that surrounds the hole of a
75 @tref{pin} or @tref{via}.  In @pcb{}, the size of a @tref{pin} or
76 @tref{via} is the overall diameter of the copper, not the distance
77 from the outer edge of the hole to the outer edge of the copper.  When
78 we refer specifically to the size of the annulus, we mean the distance
79 from the hole's outer edge to the copper's outer edge; i.e. the amount
80 of copper remaining around a drilled hole.  Example: a 30 @tref{mil}
81 drilled hole with a 8 @tref{mil} annulus results in a 46 @tref{mil}
82 pin (30 + 8 + 8).  Likewise, a 50 @tref{mil} pin with a 30 @tref{mil}
83 drill results in a 10 @tref{mil} annulus.
85 @img{term-annulus-1}
87 @item @tdef{aperture}
88 In reference to @tref{RS-274X} files, an aperture is a brush shape
89 used to draw things.  Originally, the aperture was a physical hole of
90 a specific shape and size through which light exposed a photographic
91 film.
93 @item @tdef{arc}
94 A curved trace drawn on a @tref{drawing layer}.
96 @item @tdef{attribute}
97 Varied meanings.  @trefl{Elements,element} and @trefl{boards,board}
98 may have attributes assigned to them, which are arbitrary mappings
99 between a name and its value.  @pcb{} does not currently use those
100 attributes itself.  Within @code{pcb} an attribute is an arbitrary
101 value passed between the core and the various @trefl{HIDs,HID}, such
102 as checkboxes and file names.
104 @item @tdef{bloat}
105 The most that the copper areas can be expanded before they are allowed
106 to touch.  For example, two 40 @tref{mil} lines 10 @tref{mil} apart can bloat up to
107 (but not including) 5 @tref{mil} before they touch, so the maximum bloat
108 would be 4.99 @tref{mil}.
110 @item @tdef{board}
111 The physical printed circuit board that is depicted by your @tref{layout}.
112 ``Board'' refers to the physical board, ``@tref{layout}'' refers to the
113 electronic data.
115 @item @tdef{buffer}
116 A temporary storage location within @code{pcb} where items can be
117 stored until needed later.  One such buffer is used for the common
118 cut-and-paste operations.
120 @item @tdef{clad}
121 A thin layer of copper attached to a thin layer of insulator.  Once
122 etched, the remaining copper forms the electrical connections
123 described by the @tref{layout} file.
125 @item @tdef{clearance}
126 The distance beween the copper around a hole (the @tref{annulus}) and
127 the copper in the surrounding @tref{polygon}, or between any other
128 copper item (@tref{line} or @tref{arc}) and a surrounding
129 @tref{polygon}.
131 @img{term-clearance-1}
133 @item @tdef{courtyard}
134 The area around an @tref{element} which is still ``used'' by the
135 @tref{element}, for its electrical and mechanical clearance
136 requirements.  @pcb{} does not use this term, nor explicitly support a
137 courtyard definition for @trefl{elements,element}.
139 @item @tdef{crosshair}
140 This is the actual location on the @tref{board} which is used when you
141 perform an @tref{action}.  If @tref{grid} snap is active, the
142 crosshair reflects the grid point closest to the @tref{cursor}, else
143 the crosshair reflects the @tref{cursor} itself.
145 @item @tdef{cursor}
146 @pcb{} is referring to your mouse cursor.  See ``@tref{crosshair}''.
148 @item @tdef{drawing layer}
149 While designing your circuit board, @pcb{} provides a number of
150 @trefl{layers,layer} to draw on.  While it's convenient to think of
151 each drawing layer as corresponding to one of the @trefl{physical
152 layers,physical layer} (copper, silk, etc), it's possible to group
153 multiple drawing layers together into one @tref{physical layer}, or
154 assign drawing layers to purposes not corresponding to physical
155 layers.  For example, you could have two drawing layers corresponding
156 to your ground plane copper layer, one for the ground plane itself and
157 a second (differently colored) one for any signals that need to be
158 routed on the ground plane layer.
160 @item @tdef{DRC}
161 Design Rule Check.  Your design is scanned and compared to a number of
162 design rules, such as minimum trace thickness and spacing, and any
163 violations are noted.  Then, you are tortured to death with non-modal
164 dialogs.
166 @item @tdef{drill file}
167 A computer-readable file intended to be used by automated drilling
168 machines.  The information includes drill diameters and locations.
169 @code{pcb} may produce up to two drill files, one for @trefl{plated
170 holes,plated hole} and one for @trefl{unplated holes,unplated hole}.
171 Automated drill machines were originally designed by the Excellon
172 company, so drill files are sometimes called @trefl{excellon
173 files,excellon file}.  Also called an @tref{NC drill} file.
175 @item @tdef{element}
176 In @pcb{} an element represents any part you might install on your
177 @tref{board}, such as resistors, capacitors, and integrated circuits.
178 Note that this also includes anything on your @tref{board} that has
179 its own @tref{footprint}, even if it doesn't have a part associated
180 with it, such as test points, registration targets, and edge
181 connectors.  An element has a @tref{footprint}, but is more than a
182 @tref{footprint} - it also has a reference designator (refdes), value,
183 description, and location.  ``@trefl{Footprint,footprint}'' refers to
184 the pattern; ``element'' refers to the instance.  For example, your
185 @tref{layout} might have four elements that use one @tref{footprint}.
187 @img{term-element-1}
188 @iml{Four examples of elements.}
190 @item @tdef{etch resist}
191 Not to be confused with @tref{solder resist}, etch resist is used
192 during the fabrication of the copper layers to define what copper is
193 removed and what copper will remain.
195 @item @tdef{excellon file}
196 See @tref{drill file}.
198 @item @tdef{fab}
199 @itemx @tdef{fab house}
200 @itemx @tdef{fabrication house}
201 A company that produces (fabricates) circuit boards from mechanical
202 design files.  Most accept (or expect) @tref{gerber} (@tref{RS-274X})
203 format files.
205 @item @tdef{fab drawing}
206 @itemx @tdef{fabrication drawing}
207 A drawing that shows a mechanical overview of the @tref{board},
208 including the physical outline and all physical holes.  This is often
209 used by @trefl{fabs,fab} to sanity check their interpretation of your
210 design files.
212 @item @tdef{footprint}
213 A footprint is the pattern on a circuit board to which your parts are
214 attached.  This includes all copper, silk, @tref{solder mask}, and
215 @trefl{paste,solder paste} information.  In other EDA programs, this
216 may be referred to as a ``land pattern''.  ``Footprint'' sometimes is
217 used to refer to a footprint file.  ``Footprint'' refers to the
218 pattern; ``@tref{element}'' refers to the instance.  For example, your
219 @tref{layout} might have four @trefl{elements,element} that use one
220 footprint.
222 @item @tdef{footprint file}
223 A file that contains a single @tref{footprint} definition.  Normally,
224 this means it describes one @tref{element}, although there are
225 exceptions.
227 @item @tdef{FR4}
228 A specification for the insulating layer used in printed circuit board
229 manufacture.  FR4 is the most common grade, and is often an epoxy
230 fiberglass composite.
232 @item @tdef{gEDA}
233 The GPL'd Electronic Design Automation suite of tools.  See
234 @url{http://www.geda.seul.org}.  It includes, among other things, the
235 @code{gschem} schematic editor, which produces input that @code{pcb}
236 can use.
238 @item @tdef{gerber}
239 @itemx @tdef{gerber file}
240 The common name for an @tref{RS-274X} formatted file.  Originally
241 named after the Gerber Photoplotter Company.
243 @item @tdef{grid}
244 A pattern of locations on the @tref{board} which can be displayed, or
245 used as a limit on @tref{crosshair} locations.
247 @item @tdef{gschem}
248 The schematic editor that comes with @tref{gEDA}.
250 @item @tdef{HID}
251 Human Interface Device.  We use this term to refer to user interfaces,
252 printers, exporters, and other ways that @code{pcb} interacts with
253 humans.
255 @item @tdef{keepout}
256 A region created by the designer solely to prevent something else from
257 existing there.  For example, an @tref{element} with a copper keepout
258 would prevent the autorouter from routing traces through that area.
259 @pcb{} does not currently support keepouts.
261 @item @tdef{layer}
262 There are two meanings of ``layer'' in @pcb{}.  See ``@tref{drawing layer}''
263  and ``@tref{physical layer}''.
265 @item @tdef{layout}
266 The @tref{board} design information depicted by the edits you've made;
267 this is what's stored in a pcb file and displayed on the screen.
268 ``@trefl{Board,board}'' refers to the physical board, ``layout''
269 refers to the electronic data.
271 @item @tdef{line}
272 A straight segment drawn on a @tref{drawing layer}.
274 @item @tdef{mark}
275 Normally, @code{pcb} reports coordinates relative to the origin (upper
276 left) of the board.  However, you can designate a location on the
277 @tref{board} such that @code{pcb} also reports coordinates relative to
278 that location.  Such a location is the mark, and is drawn with an X
279 shape.  @trefl{Elements,element} also have a mark; this is the local
280 origin from which other locations within the @tref{element} are
281 measured.  @trefl{Element,element} marks are drawn as small diamonds.
283 @img{term-mark-1}
284 @iml{crosshair mark, element mark}
287 @item @tdef{mask}
288 See ``@tref{solder mask}''.
290 @item @tdef{mil}
291 In @pcb{} a mil is 0.001 inch, or a ``milli-inch''.  Other packages
292 may call it a ``@tref{thou}'', short for a thousandth of an inch.
294 @item @tdef{NC drill}
295 Numerically Controlled Drill file.  See ``@tref{drill file}''.
297 @item @tdef{negative layer}
298 @itemx @tdef{negative plane}
299 For most @trefl{drawing layers,drawing layer}, the stuff you draw
300 corresponds to stuff that exists in a @tref{physical layer}.  For
301 example, a @tref{trace} drawn on a copper layer results in copper
302 existing on the @tref{board}.  For negative layers, however, what you
303 draw results in what does @emph{not} exist on the board.  The
304 @tref{solder mask} @tref{gerber}, for example, is such a layer - a
305 circle drawn in the @tref{solder mask} gerber results in a hole in the
306 physical @tref{solder mask}.  @code{pcb} represents such layers in a
307 meaningful way on the screen, but exporters may use a negative layer
308 according to the needs of the fabrication process.
310 @item @tdef{netlist}
311 A list of symbolic electrical connections, normally provided as input
312 to @code{pcb} from a schematic layout program, which represents the
313 desired electrical connectivity of the board.  @pcb{} can compare the
314 desired (loaded) netlist with the actual (copper) netlist and advise
315 you of shorts or unrouted connections.  If there are unrouted
316 connections, it can use those to create a @tref{rat's nest} to assist
317 you in routing them.
319 @item @tdef{outline}
320 The physical shape and dimension of your physical @tref{board}.  By
321 default, this is a rectangle the size of your working area (the
322 ``board size''), but if you name one of the @tref{drawing layers}
323 ``outline'' that is used instead.  While your @tref{board} is itself a
324 polygon shape, a @tref{polygon} drawing object is not used to denote
325 its outline - by convention, 10 @tref{mil} wide @trefl{lines,line} are
326 used to draw the outline, and the centerlines of those lines indicate
327 the actual outline edges.
329 @item @tdef{pad}
330 An electrical connection to an @tref{element} which does not require a
331 through hole, for example as used by a surface mounted device.
333 @img{term-pad-1}
334 @iml{Surface-mount element with eight pads.}
336 @item @tdef{paste}
337 See ``@tref{solder paste}''.
339 @item @tdef{paste stencil}
340 A thin sheet, usually plastic or metal and 0.002 to 0.005 inches
341 thick, with holes where solder @trefl{paste,solder paste} should be applied to your
342 board.
344 @item @tdef{pcb file}
345 A file used by @code{pcb} to store board layout.  Such files end in
346 @code{.pcb} and are normally readable (and editable) text files.
348 @item @tdef{pcb units}
349 Internally, @code{pcb} maintains all measurements in its own units,
350 which are smaller than both @trefl{mils,mil} and millimeters.  These are the
351 default units used in @pcb{} files.  At the time this text was written,
352 @code{pcb} units are 1/100 of a @tref{mil}, or
353 @iftex
354 @math{10^{-5}}
355 @end iftex
356 @ifhtml
357 @html
358 10<sup>-5</sup>
359 @end html
360 @end ifhtml
361 @ifnottex
362 @ifnothtml
363 0.00001
364 @end ifnothtml
365 @end ifnottex
366 inches.
368 @item @tdef{pin}
369 An electrical connection to an @tref{element} which requires a through
370 hole, for example as needed by a DIP socket.  Contrast with a
371 @tref{pad}.  Note that pins and @trefl{vias,via} are mechanically
372 identical, although pins default to @tref{untented} while
373 @trefl{vias,via} default to @tref{tented}.
375 @img{term-pin-1}
376 @iml{DIP element with eight pins.}
378 @item @tdef{physical layer}
379 In the manufacture of circuit boards, a physical layer is, for
380 example, each layer of copper, each side's @tref{silkscreen}, the
381 @tref{solder mask}, the @tref{paste stencil}, the physical outline,
382 etc.  Each physical layer requires a single layer definition to be
383 produced by @code{pcb}; for professional @trefl{fabs,fab} there is one
384 @tref{gerber} file for each physical layer.
386 @item @tdef{plated hole}
387 @itemx @tdef{plated through hole}
388 @itemx @tdef{PTH}
389 During fabrication, some holes become coated with copper which
390 connects all the copper layers together at that point.  Since this is
391 normally done by electroplating, such holes are called ``plated''
392 holes, and normally have a copper @tref{annulus} around them.
394 @img{term-platedhole-1}
395 @iml{Plated and Unplated holes.}
397 @item @tdef{polygon}
398 A polygon defines the ouline of a drawn region on a @tref{drawing
399 layer}.  When used on a @tref{drawing layer} representing a copper
400 @tref{physical layer}, it causes a copper polygon to exist in the
401 final board, for example.  Unlike @trefl{lines,line} and
402 @trefl{arcs,arc}, a polygon does not have a ``thickness'' as the lines
403 define the exact boundary of the shape.
405 @item @tdef{rat}
406 @itemx @tdef{rat lines}
407 @itemx @tdef{rat list}
408 @itemx @tdef{rat's nest}
409 A rat is a symbolic visual representation of an unconnected electrical
410 connection - i.e. something in the @tref{netlist} which doesn't exist
411 as a @tref{trace} yet.  It's called a rat's nest because of its messy
412 appearance when first created, from that, the individual connections
413 were named rat lines or just rats.  In a @pcb{} file, the rat list is
414 a list of all rats that exist on the board; this isn't always the same
415 as the @tref{netlist}, because you may choose to work with a subset of
416 the @tref{netlist} at a time, or hide the rats completely.  Many
417 @code{pcb} functions use a rat list to determine which connections to
418 work with; it is important to update the rats list before using such
419 functions.
421 @item @tdef{rectangle}
422 A special case of @tref{polygon}.
424 @item @tdef{resist}
425 In @pcb{} this usually means the @tref{etch resist}.
427 @item @tdef{route}
428 In @pcb{} this term is a verb, meaning to add and arrange
429 @trefl{traces,trace} so as to properly reflect the @tref{netlist}.
430 Other packages may use this term to reflect the @tref{outline}, but
431 @pcb{} does not.
433 @item @tdef{route style}
434 A collection of sizes, such as @tref{trace} thickness, drill diameter,
435 @tref{pin} size, and @tref{clearance}, which is used when routing
436 @trefl{traces,trace}.  @pcb{} can keep track of at least four styles,
437 which you can quickly switch between.
439 @item @tdef{RS-274D}
440 @itemx @tdef{RS-274X}
441 A file format used originally by photoplotters, but now used by any
442 machine used to fabricate circuit boards.  The D variant requires a
443 separate file defining all the @trefl{apertures,aperture}, and is
444 considered obsolete.  The X variant is newer and includes the
445 @tref{aperture} definitions.  Since these formats were defined by the
446 Gerber Photoplotter company, they are commonly known as
447 ``@tref{gerber} files''.  Although there is no ``owner'' of the
448 RS-274X spec, it can be found at various places online such as
449 @url{http://www.artwork.com/gerber/274x/rs274xrevd_e.pdf}.
451 @item @tdef{shrink}
452 The most that a copper area can decrease in size before it no longer
453 touches (overlaps) an adjacent copper area.
455 @item @tdef{silk}
456 @itemx @tdef{silkscreen}
457 A layer of ink or pigment drawn on the circuit board (usually, one for
458 each side of the board) in order to include, for example, part numbers
459 or @tref{element} outlines.
461 @item @tdef{solder mask}
462 A layer of heat resistant film placed over the outermost copper layers
463 of your board, to prevent solder from sticking to any covered copper.
464 When used to cover @trefl{traces,trace} routed between
465 @trefl{pins,pin} or @trefl{pads,pad}, this can help avoid shorts to
466 those @trefl{traces,trace}.  Note that when shown in @code{pcb} the
467 mask is drawn where the film exists, but when output (to postscript or
468 @tref{gerber}, for example), it is often ``drawn'' where the mask is
469 to be @emph{removed}.
471 @item @tdef{solder resist}
472 See @tref{solder mask}.
474 @item @tdef{solder paste}
475 Ground up solder mixed with flux.  This paste is normally squeegeed
476 through a paste stencil to deposit a measured amount of paste on each
477 @tref{pad} on the board.  Once the paste is applied, parts can be
478 positioned on the paste, and the board heated - which melts the paste
479 and solders the parts to the board.
481 @item @tdef{tented}
482 When a circuit board is made with a @tref{solder mask}, you have the
483 option of opening a hole in the mask over @trefl{vias,via}, or leaving
484 the @trefl{mask,solder mask} intact over them.  A @tref{via} with an
485 intact @trefl{mask,solder mask} over it is tented, as the
486 @trefl{mask,solder mask} acts like a tent over the copper and hole.
488 @img{term-tented-1}
489 @iml{Tented and untented vias.}
491 @item @tdef{thermal}
492 @itemx @tdef{thermal relief}
493 Since copper is an efficient heat sink, connections to a large region
494 of copper would be very difficult to solder - the copper heat sink
495 prevents you from adequately heating the connection.  To fix this,
496 small cutouts are made around each such connection to create a thermal
497 barrier, so that heat applied to the connection stays at the
498 connection.  Such a set of cutouts, and the copper bridges that
499 remain, is called a ``thermal''.  Thermals come in many patterns,
500 which allows the designer to ensure adequate electrical connectivity
501 and/or manufacturability.
503 @img{term-thermal-1}
504 @iml{Pins with no connection, three types of thermals, and no thermal.}
506 @item @tdef{thickness}
507 In @pcb{} this often refers to the width of a @tref{line} or
508 @tref{arc}, not the thickness of the copper film used to produce the
509 @tref{board}.  This is also the ``size'' of a @tref{line} or
510 @tref{arc}.
512 @img{term-thickness-1}
514 @item @tdef{thin draw}
515 A mode used by @code{pcb}'s GUI by which board objects are drawn as
516 thin lines (or outlines) rather than as actual-width lines.  This mode
517 is useful for detail work where the size of the objects would
518 otherwise obscure their relationship to each other.
520 @item @tdef{thou}
521 See ``@tref{mil}''.
523 @item @tdef{toner transfer}
524 @itemx @tdef{TT}
525 A home-fabrication method that involves printing a layer with a laser
526 printer, and transferring the toner from that print to an unetched
527 copper board.  The toner acts as an @tref{etch resist}.
529 @item @tdef{trace}
530 Any copper added to a copper layer whose purpose is to connect
531 electrical signals between @trefl{elements,element}.  Traces may be
532 built up from @trefl{lines,line}, @trefl{arcs,arc}, and
533 @trefl{polygons,polygon}.
535 @item @tdef{unplated hole}
536 During fabrication, some holes are drilled after electroplating, and
537 so do not receive the copper that would otherwise connect layers.
538 Such holes are unplated holes, and normally do not have a copper
539 @tref{annulus} around them either.
541 @img{term-platedhole-1}
542 @iml{Plated and Unplated holes.}
544 @item @tdef{untented}
545 When a hole is placed in the @tref{solder mask} in order to expose a
546 @tref{via} below it, such a via is untented.  Untented
547 @trefl{vias,via} are available as test points or places to add wires
548 later.
550 @item @tdef{via}
551 A via is a connection between different copper layers.  In @pcb{} all
552 vias are ``through'' vias, in that they connect copper on all layers.
554 @end table