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

Subversion Repositories mlite

[/] [mlite/] [trunk/] [vhdl/] [bus_mux.vhd] - Diff between revs 43 and 75

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 43 Rev 75
Line 47... Line 47...
--   type c_source_type is (c_from_null, c_from_alu, c_from_shift, 
--   type c_source_type is (c_from_null, c_from_alu, c_from_shift, 
--      c_from_mult, c_from_memory, c_from_pc, c_from_imm_shift16,
--      c_from_mult, c_from_memory, c_from_pc, c_from_imm_shift16,
--      c_from_reg_source_nez, c_from_reg_source_eqz);
--      c_from_reg_source_nez, c_from_reg_source_eqz);
amux: process(reg_source, imm_in, a_mux, c_pc)
amux: process(reg_source, imm_in, a_mux, c_pc)
begin
begin
   a_out(31 downto 5) <= reg_source(31 downto 5);
 
   case a_mux is
   case a_mux is
   when a_from_reg_source =>
   when a_from_reg_source =>
      a_out(4 downto 0) <= reg_source(4 downto 0);
      a_out <= reg_source;
   when a_from_imm10_6 =>
   when a_from_imm10_6 =>
 
      a_out(31 downto 5) <= ZERO(31 downto 5);
      a_out(4 downto 0) <= imm_in(10 downto 6);
      a_out(4 downto 0) <= imm_in(10 downto 6);
   when others =>  --a_from_pc
   when others =>  --a_from_pc
      a_out <= c_pc;
      a_out <= c_pc;
   end case;
   end case;
end process;
end process;

powered by: WebSVN 2.1.0

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