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