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

Subversion Repositories s1_core

[/] [s1_core/] [trunk/] [hdl/] [rtl/] [sparc_core/] [include/] [lsu.h] - Blame information for rev 113

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 113 albert.wat
/*
2
* ========== Copyright Header Begin ==========================================
3
*
4
* OpenSPARC T1 Processor File: lsu.h
5
* Copyright (c) 2006 Sun Microsystems, Inc.  All Rights Reserved.
6
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.
7
*
8
* The above named program is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU General Public
10
* License version 2 as published by the Free Software Foundation.
11
*
12
* The above named program is distributed in the hope that it will be
13
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15
* General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public
18
* License along with this work; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
20
*
21
* ========== Copyright Header End ============================================
22
*/
23
`define STB_PCX_WIDTH   115
24
`define STB_PCX_VLD     114
25
`define STB_PCX_RQ_HI   113
26
`define STB_PCX_RQ_LO   111
27
`define STB_PCX_NC      110
28
`define STB_PCX_TH_HI   109
29
`define STB_PCX_TH_LO   108
30
`define STB_PCX_FLSH    107
31
//`define STB_PCX_WY_HI   107
32
//`define STB_PCX_WY_LO   106
33
`define STB_PCX_SZ_HI   105
34
`define STB_PCX_SZ_LO   104
35
`define STB_PCX_AD_HI   103
36
`define STB_PCX_AD_LO   64
37
`define STB_PCX_DA_HI   63
38
`define STB_PCX_DA_LO   0
39
`define LMQ_WIDTH       65
40
`define LMQ_VLD         64
41
`define LMQ_DFLUSH      63
42
`define LMQ_PREF        62
43
`define LMQ_FPLD        61
44
`define LMQ_SIGNEXT     60
45
`define LMQ_BIGEND      59
46
`define LMQ_RD1_HI      58
47
`define LMQ_RD1_LO      54
48
`define LMQ_RD2_VLD     53
49
`define LMQ_RD2_HI      52
50
`define LMQ_RD2_LO      51
51
`define LMQ_RQ_HI       47
52
`define LMQ_RQ_LO       45
53
`define LMQ_NC          44
54
`define LMQ_WY_HI       43
55
`define LMQ_WY_LO       42
56
`define LMQ_SZ_HI       41
57
`define LMQ_SZ_LO       40
58
`define LMQ_AD_HI       39
59
`define LMQ_AD_LO       0
60
`define DATA_PA_HI      32
61
`define DATA_PA_LO      6
62
`define STB_DFQ_WIDTH   83
63
`define STB_DFQ_VLD     82
64
`define STB_DFQ_ATM     81
65
`define STB_DFQ_WY_HI   80
66
`define STB_DFQ_WY_LO   79
67
`define STB_DFQ_BF_ID_HI 78
68
`define STB_DFQ_BF_ID_LO 76
69
`define STB_DFQ_SZ_HI   75
70
`define STB_DFQ_SZ_LO   74
71
`define STB_DFQ_AD_HI   73
72
`define STB_DFQ_AD_LO   64
73
`define STB_DFQ_DA_HI   63
74
`define STB_DFQ_DA_LO   0
75
 
76
`define DFQ_WIDTH       151
77
`define DFQ_TH_HI       150
78
`define DFQ_TH_LO       149
79
`define DFQ_ST_CMPLT    148
80
`define DFQ_LD_TYPE     147
81
`define DFQ_INV_TYPE    146
82
`define DFQ_WY_HI       145
83
`define DFQ_WY_LO       144
84
`define DFQ_WY1_HI      143
85
`define DFQ_WY1_LO      142
86
`define DFQ_WY2_HI      141
87
`define DFQ_WY2_LO      140
88
`define DFQ_WY3_HI      139
89
`define DFQ_WY3_LO      138
90
`define DFQ_SI_HI       137
91
`define DFQ_SI_LO       132
92
`define DFQ_SI_DCD_HI   131
93
`define DFQ_SI_DCD_LO   128
94
`define DFQ_DA_HI       127
95
`define DFQ_DA_LO       0
96
 
97
`define DCFILL_WIDTH    183
98
`define DCFILL_TH_HI    182
99
`define DCFILL_TH_LO    181
100
`define DCFILL_ST       180
101
`define DCFILL_ST       180
102
`define DCFILL_LD       179
103
`define DCFILL_INV      178
104
`define DCFILL_DC_WR    177
105
`define DCFILL_RD_HI    176
106
`define DCFILL_RD_LO    172
107
`define DCFILL_WY_HI    171
108
`define DCFILL_WY_LO    170
109
`define DCFILL_SZ_HI    169
110
`define DCFILL_SZ_LO    168
111
`define DCFILL_AD_HI    167
112
`define DCFILL_AD_LO    128
113
`define DCFILL_DA_HI    127
114
`define DCFILL_DA_LO    0
115
 
