gaf: Fix memory leak
[geda-gaf.git] / docs / wiki / geda-gnetlist_ug-slotting.html
blobddd44a5b98163d78be97faa0e4dd67e9c6c4b980
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>
12 <a href=.>start</a>&nbsp;=>&nbsp;<a href=geda-gnetlist_ug.html>gnetlist_ug</a></br>
13 <div class="table sectionedit1"><table class="inline">
14 <tr class="row0">
15 <td class="col0 leftalign"> &lt;&lt; <a href="geda-gnetlist_ug-hierarchy.html" class="wikilink1" title="geda-gnetlist_ug-hierarchy.html">Hierarchy</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-implicitpins.html" class="wikilink2" title="geda-gnetlist_ug-implicitpins.html">Implicit pins</a> &gt;&gt; </td>
16 </tr>
17 </table></div>
18 <!-- EDIT1 TABLE [1-103] -->
19 <h2 id="slotsandslotting">Slots and slotting</h2>
20 <div class="level2">
22 <p>
23 Some integrated circuits provide several identical and interchangeable devices in a single package. The classic &quot;4000&quot; series of logic devices is a good example of this; for example, each 4001 package contains four 2-input NOR gates. <a href="geda-gschem_ug.html" class="wikilink1" title="geda-gschem_ug.html">gschem</a> and gnetlist provide support for working with these by using <em>slots</em>.
24 </p>
25 <div class="notetip">Check the &quot;4001-1.sym&quot; symbol in the &quot;4000-series logic&quot; symbol library for an example of how to use slotting and <a href="geda-gnetlist_ug-implicitpins.html" class="wikilink2" title="geda-gnetlist_ug-implicitpins.html">implicit pins</a>.
26 <p>
27 Detailed information on slotting attributes can be found in the <a href="geda-master_attributes_list.html" class="wikilink1" title="geda-master_attributes_list.html">Master Attributes List</a>.
28 </p>
30 </div>
31 <p>
32 gnetlist uses several symbol attributes to enable slotting. All must be present for gnetlist to process a slotted component correctly.
33 </p>
34 <ol>
35 <li class="level1"><div class="li"> Every pin must have a &quot;<code>pinseq=</code>&quot; attribute and a &quot;<code>pinnumber=</code>&quot; attribute.</div>
36 </li>
37 <li class="level1"><div class="li"> The &quot;<code>numslots=</code>&quot; attribute indicates how many slots a component has.</div>
38 </li>
39 <li class="level1"><div class="li"> There must be one &quot;<code>slotdef=</code>&quot; attribute for each slot. This contains information about the pin numbers of the pins associated with each slot.</div>
40 </li>
41 <li class="level1"><div class="li"> A &quot;<code>slot=</code>&quot; attribute attached to each component in the schematic indicates which particular slot to use.</div>
42 </li>
43 </ol>
45 <p>
46 When processing a slotted component, gnetlist first looks for a &quot;<code>slotdef=</code>&quot; attribute matching the value of the &quot;<code>slot=</code>&quot; attribute. It uses the value of the &quot;<code>slotdef=</code>&quot; attribute to renumber the pins for the correct slot. It then merges the component with other components with the same &quot;refdes&quot;.
47 </p>
48 <div class="noteimportant">gnetlist does not currently support slotting across hierarchy. The slots in a package cannot be split between different subcircuits.
49 </div>
50 </div>
51 </body>
52 </html>