Memory: Fix FSM for LDR/STR. Fix pre/post increment to be, uh, pre/post increment...
authorJoshua Wise <joshua@rebirth.joshuawise.com>
Sun, 11 Jan 2009 04:41:07 +0000 (23:41 -0500)
committerJoshua Wise <joshua@rebirth.joshuawise.com>
Sun, 11 Jan 2009 04:41:07 +0000 (23:41 -0500)
Memory.v

index 241c50a..918c5d9 100644 (file)
--- a/Memory.v
+++ b/Memory.v
@@ -216,7 +216,7 @@ module Memory(
                        next_outbubble = rw_wait;
                        outstall = rw_wait;
                        addr = insn[23] ? op0 + op1 : op0 - op1; /* up/down select */
                        next_outbubble = rw_wait;
                        outstall = rw_wait;
                        addr = insn[23] ? op0 + op1 : op0 - op1; /* up/down select */
-                       raddr = insn[24] ? op0 : addr; /* pre/post increment */
+                       raddr = insn[24] ? addr : op0; /* pre/post increment */
                        busaddr = raddr;
                        /* rotate to correct position */
                        align_s1 = raddr[1] ? {rd_data[15:0], rd_data[31:16]} : rd_data;
                        busaddr = raddr;
                        /* rotate to correct position */
                        align_s1 = raddr[1] ? {rd_data[15:0], rd_data[31:16]} : rd_data;
@@ -244,7 +244,7 @@ module Memory(
                                next_write_reg = 1'b1;
                                next_write_num = insn[19:16];
                                next_write_data = addr;
                                next_write_reg = 1'b1;
                                next_write_num = insn[19:16];
                                next_write_data = addr;
-                               next_lsr_state = 2'b10;
+                               next_lsr_state = 2'b01;
                        end
                        default: begin end
                        endcase
                        end
                        default: begin end
                        endcase
This page took 0.021643 seconds and 4 git commands to generate.