How do we break the <br />Formal Verification Scalability Barrier ?<br />Ziyad Hanna<br />Jasper Design Automation<br />Ma...
Jasper Design Automation<br />Gothenburg, Sweden<br />EDA leader of formal technologies in delivering targeted ROI solutio...
Design and Verification Activities … <br />Spec development <br />OS bring up<br />Mask development <br />Benchmarking<br ...
Problem Statement <br />Verification complexity increases at an exponential rate<br />Costly labor and IT resources<br />H...
Formal Technology Comes of Age<br />EDAC Market Statistics Service (MSS) aggregates and reports revenue growth by tool cat...
Early Formal Tools<br />Required Formal PhD Users<br />What We’ve Learned About the Market<br />Value<br />Show Deployabil...
Scalability – Customers Perspectives <br />Handle bigger and more complex designs<br />From small blocks, units, clusters,...
Scalability - Technology Perspectives <br />Interactive: users have full control and performing parallel tasks <br /><ul><...
Parallel: multithreading, computer clusters, farms and clouds
Elastic: Dynamic verification tasks, grow and shrink on-the-fly
Programmable: API for creating/expanding capabilities
Collaboration: interoperability and sharing results </li></li></ul><li>Scalability - Technology Perspectives <br />Interac...
Parallel: multithreading, computer clusters, farms and clouds
Elastic: Dynamic verification tasks, grow and shrink on-the-fly
Programmable: API for creating/expanding capabilities
Collaboration: interoperability and sharing results </li></li></ul><li>Design Info.<br />Black boxing<br />Elaborate contr...
VisualizeTMfor Interactive Debug & Exploration<br />failure_condition<br />Data structure corruption at cycle 16.  Can it ...
Trace concatenation
Auto-exploration</li></ul>Configurations stack manager<br />Pushes & pops constraints<br />Modifies netlist on-the-fly<br />
Scalability - Technology Perspectives <br />Interactive: users have full control and performing parallel tasks <br /><ul><...
Parallel: multithreading, computer clusters, farms and clouds
Elastic: Dynamic verification tasks, grow and shrink on-the-fly
Programmable: API for creating/expanding capabilities
Upcoming SlideShare
Loading in …5
×

Track c how do we break - jasper

