Designing a RISC-V CPU, Part 2: Successfully executing (some) instructions
mcla.ug