Overview
Unit verification is the verification level at which most efforts are currently invested, and where the highest expectations, in term of bug discovery percentage, are placed.
Activities
- We have developed a design-independent front end cache-loading engine - CacheLoader - as a test-case for the feasibility of developing and integrating highly configurable building blocks into the verification environment. The CacheLoader can be reused between design projects and architectures. It is capable of encapsulating the knowledge of a domain expert, per design.
- We are engaged in an exploratory activity intended to examine technologies originating from domains other than verification (mainly machine learning) for improving the quality of the various aspects of the test bench, i.e., better coverage, debugging hints, smarter test generation, etc.
- Finally, we are involved in the development of a constraint programming language and capability to be integrated into test benches. Constraints are Boolean expressions that define relations between variables. A constraint satisfaction problem (CSP) is a problem that strives to find an assignment to the variables such that all relations over the variables (constraints) take place (constraints are satisfied). This activity is aimed at improving the productivity and quality of the test benches.