URL
https://opencores.org/ocsvn/ion/ion/trunk
[/] [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
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.