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
  • 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. How to Use This Course
On this page

    Start hereAll levels

    How to Use This Course

    Lesson anatomy, how to run the examples, platforms, waveforms, transcripts, and the predict-then-reveal habit.

    Have not run anything yet? Do the quick start first

    It takes about fifteen minutes and shows you the whole loop working before you read any theory.

    Each lesson answers one question. It starts with a concrete problem, builds the idea, and shows it running. Whenever a lesson says something you can check, you check it: by running code, reading a waveform, or following a real transcript.

    What every lesson contains

    Block

    What it is for

    Header

    The level badge, the question the lesson answers, and what to read first

    Hook

    The question, asked before any explanation

    Concept

    The idea in plain words; the jargon comes after the idea

    Picture

    A figure or a simulated waveform, with a caption that says what to look at

    Run it

    A listing from the example project and its real output

    Predict then reveal

    You guess the outcome first, then see the answer and the reason

    Break it on purpose

    One deliberate failure, the message it prints, and the fix

    Pitfalls

    The mistakes beginners actually make, each with its fix

    Rule

    One sentence to keep

    Check yourself and an interview question

    Questions with reasoned answers, and one question as an interviewer would ask it

    Go deeper and Next

    The course that owns the detail, and the lesson that follows

    A lesson drops a block only when it does not fit: a concept lesson with nothing to run carries a worked trace instead of a Run it block.

    Levels

    Badges F and W mark the lowest level a lesson serves: Foundation lessons assume nothing; Working lessons assume you can run the design loop alone. The badge on each part page shows which is which. Part 9 is labelled Foundation, but it brings together everything from Parts 4 to 7, so come back to it after those. See reading paths for routes by background.

    Get the example files

    • Download start-here-examples.zip and unpack it anywhere you like. It holds four folders: mini-controller/, the running example from Parts 1 to 8, pulse-counter-starter/, the Part 9 project, primer/, the small program from the Syntax Primer, and lesson-files/, the single-file examples that lessons 1.2, 1.5 and 4.2 run. Each folder is self-contained.

    • In a terminal, cd into the unpacked mini-controller/ folder before you run any make command. Lesson 2.2 shows how to unpack the zip and what every folder is for.

    • After you finish the Part 9 project, start-here-pulse-counter-solution.zip holds the reference solution and the mutants to compare against. Look only when you are done: the project teaches you most when you build it first.

    How to run the examples

    • The example project is a folder with a Makefile. make all runs lint, the simulation with its self-checking testbench, and the synthesis check. make check-tools prints the versions of the tools it needs.

    • The simulation step passes only when the testbench prints exactly one line that starts with PASS:. Lesson 6.2 explains why.

    • Icarus Verilog (iverilog -g2012) simulates, Verilator (--lint-only, and --assert for assertions) lints and checks assertions, Yosys checks synthesis, GTKWave views waveforms, and python3 runs the golden models.

    • Listings that start with // snippet are fragments, and // bad-example marks code shown as a mistake. Neither is meant to run.

    • Python models use only the standard library. They check their own results and end with one PASS: line.

    Platforms: macOS, Linux, WSL

    The example project was run on macOS with Homebrew packages and on Ubuntu 24.04 with that distribution's own, older packages, and make all passed on both. Windows is meant to work through WSL, a Linux environment inside Windows, but that has not been tested. The tool versions page lists exactly which versions were used. If a command behaves differently on your machine, compare your versions with that page first.

    How to read waveforms

    • One column is one rising clock edge, and the values shown are the ones after that edge.

    • A single-bit signal is high or low. A bus signal shows its value in a box, and a new box starts only when the value changes.

    • Every waveform is followed by a how-to-read-it list that names the edges and the values. Read the two side by side, and say each edge out loud before you check the list.

    • The waveforms come from simulating the lesson's own testbench, so they match the code on the page.

    How to read transcripts

    Terminal output appears in plain text blocks whose first line is # captured terminal output. They come from real runs, with the home folder shown as /home/you/projects. Your tool versions, timestamps and commit hashes will differ, and each transcript names the versions it came from.

    The predict-then-reveal habit

    1. Read the hook and stop. Try to answer the question before reading on.

    2. Before every run, predict what the output will be, or where it will fail, and write the prediction down.

    3. Run it, then read the waveform or transcript slot by slot against your prediction.

    4. Answer the check-yourself questions out loud before opening them.

    Related topics

    • Course hub

    • Reading paths

    PreviousNext: Reading Paths

    Up next

    Up nextReading Paths

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • Part 1: How Chips Get Made
    • Part 2: Your Workstation
    • Part 3: Specify and Architect