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

Subversion Repositories raptor64

[/] [raptor64/] [trunk/] [rtl/] [verilog/] [Raptor64_opcodes.v] - Blame information for rev 52

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 31 robfinch
// ============================================================================
2
//        __
3
//   \\__/ o\    (C) 2012  Robert Finch
4
//    \  __ /    All rights reserved.
5
//     \/_//     robfinch<remove>@opencores.org
6
//       ||
7
//  
8
// Raptor64_opcodes.v
9
//  - 64 bit CPU
10
//
11
//
12
//  This source code is available for evaluation and validation purposes
13
//  only. This copyright statement and disclaimer must remain present in
14
//  the file.
15
//
16
//
17
//      NO WARRANTY.
18
//  THIS Work, IS PROVIDEDED "AS IS" WITH NO WARRANTIES OF ANY KIND, WHETHER
19
//  EXPRESS OR IMPLIED. The user must assume the entire risk of using the
20
//  Work.
21
//
22
//  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY
23
//  INCIDENTAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES WHATSOEVER RELATING TO
24
//  THE USE OF THIS WORK, OR YOUR RELATIONSHIP WITH THE AUTHOR.
25
//
26
//  IN ADDITION, IN NO EVENT DOES THE AUTHOR AUTHORIZE YOU TO USE THE WORK
27
//  IN APPLICATIONS OR SYSTEMS WHERE THE WORK'S FAILURE TO PERFORM CAN
28
//  REASONABLY BE EXPECTED TO RESULT IN A SIGNIFICANT PHYSICAL INJURY, OR IN
29
//  LOSS OF LIFE. ANY SUCH USE BY YOU IS ENTIRELY AT YOUR OWN RISK, AND YOU
30
//  AGREE TO HOLD THE AUTHOR AND CONTRIBUTORS HARMLESS FROM ANY CLAIMS OR
31
//  LOSSES RELATING TO SUCH UNAUTHORIZED USE.
32
//
33
// ============================================================================
34
 
35
`define MISC    7'd0
36
`define         BRK             7'd0
37
`define         IRQ             7'd1
38
`define         ICACHE_ON       7'd10
39
`define         ICACHE_OFF      7'd11
40
`define         DCACHE_ON       7'd12
41
`define         DCACHE_OFF      7'd13
42 33 robfinch
`define     PCCAP_OFF   7'd14
43 41 robfinch
`define         IEPP    7'd15
44 31 robfinch
`define     FIP         7'd20
45
`define         SYSCALL 7'd23
46
`define         IRET    7'd32
47
`define         ERET    7'd33
48
`define         WAIT    7'd40
49
`define         TLBP    7'd49
50
`define     TLBR        7'd50
51
`define     TLBWI       7'd51
52
`define     TLBWR       7'd52
53
`define         CLI             7'd64
54
`define         SEI             7'd65
55
`define         GRAN    7'd80
56
`define         GRAFD   7'd82
57
`define R               7'd1
58 41 robfinch
`define         COM             6'd4
59
`define         NOT             6'd5
60
`define         NEG             6'd6
61
`define         ABS             6'd7
62
`define         SGN             6'd8
63
`define         MOV             6'd9
64
`define         SWAP    6'd13
65 44 robfinch
`define         RBO             6'd14
66 41 robfinch
`define         CTLZ    6'd16
67
`define         CTLO    6'd17
68
`define         CTPOP   6'd18
69
`define         SEXT8   6'd19
70
`define         SEXT16  6'd20
71
`define         SEXT32  6'd21
72
`define         SQRT    6'd24
73
`define         REDOR   6'd30
74
`define         REDAND  6'd31
75
`define     MFSPR       6'd40
76
`define     MTSPR       6'd41
77 31 robfinch
`define         SR                              6'd00
78
`define         TLBIndex        6'd01
79
`define         TLBRandom               6'd02
80 45 robfinch
`define                 VER                             6'd03
81 31 robfinch
`define         PageTableAddr   6'd04
82 45 robfinch
`define                 CORE                    6'd05
83 31 robfinch
`define         BadVAddr        6'd08
84
`define         TLBPhysPage0    6'd10
85
`define         TLBPhysPage1    6'd11
86
`define         TLBVirtPage             6'd12
87
`define                 TLBPageMask             6'd13
88
`define                 TLBASID                 6'd14
89
`define         ASID                    6'd15
90
`define                 TLBWired                6'd16
91
`define         EP0             6'd17
92
`define         EP1             6'd18
93
`define         EP2             6'd19
94
`define         EP3             6'd20
95
`define         AXC             6'd21
96
`define                 Tick                    6'd22
97
`define                 EPC                             6'd23
98 33 robfinch
`define                 ERRADR                  6'd24
99 31 robfinch
`define                 TBA                             6'd25
100
`define                 NON_ICACHE_SEG  6'd26
101 48 robfinch
`define                 CS                              6'd27
102
`define                 DS                              6'd28
103
`define                 SS                              6'd29
104
`define                 ES                              6'd30
105 31 robfinch
`define                 FPCR                    6'd32
106
`define                 IPC                             6'd33
107
`define                 RAND                    6'd34
108
`define                 SRAND1                  6'd35
109
`define                 SRAND2                  6'd36
110
`define                 INSNKEY                 6'd37
111 33 robfinch
`define                 PCHI                    6'd62
112
`define         PCHISTORIC              6'd63
113 52 robfinch
`define         MFSEG   6'd42
114
`define         MTSEG   6'd43
115
`define         MFSEGI  6'd44
116 41 robfinch
`define         OMG             6'd50
117
`define         CMG             6'd51
118
`define         OMGI    6'd52
119
`define         CMGI    6'd53
120
`define         EXEC    6'd58
121 31 robfinch
`define RR      7'd2
122 41 robfinch
`define         ADD             6'd2
123
`define         ADDU    6'd3
124
`define         SUB             6'd4
125
`define         SUBU    6'd5
126
`define         CMP             6'd6
127
`define         CMPU    6'd7
128
`define         AND             6'd8
129
`define         OR              6'd9
130
`define         XOR             6'd10
131
`define         ANDC    6'd11
132
`define         NAND    6'd12
133
`define         NOR             6'd13
134
`define         XNOR    6'd14
135
`define         ORC             6'd15
136 52 robfinch
`define         AVG             6'd19
137 41 robfinch
`define         MIN             6'd20
138
`define         MAX             6'd21
139
`define         MULU    6'd24
140
`define         MULS    6'd25
141
`define         DIVU    6'd26
142
`define         DIVS    6'd27
143
`define         MODU    6'd28
144
`define         MODS    6'd29
145
`define         MOVZ    6'd30
146
`define         MOVNZ   6'd31
147
`define         MOVPL   6'd32
148
`define         MOVMI   6'd33
149 31 robfinch
 
