RTL Studio Open IDE

2.1 · SOC CLASS

GPIO register block

Implement GPIO direction, output, and set/clear registers in a student module and verify with a testbench.

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

What you practice

GPIO register block (2.1). Implement GPIO direction, output, and set/clear registers in a student module and verify with a testbench. It is in GPIO CSR Block — Part 2 · Peripheral Islands of the SoC Masterclass. Build GPIO, timer, UART, and IRQ islands, then wrap them as a peripheral subsystem.

SoC lessons simulate the fabric and the peripheral together in the IDE. Verilator is the simulator; the waveform is where address and response show up.

Run it in the Verilog IDE

  1. Open the lesson workspace in the IDE. The fabric and the peripheral are one simulation.
  2. Run Verilator and follow the address, write data, and read response on the waveform.
  3. A passing log is not enough when decode or an IRQ line is the point of the lesson — those show up on the VCD.
  4. Run Yosys on the RTL island you just integrated when you want the mapped cells.

The lesson is done when the simulation matches GPIO register block. Change the source, run the Verilog simulator again, and read the waveform without leaving the IDE. Simulation guide · Yosys guide.