RTL Studio Open IDE

4.6 · RV SYS CLASS

Load-use stall flush

Implement load-use stall and branch flush logic in the RV32I hazard unit to control the IF/ID register.

Video coming soon. This lesson page stays at the same URL when the lecture publishes.

What you practice

Load-use stall flush (4.6). Implement load-use stall and branch flush logic in the RV32I hazard unit to control the IF/ID register. It is in Load-use stall & flush — Part 4 · Pipeline of the RISC-V on SoC & System Masterclass.

The core and the mini-SoC simulate as one workspace in the IDE. Follow MMIO, interrupts, and the program on the Verilator waveform, not only a pass line.

Run it in the Verilog IDE

  1. Open the system lesson in the IDE. The RV32I core and the mini-SoC fabric simulate together.
  2. Run Verilator and trace the program through MMIO: address, load/store data, and the peripheral response.
  3. Interrupts and DMA belong on the waveform next to the instruction stream, not only in a pass/fail line.
  4. Edit the integration RTL, resimulate, and run Yosys on the structural block when you want a netlist.

The lesson is done when the simulation matches Load-use stall flush. Change the source, run the Verilog simulator again, and read the waveform without leaving the IDE. Simulation guide · Yosys guide.