150 52 robfinch
`define         MTSEGI  6'd35
151
 
152 41 robfinch
`define         SHL             6'd40
153
`define         SHRU    6'd41
154
`define         ROL             6'd42
155
`define         ROR             6'd43
156
`define         SHR             6'd44
157
`define         SHLU    6'd46
158 31 robfinch
 
159 41 robfinch
//`define               NOP             7'd60
160 31 robfinch
 
161 41 robfinch
`define         SLT             6'd48
162
`define         SLE             6'd49
163
`define         SGT             6'd50
164
`define         SGE             6'd51
165
`define         SLTU    6'd52
166
`define         SLEU    6'd53
167
`define         SGTU    6'd54
168
`define         SGEU    6'd55
169
`define         SEQ             6'd56
170
`define         SNE             6'd57
171 31 robfinch
 
172 41 robfinch
`define         MTEP    6'd58
173
`define         MFEP    6'd59
174 31 robfinch
 
175 41 robfinch
`define     BCD_MUL 6'd60
176
`define     BCD_ADD     6'd61
177
`define     BCD_SUB 6'd62
178
 
179 31 robfinch
`define SHFTI   7'd3
180 44 robfinch
`define         SHLI            4'd0
181
`define         SHRUI           4'd1
182
`define         ROLI            4'd2
183
`define         SHRI            4'd3
184
`define         RORI            4'd4
185
`define         SHLUI           4'd6
186 31 robfinch
`define ADDI    7'd4
187
`define ADDUI   7'd5
188
`define SUBI    7'd6
189
`define SUBUI   7'd7
190
`define CMPI    7'd8
191
`define CMPUI   7'd9
192
`define ANDI    7'd10
193
`define ORI             7'd11
194
`define XORI    7'd12
195
 
196
`define MULUI   7'd13
197
`define MULSI   7'd14
198
`define DIVUI   7'd15
199
`define DIVSI   7'd16
200
 
201
`define TRAPcc  7'd17
202
`define         TEQ             5'd0
203
`define         TNE             5'd1
204
`define         TLT             5'd2
205
`define         TGE             5'd3
206
`define         TLE             5'd4
207
`define         TGT             5'd5
208
`define         TLTU    5'd6
209
`define         TGEU    5'd7
210
`define         TLEU    5'd8
211
`define         TGTU    5'd9
212
`define         TRAP    5'd10
213
`define         TRN             5'd11
214
`define TRAPcci 7'd18
215
`define         TEQI    5'd0
216
`define         TNEI    5'd1
217
`define         TLTI    5'd2
218
`define         TGEI    5'd3
219
`define         TLEI    5'd4
220
`define         TGTI    5'd5
221
`define         TLTUI   5'd6
222
`define         TGEUI   5'd7
223
`define         TLEUI   5'd8
224
`define         TGTUI   5'd9
225
`define         TRAI    5'd10
226
`define         TRNI    5'd11
227 48 robfinch
`define SIMD    7'd20
228
`define         SIMD_ADD        5'd0
229
`define         SIMD_SUB        5'd1
230
`define         SIMD_MUL        5'd2
231
`define         SIMD_DIV        5'd3
232
`define         SIMD_CMP        5'd4
233
`define         SIMD_AND        5'd8
234
`define         SIMD_OR         5'd9
235
`define         SIMD_XOR        5'd10
236 44 robfinch
`define BITFIELD        7'd21
237
`define         BFINS           3'd0
238
`define         BFSET           3'd1
239
`define         BFCLR           3'd2
240
`define         BFCHG           3'd3
241 48 robfinch
`define         BFEXTU          3'd4
242
`define         BFEXTS          3'd5
243
`define         SEXT            3'd6
244 41 robfinch
`define MUX             7'd22
245
`define MYST    7'd23
246 31 robfinch
`define CALL    7'd24
247
`define JMP             7'd25
248
`define JAL             7'd26
249
`define RET             7'd27
250
// SETLO=28 to 31
251
`define LB              7'd32
252
`define LC              7'd33
253
`define LH              7'd34
254
`define LW              7'd35
255
`define LP              7'd36
256
`define LBU             7'd37
257
`define LCU             7'd38
258
`define LHU             7'd39
259
`define LSH             7'd40
260
`define LSW             7'd41
261
`define LF              7'd42
262
`define LFD             7'd43
263
`define LFP             7'd44
264
`define LFDP    7'd45
265
`define LWR             7'd46
266
`define LDONE   7'd47
267
 
