fce5b4b4e6dbf2669d41384a02e7d892a5a58ad2
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
Stefan Schuermans compare unit, initial PC ideas

Stefan Schuermans authored 12 years ago

11)         op_j    -- jump or branch
Stefan Schuermans start of MIPS core: begin o...

Stefan Schuermans authored 12 years ago

12)     );
13) 
14)     -- link (store return address in register)
15)     TYPE t_link IS (
16)         link_none,
17)         link_link  -- link
18)     );
19) 
20)     -- compare mode
21)     TYPE t_cmp IS (
22)         cmp_none,
23)         cmp_eq,   -- equal
Stefan Schuermans add missing branch instruct...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

43)         alu_sltu, -- set on less than unsigned