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
    • The Verification Plan
    • Feature Extraction
    • Risk-Based Prioritisation
    • Estimating Effort
    • Metrics and Their Traps
    • Regression Strategy
    • Managing Change
    • Planning DCRouter
    • Drills: Planning and Risk
  • 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 9: Planning and Risk
  1. Topics
  2. First Principles of Verification Strategy
  3. Part 9: Planning and Risk
  4. Feature Extraction

Part 9 · Planning and Risk · Working (W)

Feature Extraction

A plan starts by turning the specification into a list of verifiable features: behaviours small enough to have one clear check and one clear coverage goal, organised so nothing falls between them. Where features come from (functions, interfaces, configurations, errors, interactions, non-functional requirements), how fine to cut them, and DCRouter's features worked through.

On this page

    Note

    Level: Working (W) · Answers: What should we verify first, and how much?

    Before this: The Verification Plan, From Prose to Rules

    Two engineers extract features from DCRouter's specification. One produces four: "routing", "arbitration", "registers", "low power". The other produces 160, one for every sentence and every register field. The first list is too coarse to tell whether anything is verified; "arbitration" could mean one test or fifty. The second is too fine to manage and still misses things, because the riskiest behaviours (two features interacting) are not sentences in the specification at all.

    How do you turn a specification into features a plan can track?

    The obvious answer, and why it breaks

    The obvious method walks the specification's headings and makes each a feature. Headings follow how the document was written, not how the design can fail: they group by topic, ignore interactions, and rarely list error behaviour, configurations or performance as separate items. A good feature list is organised by what must be checked.

    The idea: six sources of features

    Source

    Question

    DCRouter features

    Functions

    What does it do with normal input?

    Forward whole packets; per-flow order; length handling; CRC check

    Interfaces

    What does each port promise and require?

    Valid/ready ingress; credit egress; APB access

    Configurations and modes

    What can be set, and what changes?

    Port enable; priority enable; low-power enable

    Errors

    What happens with bad input or conditions?

    Bad CRC; length 0; unmapped address; counter saturation

    Interactions

    What happens when features overlap?

    Priority and fairness together; sleep with traffic in flight; clears during counting; simultaneous tails

    Non-functional

    How fast, how fair, how much power?

    Throughput; bounded waiting; sleep entry and wake latency

    How fine to cut

    • One feature, one check, one coverage goal: if a feature needs several unrelated checks, split it; if two features share every check, merge them.

    • Every rule maps to at least one feature (DCRouter's R1 to R13 from lesson 2.2), and every feature traces to at least one rule.

    • Interactions are features of their own: they are where bugs hide (lesson 1.9) and they appear in no single section.

    • Typical size: a block has tens of features, not four and not hundreds; DCRouter has about thirty (lesson 9.8).

    Questions that find missing features

    • What happens at reset, and in the first cycles after it?

    • What happens at every limit: full, empty, zero, maximum, saturation?

    • What happens when two things happen in the same cycle?

    • What happens in every mode, and when the mode changes mid-operation?

    • What does the software do with this block, step by step?

    These are lesson 2.5's specification-review questions, used a second time: every silence they expose is either a specification bug or a missing feature.

    How real teams extract features

    Practice

    Purpose

    Feature extraction workshops with designers and architects

    Intent and interactions the document does not state

    Feature lists linked to specification sections and requirement IDs

    Traceability from the start

    Explicit interaction and error sections in the plan

    The categories headings usually miss

    What breaks

    A plan (illustrative) extracted features from a DMA engine's specification chapter by chapter: descriptors, channels, interrupts, errors. Each was verified thoroughly. The bug was a descriptor completing on one channel while another channel's error interrupt was being cleared: an interaction between two chapters, listed in neither. An "interactions" section in the feature list, filled by asking which features share state, would have named it.

    Why this matters

    Senior lens. Extract features from six sources, not from the table of contents: functions, interfaces, configurations, errors, interactions and non-functional requirements. Make interactions explicit features, cut each feature to one check and one coverage goal, and review the list with designers before anything else is built.

    Interview

    Asked: "How do you start a verification plan?"

    Weak answer: Write a test for each section of the spec.

    Strong answer: By extracting features, from six sources: functions, interfaces, configurations and modes, error behaviour, interactions between features, and non-functional requirements like throughput and fairness. Each feature is cut to one clear check and one coverage goal, every numbered rule maps to a feature, and interactions get features of their own because they're where bugs hide and no single section describes them. Then I review the list with designers and architects before ranking it by risk.

    Follow-ups: (1) Why are interactions separate features? (2) How do you know a feature is the right size?

    Check yourself Name two DCRouter interaction features that no single specification section describes.

    For example: sleep entry while a packet is in flight (low power and forwarding), and clearing a counter in the same cycle it increments (registers and error counting).

    Check yourself Why is "arbitration" too coarse as a feature?

    It hides several separately checkable behaviours (round-robin rotation, priority, priority disabled, fairness bound), so "arbitration verified" says nothing about which were.

    Key takeaways

    • Extract features from functions, interfaces, configurations, errors, interactions and non-functional requirements.

    • Cut each feature to one check and one coverage goal; make interactions explicit features.

    • Use the specification-review questions to find features the document never states.

    Keep going

    Next: Lesson 9.3, Risk-Based Prioritisation. Verifying the scariest features first.

    Related topics

    • Part 9 overview: Planning and Risk

    Previous

    91 / 160

    Next: Risk-Based Prioritisation

    Up next

    Up nextRisk-Based Prioritisation

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Estimating Effort
    • Metrics and Their Traps
    • Regression Strategy