724 lines
16 KiB
JSON
724 lines
16 KiB
JSON
{
|
|
"TGC_C" : [
|
|
{
|
|
"name" : "LUI",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000000000000110111",
|
|
"mask": "0b00000000000000000000000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "AUIPC",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000000000000010111",
|
|
"mask": "0b00000000000000000000000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "JAL",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000000000001101111",
|
|
"mask": "0b00000000000000000000000001111111",
|
|
"branch": true,
|
|
"delay" : 2
|
|
},
|
|
{
|
|
"name" : "JALR",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000000000001100111",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": true,
|
|
"delay" : 2
|
|
},
|
|
{
|
|
"name" : "BEQ",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000000000001100011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": true,
|
|
"delay" : [2,1]
|
|
},
|
|
{
|
|
"name" : "BNE",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000001000001100011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": true,
|
|
"delay" : [2,1]
|
|
},
|
|
{
|
|
"name" : "BLT",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000100000001100011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": true,
|
|
"delay" : [2,1]
|
|
},
|
|
{
|
|
"name" : "BGE",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000101000001100011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": true,
|
|
"delay" : [2,1]
|
|
},
|
|
{
|
|
"name" : "BLTU",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000110000001100011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": true,
|
|
"delay" : [2,1]
|
|
},
|
|
{
|
|
"name" : "BGEU",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000111000001100011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": true,
|
|
"delay" : [2,1]
|
|
},
|
|
{
|
|
"name" : "LB",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000000000000000011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "LH",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000001000000000011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "LW",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000010000000000011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "LBU",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000100000000000011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "LHU",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000101000000000011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "SB",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000000000000100011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "SH",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000001000000100011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "SW",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000010000000100011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "ADDI",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000000000000010011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "SLTI",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000010000000010011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "SLTIU",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000011000000010011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "XORI",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000100000000010011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "ORI",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000110000000010011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "ANDI",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000111000000010011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "SLLI",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000001000000010011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "SRLI",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000101000000010011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "SRAI",
|
|
"size" : 32,
|
|
"encoding": "0b01000000000000000101000000010011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "ADD",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000000000000110011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "SUB",
|
|
"size" : 32,
|
|
"encoding": "0b01000000000000000000000000110011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "SLL",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000001000000110011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "SLT",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000010000000110011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "SLTU",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000011000000110011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "XOR",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000100000000110011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "SRL",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000101000000110011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "SRA",
|
|
"size" : 32,
|
|
"encoding": "0b01000000000000000101000000110011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "OR",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000110000000110011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "AND",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000111000000110011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "FENCE",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000000000000001111",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "ECALL",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000000000001110011",
|
|
"mask": "0b11111111111111111111111111111111",
|
|
"branch": true,
|
|
"delay" : 2
|
|
},
|
|
{
|
|
"name" : "EBREAK",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000100000000000001110011",
|
|
"mask": "0b11111111111111111111111111111111",
|
|
"branch": true,
|
|
"delay" : 2
|
|
},
|
|
{
|
|
"name" : "URET",
|
|
"size" : 32,
|
|
"encoding": "0b00000000001000000000000001110011",
|
|
"mask": "0b11111111111111111111111111111111",
|
|
"branch": true,
|
|
"delay" : 2
|
|
},
|
|
{
|
|
"name" : "SRET",
|
|
"size" : 32,
|
|
"encoding": "0b00010000001000000000000001110011",
|
|
"mask": "0b11111111111111111111111111111111",
|
|
"branch": true,
|
|
"delay" : 2
|
|
},
|
|
{
|
|
"name" : "MRET",
|
|
"size" : 32,
|
|
"encoding": "0b00110000001000000000000001110011",
|
|
"mask": "0b11111111111111111111111111111111",
|
|
"branch": true,
|
|
"delay" : 2
|
|
},
|
|
{
|
|
"name" : "WFI",
|
|
"size" : 32,
|
|
"encoding": "0b00010000010100000000000001110011",
|
|
"mask": "0b11111111111111111111111111111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "DRET",
|
|
"size" : 32,
|
|
"encoding": "0b01111011001000000000000001110011",
|
|
"mask": "0b11111111111111111111111111111111",
|
|
"branch": true,
|
|
"delay" : 2
|
|
},
|
|
{
|
|
"name" : "CSRRW",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000001000001110011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CSRRS",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000010000001110011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CSRRC",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000011000001110011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CSRRWI",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000101000001110011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CSRRSI",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000110000001110011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CSRRCI",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000111000001110011",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "FENCE_I",
|
|
"size" : 32,
|
|
"encoding": "0b00000000000000000001000000001111",
|
|
"mask": "0b00000000000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 2
|
|
},
|
|
{
|
|
"name" : "MUL",
|
|
"size" : 32,
|
|
"encoding": "0b00000010000000000000000000110011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "MULH",
|
|
"size" : 32,
|
|
"encoding": "0b00000010000000000001000000110011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "MULHSU",
|
|
"size" : 32,
|
|
"encoding": "0b00000010000000000010000000110011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "MULHU",
|
|
"size" : 32,
|
|
"encoding": "0b00000010000000000011000000110011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "DIV",
|
|
"size" : 32,
|
|
"encoding": "0b00000010000000000100000000110011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "DIVU",
|
|
"size" : 32,
|
|
"encoding": "0b00000010000000000101000000110011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "REM",
|
|
"size" : 32,
|
|
"encoding": "0b00000010000000000110000000110011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "REMU",
|
|
"size" : 32,
|
|
"encoding": "0b00000010000000000111000000110011",
|
|
"mask": "0b11111110000000000111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CADDI4SPN",
|
|
"size" : 16,
|
|
"encoding": "0b0000000000000000",
|
|
"mask": "0b1110000000000011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CLW",
|
|
"size" : 16,
|
|
"encoding": "0b0100000000000000",
|
|
"mask": "0b1110000000000011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CSW",
|
|
"size" : 16,
|
|
"encoding": "0b1100000000000000",
|
|
"mask": "0b1110000000000011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CADDI",
|
|
"size" : 16,
|
|
"encoding": "0b0000000000000001",
|
|
"mask": "0b1110000000000011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CNOP",
|
|
"size" : 16,
|
|
"encoding": "0b0000000000000001",
|
|
"mask": "0b1110111110000011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CJAL",
|
|
"size" : 16,
|
|
"encoding": "0b0010000000000001",
|
|
"mask": "0b1110000000000011",
|
|
"branch": true,
|
|
"delay" : 2
|
|
},
|
|
{
|
|
"name" : "CLI",
|
|
"size" : 16,
|
|
"encoding": "0b0100000000000001",
|
|
"mask": "0b1110000000000011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CLUI",
|
|
"size" : 16,
|
|
"encoding": "0b0110000000000001",
|
|
"mask": "0b1110000000000011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CADDI16SP",
|
|
"size" : 16,
|
|
"encoding": "0b0110000100000001",
|
|
"mask": "0b1110111110000011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "__reserved_clui",
|
|
"size" : 16,
|
|
"encoding": "0b0110000000000001",
|
|
"mask": "0b1111000001111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CSRLI",
|
|
"size" : 16,
|
|
"encoding": "0b1000000000000001",
|
|
"mask": "0b1111110000000011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CSRAI",
|
|
"size" : 16,
|
|
"encoding": "0b1000010000000001",
|
|
"mask": "0b1111110000000011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CANDI",
|
|
"size" : 16,
|
|
"encoding": "0b1000100000000001",
|
|
"mask": "0b1110110000000011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CSUB",
|
|
"size" : 16,
|
|
"encoding": "0b1000110000000001",
|
|
"mask": "0b1111110001100011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CXOR",
|
|
"size" : 16,
|
|
"encoding": "0b1000110000100001",
|
|
"mask": "0b1111110001100011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "COR",
|
|
"size" : 16,
|
|
"encoding": "0b1000110001000001",
|
|
"mask": "0b1111110001100011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CAND",
|
|
"size" : 16,
|
|
"encoding": "0b1000110001100001",
|
|
"mask": "0b1111110001100011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CJ",
|
|
"size" : 16,
|
|
"encoding": "0b1010000000000001",
|
|
"mask": "0b1110000000000011",
|
|
"branch": true,
|
|
"delay" : 2
|
|
},
|
|
{
|
|
"name" : "CBEQZ",
|
|
"size" : 16,
|
|
"encoding": "0b1100000000000001",
|
|
"mask": "0b1110000000000011",
|
|
"branch": true,
|
|
"delay" : [2,1]
|
|
},
|
|
{
|
|
"name" : "CBNEZ",
|
|
"size" : 16,
|
|
"encoding": "0b1110000000000001",
|
|
"mask": "0b1110000000000011",
|
|
"branch": true,
|
|
"delay" : [2,1]
|
|
},
|
|
{
|
|
"name" : "CSLLI",
|
|
"size" : 16,
|
|
"encoding": "0b0000000000000010",
|
|
"mask": "0b1111000000000011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CLWSP",
|
|
"size" : 16,
|
|
"encoding": "0b0100000000000010",
|
|
"mask": "0b1110000000000011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CMV",
|
|
"size" : 16,
|
|
"encoding": "0b1000000000000010",
|
|
"mask": "0b1111000000000011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CJR",
|
|
"size" : 16,
|
|
"encoding": "0b1000000000000010",
|
|
"mask": "0b1111000001111111",
|
|
"branch": true,
|
|
"delay" : 2
|
|
},
|
|
{
|
|
"name" : "__reserved_cmv",
|
|
"size" : 16,
|
|
"encoding": "0b1000000000000010",
|
|
"mask": "0b1111111111111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CADD",
|
|
"size" : 16,
|
|
"encoding": "0b1001000000000010",
|
|
"mask": "0b1111000000000011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "CJALR",
|
|
"size" : 16,
|
|
"encoding": "0b1001000000000010",
|
|
"mask": "0b1111000001111111",
|
|
"branch": true,
|
|
"delay" : 2
|
|
},
|
|
{
|
|
"name" : "CEBREAK",
|
|
"size" : 16,
|
|
"encoding": "0b1001000000000010",
|
|
"mask": "0b1111111111111111",
|
|
"branch": true,
|
|
"delay" : 2
|
|
},
|
|
{
|
|
"name" : "CSWSP",
|
|
"size" : 16,
|
|
"encoding": "0b1100000000000010",
|
|
"mask": "0b1110000000000011",
|
|
"branch": false,
|
|
"delay" : 1
|
|
},
|
|
{
|
|
"name" : "DII",
|
|
"size" : 16,
|
|
"encoding": "0b0000000000000000",
|
|
"mask": "0b1111111111111111",
|
|
"branch": false,
|
|
"delay" : 1
|
|
}
|
|
]
|
|
} |