902aa402b3830b9c9aa26758390b6eb93b42a0f5
Stefan Schuermans added file headers

Stefan Schuermans authored 12 years ago

1) -- MIPS I system
Stefan Schuermans replace email address in he...

Stefan Schuermans authored 12 years ago

2) -- Copyright 2011-2012 Stefan Schuermans <stefan@blinkenarea.org>
Stefan Schuermans added file headers

Stefan Schuermans authored 12 years ago

3) -- Copyleft GNU public license V2 or later
4) --          http://www.gnu.org/copyleft/gpl.html
5) 
Stefan Schuermans start of MIPS core: begin o...

Stefan Schuermans authored 12 years ago

6) LIBRARY ieee;
7) USE ieee.std_logic_1164.all;
8) USE ieee.numeric_std.all;
9) 
10) PACKAGE mips_types IS
11) 
12)     -- operation
13)     TYPE t_op IS (
14)         op_none,
Stefan Schuermans decoding MULT(U)/DIV(U) ->...

Stefan Schuermans authored 12 years ago

15)         op_alu,   -- ALU operation
16)         op_div,   -- divide
17)         op_divu,  -- divide unsigned
18)         op_j,     -- jump or branch
19)         op_l,     -- load
20)         op_mfhi,  -- move from HI
21)         op_mflo,  -- move from LO
22)         op_mthi,  -- move to HI
23)         op_mtlo,  -- move to LO
24)         op_mult,  -- multiply
25)         op_multu, -- multiply unsigned
26)         op_s      -- store
Stefan Schuermans start of MIPS core: begin o...

Stefan Schuermans authored 12 years ago

27)     );
28) 
29)     -- link (store return address in register)
30)     TYPE t_link IS (
31)         link_none,
32)         link_link  -- link
33)     );
34) 
35)     -- compare mode
36)     TYPE t_cmp IS (
37)         cmp_none,
38)         cmp_eq,   -- equal
Stefan Schuermans add missing branch instruct...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

43)         cmp_ne    -- not equal
44)     );
45) 
46)     -- ALU operation
47)     TYPE t_alu IS (
48)         alu_none,
49)         alu_add,  -- addition
50)         alu_and,  -- bitwise AND
51)         alu_nor,  -- bitwise NOR
52)         alu_or,   -- bitwise OR
53)         alu_sub,  -- subtraction
54)         alu_sll,  -- shift left logically
55)         alu_sra,  -- shift right arithmetically
56)         alu_srl,  -- shift right logically
57)         alu_slt,  -- set on less than
Stefan Schuermans separated shifter from ALU

Stefan Schuermans authored 12 years ago

58)         alu_sltu, -- set on less than unsigned
Stefan Schuermans added decoding of simple lo...

Stefan Schuermans authored 12 years ago

59)         alu_up,   -- move to upper half
Stefan Schuermans start of MIPS core: begin o...

Stefan Schuermans authored 12 years ago

60)         alu_xor   -- bitwise XOR
61)     );
62) 
63)     -- immediate usage
64)     TYPE t_imm IS (
65)         imm_none,
66)         imm_a,    -- "a" immediate
67)         imm_16se, -- 16 bit immediate, sign-extension
68)         imm_16ze, -- 16 bit immediate, zero-extension
69)         imm_26    -- 26 bit immediate
70)     );
71) 
Stefan Schuermans added decoding of simple lo...

Stefan Schuermans authored 12 years ago

72)     -- load/store type
73)     TYPE t_ldst IS (
74)         ldst_none,
Stefan Schuermans whitespace changes

Stefan Schuermans authored 12 years ago

75)         ldst_b,  -- byte (sign-extension)
76)         ldst_bu, -- byte unsigned (zero-extension)
77)         ldst_h,  -- half word (16 bit) (sign-extension)
78)         ldst_hu, -- half word unsigned (16 bit) (zero-extension)
Stefan Schuermans decoding of LWL, LWR, SWL, SWR

Stefan Schuermans authored 12 years ago

79)         ldst_w,  -- word (32 bit)
80)         ldst_wl, -- word left (8 to 32 bits)
81)         ldst_wr  -- word right (8 to 32 bits)
Stefan Schuermans added decoding of simple lo...

Stefan Schuermans authored 12 years ago

82)     );
83)