625 lines
14 KiB
YAML
625 lines
14 KiB
YAML
|
|
||
|
RV32I:
|
||
|
LUI:
|
||
|
index: 0
|
||
|
encoding: 0b00000000000000000000000000110111
|
||
|
mask: 0b00000000000000000000000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
AUIPC:
|
||
|
index: 1
|
||
|
encoding: 0b00000000000000000000000000010111
|
||
|
mask: 0b00000000000000000000000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
JAL:
|
||
|
index: 2
|
||
|
encoding: 0b00000000000000000000000001101111
|
||
|
mask: 0b00000000000000000000000001111111
|
||
|
size: 32
|
||
|
branch: true
|
||
|
delay: 1
|
||
|
JALR:
|
||
|
index: 3
|
||
|
encoding: 0b00000000000000000000000001100111
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: true
|
||
|
delay: [1,2]
|
||
|
BEQ:
|
||
|
index: 4
|
||
|
encoding: 0b00000000000000000000000001100011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: true
|
||
|
delay: [1,2]
|
||
|
BNE:
|
||
|
index: 5
|
||
|
encoding: 0b00000000000000000001000001100011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: true
|
||
|
delay: [1,2]
|
||
|
BLT:
|
||
|
index: 6
|
||
|
encoding: 0b00000000000000000100000001100011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: true
|
||
|
delay: [1,2]
|
||
|
BGE:
|
||
|
index: 7
|
||
|
encoding: 0b00000000000000000101000001100011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: true
|
||
|
delay: [1,2]
|
||
|
BLTU:
|
||
|
index: 8
|
||
|
encoding: 0b00000000000000000110000001100011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: true
|
||
|
delay: [1,2]
|
||
|
BGEU:
|
||
|
index: 9
|
||
|
encoding: 0b00000000000000000111000001100011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: true
|
||
|
delay: [1,2]
|
||
|
LB:
|
||
|
index: 10
|
||
|
encoding: 0b00000000000000000000000000000011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 2
|
||
|
LH:
|
||
|
index: 11
|
||
|
encoding: 0b00000000000000000001000000000011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 2
|
||
|
LW:
|
||
|
index: 12
|
||
|
encoding: 0b00000000000000000010000000000011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 2
|
||
|
LBU:
|
||
|
index: 13
|
||
|
encoding: 0b00000000000000000100000000000011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 2
|
||
|
LHU:
|
||
|
index: 14
|
||
|
encoding: 0b00000000000000000101000000000011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 2
|
||
|
SB:
|
||
|
index: 15
|
||
|
encoding: 0b00000000000000000000000000100011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
SH:
|
||
|
index: 16
|
||
|
encoding: 0b00000000000000000001000000100011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
SW:
|
||
|
index: 17
|
||
|
encoding: 0b00000000000000000010000000100011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
ADDI:
|
||
|
index: 18
|
||
|
encoding: 0b00000000000000000000000000010011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
SLTI:
|
||
|
index: 19
|
||
|
encoding: 0b00000000000000000010000000010011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
SLTIU:
|
||
|
index: 20
|
||
|
encoding: 0b00000000000000000011000000010011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
XORI:
|
||
|
index: 21
|
||
|
encoding: 0b00000000000000000100000000010011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
ORI:
|
||
|
index: 22
|
||
|
encoding: 0b00000000000000000110000000010011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
ANDI:
|
||
|
index: 23
|
||
|
encoding: 0b00000000000000000111000000010011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
SLLI:
|
||
|
index: 24
|
||
|
encoding: 0b00000000000000000001000000010011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: "u_24:20"
|
||
|
SRLI:
|
||
|
index: 25
|
||
|
encoding: 0b00000000000000000101000000010011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: "u_24:20"
|
||
|
SRAI:
|
||
|
index: 26
|
||
|
encoding: 0b01000000000000000101000000010011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: "u_24:20"
|
||
|
ADD:
|
||
|
index: 27
|
||
|
encoding: 0b00000000000000000000000000110011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
SUB:
|
||
|
index: 28
|
||
|
encoding: 0b01000000000000000000000000110011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
SLL:
|
||
|
index: 29
|
||
|
encoding: 0b00000000000000000001000000110011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: "X_24:20"
|
||
|
SLT:
|
||
|
index: 30
|
||
|
encoding: 0b00000000000000000010000000110011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
SLTU:
|
||
|
index: 31
|
||
|
encoding: 0b00000000000000000011000000110011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
XOR:
|
||
|
index: 32
|
||
|
encoding: 0b00000000000000000100000000110011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
SRL:
|
||
|
index: 33
|
||
|
encoding: 0b00000000000000000101000000110011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: "X_24:20"
|
||
|
SRA:
|
||
|
index: 34
|
||
|
encoding: 0b01000000000000000101000000110011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: "X_24:20"
|
||
|
OR:
|
||
|
index: 35
|
||
|
encoding: 0b00000000000000000110000000110011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
AND:
|
||
|
index: 36
|
||
|
encoding: 0b00000000000000000111000000110011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
FENCE:
|
||
|
index: 37
|
||
|
encoding: 0b00000000000000000000000000001111
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
ECALL:
|
||
|
index: 38
|
||
|
encoding: 0b00000000000000000000000001110011
|
||
|
mask: 0b11111111111111111111111111111111
|
||
|
attributes: [[name:no_cont]]
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
EBREAK:
|
||
|
index: 39
|
||
|
encoding: 0b00000000000100000000000001110011
|
||
|
mask: 0b11111111111111111111111111111111
|
||
|
attributes: [[name:no_cont]]
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
MRET:
|
||
|
index: 40
|
||
|
encoding: 0b00110000001000000000000001110011
|
||
|
mask: 0b11111111111111111111111111111111
|
||
|
attributes: [[name:no_cont]]
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
WFI:
|
||
|
index: 41
|
||
|
encoding: 0b00010000010100000000000001110011
|
||
|
mask: 0b11111111111111111111111111111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
Zicsr:
|
||
|
CSRRW:
|
||
|
index: 42
|
||
|
encoding: 0b00000000000000000001000001110011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
CSRRS:
|
||
|
index: 43
|
||
|
encoding: 0b00000000000000000010000001110011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
CSRRC:
|
||
|
index: 44
|
||
|
encoding: 0b00000000000000000011000001110011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
CSRRWI:
|
||
|
index: 45
|
||
|
encoding: 0b00000000000000000101000001110011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
CSRRSI:
|
||
|
index: 46
|
||
|
encoding: 0b00000000000000000110000001110011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
CSRRCI:
|
||
|
index: 47
|
||
|
encoding: 0b00000000000000000111000001110011
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
Zifencei:
|
||
|
FENCE_I:
|
||
|
index: 48
|
||
|
encoding: 0b00000000000000000001000000001111
|
||
|
mask: 0b00000000000000000111000001111111
|
||
|
attributes: [[name:flush]]
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
RV32M:
|
||
|
MUL:
|
||
|
index: 49
|
||
|
encoding: 0b00000010000000000000000000110011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 32
|
||
|
MULH:
|
||
|
index: 50
|
||
|
encoding: 0b00000010000000000001000000110011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 32
|
||
|
MULHSU:
|
||
|
index: 51
|
||
|
encoding: 0b00000010000000000010000000110011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 32
|
||
|
MULHU:
|
||
|
index: 52
|
||
|
encoding: 0b00000010000000000011000000110011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 32
|
||
|
DIV:
|
||
|
index: 53
|
||
|
encoding: 0b00000010000000000100000000110011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 33
|
||
|
DIVU:
|
||
|
index: 54
|
||
|
encoding: 0b00000010000000000101000000110011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 33
|
||
|
REM:
|
||
|
index: 55
|
||
|
encoding: 0b00000010000000000110000000110011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 33
|
||
|
REMU:
|
||
|
index: 56
|
||
|
encoding: 0b00000010000000000111000000110011
|
||
|
mask: 0b11111110000000000111000001111111
|
||
|
size: 32
|
||
|
branch: false
|
||
|
delay: 33
|
||
|
Zca:
|
||
|
C__ADDI4SPN:
|
||
|
index: 57
|
||
|
encoding: 0b0000000000000000
|
||
|
mask: 0b1110000000000011
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
C__LW:
|
||
|
index: 58
|
||
|
encoding: 0b0100000000000000
|
||
|
mask: 0b1110000000000011
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 2
|
||
|
C__SW:
|
||
|
index: 59
|
||
|
encoding: 0b1100000000000000
|
||
|
mask: 0b1110000000000011
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
C__ADDI:
|
||
|
index: 60
|
||
|
encoding: 0b0000000000000001
|
||
|
mask: 0b1110000000000011
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
C__NOP:
|
||
|
index: 61
|
||
|
encoding: 0b0000000000000001
|
||
|
mask: 0b1110111110000011
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
C__JAL:
|
||
|
index: 62
|
||
|
encoding: 0b0010000000000001
|
||
|
mask: 0b1110000000000011
|
||
|
attributes: [[name:enable, value:1]]
|
||
|
size: 16
|
||
|
branch: true
|
||
|
delay: 1
|
||
|
C__LI:
|
||
|
index: 63
|
||
|
encoding: 0b0100000000000001
|
||
|
mask: 0b1110000000000011
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
C__LUI:
|
||
|
index: 64
|
||
|
encoding: 0b0110000000000001
|
||
|
mask: 0b1110000000000011
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
C__ADDI16SP:
|
||
|
index: 65
|
||
|
encoding: 0b0110000100000001
|
||
|
mask: 0b1110111110000011
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
__reserved_clui:
|
||
|
index: 66
|
||
|
encoding: 0b0110000000000001
|
||
|
mask: 0b1111000001111111
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
C__SRLI:
|
||
|
index: 67
|
||
|
encoding: 0b1000000000000001
|
||
|
mask: 0b1111110000000011
|
||
|
attributes: [[name:enable, value:1]]
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: "u_12:12*16+u_6:2"
|
||
|
C__SRAI:
|
||
|
index: 68
|
||
|
encoding: 0b1000010000000001
|
||
|
mask: 0b1111110000000011
|
||
|
attributes: [[name:enable, value:1]]
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: "u_12:12*16+u_6:2"
|
||
|
C__ANDI:
|
||
|
index: 69
|
||
|
encoding: 0b1000100000000001
|
||
|
mask: 0b1110110000000011
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
C__SUB:
|
||
|
index: 70
|
||
|
encoding: 0b1000110000000001
|
||
|
mask: 0b1111110001100011
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
C__XOR:
|
||
|
index: 71
|
||
|
encoding: 0b1000110000100001
|
||
|
mask: 0b1111110001100011
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
C__OR:
|
||
|
index: 72
|
||
|
encoding: 0b1000110001000001
|
||
|
mask: 0b1111110001100011
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
C__AND:
|
||
|
index: 73
|
||
|
encoding: 0b1000110001100001
|
||
|
mask: 0b1111110001100011
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
C__J:
|
||
|
index: 74
|
||
|
encoding: 0b1010000000000001
|
||
|
mask: 0b1110000000000011
|
||
|
size: 16
|
||
|
branch: true
|
||
|
delay: 1
|
||
|
C__BEQZ:
|
||
|
index: 75
|
||
|
encoding: 0b1100000000000001
|
||
|
mask: 0b1110000000000011
|
||
|
size: 16
|
||
|
branch: true
|
||
|
delay: [1,2]
|
||
|
C__BNEZ:
|
||
|
index: 76
|
||
|
encoding: 0b1110000000000001
|
||
|
mask: 0b1110000000000011
|
||
|
size: 16
|
||
|
branch: true
|
||
|
delay: [1,2]
|
||
|
C__SLLI:
|
||
|
index: 77
|
||
|
encoding: 0b0000000000000010
|
||
|
mask: 0b1111000000000011
|
||
|
attributes: [[name:enable, value:1]]
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: "u_12:12*16+u_6:2"
|
||
|
C__LWSP:
|
||
|
index: 78
|
||
|
encoding: 0b0100000000000010
|
||
|
mask: 0b1110000000000011
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 2
|
||
|
C__MV:
|
||
|
index: 79
|
||
|
encoding: 0b1000000000000010
|
||
|
mask: 0b1111000000000011
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
C__JR:
|
||
|
index: 80
|
||
|
encoding: 0b1000000000000010
|
||
|
mask: 0b1111000001111111
|
||
|
size: 16
|
||
|
branch: true
|
||
|
delay: 1
|
||
|
__reserved_cmv:
|
||
|
index: 81
|
||
|
encoding: 0b1000000000000010
|
||
|
mask: 0b1111111111111111
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
C__ADD:
|
||
|
index: 82
|
||
|
encoding: 0b1001000000000010
|
||
|
mask: 0b1111000000000011
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
C__JALR:
|
||
|
index: 83
|
||
|
encoding: 0b1001000000000010
|
||
|
mask: 0b1111000001111111
|
||
|
size: 16
|
||
|
branch: true
|
||
|
delay: 1
|
||
|
C__EBREAK:
|
||
|
index: 84
|
||
|
encoding: 0b1001000000000010
|
||
|
mask: 0b1111111111111111
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
C__SWSP:
|
||
|
index: 85
|
||
|
encoding: 0b1100000000000010
|
||
|
mask: 0b1110000000000011
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
DII:
|
||
|
index: 86
|
||
|
encoding: 0b0000000000000000
|
||
|
mask: 0b1111111111111111
|
||
|
size: 16
|
||
|
branch: false
|
||
|
delay: 1
|
||
|
|