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

Subversion Repositories ion

[/] [ion/] [trunk/] [vhdl/] [mips_cpu.vhdl] - Diff between revs 157 and 159

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

Rev 157 Rev 159
Line 12... Line 12...
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-- Please read file /doc/ion_project.txt for usage instructions.
-- Please read file /doc/ion_project.txt for usage instructions.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--### MIPS-I things not implemented
--### MIPS-I things not implemented
--
--
-- 1.- RTE instruction (or ERET) missing, with CP0.SR KUo/IEo & KUP/IEp flags.
-- 1.- Most of the R3000 CP0 registers and of course all of the CP1.
-- 2.- Most of the R3000 CP0 registers and of course all of the CP1.
-- 2.- External interrupts missing, with CP0.SR IR, NMI and IM7..0 flags.
-- 3.- External interrupts missing, with CP0.SR IR, NMI and IM7..0 flags.
 
--
--
--### Things with provisional implementation
--### Things with provisional implementation
-- 
-- 
-- 1.- Load interlocks: the pipeline is stalled for every load instruction, even
-- 1.- Load interlocks: the pipeline is stalled for every load instruction, even
--     if the target register is not used in the following instruction. So that
--     if the target register is not used in the following instruction. So that
Line 34... Line 33...
--     BUT there's no address checking and user code can still access kernel 
--     BUT there's no address checking and user code can still access kernel 
--     space in this version.
--     space in this version.
--     Besides, see point 2 above about the missing SR bits.
--     Besides, see point 2 above about the missing SR bits.
--
--
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
 
-- KNOWN BUGS:
 
--
 
-- 1.- The instruction after entering user mode (i.e. the instruction after the
 
--     MTC0 or RFE that clears the KU flag) is executed in kernel mode. 
 
--     This can be easily fixed but is not very urgent.
 
--------------------------------------------------------------------------------
 
 
library ieee;
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_unsigned.all;

powered by: WebSVN 2.1.0

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