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

  • How to Use This Course
  • Reading Paths
  • Glossary
  • Metrics Reference
  • Formal Cheat Sheet
  • Formal Foundations19
  • Properties and SVA16
  • Property Development and Constraints19
  • Proof Engines and Convergence23
    • Model Checking in Plain Terms
    • Bounded and Unbounded Results
      • BMC Unrolling by Hand
      • Choosing a Depth
      • What BMC Cannot Find
      • A Counterexample Always Wins
    • K-Induction in Depth
    • IC3, PDR and Interpolation, Concept Level
    • Fairness, Lassos and Liveness-to-Safety
    • Proof Convergence Tactics
  • Formal Applications20
  • Equivalence Checking14
  • Formal Coverage and Signoff15
  • Methodology and Debug13
  • Interview Prep15
  • Capstone: A Chip-Block Verification Lab24
Loading lesson

←Proof Engines and Convergence
  1. Topics
  2. Formal Verification
  3. Proof Engines and Convergence
  4. Bounded and Unbounded Results

Part 4 of 10Part 4 of 10/Proof Engines and ConvergenceAll levels

Bounded and Unbounded Results

Bounded search unrolled by hand, how to derive a depth, what a bounded pass licenses, and why a counterexample always wins.

  • 4topics
  • 4lessons

A bounded run answers a narrow question: is there a violation within N steps of reset? Everything in this topic follows from taking that question literally. You will unroll a design by hand, derive depths from reset length plus trigger length plus latency plus one, watch a late bug hide below its bound and appear above it, and learn the rule that settles every argument about disagreeing runs: on the same model, a counterexample always wins.

Lesson

After it you can...

BMC Unrolling by Hand

Write out what a bounded check asks the solver and price it in clauses.

Choosing a Depth

Derive a depth from the design instead of guessing one.

What BMC Cannot Find

Report bounded to N honestly and show the bug it misses.

A Counterexample Always Wins

Settle a disagreeing-runs argument by listing what differed.

Suggested order: top to bottom. Unrolling first, because depth means nothing until you see the copies. Depth choice second, because it uses the unrolling picture. The invisible-bug lesson third, because it motivates the depth rules. The wins-every-time rule last, because it generalises the whole topic beyond depth to assumptions and reset.

Flowchart: a bounded pass leads to justifying the bound, which either becomes a signoff-grade bounded result or hands over to induction; a counterexample wins outright.
What a bounded pass, an inductive pass and a counterexample each license.
Check yourself What single sentence distinguishes a bounded pass from a proof?

A bounded pass says no violation within N steps of reset; a proof says no violation in any reachable state. The first is a statement about the search, the second about the design.

Expect to derive a depth on the whiteboard from reset, trigger and latency, and to say exactly what bounded to N licenses. The second lesson is that derivation with numbers.

PreviousNext: BMC Unrolling by Hand

Up next

Up nextBMC Unrolling by Hand

Sign in to save progress

Practice this lessonPrevious lessonReport an error

See also

  • Model Checking in Plain Terms
  • K-Induction in Depth
  • IC3, PDR and Interpolation, Concept Level