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
    • Makefile for the Loop
    • Exit Codes and Pass Markers
    • CI Smoke Test
    • Pinning Tool Versions
    • Smoke vs Nightly
  • 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 6: Automation and Reproducibility
On this page

    Part 6 of 9Part 6 of 9/Automation and ReproducibilityAll levels

    Part 6: Automation and Reproducibility

    How do I make the whole loop rerunnable by anyone, anywhere? Write a Makefile that rebuilds everything and reports pass or fail by exit code.

    • 5topics
    • 5lessons

    Part 6 answers: How do I make the whole loop rerunnable by anyone, anywhere?

    A flow that only works on one laptop from remembered commands is not engineering. This part captures the loop in a Makefile with pass markers and exit codes, records tool versions and shows which of them can be pinned, and adds a CI smoke test that checks every change.

    It also draws the line between the smoke test that runs on every push and the nightly regression that can afford to take longer.

    Plan for this part

    What

    Detail

    Time

    About 2 hours.

    You will build

    A Makefile and a CI workflow that anyone can run, with versions pinned.

    You are done when

    make all passes from a clean checkout on a machine that is not yours, and fails with a non-zero exit status when a mutant is in.

    Start with 6.1 Makefile for the Loop

    One command for the whole loop, explained piece by piece.

    After this part you can

    • Write a Makefile that rebuilds everything and reports pass or fail by exit code.

    • Record tool versions and say which of them can and cannot be pinned.

    • Explain what belongs in a smoke test versus a nightly regression.

    Lessons

    #

    Lesson

    What it covers

    Level

    6.1

    Makefile for the Loop

    One command for the whole loop, explained piece by piece.

    W

    6.2

    Exit Codes and Pass Markers

    How a script knows a run passed.

    W

    6.3

    CI Smoke Test

    Read a thirteen-line workflow line by line.

    W

    6.4

    Pinning Tool Versions

    Four levels of pinning and what each costs.

    W

    6.5

    Smoke vs Nightly

    Fast checks on every change, heavy sweeps overnight.

    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.

    Related topics

    • Course hub

    • Previous: Part 5 · The Verification Ladder

    • Next: Part 7 · Hand-Off to the Back-End

    PreviousNext: Makefile for the Loop

    Up next

    Up nextMakefile for the Loop

    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