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
| 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] | |
| } |
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(15.697907949458639,651.7109826589596) scale(0.9472543352601156)"> | |
| <polygon fill="white" stroke="transparent" points="-4,4 -4,-688 696.11,-688 696.11,4 -4,4"/> | |
| <!-- inputs --> | |
| <g id="node1" class="node"> | |
| <title>inputs</title> | |
| <polygon fill="none" stroke="black" points="360,-684 0,-684 0,-648 360,-648 360,-684"/> | |
| <text text-anchor="middle" x="180" y="-661.8" 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,-396 72,-396 72,-180 288,-180 288,-396"/> | |
| <text text-anchor="middle" x="180" y="-283.8" font-family="Times,serif" font-size="14.00">CU</text> | |
| </g> | |
| <!-- inputs->cu --> | |
| <g id="edge1" class="edge"> | |
| <title>inputs->cu</title> | |
| <path fill="none" stroke="black" d="M149,-647.77C149,-647.77 149,-406.13 149,-406.13"/> | |
| <polygon fill="black" stroke="black" points="152.5,-406.13 149,-396.13 145.5,-406.13 152.5,-406.13"/> | |
| <text text-anchor="middle" x="132.28" y="-531.15" font-family="Times,serif" font-size="14.00">Clock</text> | |
| </g> | |
| <!-- inputs->cu --> | |
| <g id="edge2" class="edge"> | |
| <title>inputs->cu</title> | |
| <path fill="none" stroke="black" d="M110.5,-647.77C110.5,-647.77 110.5,-406.13 110.5,-406.13"/> | |
| <polygon fill="black" stroke="black" points="114,-406.13 110.5,-396.13 107,-406.13 114,-406.13"/> | |
| <text text-anchor="middle" x="94.95" y="-531.15" font-family="Times,serif" font-size="14.00">Reset</text> | |
| </g> | |
| <!-- inputs->cu --> | |
| <g id="edge3" class="edge"> | |
| <title>inputs->cu</title> | |
| <path fill="none" stroke="black" d="M187.5,-647.77C187.5,-647.77 187.5,-406.13 187.5,-406.13"/> | |
| <polygon fill="black" stroke="black" points="191,-406.13 187.5,-396.13 184,-406.13 191,-406.13"/> | |
| <text text-anchor="middle" x="171.17" y="-531.15" font-family="Times,serif" font-size="14.00">Sense</text> | |
| </g> | |
| <!-- mdec --> | |
| <g id="node5" class="node"> | |
| <title>mdec</title> | |
| <polygon fill="none" stroke="black" points="370,-612 226,-612 226,-432 370,-432 370,-612"/> | |
| <text text-anchor="middle" x="298" y="-517.8" font-family="Times,serif" font-size="14.00">Mouse Decoder</text> | |
| </g> | |
| <!-- inputs->mdec --> | |
| <g id="edge11" class="edge"> | |
| <title>inputs->mdec</title> | |
| <path fill="none" stroke="black" d="M315.33,-647.76C315.33,-647.76 315.33,-622.08 315.33,-622.08"/> | |
| <polygon fill="black" stroke="black" points="318.83,-622.08 315.33,-612.08 311.83,-622.08 318.83,-622.08"/> | |
| <text text-anchor="middle" x="279.56" y="-622.32" font-family="Times,serif" font-size="14.00">MouseClock</text> | |
| </g> | |
| <!-- inputs->mdec --> | |
| <g id="edge12" class="edge"> | |
| <title>inputs->mdec</title> | |
| <path fill="none" stroke="black" d="M270.67,-647.76C270.67,-647.76 270.67,-622.08 270.67,-622.08"/> | |
| <polygon fill="black" stroke="black" points="274.17,-622.08 270.67,-612.08 267.17,-622.08 274.17,-622.08"/> | |
| <text text-anchor="middle" x="238.4" y="-639.12" 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,-360 431.95,-360 431.95,-216 554.05,-216 554.05,-360"/> | |
| <text text-anchor="middle" x="493" y="-283.8" font-family="Times,serif" font-size="14.00">7 Segment Display</text> | |
| </g> | |
| <!-- cu->ssg --> | |
| <g id="edge4" class="edge"> | |
| <title>cu->ssg</title> | |
| <path fill="none" stroke="black" d="M288.16,-288C288.16,-288 421.85,-288 421.85,-288"/> | |
| <polygon fill="black" stroke="black" points="421.85,-291.5 431.85,-288 421.85,-284.5 421.85,-291.5"/> | |
| <text text-anchor="middle" x="338.28" y="-292.2" font-family="Times,serif" font-size="14.00">Clock</text> | |
| </g> | |
| <!-- cu->ssg --> | |
| <g id="edge5" class="edge"> | |
| <title>cu->ssg</title> | |
| <path fill="none" stroke="black" d="M288.16,-324C288.16,-324 421.85,-324 421.85,-324"/> | |
| <polygon fill="black" stroke="black" points="421.85,-327.5 431.85,-324 421.85,-320.5 421.85,-327.5"/> | |
| <text text-anchor="middle" x="339.45" y="-328.2" font-family="Times,serif" font-size="14.00">Reset</text> | |
| </g> | |
| <!-- cu->ssg --> | |
| <g id="edge6" class="edge"> | |
| <title>cu->ssg</title> | |
| <path fill="none" stroke="black" d="M288.16,-252C288.16,-252 421.85,-252 421.85,-252"/> | |
| <polygon fill="black" stroke="black" points="421.85,-255.5 431.85,-252 421.85,-248.5 421.85,-255.5"/> | |
| <text text-anchor="middle" x="332.06" y="-256.2" font-family="Times,serif" font-size="14.00">Number</text> | |
| </g> | |
| <!-- outputs --> | |
| <g id="node7" class="node"> | |
| <title>outputs</title> | |
| <polygon fill="none" stroke="black" points="434,-90 218,-90 218,-54 434,-54 434,-90"/> | |
| <text text-anchor="middle" x="326" y="-67.8" font-family="Times,serif" font-size="14.00">outputs</text> | |
| </g> | |
| <!-- cu->outputs --> | |
| <g id="edge19" class="edge"> | |
| <title>cu->outputs</title> | |
| <path fill="none" stroke="black" d="M253,-179.68C253,-179.68 253,-100.35 253,-100.35"/> | |
| <polygon fill="black" stroke="black" points="256.5,-100.35 253,-90.35 249.5,-100.35 256.5,-100.35"/> | |
| <text text-anchor="middle" x="230.06" y="-144.22" font-family="Times,serif" font-size="14.00">InvLED</text> | |
| </g> | |
| <!-- b2b --> | |
| <g id="node4" class="node"> | |
| <title>b2b</title> | |
| <polygon fill="none" stroke="black" points="534.4,-144 451.6,-144 451.6,0 534.4,0 534.4,-144"/> | |
| <text text-anchor="middle" x="493" y="-67.8" font-family="Times,serif" font-size="14.00">Bin to BCD</text> | |
| </g> | |
| <!-- ssg->b2b --> | |
| <g id="edge7" class="edge"> | |
| <title>ssg->b2b</title> | |
| <path fill="none" stroke="black" d="M501.29,-215.77C501.29,-215.77 501.29,-154.16 501.29,-154.16"/> | |
| <polygon fill="black" stroke="black" points="504.79,-154.16 501.29,-144.16 497.79,-154.16 504.79,-154.16"/> | |
| <text text-anchor="middle" x="478.35" y="-189.17" font-family="Times,serif" font-size="14.00">Number</text> | |
| </g> | |
| <!-- ssg->b2b --> | |
| <g id="edge8" class="edge"> | |
| <title>ssg->b2b</title> | |
| <path fill="none" stroke="black" d="M484.71,-215.77C484.71,-215.77 484.71,-154.16 484.71,-154.16"/> | |
| <polygon fill="black" stroke="black" points="488.21,-154.16 484.71,-144.16 481.21,-154.16 488.21,-154.16"/> | |
| <text text-anchor="middle" x="493.07" y="-172.37" font-family="Times,serif" font-size="14.00">Clock</text> | |
| </g> | |
| <!-- ssg->outputs --> | |
| <g id="edge17" class="edge"> | |
| <title>ssg->outputs</title> | |
| <path fill="none" stroke="black" d="M439.85,-215.73C439.85,-154.98 439.85,-78 439.85,-78 439.85,-78 439.27,-78 439.27,-78"/> | |
| <polygon fill="black" stroke="black" points="444.05,-74.5 434.05,-78 444.05,-81.5 444.05,-74.5"/> | |
| <text text-anchor="middle" x="418.46" y="-150.77" font-family="Times,serif" font-size="14.00">Anodes</text> | |
| </g> | |
| <!-- ssg->outputs --> | |
| <g id="edge18" class="edge"> | |
| <title>ssg->outputs</title> | |
| <path fill="none" stroke="black" d="M445.7,-215.92C445.7,-151.1 445.7,-66 445.7,-66 445.7,-66 444.22,-66 444.22,-66"/> | |
| <polygon fill="black" stroke="black" points="444.22,-62.5 434.22,-66 444.22,-69.5 444.22,-62.5"/> | |
| <text text-anchor="middle" x="419.65" y="-127.62" font-family="Times,serif" font-size="14.00">Cathodes</text> | |
| </g> | |
| <!-- b2b->ssg --> | |
| <g id="edge9" class="edge"> | |
| <title>b2b->ssg</title> | |
| <path fill="none" stroke="black" d="M517.87,-144.23C517.87,-144.23 517.87,-205.84 517.87,-205.84"/> | |
| <polygon fill="black" stroke="black" points="514.37,-205.84 517.87,-215.84 521.37,-205.84 514.37,-205.84"/> | |
| <text text-anchor="middle" x="532.26" y="-179.23" font-family="Times,serif" font-size="14.00">BCD</text> | |
| </g> | |
| <!-- b2b->ssg --> | |
| <g id="edge10" class="edge"> | |
| <title>b2b->ssg</title> | |
| <path fill="none" stroke="black" d="M468.13,-144.23C468.13,-144.23 468.13,-205.84 468.13,-205.84"/> | |
| <polygon fill="black" stroke="black" points="464.63,-205.84 468.13,-215.84 471.63,-205.84 464.63,-205.84"/> | |
| <text text-anchor="middle" x="435.85" y="-179.23" font-family="Times,serif" font-size="14.00">BCDReady</text> | |
| </g> | |
| <!-- mdec->cu --> | |
| <g id="edge13" class="edge"> | |
| <title>mdec->cu</title> | |
| <path fill="none" stroke="black" d="M267.33,-431.86C267.33,-431.86 267.33,-406.08 267.33,-406.08"/> | |
| <polygon fill="black" stroke="black" points="270.83,-406.08 267.33,-396.08 263.83,-406.08 270.83,-406.08"/> | |
| <text text-anchor="middle" x="223.78" y="-406.37" font-family="Times,serif" font-size="14.00">MouseMessage</text> | |
| </g> | |
| <!-- mdec->cu --> | |
| <g id="edge14" class="edge"> | |
| <title>mdec->cu</title> | |
| <path fill="none" stroke="black" d="M246.67,-431.86C246.67,-431.86 246.67,-406.08 246.67,-406.08"/> | |
| <polygon fill="black" stroke="black" points="250.17,-406.08 246.67,-396.08 243.17,-406.08 250.17,-406.08"/> | |
| <text text-anchor="middle" x="208.96" y="-423.17" font-family="Times,serif" font-size="14.00">NewMessage</text> | |
| </g> | |
| <!-- mtypes --> | |
| <g id="node6" class="node"> | |
| <title>mtypes</title> | |
| <polygon fill="none" stroke="black" points="692.21,-313 689.21,-317 668.21,-317 665.21,-313 571.79,-313 571.79,-263 692.21,-263 692.21,-313"/> | |
| <text text-anchor="middle" x="632" y="-283.8" font-family="Times,serif" font-size="14.00">Mouse Types Unit</text> | |
| </g> | |
| <!-- mdec->mtypes --> | |
| <g id="edge15" class="edge"> | |
| <title>mdec->mtypes</title> | |
| <path fill="none" stroke="black" d="M370.07,-552C473.59,-552 652.04,-552 652.04,-552 652.04,-552 652.04,-323.31 652.04,-323.31"/> | |
| <polygon fill="black" stroke="black" points="655.54,-323.31 652.04,-313.31 648.54,-323.31 655.54,-323.31"/> | |
| <text text-anchor="middle" x="595.07" y="-556.2" font-family="Times,serif" font-size="14.00">MouseReg</text> | |
| </g> | |
| <!-- mtypes->mdec --> | |
| <g id="edge16" class="edge"> | |
| <title>mtypes->mdec</title> | |
| <path fill="none" stroke="black" d="M611.96,-313.01C611.96,-367.49 611.96,-492 611.96,-492 611.96,-492 380.03,-492 380.03,-492"/> | |
| <polygon fill="black" stroke="black" points="380.03,-488.5 370.03,-492 380.03,-495.5 380.03,-488.5"/> | |
| <text text-anchor="middle" x="541.94" y="-496.2" font-family="Times,serif" font-size="14.00">MouseMessage</text> | |
| </g> | |
| </g> | |
| </svg> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment