Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutRoadmapCareersInternshipsFAQContactPrivacyTerms
Skip to lesson

Course contents

  • Quick Start: Your First Green Build
  • How to Use This Course
  • Reading Paths
  • Part 1: How Chips Get Made6
  • Part 2: Your Workstation5
  • Part 3: Specify and Architect3
  • Part 4: The Design Loop6
    • Compile, Elaborate, Simulate, Synthesize, Lint
    • First Simulation
    • Waveforms with GTKWave
    • Lint with Verilator
    • First Synthesis Check
    • Simulation Code vs Synthesizable Code
  • Part 5: The Verification Ladder6
  • Part 6: Automation and Reproducibility5
  • Part 7: Hand-Off to the Back-End3
  • Part 8: When Things Go Wrong3
  • Part 9: Project and Next Steps3
  • Reference4
Loading lesson

←Start Here: RTL and Verification
  1. Topics
  2. Start Here: RTL and Verification
  3. Part 4: The Design Loop
On this page

    Part 4 of 9Part 4 of 9/The Design LoopAll levels

    Part 4: The Design Loop

    How do I know my RTL actually works? Run compile, simulate, view and lint on a small design and explain what each stage checks.

    • 6topics
    • 6lessons

    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.

    Plan for this part

    What

    Detail

    Time

    About 2.5 hours, with every example run on your machine.

    You will build

    A simulated, linted and synthesis-checked mini_controller, with a waveform you can open.

    You are done when

    make all runs lint, simulation and the synthesis check and ends with PASS: and exit status 0.

    Start with 4.1 Compile, Elaborate, Simulate, Synthesize, Lint

    Which stage prints which message.

    After this part you can

    • 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.

    Lessons

    #

    Lesson

    What it covers

    Level

    4.1

    Compile, Elaborate, Simulate, Synthesize, Lint

    Which stage prints which message.

    W

    4.2

    First Simulation

    Run a real simulation, predict it, break it and fix it.

    W

    4.3

    Waveforms with GTKWave

    Open the waveform of a failing run and find the bad edge (optional tool).

    W

    4.4

    Lint with Verilator

    One line, two warnings, one fix.

    W

    4.5

    First Synthesis Check

    Ask Yosys whether your code can become real gates.

    W

    4.6

    Simulation Code vs Synthesizable Code

    Code that simulates versus code that builds hardware.

    W

    Lessons are in learning order: each one sets up the problem the next one solves. The glossary and the command cheat sheet are open to you throughout; if something fails, go to the troubleshooting table.

    Where other courses go deeper

    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.

    • RTL: Simulation Testbenches

    • RTL: Coding Lint

    • Synthesis: Flow Overview

    Related topics

    • Course hub

    • Previous: Part 3 · Specify and Architect

    • Next: Part 5 · The Verification Ladder

    PreviousNext: Compile, Elaborate, Simulate, Synthesize, Lint

    Up next

    Up nextCompile, Elaborate, Simulate, Synthesize, Lint

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • Quick Start: Your First Green Build
    • How to Use This Course
    • Reading Paths