268
`define SB              7'd48
269
`define SC              7'd49
270
`define SH              7'd50
271
`define SW              7'd51
272
`define SP              7'd52
273
`define MEMNDX  7'd53
274
`define         LBX             6'd0
275
`define         LCX             6'd1
276
`define         LHX             6'd2
277
`define         LWX             6'd3
278
`define         LPX             6'd4
279
`define         LBUX    6'd5
280
`define         LCUX    6'd6
281
`define         LHUX    6'd7
282
`define         LSHX    6'd8
283
`define         LSWX    6'd9
284
`define         LFX             6'd10
285
`define         LFDX    6'd11
286
`define         LFPX    6'd12
287
`define         LFDPX   6'd13
288
`define         LWRX    6'd14
289
 
290
`define         SBX             6'd16
291
`define         SCX             6'd17
292
`define         SHX             6'd18
293
`define         SWX             6'd19
294
`define         SPX             6'd20
295
`define         SSHX    6'd24
296
`define         SSWX    6'd25
297
`define         SFX             6'd26
298
`define         SFDX    6'd27
299
`define         SFPX    6'd28
300
`define         SFDPX   6'd29
301
`define         SWCX    6'd30
302
 
303
`define         INBX    6'd32
304
`define         INCX    6'd33
305
`define         INHX    6'd34
306
`define         INWX    6'd35
307
`define         INBUX   6'd36
308
`define         INCUX   6'd37
309
`define         INHUX   6'd38
310
`define         OUTBX   6'd40
311
`define         OUTCX   6'd41
312
`define         OUTHX   6'd42
313
`define         OUTWX   6'd43
314
`define         CACHEX  6'd44
315
`define         LEAX    6'd45
316
`define         LMX             6'd46
317
`define         SMX             6'd47
318
 
319 44 robfinch
`define STBC    7'd54
320
 
321 31 robfinch
`define SSH             7'd56
322
`define SSW             7'd57
323
`define SF              7'd58
324
`define SFD             7'd59
325
`define SFP             7'd60
326
`define SFDP    7'd61
327
`define SWC             7'd62
328
 
