IP Library Granted Patent US 11,574,097
Granted Patent B2
US 11,574,097 · App. 17/231,866 · Granted Feb 7, 2023

Deep learning based identification of difficult to test nodes

Inventors: Harbinder Sikka (San Jose, CA); Kaushik Narayanun (Los Gatos, CA); Lijuan Luo (San Jose, CA); Karthikeyan Natarajan (Bangalore, IN); Manjunatha Gowda (San Jose, CA); Sandeep Gangundi (Milpitas, CA)
Assignee: NVIDIA CORP.
G06F30/327G06K9/6267G06N3/0418G06N3/084G06N7/005
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,574,097
App. No.
17/231,866
Granted
Feb 7, 2023
Kind
B2
Abstract

Techniques to improve the accuracy and speed for detection and remediation of difficult to test nodes in a circuit design netlist. The techniques utilize improved netlist representations, test point insertion, and trained neural networks.

Claims (71)

1. A method for modifying a circuit, the method comprising:

training a plurality of graph convolutional networks to predict difficult to test nodes in the circuit;

inserting test nodes into a representation of the circuit at the difficult to test nodes based on the predictions; and

fabricating the circuit based on the representation of the circuit including the test nodes.

2. The method of claim 1 , further comprising:

applying test logic to the test nodes.

3. The method of claim 2 , wherein the test logic is applied from a package boundary of the circuit.

4. The method of claim 1 , further comprising:

computing a testability impact for each of a plurality of the test nodes; and

inserting each of the plurality of the test nodes only when the testability impact satisfies a threshold.

5. The method of claim 4 , the testability impact computed for a local neighborhood around a node predicted to be a difficult to test node.

6. The method of claim 1 , further comprising:

the representation of the circuit comprising a netlist;

transforming the netlist into a levelized netlist; and

processing the levelized netlist through a series of aggregators and encoders to generate node embeddings.

7. The method of claim 6 , further comprising:

setting controllability-to-0, controllability-to-1, and observability as attributes of the node embeddings.

8. The method of claim 1 , the node embedding derived from a D-hop local neighborhood of each node in the graph.

9. A system comprising:

a plurality of graphic processing units; and

a memory;

the memory storing an adjacency matrix for a circuit representation, the adjacency matrix compressed to remove sparcity;

the memory further configured with instructions to operate the plurality of graphics processing units to:

transform the circuit representation into a plurality of graphs each representing a portion of the circuit representation;

apply each graph to a different graph convolutional network;

compute activations for each graph convolutional network by applying a product of an aggregation matrix and a weight matrix to an activation function of the graph convolutional network, the aggregation matrix computed from the adjacency matrix; and

combine predictions of difficult to test nodes output by each graph convolutional network at a graphics processing unit dedicated to implementing a loss function for the graph convolutional networks.

10. The system of claim 9 , wherein the graphics processing units are configured by the instructions into a plurality of multi-stage graph convolutional networks.

11. The system of claim 9 , the circuit representation comprising a netlist.

12. The system of claim 9 , each graph convolutional network comprising a plurality of aggregation and encoding layers.

13. The system of claim 9 , wherein the aggregation matrix represents a D-hop local neighborhood of each node in the graph, where D>=1.

14. The system of claim 9 , wherein the adjacency matrix is compressed by greater than 80 percent.

15. A system for inserting test logic to prepare a circuit for fabrication, the system comprising:

a plurality of graph convolutional neural networks;

a memory storing a circuit representation, wherein the circuit representation provides a fabrication template for the circuit;

at least one processor; and

logic to configure the at least one processor to:

provide each of the graph convolutional networks with a different graphical portion of the circuit representation to predict difficult to test nodes in the circuit representation; and

insert test nodes into the circuit representation at the difficult to test nodes based on the predictions.

16. The system of claim 15 , further comprising logic to:

compute a testability impact for each of a plurality of the test nodes; and

insert any one of the plurality of the test nodes only when the testability impact satisfies a threshold.

17. The system of claim 16 , wherein the testability impact is computed for a local neighborhood around a node predicted to be a difficult to test node.

18. The system of claim 15 , further comprising:

the circuit representation comprising a netlist; and

logic to:

transform the netlist into a levelized netlist; and

process the levelized netlist through a series of aggregators and encoders to generate node embeddings for the graph convolutional neural networks.

19. The system of claim 18 , further comprising logic to:

set controllability-to-0, controllability-to-1, and observability as attributes of the node embeddings.

20. The system of claim 18 , the node embedding derived from a D-hop local neighborhood of each node in the graph.

21. A system comprising:

a plurality of graph convolutional neural networks;

a memory storing a circuit representation, the circuit representation providing a fabrication template for a circuit;

a plurality of graphics processing units;

logic to configure two or more of the graphics processing units to:

input to each of the graph convolutional networks a different graphical portion of the circuit representation to predict difficult to test nodes in the circuit representation; and

insert test nodes into the circuit representation at the difficult to test nodes based on the predictions; and

the plurality of graphics processing units arranged such that the combined predictions of difficult to test nodes output by each graph convolutional network are input to one of the plurality of graphics processing units dedicated to implementing a loss function for the graph convolutional networks.

22. The system of claim 21 , further comprising logic to:

compute a testability impact for each of a plurality of the test nodes; and

insert any one of the plurality of the test nodes only when the testability impact satisfies a threshold.

23. The system of claim 22 , wherein the testability impact is computed for a local neighborhood around a node predicted to be a difficult to test node.

24. The system of claim 21 , further comprising:

the circuit representation comprising a netlist; and

logic to:

transform the netlist into a levelized netlist; and

process the levelized netlist through a series of aggregators and encoders to generate node embeddings for the graph convolutional neural networks.

25. The system of claim 24 , further comprising logic to:

set controllability-to-0, controllability-to-1, and observability as attributes of the node embeddings.

26. The system of claim 24 , the node embedding derived from a D-hop local neighborhood of each node in the graph.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2021
From: SIKKA, HARBINDER; NARAYANUN, KAUSHIK; LUO, LIJUAN; NATARAJAN, KARTHIKEYAN; GOWDA, MANJUNATHA; GANGUNDI, SANDEEP
To: NVIDIA CORP.
Reel/Frame 058468/0793 →
Continuity (3)
Division 16537376 · Aug 9, 2019
Provisional Application 62758298 · Nov 9, 2018
Related Publication 20210295169A1 · Sep 23, 2021