Merge remote-tracking branch 'origin/master'

This commit is contained in:
cxy004 2021-08-16 05:32:29 +08:00
commit 6c5864b092
11 changed files with 628 additions and 14 deletions

View File

@ -5,13 +5,17 @@ digraph drState{
edge [arrowhead=normal] edge [arrowhead=normal]
IDLE -> REFILL [label=<write <br/> ~cached or hit>] IDLE -> REFILL [label=<write <br/> ~cached or hit>]
IDLE -> IDLE [label="cached & hit"] IDLE -> IDLE [label=<cached <br/> &amp; hit>]
IDLE -> WA [label=<cached <br/> ~hit <br/> ~axi.addr_ok>] IDLE -> WA [label=<cached <br/> ~hit <br/> ~axi.addr_ok>]
IDLE -> WD1 [label=<cached <br/> ~hit <br/> axi.addr_ok>] IDLE -> WD1 [label=<cached <br/> ~hit <br/> axi.addr_ok>]
WA -> WD1 [xlabel=" "] WA -> WA [label="~axi.addr_ok"]
WD1 -> WD2 [xlabel=" "] WA -> WD1 [label="~axi.rvalid"]
WD2 -> WD3 [xlabel=" "] WA -> WD2 [label=<axi.rvalid <br/>&amp; cached>]
WD3 -> WD4 [xlabel=" "] WA -> IDLE [label=<axi.rvalid <br/>&amp; ~cached>]
WD4 -> REFILL[xlabel=" "]
WD2 -> WD3 [label="axi.rvalid"]
WD3 -> WD4 [label="axi.rvalid"]
WD4 -> REFILL [label="axi.rvalid"]
REFILL -> IDLE [label="sync with dwState"]
} }

147
resources/pic/drState.svg Normal file
View File

