# US 12,008,298 B2 · Evaluating functional fault criticality of structural faults for circuit testing

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

- Number: US 12,008,298 B2
- Document ID: US12008298B2
- Status: Granted
- Kind: B2
- Application number: 17/080,341
- Filed: 2020-10-26
- Published: 2022-04-28
- Granted: 2024-06-11
- Earliest claimed: 2020-10-26
- Assignees: Duke University
- Applicants: Duke University
- Inventors: Krishnendu Chakrabarty; Arjun Chaudhuri; Jonti Talukdar
- Web page: https://patentgrep.com/patent/US12008298B2

## CPC

- G06F 30/367: Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
- G06N 3/088: Non-supervised learning, e.g. competitive learning
- G06F 30/398: Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM] (optical proximity correction [OPC] design processes G03F1/36)
- G06N 3/045: Combinations of networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/047: Probabilistic or stochastic networks
- G06N 3/0475: Generative networks
- G06N 3/063: using electronic means
- G06N 3/09: Supervised learning
- G06N 3/094: Adversarial learning
- G06F 2117/02: Fault tolerance, e.g. for transient fault suppression
- G06N 3/084: Backpropagation, e.g. using gradient descent
- G06N 3/10: Interfaces, programming languages or software development kits, e.g. for simulating neural networks
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A system for evaluating fault criticality using machine learning includes a first machine learning module that is trained on a subset of a circuit and used for evaluating whether a node in a netlist of the entire circuit is a critical node, and a second machine learning module specialized to minimize classification errors in nodes predicted as benign. A generative adversarial network can be used to generate synthetic test escape data to supplement data used to train the second machine learning module.

## Claims

### Claim 1

A system for evaluating fault criticality using machine learning, the system comprising:
a storage device;
a first machine learning module for evaluating fault criticality of a node, wherein the first machine learning module is configured to:
receive a feature set of topology features and data features for a plurality of nodes of a target hardware architecture having an applied domain-specific use-case;
receive an entire netlist for the target hardware architecture having the applied domain-specific use-case; and
output a dataset of predicted benign nodes and a dataset of predicted critical nodes for the entire netlist, the dataset of predicted critical nodes being output to the storage device and stored at the storage device; and
a second machine learning module specialized to minimize test escapes from the first machine learning module, wherein the second machine learning module is configured to:
receive the dataset of predicted benign nodes generated by the first machine learning module; and
output a dataset of final predicted benign nodes and a dataset of predicted test escape nodes, the dataset of predicted test escape nodes being output to the storage device and stored at the storage device as part of the dataset of predicted critical nodes at the storage device.

### Claim 2 (depends on 1)

The system of claim 1, further comprising:
a test method module for determining a targeted testing methodology based on a domain-specific fault criticality for the domain-specific use-case applied on the target hardware architecture, the domain-specific fault criticality being indicated by the dataset of predicted critical nodes, wherein the test method module is configured to:
receive the dataset of predicted critical nodes after being updated by the second machine learning module;
receive a customer application target; and
determine a targeted testing methodology for the domain-specific use-case applied on the target hardware architecture, wherein the predicted critical nodes are used to determine which nodes are to be tested and the customer application target is used to determine how nodes to be tested are tested.

### Claim 3 (depends on 2)

The system of claim 2, wherein the customer application target comprises automatic test pattern generation (ATPG), built-in self-test (BIST), or test point insertion.

### Claim 4 (depends on 1)

The system of claim 1, further comprising:
a training module comprising a generative adversarial network configured to generate synthetic test escape data for training the second machine learning module.

### Claim 5 (depends on 1)

The system of claim 1, further comprising a training module configured to:
receive fault simulation data for the target hardware architecture having the applied domain-specific use-case, wherein the fault simulation data corresponds to a subset of an entire circuit to be tested, the fault simulation data comprising known critical nodes and known benign nodes;
receive an initial set of features including topology features and data features for a plurality of nodes of a target hardware architecture having an applied domain-specific use-case;
train the first machine learning module using the fault simulation data to predict fault criticality of a particular node of the subset of the entire circuit based on associated topology and data features for the particular node with respect to the feature set including the topology features and the data features; and
train a second machine learning module using the fault simulation data and nodes predicted as benign by the first machine learning module during training.

### Claim 6 (depends on 1)

The system of claim 1, further comprising a feature set module configured to:
generate the topology features by:
extracting topology information for each node of the entire netlist through that node's fan-in cone analysis; and
generate the data features by:
obtaining a test set of data, each data in the test set comprising a bitstream, wherein each bitstream includes a certain number of bits corresponding to a total simulation cycle count for inferencing; and
compressing the test set of data using a first method and a second method, wherein the first method compresses bitstreams relating to a same class together and the second method compresses the compressed bitstreams across simulation cycles by, for each simulation cycle, selecting a bit value that occurs most frequently across all data belonging to a particular class.

### Claim 7 (depends on 1)

The system of claim 1, wherein the target hardware architecture includes structural faults due to aging.

### Claim 8 (depends on 1)

The system of claim 1, wherein the target hardware architecture comprises a systolic array.

### Claim 9 (depends on 1)

The system of claim 1, wherein the domain-specific use case applied on the target hardware architecture is a neural network for performing inferencing.

### Claim 10

A method for training a system to evaluate for fault criticality, the method comprising:
receiving fault simulation data for a target hardware architecture having an applied domain-specific use-case, wherein the fault simulation data corresponds to a subset of an entire circuit to be tested, the fault simulation data comprising known critical nodes and known benign nodes;
receiving a feature set of topology features and data features for a plurality of nodes of a target hardware architecture having an applied domain-specific use-case;
training a first machine learning module using the fault simulation data to predict fault criticality of a particular node of the subset of the entire circuit based on associated topology and data features for the particular node with respect to the feature set of the topology features and the data features, the training producing a set of predicted benign nodes and a set of predicted critical nodes; and
training a second machine learning module using the fault simulation data and at least the set of predicted benign nodes produced by the first machine learning module.

### Claim 11 (depends on 10)

The method of claim 10, further comprising:
receiving, at a generative adversarial network (GAN), the set of predicted benign nodes, the fault simulation data, and the feature set of the topology features and the data features;
training the GAN to distinguish features indicating actual benign features and test escape features for nodes in the set of predicted benign nodes using the set of predicted benign nodes and the fault simulation data; and
producing, via the GAN, a set of synthetic test escape nodes,
wherein the second machine learning module is further trained using the set of synthetic test escape nodes.

### Claim 12 (depends on 10)

The method of claim 10, further comprising:
generating the feature set of topology features and data features for the plurality of nodes of the target hardware architecture having the applied domain-specific use-case by:
extracting topology information for each node of a netlist of the entire circuit through that node's fan-in cone analysis to generate the topology features; and
obtaining a test set of data, each data in the test set comprising a bitstream, wherein each bitstream includes a certain number of bits corresponding to a total simulation cycle count for inferencing; and compressing the test set of data using a first method and a second method to generate the data features, wherein the first method compresses bitstreams relating to a same class together and the second method compresses the compressed bitstreams across simulation cycles by, for each simulation cycle, selecting a bit value that occurs most frequently across all data belonging to a particular class.
