OpenCores
URL https://opencores.org/ocsvn/mips789/mips789/trunk

Subversion Repositories mips789

[/] [mips789/] [trunk/] [core/] [mips789_defs.v] - Blame information for rev 64

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 64 mcupro
/******************************************************************
2
 *                                                                *
3
 *    Author: Liwei                                               *
4
 *                                                                *
5
 *    This file is part of the "mips789" project.                 *
6
 *    Downloaded from:                                            *
7
 *    http://www.opencores.org/pdownloads.cgi/list/mips789        *
8
 *                                                                *
9
 *    If you encountered any problem, please contact me via       *
10
 *    Email:mcupro@opencores.org  or mcupro@163.com               *
11
 *                                                                *
12
 ******************************************************************/
13
 
14
`ifndef INCLUDE_H
15
`define INCLUDE_H
16
 
17
//`define USE_MULDIV
18
 
19
 
20
 
21
 
22
 `define   FRQ                    50000000
23
 `define   SER_RATE               19200
24
 
25
 `define   FW_ALU                 3'b001
26
 `define   FW_MEM                 3'b010
27
 `define   FW_NOP                 3'b100
28
 
29
 `define   ALU_MFHI               6
30
 `define   ALU_MFLO               7
31
 `define   ALU_MULTTU             8
32
 `define   ALU_MULT               9
33
 `define   ALU_DIVU               10
34
 `define   ALU_DIV                11
35
 
36
 
37
 `define   DMEM_SB                1
38
 `define   DMEM_LBS               2
39
 `define   DMEM_LB                3
40
 `define   DMEM_LBU               4
41
 `define   DMEM_SW                5
42
 `define   DMEM_LW                6
43
 `define   DMEM_SH                7
44
 `define   DMEM_LHS               8
45
 `define   DMEM_LH                9
46
 `define   DMEM_LHU               10
47
 `define   DMEM_NOP               0
48
 
49
 `define   ALU_SRL                1
50
 `define   ALU_SLL                2
51
 `define   ALU_SRA                4
52
 
53
 `define   WB_ALU                 0
54
 `define   WB_MEM                 1
55
 `define   WB_NOP                 0
56
 
57
 `define   RD_RD                  1
58
 `define   RD_RT                  2
59
 `define   RD_R31                 3
60
 `define   RD_NOP                 0
61
 `define   RD_ZR                  0
62
 
63
 `define   EXT_CTL_LEN            3
64
 `define   RD_SEL_LEN             2
65
 `define   CMP_CTL_LEN            3
66
 `define   PC_GEN_CTL_LEN         3
67
 `define   FSM_CTL_LEN            3
68
 `define   MUXA_CTL_LEN           2
69
 `define   MUXB_CTL_LEN           2
70
 `define   ALU_FUNC_LEN           5
71
 `define   ALU_WE_LEN             1
72
 `define   DMEM_CTL_LEN           4
73
 `define   WB_MUX_CTL_LEN         1
74
 `define   WB_WE_LEN              1
75
 `define   INS_LEN                32
76
 `define   PC_LEN                 32
77
 `define   SPC_LEN                32
78
 `define   R32_LEN                32
79
 `define   R5_LEN                 5
80
 `define   R1_LEN                 1
81
 `define   R2_LEN                 2
82
 `define   R3_LEN                 3
83
 `define   R4_LEN                 4
84
 
85
 `define   ALU_ADD                12
86
 `define   ALU_ADDU               13
87
 `define   ALU_SUB                14
88
 `define   ALU_SUBU               15
89
 `define   ALU_SLTU               16
90
 `define   ALU_SLT                17
91
 `define   ALU_OR                 18
92
 `define   ALU_AND                19
93
 `define   ALU_XOR                20
94
 `define   ALU_NOR                21
95
 `define   ALU_PA                 22
96
 `define   ALU_PB                 23
97
 
98
 `define   D2_MUL_DLY             4'b0000
99
 `define   IDLE                   4'b0001
100
 `define   MUL                    4'b0010
101
 `define   CUR                    4'b0011
102
 `define   RET                    4'b0100
103
 `define   IRQ                    4'b0101
104
 `define   RST                    4'b0110
105
 `define   LD                     4'b0111
106
 `define   NOI                    4'b1000
107
 
108
 
109
 `define   ALU_NOP                0
110
 `define   ALU_MTLO               30
111
 `define   ALU_MTHI               31
112
 `define   ALU_MULTU              8
113
 
114
 `define   PC_IGN                 1
115
 `define   PC_KEP                 2
116
 `define   PC_IRQ                 4
117
 `define   PC_RST                 8
118
 
119
 `define   PC_J                   1
120
 `define   PC_JR                  2
121
 `define   PC_BC                  4
122
 `define   PC_NEXT                5
123
 `define   PC_NOP                 0
124
 `define   PC_RET                 6
125
 `define   PC_SPC                 6
126
 
127
 `define   RF                     13
128
 `define   EXEC                   10
129
 `define   DMEM                   4
130
 `define   WB                     2
131
 `define   MUXA_PC                1
132
 `define   MUXA_RS                2
133
 `define   MUXA_EXT               3
134
 `define   MUXA_SPC               0
135
 `define   MUXA_NOP               0
136
 `define   MUXB_RT                1
137
 `define   MUXB_EXT               2
138
 `define   MUXB_NOP               0
139
 
140
 `define   CMP_BEQ                1
141
 `define   CMP_BNE                2
142
 `define   CMP_BLEZ               3
143
 `define   CMP_BGEZ               4
144
 `define   CMP_BGTZ               5
145
 `define   CMP_BLTZ               6
146
 `define   CMP_NOP                0
147
 
148
 `define   FSM_CUR                1
149
 `define   FSM_MUL                2
150
 `define   FSM_RET                4
151
 `define   FSM_NOP                0
152
 `define   FSM_LD                 5
153
 `define   FSM_NOI                6
154
 
155
 `define   REG_NOP                0
156
 `define   REG_CLR                1
157
 `define   REG_KEP                2
158
 
159
 `define   EXT_SIGN               1
160
 `define   EXT_UNSIGN             2
161
 `define   EXT_J                  3
162
 `define   EXT_B                  4
163
 `define   EXT_SA                 5
164
 `define   EXT_S2H                6
165
 `define   EXT_NOP                0
166
 
167
 `define   EN                     1
168
 `define   DIS                    0
169
 `define   IGN                    0
170
 
171
`define JTAG_BASE_ADDR      'h8100_0000
172
`define JTAG_RD_FIFO        'h8100_0100
173
`define JTAG_RD_FIFO_FLAG   'h8100_0200
174
`define USB_DATA_ADDR       'h8100_0300
175
`define USB_CTL_ADDR        'h8100_0400
176
 
177
 `define   COUNTER_VALUE1         (`FRQ/`SER_RATE/2-1)
178
 `define   COUNTER_VALUE2         (`COUNTER_VALUE1*2+1)
179
 `define   COUNTER_VALUE3         (`COUNTER_VALUE1+3)
180
 
181
 `define DEFAULT_IRQ_ADDR                 'H00_00_00_5C
182
 
183
   `define ALTERA
184
 
185
`else
186
 
187
 
188
`endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.