avl_riscv_coverage._isa module

avl_riscv_coverage._isa.ISA: dict[str, Encoding] = {}

Dictionary of all instruction encodings based on the reference instr_dict.json. Filtered based on supported base and extensions

class avl_riscv_coverage._isa.Encoding(mnemonic: str, match: int, mask: int, size: int, base: str, extensions: list[str])[source]
__init__(mnemonic: str, match: int, mask: int, size: int, base: str, extensions: list[str]) None[source]

Constructor

Parameters:
  • mnemonic – Instruction mnemonic

  • match (int) – Opcode encoding bits

  • mask (int) – Opcode encoding bit mask

  • size (int) – Instruction size in bytes

  • base (str) – Instruction base (i.e. RV32/RV64)

  • extensions (list[str]) – List of extensions

classmethod get_mnemonic(encoding: int) str[source]

Extract Mnemoic from the encoding

Parameters:

encoding (int) – Post masking encoding

Returns:

String mnemonic

Return type:

str

classmethod get_encoding(encoding: int) Encoding[source]

Extract Mnemoic from the encoding

Parameters:

encoding (int) – Post masking encoding

Returns:

Encoding object

Return type:

Encoding

classmethod get_operand(encoding: int, name: str) int[source]

Extract operand value from encoding

Parameters:
  • encoding (int) – Post masking encoding

  • name (str) – name of operand

Returns:

Operand Value

Return type:

int

avl_riscv_coverage._isa.extract_isa(ref: str) None[source]

Extract ISAs from instr_dict.json

Parameters:

ref (str) – Location of instr_dict.json