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
| <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(5.146067415730337,585.4393297688346) scale(1.2865168539325842)"> | |
| <polygon fill="white" stroke="transparent" points="-4,4 -4,-404.6 530,-404.6 530,4 -4,4"/> | |
| <!-- inputs --> | |
| <g id="node1" class="node"> | |
| <title>inputs</title> | |
| <polygon fill="none" stroke="black" points="504,-400.6 0,-400.6 0,-364.6 504,-364.6 504,-400.6"/> | |
| <text text-anchor="middle" x="252" y="-378.4" font-family="Times,serif" font-size="14.00">inputs</text> | |
| </g><g id="clust2" class="cluster"> | |
| <title>cluster_reg</title> | |
| <polygon fill="none" stroke="black" points="232,-209 232,-285.8 518,-285.8 518,-209 232,-209"/> | |
| <text text-anchor="middle" x="375" y="-269.2" font-family="Times,serif" font-size="14.00">MouseReg</text> | |
| </g> | |
| <!-- cu --> | |
| <!-- inputs->cu --> | |
| <g id="edge1" class="edge"> | |
| <title>inputs->mcdiv</title> | |
| <path fill="none" stroke="black" d="M237,-364.33C237,-351.11 237,-334.6 237,-328.87"/> | |
| <text text-anchor="middle" x="199.47" y="-333.07" font-family="Times,serif" font-size="14.00">MouseClock </text> | |
| </g> | |
| <!-- inputs->cu --> | |
| <!-- inputs->cu --> | |
| <!-- mdec --> | |
| <g id="node2" class="node"> | |
| <title>counter</title> | |
| <polygon fill="none" stroke="black" points="222.49,-289 115.51,-289 115.51,-181 222.49,-181 222.49,-289"/> | |
| <text text-anchor="middle" x="169" y="-230.8" font-family="Times,serif" font-size="14.00">Counter mod 43</text> | |
| </g> | |
| <!-- inputs->mdec --> | |
| <g id="node8" class="node"> | |
| <title>outputs</title> | |
| <polygon fill="none" stroke="black" points="463,-36 153,-36 153,0 463,0 463,-36"/> | |
| <text text-anchor="middle" x="308" y="-13.8" font-family="Times,serif" font-size="14.00">outputs</text> | |
| </g> | |
| <!-- inputs->mdec --> | |
| <g id="edge8" class="edge"> | |
| <title>counter->outputs</title> | |
| <path fill="none" stroke="black" d="M187.75,-180.8C187.75,-180.8 187.75,-46.37 187.75,-46.37"/> | |
| <polygon fill="black" stroke="black" points="191.25,-46.37 187.75,-36.37 184.25,-46.37 191.25,-46.37"/> | |
| <text text-anchor="middle" x="148.29" y="-40.57" font-family="Times,serif" font-size="14.00">NewMessage </text> | |
| <text text-anchor="middle" x="178.8" y="-168.2" font-family="Times,serif" font-size="14.00">TC</text> | |
| </g> | |
| <!-- ssg --> | |
| <g id="edge2" class="edge"> | |
| <title>mcdiv->counter</title> | |
| <path fill="none" stroke="black" d="M235.32,-326C224.85,-326 169,-326 169,-326 169,-326 169,-299.25 169,-299.25"/> | |
| <polygon fill="black" stroke="black" points="172.5,-299.25 169,-289.25 165.5,-299.25 172.5,-299.25"/> | |
| </g> | |
| <!-- cu->ssg --> | |
| <g id="edge3" class="edge"> | |
| <title>mcdiv->reg0</title> | |
| <path fill="none" stroke="black" d="M237,-324.88C237,-311.7 237,-235 237,-235 237,-235 237.28,-235 237.28,-235"/> | |
| <polygon fill="black" stroke="black" points="229.77,-238.5 239.77,-235 229.77,-231.5 229.77,-238.5"/> | |
| </g> | |
| <!-- cu->ssg --> | |
| <!-- cu->ssg --> | |
| <g id="edge4" class="edge"> | |
| <title>reg0->reg1</title> | |
| <path fill="none" stroke="black" d="M294.22,-235C294.22,-235 301.74,-235 301.74,-235"/> | |
| <polygon fill="black" stroke="black" points="301.74,-238.5 311.74,-235 301.74,-231.5 301.74,-238.5"/> | |
| </g> | |
| <!-- outputs --> | |
| <!-- cu->outputs --> | |
| <g id="node4" class="node"> | |
| <title>reg0</title> | |
| <polygon fill="none" stroke="black" points="294,-253 240,-253 240,-217 294,-217 294,-253"/> | |
| <text text-anchor="middle" x="267" y="-230.8" font-family="Times,serif" font-size="14.00">D₀</text> | |
| </g><g id="edge5" class="edge"> | |
| <title>reg1->regdot</title> | |
| <path fill="none" stroke="black" d="M366.22,-235C366.22,-235 373.74,-235 373.74,-235"/> | |
| <polygon fill="black" stroke="black" points="373.74,-238.5 383.74,-235 373.74,-231.5 373.74,-238.5"/> | |
| </g> | |
| <!-- b2b --> | |
| <g id="edge7" class="edge"> | |
| <title>inputs->reg0</title> | |
| <path fill="none" stroke="black" d="M267,-364.5C267,-364.5 267,-263.25 267,-263.25"/> | |
| <polygon fill="black" stroke="black" points="270.5,-263.25 267,-253.25 263.5,-263.25 270.5,-263.25"/> | |
| <text text-anchor="middle" x="234.72999999999996" y="-301.27" font-family="Times,serif" font-size="14.00">MouseData</text> | |
| </g> | |
| <!-- ssg->b2b --> | |
| <g id="edge6" class="edge"> | |
| <title>regdot->regn</title> | |
| <path fill="none" stroke="black" d="M438.22,-235C438.22,-235 445.74,-235 445.74,-235"/> | |
| <polygon fill="black" stroke="black" points="445.74,-238.5 455.74,-235 445.74,-231.5 445.74,-238.5"/> | |
| </g> | |
| <!-- ssg->b2b --> | |
| <g id="node9" class="node"> | |
| <title>mtypes</title> | |
| <polygon fill="none" stroke="black" points="468.82,-145 465.82,-149 444.82,-149 441.82,-145 377.18,-145 377.18,-109 468.82,-109 468.82,-145"/> | |
| <text text-anchor="middle" x="423" y="-122.8" font-family="Times,serif" font-size="14.00">Mouse Types</text> | |
| </g> | |
| <!-- ssg->outputs --> | |
| <g id="edge9" class="edge"> | |
| <title>regn->mtypes</title> | |
| <path fill="none" stroke="black" d="M462.46,-216.68C462.46,-216.68 462.46,-155.05 462.46,-155.05"/> | |
| <polygon fill="black" stroke="black" points="465.96,-155.05 462.46,-145.05 458.96,-155.05 465.96,-155.05"/> | |
| </g> | |
| <!-- ssg->outputs --> | |
| <g id="edge10" class="edge"> | |
| <title>mtypes->outputs</title> | |
| <path fill="none" stroke="black" d="M420.04,-108.51C420.04,-108.51 420.04,-46.22 420.04,-46.22"/> | |
| <polygon fill="black" stroke="black" points="423.54,-46.22 420.04,-36.22 416.54,-46.22 423.54,-46.22"/> | |
| <text text-anchor="middle" x="376.5" y="-81.56" font-family="Times,serif" font-size="14.00">MouseMessage</text> | |
| </g> | |
| <g id="node5" class="node"> | |
| <title>reg1</title> | |
| <polygon fill="none" stroke="black" points="366,-253 312,-253 312,-217 366,-217 366,-253"/> | |
| <text text-anchor="middle" x="339" y="-230.8" font-family="Times,serif" font-size="14.00">D₁</text> | |
| </g><g id="node6" class="node"> | |
| <title>regdot</title> | |
| <polygon fill="none" stroke="black" points="438,-253 384,-253 384,-217 438,-217 438,-253"/> | |
| <text text-anchor="middle" x="411" y="-230.8" font-family="Times,serif" font-size="14.00">...</text> | |
| </g><g id="node7" class="node"> | |
| <title>regn</title> | |
| <polygon fill="none" stroke="black" points="510,-253 456,-253 456,-217 510,-217 510,-253"/> | |
| <text text-anchor="middle" x="483" y="-230.8" font-family="Times,serif" font-size="14.00">D₄₁</text> | |
| </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=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