@ -0,0 +1,147 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (0)
-->
<!-- Title: drState Pages: 1 -->
<svg width="414pt" height="553pt"
viewBox="0.00 0.00 414.00 553.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 549)">
<title>drState</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-549 410,-549 410,4 -4,4"/>
<!-- IDLE -->
<g id="node1" class="node">
<title>IDLE</title>
<path fill="none" stroke="black" d="M118,-508.5C118,-508.5 148,-508.5 148,-508.5 154,-508.5 160,-514.5 160,-520.5 160,-520.5 160,-532.5 160,-532.5 160,-538.5 154,-544.5 148,-544.5 148,-544.5 118,-544.5 118,-544.5 112,-544.5 106,-538.5 106,-532.5 106,-532.5 106,-520.5 106,-520.5 106,-514.5 112,-508.5 118,-508.5"/>
<text text-anchor="middle" x="133" y="-522.8" font-family="Times,serif" font-size="14.00">IDLE</text>
</g>
<!-- IDLE&#45;&gt;IDLE -->
<g id="edge2" class="edge">
<title>IDLE&#45;&gt;IDLE</title>
<path fill="none" stroke="black" d="M160.24,-537.36C170.02,-537.6 178,-533.98 178,-526.5 178,-521.83 174.88,-518.66 170.16,-517"/>
<polygon fill="black" stroke="black" points="170.62,-513.53 160.24,-515.64 169.67,-520.47 170.62,-513.53"/>
<text text-anchor="start" x="178" y="-530.3" font-family="Times,serif" font-size="14.00">cached </text>
<text text-anchor="start" x="182" y="-515.3" font-family="Times,serif" font-size="14.00"> &amp; hit</text>
</g>
<!-- REFILL -->
<g id="node2" class="node">
<title>REFILL</title>
<path fill="none" stroke="black" d="M86,-0.5C86,-0.5 124,-0.5 124,-0.5 130,-0.5 136,-6.5 136,-12.5 136,-12.5 136,-24.5 136,-24.5 136,-30.5 130,-36.5 124,-36.5 124,-36.5 86,-36.5 86,-36.5 80,-36.5 74,-30.5 74,-24.5 74,-24.5 74,-12.5 74,-12.5 74,-6.5 80,-0.5 86,-0.5"/>
<text text-anchor="middle" x="105" y="-14.8" font-family="Times,serif" font-size="14.00">REFILL</text>
</g>
<!-- IDLE&#45;&gt;REFILL -->
<g id="edge1" class="edge">
<title>IDLE&#45;&gt;REFILL</title>
<path fill="none" stroke="black" d="M105.93,-516.08C75.72,-505.56 31,-490 31,-490 31,-490 0,-405.5 0,-405.5 0,-405.5 0,-405.5 0,-105.5 0,-105.5 44.97,-68.67 76.05,-43.21"/>
<polygon fill="black" stroke="black" points="78.49,-45.74 84,-36.7 74.05,-40.33 78.49,-45.74"/>
<text text-anchor="start" x="25" y="-249.8" font-family="Times,serif" font-size="14.00">write </text>
<text text-anchor="start" x="0" y="-234.8" font-family="Times,serif" font-size="14.00"> ~cached or hit</text>
</g>
<!-- WA -->
<g id="node3" class="node">
<title>WA</title>
<path fill="none" stroke="black" d="M40,-386.5C40,-386.5 70,-386.5 70,-386.5 76,-386.5 82,-392.5 82,-398.5 82,-398.5 82,-410.5 82,-410.5 82,-416.5 76,-422.5 70,-422.5 70,-422.5 40,-422.5 40,-422.5 34,-422.5 28,-416.5 28,-410.5 28,-410.5 28,-398.5 28,-398.5 28,-392.5 34,-386.5 40,-386.5"/>
<text text-anchor="middle" x="55" y="-400.8" font-family="Times,serif" font-size="14.00">WA</text>
</g>
<!-- IDLE&#45;&gt;WA -->
<g id="edge3" class="edge">
<title>IDLE&#45;&gt;WA</title>
<path fill="none" stroke="black" d="M105.96,-515.71C76.95,-505.2 35,-490 35,-490 35,-490 35,-445 35,-445 35,-445 37.87,-439.33 41.44,-432.28"/>
<polygon fill="black" stroke="black" points="44.77,-433.44 46.17,-422.94 38.53,-430.28 44.77,-433.44"/>
<text text-anchor="start" x="52" y="-478.8" font-family="Times,serif" font-size="14.00">cached </text>
<text text-anchor="start" x="58" y="-463.8" font-family="Times,serif" font-size="14.00"> ~hit </text>
<text text-anchor="start" x="35" y="-448.8" font-family="Times,serif" font-size="14.00"> ~axi.addr_ok</text>
</g>
<!-- WD1 -->
<g id="node4" class="node">
<title>WD1</title>
<path fill="none" stroke="black" d="M142,-279.5C142,-279.5 172,-279.5 172,-279.5 178,-279.5 184,-285.5 184,-291.5 184,-291.5 184,-303.5 184,-303.5 184,-309.5 178,-315.5 172,-315.5 172,-315.5 142,-315.5 142,-315.5 136,-315.5 130,-309.5 130,-303.5 130,-303.5 130,-291.5 130,-291.5 130,-285.5 136,-279.5 142,-279.5"/>
<text text-anchor="middle" x="157" y="-293.8" font-family="Times,serif" font-size="14.00">WD1</text>
</g>
<!-- IDLE&#45;&gt;WD1 -->
<g id="edge4" class="edge">
<title>IDLE&#45;&gt;WD1</title>
<path fill="none" stroke="black" d="M159.05,-508.37C172.86,-499.3 187,-490 187,-490 187,-490 195,-364 195,-364 195,-364 195,-334 195,-334 195,-334 189.72,-329.06 183.09,-322.87"/>
<polygon fill="black" stroke="black" points="185.25,-320.1 175.55,-315.83 180.47,-325.22 185.25,-320.1"/>
<text text-anchor="start" x="206.5" y="-415.8" font-family="Times,serif" font-size="14.00">cached </text>
<text text-anchor="start" x="212.5" y="-400.8" font-family="Times,serif" font-size="14.00"> ~hit </text>
<text text-anchor="start" x="193" y="-385.8" font-family="Times,serif" font-size="14.00"> axi.addr_ok</text>
</g>
<!-- REFILL&#45;&gt;IDLE -->
<g id="edge12" class="edge">
<title>REFILL&#45;&gt;IDLE</title>
<path fill="none" stroke="black" d="M136.41,-32.94C192.94,-57.12 306,-105.5 306,-105.5 306,-405.5 306,-405.5 306,-405.5 306,-405.5 202,-490 202,-490 202,-490 186.02,-498.22 169.44,-506.75"/>
<polygon fill="black" stroke="black" points="167.56,-503.78 160.27,-511.47 170.76,-510.01 167.56,-503.78"/>
<text text-anchor="middle" x="356" y="-242.3" font-family="Times,serif" font-size="14.00">sync with dwState</text>
</g>
<!-- WA&#45;&gt;IDLE -->
<g id="edge8" class="edge">
<title>WA&#45;&gt;IDLE</title>
<path fill="none" stroke="black" d="M79.4,-422.71C94.49,-433.35 111,-445 111,-445 111,-445 119.25,-475.2 125.65,-498.6"/>
<polygon fill="black" stroke="black" points="122.32,-499.7 128.33,-508.43 129.07,-497.86 122.32,-499.7"/>
<text text-anchor="start" x="124.5" y="-471.3" font-family="Times,serif" font-size="14.00">axi.rvalid </text>
<text text-anchor="start" x="122" y="-456.3" font-family="Times,serif" font-size="14.00">&amp; ~cached</text>
</g>
<!-- WA&#45;&gt;WA -->
<g id="edge5" class="edge">
<title>WA&#45;&gt;WA</title>
<path fill="none" stroke="black" d="M82.24,-414.62C92.02,-414.83 100,-411.46 100,-404.5 100,-400.26 97.04,-397.35 92.51,-395.77"/>
<polygon fill="black" stroke="black" points="92.62,-392.26 82.24,-394.38 91.68,-399.19 92.62,-392.26"/>
<text text-anchor="middle" x="136.5" y="-400.8" font-family="Times,serif" font-size="14.00">~axi.addr_ok</text>
</g>
<!-- WA&#45;&gt;WD1 -->
<g id="edge6" class="edge">
<title>WA&#45;&gt;WD1</title>
<path fill="none" stroke="black" d="M79.84,-386.29C95.2,-375.65 112,-364 112,-364 112,-364 126.66,-342.67 139.24,-324.35"/>
<polygon fill="black" stroke="black" points="142.4,-325.93 145.18,-315.71 136.63,-321.97 142.4,-325.93"/>
<text text-anchor="middle" x="161" y="-345.3" font-family="Times,serif" font-size="14.00">~axi.rvalid</text>
</g>
<!-- WD2 -->
<g id="node5" class="node">
<title>WD2</title>
<path fill="none" stroke="black" d="M67,-279.5C67,-279.5 97,-279.5 97,-279.5 103,-279.5 109,-285.5 109,-291.5 109,-291.5 109,-303.5 109,-303.5 109,-309.5 103,-315.5 97,-315.5 97,-315.5 67,-315.5 67,-315.5 61,-315.5 55,-309.5 55,-303.5 55,-303.5 55,-291.5 55,-291.5 55,-285.5 61,-279.5 67,-279.5"/>
<text text-anchor="middle" x="82" y="-293.8" font-family="Times,serif" font-size="14.00">WD2</text>
</g>
<!-- WA&#45;&gt;WD2 -->
<g id="edge7" class="edge">
<title>WA&#45;&gt;WD2</title>
<path fill="none" stroke="black" d="M55.25,-386.32C55.54,-365.74 56,-334 56,-334 56,-334 59.17,-329.67 63.29,-324.04"/>
<polygon fill="black" stroke="black" points="66.22,-325.97 69.3,-315.83 60.57,-321.83 66.22,-325.97"/>
<text text-anchor="start" x="56" y="-352.8" font-family="Times,serif" font-size="14.00">axi.rvalid </text>
<text text-anchor="start" x="57.5" y="-337.8" font-family="Times,serif" font-size="14.00">&amp; cached</text>
</g>
<!-- WD3 -->
<g id="node6" class="node">
<title>WD3</title>
<path fill="none" stroke="black" d="M90,-176.5C90,-176.5 120,-176.5 120,-176.5 126,-176.5 132,-182.5 132,-188.5 132,-188.5 132,-200.5 132,-200.5 132,-206.5 126,-212.5 120,-212.5 120,-212.5 90,-212.5 90,-212.5 84,-212.5 78,-206.5 78,-200.5 78,-200.5 78,-188.5 78,-188.5 78,-182.5 84,-176.5 90,-176.5"/>
<text text-anchor="middle" x="105" y="-190.8" font-family="Times,serif" font-size="14.00">WD3</text>
</g>
<!-- WD2&#45;&gt;WD3 -->
<g id="edge9" class="edge">
<title>WD2&#45;&gt;WD3</title>
<path fill="none" stroke="black" d="M85.9,-279.37C89.44,-263.84 94.71,-240.7 98.82,-222.66"/>
<polygon fill="black" stroke="black" points="102.27,-223.24 101.08,-212.72 95.45,-221.69 102.27,-223.24"/>
<text text-anchor="middle" x="122" y="-242.3" font-family="Times,serif" font-size="14.00">axi.rvalid</text>
</g>
<!-- WD4 -->
<g id="node7" class="node">
<title>WD4</title>
<path fill="none" stroke="black" d="M90,-88.5C90,-88.5 120,-88.5 120,-88.5 126,-88.5 132,-94.5 132,-100.5 132,-100.5 132,-112.5 132,-112.5 132,-118.5 126,-124.5 120,-124.5 120,-124.5 90,-124.5 90,-124.5 84,-124.5 78,-118.5 78,-112.5 78,-112.5 78,-100.5 78,-100.5 78,-94.5 84,-88.5 90,-88.5"/>
<text text-anchor="middle" x="105" y="-102.8" font-family="Times,serif" font-size="14.00">WD4</text>
</g>
<!-- WD3&#45;&gt;WD4 -->
<g id="edge10" class="edge">
<title>WD3&#45;&gt;WD4</title>
<path fill="none" stroke="black" d="M105,-176.1C105,-164.25 105,-148.32 105,-134.79"/>
<polygon fill="black" stroke="black" points="108.5,-134.58 105,-124.58 101.5,-134.58 108.5,-134.58"/>
<text text-anchor="middle" x="131" y="-146.8" font-family="Times,serif" font-size="14.00">axi.rvalid</text>
</g>
<!-- WD4&#45;&gt;REFILL -->
<g id="edge11" class="edge">
<title>WD4&#45;&gt;REFILL</title>
<path fill="none" stroke="black" d="M105,-88.1C105,-76.25 105,-60.32 105,-46.79"/>
<polygon fill="black" stroke="black" points="108.5,-46.58 105,-36.58 101.5,-46.58 108.5,-46.58"/>
<text text-anchor="middle" x="131" y="-58.8" font-family="Times,serif" font-size="14.00">axi.rvalid</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.7 KiB

