增强mips处理器主解码器块的VHDL代码

时间:2016-04-22 01:31:05

标签: vhdl

我是vhdl编程的新手,在这里我想在某一点上增强以下代码:

ENTITY maindec IS
  port(op: in STD_LOGIC_VECTOR(5 downto 0);
memtoreg, memwrite: out STD_LOGIC;
branch, alusrc: out STD_LOGIC;
regdst, regwrite: out STD_LOGIC;
--jump: out STD_LOGIC;
aluop: out STD_LOGIC_VECTOR(1 downto 0));

-- Declarations

END maindec ;

-- hds interface_end
ARCHITECTURE untitled OF maindec IS
signal controls: STD_LOGIC_VECTOR(8 downto 0);
signal jump_2 : STD_LOGIC;
begin
process(op) 
begin
case op is
when "000000" => controls <= "110000010"; -- RTYPE
when "100011" => controls <= "101001000"; -- LW
when "101011" => controls <= "001010000"; -- SW
when "000100" => controls <= "000100001"; -- BEQ
when "001000" => controls <= "101000000"; -- ADDI
when "000010" => controls <= "000000100"; -- J
when others => controls <= "---------"; -- illegal op
end case;
end process;
regwrite<=controls(8);
regdst<=controls(7);
alusrc<=controls(6);
branch<=controls(5);
memwrite<=controls(4);
memtoreg<=controls(3);
jump_2<=controls(2);
aluop<=controls(1 downto 0);

END untitled;

这是mips处理器中的主要解码器块,现在我需要构建这个mips处理器。在该块中,控制信号所需的是9位。同时跳转输出必须不存在于此块中,我面临着破坏控制信号的第三位的问题,我已经从实体中删除了跳出信号并且我已经创建了一个随机信号,然后我有将控制器的第三位传递给该信号。问题出在这里,我认为这不是一种有效的方式,因为当我完成整个处理器模块的端口映射时,由于这个问题我收到了很多警告。那么任何人都可以建议另一种方法来解决这个问题吗?

0 个答案:

没有答案