- Ahmed Yehia - Mentor Graphics
Given today‟s design sizes and complexities, complex verification environments are built to ensure high levels of quality, reliability, and stability are maintained in the DUV (Design Under Verification) before tape out. Yet, this challenges the ability to analyze and track the huge amount of data generated from today‟s verification environments and manage the underlying resources. Vast amounts of simulation and coverage data (due to huge regressions runs and long simulation cycles) need to be analyzed and tracked to help answer the important verification questions "Does it work?", "Am I done?", "What am I missing to get things done?", "How can I improve my productivity?"
The Accellera‟s Unified Coverage Interoperability Standard (UCIS) is a new, open, and industry-standard API just released in June 2012. It promises to facilitate and improve on verification productivity. It provides an application-programming interface (API) that enables sharing of coverage data across multiple tools from multiple vendors .
In this paper, we present several generic UCIS applications that can be easily developed and deployed to help improve the verification productivity, simulation throughput, coverage analysis, and coverage closure process.
The increasing size and complexities of today‟s designs introduce many challenges to the verification goals, tasks, and process that result in a noticeable increase in the effort spent on verification, and has forced the necessity to increase the industries adoption of various new functional verification techniques . Typical verification environments encompass automation, coverage-driven constrained random verification, assertion-based verification, and transaction level modeling, while sophisticated verification environments may include formal verification, analog-digital mixed signal verification, and software-hardware co-simulation.
Indeed, many verification technologies and methodologies adopted by the industry have succeeded in improving the verification process in general, yet many verification challenges still exist in managing the verification process, writing/maintaining tests, time to debug, reaching coverage closure, and tracking project momentum smoothly.
The Accellera UCIS committee has released the Unified Coverage Interoperability Standard (UCIS) as an open and industry-standard API that promises to facilitate and improve verification productivity, and with an ultimate goal to allow interoperability of verification metrics across different tools from multiple vendors.
In this paper, we show how UCIS can help ease some of today‟s verification challenges, especially:
- Tests and testbench quality improvement.
- Simulation and regression throughput.
- Analysis of verification metrics.
- Coverage closure process.
- Project tracking.
Unified Coverage Interoperability Standard (UCIS) Overview:
The Accellera‟s Unified Coverage Interoperability Standard (UCIS) is an open and industry-standard API that promises to facilitate and improve on verification productivity. It provides an Application-Programming Interface (API) that enables the sharing of coverage data across software simulators, hardware accelerators, symbolic simulations, formal tools or custom verification tools . The Accellera UCIS committee was formed in November 2006, many companies joined and contributed to the committee including EDA vendors and user representatives from the largest companies in the industry. Mentor Graphics donated its UCDB (Unified Coverage DataBase) technology in June 2008 as a starting point of the UCIS standard. The UCIS 1.0 standard was released in June 2012.
UCIS defines a coverage database (UCISDB) as a single repository of all coverage data from all verification processes (e.g. Functional and Code Coverage, Formal Verification, Assertion Based Verification, Emulation, verification plan goals and objectives, user-defined coverage, etc.). The two main structures that form a UCISDB are:
- Scope: A hierarchical node that stores hierarchical design structure. A scope can have children scopes or cover-items.
- Cover-item: Holds actual counts of recorded events. A cover-item is a leaf construct; it cannot have children, and is essentially an informational wrapper around an integral count.
View & Download:
Read the entire UCIS Applications: Improving Verification Productivity, Simulation Throughput, and Coverage Closure Process technical paper.