29
resources/pic/dwState.dot Normal file
View File

@ -0,0 +1,29 @@
digraph dwState{
splines=polyline
compound=true
node [shape=Mrecord]
edge [arrowhead=normal]
IDLE -> WD1 [label="~axi.wready"]
IDLE -> WD2 [label=<axi.wready <br/> &amp; cached>]
IDLE -> WB [label=<axi.wready <br/> &amp; ~cached <br/> &amp; ~axi.data_ok>]
IDLE -> WAITR [label="sync with drState"]
WD1 -> WD2 [label=<axi.wready <br/> &amp; cached>]
WD1 -> WB [label=<axi.wready <br/> &amp; ~cached <br/> &amp; ~axi.data_ok>]
WD1 -> IDLE [label=<axi.wready <br/> &amp; ~cached <br/> &amp; axi.data_ok>]
WD2 -> WD3 [label="axi.wready"]
WD3 -> WD4 [label="axi.wready"]
WD4 -> WB [label=<axi.wready<br/> &amp; ~axi.data_ok>]
WD4 -> IDLE [label="sync with drState"]
WD4 -> WAITR [label="sync with drState"]
WB -> IDLE [label="sync with drState"]
WB -> IDLE [label="sync with drState"]
WB -> WAITR [label="sync with drState"]
WAITR -> IDLE [label="sync with drState"]
}

176
resources/pic/dwState.svg Normal file
View File

