URL
https://opencores.org/ocsvn/plasma/plasma/trunk
[/] [plasma/] [tags/] [V3_0/] [vhdl/] [reg_bank.vhd] - Diff between revs 12 and 24
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 12 |
Rev 24 |
Line 15... |
Line 15... |
use ieee.std_logic_unsigned.all;
|
use ieee.std_logic_unsigned.all;
|
use work.mips_pack.all;
|
use work.mips_pack.all;
|
|
|
entity reg_bank is
|
entity reg_bank is
|
port(clk : in std_logic;
|
port(clk : in std_logic;
|
|
reset_in : in std_logic;
|
rs_index : in std_logic_vector(5 downto 0);
|
rs_index : in std_logic_vector(5 downto 0);
|
rt_index : in std_logic_vector(5 downto 0);
|
rt_index : in std_logic_vector(5 downto 0);
|
rd_index : in std_logic_vector(5 downto 0);
|
rd_index : in std_logic_vector(5 downto 0);
|
reg_source_out : out std_logic_vector(31 downto 0);
|
reg_source_out : out std_logic_vector(31 downto 0);
|
reg_target_out : out std_logic_vector(31 downto 0);
|
reg_target_out : out std_logic_vector(31 downto 0);
|
Line 77... |
Line 78... |
else
|
else
|
addr_b <= rd_index(4 downto 0);
|
addr_b <= rd_index(4 downto 0);
|
end if;
|
end if;
|
|
|
if rising_edge(clk) then
|
if rising_edge(clk) then
|
if rd_index = "101100" then
|
if reset_in = '1' or rd_index = "101110" then --reg_epc CP0 14
|
reg_status <= reg_dest_new(0);
|
|
elsif rd_index = "101110" then --reg_epc CP0 14
|
|
reg_status <= '0'; --disable interrupts
|
reg_status <= '0'; --disable interrupts
|
|
elsif rd_index = "101100" then
|
|
reg_status <= reg_dest_new(0);
|
end if;
|
end if;
|
end if;
|
end if;
|
|
|
intr_enable <= reg_status;
|
intr_enable <= reg_status;
|
end process;
|
end process;
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.