Design & Reuse

Commentary: Spec raises bar for IP and SoC verification

<A HREF="http://as.cmpnet.com/event.ng/Type=click&FlightID=43323&AdID=72206&TargetID=649&Segments=823,885,1411,2722,3108,3448,3598,5106&Targets=649,786,2625,2878&Values=34,46,51,63,77,82,93,100,140,203,304,309,442,450,646,1388,1766,1785,1798,1901,1925,2048,2299,2326,2408,2678,2727,2898&RawValues=&Redirect=" target="_top"></A>
EE Times: Latest News
Spec raises bar for IP and SoC verification

 
Everyone knows that design reuse is essential for system-on-chip (SoC) development and that functional verification consumes the largest portion of the development process. Reuse of blocks from previous-generation chips or related chips within the same organization is universal, and acquisition of design IP from internal or external sources is quite common among SoC design teams.

Although reuse shortens the design time, verification takes 60-80% of the development effort for most SoC projects and functional verification is the dominant task. Most other verification tasks are highly automated; for example equivalence checking and most physical verification steps require relatively little user interaction. However, the process of developing verification models, writing tests, setting up for testbench automation, and debugging test results is enormously time-consuming.

Recognizing the growing challenges for chip functional verification, the The specification includes a wide range of information about VC and SoC functional verification. It is intended for use by VC providers to guide their verification efforts and to advise them on verification-related deliverables. The specification:

The scope of the deliverables is quite broad, ranging from traditional elements such as testbenches and simulation test suites to assertions, formal verification constraints and other information needed for emerging verification techniques. Since not all VC providers and SoC developers use the same verification techniques, many deliverables are either optional or conditional depending upon specific VC or SoC attributes.

After each deliverable is defined, the specification lists the acceptable formats and the applicability for different forms of VC (e.g., RTL versus hard macro). A deliverable may be mandatory, conditionally mandatory, recommended or conditionally recommended. The conditional deliverables may hinge upon the forms of VC or upon whether a particular form of functional verification is used by the VC provider or the SoC developers. The specification explains the reason for the applicability classification. For example, it might state that a particular deliverable helps the VC integrator verify the integrity of the VC within the SoC. The applicability also reflects best practices for VC and SoC verification teams. Some verification techniques and their associated deliverables, while not mandatory, may be recommended because leading verification teams employ these techniques successfully.

Finally, a detailed set of rules is provided for each deliverable, ranging from one or two for some items to more than ninety rules and guidelines for testbenches. Each rule includes a detailed justification so that both the VC provider and integrator understand why it is important. Examples are included for many of the deliverables, especially when they represent emerging verification approaches that might not be familiar to all readers.

The goals of the VSIA specification are to foster higher-quality VC functional verification, provide objective criteria by which SoC developers can assess the verification quality of VCs under consideration, and enable effective integration of VCs into SoCs. By employing the best practices in the specification and following its rules, both the VC provider and the VC integrator are more likely to have a successful reuse experience.

Thomas Anderson is chair of the VSIA Functional Verification DWG and a technical marketing consultant. He can be reached at tla@vsi.org.