1
0
rocket-chip/rocket/src/main/scala/instructions.scala

195 lines
11 KiB
Scala
Raw Normal View History

package rocket
import Chisel._
2012-10-08 05:15:54 +02:00
import Node._
object Instructions
{
2013-08-24 06:16:28 +02:00
/* Automatically generated by parse-opcodes */
2013-09-15 13:29:06 +02:00
def JAL = Bits("b?????????????????????????1100111")
def JALR = Bits("b??????????????????????0001101111")
2013-08-24 06:16:28 +02:00
def BEQ = Bits("b??????????????????????0001100011")
def BNE = Bits("b??????????????????????0011100011")
def BLT = Bits("b??????????????????????1001100011")
def BGE = Bits("b??????????????????????1011100011")
def BLTU = Bits("b??????????????????????1101100011")
def BGEU = Bits("b??????????????????????1111100011")
def LUI = Bits("b?????????????????????????0110111")
def AUIPC = Bits("b?????????????????????????0010111")
def ADDI = Bits("b??????????????????????0000010011")
2013-09-12 12:44:38 +02:00
def SLLI = Bits("b??????????00000??????00010010011")
2013-08-24 06:16:28 +02:00
def SLTI = Bits("b??????????????????????0100010011")
def SLTIU = Bits("b??????????????????????0110010011")
def XORI = Bits("b??????????????????????1000010011")
2013-09-12 12:44:38 +02:00
def SRLI = Bits("b??????????00000??????01010010011")
def SRAI = Bits("b??????????00000??????11010010011")
2013-08-24 06:16:28 +02:00
def ORI = Bits("b??????????????????????1100010011")
def ANDI = Bits("b??????????????????????1110010011")
def ADD = Bits("b???????????????00000000000110011")
def SUB = Bits("b???????????????10000000000110011")
def SLL = Bits("b???????????????00000000010110011")
def SLT = Bits("b???????????????00000000100110011")
def SLTU = Bits("b???????????????00000000110110011")
def XOR = Bits("b???????????????00000001000110011")
def SRL = Bits("b???????????????00000001010110011")
def SRA = Bits("b???????????????10000001010110011")
def OR = Bits("b???????????????00000001100110011")
def AND = Bits("b???????????????00000001110110011")
def MUL = Bits("b???????????????00000010000110011")
def MULH = Bits("b???????????????00000010010110011")
def MULHSU = Bits("b???????????????00000010100110011")
def MULHU = Bits("b???????????????00000010110110011")
def DIV = Bits("b???????????????00000011000110011")
def DIVU = Bits("b???????????????00000011010110011")
def REM = Bits("b???????????????00000011100110011")
def REMU = Bits("b???????????????00000011110110011")
def ADDIW = Bits("b??????????????????????0000011011")
2013-09-12 12:44:38 +02:00
def SLLIW = Bits("b??????????000000?????00010011011")
def SRLIW = Bits("b??????????000000?????01010011011")
def SRAIW = Bits("b??????????000000?????11010011011")
2013-08-24 06:16:28 +02:00
def ADDW = Bits("b???????????????00000000000111011")
def SUBW = Bits("b???????????????10000000000111011")
def SLLW = Bits("b???????????????00000000010111011")
def SRLW = Bits("b???????????????00000001010111011")
def SRAW = Bits("b???????????????10000001010111011")
def MULW = Bits("b???????????????00000010000111011")
def DIVW = Bits("b???????????????00000011000111011")
def DIVUW = Bits("b???????????????00000011010111011")
def REMW = Bits("b???????????????00000011100111011")
def REMUW = Bits("b???????????????00000011110111011")
def LB = Bits("b??????????????????????0000000011")
def LH = Bits("b??????????????????????0010000011")
def LW = Bits("b??????????????????????0100000011")
def LD = Bits("b??????????????????????0110000011")
def LBU = Bits("b??????????????????????1000000011")
def LHU = Bits("b??????????????????????1010000011")
def LWU = Bits("b??????????????????????1100000011")
def SB = Bits("b??????????????????????0000100011")
def SH = Bits("b??????????????????????0010100011")
def SW = Bits("b??????????????????????0100100011")
def SD = Bits("b??????????????????????0110100011")
2013-09-12 12:44:38 +02:00
def AMOADD_W = Bits("b?????????????????000000100101011")
def AMOXOR_W = Bits("b?????????????????001000100101011")
def AMOOR_W = Bits("b?????????????????010000100101011")
def AMOAND_W = Bits("b?????????????????011000100101011")
def AMOMIN_W = Bits("b?????????????????100000100101011")
def AMOMAX_W = Bits("b?????????????????101000100101011")
def AMOMINU_W = Bits("b?????????????????110000100101011")
def AMOMAXU_W = Bits("b?????????????????111000100101011")
def AMOSWAP_W = Bits("b?????????????????000010100101011")
def LR_W = Bits("b??????????00000??000100100101011")
def SC_W = Bits("b?????????????????000110100101011")
def AMOADD_D = Bits("b?????????????????000000110101011")
def AMOXOR_D = Bits("b?????????????????001000110101011")
def AMOOR_D = Bits("b?????????????????010000110101011")
def AMOAND_D = Bits("b?????????????????011000110101011")
def AMOMIN_D = Bits("b?????????????????100000110101011")
def AMOMAX_D = Bits("b?????????????????101000110101011")
def AMOMINU_D = Bits("b?????????????????110000110101011")
def AMOMAXU_D = Bits("b?????????????????111000110101011")
def AMOSWAP_D = Bits("b?????????????????000010110101011")
def LR_D = Bits("b??????????00000??000100110101011")
def SC_D = Bits("b?????????????????000110110101011")
def FENCE = Bits("b???????????????????????000101111")
def FENCE_I = Bits("b???????????????????????010101111")
def FENCE_V_L = Bits("b???????????????????????100101111")
def FENCE_V_G = Bits("b???????????????????????110101111")
2013-08-24 06:16:28 +02:00
def SYSCALL = Bits("b00000000000000000000000001110111")
def BREAK = Bits("b00000000000000000000000011110111")
def RDCYCLE = Bits("b?????000000000000000001001110111")
def RDTIME = Bits("b?????000000000000000011001110111")
def RDINSTRET = Bits("b?????000000000000000101001110111")
def MTPCR = Bits("b???????????????00000000001110011")
def MFPCR = Bits("b??????????0000000000000011110011")
def SETPCR = Bits("b??????????????????????0101110011")
def CLEARPCR = Bits("b??????????????????????0111110011")
def ERET = Bits("b00000000000000000000001001110011")
def FADD_S = Bits("b???????????????00000???001010011")
def FSUB_S = Bits("b???????????????00001???001010011")
def FMUL_S = Bits("b???????????????00010???001010011")
def FDIV_S = Bits("b???????????????00011???001010011")
def FSQRT_S = Bits("b??????????0000000100???001010011")
def FSGNJ_S = Bits("b???????????????00101000001010011")
def FSGNJN_S = Bits("b???????????????00110000001010011")
def FSGNJX_S = Bits("b???????????????00111000001010011")
def FADD_D = Bits("b???????????????00000???011010011")
def FSUB_D = Bits("b???????????????00001???011010011")
def FMUL_D = Bits("b???????????????00010???011010011")
def FDIV_D = Bits("b???????????????00011???011010011")
def FSQRT_D = Bits("b??????????0000000100???011010011")
def FSGNJ_D = Bits("b???????????????00101000011010011")
def FSGNJN_D = Bits("b???????????????00110000011010011")
def FSGNJX_D = Bits("b???????????????00111000011010011")
def FCVT_L_S = Bits("b??????????0000001000???001010011")
def FCVT_LU_S = Bits("b??????????0000001001???001010011")
def FCVT_W_S = Bits("b??????????0000001010???001010011")
def FCVT_WU_S = Bits("b??????????0000001011???001010011")
def FCVT_L_D = Bits("b??????????0000001000???011010011")
def FCVT_LU_D = Bits("b??????????0000001001???011010011")
def FCVT_W_D = Bits("b??????????0000001010???011010011")
def FCVT_WU_D = Bits("b??????????0000001011???011010011")
def FCVT_S_L = Bits("b??????????0000001100???001010011")
def FCVT_S_LU = Bits("b??????????0000001101???001010011")
def FCVT_S_W = Bits("b??????????0000001110???001010011")
def FCVT_S_WU = Bits("b??????????0000001111???001010011")
def FCVT_D_L = Bits("b??????????0000001100???011010011")
def FCVT_D_LU = Bits("b??????????0000001101???011010011")
def FCVT_D_W = Bits("b??????????0000001110???011010011")
def FCVT_D_WU = Bits("b??????????0000001111???011010011")
def FCVT_S_D = Bits("b??????????0000010001???001010011")
def FCVT_D_S = Bits("b??????????0000010000???011010011")
def FEQ_S = Bits("b???????????????10101000001010011")
def FLT_S = Bits("b???????????????10110000001010011")
def FLE_S = Bits("b???????????????10111000001010011")
def FEQ_D = Bits("b???????????????10101000011010011")
def FLT_D = Bits("b???????????????10110000011010011")
def FLE_D = Bits("b???????????????10111000011010011")
def FMIN_S = Bits("b???????????????11000000001010011")
def FMAX_S = Bits("b???????????????11001000001010011")
def FMIN_D = Bits("b???????????????11000000011010011")
def FMAX_D = Bits("b???????????????11001000011010011")
def FMV_X_S = Bits("b??????????0000011100000001010011")
def FMV_X_D = Bits("b??????????0000011100000011010011")
def FRSR = Bits("b?????000000000011101000001010011")
def FMV_S_X = Bits("b??????????0000011110000001010011")
def FMV_D_X = Bits("b??????????0000011110000011010011")
def FSSR = Bits("b??????????0000011111000001010011")
def FLW = Bits("b??????????????????????0100000111")
def FLD = Bits("b??????????????????????0110000111")
def FSW = Bits("b??????????????????????0100100111")
def FSD = Bits("b??????????????????????0110100111")
def FMADD_S = Bits("b???????????????????????001000011")
def FMSUB_S = Bits("b???????????????????????001000111")
def FNMSUB_S = Bits("b???????????????????????001001011")
def FNMADD_S = Bits("b???????????????????????001001111")
def FMADD_D = Bits("b???????????????????????011000011")
def FMSUB_D = Bits("b???????????????????????011000111")
def FNMSUB_D = Bits("b???????????????????????011001011")
def FNMADD_D = Bits("b???????????????????????011001111")
/* Automatically generated by parse-opcodes */
def CUSTOM0 = Bits("b??????????????????????0000001011")
def CUSTOM0_RS1 = Bits("b??????????????????????0100001011")
def CUSTOM0_RS1_RS2 = Bits("b??????????????????????0110001011")
def CUSTOM0_RD = Bits("b??????????????????????1000001011")
def CUSTOM0_RD_RS1 = Bits("b??????????????????????1100001011")
def CUSTOM0_RD_RS1_RS2 = Bits("b??????????????????????1110001011")
def CUSTOM1 = Bits("b??????????????????????0000001111")
def CUSTOM1_RS1 = Bits("b??????????????????????0100001111")
def CUSTOM1_RS1_RS2 = Bits("b??????????????????????0110001111")
def CUSTOM1_RD = Bits("b??????????????????????1000001111")
def CUSTOM1_RD_RS1 = Bits("b??????????????????????1100001111")
def CUSTOM1_RD_RS1_RS2 = Bits("b??????????????????????1110001111")
def CUSTOM2 = Bits("b??????????????????????0001010111")
def CUSTOM2_RS1 = Bits("b??????????????????????0101010111")
def CUSTOM2_RS1_RS2 = Bits("b??????????????????????0111010111")
def CUSTOM2_RD = Bits("b??????????????????????1001010111")
def CUSTOM2_RD_RS1 = Bits("b??????????????????????1101010111")
def CUSTOM2_RD_RS1_RS2 = Bits("b??????????????????????1111010111")
def CUSTOM3 = Bits("b??????????????????????0001111011")
def CUSTOM3_RS1 = Bits("b??????????????????????0101111011")
def CUSTOM3_RS1_RS2 = Bits("b??????????????????????0111111011")
def CUSTOM3_RD = Bits("b??????????????????????1001111011")
def CUSTOM3_RD_RS1 = Bits("b??????????????????????1101111011")
def CUSTOM3_RD_RS1_RS2 = Bits("b??????????????????????1111111011")
2013-06-13 19:31:04 +02:00
}