control.vhd
来自「麻省理工的一个实验室实现的MIPS IP CORE」· VHDL 代码 · 共 72 行
VHD
72 行
--
--
-- control module (simulates SPIM control module)
--
--
library Synopsys, IEEE;
use Synopsys.attributes.all;
use IEEE.STD_LOGIC_1164.all;
entity control is
port( signal Op : in std_logic_vector(5 downto 0);
signal RegDst : out std_logic;
signal ALUSrc : out std_logic;
signal MemtoReg : out std_logic;
signal RegWrite : out std_logic;
signal MemRead : out std_logic;
signal MemWrite : out std_logic;
signal Branch : out std_logic;
signal ALUop0 : out std_logic;
signal ALUop1 : out std_logic;
signal phi1,phi2: in std_logic);
end control;
--
-- SPIM control architecture
--
architecture behavioral of control is
signal Rformat, Lw, Sw, Beq : std_logic;
begin -- behavior of SPIM control
------------------------------------------------------------------------------
Rformat <= ((NOT Op(5)) AND (NOT Op(4)) AND (NOT Op(3)) AND
(NOT Op(2)) AND (NOT Op(1)) AND (NOT Op(0)));
Lw <= ( Op(5)) AND (NOT Op(4)) AND (NOT Op(3)) AND
(NOT Op(2)) AND ( Op(1)) AND ( Op(0));
Sw <= ( Op(5)) AND (NOT Op(4)) AND ( Op(3)) AND
(NOT Op(2)) AND ( Op(1)) AND ( Op(0));
Beq <= (NOT Op(5)) AND (NOT Op(4)) AND (NOT Op(3)) AND
( Op(2)) AND (NOT Op(1)) AND (NOT Op(0));
RegDst <= Rformat;
ALUSrc <= Lw or Sw;
MemtoReg <= Lw;
RegWrite <= Rformat or Lw;
MemRead <= Lw;
MemWrite <= Sw;
Branch <= Beq;
ALUOp1 <= Rformat;
ALUOp0 <= Beq;
end behavioral;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?