HOME

TheInfoList



OR:

{{Use American English, date = April 2019 Intelligent Verification, including intelligent testbench automation, is a form of
functional verification In electronic design automation, functional verification is the task of verifying that the logic design conforms to specification. Functional verification attempts to answer the question "Does this proposed design do what is intended?" This is a ...
of
electronic hardware Electronic hardware consists of interconnected electronic components which perform analog or logic operations on received and locally stored information to produce as output or store resulting new information or to provide control for output actu ...
designs used to verify that a design conforms to specification before device fabrication. Intelligent verification uses information derived from the design and specification(s) to expose bugs in and between hardware IPs. Intelligent verification tools require considerably less engineering effort and user guidance to achieve verification results that meet or exceed the standard approach of writing a testbench program. The first generation of intelligent verification tools optimized one part of the verification process known as
Regression testing Regression testing (rarely, ''non-regression testing'') is re-running functional and non-functional tests to ensure that previously developed and tested software still performs as expected after a change. If not, that would be called a '' regre ...
with a feature called automated coverage feedback. With automated coverage feedback, the test description is automatically adjusted to target design functionality that has not been previously verified (or "covered") by other tests existing tests. A key property of automated coverage feedback is that, given the same test environment, the software will automatically change the tests to improve functional design coverage in response to changes in the design. Newer intelligent verification tools are able to derive the essential functions one would expect of a testbench (stimulus, coverage, and checking) from a single, compact, high-level model. Using a single model that represents and resembles the original specification greatly reduces the chance of
human error Human error refers to something having been done that was " not intended by the actor; not desired by a set of rules or an external observer; or that led the task or system outside its acceptable limits".Senders, J.W. and Moray, N.P. (1991) Human ...
in the testbench development process that can lead to both missed bugs and false failures. Other properties of intelligent verification may include: * Providing verification results on or above par with a testbench program but driven by a compact high-level model * Applicability to all levels of simulation to decrease reliance on testbench programs * Eliminating opportunities for programming errors and divergent interpretations of the specification, esp. between IP and SoC teams * Providing direction as to why certain coverage points were not detected. * Automatically tracking paths through design structure to coverage points, to create new tests. * Ensuring that various aspects of the design are only verified once in the same test sets. * Scaling the test automatically for different hardware and software configurations of a system. * Support for different verification methodologies like constrained random, directed, graph-based, use-case based in the same tool. "Intelligent Verification" uses existing
logic simulation Logic simulation is the use of simulation software to predict the behavior of digital circuits and hardware description languages. Simulation can be performed at varying degrees of physical abstraction, such as at the transistor level, gate lev ...
testbenches, and automatically targets and maximizes the following types of design coverage: *
Code coverage In computer science, test coverage is a percentage measure of the degree to which the source code of a program is executed when a particular test suite is run. A program with high test coverage has more of its source code executed during testing, ...
* Branch coverage * Expression coverage * Functional coverage * Assertion coverage


History

Achieving confidence that a design is functionally correct continues to become more difficult. To counter these problems, in the late 1980s fast logic simulators and specialized
hardware description languages In computer engineering, a hardware description language (HDL) is a specialized computer language used to describe the structure and behavior of electronic circuits, and most commonly, digital logic circuits. A hardware description language en ...
such as
Verilog Verilog, standardized as IEEE 1364, is a hardware description language (HDL) used to model electronic systems. It is most commonly used in the design and verification of digital circuits at the register-transfer level of abstraction. It is also ...
and
VHDL The VHSIC Hardware Description Language (VHDL) is a hardware description language (HDL) that can model the behavior and structure of digital systems at multiple levels of abstraction, ranging from the system level down to that of logic gates ...
became popular. In the 1990s, constrained random simulation methodologies emerged using
hardware verification languages A hardware verification language, or HVL, is a programming language used to verify the designs of electronic circuits written in a hardware description language. HVLs typically include features of a high-level programming language like C++ or Java ...
such as Vera and ''e'', as well as
SystemVerilog SystemVerilog, standardized as IEEE 1800, is a hardware description and hardware verification language used to model, design, simulate, test and implement electronic systems. SystemVerilog is based on Verilog and some extensions, and since 200 ...
(in 2002), to further improve verification quality and time. Intelligent verification approaches supplement constrained random simulation methodologies, which bases test generation on external input rather than design structure."Constrained random test struggles to live up to promises"
''SCDSource'', March 2008.
Intelligent verification is intended to automatically utilize design knowledge during simulation, which has become increasingly important over the last decade due to increased design size and complexity, and a separation between the engineering team that created a design and the team verifying its correct operation. There has been substantial research into the intelligent verification area, and commercial tools that leverage this technique are just beginning to emerge.


See also

*
Formal verification In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal metho ...
*
Functional verification In electronic design automation, functional verification is the task of verifying that the logic design conforms to specification. Functional verification attempts to answer the question "Does this proposed design do what is intended?" This is a ...


Vendors offering Intelligent Verification

* Logic Refinery, Inc. *
Mentor Graphics Siemens EDA is a US-based electronic design automation (EDA) multinational corporation for electrical engineering and electronics, headquartered in Wilsonville, Oregon. Founded in 1981 as Mentor Graphics, the company was acquired by Siemens in ...
*
Synopsys Synopsys is an American electronic design automation (EDA) company that focuses on silicon design and verification, silicon intellectual property and software security and quality. Products include tools for logic synthesis and physical design ...
(acquisition of NuSym) * Breker * Springsoft (acquisition of Certess)
Valtrix Systems


Footnotes


References

* "Mentor offers 'intelligent' testbench generation tool", ''SDCSource'', Feb 18, 2008.
"Nusym focuses on intelligent verification"
''EETimes'', May 2008. * "Lifting the Fog on Intelligent Verification", ''SCDSource'', May 2008. Electronic circuit verification