URL
https://opencores.org/ocsvn/mlite/mlite/trunk
[/] [mlite/] [trunk/] [vhdl/] [control.vhd] - Diff between revs 6 and 7
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 6 |
Rev 7 |
Line 21... |
Line 21... |
use work.mips_pack.all;
|
use work.mips_pack.all;
|
|
|
entity control is
|
entity control is
|
port(opcode : in std_logic_vector(31 downto 0);
|
port(opcode : in std_logic_vector(31 downto 0);
|
intr_signal : in std_logic;
|
intr_signal : in std_logic;
|
|
pause_in : in std_logic;
|
rs_index : out std_logic_vector(5 downto 0);
|
rs_index : out std_logic_vector(5 downto 0);
|
rt_index : out std_logic_vector(5 downto 0);
|
rt_index : out std_logic_vector(5 downto 0);
|
rd_index : out std_logic_vector(5 downto 0);
|
rd_index : out std_logic_vector(5 downto 0);
|
imm_out : out std_logic_vector(15 downto 0);
|
imm_out : out std_logic_vector(15 downto 0);
|
alu_func : out alu_function_type;
|
alu_func : out alu_function_type;
|
Line 406... |
Line 407... |
|
|
if c_source = c_from_null then
|
if c_source = c_from_null then
|
rd := "000000";
|
rd := "000000";
|
end if;
|
end if;
|
|
|
|
if pause_in = '1' then
|
|
rd := "000000";
|
|
end if;
|
|
|
if intr_signal = '1' then
|
if intr_signal = '1' then
|
rs := "111111"; --interrupt vector
|
rs := "111111"; --interrupt vector
|
rt := "000000";
|
rt := "000000";
|
rd := "101110"; --save PC in EPC
|
rd := "101110"; --save PC in EPC
|
alu_function := alu_or;
|
alu_function := alu_or;
|
© copyright 1999-2025
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.