diff --git a/resources/pic/drState.dot b/resources/pic/drState.dot
index cb1f11b..0c465aa 100644
--- a/resources/pic/drState.dot
+++ b/resources/pic/drState.dot
@@ -5,13 +5,17 @@ digraph drState{
edge [arrowhead=normal]
IDLE -> REFILL [label= ~cached or hit>]
- IDLE -> IDLE [label="cached & hit"]
+ IDLE -> IDLE [label= & hit>]
IDLE -> WA [label= ~hit
~axi.addr_ok>]
IDLE -> WD1 [label= ~hit
axi.addr_ok>]
- WA -> WD1 [xlabel=" "]
- WD1 -> WD2 [xlabel=" "]
- WD2 -> WD3 [xlabel=" "]
- WD3 -> WD4 [xlabel=" "]
- WD4 -> REFILL[xlabel=" "]
+ WA -> WA [label="~axi.addr_ok"]
+ WA -> WD1 [label="~axi.rvalid"]
+ WA -> WD2 [label=& cached>]
+ WA -> IDLE [label=& ~cached>]
+
+ WD2 -> WD3 [label="axi.rvalid"]
+ WD3 -> WD4 [label="axi.rvalid"]
+ WD4 -> REFILL [label="axi.rvalid"]
+ REFILL -> IDLE [label="sync with dwState"]
}
\ No newline at end of file
diff --git a/resources/pic/drState.svg b/resources/pic/drState.svg
new file mode 100644
index 0000000..1e4f675
--- /dev/null
+++ b/resources/pic/drState.svg
@@ -0,0 +1,147 @@
+
+
+
+
+
diff --git a/resources/pic/dwState.dot b/resources/pic/dwState.dot
new file mode 100644
index 0000000..5e7011d
--- /dev/null
+++ b/resources/pic/dwState.dot
@@ -0,0 +1,29 @@
+digraph dwState{
+ splines=polyline
+ compound=true
+ node [shape=Mrecord]
+ edge [arrowhead=normal]
+
+ IDLE -> WD1 [label="~axi.wready"]
+ IDLE -> WD2 [label= & cached>]
+ IDLE -> WB [label= & ~cached
& ~axi.data_ok>]
+ IDLE -> WAITR [label="sync with drState"]
+
+ WD1 -> WD2 [label= & cached>]
+ WD1 -> WB [label= & ~cached
& ~axi.data_ok>]
+ WD1 -> IDLE [label= & ~cached
& axi.data_ok>]
+
+ WD2 -> WD3 [label="axi.wready"]
+
+ WD3 -> WD4 [label="axi.wready"]
+
+ WD4 -> WB [label= & ~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"]
+}
\ No newline at end of file
diff --git a/resources/pic/dwState.svg b/resources/pic/dwState.svg
new file mode 100644
index 0000000..068c2ca
--- /dev/null
+++ b/resources/pic/dwState.svg
@@ -0,0 +1,176 @@
+
+
+
+
+
diff --git a/resources/pic/dwaState.dot b/resources/pic/dwaState.dot
new file mode 100644
index 0000000..7fb79b6
--- /dev/null
+++ b/resources/pic/dwaState.dot
@@ -0,0 +1,9 @@
+digraph dwaState{
+ splines=polyline
+ compound=true
+ node [shape=Mrecord]
+ edge [arrowhead=normal]
+
+ IDLE -> WA [label= & ~axi.addr_ok>]
+ WA -> IDLE [label="axi.addr_ok"]
+}
\ No newline at end of file
diff --git a/resources/pic/dwaState.svg b/resources/pic/dwaState.svg
new file mode 100644
index 0000000..23bb81a
--- /dev/null
+++ b/resources/pic/dwaState.svg
@@ -0,0 +1,40 @@
+
+
+
+
+
diff --git a/resources/pic/iState.dot b/resources/pic/iState.dot
new file mode 100644
index 0000000..6513f4f
--- /dev/null
+++ b/resources/pic/iState.dot
@@ -0,0 +1,24 @@
+digraph iState{
+ splines=polyline
+ compound=true
+ node [shape=Mrecord]
+ edge [arrowhead=normal]
+
+ IDLE -> WA [label=& ~hit
& ~axi.addr_ok>]
+ IDLE -> WD1 [label=& ~hit
& axi.addr_ok>]
+
+ WA -> WD1 [label=&~axi.rvalid>]
+ WA -> WD2 [label=&axi.rvalid>]
+
+ WD1 -> WD2 [label="axi.rvalid"]
+
+ WD2 -> WD3 [label=& cached>]
+ WD2 -> IDLE [label=& ~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
+}
\ No newline at end of file
diff --git a/resources/pic/iState.svg b/resources/pic/iState.svg
new file mode 100644
index 0000000..f3f3b00
--- /dev/null
+++ b/resources/pic/iState.svg
@@ -0,0 +1,184 @@
+
+
+
+
+
diff --git a/resources/ping-pong-mips32/game/game/init.S b/resources/ping-pong-mips32/game/game/init.S
index 12a122d..7bc6c48 100644
--- a/resources/ping-pong-mips32/game/game/init.S
+++ b/resources/ping-pong-mips32/game/game/init.S
@@ -208,14 +208,14 @@ bss_init_done:
jal PRINT
nop
- la a0, UART1
- li a1, KB_RESET
- jal WRITESERIAL
- nop
+// la a0, UART1
+// li a1, KB_RESET
+// jal WRITESERIAL
+// nop
-// lui t0, %hi(SEG7) + 1
-// li t1, 0
-// sw t1, %lo(SEG7)(t0)
+ lui t0, %hi(SEG7) + 1
+ li t1, 0
+ sw t1, %lo(SEG7)(t0)
j RESTART_LOAD
nop
diff --git a/resources/ping-pong-mips32/game/game/supv.S b/resources/ping-pong-mips32/game/game/supv.S
index 96185cf..8a7bf35 100644
--- a/resources/ping-pong-mips32/game/game/supv.S
+++ b/resources/ping-pong-mips32/game/game/supv.S
@@ -51,6 +51,7 @@ kb_readbuffer:
sw t2, -8(t0)
3:
bnez s0, SUPV_START
+ nop
la a0, UART0
la a1, resume
jal PRINT
diff --git a/resources/ping-pong-mips32/game/game/trap.S b/resources/ping-pong-mips32/game/game/trap.S
index 85c1707..fb325bc 100644
--- a/resources/ping-pong-mips32/game/game/trap.S
+++ b/resources/ping-pong-mips32/game/game/trap.S
@@ -9,7 +9,7 @@
.section .text.ebase180
.p2align 2
-
+
mfc0 k1, CP0_STATUS
li k0, 0
mtc0 k0, CP0_STATUS