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.)
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?