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
    • Intent and the Oracle
    • From Prose to Rules
    • Reference Models
    • Tables and Executable Specifications
    • Specification Review and Ambiguity
    • Requirements Traceability
    • What Not to Check
    • Drills: Specifications as Checkable Rules
  • 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
  • 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 2: Specifications as Checkable Rules
  1. Topics
  2. First Principles of Verification Strategy
  3. Part 2: Specifications as Checkable Rules
  4. Drills: Specifications as Checkable Rules

Part 2 · Specifications as Checkable Rules · All levels

Drills: Specifications as Checkable Rules

Interview questions, a whiteboard exercise and a ten-question checkpoint for Part 2.

On this page

    Answer each question out loud before opening it. If you miss more than three in the checkpoint, revisit the lessons linked at the end.

    Interview questions

    Check yourself What is a test oracle?

    Whatever decides whether an observed behaviour is correct: a rule, an assertion, a reference model, a table. Without one, a test only shows the design did something.

    Check yourself How do you turn a spec into checks?

    Sentence by sentence into numbered rules stating trigger, definitions in signals, obligation, timing and exceptions; each rule then maps to an assertion or a model prediction, plus coverage.

    Check yourself How abstract should a reference model be?

    As abstract as the specification: predict results and per-flow order, not cycles, so it allows every legal implementation and is simpler than the design.

    Check yourself How do you keep a register model in sync with the spec?

    Generate both from one machine-readable source such as IP-XACT or SystemRDL and check with a table-driven checker.

    Check yourself What do you do with an ambiguous requirement?

    File it with an owner, get a written answer from the specification owner, check the strictest reasonable reading meanwhile, and never let the RTL answer it.

    Check yourself How do you show every requirement is verified?

    A per-requirement chain from rule to checks to coverage to results, generated from rule IDs in the checks and coverage.

    Check yourself Can a checker be too strict?

    Yes: a check stricter than the spec fails legal designs, buries real failures and makes the testbench the specification.

    Whiteboard exercise

    Task. A specification says: "The DMA engine copies a descriptor's buffer to its destination and raises an interrupt when done. Errors are reported in STATUS." Turn it into numbered rules, list the questions you would file, and say which rules become assertions and which become reference-model predictions.

    Check yourself Open a model answer

    Rules (after answers): R1 every byte of the source buffer appears at the destination, in order; R2 the interrupt rises within a bound after the last write completes and only if enabled; R3 an error (bus error, bad alignment, zero length) sets a specific STATUS code and stops that descriptor; R4 the interrupt is level or pulse, cleared by a defined write. Questions: overlapping buffers? zero-length descriptors? what if a new descriptor arrives while busy? which errors exist and are they sticky? interrupt per descriptor or per chain? does an error raise the interrupt? Checks: R1 is a reference-model prediction (memory contents compared after the copy); R2 and R4 are assertions on signals with a latency bound; R3 is a table of error conditions and codes driven by error-injection tests. Each rule gets coverage: lengths at the limits, every error code, interrupt enabled and disabled.

    Checkpoint: ten questions

    Check yourself 1. Why is "the test ran without errors" not evidence?

    With no oracle, nothing could have reported an error; the test only shows the design did something.

    Check yourself 2. Name the parts of a checkable rule.

    Trigger, definitions in signals, obligation, timing, exceptions (and consequences).

    Check yourself 3. Which DCRouter rule does sleeping with an output locked break?

    R13b.

    Check yourself 4. Why does DCRouter's reference model predict per-flow queues rather than one output stream?

    Only order within a flow is promised; the interleaving at an output is the arbiter's choice.

    Check yourself 5. What CRC-8 check value does the model confirm before it is trusted?

    0xF4 for the ASCII string "123456789" (CRC-8/SMBUS).

    Check yourself 6. What did the table-driven register checker find?

    CTRL read 0x37 after reset instead of 0x3F, and a read of 0x40 answered without pslverr.

    Check yourself 7. What can a register table not describe?

    Hardware-updated values such as counters, timing between a write and its effect, and history-dependent behaviour.

    Check yourself 8. Which question finds the most specification gaps?

    Usually "what if two events happen in the same cycle?", along with reset, limits and errors.

    Check yourself 9. A requirement has a check and a passing test but no coverage. What is the risk?

    The check may never have been exercised in the situation it guards.

    Check yourself 10. The spec gives a latency bound of 10; the check asserts exactly 7. What is wrong?

    It forbids every legal latency except 7 (1 to 6 and 8 to 10); assert the bound.

    Revisit

    • 2.1 Intent and the Oracle

    • 2.2 From Prose to Rules

    • 2.3 Reference Models

    • 2.4 Tables and Executable Specifications

    • 2.5 Specification Review and Ambiguity

    • 2.6 Requirements Traceability

    • 2.7 What Not to Check

    Keep going

    Next: Part 3: Observability and Controllability. Can we see and steer what matters?

    Previous

    32 / 160

    Next: Part 3: Observability and Controllability

    Up next

    Up nextPart 3: Observability and Controllability

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Intent and the Oracle
    • From Prose to Rules
    • Reference Models