Simulation Alone Can't Find CDC Bugs
Metastability is rare—simulation might miss it. Formal verification proves CDC correctness exhaustively.
Formal CDC Tools:
• Synopsys SpyGlass CDC
• Cadence Xcelium formal
• OneSpin CDC
• Open tools: SVA-based properties
• Synopsys SpyGlass CDC
• Cadence Xcelium formal
• OneSpin CDC
• Open tools: SVA-based properties
Formal Assertions for CDC
- ✅ Synchronizer check: 2+ FFs before use
- ✅ Gray code validation: Only 1-bit change per cycle
- ✅ Setup/hold safety: Async inputs have sufficient delay
- ✅ Reset sync: Applied to all domains
Key Takeaways
- ✅ Simulation = runtime verification (may miss rare bugs)
- ✅ Formal = exhaustive proof (finds all corner cases)
- ✅ Use both: simulate for functionality, formal for CDC safety
Day 13: Commercial tools & flows.