X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=calu.git;a=blobdiff_plain;f=cpu%2Fsrc%2Ffetch_stage_b.vhd;fp=cpu%2Fsrc%2Ffetch_stage_b.vhd;h=7e2032dde0c270bd01a0057de2d81dc28cbb1ac0;hp=f86ad833a154e049e2d32fa3d79c5b5ef8c69f87;hb=0ba0c7effbaf554ad42db51334581859a0570bfa;hpb=1c926aa503f06fc7844b6482c89b55961a58d16b diff --git a/cpu/src/fetch_stage_b.vhd b/cpu/src/fetch_stage_b.vhd index f86ad83..7e2032d 100644 --- a/cpu/src/fetch_stage_b.vhd +++ b/cpu/src/fetch_stage_b.vhd @@ -81,8 +81,7 @@ begin if (instr_pc = x"0000007f" and rom_ram = ROM_USE) then rom_ram_nxt <= RAM_USE; - -- TODO: wenn genau auf adresse 0 im RAM ein br steht kracht es... :/ - instr_r_addr_nxt <= x"00000000"; + instr_r_addr_nxt <= (others => '0'); end if; if (reset = RESET_VALUE) then @@ -120,11 +119,11 @@ end process; out_logic : process (instr_r_addr, alu_jump_bit, int_req, jump_result) begin - prog_cnt(10 downto 0) <= std_logic_vector(unsigned(instr_r_addr(PHYS_INSTR_ADDR_WIDTH-1 downto 0))); - prog_cnt(31 downto 11) <= (others => '0'); + prog_cnt(PHYS_INSTR_ADDR_WIDTH-1 downto 0) <= std_logic_vector(unsigned(instr_r_addr(PHYS_INSTR_ADDR_WIDTH-1 downto 0))); + prog_cnt(INSTR_ADDR_WIDTH-1 downto PHYS_INSTR_ADDR_WIDTH) <= (others => '0'); if (int_req /= IDLE and alu_jump_bit = LOGIC_ACT ) then - prog_cnt(10 downto 0) <= jump_result(10 downto 0); + prog_cnt(PHYS_INSTR_ADDR_WIDTH-1 downto 0) <= jump_result(PHYS_INSTR_ADDR_WIDTH-1 downto 0); end if; end process;