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

Subversion Repositories plasma

[/] [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;

powered by: WebSVN 2.1.0

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