Skip to content
DenseChip
Learn
PracticeCode labInterview
LearnPracticeCode 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
← Topics
  1. Topics
  2. Start Here: RTL and Verification

Start Here: RTL and Verification

Beginner

Learn the chip flow, then simulate, test and automate a small design.

Start courseQuick Start: Your First Green BuildOpen lesson

Course map

  1. Quick Start: Your First Green Build
    0 lessons
  2. How to Use This Course
    0 lessons
  3. Reading Paths
    0 lessons
  4. Part 1: How Chips Get Made
    6 lessons

    Starts with Idea to Silicon

  5. Part 2: Your Workstation
    5 lessons

    Starts with Shell Survival Kit

  6. Part 3: Specify and Architect
    3 lessons

    Starts with Writing a Testable Spec

  7. Part 4: The Design Loop
    6 lessons

    Starts with Compile, Elaborate, Simulate, Synthesize, Lint

  8. Part 5: The Verification Ladder
    6 lessons

    Starts with Tests That Can Fail

  9. Part 6: Automation and Reproducibility
    5 lessons

    Starts with Makefile for the Loop

  10. Part 7: Hand-Off to the Back-End
    3 lessons

    Starts with What the Back-End Needs

  11. Part 8: When Things Go Wrong
    3 lessons

    Starts with Troubleshooting Table

  12. Part 9: Project and Next Steps
    3 lessons

    Starts with Project: Spec to Green CI

  13. Reference
    0 lessons

About this course

Choose a learning path

Start with the quick start

About fifteen minutes: download one example, run one command, see a passing test, then break it on purpose and watch it fail. Do it before any lesson. Then follow the parts in order, or choose a route on reading paths.

Most courses assume you already have a working setup, know how to simulate, and can read a waveform. This course does not. It starts from no HDL, Linux or Git knowledge and carries one small design from a written specification through simulation, lint, a synthesis check and an automated build, ready to hand to the back-end team.

The path runs through nine parts: what chips are and how they get made, your workstation, writing a spec, the design loop, the verification ladder, automation, the hand-off, debugging, and a final project. Forty lessons in nine short parts, so you only ever face one part at a time. There is one running example, and links out to the deep courses wherever this course stops.

Flowchart: idea leads to testable spec, microarchitecture, RTL, verification, synthesis check, back end, silicon.
The course follows one design from an idea to the back-end hand-off.

Who this is for

  • Complete beginners: no HDL, no Linux, no Git assumed. Start at Part 1 and read in order.

  • Software engineers moving into hardware: Parts 1 and 2 move fast if you already live in a shell, then the course treats RTL as a new language with new failure modes.

  • Students and self-learners who want one guided path instead of scattered tutorials.

What you need

  • A computer running macOS, Linux, or Windows through WSL, with permission to install software.

  • Icarus Verilog, Verilator, Yosys, Make and Git, all free and open source. Lesson 2.4 shows how to check that each one is installed and which version you have.

  • GTKWave for viewing waveforms is optional: the lessons show every waveform on the page.

  • Python 3 for the golden models. The standard library is enough.

The parts

Part

Title

The question

Lessons

1

How Chips Get Made

How does an idea become a working chip?

6

2

Your Workstation

What do I need on my machine before I can build anything?

5

3

Specify and Architect

How do I write down what the design must do before I code it?

3

4

The Design Loop

How do I know my RTL actually works?

6

5

The Verification Ladder

How do I gain confidence the design is right, not just lucky?

6

6

Automation and Reproducibility

How do I make the whole loop rerunnable by anyone, anywhere?

5

7

Hand-Off to the Back-End

What does the back-end team need from me?

3

8

When Things Go Wrong

What do I do when nothing works?

3

9

Project and Next Steps

Can I take a spec to green CI on my own?

3

The running example: mini_controller

One design runs through the whole course: mini_controller, a 4-bit event counter that counts accepted events and wraps from 15 to 0. It lives in the course's example project with its spec, RTL, testbenches, golden model, Makefile, mutants and CI workflow. Part 3 specifies it, Part 4 simulates it, Part 5 tries to break it, Part 6 automates it, and Part 7 hands it off. Part 9 asks you to do the same for a second design, from a new spec.

What this course does not cover

Four reference pages round out the course: a syntax primer, a glossary, a command cheat sheet and a tool versions page. Open them whenever a lesson uses a word, a symbol or a command you do not know. This course stays on the front-end start-up path. Floorplan, placement, routing, sign-off timing and DRC/LVS belong to the physical-design and sign-off courses; scan, ATPG and test belong with DFT. When those topics come up, this course points at them instead of teaching them:

  • Constraints and the synthesis flow: Synthesis course.

  • Timing reports and what they mean: STA course.

  • Beyond the first verification ladder: full testbenches, coverage closure and UVM are in the SystemVerilog course and the UVM course.

  • Debugging as a discipline: Hardware Debug course.

Related topics

  • How to use this course
  • Reading paths
  • Quick start
Practice questions for this track