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

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • Reading Paths
  • Concept Map
  • Meet DCRouter
  • Glossary
  • Part 0: What Verification Is8
  • Part 1: What Can Go Wrong11
  • Part 2: Specifications as Checkable Rules8
  • Part 3: Observability and Controllability7
  • Part 4: Stimulus11
  • Part 5: Checking11
  • Part 6: Coverage10
  • Part 7: Formal and Simulation10
  • Part 8: Verification Levels and Reuse8
  • Part 9: Planning and Risk9
  • Part 10: Emulation and Prototyping8
  • Part 11: Post-Silicon Validation8
  • Part 12: Bug Economics8
    • The Cost of Bugs by Stage
    • Bug-Discovery Curves
    • Diminishing Returns
    • Triage and Severity
    • Root Cause and Fix Quality
    • Estimating Remaining Bugs
    • Investing in Infrastructure
    • Drills: Bug Economics
  • Part 13: Debug7
  • Part 14: Sign-Off7
  • Part 15: Verification in Context8
  • Part 16: Case Studies5
  • Part 17: Capstones5
  • Part 18: Interview Preparation6
Loading lesson

‹Part 12: Bug Economics
  1. Topics
  2. First Principles of Verification Strategy
  3. Part 12: Bug Economics
  4. Investing in Infrastructure

Part 12 · Bug Economics · Principal (P)

Investing in Infrastructure

Some verification work finds bugs directly; some makes every future bug cheaper to find. Infrastructure (reusable checkers and models, regression speed, debug tools, triage automation, generated register models) pays back across tests, blocks and projects. How to judge where an investment pays, with the pieces this course built for DCRouter as examples.

On this page

    Note

    Level: Principal (P) · Answers: How do we spend verification effort wisely?

    Before this: Estimating Remaining Bugs

    This course spent one lesson building DCRouter's shared test environment (lesson 4.1). Every later DCRouter testbench, from directed tests to the covered hunt, reused it unchanged, and each new test was a few dozen lines. The arbitration checker, the assertions and the coverage model became includes that any test could add. That first investment did not find a single bug by itself. It made every later bug cheaper to find.

    Where would you invest next quarter?

    The obvious answer, and why it breaks

    The obvious use of verification time is writing tests, because tests find bugs and bugs are the visible output. Teams that only write tests rebuild the same drivers, checkers and scripts for each block, run slow regressions, and debug by hand. Infrastructure is invisible in a weekly bug count and decisive across a year: it changes the cost of every test that follows.

    The idea: investments that multiply

    Investment

    Pays back through

    DCRouter example

    Reusable environment (drivers, monitors, scoreboard)

    Every test becomes short

    dcr_env.svh: all Part 4–6 testbenches

    Shared checkers and assertions

    Every test checks more, for free

    dcr_sva.svh and dcr_fair.svh

    Coverage models

    Holes show where to spend effort

    dcr_cov.svh found both escaped bugs

    Reference models and generated register models

    Oracles written once (lessons 2.3, 2.4)

    The Python reference model and register table

    Regression speed and parallelism

    More runs per day, faster feedback

    bug-zoo.mjs running builds in parallel

    Debug and triage tools

    Hours saved per failure

    Failure messages naming rules; signature bucketing (lesson 13.5)

    Testbench self-checks (planted bugs, mutation)

    Confidence the checks work

    The Bug Zoo itself

    Judging an investment

    • Count the uses: how many tests, blocks or projects will use it? One use rarely justifies infrastructure.

    • Count the time per use: minutes saved per test or hours per debug, times the uses.

    • Count the bugs it enables: checkers and coverage find bugs tests alone miss (the matrix of lesson 6.9).

    • Count the risk it removes: a generated register model removes a whole class of copy errors.

    • Prefer what travels: assets usable at block, subsystem and chip level and on the next project (lesson 8.3).

    How real teams invest

    Practice

    Purpose

    A verification infrastructure team or a share of each team's time

    Infrastructure is planned, not squeezed in

    Libraries of agents, checkers and coverage per interface

    Reuse across blocks and projects

    Metrics on regression throughput and time-to-debug

    Infrastructure value made visible

    What breaks

    A team (illustrative) wrote a new scoreboard for each of five similar blocks, each by a different engineer, each with slightly different matching rules. Two of the five had ordering bugs of their own; a shared, reviewed scoreboard written once would have been better than all five and cost less than two of them.

    Why this matters

    Principal lens. Budget explicitly for infrastructure and measure its return in time per test, time per debug and bugs found by shared checkers and coverage. The highest-return investments are usually the least visible: environments, checkers, coverage models, regression speed and triage automation.

    Interview

    Asked: "Where would you invest next quarter?"

    Weak answer: Write more tests.

    Strong answer: Where an investment multiplies across tests and projects. Typically: a reusable environment so each test is short; shared checkers and assertions so every test checks more; coverage models that show where effort should go; reference and generated register models; regression speed; and debug and triage tools such as failure signatures. I'd judge each by uses times time saved, plus the bugs and risk it removes. In the course's router project, a shared environment written once made every later testbench a few dozen lines, and a coverage model found the last two escaped bugs.

    Follow-ups: (1) How do you measure the return? (2) What infrastructure travels best?

    Check yourself Why did DCRouter's shared environment pay off even though it found no bugs itself?

    Every later testbench reused it, so each new test cost a few dozen lines and gained the scoreboard's checks automatically.

    Check yourself Name an infrastructure investment that removes a whole class of bugs rather than finding them.

    Generating register models, RTL and headers from one machine-readable register map, which removes copy errors between them.

    Key takeaways

    • Infrastructure makes every future bug cheaper to find.

    • Judge investments by uses times time saved, plus bugs and risk they remove.

    • Environments, checkers, coverage, regression speed and triage tools usually pay best.

    Keep going

    Next: Drills: Bug Economics. Interview questions, a whiteboard exercise and a ten-question checkpoint for Part 12.

    Related topics

    • Part 12 overview: Bug Economics

    Previous

    121 / 160

    Next: Drills: Bug Economics

    Up next

    Up nextDrills: Bug Economics

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • The Cost of Bugs by Stage
    • Bug-Discovery Curves
    • Diminishing Returns