Consensys/corset

Option to display module specific instruction names

Opened this issue · 3 comments

The following modules MMU / MMIO / OOB / EXP / ... have their own "instruction sets" independent of the EVM's instruction set, see the respective specifications. These are typically 2 byte integers (to differentiate them from the 1 byte opcodes of the EVM.) It would be great help if we could annotate these columns in corset to display the associated instruction names in corset inspect. The current state of things makes it hard to deciper what is going on.

Here is an example from the MMU module. The MMU module has 3 "instruction" columns

  • the macro/MMU_INST column it gets from the HUB, it contains values from the MMU's instruction set
  • the micro/MMIO_INST column it provides the MMIO module with, containing values from the MMIO's instruction set
  • the wcp/INST column it provides the WCP module with, containing regular EVM instructions

The stuff below is supposed to represent the sequence of MMU instructions the HUB creates in response to dealing with KECCAK, MSTORE, KECCAK, MSTORE, LOG2, REVERT (with LOG2 deliberately not drawn due to reverting and REVERT missing for reasons I'm still investigating due to this being the root context of the transaction.)

image

we introduced LEQ and GEQ for WCP too. He's not dealing with only EVM's instructions.

So, currently there is a display option :opcode. You're thinking of something like that?