return - erster versuch
[calu.git] / cpu / src / writeback_stage_b.vhd
index 862c1d35d5bb9c6bec8542afa8c8dde18c444901..5123f76a76bfb08c59ce09e0609667181e326d2b 100644 (file)
@@ -98,14 +98,19 @@ begin
        --jump <= (alu_jmp xor br_pred) and (write_en or wb_reg.dmem_en);
        jump <= (alu_jmp xor br_pred);-- and (write_en or wb_reg.dmem_en);
 
+       if (alu_jmp = '1' and wb_reg.dmem_en = '1' and wb_reg.dmem_write_en = '0' and write_en = '0') then
+               jump_addr <= data_ram_read;
+       else
+               jump_addr <= result;    
+       end if;
+
 --     if alu_jmp = '0' and br_pred = '1' and write_en = '0' then
 --             jump <= '1';
 --     end if;
 
-       jump_addr <= result;
-       if ((alu_jmp and wb_reg.dmem_en) = '1') then
-               jump_addr <= data_ram_read;
-       end if;
+--     if ((alu_jmp and wb_reg.dmem_en) = '1') then
+--             jump_addr <= data_ram_read;
+--     end if;
 
 end process;