This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
geda:gnetlist_ug:slotting [2012/11/17 09:46] peter-b |
geda:gnetlist_ug:slotting [2012/11/17 10:25] peter-b |
||
---|---|---|---|
Line 2: | Line 2: | ||
===== Slots and slotting ===== | ===== Slots and slotting ===== | ||
+ | |||
+ | Some integrated circuits provide several identical and interchangeable devices in a single package. The classic "4000" series of logic devices is a good example of this; for example, each 4001 package contains four 2-input NOR gates. [[geda:gschem_ug|gschem]] and gnetlist provide support for working with these by using //slots//. | ||
+ | |||
+ | <note tip>Check the "4001-1.sym" symbol in the "4000-series logic" symbol library for an example of how to use slotting and [[implicit pins]]. | ||
+ | |||
+ | Detailed information on slotting attributes can be found in the [[geda:master_attributes_list|Master Attributes List]].</note> | ||
+ | |||
+ | gnetlist uses several symbol attributes to enable slotting. All must be present for gnetlist to process a slotted component correctly. | ||
+ | |||
+ | - Every pin must have a "''pinseq=''" attribute and a "''pinnumber=''" attribute. | ||
+ | - The "''numslots=''" attribute indicates how many slots a component has. | ||
+ | - There must be one "''slotdef=''" attribute for each slot. This contains information about the pin numbers of the pins associated with each slot. | ||
+ | - A "''slot=''" attribute attached to each component in the schematic indicates which particular slot to use. | ||
+ | |||
+ | When processing a slotted component, gnetlist first looks for a "''slotdef=''" attribute matching the value of the "''slot=''" attribute. It uses the value of the "''slotdef=''" attribute to renumber the pins for the correct slot. It then merges the component with other components with the same "refdes". | ||
+ | |||
+ | <note important>gnetlist does not currently support slotting across hierarchy. The slots in a package cannot be split between different subcircuits.</note> |