Index: 07_devmap.html =================================================================== --- 07_devmap.html (revision 277) +++ 07_devmap.html (revision 278) @@ -13,7 +13,7 @@ footprint or simulation model (problem known as "slotting") -

{des7:0} +

{des7:1} These goals are achieved by using symbolic terminal names (instead of "pin numbers") in the schematic symbols and auxiliary data to translate the terminal names into port numbers. The following diagram demonstrates @@ -21,7 +21,7 @@

-

{des7:0} +

{des7:2} The device mapper has three major features: slotting name translation (red), device mapping (green) and pin mapping (blue). The slotting translation makes sure the resulting abstract component has the right amount of ports; @@ -29,7 +29,7 @@ attributes from a database; the pin mapper applies a pin numbers from a table (the table typically set up by the device mapper). -

{des7:0} +

{des7:3} The device mapper is an optional mechanism implemented in a plugin. The user may choose to use it or to:

-

{des7:0} +

{des7:4} It is possible to use features of this plugin selectively and/or replace some or all features using another plugin.

7.1. Slot prefixing

-

{des7:0} +

{des7:5} Devmap registers for the terminal-name-to-port-name translation. -

{des7:0} +

{des7:6} If the slot attribute presents in a symbol, and the terminal does not have the "noslot" attribute, the translation is activated. The slot name is taken directly from the concrete symbol's slot attribute. @@ -61,11 +61,11 @@ attribute is then removed from the abstract component to avoid collisions. -

{des7:0} +

{des7:7} Typical example: common opamp symbol: -

{des7:0} +

{des7:8}

-
{des7:0} example opamp terminal attributes +
{des7:9} example opamp terminal attributes
name noslot terminal description
in_plus (not present) positive input pin
in_minus (not present) negative input pin @@ -74,7 +74,7 @@
v_minus "yes" negative power rail
-

{des7:0} +

{des7:10} In the above example v_plus and v_minus are never prefixed with "slot/" because of their noslot attribute. In case the symbol is used with the slot attribute set, this means: @@ -85,7 +85,7 @@ exist in the abstract component -

{des7:0} +

{des7:11} Note: when the same symbol is used in a non-slotted use case, the symbol will not have the "slot" attribute; in this case no terminal name translation applied and the resulting abstract component will have the same port names @@ -94,7 +94,7 @@

7.2. Pin mapping

-

{des7:0} +

{des7:12} Pin mapping takes a map between the symbolic description and emits the physical description (port numbers for a footprint or sim model). There shall be one such mapping per abstract component. If multiple symbols @@ -102,7 +102,7 @@ keep only one of the arrays. -

{des7:0} +

{des7:13} The input is a array is an unordered list of (terminal name + slot name) -> (attribute_name + value) pairs, each specified in the following syntax:

@@ -109,17 +109,17 @@
 slot/termname -> attribkey=value
 
-

{des7:0} E.g. "A/out -> pcb/pin=1" means "terminal with +

{des7:14} E.g. "A/out -> pcb/pin=1" means "terminal with name=out in symbol tagged as slot=A shall get attribute pcb/pin set to 1". -

{des7:0} +

{des7:15} If a slot/terminal pair is not found in the map, an error message is emitted. This happens when the schematics symbol uses a terminal that has no physical pin with the given device. -

{des7:0} +

{des7:16} If a slot/terminal pair of the map is not used in the mapping, no error is generated. A typical example when this happens is when a logic circuit has 4 identical slots but the schematics uses only 3. If this is considered @@ -126,9 +126,9 @@ an error, a DRC plugin shall check for it. -

{des7:0} +

{des7:17}

-
{des7:0} pin mapping related symbol attributes +
{des7:18} pin mapping related symbol attributes
attribute value description
pinmap array of map entries the actual map, as described in TODO
slot slot name textual name of the slot the symbol provides @@ -136,24 +136,24 @@

7.3. Device mapping

-

{des7:0} +

{des7:19} The device mapper takes the devmap attribute of a symbol and looks it up in a database for finding a device map file. If the devmap attribute is an array, each devmap file is looked up and applied, in order of appearance. -

{des7:0} +

{des7:20} A device map file is a simple list of cschem attributes. The device mapper takes each attribute from the device map file and apply it on the symbol that had the devmap attribute. -

{des7:0} +

{des7:21} A common device map file will usually have a pinmap attribute that will set at least one attributes on each terminal. -

{des7:0} +

{des7:22}

-
{des7:0} device mapping related symbol attributes +
{des7:23} device mapping related symbol attributes
attribute value description
devmap name name of the devmap file to use