From ac20f90b4c246e11b0c7f399c53b7adb9b113042 Mon Sep 17 00:00:00 2001 From: Stefan Rebernig Date: Tue, 16 Nov 2010 14:26:01 +0100 Subject: [PATCH] kleinigkeit ausgebessert --- cpu/src/writeback_stage.vhd | 2 +- cpu/src/writeback_stage_b.vhd | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cpu/src/writeback_stage.vhd b/cpu/src/writeback_stage.vhd index 256fa55..9a5657d 100644 --- a/cpu/src/writeback_stage.vhd +++ b/cpu/src/writeback_stage.vhd @@ -24,7 +24,7 @@ entity writeback_stage is ram_data : in word_t; --ureg alu_jmp : in std_logic; --reg br_pred : in std_logic; --reg - write_en : in std_logic; --reg (register file) + write_en : in std_logic; --reg (register file) bei jump 1 wenn addr in result dmem_en : in std_logic; --ureg (jump addr in mem or in address) dmem_write_en : in std_logic; --ureg hword : in std_logic; --ureg diff --git a/cpu/src/writeback_stage_b.vhd b/cpu/src/writeback_stage_b.vhd index 9d8fdde..d432cbd 100644 --- a/cpu/src/writeback_stage_b.vhd +++ b/cpu/src/writeback_stage_b.vhd @@ -113,8 +113,8 @@ end process; out_logic: process(write_en, result_addr) -begin - reg_we <= write_en; +begin + reg_we <= (write_en or (wb_reg.dmem_en and not(wb_reg.dmem_write_en))) and not(alu_jmp); reg_addr <= result_addr; end process; -- 2.25.1