OpenCores
URL https://opencores.org/ocsvn/ion/ion/trunk

Subversion Repositories ion

[/] [ion/] [trunk/] [vhdl/] [mips_cpu.vhdl] - Diff between revs 200 and 242

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 200 Rev 242
Line 94... Line 94...
        code_rd_vma     : out std_logic;
        code_rd_vma     : out std_logic;
 
 
        cache_enable    : out std_logic;
        cache_enable    : out std_logic;
        ic_invalidate   : out std_logic;
        ic_invalidate   : out std_logic;
 
 
        mem_wait        : in std_logic
        mem_wait        : in std_logic;
 
        cache_ready     : in std_logic
    );
    );
end; --entity mips_cpu
end; --entity mips_cpu
 
 
architecture rtl of mips_cpu is
architecture rtl of mips_cpu is
 
 
Line 561... Line 562...
begin
begin
    if clk'event and clk='1' then
    if clk'event and clk='1' then
        if reset='1' then
        if reset='1' then
            p1_ir_reg <= (others => '0');
            p1_ir_reg <= (others => '0');
        elsif stall_pipeline='0' then
        elsif stall_pipeline='0' then
 
            -- Load the IR with whatever the cache is giving us, UNLESS the
 
            -- cache is not ready (has not yet completed the first code refill
 
            -- after reset), in which case...
 
            if cache_ready='1' then
            p1_ir_reg <= code_rd;
            p1_ir_reg <= code_rd;
 
            else
 
                -- ... load the IR with something innocuous so that the 
 
                -- instruction decoder does not derail.
 
                p1_ir_reg <= (others => '0');
 
            end if;
        end if;
        end if;
    end if;
    end if;
end process instruction_register;
end process instruction_register;
 
 
-- Zero extension/Sign extension of instruction immediate data
-- Zero extension/Sign extension of instruction immediate data

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.