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
    • Levels and What They See
    • What to Verify Where
    • Reuse up the Hierarchy
    • Standard Interfaces and VIP
    • SoC and Software-Driven Tests
    • Hardware-Software Co-Verification
    • Performance and Power Verification
    • Drills: Verification Levels and Reuse
  • 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 8: Verification Levels and Reuse
  1. Topics
  2. First Principles of Verification Strategy
  3. Part 8: Verification Levels and Reuse
  4. Performance and Power Verification

Part 8 · Verification Levels and Reuse · Senior (S)

Performance and Power Verification

A chip can be functionally correct and still fail because it is too slow or uses too much power, or because its power management corrupts state. Performance is verified against numbers at the level where the workload is realistic; power intent (domains, isolation, retention, sequencing) is verified with power-aware simulation and formal checks. What each needs, level by level, with DCRouter's low-power mode as the example.

On this page

    Note

    Level: Senior (S) · Answers: At which level should each thing be verified?

    Before this: Hardware-Software Co-Verification, Checking Performance

    DCRouter's sleep mode saves power by stopping traffic after 8 idle cycles. In the SoC, the power team wants more: switch off DCRouter's power domain entirely when the DMA engines are idle. Now the questions change. Are DCRouter's outputs clamped to safe values while it is off, so the memory controllers do not see garbage? Which registers keep their values, and which must software restore? Does the wake sequence leave enough time for the supply to settle before traffic starts? None of these is visible in plain RTL simulation, where power is always on.

    How do you verify performance and power, not just function?

    The obvious answer, and why it breaks

    The obvious approach treats performance and power as implementation concerns, measured late on the netlist or the silicon. By then, an architectural bottleneck or a missing isolation cell costs a redesign. Both have verifiable specifications early: performance as bounds and targets (lesson 5.9), power as a separate description of the design's power intent. Both need their own checks, at the levels where they can be seen.

    Performance: numbers at the right level

    Level

    What it can verify

    DCRouter example

    Block

    Latency bounds, fairness, throughput at saturation under synthetic traffic

    Head-of-line wait at most 16 cycles; 1 flit per cycle per output

    Subsystem

    Throughput with real neighbours and their back-pressure

    Bandwidth with real memory controllers' credit behaviour

    Chip and emulation

    End-to-end performance on real workloads and software

    Copy bandwidth seen by the driver under a real traffic mix

    Architecture model

    Expected numbers to compare against

    A performance model predicting the bandwidth each workload should reach

    Power: verifying power intent

    Power intent is described separately from the RTL, in IEEE 1801 (UPF): power domains, supplies, switches, isolation, retention and level shifters (fact V10). Verifying it means checking that the design behaves correctly as domains switch off and on.

    What can go wrong

    How it is verified

    Outputs of a powered-off domain float or carry garbage into live domains

    Power-aware simulation corrupts the off domain's signals; isolation must clamp them

    State that should be retained is lost

    Retention checks: saved before power-down, restored after

    Wake sequence too fast: traffic before the supply or reset settles

    Sequencing tests driven by the power controller model

    Missing isolation or level shifter on a crossing

    Static or formal checks of the power intent against the design

    Software power-management sequence wrong

    Chip-level software-driven tests with power-aware simulation

    • DCRouter's sleep mode is functional low power: it is verified by ordinary simulation (R13), as Parts 4 to 6 did; formal covers part of it too: lesson 7.9's credit property caught BUG_22 (credits lost while asleep), though no property there checks sleep entry or wake.

    • Switching off its domain is structural low power: only power-aware tools model the corruption that isolation and retention must handle.

    • Its three low-power bugs (BUG_20, 21, 22) are functional, which is why ordinary testbenches could find them; a missing isolation cell would not be.

    How real teams verify performance and power

    Practice

    Purpose

    Performance targets and bounds in the verification plan, with checkers

    Slow designs fail tests, not product reviews

    Performance models from architecture as references

    Expected numbers for each workload (lesson 5.9)

    Power-aware simulation and static power-intent checks

    Isolation, retention and sequencing verified before implementation

    Power-management software in chip-level tests

    The real sequences exercised against power-aware RTL

    What breaks

    A team (illustrative) verified a block's retention registers by checking that their values survived a power cycle in power-aware simulation. They did. The block's state machine, which was not retained, woke in its reset state while the retained registers held mid-transaction values, a combination the block's own tests had never seen, and the block hung after its first power cycle in the lab. A test exercising wake from a domain switched off mid-transaction would have shown it.

    Why this matters

    Senior lens. Give performance and power their own specifications and their own checks, at the levels where they appear: bounds at block level, real workloads at chip level and in emulation, power intent with power-aware simulation and static checks. Functional correctness with the power always on is only part of the evidence.

    Interview

    Asked: "How do you verify a power intent?"

    Weak answer: Check the power numbers after synthesis.

    Strong answer: Power intent is described in UPF, separate from the RTL: domains, supplies, switches, isolation, retention and level shifters. I verify it with static or formal checks that every domain crossing has the right isolation and level shifting, and with power-aware simulation, which corrupts a switched-off domain's state and signals so isolation and retention are actually exercised, plus sequencing tests and the real power-management software at chip level. That's different from functional low-power features like a sleep mode, which ordinary simulation and formal can verify.

    Follow-ups: (1) What does power-aware simulation do differently? (2) Why can't ordinary RTL simulation verify isolation?

    Check yourself Why could ordinary DCRouter testbenches find BUG_20, 21 and 22, but not a missing isolation cell?

    The three bugs are in DCRouter's functional sleep logic, which ordinary simulation models; isolation only matters when a power domain is switched off, which only power-aware simulation models.

    Check yourself At which level would you verify DCRouter's bandwidth under a real copy workload, and why?

    Chip level or emulation: the workload needs real DMA engines, memory controllers and software; block level only shows bandwidth under synthetic traffic.

    Key takeaways

    • Performance and power need their own specifications and checks, not just functional correctness.

    • Verify performance as numbers at the level where the workload is realistic.

    • Verify power intent (UPF) with power-aware simulation and static checks; functional sleep modes are ordinary logic.

    Keep going

    Next: Drills: Verification Levels and Reuse. Interview questions, a whiteboard exercise and a ten-question checkpoint for Part 8.

    Related topics

    • Part 8 overview: Verification Levels and Reuse

    • Low-power verification course: Power-Aware Simulation

    Previous

    88 / 160

    Next: Drills: Verification Levels and Reuse

    Up next

    Up nextDrills: Verification Levels and Reuse

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Levels and What They See
    • What to Verify Where
    • Reuse up the Hierarchy