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

Subversion Repositories raptor64

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

Go to most recent revision | 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
`define     FIP         7'd20
43
`define         SYSJMP  7'd22
44
`define         SYSCALL 7'd23
45
`define         IRET    7'd32
46
`define         ERET    7'd33
47
`define         WAIT    7'd40
48
`define         TLBP    7'd49
49
`define     TLBR        7'd50
50
`define     TLBWI       7'd51
51
`define     TLBWR       7'd52
52
`define         CLI             7'd64
53
`define         SEI             7'd65
54
`define         GRAN    7'd80
55
`define         GRAFD   7'd82
56
`define R               7'd1
57
`define         COM             7'd4
58
`define         NOT             7'd5
59
`define         NEG             7'd6
60
`define         ABS             7'd7
61
`define         SGN             7'd8
62
`define         MOV             7'd9
63
`define         SWAP    7'd13
64
`define         CTLZ    7'd16
65
`define         CTLO    7'd17
66
`define         CTPOP   7'd18
67
`define         SEXT8   7'd19
68
`define         SEXT16  7'd20
69
`define         SEXT32  7'd21
70
`define         SQRT    7'd24
71
`define         REDOR   7'd30
72
`define         REDAND  7'd31
73
`define     MFSPR       7'd40
74
`define     MTSPR       7'd41
75
`define         SR                              6'd00
76
`define         TLBIndex        6'd01
77
`define         TLBRandom               6'd02
78
`define         PageTableAddr   6'd04
79
`define         BadVAddr        6'd08
80
`define         TLBPhysPage0    6'd10
81
`define         TLBPhysPage1    6'd11
82
`define         TLBVirtPage             6'd12
83
`define                 TLBPageMask             6'd13
84
`define                 TLBASID                 6'd14
85
`define         ASID                    6'd15
86
`define                 TLBWired                6'd16
87
`define         EP0             6'd17
88
`define         EP1             6'd18
89
`define         EP2             6'd19
90
`define         EP3             6'd20
91
`define         AXC             6'd21
92
`define                 Tick                    6'd22
93
`define                 EPC                             6'd23
94
`define                 CauseCode               6'd24
95
`define                 TBA                             6'd25
96
`define                 NON_ICACHE_SEG  6'd26
97
`define                 FPCR                    6'd32
98
`define                 IPC                             6'd33
99
`define                 RAND                    6'd34
100
`define                 SRAND1                  6'd35
101
`define                 SRAND2                  6'd36
102
`define                 INSNKEY                 6'd37
103
`define         OMG             7'd50
104
`define         CMG             7'd51
105
`define         OMGI    7'd52
106
`define         CMGI    7'd53
107
`define         EXEC    7'd58
108
`define         MYST    7'd59
109
`define RR      7'd2
110
`define         ADD             7'd2
111
`define         ADDU    7'd3
112
`define         SUB             7'd4
113
`define         SUBU    7'd5
114
`define         CMP             7'd6
115
`define         CMPU    7'd7
116
`define         AND             7'd8
117
`define         OR              7'd9
118
`define         XOR             7'd10
119
`define         ANDC    7'd11
120
`define         NAND    7'd12
121
`define         NOR             7'd13
122
`define         XNOR    7'd14
123
`define         ORC             7'd15
124
`define         MIN             7'd20
125
`define         MAX             7'd21
126
`define         MULU    7'd24
127
`define         MULS    7'd25
128
`define         DIVU    7'd26
129
`define         DIVS    7'd27
130
`define         MOD             7'd28
131
`define         MOVZ    7'd30
132
`define         MOVNZ   7'd31
133
 
134
`define         SHL             7'd40
135
`define         SHRU    7'd41
136
`define         ROL             7'd42
137
`define         ROR             7'd43
138
`define         SHR             7'd44
139
`define         ROLAM   7'd45
140
 
141
`define         NOP             7'd60
142
 
143
`define         SLT             7'd96
144
`define         SLE             7'd97
145
`define         SGT             7'd98
146
`define         SGE             7'd99
147
`define         SLTU    7'd100
148
`define         SLEU    7'd101
149
`define         SGTU    7'd102
150
`define         SGEU    7'd103
151
`define         SEQ             7'd104
152
`define         SNE             7'd105
153
 
154
`define     BCD_ADD     7'd110
155
`define     BCD_SUB 7'd111
156
 
