Your SlideShare is downloading. ×
0
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Track c   how do we break - jasper
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Track c how do we break - jasper

415

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
415
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 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. 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. 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. 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. 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. 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. 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. Parallel: multithreading, computer clusters, farms and clouds
  • 10. Elastic: Dynamic verification tasks, grow and shrink on-the-fly
  • 11. Programmable: API for creating/expanding capabilities
  • 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. Parallel: multithreading, computer clusters, farms and clouds
  • 14. Elastic: Dynamic verification tasks, grow and shrink on-the-fly
  • 15. Programmable: API for creating/expanding capabilities
  • 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. 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. Trace concatenation
  • 19. Auto-exploration</li></ul>Configurations stack manager<br />Pushes & pops constraints<br />Modifies netlist on-the-fly<br />
  • 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. Parallel: multithreading, computer clusters, farms and clouds
  • 22. Elastic: Dynamic verification tasks, grow and shrink on-the-fly
  • 23. Programmable: API for creating/expanding capabilities
  • 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. 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. 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. 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. 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. Parallel: multithreading, computer clusters, farms and clouds
  • 30. Elastic: Dynamic verification tasks, grow and shrink on-the-fly
  • 31. Programmable: API for creating/expanding capabilities
  • 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. 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. 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. 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. Parallel: multithreading, computer clusters, farms and clouds
  • 37. Elastic: Dynamic verification tasks, grow and shrink on-the-fly
  • 38. Programmable: API for creating/expanding capabilities
  • 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. 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. Thank You<br />

×