X-Git-Url: http://git.joshuawise.com/firearm.git/blobdiff_plain/149bcd1aae858c157cb51b351187c66a99410d6d..7947b9c731a2c981f1a32d2f8f47ab42464e7b17:/Execute.v diff --git a/Execute.v b/Execute.v index cefc4ef..8a7d8f6 100644 --- a/Execute.v +++ b/Execute.v @@ -163,13 +163,15 @@ module Execute( begin end `DECODE_BRANCH: begin - jmppc = pc + op0 + 32'h8; - if(insn[24]) begin - next_write_reg = 1; - next_write_num = 4'hE; /* link register */ - next_write_data = pc + 32'h4; + if(!inbubble) begin + jmppc = pc + op0 + 32'h8; + if(insn[24]) begin + next_write_reg = 1; + next_write_num = 4'hE; /* link register */ + next_write_data = pc - 32'h4; + end + jmp = 1'b1; end - jmp = 1'b1; end /* Branch */ `DECODE_LDCSTC, /* Coprocessor data transfer */ `DECODE_CDP, /* Coprocessor data op */ @@ -234,8 +236,8 @@ module ALU( output reg [31:0] cpsr_out, output reg setres ); - wire [31:0] res; - wire flag_n, flag_z, flag_c, flag_v, setres; + reg [31:0] res; + reg flag_n, flag_z, flag_c, flag_v; wire [32:0] sum, diff, rdiff; wire sum_v, diff_v, rdiff_v;