Instruction Decode
The Rv32GroupDecoder
module maps a 32-bit RISC-V instruction
encoding onto a representation of an instruction called a “macro-op.”
- class ember.decode.DecodeRequest(param: EmberParams)
Request to decode a single instruction.
- class ember.decode.DecodeResponse(param: EmberParams)
- class ember.decode.Rv32GroupDecoder(*args, src_loc_at=0, **kwargs)
A decoder that maps a single RV32 instruction onto a macro-op.
Warning
For now, this decoder probably synthesizes into many cascading levels of logic. This is probably fine for simple testing, but the delay on actual hardware is probably too great to be clocked very high.
Instead, you probably want to check all cases in parallel, priority encode the resulting bits, and then use the index to access a table of macro-op constants.