Optimizing Design Verification using Machine Learning: Doing better than Random

09/28/2019
by   William Hughes, et al.
12

As integrated circuits have become progressively more complex, constrained random stimulus has become ubiquitous as a means of stimulating a designs functionality and ensuring it fully meets expectations. In theory, random stimulus allows all possible combinations to be exercised given enough time, but in practice with highly complex designs a purely random approach will have difficulty in exercising all possible combinations in a timely fashion. As a result it is often necessary to steer the Design Verification (DV) environment to generate hard to hit combinations. The resulting constrained-random approach is powerful but often relies on extensive human expertise to guide the DV environment in order to fully exercise the design. As designs become more complex, the guidance aspect becomes progressively more challenging and time consuming often resulting in design schedules in which the verification time to hit all possible design coverage points is the dominant schedule limitation. This paper describes an approach which leverages existing constrained-random DV environment tools but which further enhances them using supervised learning and reinforcement learning techniques. This approach provides better than random results in a highly automated fashion thereby ensuring DV objectives of full design coverage can be achieved on an accelerated timescale and with fewer resources. Two hardware verification examples are presented, one of a Cache Controller design and one using the open-source RISCV-Ariane design and Google's RISCV Random Instruction Generator. We demonstrate that a machine-learning based approach can perform significantly better on functional coverage and reaching complex hard-to-hit states than a random or constrained-random approach.

READ FULL TEXT

page 6

page 7

page 8

research
12/04/2020

Optimising Design Verification Using Machine Learning: An Open Source Solution

With the complexity of Integrated Circuits increasing, design verificati...
research
02/26/2021

Open-Source Verification with Chisel and Scala

Performance increase with general-purpose processors has come to a halt....
research
05/17/2022

Supervised Learning for Coverage-Directed Test Selection in Simulation-Based Verification

Constrained random test generation is one of the most widely adopted met...
research
02/03/2021

Fuzzing Hardware Like Software

Hardware flaws are permanent and potent: hardware cannot be patched once...
research
08/09/2021

VeRLPy: Python Library for Verification of Digital Designs with Reinforcement Learning

Digital hardware is verified by comparing its behavior against a referen...
research
06/22/2021

Assertion Based Functional Verification of March Algorithm Based MBIST Controller

The thesis work presents assertion based functional verification of RTL ...
research
11/21/2018

Using AI to Design Stone Jewelry

Jewelry has been an integral part of human culture since ages. One of th...

Please sign up or login with your details

Forgot password? Click here to reset