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
    • Writing a Testable Spec
    • From Spec to Microarchitecture
    • Golden Model and Register Contract
  • 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. Part 3: Specify and Architect
On this page

    Part 3 of 9Part 3 of 9/Specify and ArchitectAll levels

    Part 3: Specify and Architect

    How do I write down what the design must do before I code it? Write a spec whose behaviors are measurable enough for a testbench to check.

    • 3topics
    • 3lessons

    Part 3 answers: How do I write down what the design must do before I code it?

    Code written before the behavior is pinned down just encodes guesses. This part turns a loose idea for mini_controller, the course's running example and a 4-bit event counter, into a testable spec, a block diagram and a golden model.

    The spec and the golden model you write here are what every later part checks the design against, so an ambiguity found now does not become a bug found later.

    Plan for this part

    What

    Detail

    Time

    About 1.5 hours.

    You will build

    A testable spec, a block diagram and a golden model for mini_controller.

    You are done when

    Every behavior in your spec has a number you could check, and the golden model passes its own checks.

    Start with 3.1 Writing a Testable Spec

    Turn a vague sentence into six measurable questions.

    After this part you can

    • Write a spec whose behaviors are measurable enough for a testbench to check.

    • Draw a microarchitecture block diagram from a written spec.

    • Write a golden model from the spec that is independent of the RTL.

    Lessons

    #

    Lesson

    What it covers

    Level

    3.1

    Writing a Testable Spec

    Turn a vague sentence into six measurable questions.

    F

    3.2

    From Spec to Microarchitecture

    Split the datapath from the control and trace the design cycle by cycle.

    F

    3.3

    Golden Model and Register Contract

    A small Python model that computes the right answer independently of the RTL.

    F

    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 2 · Your Workstation

    • Next: Part 4 · The Design Loop

    PreviousNext: Writing a Testable Spec

    Up next

    Up nextWriting a Testable Spec

    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