kleinigkeit ausgebessert
authorStefan Rebernig <stefan.rebernig@gmail.com>
Tue, 16 Nov 2010 13:26:01 +0000 (14:26 +0100)
committerStefan Rebernig <stefan.rebernig@gmail.com>
Tue, 16 Nov 2010 13:26:01 +0000 (14:26 +0100)
cpu/src/writeback_stage.vhd
cpu/src/writeback_stage_b.vhd

index 256fa55783fb168781b568c4a31da661958a7cae..9a5657d5fca82cd497346e12fc672af8e22a0358 100644 (file)
@@ -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
index 9d8fddeb9d578b08d2a634026d24197f15bcc365..d432cbdeb00ec161da6bf1cc821d12e504dec274 100644 (file)
@@ -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;