0a29d2e1825f86b6dc33fc9ce50eafdff8827487
Stefan Schuermans start of MIPS core: begin o...

Stefan Schuermans authored 12 years ago

1) LIBRARY ieee;
2) USE ieee.std_logic_1164.all;
3) USE ieee.numeric_std.all;
4) 
5) PACKAGE mips_types IS
6) 
7)     -- operation
8)     TYPE t_op IS (
9)         op_none,
10)         op_alu, -- ALU operation
11)         op_b,   -- branch (conditional)
12)         op_j    -- jump
13)     );
14) 
15)     -- link (store return address in register)
16)     TYPE t_link IS (
17)         link_none,
18)         link_link  -- link
19)     );
20) 
21)     -- compare mode
22)     TYPE t_cmp IS (
23)         cmp_none,
24)         cmp_eq,   -- equal
25)         cmp_gtz,  -- greater zero
26)         cmp_lez,  -- less or equal zero
27)         cmp_ne    -- not equal
28)     );
29) 
30)     -- ALU operation
31)     TYPE t_alu IS (
32)         alu_none,
33)         alu_add,  -- addition
34)         alu_and,  -- bitwise AND
35)         alu_nor,  -- bitwise NOR
36)         alu_or,   -- bitwise OR
37)         alu_sub,  -- subtraction
38)         alu_sll,  -- shift left logically
39)         alu_sra,  -- shift right arithmetically
40)         alu_srl,  -- shift right logically
41)         alu_slt,  -- set on less than
Stefan Schuermans separated shifter from ALU

Stefan Schuermans authored 12 years ago

42)         alu_sltu, -- set on less than unsigned