Part 4 answers: How do I know my RTL actually works?
The design loop is simulate, look, lint and a first synthesis check, repeated until the design and its testbench agree. This part runs that loop on mini_controller: compile and elaborate, simulate, read the waveform in GTKWave, lint with Verilator and ask Yosys what the code really infers.
Along the way it draws the line every RTL engineer must see: simulation-only code versus code that synthesizes into hardware.
Run compile, simulate, view and lint on a small design and explain what each stage checks.
Read a waveform and point to the cycle where behavior diverges from intent.
Tell simulation-only code apart from synthesizable code and fix the mix-ups.
# | Lesson | Level | Status |
|---|---|---|---|
4.1 | W · Working | ready | |
4.2 | W · Working | ready | |
4.3 | W · Working | ready | |
4.4 | W · Working | ready | |
4.5 | W · Working | ready | |
4.6 | W · Working | ready |
Every lesson in this part is ready. Work through them in order: each one sets up the problem the next one solves.
This course stays on the front-end start-up path and links out instead of repeating. These lessons build on or continue what this part teaches.