@ -0,0 +1,176 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (0)
-->
<!-- Title: dwState Pages: 1 -->
<svg width="877pt" height="671pt"
viewBox="0.00 0.00 877.00 671.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 667)">
<title>dwState</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-667 873,-667 873,4 -4,4"/>
<!-- IDLE -->
<g id="node1" class="node">
<title>IDLE</title>
<path fill="none" stroke="black" d="M359,-626.5C359,-626.5 389,-626.5 389,-626.5 395,-626.5 401,-632.5 401,-638.5 401,-638.5 401,-650.5 401,-650.5 401,-656.5 395,-662.5 389,-662.5 389,-662.5 359,-662.5 359,-662.5 353,-662.5 347,-656.5 347,-650.5 347,-650.5 347,-638.5 347,-638.5 347,-632.5 353,-626.5 359,-626.5"/>
<text text-anchor="middle" x="374" y="-640.8" font-family="Times,serif" font-size="14.00">IDLE</text>
</g>
<!-- WD1 -->
<g id="node2" class="node">
<title>WD1</title>
<path fill="none" stroke="black" d="M345,-508.5C345,-508.5 375,-508.5 375,-508.5 381,-508.5 387,-514.5 387,-520.5 387,-520.5 387,-532.5 387,-532.5 387,-538.5 381,-544.5 375,-544.5 375,-544.5 345,-544.5 345,-544.5 339,-544.5 333,-538.5 333,-532.5 333,-532.5 333,-520.5 333,-520.5 333,-514.5 339,-508.5 345,-508.5"/>
<text text-anchor="middle" x="360" y="-522.8" font-family="Times,serif" font-size="14.00">WD1</text>
</g>
<!-- IDLE&#45;&gt;WD1 -->
<g id="edge1" class="edge">
<title>IDLE&#45;&gt;WD1</title>
<path fill="none" stroke="black" d="M371.93,-626.38C369.66,-607.54 365.97,-576.97 363.3,-554.8"/>
<polygon fill="black" stroke="black" points="366.75,-554.19 362.07,-544.69 359.8,-555.03 366.75,-554.19"/>
<text text-anchor="middle" x="403" y="-581.8" font-family="Times,serif" font-size="14.00">~axi.wready</text>
</g>
<!-- WD2 -->
<g id="node3" class="node">
<title>WD2</title>
<path fill="none" stroke="black" d="M554,-405.5C554,-405.5 584,-405.5 584,-405.5 590,-405.5 596,-411.5 596,-417.5 596,-417.5 596,-429.5 596,-429.5 596,-435.5 590,-441.5 584,-441.5 584,-441.5 554,-441.5 554,-441.5 548,-441.5 542,-435.5 542,-429.5 542,-429.5 542,-417.5 542,-417.5 542,-411.5 548,-405.5 554,-405.5"/>
<text text-anchor="middle" x="569" y="-419.8" font-family="Times,serif" font-size="14.00">WD2</text>
</g>
<!-- IDLE&#45;&gt;WD2 -->
<g id="edge2" class="edge">
<title>IDLE&#45;&gt;WD2</title>
<path fill="none" stroke="black" d="M401.02,-633.61C429.72,-623.11 471,-608 471,-608 471,-608 555,-490 555,-490 555,-490 559.35,-469.63 563.21,-451.61"/>
<polygon fill="black" stroke="black" points="566.65,-452.22 565.32,-441.71 559.81,-450.76 566.65,-452.22"/>
<text text-anchor="start" x="541" y="-530.3" font-family="Times,serif" font-size="14.00">axi.wready </text>
<text text-anchor="start" x="544.5" y="-515.3" font-family="Times,serif" font-size="14.00"> &amp; cached</text>
</g>
<!-- WB -->
<g id="node4" class="node">
<title>WB</title>
<path fill="none" stroke="black" d="M356,-88.5C356,-88.5 386,-88.5 386,-88.5 392,-88.5 398,-94.5 398,-100.5 398,-100.5 398,-112.5 398,-112.5 398,-118.5 392,-124.5 386,-124.5 386,-124.5 356,-124.5 356,-124.5 350,-124.5 344,-118.5 344,-112.5 344,-112.5 344,-100.5 344,-100.5 344,-94.5 350,-88.5 356,-88.5"/>
<text text-anchor="middle" x="371" y="-102.8" font-family="Times,serif" font-size="14.00">WB</text>
</g>
<!-- IDLE&#45;&gt;WB -->
<g id="edge3" class="edge">
<title>IDLE&#45;&gt;WB</title>
<path fill="none" stroke="black" d="M346.83,-637.15C303.1,-626.94 222,-608 222,-608 222,-608 123,-527.5 123,-527.5 123,-527.5 123,-527.5 123,-208.5 123,-208.5 222,-143 222,-143 222,-143 289.7,-126.87 333.83,-116.36"/>
<polygon fill="black" stroke="black" points="334.75,-119.73 343.67,-114.01 333.13,-112.92 334.75,-119.73"/>
<text text-anchor="start" x="136" y="-375.8" font-family="Times,serif" font-size="14.00">axi.wready </text>
<text text-anchor="start" x="134" y="-360.8" font-family="Times,serif" font-size="14.00"> &amp; ~cached </text>
<text text-anchor="start" x="123" y="-345.8" font-family="Times,serif" font-size="14.00"> &amp; ~axi.data_ok</text>
</g>
<!-- WAITR -->
<g id="node5" class="node">
<title>WAITR</title>
<path fill="none" stroke="black" d="M545,-0.5C545,-0.5 581,-0.5 581,-0.5 587,-0.5 593,-6.5 593,-12.5 593,-12.5 593,-24.5 593,-24.5 593,-30.5 587,-36.5 581,-36.5 581,-36.5 545,-36.5 545,-36.5 539,-36.5 533,-30.5 533,-24.5 533,-24.5 533,-12.5 533,-12.5 533,-6.5 539,-0.5 545,-0.5"/>
<text text-anchor="middle" x="563" y="-14.8" font-family="Times,serif" font-size="14.00">WAITR</text>
</g>
<!-- IDLE&#45;&gt;WAITR -->
<g id="edge4" class="edge">
<title>IDLE&#45;&gt;WAITR</title>
<path fill="none" stroke="black" d="M346.81,-638.86C290.43,-629.24 166,-608 166,-608 166,-608 0,-527.5 0,-527.5 0,-527.5 0,-527.5 0,-105.5 0,-105.5 393.36,-45.41 522.48,-25.69"/>
<polygon fill="black" stroke="black" points="523.37,-29.09 532.73,-24.12 522.32,-22.17 523.37,-29.09"/>
<text text-anchor="middle" x="47.5" y="-297.8" font-family="Times,serif" font-size="14.00">sync with drState</text>
</g>
<!-- WD1&#45;&gt;IDLE -->
<g id="edge7" class="edge">
<title>WD1&#45;&gt;IDLE</title>
<path fill="none" stroke="black" d="M332.7,-539.32C308.84,-549.65 278,-563 278,-563 278,-563 278,-608 278,-608 278,-608 310.02,-619.84 337.07,-629.84"/>
<polygon fill="black" stroke="black" points="336.15,-633.24 346.75,-633.42 338.58,-626.67 336.15,-633.24"/>
<text text-anchor="start" x="287" y="-596.8" font-family="Times,serif" font-size="14.00">axi.wready </text>
<text text-anchor="start" x="285" y="-581.8" font-family="Times,serif" font-size="14.00"> &amp; ~cached </text>
<text text-anchor="start" x="278" y="-566.8" font-family="Times,serif" font-size="14.00"> &amp; axi.data_ok</text>
</g>
<!-- WD1&#45;&gt;WD2 -->
<g id="edge5" class="edge">
<title>WD1&#45;&gt;WD2</title>
<path fill="none" stroke="black" d="M387.14,-511.93C425.51,-492.74 491,-460 491,-460 491,-460 512.23,-450.34 532.53,-441.1"/>
<polygon fill="black" stroke="black" points="534.07,-444.24 541.72,-436.92 531.17,-437.87 534.07,-444.24"/>
<text text-anchor="start" x="491" y="-478.8" font-family="Times,serif" font-size="14.00">axi.wready </text>
<text text-anchor="start" x="494.5" y="-463.8" font-family="Times,serif" font-size="14.00"> &amp; cached</text>
</g>
<!-- WD1&#45;&gt;WB -->
<g id="edge6" class="edge">
<title>WD1&#45;&gt;WB</title>
<path fill="none" stroke="black" d="M359.4,-508.32C357.71,-459.59 353,-324 353,-324 353,-324 353,-279 353,-279 353,-279 363.07,-183.02 368.15,-134.66"/>
<polygon fill="black" stroke="black" points="371.65,-134.88 369.21,-124.57 364.68,-134.15 371.65,-134.88"/>
<text text-anchor="start" x="366" y="-312.8" font-family="Times,serif" font-size="14.00">axi.wready </text>
<text text-anchor="start" x="364" y="-297.8" font-family="Times,serif" font-size="14.00"> &amp; ~cached </text>
<text text-anchor="start" x="353" y="-282.8" font-family="Times,serif" font-size="14.00"> &amp; ~axi.data_ok</text>
</g>
<!-- WD3 -->
<g id="node6" class="node">
<title>WD3</title>
<path fill="none" stroke="black" d="M560,-283.5C560,-283.5 590,-283.5 590,-283.5 596,-283.5 602,-289.5 602,-295.5 602,-295.5 602,-307.5 602,-307.5 602,-313.5 596,-319.5 590,-319.5 590,-319.5 560,-319.5 560,-319.5 554,-319.5 548,-313.5 548,-307.5 548,-307.5 548,-295.5 548,-295.5 548,-289.5 554,-283.5 560,-283.5"/>
<text text-anchor="middle" x="575" y="-297.8" font-family="Times,serif" font-size="14.00">WD3</text>
</g>
<!-- WD2&#45;&gt;WD3 -->
<g id="edge8" class="edge">
<title>WD2&#45;&gt;WD3</title>
<path fill="none" stroke="black" d="M569.86,-405.31C570.84,-385.61 572.47,-353.08 573.63,-329.89"/>
<polygon fill="black" stroke="black" points="577.14,-329.82 574.14,-319.66 570.15,-329.47 577.14,-329.82"/>
<text text-anchor="middle" x="602.5" y="-360.8" font-family="Times,serif" font-size="14.00">axi.wready</text>
</g>
<!-- WB&#45;&gt;IDLE -->
<g id="edge13" class="edge">
<title>WB&#45;&gt;IDLE</title>
<path fill="none" stroke="black" d="M348.1,-124.63C309.58,-153.45 236,-208.5 236,-208.5 236,-527.5 236,-527.5 236,-527.5 236,-527.5 274,-608 274,-608 274,-608 308.67,-620.31 337.18,-630.43"/>
<polygon fill="black" stroke="black" points="336.34,-633.85 346.94,-633.89 338.69,-627.25 336.34,-633.85"/>
<text text-anchor="middle" x="283.5" y="-360.8" font-family="Times,serif" font-size="14.00">sync with drState</text>
</g>
<!-- WB&#45;&gt;IDLE -->
<g id="edge14" class="edge">
<title>WB&#45;&gt;IDLE</title>
<path fill="none" stroke="black" d="M385.59,-124.63C410.12,-153.45 457,-208.5 457,-208.5 457,-527.5 457,-527.5 457,-527.5 457,-527.5 441,-608 441,-608 441,-608 426.19,-615.85 410.49,-624.17"/>
<polygon fill="black" stroke="black" points="408.45,-621.29 401.25,-629.06 411.73,-627.47 408.45,-621.29"/>
<text text-anchor="middle" x="504.5" y="-360.8" font-family="Times,serif" font-size="14.00">sync with drState</text>
</g>
<!-- WB&#45;&gt;WAITR -->
<g id="edge15" class="edge">
<title>WB&#45;&gt;WAITR</title>
<path fill="none" stroke="black" d="M398.1,-93.36C430.74,-78.74 485.85,-54.06 523.29,-37.29"/>
<polygon fill="black" stroke="black" points="525.18,-40.28 532.87,-32.99 522.32,-33.89 525.18,-40.28"/>
<text text-anchor="middle" x="525.5" y="-58.8" font-family="Times,serif" font-size="14.00">sync with drState</text>
</g>
<!-- WAITR&#45;&gt;IDLE -->
<g id="edge16" class="edge">
<title>WAITR&#45;&gt;IDLE</title>
<path fill="none" stroke="black" d="M593.23,-31.82C651.57,-55.6 774,-105.5 774,-105.5 774,-527.5 774,-527.5 774,-527.5 774,-527.5 554,-608 554,-608 554,-608 464.08,-625.73 411.35,-636.13"/>
<polygon fill="black" stroke="black" points="410.47,-632.74 401.34,-638.11 411.83,-639.61 410.47,-632.74"/>
<text text-anchor="middle" x="821.5" y="-297.8" font-family="Times,serif" font-size="14.00">sync with drState</text>
</g>
<!-- WD4 -->
<g id="node7" class="node">
<title>WD4</title>
<path fill="none" stroke="black" d="M570,-191.5C570,-191.5 600,-191.5 600,-191.5 606,-191.5 612,-197.5 612,-203.5 612,-203.5 612,-215.5 612,-215.5 612,-221.5 606,-227.5 600,-227.5 600,-227.5 570,-227.5 570,-227.5 564,-227.5 558,-221.5 558,-215.5 558,-215.5 558,-203.5 558,-203.5 558,-197.5 564,-191.5 570,-191.5"/>
<text text-anchor="middle" x="585" y="-205.8" font-family="Times,serif" font-size="14.00">WD4</text>
</g>
<!-- WD3&#45;&gt;WD4 -->
<g id="edge9" class="edge">
<title>WD3&#45;&gt;WD4</title>
<path fill="none" stroke="black" d="M575.32,-283.26C575.61,-267.29 576,-246 576,-246 576,-246 576.91,-242.42 578.14,-237.54"/>
<polygon fill="black" stroke="black" points="581.54,-238.39 580.61,-227.83 574.76,-236.67 581.54,-238.39"/>
<text text-anchor="middle" x="606.5" y="-249.8" font-family="Times,serif" font-size="14.00">axi.wready</text>
</g>
<!-- WD4&#45;&gt;IDLE -->
<g id="edge11" class="edge">
<title>WD4&#45;&gt;IDLE</title>
<path fill="none" stroke="black" d="M610.09,-227.63C623.38,-236.7 637,-246 637,-246 637,-246 651,-300.5 651,-300.5 651,-527.5 651,-527.5 651,-527.5 651,-527.5 500,-608 500,-608 500,-608 448.24,-622.58 411.07,-633.06"/>
<polygon fill="black" stroke="black" points="409.71,-629.8 401.03,-635.88 411.6,-636.54 409.71,-629.8"/>
<text text-anchor="middle" x="698.5" y="-419.8" font-family="Times,serif" font-size="14.00">sync with drState</text>
</g>
<!-- WD4&#45;&gt;WB -->
<g id="edge10" class="edge">
<title>WD4&#45;&gt;WB</title>
<path fill="none" stroke="black" d="M557.81,-198.23C530.05,-187.75 491,-173 491,-173 491,-173 468,-143 468,-143 468,-143 434.97,-130.91 407.46,-120.84"/>
<polygon fill="black" stroke="black" points="408.61,-117.54 398.02,-117.39 406.21,-124.11 408.61,-117.54"/>
<text text-anchor="start" x="505.5" y="-161.8" font-family="Times,serif" font-size="14.00">axi.wready</text>
<text text-anchor="start" x="491" y="-146.8" font-family="Times,serif" font-size="14.00"> &amp; ~axi.data_ok</text>
</g>
<!-- WD4&#45;&gt;WAITR -->
<g id="edge12" class="edge">
<title>WD4&#45;&gt;WAITR</title>
<path fill="none" stroke="black" d="M584.11,-191.49C582.03,-151.52 577,-55 577,-55 577,-55 575.52,-51.24 573.52,-46.17"/>
<polygon fill="black" stroke="black" points="576.76,-44.85 569.84,-36.83 570.25,-47.42 576.76,-44.85"/>
<text text-anchor="middle" x="627.5" y="-102.8" font-family="Times,serif" font-size="14.00">sync with drState</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,9 @@
digraph dwaState{
splines=polyline
compound=true
node [shape=Mrecord]
edge [arrowhead=normal]
IDLE -> WA [label=<req <br/> &amp; ~axi.addr_ok>]
WA -> IDLE [label="axi.addr_ok"]
}

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (0)
-->
<!-- Title: dwaState Pages: 1 -->
<svg width="164pt" height="148pt"
viewBox="0.00 0.00 164.00 148.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 144)">
<title>dwaState</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-144 160,-144 160,4 -4,4"/>
<!-- IDLE -->
<g id="node1" class="node">
<title>IDLE</title>
<path fill="none" stroke="black" d="M41,-103.5C41,-103.5 71,-103.5 71,-103.5 77,-103.5 83,-109.5 83,-115.5 83,-115.5 83,-127.5 83,-127.5 83,-133.5 77,-139.5 71,-139.5 71,-139.5 41,-139.5 41,-139.5 35,-139.5 29,-133.5 29,-127.5 29,-127.5 29,-115.5 29,-115.5 29,-109.5 35,-103.5 41,-103.5"/>
<text text-anchor="middle" x="56" y="-117.8" font-family="Times,serif" font-size="14.00">IDLE</text>
</g>
<!-- WA -->
<g id="node2" class="node">
<title>WA</title>
<path fill="none" stroke="black" d="M41,-0.5C41,-0.5 71,-0.5 71,-0.5 77,-0.5 83,-6.5 83,-12.5 83,-12.5 83,-24.5 83,-24.5 83,-30.5 77,-36.5 71,-36.5 71,-36.5 41,-36.5 41,-36.5 35,-36.5 29,-30.5 29,-24.5 29,-24.5 29,-12.5 29,-12.5 29,-6.5 35,-0.5 41,-0.5"/>
<text text-anchor="middle" x="56" y="-14.8" font-family="Times,serif" font-size="14.00">WA</text>
</g>
<!-- IDLE&#45;&gt;WA -->
<g id="edge1" class="edge">
<title>IDLE&#45;&gt;WA</title>
<path fill="none" stroke="black" d="M28.98,-103.37C14.66,-94.3 0,-85 0,-85 0,-85 0,-55 0,-55 0,-55 9.31,-49.1 20.34,-42.11"/>
<polygon fill="black" stroke="black" points="22.41,-44.94 28.98,-36.63 18.66,-39.02 22.41,-44.94"/>
<text text-anchor="start" x="34.5" y="-73.8" font-family="Times,serif" font-size="14.00">req </text>
<text text-anchor="start" x="0" y="-58.8" font-family="Times,serif" font-size="14.00"> &amp; ~axi.addr_ok</text>
</g>
<!-- WA&#45;&gt;IDLE -->
<g id="edge2" class="edge">
<title>WA&#45;&gt;IDLE</title>
<path fill="none" stroke="black" d="M73.09,-36.83C81.97,-45.85 91,-55 91,-55 91,-55 91,-85 91,-85 91,-85 86.34,-89.73 80.42,-95.74"/>
<polygon fill="black" stroke="black" points="77.62,-93.59 73.09,-103.17 82.6,-98.5 77.62,-93.59"/>
<text text-anchor="middle" x="123.5" y="-66.3" font-family="Times,serif" font-size="14.00">axi.addr_ok</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