157
`define SHFTI   7'd3
158
`define         SHLI            5'd0
159
`define         SHRUI           5'd1
160
`define         ROLI            5'd2
161
`define         SHRI            5'd3
162
`define         RORI            5'd4
163
`define         ROLAMI          5'd5
164
`define         BFINS           5'd8
165
`define         BFSET           5'd9
166
`define         BFCLR           5'd10
167
`define         BFCHG           5'd11
168
`define         BFEXT           5'd12
169
`define ADDI    7'd4
170
`define ADDUI   7'd5
171
`define SUBI    7'd6
172
`define SUBUI   7'd7
173
`define CMPI    7'd8
174
`define CMPUI   7'd9
175
`define ANDI    7'd10
176
`define ORI             7'd11
177
`define XORI    7'd12
178
 
179
`define MULUI   7'd13
180
`define MULSI   7'd14
181
`define DIVUI   7'd15
182
`define DIVSI   7'd16
183
 
184
`define TRAPcc  7'd17
185
`define         TEQ             5'd0
186
`define         TNE             5'd1
187
`define         TLT             5'd2
188
`define         TGE             5'd3
189
`define         TLE             5'd4
190
`define         TGT             5'd5
191
`define         TLTU    5'd6
192
`define         TGEU    5'd7
193
`define         TLEU    5'd8
194
`define         TGTU    5'd9
195
`define         TRAP    5'd10
196
`define         TRN             5'd11
197
`define TRAPcci 7'd18
198
`define         TEQI    5'd0
199
`define         TNEI    5'd1
200
`define         TLTI    5'd2
201
`define         TGEI    5'd3
202
`define         TLEI    5'd4
203
`define         TGTI    5'd5
204
`define         TLTUI   5'd6
205
`define         TGEUI   5'd7
206
`define         TLEUI   5'd8
207
`define         TGTUI   5'd9
208
`define         TRAI    5'd10
209
`define         TRNI    5'd11
210
// SETLO=20 to 23
211
`define SETLO   7'b00101xx
212
`define CALL    7'd24
213
`define JMP             7'd25
214
`define JAL             7'd26
215
`define RET             7'd27
216
// SETLO=28 to 31
217
`define SETHI   7'b00111xx
218
`define LB              7'd32
219
`define LC              7'd33
220
`define LH              7'd34
221
`define LW              7'd35
222
`define LP              7'd36
223
`define LBU             7'd37
224
`define LCU             7'd38
225
`define LHU             7'd39
226
`define LSH             7'd40
227
`define LSW             7'd41
228
`define LF              7'd42
229
`define LFD             7'd43
230
`define LFP             7'd44
231
`define LFDP    7'd45
232
`define LWR             7'd46
233
`define LDONE   7'd47
234
 
235
`define SB              7'd48
236
`define SC              7'd49
237
`define SH              7'd50
238
`define SW              7'd51
239
`define SP              7'd52
240
`define MEMNDX  7'd53
241
`define         LBX             6'd0
242
`define         LCX             6'd1
243
`define         LHX             6'd2
244
`define         LWX             6'd3
245
`define         LPX             6'd4
246
`define         LBUX    6'd5
247
`define         LCUX    6'd6
248
`define         LHUX    6'd7
249
`define         LSHX    6'd8
250
`define         LSWX    6'd9
251
`define         LFX             6'd10
252
`define         LFDX    6'd11
253
`define         LFPX    6'd12
254
`define         LFDPX   6'd13
255
`define         LWRX    6'd14
256
 
257
`define         SBX             6'd16
258
`define         SCX             6'd17
259
`define         SHX             6'd18
260
`define         SWX             6'd19
261
`define         SPX             6'd20
262
`define         SSHX    6'd24
263
`define         SSWX    6'd25
264
`define         SFX             6'd26
265
`define         SFDX    6'd27
266
`define         SFPX    6'd28
267
`define         SFDPX   6'd29
268
`define         SWCX    6'd30
269
 
