Last active
May 23, 2022 18:40
-
-
Save Raffy27/4ba46eaca7d5c0104027da35ae62520e to your computer and use it in GitHub Desktop.
MouseDecoder Dot Diagrams
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| digraph { | |
| node [shape=rectangle]; | |
| splines=ortho; | |
| inputs [width=5] | |
| inputs -> {_reg0 _reg1 _regdot _regn} [xlabel="Num"]; | |
| inputs -> {_wnode reg0} [xlabel="Clock"]; | |
| inputs -> {_wnode reg0} [xlabel="Reset"]; | |
| subgraph cluster_statecounter { | |
| label="StateCounter" | |
| node[shape=box] | |
| { | |
| rank=same | |
| reg0 [label="D₀"] | |
| reg1 [label="D₁"] | |
| regdot [label="..."] | |
| regn [label="D₄"] | |
| } | |
| wnode [fixedsize=true height=1 shape=point style=invis width=0.01] | |
| } | |
| subgraph cluster_reg { | |
| label="InternalReg" | |
| node[shape=box] | |
| { | |
| rank=same | |
| _reg0 [label="D₀"] | |
| _reg1 [label="D₁"] | |
| _regdot [label="..."] | |
| _regn [label="D₄"] | |
| _reg0 -> _reg1 -> _regdot -> _regn | |
| } | |
| _wnode [fixedsize=true height=0.3 label="" width=0.3 shape=oval] | |
| } | |
| sel_logic [label="State Selection Logic" width=2 height=1.2] | |
| {reg0 reg1 regdot regn} -> sel_logic | |
| sel_logic -> _wnode [xlabel="1" headlabel="PL "] | |
| sel_logic -> _wnode [xlabel="2" headlabel="MODE"] | |
| mux [label="MUX [3]" shape=invtrapezium width=3] | |
| {_reg0 _reg1 _regdot _regn} -> mux [minlen=3] | |
| adder [label="Adder" width=2 height=1] | |
| sel_logic -> adder [xlabel="3" headlabel="Enable"] | |
| mux -> adder | |
| 3 -> adder | |
| {rank=same adder 3} | |
| adder -> _reg0 | |
| sel_logic -> output [xlabel="4"] | |
| {rank=same sel_logic output} | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| digraph { | |
| node [shape=rectangle]; | |
| splines=ortho; | |
| inputs [width=5] | |
| cu [width=3 height=3 label="CU"]; | |
| ssg [label="7 Segment Display" height=2]; | |
| subgraph mdec { | |
| node [shape=box] | |
| splines=ortho | |
| counter [label="Counter mod 42" shape=box height=1.5] | |
| inputs -> mcdiv [headlabel="MouseClock " arrowhead=none] | |
| mcdiv [shape=point style=invis] | |
| mcdiv -> { counter mreg0 } | |
| subgraph cluster_reg1 { | |
| label="MouseReg" | |
| node[shape=box] | |
| { | |
| rank=same | |
| mreg0 [label="D₀"] | |
| mreg1 [label="D₁"] | |
| mreg0 -> mreg1 -> mregdot -> mregn | |
| mregdot [label="..."] | |
| mregn [label="D₄₁"] | |
| } | |
| } | |
| inputs -> mreg0 [xlabel="MouseData"] | |
| counter -> cu [taillabel="TC" headlabel="NewMessage " minlen=3] | |
| mregn -> mtypes | |
| mtypes -> cu [xlabel="MouseMessage"] | |
| } | |
| mtypes [label="Mouse Types Unit" shape=folder height=0.7] | |
| subgraph b2b { | |
| node [shape=rectangle]; | |
| splines=ortho; | |
| ssg -> {_reg0 _reg1 _regdot _regn} [xlabel="Num"]; | |
| ssg -> {_wnode reg0} [xlabel="Clock"]; | |
| ssg -> {_wnode reg0} [xlabel="Reset"]; | |
| subgraph cluster_statecounter { | |
| label="StateCounter" | |
| node[shape=box] | |
| { | |
| rank=same | |
| reg0 [label="D₀"] | |
| reg1 [label="D₁"] | |
| regdot [label="..."] | |
| regn [label="D₄"] | |
| } | |
| wnode [fixedsize=true height=1 shape=point style=invis width=0.01] | |
| } | |
| subgraph cluster_regx { | |
| label="InternalReg" | |
| node[shape=box] | |
| { | |
| rank=same | |
| _reg0 [label="D₀"] | |
| _reg1 [label="D₁"] | |
| _regdot [label="..."] | |
| _regn [label="D₄"] | |
| _reg0 -> _reg1 -> _regdot -> _regn | |
| } | |
| _wnode [fixedsize=true height=0.3 label="" width=0.3 shape=oval] | |
| } | |
| sel_logic [label="State Selection Logic" width=2 height=1.2] | |
| {reg0 reg1 regdot regn} -> sel_logic | |
| sel_logic -> _wnode [xlabel="1" headlabel="PL "] | |
| sel_logic -> _wnode [xlabel="2" headlabel="MODE"] | |
| mux [label="MUX [3]" shape=invtrapezium width=4] | |
| {_reg0 _reg1 _regdot _regn} -> mux [minlen=3] | |
| adder [label="Adder" width=2 height=1] | |
| sel_logic -> adder [xlabel="3" headlabel="Enable "] | |
| mux:s -> adder | |
| sel_logic -> mux:e [xlabel="3"] | |
| 3 -> adder | |
| {rank=same adder 3} | |
| adder -> _reg0 | |
| sel_logic -> ssg [xlabel="4 - BCD"] | |
| } | |
| { rank = same; cu; ssg; } | |
| inputs -> cu [xlabel="Clock"]; | |
| inputs -> cu [xlabel="Reset"]; | |
| inputs -> cu [xlabel="Sense"]; | |
| cu -> ssg [xlabel="Clock" minlen=8]; | |
| cu -> ssg [xlabel="Reset"]; | |
| cu -> ssg [xlabel="Number"]; | |
| ssg -> outputs [xlabel="Anodes"] | |
| ssg -> outputs [xlabel="Cathodes"] | |
| cu -> outputs [xlabel="InvLED " minlen=6] | |
| outputs [width=3] | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <svg width="916" height="874" viewBox="0 0 687 655.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> | |
| <g id="graph0" class="graph" transform="translate(117.46552230229261,653.0953778968329) scale(0.601155525791775)"> | |
| <polygon fill="white" stroke="transparent" points="-4,4 -4,-1086.4 756,-1086.4 756,4 -4,4"/> | |
| <g id="clust3" class="cluster"> | |
| <title>cluster_reg1</title> | |
| <polygon fill="none" stroke="black" points="218,-890.8 218,-967.6 504,-967.6 504,-890.8 218,-890.8"/> | |
| <text text-anchor="middle" x="361" y="-951" font-family="Times,serif" font-size="14.00">MouseReg</text> | |
| </g> | |
| <g id="clust9" class="cluster"> | |
| <title>cluster_statecounter</title> | |
| <polygon fill="none" stroke="black" points="440,-775.8 440,-852.6 744,-852.6 744,-775.8 440,-775.8"/> | |
| <text text-anchor="middle" x="592" y="-836" font-family="Times,serif" font-size="14.00">StateCounter</text> | |
| </g> | |
| <g id="clust11" class="cluster"> | |
| <title>cluster_regx</title> | |
| <polygon fill="none" stroke="black" points="362,-318 362,-394.8 688,-394.8 688,-318 362,-318"/> | |
| <text text-anchor="middle" x="525" y="-378.2" font-family="Times,serif" font-size="14.00">InternalReg</text> | |
| </g> | |
| <!-- inputs --> | |
| <g id="node1" class="node"> | |
| <title>inputs</title> | |
| <polygon fill="none" stroke="black" points="360,-1082.4 0,-1082.4 0,-1046.4 360,-1046.4 360,-1082.4"/> | |
| <text text-anchor="middle" x="180" y="-1060.2" font-family="Times,serif" font-size="14.00">inputs</text> | |
| </g> | |
| <!-- cu --> | |
| <g id="node2" class="node"> | |
| <title>cu</title> | |
| <polygon fill="none" stroke="black" points="288,-618.8 72,-618.8 72,-402.8 288,-402.8 288,-618.8"/> | |
| <text text-anchor="middle" x="180" y="-506.6" font-family="Times,serif" font-size="14.00">CU</text> | |
| </g> | |
| <!-- inputs->cu --> | |
| <g id="edge38" class="edge"> | |
| <title>inputs->cu</title> | |
| <path fill="none" stroke="black" d="M149,-1046.3C149,-1046.3 149,-629 149,-629"/> | |
| <polygon fill="black" stroke="black" points="152.5,-629 149,-619 145.5,-629 152.5,-629"/> | |
| <text text-anchor="middle" x="132.28" y="-841.85" font-family="Times,serif" font-size="14.00">Clock</text> | |
| </g> | |
| <!-- inputs->cu --> | |
| <g id="edge39" class="edge"> | |
| <title>inputs->cu</title> | |
| <path fill="none" stroke="black" d="M110.5,-1046.3C110.5,-1046.3 110.5,-629 110.5,-629"/> | |
| <polygon fill="black" stroke="black" points="114,-629 110.5,-619 107,-629 114,-629"/> | |
| <text text-anchor="middle" x="94.95" y="-841.85" font-family="Times,serif" font-size="14.00">Reset</text> | |
| </g> | |
| <!-- inputs->cu --> | |
| <g id="edge40" class="edge"> | |
| <title>inputs->cu</title> | |
| <path fill="none" stroke="black" d="M187.5,-1046.3C187.5,-1046.3 187.5,-629 187.5,-629"/> | |
| <polygon fill="black" stroke="black" points="191,-629 187.5,-619 184,-629 191,-629"/> | |
| <text text-anchor="middle" x="171.17" y="-841.85" font-family="Times,serif" font-size="14.00">Sense</text> | |
| </g> | |
| <!-- mcdiv --> | |
| <!-- inputs->mcdiv --> | |
| <g id="edge1" class="edge"> | |
| <title>inputs->mcdiv</title> | |
| <path fill="none" stroke="black" d="M266,-1046.13C266,-1032.91 266,-1016.4 266,-1010.67"/> | |
| <text text-anchor="middle" x="228.47" y="-1014.87" font-family="Times,serif" font-size="14.00">MouseClock </text> | |
| </g> | |
| <!-- mreg0 --> | |
| <g id="node6" class="node"> | |
| <title>mreg0</title> | |
| <polygon fill="none" stroke="black" points="280,-934.8 226,-934.8 226,-898.8 280,-898.8 280,-934.8"/> | |
| <text text-anchor="middle" x="253" y="-912.6" font-family="Times,serif" font-size="14.00">D₀</text> | |
| </g> | |
| <!-- inputs->mreg0 --> | |
| <g id="edge7" class="edge"> | |
| <title>inputs->mreg0</title> | |
| <path fill="none" stroke="black" d="M273.9,-1046.3C273.9,-1046.3 273.9,-945.05 273.9,-945.05"/> | |
| <polygon fill="black" stroke="black" points="277.4,-945.05 273.9,-935.05 270.4,-945.05 277.4,-945.05"/> | |
| <text text-anchor="middle" x="241.63" y="-983.07" font-family="Times,serif" font-size="14.00">MouseData</text> | |
| </g> | |
| <!-- ssg --> | |
| <g id="node3" class="node"> | |
| <title>ssg</title> | |
| <polygon fill="none" stroke="black" points="554.05,-582.8 431.95,-582.8 431.95,-438.8 554.05,-438.8 554.05,-582.8"/> | |
| <text text-anchor="middle" x="493" y="-506.6" font-family="Times,serif" font-size="14.00">7 Segment Display</text> | |
| </g> | |
| <!-- cu->ssg --> | |
| <g id="edge41" class="edge"> | |
| <title>cu->ssg</title> | |
| <path fill="none" stroke="black" d="M288.16,-534C288.16,-534 421.85,-534 421.85,-534"/> | |
| <polygon fill="black" stroke="black" points="421.85,-537.5 431.85,-534 421.85,-530.5 421.85,-537.5"/> | |
| <text text-anchor="middle" x="338.28" y="-538.2" font-family="Times,serif" font-size="14.00">Clock</text> | |
| </g> | |
| <!-- cu->ssg --> | |
| <g id="edge42" class="edge"> | |
| <title>cu->ssg</title> | |
| <path fill="none" stroke="black" d="M288.16,-558C288.16,-558 421.85,-558 421.85,-558"/> | |
| <polygon fill="black" stroke="black" points="421.85,-561.5 431.85,-558 421.85,-554.5 421.85,-561.5"/> | |
| <text text-anchor="middle" x="339.45" y="-562.2" font-family="Times,serif" font-size="14.00">Reset</text> | |
| </g> | |
| <!-- cu->ssg --> | |
| <g id="edge43" class="edge"> | |
| <title>cu->ssg</title> | |
| <path fill="none" stroke="black" d="M288.16,-510C288.16,-510 421.85,-510 421.85,-510"/> | |
| <polygon fill="black" stroke="black" points="421.85,-513.5 431.85,-510 421.85,-506.5 421.85,-513.5"/> | |
| <text text-anchor="middle" x="332.06" y="-514.2" font-family="Times,serif" font-size="14.00">Number</text> | |
| </g> | |
| <!-- outputs --> | |
| <g id="node25" class="node"> | |
| <title>outputs</title> | |
| <polygon fill="none" stroke="black" points="389,-36 173,-36 173,0 389,0 389,-36"/> | |
| <text text-anchor="middle" x="281" y="-13.8" font-family="Times,serif" font-size="14.00">outputs</text> | |
| </g> | |
| <!-- cu->outputs --> | |
| <g id="edge46" class="edge"> | |
| <title>cu->outputs</title> | |
| <path fill="none" stroke="black" d="M230.5,-402.65C230.5,-402.65 230.5,-46.28 230.5,-46.28"/> | |
| <polygon fill="black" stroke="black" points="234,-46.28 230.5,-36.28 227,-46.28 234,-46.28"/> | |
| <text text-anchor="middle" x="200.56" y="-228.67" font-family="Times,serif" font-size="14.00">InvLED </text> | |
| </g> | |
| <!-- _reg0 --> | |
| <g id="node11" class="node"> | |
| <title>_reg0</title> | |
| <polygon fill="none" stroke="black" points="424,-362 370,-362 370,-326 424,-326 424,-362"/> | |
| <text text-anchor="middle" x="397" y="-339.8" font-family="Times,serif" font-size="14.00">D₀</text> | |
| </g> | |
| <!-- ssg->_reg0 --> | |
| <g id="edge11" class="edge"> | |
| <title>ssg->_reg0</title> | |
| <path fill="none" stroke="black" d="M436.86,-438.4C436.86,-395.72 436.86,-350 436.86,-350 436.86,-350 434.25,-350 434.25,-350"/> | |
| <polygon fill="black" stroke="black" points="434.25,-346.5 424.25,-350 434.25,-353.5 434.25,-346.5"/> | |
| <text text-anchor="middle" x="422.86" y="-397.09" font-family="Times,serif" font-size="14.00">Num</text> | |
| </g> | |
| <!-- _reg1 --> | |
| <g id="node12" class="node"> | |
| <title>_reg1</title> | |
| <polygon fill="none" stroke="black" points="496,-362 442,-362 442,-326 496,-326 496,-362"/> | |
| <text text-anchor="middle" x="469" y="-339.8" font-family="Times,serif" font-size="14.00">D₁</text> | |
| </g> | |
| <!-- ssg->_reg1 --> | |
| <g id="edge12" class="edge"> | |
| <title>ssg->_reg1</title> | |
| <path fill="none" stroke="black" d="M469,-438.61C469,-438.61 469,-372.05 469,-372.05"/> | |
| <polygon fill="black" stroke="black" points="472.5,-372.05 469,-362.05 465.5,-372.05 472.5,-372.05"/> | |
| <text text-anchor="middle" x="455" y="-409.53" font-family="Times,serif" font-size="14.00">Num</text> | |
| </g> | |
| <!-- _regdot --> | |
| <g id="node13" class="node"> | |
| <title>_regdot</title> | |
| <polygon fill="none" stroke="black" points="568,-362 514,-362 514,-326 568,-326 568,-362"/> | |
| <text text-anchor="middle" x="541" y="-339.8" font-family="Times,serif" font-size="14.00">...</text> | |
| </g> | |
| <!-- ssg->_regdot --> | |
| <g id="edge13" class="edge"> | |
| <title>ssg->_regdot</title> | |
| <path fill="none" stroke="black" d="M534.14,-438.61C534.14,-438.61 534.14,-372.05 534.14,-372.05"/> | |
| <polygon fill="black" stroke="black" points="537.64,-372.05 534.14,-362.05 530.64,-372.05 537.64,-372.05"/> | |
| <text text-anchor="middle" x="520.14" y="-409.53" font-family="Times,serif" font-size="14.00">Num</text> | |
| </g> | |
| <!-- _regn --> | |
| <g id="node14" class="node"> | |
| <title>_regn</title> | |
| <polygon fill="none" stroke="black" points="640,-362 586,-362 586,-326 640,-326 640,-362"/> | |
| <text text-anchor="middle" x="613" y="-339.8" font-family="Times,serif" font-size="14.00">D₄</text> | |
| </g> | |
| <!-- ssg->_regn --> | |
| <g id="edge14" class="edge"> | |
| <title>ssg->_regn</title> | |
| <path fill="none" stroke="black" d="M554.05,-474C583.7,-474 613,-474 613,-474 613,-474 613,-372.08 613,-372.08"/> | |
| <polygon fill="black" stroke="black" points="616.5,-372.08 613,-362.08 609.5,-372.08 616.5,-372.08"/> | |
| <text text-anchor="middle" x="599" y="-456.71" font-family="Times,serif" font-size="14.00">Num</text> | |
| </g> | |
| <!-- _wnode --> | |
| <g id="node15" class="node"> | |
| <title>_wnode</title> | |
| <ellipse fill="none" stroke="black" cx="669" cy="-344" rx="11" ry="11"/> | |
| </g> | |
| <!-- ssg->_wnode --> | |
| <g id="edge15" class="edge"> | |
| <title>ssg->_wnode</title> | |
| <path fill="none" stroke="black" d="M554.28,-546C604.31,-546 666.8,-546 666.8,-546 666.8,-546 666.8,-364.86 666.8,-364.86"/> | |
| <polygon fill="black" stroke="black" points="670.3,-364.86 666.8,-354.86 663.3,-364.86 670.3,-364.86"/> | |
| <text text-anchor="middle" x="650.08" y="-515.89" font-family="Times,serif" font-size="14.00">Clock</text> | |
| </g> | |
| <!-- ssg->_wnode --> | |
| <g id="edge17" class="edge"> | |
| <title>ssg->_wnode</title> | |
| <path fill="none" stroke="black" d="M554.16,-510C602.68,-510 662.4,-510 662.4,-510 662.4,-510 662.4,-362.92 662.4,-362.92"/> | |
| <polygon fill="black" stroke="black" points="665.9,-362.92 662.4,-352.92 658.9,-362.92 665.9,-362.92"/> | |
| <text text-anchor="middle" x="646.85" y="-494.78" font-family="Times,serif" font-size="14.00">Reset</text> | |
| </g> | |
| <!-- reg0 --> | |
| <g id="node16" class="node"> | |
| <title>reg0</title> | |
| <polygon fill="none" stroke="black" points="520,-819.8 466,-819.8 466,-783.8 520,-783.8 520,-819.8"/> | |
| <text text-anchor="middle" x="493" y="-797.6" font-family="Times,serif" font-size="14.00">D₀</text> | |
| </g> | |
| <!-- ssg->reg0 --> | |
| <g id="edge16" class="edge"> | |
| <title>ssg->reg0</title> | |
| <path fill="none" stroke="black" d="M493,-583.11C493,-583.11 493,-773.77 493,-773.77"/> | |
| <polygon fill="black" stroke="black" points="489.5,-773.77 493,-783.77 496.5,-773.77 489.5,-773.77"/> | |
| <text text-anchor="middle" x="476.28" y="-682.64" font-family="Times,serif" font-size="14.00">Clock</text> | |
| </g> | |
| <!-- ssg->reg0 --> | |
| <g id="edge18" class="edge"> | |
| <title>ssg->reg0</title> | |
| <path fill="none" stroke="black" d="M479.5,-583.11C479.5,-583.11 479.5,-773.77 479.5,-773.77"/> | |
| <polygon fill="black" stroke="black" points="476,-773.77 479.5,-783.77 483,-773.77 476,-773.77"/> | |
| <text text-anchor="middle" x="463.95" y="-665.84" font-family="Times,serif" font-size="14.00">Reset</text> | |
| </g> | |
| <!-- ssg->outputs --> | |
| <g id="edge44" class="edge"> | |
| <title>ssg->outputs</title> | |
| <path fill="none" stroke="black" d="M431.91,-462C378.02,-462 308,-462 308,-462 308,-462 308,-46.23 308,-46.23"/> | |
| <polygon fill="black" stroke="black" points="311.5,-46.23 308,-36.23 304.5,-46.23 311.5,-46.23"/> | |
| <text text-anchor="middle" x="286.61" y="-320.27" font-family="Times,serif" font-size="14.00">Anodes</text> | |
| </g> | |
| <!-- ssg->outputs --> | |
| <g id="edge45" class="edge"> | |
| <title>ssg->outputs</title> | |
| <path fill="none" stroke="black" d="M431.84,-486C374.65,-486 298,-486 298,-486 298,-486 298,-46.06 298,-46.06"/> | |
| <polygon fill="black" stroke="black" points="301.5,-46.06 298,-36.06 294.5,-46.06 301.5,-46.06"/> | |
| <text text-anchor="middle" x="271.95" y="-337.15" font-family="Times,serif" font-size="14.00">Cathodes</text> | |
| </g> | |
| <!-- counter --> | |
| <g id="node4" class="node"> | |
| <title>counter</title> | |
| <polygon fill="none" stroke="black" points="620.49,-970.8 513.51,-970.8 513.51,-862.8 620.49,-862.8 620.49,-970.8"/> | |
| <text text-anchor="middle" x="567" y="-912.6" font-family="Times,serif" font-size="14.00">Counter mod 42</text> | |
| </g> | |
| <!-- counter->cu --> | |
| <g id="edge8" class="edge"> | |
| <title>counter->cu</title> | |
| <path fill="none" stroke="black" d="M529,-862.7C529,-772.22 529,-600 529,-600 529,-600 298.04,-600 298.04,-600"/> | |
| <polygon fill="black" stroke="black" points="298.04,-596.5 288.04,-600 298.04,-603.5 298.04,-596.5"/> | |
| <text text-anchor="middle" x="327.5" y="-604.2" font-family="Times,serif" font-size="14.00">NewMessage </text> | |
| <text text-anchor="middle" x="520.06" y="-850.1" font-family="Times,serif" font-size="14.00">TC</text> | |
| </g> | |
| <!-- mcdiv->counter --> | |
| <g id="edge2" class="edge"> | |
| <title>mcdiv->counter</title> | |
| <path fill="none" stroke="black" d="M267.92,-1008C293.56,-1008 567,-1008 567,-1008 567,-1008 567,-980.91 567,-980.91"/> | |
| <polygon fill="black" stroke="black" points="570.5,-980.91 567,-970.91 563.5,-980.91 570.5,-980.91"/> | |
| </g> | |
| <!-- mcdiv->mreg0 --> | |
| <g id="edge3" class="edge"> | |
| <title>mcdiv->mreg0</title> | |
| <path fill="none" stroke="black" d="M266,-1006.68C266,-1006.68 266,-944.99 266,-944.99"/> | |
| <polygon fill="black" stroke="black" points="269.5,-944.99 266,-934.99 262.5,-944.99 269.5,-944.99"/> | |
| </g> | |
| <!-- mreg1 --> | |
| <g id="node7" class="node"> | |
| <title>mreg1</title> | |
| <polygon fill="none" stroke="black" points="352,-934.8 298,-934.8 298,-898.8 352,-898.8 352,-934.8"/> | |
| <text text-anchor="middle" x="325" y="-912.6" font-family="Times,serif" font-size="14.00">D₁</text> | |
| </g> | |
| <!-- mreg0->mreg1 --> | |
| <g id="edge4" class="edge"> | |
| <title>mreg0->mreg1</title> | |
| <path fill="none" stroke="black" d="M280.22,-916C280.22,-916 287.74,-916 287.74,-916"/> | |
| <polygon fill="black" stroke="black" points="287.74,-919.5 297.74,-916 287.74,-912.5 287.74,-919.5"/> | |
| </g> | |
| <!-- mregdot --> | |
| <g id="node8" class="node"> | |
| <title>mregdot</title> | |
| <polygon fill="none" stroke="black" points="424,-934.8 370,-934.8 370,-898.8 424,-898.8 424,-934.8"/> | |
| <text text-anchor="middle" x="397" y="-912.6" font-family="Times,serif" font-size="14.00">...</text> | |
| </g> | |
| <!-- mreg1->mregdot --> | |
| <g id="edge5" class="edge"> | |
| <title>mreg1->mregdot</title> | |
| <path fill="none" stroke="black" d="M352.22,-916C352.22,-916 359.74,-916 359.74,-916"/> | |
| <polygon fill="black" stroke="black" points="359.74,-919.5 369.74,-916 359.74,-912.5 359.74,-919.5"/> | |
| </g> | |
| <!-- mregn --> | |
| <g id="node9" class="node"> | |
| <title>mregn</title> | |
| <polygon fill="none" stroke="black" points="496,-934.8 442,-934.8 442,-898.8 496,-898.8 496,-934.8"/> | |
| <text text-anchor="middle" x="469" y="-912.6" font-family="Times,serif" font-size="14.00">D₄₁</text> | |
| </g> | |
| <!-- mregdot->mregn --> | |
| <g id="edge6" class="edge"> | |
| <title>mregdot->mregn</title> | |
| <path fill="none" stroke="black" d="M424.22,-916C424.22,-916 431.74,-916 431.74,-916"/> | |
| <polygon fill="black" stroke="black" points="431.74,-919.5 441.74,-916 431.74,-912.5 431.74,-919.5"/> | |
| </g> | |
| <!-- mtypes --> | |
| <g id="node10" class="node"> | |
| <title>mtypes</title> | |
| <polygon fill="none" stroke="black" points="357.21,-826.8 354.21,-830.8 333.21,-830.8 330.21,-826.8 236.79,-826.8 236.79,-776.8 357.21,-776.8 357.21,-826.8"/> | |
| <text text-anchor="middle" x="297" y="-797.6" font-family="Times,serif" font-size="14.00">Mouse Types Unit</text> | |
| </g> | |
| <!-- mregn->mtypes --> | |
| <g id="edge9" class="edge"> | |
| <title>mregn->mtypes</title> | |
| <path fill="none" stroke="black" d="M448,-898.71C448,-871.46 448,-823 448,-823 448,-823 367.11,-823 367.11,-823"/> | |
| <polygon fill="black" stroke="black" points="367.11,-819.5 357.11,-823 367.11,-826.5 367.11,-819.5"/> | |
| </g> | |
| <!-- mtypes->cu --> | |
| <g id="edge10" class="edge"> | |
| <title>mtypes->cu</title> | |
| <path fill="none" stroke="black" d="M262.45,-776.74C262.45,-776.74 262.45,-628.99 262.45,-628.99"/> | |
| <polygon fill="black" stroke="black" points="265.95,-628.99 262.45,-618.99 258.95,-628.99 265.95,-628.99"/> | |
| <text text-anchor="middle" x="218.9" y="-707.06" font-family="Times,serif" font-size="14.00">MouseMessage</text> | |
| </g> | |
| <!-- _reg0->_reg1 --> | |
| <g id="edge19" class="edge"> | |
| <title>_reg0->_reg1</title> | |
| <path fill="none" stroke="black" d="M424.22,-338C424.22,-338 431.74,-338 431.74,-338"/> | |
| <polygon fill="black" stroke="black" points="431.74,-341.5 441.74,-338 431.74,-334.5 431.74,-341.5"/> | |
| </g> | |
| <!-- mux --> | |
| <g id="node22" class="node"> | |
| <title>mux</title> | |
| <polygon fill="none" stroke="black" points="476.9,-180 645.1,-180 705,-216 417,-216 476.9,-180"/> | |
| <text text-anchor="middle" x="561" y="-193.8" font-family="Times,serif" font-size="14.00">MUX [3]</text> | |
| </g> | |
| <!-- _reg0->mux --> | |
| <g id="edge28" class="edge"> | |
| <title>_reg0->mux</title> | |
| <path fill="none" stroke="black" d="M420.5,-325.8C420.5,-325.8 420.5,-208.06 420.5,-208.06"/> | |
| <polygon fill="black" stroke="black" points="424,-208.06 420.5,-198.06 417,-208.06 424,-208.06"/> | |
| </g> | |
| <!-- _reg1->_regdot --> | |
| <g id="edge20" class="edge"> | |
| <title>_reg1->_regdot</title> | |
| <path fill="none" stroke="black" d="M496.22,-344C496.22,-344 503.74,-344 503.74,-344"/> | |
| <polygon fill="black" stroke="black" points="503.74,-347.5 513.74,-344 503.74,-340.5 503.74,-347.5"/> | |
| </g> | |
| <!-- _reg1->mux --> | |
| <g id="edge29" class="edge"> | |
| <title>_reg1->mux</title> | |
| <path fill="none" stroke="black" d="M469,-325.8C469,-325.8 469,-226.43 469,-226.43"/> | |
| <polygon fill="black" stroke="black" points="472.5,-226.43 469,-216.43 465.5,-226.43 472.5,-226.43"/> | |
| </g> | |
| <!-- _regdot->_regn --> | |
| <g id="edge21" class="edge"> | |
| <title>_regdot->_regn</title> | |
| <path fill="none" stroke="black" d="M568.22,-344C568.22,-344 575.74,-344 575.74,-344"/> | |
| <polygon fill="black" stroke="black" points="575.74,-347.5 585.74,-344 575.74,-340.5 575.74,-347.5"/> | |
| </g> | |
| <!-- _regdot->mux --> | |
| <g id="edge30" class="edge"> | |
| <title>_regdot->mux</title> | |
| <path fill="none" stroke="black" d="M541,-325.8C541,-325.8 541,-226.43 541,-226.43"/> | |
| <polygon fill="black" stroke="black" points="544.5,-226.43 541,-216.43 537.5,-226.43 544.5,-226.43"/> | |
| </g> | |
| <!-- _regn->mux --> | |
| <g id="edge31" class="edge"> | |
| <title>_regn->mux</title> | |
| <path fill="none" stroke="black" d="M613,-325.8C613,-325.8 613,-226.43 613,-226.43"/> | |
| <polygon fill="black" stroke="black" points="616.5,-226.43 613,-216.43 609.5,-226.43 616.5,-226.43"/> | |
| </g> | |
| <!-- sel_logic --> | |
| <g id="node21" class="node"> | |
| <title>sel_logic</title> | |
| <polygon fill="none" stroke="black" points="709,-740.8 565,-740.8 565,-654.8 709,-654.8 709,-740.8"/> | |
| <text text-anchor="middle" x="637" y="-693.6" font-family="Times,serif" font-size="14.00">State Selection Logic</text> | |
| </g> | |
| <!-- reg0->sel_logic --> | |
| <g id="edge22" class="edge"> | |
| <title>reg0->sel_logic</title> | |
| <path fill="none" stroke="black" d="M506.5,-783.63C506.5,-757.39 506.5,-712 506.5,-712 506.5,-712 554.88,-712 554.88,-712"/> | |
| <polygon fill="black" stroke="black" points="554.88,-715.5 564.88,-712 554.88,-708.5 554.88,-715.5"/> | |
| </g> | |
| <!-- reg1 --> | |
| <g id="node17" class="node"> | |
| <title>reg1</title> | |
| <polygon fill="none" stroke="black" points="736,-819.8 682,-819.8 682,-783.8 736,-783.8 736,-819.8"/> | |
| <text text-anchor="middle" x="709" y="-797.6" font-family="Times,serif" font-size="14.00">D₁</text> | |
| </g> | |
| <!-- reg1->sel_logic --> | |
| <g id="edge23" class="edge"> | |
| <title>reg1->sel_logic</title> | |
| <path fill="none" stroke="black" d="M695.5,-783.68C695.5,-783.68 695.5,-751.2 695.5,-751.2"/> | |
| <polygon fill="black" stroke="black" points="699,-751.2 695.5,-741.2 692,-751.2 699,-751.2"/> | |
| </g> | |
| <!-- regdot --> | |
| <g id="node18" class="node"> | |
| <title>regdot</title> | |
| <polygon fill="none" stroke="black" points="664,-819.8 610,-819.8 610,-783.8 664,-783.8 664,-819.8"/> | |
| <text text-anchor="middle" x="637" y="-797.6" font-family="Times,serif" font-size="14.00">...</text> | |
| </g> | |
| <!-- regdot->sel_logic --> | |
| <g id="edge24" class="edge"> | |
| <title>regdot->sel_logic</title> | |
| <path fill="none" stroke="black" d="M637,-783.68C637,-783.68 637,-751.2 637,-751.2"/> | |
| <polygon fill="black" stroke="black" points="640.5,-751.2 637,-741.2 633.5,-751.2 640.5,-751.2"/> | |
| </g> | |
| <!-- regn --> | |
| <g id="node19" class="node"> | |
| <title>regn</title> | |
| <polygon fill="none" stroke="black" points="592,-819.8 538,-819.8 538,-783.8 592,-783.8 592,-819.8"/> | |
| <text text-anchor="middle" x="565" y="-797.6" font-family="Times,serif" font-size="14.00">D₄</text> | |
| </g> | |
| <!-- regn->sel_logic --> | |
| <g id="edge25" class="edge"> | |
| <title>regn->sel_logic</title> | |
| <path fill="none" stroke="black" d="M578.5,-783.68C578.5,-783.68 578.5,-751.2 578.5,-751.2"/> | |
| <polygon fill="black" stroke="black" points="582,-751.2 578.5,-741.2 575,-751.2 582,-751.2"/> | |
| </g> | |
| <!-- wnode --> | |
| <!-- sel_logic->ssg --> | |
| <g id="edge37" class="edge"> | |
| <title>sel_logic->ssg</title> | |
| <path fill="none" stroke="black" d="M564.96,-683C553.94,-683 546.14,-683 546.14,-683 546.14,-683 546.14,-592.83 546.14,-592.83"/> | |
| <polygon fill="black" stroke="black" points="549.64,-592.83 546.14,-582.83 542.64,-592.83 549.64,-592.83"/> | |
| <text text-anchor="middle" x="522.41" y="-651.53" font-family="Times,serif" font-size="14.00">4 - BCD</text> | |
| </g> | |
| <!-- sel_logic->_wnode --> | |
| <g id="edge26" class="edge"> | |
| <title>sel_logic->_wnode</title> | |
| <path fill="none" stroke="black" d="M675.6,-654.77C675.6,-654.77 675.6,-362.92 675.6,-362.92"/> | |
| <polygon fill="black" stroke="black" points="679.1,-362.92 675.6,-352.92 672.1,-362.92 679.1,-362.92"/> | |
| <text text-anchor="middle" x="672.1" y="-496.25" font-family="Times,serif" font-size="14.00">1</text> | |
| <text text-anchor="middle" x="685.52" y="-357.12" font-family="Times,serif" font-size="14.00">PL </text> | |
| </g> | |
| <!-- sel_logic->_wnode --> | |
| <g id="edge27" class="edge"> | |
| <title>sel_logic->_wnode</title> | |
| <path fill="none" stroke="black" d="M671.2,-654.77C671.2,-654.77 671.2,-364.97 671.2,-364.97"/> | |
| <polygon fill="black" stroke="black" points="674.7,-364.97 671.2,-354.97 667.7,-364.97 674.7,-364.97"/> | |
| <text text-anchor="middle" x="674.7" y="-514.07" font-family="Times,serif" font-size="14.00">2</text> | |
| <text text-anchor="middle" x="650.59" y="-359.17" font-family="Times,serif" font-size="14.00">MODE</text> | |
| </g> | |
| <!-- sel_logic->mux --> | |
| <g id="edge34" class="edge"> | |
| <title>sel_logic->mux:e</title> | |
| <path fill="none" stroke="black" d="M649,-654.75C649,-654.75 649,-208 649,-208"/> | |
| <polygon fill="black" stroke="black" points="652.5,-208 649,-198 645.5,-208 652.5,-208"/> | |
| <text text-anchor="middle" x="645.5" y="-435.58" font-family="Times,serif" font-size="14.00">3</text> | |
| </g> | |
| <!-- adder --> | |
| <g id="node23" class="node"> | |
| <title>adder</title> | |
| <polygon fill="none" stroke="black" points="534,-144 390,-144 390,-72 534,-72 534,-144"/> | |
| <text text-anchor="middle" x="462" y="-103.8" font-family="Times,serif" font-size="14.00">Adder</text> | |
| </g> | |
| <!-- sel_logic->adder --> | |
| <g id="edge32" class="edge"> | |
| <title>sel_logic->adder</title> | |
| <path fill="none" stroke="black" d="M577,-654.53C577,-546.02 577,-271 577,-271 577,-271 408,-271 408,-271 408,-271 408,-154.17 408,-154.17"/> | |
| <polygon fill="black" stroke="black" points="411.5,-154.17 408,-144.17 404.5,-154.18 411.5,-154.17"/> | |
| <text text-anchor="middle" x="573.5" y="-324.05" font-family="Times,serif" font-size="14.00">3</text> | |
| <text text-anchor="middle" x="386.82" y="-148.37" font-family="Times,serif" font-size="14.00">Enable </text> | |
| </g> | |
| <!-- mux->adder --> | |
| <g id="edge33" class="edge"> | |
| <title>mux:s->adder</title> | |
| <path fill="none" stroke="black" d="M475.5,-180C475.5,-180 475.5,-154.42 475.5,-154.42"/> | |
| <polygon fill="black" stroke="black" points="479,-154.42 475.5,-144.42 472,-154.42 479,-154.42"/> | |
| </g> | |
| <!-- adder->_reg0 --> | |
| <g id="edge36" class="edge"> | |
| <title>adder->_reg0</title> | |
| <path fill="none" stroke="black" d="M399,-144.1C399,-144.1 399,-315.74 399,-315.74"/> | |
| <polygon fill="black" stroke="black" points="395.5,-315.74 399,-325.74 402.5,-315.74 395.5,-315.74"/> | |
| </g> | |
| <!-- 3 --> | |
| <g id="node24" class="node"> | |
| <title>3</title> | |
| <polygon fill="none" stroke="black" points="372,-126 318,-126 318,-90 372,-90 372,-126"/> | |
| <text text-anchor="middle" x="345" y="-103.8" font-family="Times,serif" font-size="14.00">3</text> | |
| </g> | |
| <!-- 3->adder --> | |
| <g id="edge35" class="edge"> | |
| <title>3->adder</title> | |
| <path fill="none" stroke="black" d="M372.14,-108C372.14,-108 379.57,-108 379.57,-108"/> | |
| <polygon fill="black" stroke="black" points="379.57,-111.5 389.57,-108 379.57,-104.5 379.57,-111.5"/> | |
| </g> | |
| </g> | |
| </svg> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| digraph { | |
| node [shape=box] | |
| splines=ortho | |
| inputs [width=7] | |
| counter [label="Counter mod 43" shape=box height=1.5] | |
| inputs -> mcdiv [headlabel="MouseClock " arrowhead=none] | |
| mcdiv [shape=point style=invis] | |
| mcdiv -> { counter reg0 } | |
| subgraph cluster_reg { | |
| label="MouseReg" | |
| node[shape=box] | |
| { | |
| rank=same | |
| reg0 [label="D₀"] | |
| reg1 [label="D₁"] | |
| reg0 -> reg1 -> regdot -> regn | |
| regdot [label="..."] | |
| regn [label="D₄₁"] | |
| } | |
| } | |
| inputs -> reg0 [xlabel="MouseData"] | |
| counter -> outputs [taillabel="TC" headlabel="NewMessage " minlen=3] | |
| regn -> mtypes | |
| mtypes -> outputs [xlabel="MouseMessage"] | |
| mtypes [label="Mouse Types" shape=folder] | |
| outputs [width=4.3] | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| digraph { | |
| node [shape=rectangle]; | |
| splines=ortho; | |
| inputs [width=5] | |
| cu [width=3 height=3 label="CU"]; | |
| ssg [label="7 Segment Display" height=2]; | |
| b2b [label="Bin to BCD" height=2]; | |
| mdec [label="Mouse Decoder" height=2.5 width=2]; | |
| mtypes [label="Mouse Types Unit" shape=folder height=0.7] | |
| { rank = same; cu; ssg; } | |
| inputs -> cu [xlabel="Clock"]; | |
| inputs -> cu [xlabel="Reset"]; | |
| inputs -> cu [xlabel="Sense"]; | |
| cu -> ssg [xlabel="Clock" minlen=8]; | |
| cu -> ssg [xlabel="Reset"]; | |
| cu -> ssg [xlabel="Number"]; | |
| ssg -> b2b [xlabel="Number"]; | |
| ssg -> b2b [xlabel="Clock"]; | |
| b2b -> ssg [xlabel="BCD"]; | |
| b2b -> ssg [xlabel="BCDReady"]; | |
| inputs -> mdec [xlabel="MouseClock"]; | |
| inputs -> mdec [xlabel="MouseData"]; | |
| mdec -> cu [xlabel="MouseMessage"]; | |
| mdec -> cu [xlabel="NewMessage"]; | |
| mdec -> mtypes [xlabel="MouseReg"]; | |
| mtypes -> mdec [xlabel="MouseMessage"]; | |
| ssg -> outputs [xlabel="Anodes"] | |
| ssg -> outputs [xlabel="Cathodes"] | |
| cu -> outputs [xlabel="InvLED"] | |
| outputs [width=3] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment