Stefan Schuermans
decoding MULT(U)/DIV(U) -> MIPSel1 decoder complete
Stefan Schuermans commited 11c7383 at 2012-02-05 17:32:53
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.numeric_std.all;
PACKAGE mips_types IS
-- operation
TYPE t_op IS (
op_none,
op_alu, -- ALU operation
op_div, -- divide
op_divu, -- divide unsigned
op_j, -- jump or branch
op_l, -- load
op_mfhi, -- move from HI
op_mflo, -- move from LO
op_mthi, -- move to HI
op_mtlo, -- move to LO
op_mult, -- multiply
op_multu, -- multiply unsigned
op_s -- store
);
-- link (store return address in register)
TYPE t_link IS (
link_none,
link_link -- link
);
-- compare mode
TYPE t_cmp IS (
cmp_none,
cmp_eq, -- equal
cmp_gez, -- greater or equal zero
cmp_gtz, -- greater than zero
cmp_lez, -- less or equal zero
cmp_ltz, -- less than zero
cmp_ne -- not equal
);
-- ALU operation
TYPE t_alu IS (
alu_none,
alu_add, -- addition
alu_and, -- bitwise AND
alu_nor, -- bitwise NOR
alu_or, -- bitwise OR
alu_sub, -- subtraction
alu_sll, -- shift left logically
alu_sra, -- shift right arithmetically
alu_srl, -- shift right logically
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX