]> Joshua Wise's Git repositories - firearm.git/blobdiff - Fetch.v
Fetch: Also queue up a jump if we are stalled.
[firearm.git] / Fetch.v
diff --git a/Fetch.v b/Fetch.v
index 5255647c529bc926692175c7ad93f75744d76e01..2a9d69d735afae91ee6f89338e555b931b5545a0 100644 (file)
--- a/Fetch.v
+++ b/Fetch.v
@@ -14,12 +14,12 @@ module Fetch(
        output reg [31:0] insn = 0,
        output reg [31:0] pc = 32'hFFFFFFFC);
        
        output reg [31:0] insn = 0,
        output reg [31:0] pc = 32'hFFFFFFFC);
        
-       reg qjmp = 0;   /* A jump has been queued up while we were stalled. */
+       reg qjmp = 0;   /* A jump has been queued up while we were waiting. */
        reg [31:0] qjmppc;
        always @(posedge clk)
        reg [31:0] qjmppc;
        always @(posedge clk)
-               if (stall && jmp && !qjmp)
+               if ((rd_wait || stall) && jmp && !qjmp)
                        {qjmp,qjmppc} <= {jmp, jmppc};
                        {qjmp,qjmppc} <= {jmp, jmppc};
-               else if (!stall && qjmp)        /* It has already been handled. */
+               else if (!rd_wait && !stall && qjmp)    /* It has already been intoed. */
                        {qjmp,qjmppc} <= {1'b0, 32'hxxxxxxxx};
        
        reg [31:0] reqpc;
                        {qjmp,qjmppc} <= {1'b0, 32'hxxxxxxxx};
        
        reg [31:0] reqpc;
This page took 0.024061 seconds and 4 git commands to generate.