TGC-VP/contrib/TGC_C_cycles.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
}
]
}