libriscv-0.1.0.0: A versatile, flexible and executable formal model for the RISC-V architecture.
Safe HaskellNone
LanguageHaskell2010

LibRISCV.Internal.Decoder.Opcodes

Documentation

data InstructionType Source #

Instances

Instances details
Show InstructionType Source # 
Instance details

Defined in LibRISCV.Internal.Decoder.Opcodes

Methods

showsPrec :: Int -> InstructionType -> ShowS

show :: InstructionType -> String

showList :: [InstructionType] -> ShowS

Eq InstructionType Source # 
Instance details

Defined in LibRISCV.Internal.Decoder.Opcodes

data RV_M Source #

Constructors

REMU 
REM 
MULHU 
MULHSU 
MULH 
MUL 
DIVU 
DIV 

Instances

Instances details
Show RV_M Source # 
Instance details

Defined in LibRISCV.Internal.Decoder.Opcodes

Methods

showsPrec :: Int -> RV_M -> ShowS

show :: RV_M -> String

showList :: [RV_M] -> ShowS

Eq RV_M Source # 
Instance details

Defined in LibRISCV.Internal.Decoder.Opcodes

Methods

(==) :: RV_M -> RV_M -> Bool

(/=) :: RV_M -> RV_M -> Bool

data RV_I Source #

Constructors

XORI 
XOR 
SW 
SUB 
SRL 
SRA 
SLTU 
SLTIU 
SLTI 
SLT 
SLL 
SH 
SB 
ORI 
OR 
LW 
LUI 
LHU 
LH 
LBU 
LB 
JALR 
JAL 
FENCE 
ECALL 
EBREAK 
BNE 
BLTU 
BLT 
BGEU 
BGE 
BEQ 
AUIPC 
ANDI 
AND 
ADDI 
ADD 

Instances

Instances details
Show RV_I Source # 
Instance details

Defined in LibRISCV.Internal.Decoder.Opcodes

Methods

showsPrec :: Int -> RV_I -> ShowS

show :: RV_I -> String

showList :: [RV_I] -> ShowS

Eq RV_I Source # 
Instance details

Defined in LibRISCV.Internal.Decoder.Opcodes

Methods

(==) :: RV_I -> RV_I -> Bool

(/=) :: RV_I -> RV_I -> Bool

data RV32_I Source #

Constructors

SRLI 
SRAI 
SLLI 

Instances

Instances details
Show RV32_I Source # 
Instance details

Defined in LibRISCV.Internal.Decoder.Opcodes

Methods

showsPrec :: Int -> RV32_I -> ShowS

show :: RV32_I -> String

showList :: [RV32_I] -> ShowS

Eq RV32_I Source # 
Instance details

Defined in LibRISCV.Internal.Decoder.Opcodes

Methods

(==) :: RV32_I -> RV32_I -> Bool

(/=) :: RV32_I -> RV32_I -> Bool

add_mask :: Word32 Source #

addi_mask :: Word32 Source #

and_mask :: Word32 Source #

andi_mask :: Word32 Source #

auipc_mask :: Word32 Source #

beq_mask :: Word32 Source #

bge_mask :: Word32 Source #

bgeu_mask :: Word32 Source #

blt_mask :: Word32 Source #

bltu_mask :: Word32 Source #

bne_mask :: Word32 Source #

div_mask :: Word32 Source #

divu_mask :: Word32 Source #

ebreak_mask :: Word32 Source #

ecall_mask :: Word32 Source #

fence_mask :: Word32 Source #

jal_mask :: Word32 Source #

jalr_mask :: Word32 Source #

lb_mask :: Word32 Source #

lbu_mask :: Word32 Source #

lh_mask :: Word32 Source #

lhu_mask :: Word32 Source #

lui_mask :: Word32 Source #

lw_mask :: Word32 Source #

mul_mask :: Word32 Source #

mulh_mask :: Word32 Source #

mulhsu_mask :: Word32 Source #

mulhu_mask :: Word32 Source #

or_mask :: Word32 Source #

ori_mask :: Word32 Source #

rem_mask :: Word32 Source #

remu_mask :: Word32 Source #

sb_mask :: Word32 Source #

sh_mask :: Word32 Source #

sll_mask :: Word32 Source #

slli_mask :: Word32 Source #

slt_mask :: Word32 Source #

slti_mask :: Word32 Source #

sltiu_mask :: Word32 Source #

sltu_mask :: Word32 Source #

sra_mask :: Word32 Source #

srai_mask :: Word32 Source #

srl_mask :: Word32 Source #

srli_mask :: Word32 Source #

sub_mask :: Word32 Source #

sw_mask :: Word32 Source #

xor_mask :: Word32 Source #

xori_mask :: Word32 Source #

add_match :: Word32 Source #

addi_match :: Word32 Source #

and_match :: Word32 Source #

andi_match :: Word32 Source #

auipc_match :: Word32 Source #

beq_match :: Word32 Source #

bge_match :: Word32 Source #

bgeu_match :: Word32 Source #

blt_match :: Word32 Source #

bltu_match :: Word32 Source #

bne_match :: Word32 Source #

div_match :: Word32 Source #

divu_match :: Word32 Source #

ecall_match :: Word32 Source #

fence_match :: Word32 Source #

jal_match :: Word32 Source #

jalr_match :: Word32 Source #

lb_match :: Word32 Source #

lbu_match :: Word32 Source #

lh_match :: Word32 Source #

lhu_match :: Word32 Source #

lui_match :: Word32 Source #

lw_match :: Word32 Source #

mul_match :: Word32 Source #

mulh_match :: Word32 Source #

mulhu_match :: Word32 Source #

or_match :: Word32 Source #

ori_match :: Word32 Source #

rem_match :: Word32 Source #

remu_match :: Word32 Source #

sb_match :: Word32 Source #

sh_match :: Word32 Source #

sll_match :: Word32 Source #

slli_match :: Word32 Source #

slt_match :: Word32 Source #

slti_match :: Word32 Source #

sltiu_match :: Word32 Source #

sltu_match :: Word32 Source #

sra_match :: Word32 Source #

srai_match :: Word32 Source #

srl_match :: Word32 Source #

srli_match :: Word32 Source #

sub_match :: Word32 Source #

sw_match :: Word32 Source #

xor_match :: Word32 Source #

xori_match :: Word32 Source #

decode_RV32_I :: Word32 -> Maybe RV32_I Source #

decode_RV_I :: Word32 -> Maybe RV_I Source #

decode_RV_M :: Word32 -> Maybe RV_M Source #