Automatic wiki import (Sat Mar 8 21:51:23 UTC 2014)
[geda-gaf.git] / docs / wiki / geda-master_attributes_list.html
blob1487f94e8715199e99a1812708456618293d5704
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 <title></title>
6 <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
7 <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
8 <link rel="stylesheet" media="print" type="text/css" href="./print.css" />
10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
11 </head>
12 <body>
15 <h1 class="sectionedit881"><a name="geda_gaf_master_attribute_document" id="geda_gaf_master_attribute_document">gEDA/gaf Master Attribute Document</a></h1>
16 <div class="level1">
18 <p>
19 by: Ales Hvezda, ahvezda@geda.seul.org
20 </p>
22 <p>
23 This document is released under <a href="http://www.gnu.org/copyleft/fdl.html" class="urlextern" title="http://www.gnu.org/copyleft/fdl.html" rel="nofollow">GFDL</a>
24 </p>
26 <p>
27 July 10th, 2007
28 </p>
30 </div>
31 <!-- EDIT881 SECTION "gEDA/gaf Master Attribute Document" [1-185] -->
32 <h2 class="sectionedit882"><a name="overview" id="overview">Overview</a></h2>
33 <div class="level2">
35 <p>
36 This document describes all the attributes used in in gEDA/gaf (<acronym title="GNU General Public License">GPL</acronym>&#039;d Electronic Design Automation / Gschem And Friends). This document is broken down into several section: this overview, symbol only attributes, schematic only attributes, attributes which can appear in both symbols and schematics, and
37 attributes which are obsolete or deprecated.<br/>
39 In this document, attribute names are in <strong>bold</strong> and examples are in the <code>typewriter</code> font.
40 </p>
42 </div>
43 <!-- EDIT882 SECTION "Overview" [186-652] -->
44 <h2 class="sectionedit883"><a name="what_are_attributes" id="what_are_attributes">What are Attributes?</a></h2>
45 <div class="level2">
47 <p>
48 Attributes in the gEDA/gaf system are nothing more than text items which take on the form: <strong>name</strong>=value. Name can be anything just as long as it doesn&#039;t contain a equals sign. Value can also be anything just as long as it is something (vs nothing). <strong>name</strong>= (without a value part) is not a valid attribute. Also, there cannot be any spaces immediately before or after the equals sign.<br/>
50 Attributes can be attached to some part of the symbol. If the attribute conveys information specific to an object, then the attribute should be attached directly to the object, otherwise the attribute should be free standing or
51 floating. Free standing attributes just exist in the symbol file as text items which take on the form <strong>name</strong>=value.
52 </p>
54 </div>
55 <!-- EDIT883 SECTION "What are Attributes?" [653-1423] -->
56 <h2 class="sectionedit884"><a name="symbol_only_attributes" id="symbol_only_attributes">Symbol only Attributes</a></h2>
57 <div class="level2">
59 </div>
60 <!-- EDIT884 SECTION "Symbol only Attributes" [1424-1459] -->
61 <h3 class="sectionedit885"><a name="device" id="device">device</a></h3>
62 <div class="level3">
64 <p>
65 <strong>device</strong>= is the device name of the symbol<br/>
67 <strong>device</strong>= should be placed somewhere in the symbol and made invisible. This is a free standing or
68 floating attribute. If the object is a graphic then <strong>device</strong>= should be set to none (<strong>device</strong>=none) and attach a <a href="#graphical" title=":geda:master_attributes_list.txt &crarr;" class="wikilink1">graphical</a>= attribute. Do not confuse this attribute with just having a text label which the device name. Do not put spaces into the device name; there are some programs which dislike spaces in the device specifier. Generally the device name is in all caps.<br/>
70 <em>Examples:</em><br/>
71 <code>device=7400</code><br/>
72 <code>device=CONNECTOR_10</code><br/>
73 <code>device=NPN_TRANSISTOR</code>
74 </p>
76 </div>
77 <!-- EDIT885 SECTION "device" [1460-2092] -->
78 <h3 class="sectionedit886"><a name="graphical" id="graphical">graphical</a></h3>
79 <div class="level3">
81 <p>
82 Symbols which have no electrical or circuit significance need a <strong>graphical</strong>=1 attribute. Symbols like titleboxes are purely graphical symbols. Any symbol which has <strong>graphical</strong>=1 is ignored by gnetlist.<br/>
84 <strong>graphical</strong>=1 should exist somewhere in the symbol and made invisible. This is a free standing or
85 floating attribute. Don&#039;t forget to set <a href="#device" title=":geda:master_attributes_list.txt &crarr;" class="wikilink1">device</a>=none.<br/>
87 <em>Example:</em><br/>
88 <code>graphical=1</code>
89 </p>
91 </div>
92 <!-- EDIT886 SECTION "graphical" [2093-2513] -->
93 <h3 class="sectionedit887"><a name="description" id="description">description</a></h3>
94 <div class="level3">
96 <p>
97 The <strong>description</strong> attribute provides a simple one line description of what the symbol is supposed to represent.<br/>
99 <em>Example:</em><br/>
100 <code>description=4 NAND gates with 2 inputs</code>
101 </p>
103 </div>
104 <!-- EDIT887 SECTION "description" [2514-2710] -->
105 <h3 class="sectionedit888"><a name="author" id="author">author</a></h3>
106 <div class="level3">
109 The <strong>author</strong> attribute identifies the name of the author of this symbol and their e-mail address. This attribute is optional, but it is nice to know who created which symbols. It also serves the purpose of known who to contact if there are questions about the intent(s) of the symbol. This attribute is free form and it can also include people&#039;s names who modified the symbol as well as multiple e-mail addresses. It is probably also a good idea to obfuscate the e-mail address so it is not harvested for spam purposes.<br/>
111 <em>Example:</em><br/>
112 <code>author=Ales Hvezda ahvezdaATgeda.seul.org</code>
113 </p>
115 </div>
116 <!-- EDIT888 SECTION "author" [2711-3313] -->
117 <h3 class="sectionedit889"><a name="comment" id="comment">comment</a></h3>
118 <div class="level3">
121 The <strong>comment</strong> attribute can contain anything. This attribute can convey any additional information which might not fit into any other attribute. There can be multiple instances of this attribute.<br/>
123 <em>Example:</em><br/>
124 <code>comment=This is a comment inside a symbol</code>
125 </p>
127 </div>
128 <!-- EDIT889 SECTION "comment" [3314-3593] -->
129 <h3 class="sectionedit890"><a name="pinseq" id="pinseq">pinseq</a></h3>
130 <div class="level3">
133 This attribute is used to give each pin an unique number or sequence. All pins must have a <strong>pinseq</strong>=# attribute attached to the pin object. This attribute should be hidden. This attribute is used extensively by gschem and gnetlist.<br/>
135 In some backends (especially the SPICE backend), gnetlist will output pins in the order of increasing pin sequence. The sequence numbers start at 1 and should increase without skipping any numbers. This attribute is not the pin number (i.e. device pin numbers, like GND is 7 on TTL). For pin numbers see the <a href="#pinnumber" title=":geda:master_attributes_list.txt &crarr;" class="wikilink1">pinnumber</a> attribute.<br/>
137 <em>Examples:</em><br/>
138 <code>pinseq=1</code><br/>
139 <code>pinseq=2</code><br/>
140 <code>pinseq=3</code>
141 </p>
144 This attribute replaces the obsolete <strong>pin#</strong>=# attribute.
145 </p>
147 </div>
148 <!-- EDIT890 SECTION "pinseq" [3594-4302] -->
149 <h3 class="sectionedit891"><a name="pinnumber" id="pinnumber">pinnumber</a></h3>
150 <div class="level3">
153 This attribute is the pin number (i.e. like GND is 7 on 74 TTL). All pins must have a <strong>pinnumber</strong>=# attribute attached to the pin object.<br/>
155 You can have numbers or letters for the value. This attribute should be visible with the value only visible. You also need a <a href="#pinseq" title=":geda:master_attributes_list.txt &crarr;" class="wikilink1">pinseq</a> attribute.<br/>
157 <em>Examples:</em><br/>
158 <code>pinnumber=1</code><br/>
159 <code>pinnumber=13</code><br/>
160 <code>pinnumber=A0</code>
161 </p>
164 This attribute replaces the obsolete <strong>pin#</strong>=# attribute.
165 </p>
167 </div>
168 <!-- EDIT891 SECTION "pinnumber" [4303-4745] -->
169 <h3 class="sectionedit892"><a name="pintype" id="pintype">pintype</a></h3>
170 <div class="level3">
173 Each pin must have a <strong>pintype</strong>=value attribute attached to it and should be make hidden. Table 1 shows valid values for this attribute.<br/>
175 This attribute is not used extensively in the symbol library, but it will be used for DRC and netlisting. Use “Passive” if no other type matches.<br/>
177 <em>Examples:</em><br/>
178 <code>pintype=clk</code><br/>
179 <code>pintype=in</code><br/>
180 <code>pintype=pas</code>
181 </p>
182 <div class="table sectionedit893"><table class="inline">
183 <tr class="row0">
184 <td class="col0">in</td><td class="col1">Input</td>
185 </tr>
186 <tr class="row1">
187 <td class="col0">out</td><td class="col1">Output</td>
188 </tr>
189 <tr class="row2">
190 <td class="col0">io</td><td class="col1">Input/Output</td>
191 </tr>
192 <tr class="row3">
193 <td class="col0">oc</td><td class="col1">Open collector</td>
194 </tr>
195 <tr class="row4">
196 <td class="col0">oe</td><td class="col1">Open emitter</td>
197 </tr>
198 <tr class="row5">
199 <td class="col0">pas</td><td class="col1">Passive</td>
200 </tr>
201 <tr class="row6">
202 <td class="col0">tp</td><td class="col1">Totem pole</td>
203 </tr>
204 <tr class="row7">
205 <td class="col0">tri</td><td class="col1">Tristate (high impedance)</td>
206 </tr>
207 <tr class="row8">
208 <td class="col0">clk</td><td class="col1">Clock</td>
209 </tr>
210 <tr class="row9">
211 <td class="col0">pwr</td><td class="col1">Power/Ground</td>
212 </tr>
213 <tr class="row10">
214 <td class="col0 centeralign" colspan="2"> <strong>Table 1:</strong> pintype values </td>
215 </tr>
216 </table></div>
217 <!-- EDIT893 TABLE [5120-5327] -->
218 </div>
219 <!-- EDIT892 SECTION "pintype" [4746-5328] -->
220 <h3 class="sectionedit894"><a name="pinlabel" id="pinlabel">pinlabel</a></h3>
221 <div class="level3">
224 This attribute labels a pin object. This attribute is primarily used by gnetlist to support hierarchical designs.<br/>
226 This attribute must be attached to the pin and be left visible. Please make this attribute green (instead of the default attribute yellow).<br/>
228 <em>Examples:</em><br/>
229 <code>pinlabel=A0</code><br/>
230 <code>pinlabel=DATA1</code><br/>
231 <code>pinlabel=CLK</code>
232 </p>
234 </div>
235 <!-- EDIT894 SECTION "pinlabel" [5329-5678] -->
236 <h3 class="sectionedit895"><a name="numslots" id="numslots">numslots</a></h3>
237 <div class="level3">
240 If a component has multiple slots in a physical package (such as a 7400 (NAND) which has 4 NANDs per package) then you need a <strong>numslots</strong>=# attribute. The # is the number of slots that are in a physical device. <strong>numslots</strong>=# should exist somewhere in the symbol and be made invisible. This is a free standing or floating attribute. If the symbol does not need slotting, then put <strong>numslots</strong>=0 into the symbol file.<br/>
242 <em>Example:</em><br/>
243 <code>numslots=4</code>
244 </p>
246 </div>
247 <!-- EDIT895 SECTION "numslots" [5679-6148] -->
248 <h3 class="sectionedit896"><a name="slotdef" id="slotdef">slotdef</a></h3>
249 <div class="level3">
252 If a component has multiple slots in a physical package then you must attach a <strong>slotdef</strong>=slotnumber:#,#,#… for every device inside the physical package.<br/>
254 The slotnumber corresponds to the slot number. The colon after the slot number is required. For example, if a device has 4 slots then there would be <strong>slotdef</strong>=1:…, <strong>slotdef</strong>=2:…, <strong>slotdef</strong>=3:…, and <strong>slotdef</strong>=4:… attributes somewhere in the symbol and be made invisible. This is a free standing or
255 floating attribute.<br/>
257 The #&#039;s have a one-to-one correspondence to the <strong>pinseq</strong> attributes and specify which <strong>pinnumber</strong>=# is used during display (gschem) or netlisting (gnetlist).<br/>
259 It is recommended that all symbols which have slots have a <a href="#slot" title=":geda:master_attributes_list.txt &crarr;" class="wikilink1">slot</a>=1 attribute attached in the same fashion as the <a href="#device" title=":geda:master_attributes_list.txt &crarr;" class="wikilink1">device</a>= attribute.<br/>
261 See 7400-1.sym as a concrete example.<br/>
263 <em>Examples:</em><br/>
264 <code>slotdef=1:1,2,3</code><br/>
265 <code>slotdef=2:4,5,6</code><br/>
266 <code>slotdef=3:7,8,9</code>
267 </p>
270 This attribute replaces the obsolete <strong>slot#</strong>=# attribute.
271 </p>
273 </div>
274 <!-- EDIT896 SECTION "slotdef" [6149-7150] -->
275 <h3 class="sectionedit897"><a name="footprint" id="footprint">footprint</a></h3>
276 <div class="level3">
279 <strong>footprint</strong>=package_name should exist somewhere in the symbol and be made invisible. This attribute is used by gnetlist and primarily for the PCB package.<br/>
281 Attach this attribute just like the <a href="#device" title=":geda:master_attributes_list.txt &crarr;" class="wikilink1">device</a>= attribute. This is a free standing or floating attribute.<br/>
283 package_name is the pcb footprint or package type like DIP14 or DIP40. Although this attribute in principle is pcb package dependent, gEDA/gaf conventions exist to make this attribute as portable as possible, allowing for easy collaboration and sharing between users. See the <a href="geda-pcb_footprint_naming_conventions.html" class="wikilink1" title="geda-pcb_footprint_naming_conventions.html">Footprint naming conventions</a>.<br/>
285 If the symbol does not have a footprint, then the value of <strong>footprint</strong>= should be set to none. If the footprint must be overridden in a schematic, then the value of <strong>footprint</strong>= should be set to none. If the footprint is not known, then the value of <strong>footprint</strong>= should be set to unknown.
286 </p>
288 </div>
289 <!-- EDIT897 SECTION "footprint" [7151-8084] -->
290 <h3 class="sectionedit898"><a name="documentation" id="documentation">documentation</a></h3>
291 <div class="level3">
294 <strong>documentation</strong>=documentation_locator may exist somewhere in the symbol and be made invisible. This attribute is used by gschemdoc to find relevant documentation for the symbol, or rather, the device or component associated with the symbol.<br/>
296 Attach this attribute just like the <a href="#device" title=":geda:master_attributes_list.txt &crarr;" class="wikilink1">device</a>= attribute. This is a freestanding or floating attribute.<br/>
298 documentation_locator is either the base filename of the documentation, or it is the complete Internet <acronym title="Uniform Resource Locator">URL</acronym> (Uniform Resource Locator). If it is the filename, an attempt will be made to search for it in the local gEDA share directory named <strong>documentation</strong>.<br/>
300 <em>Filename example:</em><br/>
301 <code>documentation=sn74ls00.pdf</code><br/>
303 <em><acronym title="Uniform Resource Locator">URL</acronym> example:</em><br/>
304 <code>documentation=http://www-s.ti.com/sc/ds/sn74ls00.pdf</code>
305 </p>
307 </div>
308 <!-- EDIT898 SECTION "documentation" [8085-8859] -->
309 <h2 class="sectionedit899"><a name="schematic_only_attributes" id="schematic_only_attributes">Schematic only Attributes</a></h2>
310 <div class="level2">
312 </div>
313 <!-- EDIT899 SECTION "Schematic only Attributes" [8860-8897] -->
314 <h3 class="sectionedit900"><a name="netname" id="netname">netname</a></h3>
315 <div class="level3">
318 This attribute should be attached to a net object to give it a name. Multiple net names for connected net segments is discouraged. All nets which have the same value are considered electrically connected. This attribute is not valid inside symbols (as you cannot have nets inside of symbols).<br/>
320 <em>Examples:</em><br/>
321 <code>netname=DATA0_H</code><br/>
322 <code>netname=CLK_L</code>
323 </p>
325 </div>
326 <!-- EDIT900 SECTION "netname" [8898-9267] -->
327 <h3 class="sectionedit901"><a name="source" id="source">source</a></h3>
328 <div class="level3">
331 The <strong>source</strong>= attribute is used to specify that a symbol has underlying schematics. This attribute is attached directly to a component.<br/>
333 This attribute should only be attached to instantiated components in schematics. Attach the attribute to a component and specify the filename (not the path) of the underlying schematic (like block.sch) for the value. The specified schematic must be in a source-library path. This attribute can be attached multiple times with different values which basically means that there are multiple underlying schematics.<br/>
335 <em>Examples:</em><br/>
336 <code>source=underlying.sch</code><br/>
337 <code>source=memory.sch</code>
338 </p>
340 </div>
341 <!-- EDIT901 SECTION "source" [9268-9905] -->
342 <h2 class="sectionedit902"><a name="symbol_and_schematic_attributes" id="symbol_and_schematic_attributes">Symbol and Schematic Attributes</a></h2>
343 <div class="level2">
345 </div>
346 <!-- EDIT902 SECTION "Symbol and Schematic Attributes" [9906-9950] -->
347 <h3 class="sectionedit903"><a name="refdes" id="refdes">refdes</a></h3>
348 <div class="level3">
351 This attribute is used to specify the reference designator to a particular instantiated component. It must be on ALL components which have some sort of electrical significance. This attribute can also be on the inside of a symbol (it will be promoted, i.e. attached to the outside of the symbol, if it is visible) to provide a default refdes value (such as U?). Usually this attribute is composed by a prefix (&#039;U&#039; for example) and a number (different for each component).<br/>
353 <em>Examples:</em><br/>
354 <code>refdes=U1</code><br/>
355 <code>refdes=R10</code><br/>
356 <code>refdes=CONN1</code>
357 </p>
359 </div>
361 <h4><a name="refdes_naming_restrictions" id="refdes_naming_restrictions">refdes naming restrictions</a></h4>
362 <div class="level4">
365 Gschem will accept any string as a value for the refdes. However, some back-ends to gnetlist impose restrictions on the allowed syntax.
366 </p>
369 Specifically, <a href="geda-faq-gsch2pcb.html" class="wikilink1" title="geda-faq-gsch2pcb.html">gsch2pcb</a> requires:
370 </p>
371 <ul>
372 <li class="level1"><div class="li"> No spaces</div>
373 </li>
374 <li class="level1"><div class="li"> No hyphens. This might upset the M4 macro language potentially used to generate footprints. “_” is ok.</div>
375 </li>
376 <li class="level1"><div class="li"> Any lower case suffix is ignored. This is so you can, place four discrete NAND gates on the schematic called U1a, U1b, U1c and U1d. They will netlist into a single footprint named U1.</div>
377 </li>
378 <li class="level1"><div class="li"> Non-<acronym title="American Standard Code for Information Interchange">ASCII</acronym> characters like like üöäß will not print in pcb</div>
379 </li>
380 </ul>
382 </div>
384 <h4><a name="refdes_naming_conventions" id="refdes_naming_conventions">refdes naming conventions</a></h4>
385 <div class="level4">
388 There is a convention of the reference designator used for each kind of component. Here are some of them (substitute a cardinal value for &lt;n&gt;):
389 </p>
390 <div class="table sectionedit904"><table class="inline">
391 <tr class="row0">
392 <th class="col0"> Prefix </th><th class="col1"> Component type</th>
393 </tr>
394 <tr class="row1">
395 <td class="col0 leftalign"> R&lt;n&gt; </td><td class="col1">Resistor</td>
396 </tr>
397 <tr class="row2">
398 <td class="col0 leftalign"> RN&lt;n&gt; </td><td class="col1">Resistor Network</td>
399 </tr>
400 <tr class="row3">
401 <td class="col0 leftalign"> FB&lt;n&gt; </td><td class="col1">Ferrite Bead</td>
402 </tr>
403 <tr class="row4">
404 <td class="col0 leftalign"> L&lt;n&gt; </td><td class="col1">Inductor</td>
405 </tr>
406 <tr class="row5">
407 <td class="col0 leftalign"> C&lt;n&gt; </td><td class="col1">Capacitor</td>
408 </tr>
409 <tr class="row6">
410 <td class="col0 leftalign"> B&lt;n&gt; </td><td class="col1">Battery </td>
411 </tr>
412 <tr class="row7">
413 <td class="col0 leftalign"> F&lt;n&gt; </td><td class="col1 leftalign">Fuse </td>
414 </tr>
415 <tr class="row8">
416 <td class="col0 leftalign"> J&lt;n&gt; </td><td class="col1">Connector</td>
417 </tr>
418 <tr class="row9">
419 <td class="col0 leftalign"> P&lt;n&gt; </td><td class="col1">Connector (usually plugs that mate with J&lt;n&gt;)</td>
420 </tr>
421 <tr class="row10">
422 <td class="col0 leftalign"> K&lt;n&gt; </td><td class="col1">Relay</td>
423 </tr>
424 <tr class="row11">
425 <td class="col0 leftalign"> S&lt;n&gt; </td><td class="col1">Switch</td>
426 </tr>
427 <tr class="row12">
428 <td class="col0 leftalign"> T&lt;n&gt; </td><td class="col1">Transformer</td>
429 </tr>
430 <tr class="row13">
431 <td class="col0 leftalign"> TP&lt;n&gt; </td><td class="col1">Testpoint</td>
432 </tr>
433 <tr class="row14">
434 <td class="col0 leftalign"> M&lt;n&gt; </td><td class="col1">Motor</td>
435 </tr>
436 <tr class="row15">
437 <td class="col0 leftalign"> D&lt;n&gt; </td><td class="col1">Diode</td>
438 </tr>
439 <tr class="row16">
440 <td class="col0 leftalign"> Q&lt;n&gt; </td><td class="col1">Transistor</td>
441 </tr>
442 <tr class="row17">
443 <td class="col0 leftalign"> U&lt;n&gt; </td><td class="col1">IC</td>
444 </tr>
445 <tr class="row18">
446 <td class="col0 leftalign"> X&lt;n&gt; </td><td class="col1">Crystal</td>
447 </tr>
448 </table></div>
449 <!-- EDIT904 TABLE [11291-11716] -->
450 </div>
451 <!-- EDIT903 SECTION "refdes" [9951-11717] -->
452 <h3 class="sectionedit905"><a name="slot" id="slot">slot</a></h3>
453 <div class="level3">
456 This attribute is used to specify a slot for a slotted component. It should be attached to an instantiated component. This attribute can also be on the inside of a symbol (it will be promoted, i.e. attached to the outside of the symbol, if it is visible) to provide a default slot.
457 </p>
459 </div>
460 <!-- EDIT905 SECTION "slot" [11718-12015] -->
461 <h3 class="sectionedit906"><a name="net" id="net">net</a></h3>
462 <div class="level3">
465 The <strong>net</strong>= attribute is used to create power/ground and arbitrary nets. Please see the <a href="geda-na_howto.html" class="wikilink1" title="geda-na_howto.html">net= attribute mini-HOWTO</a> for more info. When this attribute is inside a symbol, it is used to create nets. When this attribute is attached to an instantiated component (in a schematic), then the <strong>net</strong>= can also be used to create new nets and can used to override existing nets.
466 </p>
468 </div>
469 <!-- EDIT906 SECTION "net" [12016-12419] -->
470 <h3 class="sectionedit907"><a name="value" id="value">value</a></h3>
471 <div class="level3">
474 Used mainly in the spice backend netlister to specify the value of the various elements. No translation is done on this, and it is placed as is into the netlist.<br/>
476 <em>Examples:</em><br/>
477 <code>value=1K</code><br/>
478 <code>value=10V</code>
479 </p>
481 </div>
482 <!-- EDIT907 SECTION "value" [12420-12645] -->
483 <h3 class="sectionedit908"><a name="symversion" id="symversion">symversion</a></h3>
484 <div class="level3">
487 The <strong>symversion</strong>= attribute is used to version the contents of symbols.
488 Because symbols are, by default, referenced from the schematic and not
489 embedded within it, problems can occur in a schematic using a
490 particular symbol if that symbol file is modified. For instance, if
491 pins are moved in the symbol, the schematic net lines will no longer
492 connect to the correct pins. The <strong>symversion</strong>= attribute allows
493 tracking such breaking changes to symbols and notifying the user of
494 potential problems when a schematic is loaded.
495 </p>
498 This attribute is optional, but if present it must take the following
499 form:<br/>
501 <strong>major.minor</strong>
502 </p>
505 where major and minor are integers. The major number is incremented
506 when a change is made to a symbol that might break an existing
507 schematic using the prior version of symbol when the new version is
508 introduced. The minor number is only incremented when a minor change
509 is made (a change that cannot break an existing schematic, such as
510 cosmetic changes while retaining structure such as location of the
511 pins).
512 </p>
515 If this attribute is inside a symbol and that symbol is placed onto a
516 schematic, the <strong>symversion</strong>= attribute will be automatically “promoted”,
517 causing a copy of the <strong>symversion</strong>=M.N attribute to be stored on the
518 symbol instance in the schematic itself. When a symbol is loaded from
519 disk, the value of the <strong>symversion</strong>= inside the symbol file (if any) and
520 the symversion value attached to the symbol instance on the schematic
521 are compared. If the values differ, then libgeda will output a warning
522 message (for minor version changes) or an error message (for major
523 version changes).
524 </p>
527 This attribute should normally be made invisible when placed inside a
528 symbol file. This attribute is always promoted when it is found inside
529 a symbol during component placement. Users should not attach this
530 attribute manually to instantiated symbols in a schematic.<br/>
532 <em>Examples:</em><br/>
533 <code>symversion=1.1</code><br/>
534 <code>symversion=2.0</code>
535 </p>
537 </div>
538 <!-- EDIT908 SECTION "symversion" [12646-14622] -->
539 <h3 class="sectionedit909"><a name="dist-license" id="dist-license">dist-license</a></h3>
540 <div class="level3">
543 The <strong>dist-license</strong> attribute is used to specify the redistribution license for the symbol or schematic. It should be the name of a known license. Some examples values are: <acronym title="GNU General Public License">GPL</acronym>, <acronym title="GNU General Public License">GPL</acronym> version 2 only, <acronym title="GNU General Public License">GPL</acronym> version 3 only, public domain, Apache version 2, Modified BSD, X11, etc. <br/>
545 <br/>
547 For a list of licenses see: <a href="http://www.gnu.org/philosophy/license-list.html" class="urlextern" title="http://www.gnu.org/philosophy/license-list.html" rel="nofollow">FSF License List</a> and
548 <a href="http://www.opensource.org/licenses/category" class="urlextern" title="http://www.opensource.org/licenses/category" rel="nofollow">OSI License List</a>
549 </p>
551 </div>
552 <!-- EDIT909 SECTION "dist-license" [14623-15103] -->
553 <h3 class="sectionedit910"><a name="use-license" id="use-license">use-license</a></h3>
554 <div class="level3">
557 The <strong>use-license</strong> attribute is used to specify the license for how the symbol or schematic can be used by other people in their own circuits or boards. Some example values are: unlimited, personal use only, not for sale, etc.<br/>
559 <br/>
561 <img src="images/smileys/fixme.gif" align="middle" alt="FIXME" /> put a better list of examples here.
562 </p>
564 </div>
565 <!-- EDIT910 SECTION "use-license" [15104-15403] -->
566 <h2 class="sectionedit911"><a name="obsolete_attributes" id="obsolete_attributes">Obsolete Attributes</a></h2>
567 <div class="level2">
569 </div>
570 <!-- EDIT911 SECTION "Obsolete Attributes" [15404-15435] -->
571 <h3 class="sectionedit912"><a name="uref" id="uref">uref</a></h3>
572 <div class="level3">
575 The <strong>uref</strong>= attribute is obsolete and cannot not be used. It was used to provide the same information as <a href="#refdes" title=":geda:master_attributes_list.txt &crarr;" class="wikilink1">refdes</a>.
576 </p>
578 </div>
579 <!-- EDIT912 SECTION "uref" [15436-15571] -->
580 <h3 class="sectionedit913"><a name="name" id="name">name</a></h3>
581 <div class="level3">
584 The <strong>name</strong>= attribute should not be attached or appear in any symbol. It is considered ambiguous. <strong>name</strong>= was never used by gEDA/gaf.
585 </p>
587 </div>
588 <!-- EDIT913 SECTION "name" [15572-15725] -->
589 <h3 class="sectionedit914"><a name="label" id="label">label</a></h3>
590 <div class="level3">
593 The <strong>label</strong>= attribute is obsolete and cannot be used. It was used to give nets names/labels and to label pins. The replacement attributes for this are <a href="#netname" title=":geda:master_attributes_list.txt &crarr;" class="wikilink1">netname</a> and <a href="#pinlabel" title=":geda:master_attributes_list.txt &crarr;" class="wikilink1">pinlabel</a> respectively.
594 </p>
596 </div>
597 <!-- EDIT914 SECTION "label" [15726-15941] -->
598 <h3 class="sectionedit915"><a name="pin" id="pin">pin#</a></h3>
599 <div class="level3">
602 The <strong>pin#</strong>=# attribute is obsolete and cannot be used. It was used to provide sequence and number information to pins. The replacement attributes for this are <a href="#pinseq" title=":geda:master_attributes_list.txt &crarr;" class="wikilink1">pinseq</a> and <a href="#pinnumber" title=":geda:master_attributes_list.txt &crarr;" class="wikilink1">pinnumber</a>.
603 </p>
605 </div>
606 <!-- EDIT915 SECTION "pin#" [15942-16150] -->
607 <h3 class="sectionedit916"><a name="slot1" id="slot1">slot#</a></h3>
608 <div class="level3">
611 The <strong>slot#</strong>=# attribute is obsolete and cannot be used. It was used to provide slotting information to components. The replacement attribute for this is <a href="#slotdef" title=":geda:master_attributes_list.txt &crarr;" class="wikilink1">slotdef</a>.
612 </p>
614 </div>
615 <!-- EDIT916 SECTION "slot#" [16151-16336] -->
616 <h3 class="sectionedit917"><a name="type" id="type">type</a></h3>
617 <div class="level3">
620 The <strong>type</strong>= attribute is obsolete and cannot be used. It was used to provide type information on pins. The replacement attribute for this is <a href="#pintype" title=":geda:master_attributes_list.txt &crarr;" class="wikilink1">pintype</a>.
621 </p>
623 </div>
624 <!-- EDIT917 SECTION "type" [16337-16509] -->
625 <h3 class="sectionedit918"><a name="email" id="email">email</a></h3>
626 <div class="level3">
629 The information in this attribute has been merged with <a href="#author" title=":geda:master_attributes_list.txt &crarr;" class="wikilink1">author</a>.
630 </p>
632 </div>
633 <!-- EDIT918 SECTION "email" [16510-16594] -->
634 <h2 class="sectionedit919"><a name="document_revision_history" id="document_revision_history">Document Revision History</a></h2>
635 <div class="level2">
636 <div class="table sectionedit920"><table class="inline">
637 <tr class="row0">
638 <td class="col0">July 14th, 2002</td><td class="col1">Created attributes.tex from attributes.txt.</td>
639 </tr>
640 <tr class="row1">
641 <td class="col0">July 14th, 2002</td><td class="col1">Updated doc to be in sync with post-20020527.</td>
642 </tr>
643 <tr class="row2">
644 <td class="col0">August 25th, 2002</td><td class="col1">Added obsolete type= attribute.</td>
645 </tr>
646 <tr class="row3">
647 <td class="col0">September 14, 2002</td><td class="col1">Added description= attribute. Minor fixes</td>
648 </tr>
649 <tr class="row4">
650 <td class="col0">October 7, 2002</td><td class="col1">Added doc= attribute; Egil Kvaleberg.</td>
651 </tr>
652 <tr class="row5">
653 <td class="col0">February 11, 2003</td><td class="col1">Added reference to footprint conventions.</td>
654 </tr>
655 <tr class="row6">
656 <td class="col0">February 23, 2003</td><td class="col1">Added author=, email=, and comment= attributes.</td>
657 </tr>
658 <tr class="row7">
659 <td class="col0">July 6th, 2004</td><td class="col1">Added symversion= attribute.</td>
660 </tr>
661 <tr class="row8">
662 <td class="col0">July 10th, 2007</td><td class="col1">Added dist-license= and use-license= attributes.</td>
663 </tr>
664 </table></div>
665 <!-- EDIT920 TABLE [16633-17172] -->
666 </div>
667 <!-- EDIT919 SECTION "Document Revision History" [16595-] --></body>
668 </html>