616 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
616
On SlideShare
0
From Embeds
0
Number of Embeds
51
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Track c how do we break - jasper

  1. 1. How do we break the <br />Formal Verification Scalability Barrier ?<br />Ziyad Hanna<br />Jasper Design Automation<br />May 4, 2011<br />May 4, 2011<br />
  2. 2. Jasper Design Automation<br />Gothenburg, Sweden<br />EDA leader of formal technologies in delivering targeted ROI solutions for the design and verification <br />Mountain View, CA<br />Haifa, Israel<br />Belo Horizonte, Brazil<br />HP<br />
  3. 3. Design and Verification Activities … <br />Spec development <br />OS bring up<br />Mask development <br />Benchmarking<br />Heat <br />Test planning<br />Reliability Verification <br />RTL Development <br />Unit testing<br />Circuit marginality verification <br />Power estimation <br />Simulation<br />Coverage Analysis <br />Noise Analysis<br />Power Verification<br />How to cope with all of this ?<br />Assertion writing<br />Synthesis <br />Device Driver development <br />RC estimation and verification <br />Formal verification<br />Floor Planning <br />Timing Analysis<br />Protocol Checking<br />Process development <br />Custom block design <br />Equivalence Checking <br />Architecture Verification<br />Library Design <br />Connectivity verification <br />Software Development <br />Emulation<br />Performance Verification <br />Layout <br />FPGA<br />Fracture Verification <br />Full chip integration<br />Firmware <br />Post –si Debug & Validation<br />High Level Synthesis <br />
  4. 4. Problem Statement <br />Verification complexity increases at an exponential rate<br />Costly labor and IT resources<br />Hard to predict the quality and TTM <br />Existing dynamic verification methods are unable to close the verification gap<br />Logic escapes are still cannot be avoided<br />Post-Silicon validation <br />Design problem, or Verification problem, or both ?<br />
  5. 5. Formal Technology Comes of Age<br />EDAC Market Statistics Service (MSS) aggregates and reports revenue growth by tool category<br />Formal Property Checking category had 3rd fastest-growing revenue in EDA/IP (latest MSS report Q3’10)<br />
  6. 6. Early Formal Tools<br />Required Formal PhD Users<br />What We’ve Learned About the Market<br />Value<br />Show Deployability<br />Raise Expectations<br />Effort<br />Big EDA Vendors’ Formal Tools <br />Reduced Effort, Sacrificed Value<br />
  7. 7. Scalability – Customers Perspectives <br />Handle bigger and more complex designs<br />From small blocks, units, clusters, CPU to systems<br />Coping with exponential design complexity <br />Solve hard problems in design and verification<br />Spectrum of applications beyond model checking <br />Handle emerging design styles<br />FF/Latch based designs, async, clock glitches, CDC …<br />Enable project level multiuser/parallel engineering/reuse and collaboration methodologies<br />Scale economically with high utilization of licenses <br />
  8. 8. Scalability - Technology Perspectives <br />Interactive: users have full control and performing parallel tasks <br /><ul><li>Capacity & Performance: coping with large and complex designs
  9. 9. Parallel: multithreading, computer clusters, farms and clouds
  10. 10. Elastic: Dynamic verification tasks, grow and shrink on-the-fly
  11. 11. Programmable: API for creating/expanding capabilities
  12. 12. Collaboration: interoperability and sharing results </li></li></ul><li>Scalability - Technology Perspectives <br />Interactive: users have full control and performing parallel tasks <br /><ul><li>Capacity & Performance: coping with large and complex designs
  13. 13. Parallel: multithreading, computer clusters, farms and clouds
  14. 14. Elastic: Dynamic verification tasks, grow and shrink on-the-fly
  15. 15. Programmable: API for creating/expanding capabilities
  16. 16. Collaboration: interoperability and sharing results </li></li></ul><li>Design Info.<br />Black boxing<br />Elaborate control<br />Design Analyze & Elaborate<br />Elastic Task Management<br />Create/copy tasks<br />Stopat<br />Add/remove assumptions<br />Add/remove assertions<br />Set engine mode<br />Clock and reset analysis<br />Source code viewer <br />Automatic Clock and Reset Analysis,<br />Visualize Important Behaviors<br />Automatic Convergence Flow<br />Tool Assisted Interactive Flow <br />PGM Analysis<br />Automatic Reduction and Tuning<br />Complexity Manager<br />Abstractions / <br />Proof Accelerators<br />ProofGrid <br />Manager<br />Design Space Tunneling (DST)<br />(Learn Design, Discover Abstraction) <br />Automatic Abstraction<br />State Space Tunneling (SST)<br />(Discover and Prove Intermediate Properties) <br />ProofGrid<br />Visualize, Comprehend<br />Change engine mode<br />Lift assumptions<br />Check assumptions <br />Proof Engines<br />NO – Interactive Proof<br />NO<br />Proof ?<br />CEX<br />Debug<br />
  17. 17. VisualizeTMfor Interactive Debug & Exploration<br />failure_condition<br />Data structure corruption at cycle 16. Can it then cause to violation interrupt?<br /><ul><li>QuietTrace
  18. 18. Trace concatenation
  19. 19. Auto-exploration</li></ul>Configurations stack manager<br />Pushes & pops constraints<br />Modifies netlist on-the-fly<br />
  20. 20. Scalability - Technology Perspectives <br />Interactive: users have full control and performing parallel tasks <br /><ul><li>Capacity & Performance: coping with large and complex designs
  21. 21. Parallel: multithreading, computer clusters, farms and clouds
  22. 22. Elastic: Dynamic verification tasks, grow and shrink on-the-fly
  23. 23. Programmable: API for creating/expanding capabilities
  24. 24. Collaboration: interoperability and sharing results </li></li></ul><li>Common Big Numbers in Modern CPU, Internet and Formal Verification<br />10^11 = 100,000,000,000 Estimated # of web pages in the internet<br />10^12 = 1,000,000,000,000 Estimated # of polygons in modern CPU<br />10^29 =~ 29715398713946329230000259072<br /> Exact # of reachable states of a simple arbiter (Input =42, Flop =104). Formal tools can build in few seconds<br />10^57 =~ 15491717493384086302251914627137286712632320245916237824<br /> # of reachable state in real life RTL design (Input=58, Flop=117). Formal tool can build in 10 minutes ! <br />
  25. 25. Managing Proof Capacity – Automatic Abstraction<br />CEX?<br />Model Checking<br />at depth k cycles <br />done<br />No CEX?<br />Automatic Abstraction<br />Learning, Increase k, refinement<br />True?<br />Model Checking<br />done<br />False?<br />
  26. 26. Managing Proof Capacity – Interactive Abstraction<br />Design Tunneling – formal analysis guided expansion algorithms<br />Interactive State Space Tunneling<br />Design Abstraction and Proof Accelerators <br />
  27. 27. Performance Evolution<br />(on SUN OPENSPARC Design)<br />Phase-1<br />Phase-2<br />Phase-3<br />Emerging hardware gives 2X speedup<br />Parallel Proofs boost the performance by additional 10X <br />Engine technology boost the proofs by additional ~4X<br />
  28. 28. Scalability - Technology Perspectives <br />Interactive: users have full control and performing parallel tasks <br /><ul><li>Capacity & Performance: coping with large and complex designs
  29. 29. Parallel: multithreading, computer clusters, farms and clouds
  30. 30. Elastic: Dynamic verification tasks, grow and shrink on-the-fly
  31. 31. Programmable: API for creating/expanding capabilities
  32. 32. Collaboration: interoperability and sharing results </li></li></ul><li>ProofGrid™ - Parallel Processing<br />engine D<br />C<br />I<br />G<br />K<br />B<br /><ul><li>Dynamic scheduling and parallel engine allocation on local machine, cluster, farm or cloud
  33. 33. Seamless tracking & reporting</li></ul>✖<br />P0<br />P1<br />P2<br />P3<br />P9<br />P10<br />P11<br />✔<br />✔<br />✔<br />✖<br />P4<br />✖<br />P5<br />Throughput<br />✖<br />P6<br />✔<br />P7<br />✔<br />P8<br />✔<br />✔<br />✔<br />✖<br />P13<br />Capacity<br />
  34. 34. Server Farm<br />Property Divide and Conquer <br />always (P and Q and R) <=> (always P) and (always Q) and (always R)<br />✔<br />P<br />P<br />✔<br />Q<br />Q<br />✔<br />R<br />R<br />✔<br /><ul><li>A subset of properties can be decomposed
  35. 35. Sometimes it is harder to prove the sub goals standalone !</li></li></ul><li>Scalability - Technology Perspectives <br />Interactive: users have full control and performing parallel tasks <br /><ul><li>Capacity & Performance: coping with large and complex designs
  36. 36. Parallel: multithreading, computer clusters, farms and clouds
  37. 37. Elastic: Dynamic verification tasks, grow and shrink on-the-fly
  38. 38. Programmable: API for creating/expanding capabilities
  39. 39. Collaboration: interoperability and sharing results </li></li></ul><li>Scalability via Sharing<br />Arch and uArch Design <br />RTL Block Design <br />RTL Block Verification<br />Design and IP Leverage<br />SoC Integration<br />Protocol Certification<br />Verification<br />Data Base<br />Post-Silicon Debug & Verification <br />Low Power Verification<br />
  40. 40. Conclusions<br />Scalability is a multi-dimensional goal and requires a holistic approach to achieve it <br />Scalability from user perspective is a key enabler for making formal key technology to deploy<br />With scalability in mind, formal technology has come of age<br />
  41. 41. Thank You<br />

×