# US 2014/0156572 A1 · Automatic identification of information useful for generation-based functional verification

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0156572 A1
- Document ID: US20140156572A1
- Status: Published application
- Kind: A1
- Application number: 14/172,922
- Filed: 2014-02-05
- Published: 2014-06-05
- Earliest claimed: 2011-03-01
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: YOAV KATZ; MICHAL RIMON; ELAD YOM-TOV; AVI ZIV
- Web page: https://patentgrep.com/patent/US20140156572A1

## CPC

- G06F 11/263: Generation of test inputs, e.g. test vectors, patterns or sequences {; with adaptation of the tested hardware for testability with external testers}
- G06F 11/261: {by simulating additional hardware, e.g. fault simulation}
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A computer-implemented method, an apparatus and a computer program for automatically extracting useful information for functional verification. The method comprising performing repeatedly both operating an instruction generator associated with a Design Under Test (DUT), whereby a generated instruction is determined, the generated instruction having one or more instruction attributes; and collecting information relating to the generated instruction. Based on the generated instruction and the collected information, a classification technique is utilized to classify the information based on the instruction attributes.

## Claims

### Claim 1

A computer-implemented method, the method performed by a computerized device, the method comprising:
performing repeatedly:
operating an instruction generator associated with a Design Under Test (DUT), whereby a generated instruction is determined, the generated instruction having one or more instruction attributes; and
collecting information relating to the generated instruction;
based on the generated instruction and the collected information, utilizing a classification technique to classify the information based on the instruction attributes.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein said performing repeatedly further comprising simulating execution of generated instruction by the DUT; and wherein the collected information is information regarding affects of the DUT performing the generated instruction.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, further comprising based on the classified information, determining design knowledge associated with the DUT.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, further comprising performing functional verification using a test generator associated with the DUT, wherein the test generator is operative to utilize the design knowledge in generating tests.

### Claim 5 (depends on 3)

The computer-implemented method of claim 3, wherein the design knowledge comprises at least one of the following:
information useful for biasing the generated instruction to cause a desired outcome; and
information regarding possible attributes of the generated instruction.

### Claim 6 (depends on 2)

The computer-implemented method of claim 2, further comprising, responsive to a review by a user of the classified information, modifying the classified information.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, wherein the classification technique is a decision tree learning.

### Claim 8 (depends on 2)

The computer-implemented method of claim 2, wherein said simulating is performed using a simulator configured to simulate operation of the DUT based on a hardware description of the DUT, wherein the hardware description is useful for fabrication of a target device defined by the DUT.

### Claim 9 (depends on 2)

The computer-implemented method of claim 2, wherein said simulating is performed using a reference model of the DUT.

### Claim 10 (depends on 2)

The computer-implemented method of claim 2, wherein said collect information comprises:
simulating execution of the generated instruction by the DUT from a first initial state to obtain a first state of the DUT;
simulating execution of the generated instruction by the DUT from a second initial state to obtain a second state of the DUT, wherein the first and second initial states differ with respect to one or more resources of the DUT; and
based on a determined difference between the first state and the second state, determining an effect of the one or more resources on the generated instruction.

### Claim 11 (depends on 10)

The computer-implemented method of claim 10, wherein the one or more resources is a bit of a register, wherein the first initial state and the second initial state differ only in the value of the bit, and wherein the effect of the bit on the generated instruction is determined.

### Claim 12 (depends on 11)

The computer-implemented method of claim 11, further comprising determining whether the generated instruction is operative to read value of the bit and whether the generated instruction is operative to write value to the bit.

### Claim 13 (depends on 1)

The computer-implemented method of claim 1, wherein the information is performance information of the instruction generator; and the method further comprising indicating to a user instruction attributes for which performance of the instruction generator is below a performance threshold.

### Claim 14 (depends on 1)

The computer-implemented method of claim 1, wherein
said operating the instruction generator comprises providing the instruction generator with randomly selected generation requirements;
wherein the information is generation failure information; and
the method further comprises indicating to a user a classification of generation requirements that cause generation failure.

### Claim 15

A computerized apparatus having a processor and a storage device, the apparatus comprising:
an instruction generator operative to generate an instruction to a Design Under Test (DUT), the generated instruction having one or more instruction attributes;
a data collector operative to collect information relating to instructions generated by said instruction generator;
a classifier operative to classify the information collected by said data collector based on the instruction attributes.

### Claim 16 (depends on 15)

The computerized apparatus of claim 15 further comprises a simulator operative to simulate operation of the DUT, wherein said data collector is operative to collect data relating to operation of the DUT in response to the instructions, as simulated by said simulator.

### Claim 17 (depends on 16)

The computerized apparatus of claim 16, wherein said simulator is selected from the group consisting of:
a design simulator operative to simulate operation of the DUT based on a hardware description of the DUT, wherein the hardware description is useful for fabrication of a target device based on the DUT, and
a reference model.

### Claim 18 (depends on 16)

The computerized apparatus of claim 16, further comprising a design knowledge definer operative to determine a design knowledge of the DUT based on classification by said classifier.

### Claim 19 (depends on 18)

The computerized apparatus of claim 18, further comprising an interface to a functional verification apparatus, wherein said functional verification apparatus is operative to utilize the design knowledge in generation of tests.

### Claim 20

A computer program product, the product comprising:
a computer readable medium;
a first program instruction for performing repeatedly:
operating an instruction generator associated with a Design Under Test (DUT), whereby a generated instruction is determined, the generated instruction having one or more instruction attributes; and
collecting information relating to the generated instruction;
a second program instruction for utilizing a classification technique to classify the information based on the instruction attributes, wherein the classification is based on the generated instruction and the collected information; and
wherein said first and second program instructions are stored on said computer readable medium.
