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

Subversion Repositories raptor64

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

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 19 robfinch
                $display("Fetched pc=%h.%h insn: %h", {pc[63:4],4'h0},pc[3:2], insn);
2 15 robfinch
                casex(insn[41:35])
3
                `MISC:
4
                        begin
5
                        $display("MISC");
6
                        case(insn[6:0])
7
                        `BRK:   $display("BRK");
8
                        `WAIT:  $display("WAIT");
9
                        `IRET:  $display("IRET");
10
                        `CLI:   $display("CLI");
11
                        `SEI:   $display("SEI");
12
                        `TLBR:  $display("TLBR");
13
                        `TLBWI: $display("TLBWI");
14
                        `TLBWR: $display("TLBWR");
15 29 robfinch
                        `ICACHE_ON:     $display("ICACHE_ON");
16
                        `ICACHE_OFF:    $display("ICACHE_OFF");
17
                        `DCACHE_ON:     $display("DCACHE_ON");
18
                        `DCACHE_OFF:    $display("DCACHE_OFF");
19 15 robfinch
                        default:        ;
20
                        endcase
21
                        end
22
                `R:
23
                        case(insn[6:0])
24
//                      `SGN:   $display("SGN");
25
                        `NEG:   $display("NEG r%d,r%d",insn[29:25],insn[34:30]);
26
                        `COM:   $display("COM r%d,r%d",insn[29:25],insn[34:30]);
27
                        `ABS:   $display("ABS r%d,r%d",insn[29:25],insn[34:30]);
28
                        `SQRT:  $display("SQRT r%d,r%d",insn[29:25],insn[34:30]);
29
                        `OMGI:  $display("OMG r%d,#%d",insn[29:25],insn[12:7]);
30
                        default:        ;
31
                        endcase
32
                `RR:
33
                        case(insn[6:0])
34
                        `ADD:   $display("ADD r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
35 25 robfinch
                        `ADDU:  $display("ADDU r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
36 15 robfinch
                        `SUB:   $display("SUB r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
37 25 robfinch
                        `SUBU:  $display("SUBU r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
38 15 robfinch
                        `CMP:   $display("CMP r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
39
                        `AND:   $display("AND r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
40
                        `ANDC:  $display("ANDC r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
41
                        `OR:    $display("OR  r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
42
                        `ORC:   $display("ORC r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
43
                        `XOR:   $display("XOR r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
44
                        `NAND:  $display("NAND r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
45
                        `NOR:   $display("NOR  r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
46
                        `XNOR:  $display("XNOR r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
47
                        `MULU:  $display("MULU r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
48
                        default:        ;
49
                        endcase
50 25 robfinch
                `SHFTI:
51
                        case(insn[4:0])
52
                        `SHLI:  $display("SHLI r%d,r%d,#%d",insn[29:25],insn[34:30],insn[24:19]);
53
                        `SHRUI: $display("SHRUI r%d,r%d,#%d",insn[29:25],insn[34:30],insn[24:19]);
54
                        `SHRI:  $display("SHRI r%d,r%d,#%d",insn[29:25],insn[34:30],insn[24:19]);
55
                        `ROLI:  $display("ROLI r%d,r%d,#%d",insn[29:25],insn[34:30],insn[24:19]);
56
                        `RORI:  $display("RORI r%d,r%d,#%d",insn[29:25],insn[34:30],insn[24:19]);
57
                        `ROLAMI:        $display("ROLAMI r%d,r%d,#%d",insn[29:25],insn[34:30],insn[24:19]);
58
                        endcase
59 15 robfinch
                `BTRR:
60
                        case(insn[4:0])
61
                        `BEQ:   $display("BEQ r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:7]},insn[6:5]);
62
                        `BNE:   $display("BNE r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:7]},insn[6:5]);
63
                        `BLT:   $display("BLT r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:7]},insn[6:5]);
64
                        `BLE:   $display("BLE r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:7]},insn[6:5]);
65
                        `BGT:   $display("BGT r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:7]},insn[6:5]);
66
                        `BGE:   $display("BGE r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:7]},insn[6:5]);
67
                        `BLTU:  $display("BLTU r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:7]},insn[6:5]);
68
                        `BLEU:  $display("BLEU r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:7]},insn[6:5]);
69
                        `BGTU:  $display("BGTU r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:7]},insn[6:5]);
70
                        `BGEU:  $display("BGEU r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:7]},insn[6:5]);
71 21 robfinch
                        `BRA:   $display("BRA %h.%h)",{{44{insn[24]}},insn[24:7]},insn[6:5]);
72
                        `LOOP:  $display("LOOP r%d,%h.%h)",insn[29:25],{{44{insn[24]}},insn[24:7]},insn[6:5]);
73 15 robfinch
                        default:        ;
74
                        endcase
75 19 robfinch
                `SETLO: $display("SETLO r%d,#%h", insn[36:32],{{32{insn[31]}},insn[31:0]});
76 15 robfinch
                `ADDI:  $display("ADDI r%d,r%d,#%d",insn[29:25],insn[34:30],{{39{insn[24]}},insn[24:0]});
77 19 robfinch
                `ADDUI: $display("ADDUI r%d,r%d,#%d",insn[29:25],insn[34:30],{{39{insn[24]}},insn[24:0]});
78 15 robfinch
                `SUBI:  $display("SUBI r%d,r%d,#%d",insn[29:25],insn[34:30],{{39{insn[24]}},insn[24:0]});
79 19 robfinch
                `SUBUI: $display("SUBUI r%d,r%d,#%d",insn[29:25],insn[34:30],{{39{insn[24]}},insn[24:0]});
80 15 robfinch
                `ANDI:  $display("ANDI r%d,r%d,#%d",insn[29:25],insn[34:30],{39'h7FFFFFFFFF,insn[24:0]});
81
                `ORI:   $display("ORI  r%d,r%d,#%d",insn[29:25],insn[34:30],{39'd0,insn[24:0]});
82
                `XORI:  $display("XORI r%d,r%d,#%d",insn[29:25],insn[34:30],{39'd0,insn[24:0]});
83
                `JMP:   $display("JMP  %h.%d",{insn[34:2],4'b0000},insn[1:0]);
84
                `CALL:  $display("CALL %h.%d",{insn[34:2],4'b0000},insn[1:0]);
85
                `JAL:   $display("JAL");
86
                `RET:   $display("RET R%d,R%d,#%h",insn[34:30],insn[29:25],{{39{insn[24]}},insn[24:0]});
87
                `BEQI:  $display("BEQI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
88
                `BNEI:  $display("BNEI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
89
                `BLTI:  $display("BLTI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
90
                `BLEI:  $display("BLEI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
91
                `BGTI:  $display("BGTI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
92
                `BGEI:  $display("BGEI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
93
                `BLTUI: $display("BLTUI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
94
                `BLEUI: $display("BLEUI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
95
                `BGTUI: $display("BGTUI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
96
                `BGEUI: $display("BGEUI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
97
                `NOPI:  $display("NOP");
98
                `SB:    $display("SB r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
99
                `SC:    $display("SC r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
100
                `SH:    $display("SH r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
101
                `SW:    $display("SW r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
102 29 robfinch
                `LEA:   $display("LEA r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
103 15 robfinch
                `LB:    $display("LB r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
104
                `LBU:   $display("LBU r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
105
                `LC:    $display("LC r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
106
                `LCU:   $display("LCU r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
107
                `LH:    $display("LH r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
108
                `LHU:   $display("LHU r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
109
                `LW:    $display("LW r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
110
                7'b111xxxx:     $display("IMM %h", {insn[38:0],25'd0});
111
                default:        ;
112
                endcase

powered by: WebSVN 2.1.0

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