SureCov
Fast, Complete Code Verification

Verisity at a Glance
Are you looking for a comprehensive verification solution? Verisity is the verification company of choice for leading SOC semiconductor companies, system manufacturers, communication startups, and star IP providers.

SureCov Product Overview
Verification metrics are key to making the right tape-out decisions. Verisity's SureCov gives you a way to clearly measure the effectiveness of your test suite on your HDL implementation.

SureCov empowers your verification engineers to:

Effectively manage and measure their code verification progress and gauge the remaining effort

Quickly pinpoint areas of the design which have not yet been adequately covered and need additional testing

Identify any excess logic or potential holes in a functional test plan

SureCov, part of Verisity's suite of verification solutions, including eVC, Specman Elite, and Verification Advisor, gives you the fastest, most complete code verification capability in the market today.

Performance: Fast, Faster, Fastest
SureCov's unique approach to code verification utilizes native Verilog to instrument and analyze the source code without burdening the simulator. This patent-pending technology can achieve up to 4X better performance (i.e. lower overhead) than other coverage tools, while supporting all the leading Verilog simulators.



Highlights

  • Fastest Code Coverage Engine on the Market
  • Easy to Use, Very Intuitive
  • Industry's Most Comprehensive Feature Set

Features

Platform and Simulator Support

 

With the release of version 3.0, SureCov increases its performance lead with the introduction of re-instrumentation. With this feature, users of SureCov can dramatically reduce the time it takes to reach their overall coverage target. The speedup is proportional to the coverage attained and is attributed to removing coverage tracking on already covered HDL code. For example, if a user has reached 80% of their code coverage target, re-instrumentation removes code coverage metrics for items already covered (thereby reducing up to 80% coverage overhead), leaving only the remaining 20% to track the remaining coverage holes. The user benefits by being more productive and being able to close the loop on regression testing sooner.

Intuitive Graphical User Interface (GUI)


Click to enlarge

SureCov empowers users with intuitive features to help engineers work faster and smarter.

SureCov's graphical user interface makes it easy to understand the effectiveness of your test suite and shows which sections of the design remain to be adequately covered. It provides easy-to-use mechanisms to help you focus on the problem areas. Here's how:

COLOR CODING of the HDL source provides quick feedback on areas that need to be improved

COVERAGE LOCATOR BAR provides a color spectrum index into your code (right margin bar)

CROSS PROBING allows easy referencing between HDL source code and your FSM via Suresight's automatic generation of FSM bubble diagrams

SEARCH by text or by coverage selection and stepping through each finding

Block and Arc Coverage


Click to enlarge

SureCov makes it easy to understand the arcs (code branches) that have been taken and others which need additional testing - so you can be even more productive.

A block is defined as a sequence of HDL code that contains no branches (arcs). If the first line of a block is executed, then all lines of the block are executed. Block coverage, in effect, provides essentially the same information as line coverage, with less overhead. Arcs are typically created by Verilog case or if-then-else statements. Arc coverage is different from block coverage because arcs specify how simulation control entered a block.

SureCov displays block and arc coverage highlighted right in your code where it belongs. SureCov colors the lines entirely tested green, and those untested red. Code that has been executed at least once--but not from all possible arcs based on the control flow of the code -- is colored yellow.

Automatic FSM Analysis - state, transition and sequence


Click to enlarge

A picture is worth a thousand words and with SureCov, you get automatic FSM extraction for easy visualization to help you eliminate mistakes along the way.

By automatically recognizing and extracting Finite State Machines from synthesizable RTL, SureCov eliminates the tedious manual preprocessing required by other tools. FSMs are displayed as bubble diagrams without any user intervention. SureCov depicts the states and transitions in clear colors indicating if they are fully covered, not covered, or partially covered. To highlight problem areas, SureCov also distinguishes unreachable, redundant, and terminal states using orange, blue, and rectangles respectively. The user can define paths through FSMs and query the SureCov database to check coverage for a particular FSM sequence.

SureCov supports both Mealy and Moore machines and a variety of state variable encodings: regular state vector, one-hot state vector, individual scalars for each vector, and others.

For coding styles which are not commonly used and non-synthesizeable, such as data-flow design descriptions, SureCov enables FSM extraction through source code directives.

Comprehensive Event & Expression Coverage


Click to enlarge

SureCov's expression coverage quickly pinpoints On and Off product terms to help you verify your covered conditions more thoroughly.