24
resources/pic/iState.dot Normal file
View File

@ -0,0 +1,24 @@
digraph iState{
splines=polyline
compound=true
node [shape=Mrecord]
edge [arrowhead=normal]
IDLE -> WA [label=<cached <br/>&amp; ~hit <br/>&amp; ~axi.addr_ok>]
IDLE -> WD1 [label=<cached <br/>&amp; ~hit <br/>&amp; axi.addr_ok>]
WA -> WD1 [label=<axi.addr_ok<br/>&amp;~axi.rvalid>]
WA -> WD2 [label=<axi.addr_ok<br/>&amp;axi.rvalid>]
WD1 -> WD2 [label="axi.rvalid"]
WD2 -> WD3 [label=<axi.rvalid <br/>&amp; cached>]
WD2 -> IDLE [label=<axi.rvalid <br/>&amp; ~cached>]
WD3 -> WD4 [label="axi.rvalid"]
WD4 -> WD5 [label="axi.rvalid"]
WD5 -> WD6 [label="axi.rvalid"]
WD6 -> WD7 [label="axi.rvalid"]
WD7 -> WD8 [label="axi.rvalid"]
WD8 -> REFILL [label="sync with dwState"]
REFILL -> IDLE
}

184
resources/pic/iState.svg Normal file
View File

