X-Git-Url: http://git.joshuawise.com/firearm.git/blobdiff_plain/6318a7e8b9da8c5372af7353dfaaf97763984cc9..ae185fc472934b4f3a318c8f898fa6b6a38a12da:/Fetch.v diff --git a/Fetch.v b/Fetch.v index 5255647..2a9d69d 100644 --- 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); - 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) - if (stall && jmp && !qjmp) + if ((rd_wait || stall) && jmp && !qjmp) {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;