SureCov event coverage measures if each event has triggered and caused the execution of the procedural block to continue.

For expression coverage, SureCov allows you to determine which term(s) in multi-term expressions, contribute to a true value for the expression's On Products and which term(s) contribute to a false value for the expression's Off Products. A minimized sum-of-products is provided for each expression. SureCov displays expression and event coverage right in the code or, by clicking on the source, takes you to the detail of the expression terms. SureCov enables three modes of expression coverage: only On Products, both On and Off Products, and Exclusive On/Off Product evaluation. For all three modes of operation, SureCov supports variable-width expressions.

Accurate Toggle Coverage


Click to enlarge

SureCov's toggle coverage gives you the right level of detail to help you isolate the problem more easily.

SureCov's toggle coverage can measure three forms of toggle coverage: simple assignments, value toggle, and strict toggle. In simple assignments, toggle coverage tracks whether each port, register, and wire has been driven to a known (non-X) value during simulation. It tracks whether each bit of each signal has reached either a low value or a high value during simulation. This is useful for early detection in the design process to ensure that all module ports, declared registers, and wires have been assigned to a known value and have come out of the unknown (X) state. Value toggle coverage expands all vectors into bits and verifies that each bit has been assigned to both 0 and 1. Value toggle coverage is useful late in the design process to verify that all bits have been (and can be) driven to both a logical 0 and a logical 1. For greater precision and accuracy, SureCov provides tracking of positive edges (0-1) and negative edges (1-0) through its strict toggle coverage option.

Flexible Instrumentation Control
The instrumented design is used in place of the original Verilog during simulation to track coverage. Running SureCov is simple - just type SureCov plus the standard Verilog options (-f, -y, -v, +libext+, etc.). No additional SureCov options are required. For added flexibility, SureCov supports partial instrumentation by allowing designers to enable and omit design libraries, modules, and instances as well as enabling and disabling select coverage types. This allows designers to further focus on the design areas important to their task.

Advanced Simulation Control
SureCov has advanced simulation control such as features which enables users to specify coverage start/stop times, write coverage databases at specified times (coverage checkpointing), and query code coverage metrics during simulation (dynamic coverage feedback). With this information, designers have even more control over their coverage tracking process, thus enabling them to better focus and direct simulation coverage on the areas that need it most.

Powerful Test Suite Ranking and Merging Capability


Click to enlarge

Test ranking and merging of different coverage databases is easier and more intuitive with SureCov.

SureCov has powerful utilities for test suite ranking and merging. Test suite ranking is useful for regression test selection or test time optimization. Users can quickly import test suites into SureCov and rank them based on any combination of coverage types. SureCov ranking helps to:

Identify tests that do not provide additional coverage

Identify which tests achieve the most coverage in the shortest amount of simulation time

SureCov allows users to obtain incremental coverage results for a particular test or series of tests, or obtain a cumulative coverage measure for a series of tests.

For test merging, Surecov uniquely combines coverage results from databases of different coverage types, databases of design modifications, or different design databases altogether.

Extensive Test Reporting
SureCov reporting lets you create a variety of reports such as summary, detailed, filtered, and hit count. SureCov reporting can be used in either textual or graphical mode. The textual mode is ideal for generating quick summaries or detailed textual reports. The graphical interface is used for analysis and investigation of the textual reports.

For example, summary reports show the overall coverage statistics for the design. Detailed reports provide insight into the design for each coverage type: block, arc, FSM state, FSM state transition, expression, event, and toggle. In addition, users can access coverage statistics per module and per instance.

For more accurate and flexible reporting, SureCov allows users to focus only on design elements that are important to them but filter out unimportant coverage types or irrelevant design areas for code verification such as default states or embedded IPs, respectively.

Insightful Hit Count Statistics


Click to enlarge

Hit count with SureCov uncovers not only areas that need additional tests but also areas that may have redundant tests. With SureCov, you can reach your quality goal faster.

Hit count enables users to define how many times a design element must be "hit" before it is considered covered.

This gives users insight into the activity level of their testbench, helping them to tune and achieve optimal performance of a given testbench.

This is yet another way to ensure a thorough coverage methodology and grade the quality of your testbench.

Simulator
SureCov supports Verilog-XL, NC Verilog, VCS, Polaris, ModelSim, and Silos III simulators.

Platform
SureCov supports Linux, HPUX, and Sun Solaris operating systems.

Contact Us

© Copyright 2005 Verisity Design, Inc. All rights reserved. Privacy Policy.