@ -0,0 +1,184 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (0)
-->
<!-- Title: iState Pages: 1 -->
<svg width="322pt" height="993pt"
viewBox="0.00 0.00 322.00 993.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 989)">
<title>iState</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-989 318,-989 318,4 -4,4"/>
<!-- IDLE -->
<g id="node1" class="node">
<title>IDLE</title>
<path fill="none" stroke="black" d="M169,-948.5C169,-948.5 199,-948.5 199,-948.5 205,-948.5 211,-954.5 211,-960.5 211,-960.5 211,-972.5 211,-972.5 211,-978.5 205,-984.5 199,-984.5 199,-984.5 169,-984.5 169,-984.5 163,-984.5 157,-978.5 157,-972.5 157,-972.5 157,-960.5 157,-960.5 157,-954.5 163,-948.5 169,-948.5"/>
<text text-anchor="middle" x="184" y="-962.8" font-family="Times,serif" font-size="14.00">IDLE</text>
</g>
<!-- WA -->
<g id="node2" class="node">
<title>WA</title>
<path fill="none" stroke="black" d="M12,-826.5C12,-826.5 42,-826.5 42,-826.5 48,-826.5 54,-832.5 54,-838.5 54,-838.5 54,-850.5 54,-850.5 54,-856.5 48,-862.5 42,-862.5 42,-862.5 12,-862.5 12,-862.5 6,-862.5 0,-856.5 0,-850.5 0,-850.5 0,-838.5 0,-838.5 0,-832.5 6,-826.5 12,-826.5"/>
<text text-anchor="middle" x="27" y="-840.8" font-family="Times,serif" font-size="14.00">WA</text>
</g>
<!-- IDLE&#45;&gt;WA -->
<g id="edge1" class="edge">
<title>IDLE&#45;&gt;WA</title>
<path fill="none" stroke="black" d="M156.83,-959.32C112.13,-949.15 28,-930 28,-930 28,-930 27.62,-897.59 27.32,-872.92"/>
<polygon fill="black" stroke="black" points="30.82,-872.56 27.2,-862.6 23.82,-872.64 30.82,-872.56"/>
<text text-anchor="start" x="51" y="-918.8" font-family="Times,serif" font-size="14.00">cached </text>
<text text-anchor="start" x="51.5" y="-903.8" font-family="Times,serif" font-size="14.00">&amp; ~hit </text>
<text text-anchor="start" x="28" y="-888.8" font-family="Times,serif" font-size="14.00">&amp; ~axi.addr_ok</text>
</g>
<!-- WD1 -->
<g id="node3" class="node">
<title>WD1</title>
<path fill="none" stroke="black" d="M115,-719.5C115,-719.5 145,-719.5 145,-719.5 151,-719.5 157,-725.5 157,-731.5 157,-731.5 157,-743.5 157,-743.5 157,-749.5 151,-755.5 145,-755.5 145,-755.5 115,-755.5 115,-755.5 109,-755.5 103,-749.5 103,-743.5 103,-743.5 103,-731.5 103,-731.5 103,-725.5 109,-719.5 115,-719.5"/>
<text text-anchor="middle" x="130" y="-733.8" font-family="Times,serif" font-size="14.00">WD1</text>
</g>
<!-- IDLE&#45;&gt;WD1 -->
<g id="edge2" class="edge">
<title>IDLE&#45;&gt;WD1</title>
<path fill="none" stroke="black" d="M177.03,-948.34C165.57,-920.12 144,-867 144,-867 144,-867 137.1,-803.64 132.99,-765.91"/>
<polygon fill="black" stroke="black" points="136.42,-765.13 131.86,-755.56 129.46,-765.88 136.42,-765.13"/>
<text text-anchor="start" x="163" y="-855.8" font-family="Times,serif" font-size="14.00">cached </text>
<text text-anchor="start" x="163.5" y="-840.8" font-family="Times,serif" font-size="14.00">&amp; ~hit </text>
<text text-anchor="start" x="144" y="-825.8" font-family="Times,serif" font-size="14.00">&amp; axi.addr_ok</text>
</g>
<!-- WA&#45;&gt;WD1 -->
<g id="edge3" class="edge">
<title>WA&#45;&gt;WD1</title>
<path fill="none" stroke="black" d="M31.45,-826.32C36.78,-805.74 45,-774 45,-774 45,-774 70.33,-763.42 93.33,-753.81"/>
<polygon fill="black" stroke="black" points="94.76,-757.01 102.64,-749.93 92.06,-750.55 94.76,-757.01"/>
<text text-anchor="start" x="48" y="-792.8" font-family="Times,serif" font-size="14.00">axi.addr_ok</text>
<text text-anchor="start" x="45" y="-777.8" font-family="Times,serif" font-size="14.00">&amp;~axi.rvalid</text>
</g>
<!-- WD2 -->
<g id="node4" class="node">
<title>WD2</title>
<path fill="none" stroke="black" d="M116,-631.5C116,-631.5 146,-631.5 146,-631.5 152,-631.5 158,-637.5 158,-643.5 158,-643.5 158,-655.5 158,-655.5 158,-661.5 152,-667.5 146,-667.5 146,-667.5 116,-667.5 116,-667.5 110,-667.5 104,-661.5 104,-655.5 104,-655.5 104,-643.5 104,-643.5 104,-637.5 110,-631.5 116,-631.5"/>
<text text-anchor="middle" x="131" y="-645.8" font-family="Times,serif" font-size="14.00">WD2</text>
</g>
<!-- WA&#45;&gt;WD2 -->
<g id="edge4" class="edge">
<title>WA&#45;&gt;WD2</title>
<path fill="none" stroke="black" d="M27.27,-826.45C27.82,-792.35 29,-719 29,-719 29,-719 67.36,-693.24 97.04,-673.31"/>
<polygon fill="black" stroke="black" points="99.17,-676.09 105.52,-667.61 95.27,-670.28 99.17,-676.09"/>
<text text-anchor="start" x="29" y="-741.3" font-family="Times,serif" font-size="14.00">axi.addr_ok</text>
<text text-anchor="start" x="29.5" y="-726.3" font-family="Times,serif" font-size="14.00">&amp;axi.rvalid</text>
</g>
<!-- WD1&#45;&gt;WD2 -->
<g id="edge5" class="edge">
<title>WD1&#45;&gt;WD2</title>
<path fill="none" stroke="black" d="M130.2,-719.1C130.34,-707.25 130.53,-691.32 130.68,-677.79"/>
<polygon fill="black" stroke="black" points="134.18,-677.62 130.8,-667.58 127.19,-677.54 134.18,-677.62"/>
<text text-anchor="middle" x="156" y="-689.8" font-family="Times,serif" font-size="14.00">axi.rvalid</text>
</g>
<!-- WD2&#45;&gt;IDLE -->
<g id="edge7" class="edge">
<title>WD2&#45;&gt;IDLE</title>
<path fill="none" stroke="black" d="M157.53,-667.63C171.6,-676.7 186,-686 186,-686 186,-686 224,-822 224,-822 224,-822 224,-867 224,-867 224,-867 206.59,-909.88 194.74,-939.06"/>
<polygon fill="black" stroke="black" points="191.49,-937.76 190.97,-948.34 197.97,-940.39 191.49,-937.76"/>
<text text-anchor="start" x="220.5" y="-792.8" font-family="Times,serif" font-size="14.00">axi.rvalid </text>
<text text-anchor="start" x="218" y="-777.8" font-family="Times,serif" font-size="14.00">&amp; ~cached</text>
</g>
<!-- WD3 -->
<g id="node5" class="node">
<title>WD3</title>
<path fill="none" stroke="black" d="M167,-528.5C167,-528.5 197,-528.5 197,-528.5 203,-528.5 209,-534.5 209,-540.5 209,-540.5 209,-552.5 209,-552.5 209,-558.5 203,-564.5 197,-564.5 197,-564.5 167,-564.5 167,-564.5 161,-564.5 155,-558.5 155,-552.5 155,-552.5 155,-540.5 155,-540.5 155,-534.5 161,-528.5 167,-528.5"/>
<text text-anchor="middle" x="182" y="-542.8" font-family="Times,serif" font-size="14.00">WD3</text>
</g>
<!-- WD2&#45;&gt;WD3 -->
<g id="edge6" class="edge">
<title>WD2&#45;&gt;WD3</title>
<path fill="none" stroke="black" d="M139.65,-631.37C147.64,-615.55 159.61,-591.83 168.8,-573.65"/>
<polygon fill="black" stroke="black" points="171.92,-575.22 173.31,-564.72 165.67,-572.07 171.92,-575.22"/>
<text text-anchor="start" x="164" y="-601.8" font-family="Times,serif" font-size="14.00">axi.rvalid </text>
<text text-anchor="start" x="165.5" y="-586.8" font-family="Times,serif" font-size="14.00">&amp; cached</text>
</g>
<!-- WD4 -->
<g id="node6" class="node">
<title>WD4</title>
<path fill="none" stroke="black" d="M180,-440.5C180,-440.5 210,-440.5 210,-440.5 216,-440.5 222,-446.5 222,-452.5 222,-452.5 222,-464.5 222,-464.5 222,-470.5 216,-476.5 210,-476.5 210,-476.5 180,-476.5 180,-476.5 174,-476.5 168,-470.5 168,-464.5 168,-464.5 168,-452.5 168,-452.5 168,-446.5 174,-440.5 180,-440.5"/>
<text text-anchor="middle" x="195" y="-454.8" font-family="Times,serif" font-size="14.00">WD4</text>
</g>
<!-- WD3&#45;&gt;WD4 -->
<g id="edge8" class="edge">
<title>WD3&#45;&gt;WD4</title>
<path fill="none" stroke="black" d="M184.63,-528.1C186.42,-516.25 188.83,-500.32 190.87,-486.79"/>
<polygon fill="black" stroke="black" points="194.38,-486.99 192.42,-476.58 187.46,-485.95 194.38,-486.99"/>
<text text-anchor="middle" x="215" y="-498.8" font-family="Times,serif" font-size="14.00">axi.rvalid</text>
</g>
<!-- WD5 -->
<g id="node7" class="node">
<title>WD5</title>
<path fill="none" stroke="black" d="M183,-352.5C183,-352.5 213,-352.5 213,-352.5 219,-352.5 225,-358.5 225,-364.5 225,-364.5 225,-376.5 225,-376.5 225,-382.5 219,-388.5 213,-388.5 213,-388.5 183,-388.5 183,-388.5 177,-388.5 171,-382.5 171,-376.5 171,-376.5 171,-364.5 171,-364.5 171,-358.5 177,-352.5 183,-352.5"/>
<text text-anchor="middle" x="198" y="-366.8" font-family="Times,serif" font-size="14.00">WD5</text>
</g>
<!-- WD4&#45;&gt;WD5 -->
<g id="edge9" class="edge">
<title>WD4&#45;&gt;WD5</title>
<path fill="none" stroke="black" d="M195.61,-440.1C196.02,-428.25 196.58,-412.32 197.05,-398.79"/>
<polygon fill="black" stroke="black" points="200.55,-398.7 197.4,-388.58 193.56,-398.46 200.55,-398.7"/>
<text text-anchor="middle" x="222" y="-410.8" font-family="Times,serif" font-size="14.00">axi.rvalid</text>
</g>
<!-- WD6 -->
<g id="node8" class="node">
<title>WD6</title>
<path fill="none" stroke="black" d="M184,-264.5C184,-264.5 214,-264.5 214,-264.5 220,-264.5 226,-270.5 226,-276.5 226,-276.5 226,-288.5 226,-288.5 226,-294.5 220,-300.5 214,-300.5 214,-300.5 184,-300.5 184,-300.5 178,-300.5 172,-294.5 172,-288.5 172,-288.5 172,-276.5 172,-276.5 172,-270.5 178,-264.5 184,-264.5"/>
<text text-anchor="middle" x="199" y="-278.8" font-family="Times,serif" font-size="14.00">WD6</text>
</g>
<!-- WD5&#45;&gt;WD6 -->
<g id="edge10" class="edge">
<title>WD5&#45;&gt;WD6</title>
<path fill="none" stroke="black" d="M198.2,-352.1C198.34,-340.25 198.53,-324.32 198.68,-310.79"/>
<polygon fill="black" stroke="black" points="202.18,-310.62 198.8,-300.58 195.19,-310.54 202.18,-310.62"/>
<text text-anchor="middle" x="224" y="-322.8" font-family="Times,serif" font-size="14.00">axi.rvalid</text>
</g>
<!-- WD7 -->
<g id="node9" class="node">
<title>WD7</title>
<path fill="none" stroke="black" d="M184,-176.5C184,-176.5 214,-176.5 214,-176.5 220,-176.5 226,-182.5 226,-188.5 226,-188.5 226,-200.5 226,-200.5 226,-206.5 220,-212.5 214,-212.5 214,-212.5 184,-212.5 184,-212.5 178,-212.5 172,-206.5 172,-200.5 172,-200.5 172,-188.5 172,-188.5 172,-182.5 178,-176.5 184,-176.5"/>
<text text-anchor="middle" x="199" y="-190.8" font-family="Times,serif" font-size="14.00">WD7</text>
</g>
<!-- WD6&#45;&gt;WD7 -->
<g id="edge11" class="edge">
<title>WD6&#45;&gt;WD7</title>
<path fill="none" stroke="black" d="M199,-264.1C199,-252.25 199,-236.32 199,-222.79"/>
<polygon fill="black" stroke="black" points="202.5,-222.58 199,-212.58 195.5,-222.58 202.5,-222.58"/>
<text text-anchor="middle" x="225" y="-234.8" font-family="Times,serif" font-size="14.00">axi.rvalid</text>
</g>
<!-- WD8 -->
<g id="node10" class="node">
<title>WD8</title>
<path fill="none" stroke="black" d="M184,-88.5C184,-88.5 214,-88.5 214,-88.5 220,-88.5 226,-94.5 226,-100.5 226,-100.5 226,-112.5 226,-112.5 226,-118.5 220,-124.5 214,-124.5 214,-124.5 184,-124.5 184,-124.5 178,-124.5 172,-118.5 172,-112.5 172,-112.5 172,-100.5 172,-100.5 172,-94.5 178,-88.5 184,-88.5"/>
<text text-anchor="middle" x="199" y="-102.8" font-family="Times,serif" font-size="14.00">WD8</text>
</g>
<!-- WD7&#45;&gt;WD8 -->
<g id="edge12" class="edge">
<title>WD7&#45;&gt;WD8</title>
<path fill="none" stroke="black" d="M199,-176.1C199,-164.25 199,-148.32 199,-134.79"/>
<polygon fill="black" stroke="black" points="202.5,-134.58 199,-124.58 195.5,-134.58 202.5,-134.58"/>
<text text-anchor="middle" x="225" y="-146.8" font-family="Times,serif" font-size="14.00">axi.rvalid</text>
</g>
<!-- REFILL -->
<g id="node11" class="node">
<title>REFILL</title>
<path fill="none" stroke="black" d="M237,-0.5C237,-0.5 275,-0.5 275,-0.5 281,-0.5 287,-6.5 287,-12.5 287,-12.5 287,-24.5 287,-24.5 287,-30.5 281,-36.5 275,-36.5 275,-36.5 237,-36.5 237,-36.5 231,-36.5 225,-30.5 225,-24.5 225,-24.5 225,-12.5 225,-12.5 225,-6.5 231,-0.5 237,-0.5"/>
<text text-anchor="middle" x="256" y="-14.8" font-family="Times,serif" font-size="14.00">REFILL</text>
</g>
<!-- WD8&#45;&gt;REFILL -->
<g id="edge13" class="edge">
<title>WD8&#45;&gt;REFILL</title>
<path fill="none" stroke="black" d="M199.34,-88.4C199.63,-73.75 200,-55 200,-55 200,-55 209.31,-49.1 220.34,-42.11"/>
<polygon fill="black" stroke="black" points="222.41,-44.94 228.98,-36.63 218.66,-39.02 222.41,-44.94"/>
<text text-anchor="middle" x="250" y="-58.8" font-family="Times,serif" font-size="14.00">sync with dwState</text>
</g>
<!-- REFILL&#45;&gt;IDLE -->
<g id="edge14" class="edge">
<title>REFILL&#45;&gt;IDLE</title>
<path fill="none" stroke="black" d="M277.23,-36.63C288.48,-45.7 300,-55 300,-55 300,-55 314,-105.5 314,-105.5 314,-845.5 314,-845.5 314,-845.5 314,-845.5 248.26,-906.19 210.28,-941.25"/>
<polygon fill="black" stroke="black" points="207.6,-938.95 202.63,-948.31 212.35,-944.1 207.6,-938.95"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -208,14 +208,14 @@ bss_init_done:
jal PRINT jal PRINT
nop nop
la a0, UART1 // la a0, UART1
li a1, KB_RESET // li a1, KB_RESET
jal WRITESERIAL // jal WRITESERIAL
nop // nop
// lui t0, %hi(SEG7) + 1 lui t0, %hi(SEG7) + 1
// li t1, 0 li t1, 0
// sw t1, %lo(SEG7)(t0) sw t1, %lo(SEG7)(t0)
j RESTART_LOAD j RESTART_LOAD
nop nop

View File

@ -51,6 +51,7 @@ kb_readbuffer:
sw t2, -8(t0) sw t2, -8(t0)
3: 3:
bnez s0, SUPV_START bnez s0, SUPV_START
nop
la a0, UART0 la a0, UART0
la a1, resume la a1, resume
jal PRINT jal PRINT