270
`define         INBX    6'd32
271
`define         INCX    6'd33
272
`define         INHX    6'd34
273
`define         INWX    6'd35
274
`define         INBUX   6'd36
275
`define         INCUX   6'd37
276
`define         INHUX   6'd38
277
`define         OUTBX   6'd40
278
`define         OUTCX   6'd41
279
`define         OUTHX   6'd42
280
`define         OUTWX   6'd43
281
`define         CACHEX  6'd44
282
`define         LEAX    6'd45
283
`define         LMX             6'd46
284
`define         SMX             6'd47
285
 
286
`define SSH             7'd56
287
`define SSW             7'd57
288
`define SF              7'd58
289
`define SFD             7'd59
290
`define SFP             7'd60
291
`define SFDP    7'd61
292
`define SWC             7'd62
293
 
294
`define INB             7'd64
295
`define INCH    7'd65
296
`define INH             7'd66
297
`define INW             7'd67
298
`define INBU    7'd68
299
`define INCU    7'd69
300
`define INHU    7'd70
301
`define OUTB    7'd72
302
`define OUTC    7'd73
303
`define OUTH    7'd74
304
`define OUTW    7'd75
305
`define CACHE   7'd76
306
`define         INVIL   5'd0
307
`define         INVIALL 5'd1
308
`define LEA             7'd77
309
`define LM              7'd78
310
`define SM              7'd79
311
 
312
`define BLTI    7'd80
313
`define BGEI    7'd81
314
`define BLEI    7'd82
315
`define BGTI    7'd83
316
`define BLTUI   7'd84
317
`define BGEUI   7'd85
318
`define BLEUI   7'd86
319
`define BGTUI   7'd87
320
`define BEQI    7'd88
321
`define BNEI    7'd89
322
 
323
`define BTRI    7'd94
324
`define         BLTRI   5'd0
325
`define         BGERI   5'd1
326
`define         BLERI   5'd2
327
`define         BGTRI   5'd3
328
`define         BLTURI  5'd4
329
`define         BGEURI  5'd5
330
`define         BLEURI  5'd6
331
`define         BGTURI  5'd7
332
`define         BEQRI   5'd8
333
`define         BNERI   5'd9
334
`define         BRARI   5'd10
335
`define         BRNRI   5'd11
336
`define         BANDRI  5'd12
337
`define         BORRI   5'd13
338
`define BTRR    7'd95
339
`define         BLT             5'd0
340
`define         BGE             5'd1
341
`define         BLE             5'd2
342
`define         BGT             5'd3
343
`define         BLTU    5'd4
344
`define         BGEU    5'd5
345
`define         BLEU    5'd6
346
`define         BGTU    5'd7
347
`define         BEQ             5'd8
348
`define         BNE             5'd9
349
`define         BRA             5'd10
350
`define         BRN             5'd11
351
`define         BAND    5'd12
352
`define         BOR             5'd13
353
`define         BNR             5'd14
354
`define         LOOP    5'd15
355
`define         BLTR    5'd16
356
`define         BGER    5'd17
357
`define         BLER    5'd18
358
`define         BGTR    5'd19
359
`define         BLTUR   5'd20
360
`define         BGEUR   5'd21
361
`define         BLEUR   5'd22
362
`define         BGTUR   5'd23
363
`define         BEQR    5'd24
364
`define         BNER    5'd25
365
`define         BRAR    5'd26
366
`define         BRNR    5'd27
367
 
368
 
369
`define SLTI    7'd96
370
`define SLEI    7'd97
371
`define SGTI    7'd98
372
`define SGEI    7'd99
373
`define SLTUI   7'd100
374
`define SLEUI   7'd101
375
`define SGTUI   7'd102
376
`define SGEUI   7'd103
377
`define SEQI    7'd104
378
`define SNEI    7'd105
379
 
380
`define FP              7'd108
381
`define FDADD           6'd0
382
`define FDSUB           6'd1
383
`define FDMUL           6'd2
384
`define FDDIV           6'd3
385
`define FDCUN           6'd4
386
`define FDI2F           6'd5
387
`define FDF2I           6'd6
388
`define FDF2D           6'd7
389
`define FDD2F           6'd8
390
`define FDCLT           6'b001100
391
`define FDCEQ           6'b010100
392
`define FDCLE           6'b011100
393
`define FDCGT           6'b100100
394
`define FDCNE           6'b101100
395
`define FDCGE           6'b110100
396
`define FPLOO   7'd109
397
`define FPZL    7'd110
398
`define NOPI    7'd111
399
 
400
`define IMM             3'd7
401
 
402
`define NOP_INSN        42'b1101111_000_00000000_00000000_00000000_00000000
403
 

powered by: WebSVN 2.1.0

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