From 0b3367ce6428a2e3e553fae6a7098b6f9d2ab93f Mon Sep 17 00:00:00 2001 From: Bernhard Urban Date: Fri, 14 Jan 2011 17:26:31 +0100 Subject: [PATCH] cpu: gpm modul interface entfernt (by stefan & markus) --- cpu/src/extension_b.vhd | 48 ++--------------------------------- cpu/src/writeback_stage_b.vhd | 6 ++--- 2 files changed, 5 insertions(+), 49 deletions(-) diff --git a/cpu/src/extension_b.vhd b/cpu/src/extension_b.vhd index 8ccd6ea..bff38e9 100644 --- a/cpu/src/extension_b.vhd +++ b/cpu/src/extension_b.vhd @@ -54,55 +54,11 @@ begin else incb(incb'high downto 1) := (others => '0'); end if; - - if (ext_reg.sel = '1') and ext_reg.wr_en = '1' then - case ext_reg.addr(1 downto 0) is - when "00" => - if ext_reg.byte_en(0) = '1' then - reg_nxt_v.status := (data_v(0), data_v(1), data_v(3), data_v(2)); - psw <= reg_nxt_v.status; - end if; - when "01" => - --STACK_POINTER - tmp_data := (others =>'0'); - tmp_data(tmp_data'high downto BYTEADDR) := reg.preg(0); - - if ext_reg.byte_en(0) = '1' then - tmp_data(byte_t'range) := data_v(byte_t'range); - end if; - if ext_reg.byte_en(1) = '1' then - tmp_data((2*byte_t'length-1) downto byte_t'length) := data_v((2*byte_t'length-1) downto byte_t'length); - end if; - if ext_reg.byte_en(2) = '1' then - tmp_data((3*byte_t'length-1) downto 2*byte_t'length) := data_v((3*byte_t'length-1) downto 2*byte_t'length); - end if; - if ext_reg.byte_en(3) = '1' then - tmp_data((4*byte_t'length-1) downto 3*byte_t'length) := data_v((4*byte_t'length-1) downto 3*byte_t'length); - end if; - - reg_nxt_v.preg(0) := tmp_data(tmp_data'high downto BYTEADDR); - when others => null; - end case; - end if; - - - if (ext_reg.sel = '1') and ext_reg.wr_en = '0' then - case ext_reg.addr(1 downto 0) is - when "00" => - if ext_reg.byte_en(0) = '1' then - data_out_v(3 downto 0) := (reg.status.sign, reg.status.carry, reg.status.oflo, reg.status.zero); - end if; - when "01" => - --STACK_POINTER - data_out_v(data_out_v'high downto BYTEADDR) := reg.preg(0); - when others => null; - end case; - end if; - sel_pval:= reg_nxt_v.preg(to_integer(unsigned(paddr))); + sel_pval:= reg_nxt_v.preg(0); sel_pval_nxt := std_logic_vector(unsigned(sel_pval)+unsigned(incb)); if pwr_en = '1' then - reg_nxt_v.preg(to_integer(unsigned(paddr))) := sel_pval_nxt; + reg_nxt_v.preg(0) := sel_pval_nxt; end if; reg_nxt_v.status := psw_nxt; diff --git a/cpu/src/writeback_stage_b.vhd b/cpu/src/writeback_stage_b.vhd index 83084c8..acf0f7d 100755 --- a/cpu/src/writeback_stage_b.vhd +++ b/cpu/src/writeback_stage_b.vhd @@ -453,9 +453,9 @@ begin -- when "11" => ext_timer.byte_en <= "1000"; -- when others => null; -- end case; - when EXT_GPMP_ADDR => - ext_gpmp.sel <= enable; - ext_anysel <= enable; +-- when EXT_GPMP_ADDR => + -- ext_gpmp.sel <= enable; +-- ext_anysel <= enable; -- ext_gpmp.wr_en <= wb_reg_nxt.dmem_write_en; -- ext_gpmp.data <= ram_data; -- ext_gpmp.addr <= wb_reg_nxt.address(wb_reg_nxt.address'high downto BYTEADDR); -- 2.25.1