329
`define INB             7'd64
330
`define INCH    7'd65
331
`define INH             7'd66
332
`define INW             7'd67
333
`define INBU    7'd68
334
`define INCU    7'd69
335
`define INHU    7'd70
336 45 robfinch
`define OUTBC   7'd71
337 31 robfinch
`define OUTB    7'd72
338
`define OUTC    7'd73
339
`define OUTH    7'd74
340
`define OUTW    7'd75
341
`define CACHE   7'd76
342 41 robfinch
`define         INVIL           5'd0
343
`define         INVIALL         5'd1
344
`define     ICACHEON    5'd14
345
`define         ICACHEOFF       5'd15
346
`define         DCACHEON        5'd30
347
`define         DCACHEOFF       5'd31
348 31 robfinch
`define LEA             7'd77
349
`define LM              7'd78
350
`define SM              7'd79
351
 
352
`define BLTI    7'd80
353
`define BGEI    7'd81
354
`define BLEI    7'd82
355
`define BGTI    7'd83
356
`define BLTUI   7'd84
357
`define BGEUI   7'd85
358
`define BLEUI   7'd86
359
`define BGTUI   7'd87
360
`define BEQI    7'd88
361
`define BNEI    7'd89
362
 
363
`define BTRI    7'd94
364
`define         BLTRI   5'd0
365
`define         BGERI   5'd1
366
`define         BLERI   5'd2
367
`define         BGTRI   5'd3
368
`define         BLTURI  5'd4
369
`define         BGEURI  5'd5
370
`define         BLEURI  5'd6
371
`define         BGTURI  5'd7
372
`define         BEQRI   5'd8
373
`define         BNERI   5'd9
374
`define         BRARI   5'd10
375
`define         BRNRI   5'd11
376
`define         BANDRI  5'd12
377
`define         BORRI   5'd13
378
`define BTRR    7'd95
379
`define         BLT             5'd0
380
`define         BGE             5'd1
381
`define         BLE             5'd2
382
`define         BGT             5'd3
383
`define         BLTU    5'd4
384
`define         BGEU    5'd5
385
`define         BLEU    5'd6
386
`define         BGTU    5'd7
387
`define         BEQ             5'd8
388
`define         BNE             5'd9
389
`define         BRA             5'd10
390
`define         BRN             5'd11
391
`define         BAND    5'd12
392
`define         BOR             5'd13
393
`define         BNR             5'd14
394
`define         LOOP    5'd15
395
`define         BLTR    5'd16
396
`define         BGER    5'd17
397
`define         BLER    5'd18
398
`define         BGTR    5'd19
399
`define         BLTUR   5'd20
400
`define         BGEUR   5'd21
401
`define         BLEUR   5'd22
402
`define         BGTUR   5'd23
403
`define         BEQR    5'd24
404
`define         BNER    5'd25
405
`define         BRAR    5'd26
406
`define         BRNR    5'd27
407
 
408
 
409
`define SLTI    7'd96
410
`define SLEI    7'd97
411
`define SGTI    7'd98
412
`define SGEI    7'd99
413
`define SLTUI   7'd100
414
`define SLEUI   7'd101
415
`define SGTUI   7'd102
416
`define SGEUI   7'd103
417
`define SEQI    7'd104
418
`define SNEI    7'd105
419
 
420
`define FP              7'd108
421
`define FDADD           6'd0
422
`define FDSUB           6'd1
423
`define FDMUL           6'd2
424
`define FDDIV           6'd3
425
`define FDCUN           6'd4
426
`define FDI2F           6'd5
427
`define FDF2I           6'd6
428
`define FDF2D           6'd7
429
`define FDD2F           6'd8
430
`define FDCLT           6'b001100
431
`define FDCEQ           6'b010100
432
`define FDCLE           6'b011100
433
`define FDCGT           6'b100100
434
`define FDCNE           6'b101100
435
`define FDCGE           6'b110100
436
`define FPLOO   7'd109
437
`define FPZL    7'd110
438
`define NOPI    7'd111
439
 
440 41 robfinch
`define SETLO   7'b11100xx
441
`define SETMID  7'b11101xx
442
`define SETHI   7'b11110xx
443 48 robfinch
`define IMM1    7'd124
444
`define IMM2    7'd125
445
`define IMM3    7'd126
446 31 robfinch
 
447 41 robfinch
`define NOP_INSN        32'b1101111_0_00000000_00000000_00000000
448 31 robfinch
 

powered by: WebSVN 2.1.0

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