Index: trunk/doc/design/07_devmap.html =================================================================== --- trunk/doc/design/07_devmap.html (revision 272) +++ trunk/doc/design/07_devmap.html (revision 273) @@ -19,7 +19,7 @@ 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 plugin. The @@ -30,7 +30,7 @@ The device mapper has three major features: slotting name translation, pin mapping and device mapping. -

7.1. Slotting

+

7.1. Slot prefixing

{des7:0} Devmap registers for the terminal-name-to-port-name Index: trunk/doc/design/07_diag.svg =================================================================== --- trunk/doc/design/07_diag.svg (nonexistent) +++ trunk/doc/design/07_diag.svg (revision 273) @@ -0,0 +1,165 @@ + + + + + + +devmap + +cluster_1 + +concrete schematics symbol + +cluster_2 + +terminal + +cluster_3 + +devmap plugin + +cluster_4 + +abstract component + +cluster_5 + +port + + +a_devmap + +devmap +attribute + + +devmap + +devmap +mecanism + + +a_devmap->devmap + + + + +a_slot + +slot +attribute + + +slot_prefix + +slot prefixing +mechanism + + +a_slot->slot_prefix + + + + +a_name + +name +attribute + + +a_name->slot_prefix + + + + +a_noslot + +noslot +attribute + + +a_noslot->slot_prefix + + + + +a_pname + +name attribute +(often slot-prefixed) + + +slot_prefix->a_pname + + + + +a_footprint + +pcb/footprint attribute, +spice/model attribute + + +devmap->a_footprint + + + + +a_pinmap + +pinmap +attribute + + +devmap->a_pinmap + + + + +pinmap + +pinmap +mecanism + + +a_pinname + +pcb/pin attribute, +spice/pin attribute + + +pinmap->a_pinname + + + + +output +output: +footprint & pin number, +spice model & node position + + +a_footprint->output + + + + +a_pinmap->pinmap + + + + +a_pname:s->devmap + + + + +a_pinname->output + + + + + Index: trunk/doc/design/src/07_diag.dot =================================================================== --- trunk/doc/design/src/07_diag.dot (nonexistent) +++ trunk/doc/design/src/07_diag.dot (revision 273) @@ -0,0 +1,55 @@ +digraph devmap { + rankdir=LR; + ranksep=1 + + subgraph cluster_1 { + label="concrete schematics symbol" + a_devmap [label="devmap\nattribute"] + a_slot [label="slot\nattribute"] + subgraph cluster_2 { + label="terminal" + bgcolor=lightgrey + a_name [label="name\nattribute"] + a_noslot [label="noslot\nattribute"] + } + } + + subgraph cluster_3 { + label="devmap plugin" + + slot_prefix [label="slot prefixing\nmechanism"] + + devmap [label="devmap\nmecanism"] + pinmap [label="pinmap\nmecanism"] + } + + subgraph cluster_4 { + label="abstract component" + a_footprint [label="pcb/footprint attribute,\nspice/model attribute"] + a_pinmap [label="pinmap\nattribute"] + subgraph cluster_5 { + label="port" + bgcolor=lightgrey + a_pname [label="name attribute\n(often slot-prefixed)"] + a_pinname [label="pcb/pin attribute,\nspice/pin attribute"] + } + } + + output [label="output:\nfootprint & pin number,\nspice model & node position"; shape=plaintext] + + a_slot -> slot_prefix [color=red] + a_noslot -> slot_prefix [color=red] + a_name -> slot_prefix [color=red] + slot_prefix -> a_pname [color=red] + + a_devmap -> devmap [color=green] + a_pname:s -> devmap [color=green; weight=0] + devmap -> a_pinmap [color=green] + devmap -> a_footprint [color=green] + + a_pinmap -> pinmap [color=blue; weight=0] + pinmap -> a_pinname [color=blue] + + a_pinname -> output + a_footprint -> output +} \ No newline at end of file Index: trunk/doc/design/src/Makefile =================================================================== --- trunk/doc/design/src/Makefile (revision 272) +++ trunk/doc/design/src/Makefile (revision 273) @@ -1,6 +1,6 @@ all: ../01_comp.svg ../02_abstract.svg ../02_graphical.svg ../03_stack.svg \ ../03_coords.png ../06_example1.svg ../06_example2.svg ../06_topo1.svg \ - ../06_topo2.svg ../06_topo3.svg + ../06_topo2.svg ../06_topo3.svg ../07_diag.svg ../01_comp.svg: 01_comp.aag aagraph -Tsvg 01_comp.aag > ../01_comp.svg @@ -31,3 +31,6 @@ ../06_topo3.svg: 06_topo3.dot dot -Tsvg 06_topo3.dot > ../06_topo3.svg + +../07_diag.svg: 07_diag.dot + dot -Tsvg 07_diag.dot > ../07_diag.svg