Sunday, May 19, 2013

Design Verification (DV) Overview

With ever increasing complexity of state-of-the-art chips, hundreds of millions gates and billions of transistors, with complex low power states, the task of verifying that the logic design conforms to specification is becoming more and more important. The VLSI Industry pundits are advocating more so for the 3-4 Verification Engineer per Designer rule, also known as 3-1 rule.  
The Design Verification attempts to answer the question "Does this proposed design do what is intended?" This is a complex task, and takes the majority of time and effort in most large Processor, SOC design projects. More widely viewing the role of DV engineers does not limit to only functional verification, it includes non-functional aspects like Low-Power Verification, Timing, Design to Layout Formal equivalence.
Functional verification is very difficult because of the sheer volume of possible testcases that exist in even a simple design. For a chip that receives total 100bits of binary inputs, ideally you will simulate all 2^100 = 2^80 Million possible combinations over those many clock cycles to prove that, when manufactured, chip is going to work correctly. Presuming you could simulate 1 million patterns per second you still need 2^80 million seconds to simulate it all, which you dont necessarily have in our life, to put into perspective there are only 2^31.55 seconds in 100 years. 
Such is the volume of the problem DV engineers deal with. There is lots of smartness goes into creating a testplan that gives the coverage comparable to exhaustive input patterns without spending 100s of human life time to sign off on verification. There is a combination of techniques applied to conquer the Verif challenge:
  • Logic simulation: Simulates the chip before using industry standard simulators like: VCS, ModelSim etc.
  • Emulation: Builds a version of system using programmable logic. This is expensive, and still much slower than the real hardware, but orders of magnitude faster than simulation. Example: Quickturn.
  • (Semi) Formal verification attempts to prove mathematically that certain requirements (also expressed formally) are met, or that certain undesired behaviors (such as deadlock) cannot occur.
  • Intelligent verification uses automation to adapt the testbench to changes in the register transfer level code.

No comments:

Post a Comment