Index: 07_devmap.html =================================================================== --- 07_devmap.html (nonexistent) +++ 07_devmap.html (revision 258) @@ -0,0 +1,74 @@ + +
+{des7:0} +Device mapping is a generic mechanism for detaching schematics +symbols from footprints and simulation models. It allows: +
{des7:0} +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 +the process: + +
{des7:0} TODO: graph + +
{des7:0} +The device mapper is an optional mechanism implemented in a core plugin. The +user may choose, on per symbol basis, to use hardwired pin numbers, or to not +include the device mapper in the view at all. + +
{des7:0} +The device mapper has two major features: the low level +pin mapping and the high level device mapping. Device mapping emits +attributes read by pin mapping. + + +
{des7:0} +The low level feature, 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 contribute a mapping, the +(TODO: link:) attribute priority mechanism will keep only one of the arrays. + +
{des7:0} +The input is a array is an unordered list of (terminal name + slot name) +-> (attribute_name + value) pairs. + +
{des7:0} +The pin mapper iterates over all +ports of the abstract component and traces back the concrete symbol +its temrinal name is coming from. The slot name is taken from that symbol. + +
{des7:0} +The map is then searched for the terminal+slot pair; if it is found, the +attribute_name+value is set on the terminal. + +
{des7:0} +If a terminal+slot 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} +If a terminal+slot 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 +an error, a DRC plugin shall check for it. + +
{des7:0} +TODO: table of symbol attributes + +
{des7:0} + +