116
// TLB Tag and Data Format
117
        `define       STLB_TAG_PID_HI         58
118
        `define       STLB_TAG_PID_LO         56
119
        `define       STLB_TAG_R              55
120
        `define       STLB_TAG_PARITY         54
121
        `define       STLB_TAG_VA_47_28_HI    53
122
        `define       STLB_TAG_VA_47_28_LO    34
123
        `define       STLB_TAG_VA_27_22_HI    33
124
        `define       STLB_TAG_VA_27_22_LO    28
125
        `define       STLB_TAG_VA_27_22_V     27
126
        `define       STLB_TAG_V              26
127
        `define       STLB_TAG_L              25
128
        `define       STLB_TAG_U              24
129
        `define       STLB_TAG_VA_21_16_HI    23
130
        `define       STLB_TAG_VA_21_16_LO    18
131
        `define       STLB_TAG_VA_21_16_V     17
132
        `define       STLB_TAG_VA_15_13_HI    16
133
        `define       STLB_TAG_VA_15_13_LO    14
134
        `define       STLB_TAG_VA_15_13_V     13
135
        `define       STLB_TAG_CTXT_12_0_HI   12
136
        `define       STLB_TAG_CTXT_12_0_LO   0
137
 
138
        `define       STLB_DATA_PARITY        42
139
        `define       STLB_DATA_PA_39_28_HI   41
140
        `define       STLB_DATA_PA_39_28_LO   30
141
        `define       STLB_DATA_PA_27_22_HI   29
142
        `define       STLB_DATA_PA_27_22_LO   24
143
        `define       STLB_DATA_27_22_SEL     23
144
        `define       STLB_DATA_PA_21_16_HI   22
145
        `define       STLB_DATA_PA_21_16_LO   17
146
        `define       STLB_DATA_21_16_SEL     16
147
        `define       STLB_DATA_PA_15_13_HI   15
148
        `define       STLB_DATA_PA_15_13_LO   13
149
        `define       STLB_DATA_15_13_SEL     12
150
        `define       STLB_DATA_V             11
151
        `define       STLB_DATA_NFO           10
152
        `define       STLB_DATA_IE            9
153
        `define       STLB_DATA_L             8
154
        `define       STLB_DATA_CP            7
155
        `define       STLB_DATA_CV            6
156
        `define       STLB_DATA_E             5
157
        `define       STLB_DATA_P             4
158
        `define       STLB_DATA_W             3
159
        `define       STLB_DATA_SPARE_HI      2
160
        `define       STLB_DATA_SPARE_LO      0
161
 
162
        `define CAM_VA_47_28_HI         40
163
        `define CAM_VA_47_28_LO         21
164
        `define CAM_VA_47_28_V          20
165
        `define CAM_VA_27_22_HI         19
166
        `define CAM_VA_27_22_LO         14
167
        `define CAM_VA_27_22_V          13
168
        `define CAM_VA_21_16_HI         12
169
        `define CAM_VA_21_16_LO         7
170
        `define CAM_VA_21_16_V          6
171
        `define CAM_VA_15_13_HI         5
172
        `define CAM_VA_15_13_LO         3
173
        `define CAM_VA_15_13_V          2
174
        `define CAM_CTXT_GK             1
