20735fb90be09b504dfda8f0274d6011d6342085
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
Stefan Schuermans add missing branch instruct...

Stefan Schuermans authored 12 years ago

25)         cmp_gez,  -- greater or equal zero
26)         cmp_gtz,  -- greater than zero
Stefan Schuermans start of MIPS core: begin o...

Stefan Schuermans authored 12 years ago

27)         cmp_lez,  -- less or equal zero
Stefan Schuermans add missing branch instruct...

Stefan Schuermans authored 12 years ago

28)         cmp_ltz,  -- less than zero
Stefan Schuermans start of MIPS core: begin o...

Stefan Schuermans authored 12 years ago

29)         cmp_ne    -- not equal
30)     );
31) 
32)     -- ALU operation
33)     TYPE t_alu IS (
34)         alu_none,
35)         alu_add,  -- addition
36)         alu_and,  -- bitwise AND
37)         alu_nor,  -- bitwise NOR
38)         alu_or,   -- bitwise OR
39)         alu_sub,  -- subtraction
40)         alu_sll,  -- shift left logically
41)         alu_sra,  -- shift right arithmetically
42)         alu_srl,  -- shift right logically
43)         alu_slt,  -- set on less than
Stefan Schuermans separated shifter from ALU

Stefan Schuermans authored 12 years ago

44)         alu_sltu, -- set on less than unsigned