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

Subversion Repositories raptor64

[/] [raptor64/] [trunk/] [rtl/] [verilog/] [insn_dump.v] - Blame information for rev 26

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

Line No. Rev Author Line
1 7 robfinch
                $display("Fetched AXC=%h pc=%h insn: %h", AXC, pc_axc, insn);
2
                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
                        default:        ;
16
                        endcase
17
                        end
18
                `R:
19
                        case(insn[6:0])
20
//                      `SGN:   $display("SGN");
21 9 robfinch
                        `NEG:   $display("NEG r%d,r%d",insn[29:25],insn[34:30]);
22
                        `COM:   $display("COM r%d,r%d",insn[29:25],insn[34:30]);
23
                        `ABS:   $display("ABS r%d,r%d",insn[29:25],insn[34:30]);
24
                        `SQRT:  $display("SQRT r%d,r%d",insn[29:25],insn[34:30]);
25 20 robfinch
                        `MTSPR: ;
26
//                              case(insn[12:7])
27
//                              endcase
28 7 robfinch
                        default:        ;
29
                        endcase
30
                `RR:
31
                        case(insn[6:0])
32 9 robfinch
                        `ADD:   $display("ADD r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
33
                        `SUB:   $display("SUB r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
34
                        `CMP:   $display("CMP r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
35
                        `AND:   $display("AND r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
36
                        `ANDC:  $display("ANDC r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
37
                        `OR:    $display("OR  r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
38
                        `ORC:   $display("ORC r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
39
                        `XOR:   $display("XOR r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
40
                        `NAND:  $display("NAND r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
41
                        `NOR:   $display("NOR  r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
42
                        `XNOR:  $display("XNOR r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
43
                        `MULU:  $display("MULU r%d,r%d,r%d",insn[24:20],insn[34:30],insn[29:25]);
44
                        `BEQ:   $display("BEQ r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:9]},insn[8:7]);
45
                        `BNE:   $display("BNE r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:9]},insn[8:7]);
46
                        `BLT:   $display("BLT r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:9]},insn[8:7]);
47
                        `BLE:   $display("BLE r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:9]},insn[8:7]);
48
                        `BGT:   $display("BGT r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:9]},insn[8:7]);
49
                        `BGE:   $display("BGE r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:9]},insn[8:7]);
50
                        `BLTU:  $display("BLTU r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:9]},insn[8:7]);
51
                        `BLEU:  $display("BLEU r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:9]},insn[8:7]);
52
                        `BGTU:  $display("BGTU r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:9]},insn[8:7]);
53
                        `BGEU:  $display("BGEU r%d,r%d,%h.%h)",insn[34:30],insn[29:25],{{44{insn[24]}},insn[24:9]},insn[8:7]);
54 7 robfinch
                        default:        ;
55
                        endcase
56 20 robfinch
                `SETLO: $display("SETLO r%d,#%h",insn[36:32],{{32{insn[31]}},insn[31:0]});
57 9 robfinch
                `ADDI:  $display("ADDI r%d,r%d,#%d",insn[29:25],insn[34:30],{{39{insn[24]}},insn[24:0]});
58
                `SUBI:  $display("SUBI r%d,r%d,#%d",insn[29:25],insn[34:30],{{39{insn[24]}},insn[24:0]});
59
                `ANDI:  $display("ANDI r%d,r%d,#%d",insn[29:25],insn[34:30],{39'h7FFFFFFFFF,insn[24:0]});
60
                `ORI:   $display("ORI  r%d,r%d,#%d",insn[29:25],insn[34:30],{39'd0,insn[24:0]});
61
                `XORI:  $display("XORI r%d,r%d,#%d",insn[29:25],insn[34:30],{39'd0,insn[24:0]});
62 7 robfinch
                `JMP:   $display("JMP  %h.%d",{insn[34:2],4'b0000},insn[1:0]);
63 9 robfinch
                `CALL:  $display("CALL %h.%d",{insn[34:2],4'b0000},insn[1:0]);
64 7 robfinch
                `JAL:   $display("JAL");
65
                `RET:   $display("RET R%d,R%d,#%h",insn[34:30],insn[29:25],{{39{insn[24]}},insn[24:0]});
66 9 robfinch
                `BEQI:  $display("BEQI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
67
                `BNEI:  $display("BNEI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
68 20 robfinch
                `BLTI:  $display("BLTI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
69
                `BLEI:  $display("BLEI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
70
                `BGTI:  $display("BGTI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
71
                `BGEI:  $display("BGEI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
72
                `BLTUI: $display("BLTUI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
73
                `BLEUI: $display("BLEUI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
74
                `BGTUI: $display("BGTUI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
75
                `BGEUI: $display("BGEUI r%d,#%d,%h.%h)",insn[34:30],insn[17:0],{{50{insn[29]}},insn[29:20]},insn[19:18]);
76 7 robfinch
                `NOPI:  $display("NOP");
77 9 robfinch
                `SB:    $display("SB r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
78 7 robfinch
                `SC:    $display("SC r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
79 9 robfinch
                `SH:    $display("SH r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
80
                `SW:    $display("SW r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
81
                `LB:    $display("LB r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
82
                `LBU:   $display("LBU r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
83
                `LC:    $display("LC r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
84
                `LCU:   $display("LCU r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
85
                `LH:    $display("LH r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
86
                `LHU:   $display("LHU r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
87
                `LW:    $display("LW r%d,%d[r%d]",insn[29:25],{{39{insn[24]}},insn[24:0]},insn[34:30]);
88 20 robfinch
                7'b111xxxx:     $display("IMM %h", {insn[38:0],25'd0});
89 7 robfinch
                default:        ;
90
                endcase

powered by: WebSVN 2.1.0

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