175
        `define CAM_REAL_V              0
176
 
177
 
178
// I-TLB version - lsu_tlb only.
179
 
180
`define TLB_TAG_G       52
181
`define TLB_TAG_CTXT_HI 51
182
`define TLB_TAG_CTXT_LO 39
183
`define TLB_TAG_VA_HI   38
184
`define TLB_TAG_VA_LO   4
185
`define TLB_TAG_L       3
186
`define TLB_TAG_VA_21_19_V  2
187
`define TLB_TAG_VA_18_16_V  1
188
`define TLB_TAG_VA_15_13_V  0
189
`define TLB_DATA_PARITY 37
190
`define TLB_DATA_SZ_HI  36
191
`define TLB_DATA_SZ_LO  35
192
`define TLB_DATA_NFO    34
193
`define TLB_DATA_IE     33
194
`define TLB_DATA_PA_HI  32
195
`define TLB_DATA_PA_LO  6
196
`define TLB_DATA_CP     5
197
`define TLB_DATA_CV     4
198
`define TLB_DATA_E      3
199
`define TLB_DATA_P      2
200
`define TLB_DATA_W      1
201
`define TLB_DATA_G      0
202
 
203
// Invalidate Format
204
//addr<5:4>=00
205
`define CPX_A00_C0_LO   0
206
`define CPX_A00_C0_HI   3
207
`define CPX_A00_C1_LO   4
208
`define CPX_A00_C1_HI   7
209
`define CPX_A00_C2_LO   8
210
`define CPX_A00_C2_HI   11
211
`define CPX_A00_C3_LO   12
212
`define CPX_A00_C3_HI   15
213
`define CPX_A00_C4_LO   16
214
`define CPX_A00_C4_HI   19
215
`define CPX_A00_C5_LO   20
216
`define CPX_A00_C5_HI   23
217
`define CPX_A00_C6_LO   24
218
`define CPX_A00_C6_HI   27
219
`define CPX_A00_C7_LO   28
220
`define CPX_A00_C7_HI   31
221
 
222
//addr<5:4>=01
223
`define CPX_A01_C0_LO   32
224
`define CPX_A01_C0_HI   34
225
`define CPX_A01_C1_LO   35
226
`define CPX_A01_C1_HI   37
227
`define CPX_A01_C2_LO   38
228
`define CPX_A01_C2_HI   40
229
`define CPX_A01_C3_LO   41
230
`define CPX_A01_C3_HI   43
231
`define CPX_A01_C4_LO   44
232
`define CPX_A01_C4_HI   46
233
`define CPX_A01_C5_LO   47
234
`define CPX_A01_C5_HI   49
235
`define CPX_A01_C6_LO   50
236
`define CPX_A01_C6_HI   52
237
`define CPX_A01_C7_LO   53
238
`define CPX_A01_C7_HI   55
239
 
240
//addr<5:4>=10
241
`define CPX_A10_C0_LO   56
242
`define CPX_A10_C0_HI   59
243
`define CPX_A10_C1_LO   60
244
`define CPX_A10_C1_HI   63
245
`define CPX_A10_C2_LO   64
246
`define CPX_A10_C2_HI   67
247
`define CPX_A10_C3_LO   68
248
`define CPX_A10_C3_HI   71
249
`define CPX_A10_C4_LO   72
250
`define CPX_A10_C4_HI   75
251
`define CPX_A10_C5_LO   76
252
`define CPX_A10_C5_HI   79
253
`define CPX_A10_C6_LO   80
254
`define CPX_A10_C6_HI   83
255
`define CPX_A10_C7_LO   84
256
`define CPX_A10_C7_HI   87
257
 
258
//addr<5:4>=11
259
`define CPX_A11_C0_LO   88
260
`define CPX_A11_C0_HI   90
261
`define CPX_A11_C1_LO   91
262
`define CPX_A11_C1_HI   93
263
`define CPX_A11_C2_LO   94
264
`define CPX_A11_C2_HI   96
265
`define CPX_A11_C3_LO   97
266
`define CPX_A11_C3_HI   99
267
`define CPX_A11_C4_LO   100
268
`define CPX_A11_C4_HI   102
269
`define CPX_A11_C5_LO   103
270
`define CPX_A11_C5_HI   105
271
`define CPX_A11_C6_LO   106
272
`define CPX_A11_C6_HI   108
273
`define CPX_A11_C7_LO   109
274
`define CPX_A11_C7_HI   111
275
 
276
// cpuid - 4b
277
`define CPX_INV_CID_LO 118
278
`define CPX_INV_CID_HI 120
279
 
280
// CPUany, addr<5:4>=00,10
281
`define CPX_AX0_INV_DVLD 0
282
`define CPX_AX0_INV_IVLD 1
283
`define CPX_AX0_INV_WY_LO 2
284
`define CPX_AX0_INV_WY_HI 3
285
 
286
// CPUany, addr<5:4>=01,11
287
`define CPX_AX1_INV_DVLD 0
288
`define CPX_AX1_INV_WY_LO 1
289
`define CPX_AX1_INV_WY_HI 2
290
 
291
// CPUany, addr<5:4>=01,11
292
`define CPX_AX1_INV_DVLD 0
293
`define CPX_AX1_INV_WY_LO 1
294
`define CPX_AX1_INV_WY_HI 2
295
 
296
// DTAG parity error Invalidate
297
`define CPX_PERR_DINV 123       // dcache inv
298
`define CPX_PERR_DINV_AD5 122   // addr bit 5
299
`define CPX_PERR_DINV_AD4 121   // addr bit 4
300
 
301
// CPX BINIT STORE
302
`define CPX_BINIT_STACK 125     // dcache inv

powered by: WebSVN 2.1.0

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