IP Library Granted Patent US 11,704,460
Granted Patent B2
US 11,704,460 · App. 17/343,231 · Granted Jul 18, 2023

System and method for fast and accurate netlist to RTL reverse engineering

Inventors: Yier Jin (Gainesville, FL); Shaojie Zhang (Orlando, FL); James Geist (Oviedo, FL); Travis Meade (Orlando, FL); Jason Liam Portillo (San Jose, CA)
Assignee: UNIVERSITY OF FLORIDA RESEARCH FOUNDATION, INCORPORATED
G06F30/33G06F30/327G06F2115/08
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,704,460
App. No.
17/343,231
Granted
Jul 18, 2023
Kind
B2
Abstract

Embodiments herein provide for reverse engineering of integrated circuits (ICs) for design verification. In example embodiments, an apparatus receives a gate-level netlist for an integrated circuit (IC), generates a list of equivalence classes related to signals included in the gate-level netlist, determines control signals of the gate-level netlist based at least in part on the list of equivalence classes, determines a logic flow of a finite state transducer (FST) based at least in part on the control signals, and generates register transfer level (RTL) source code for the IC based on the FST.

Claims (45)

1. A method for reverse engineering of integrated circuits (ICs) for design verification, the method comprising:

receiving a gate-level netlist for an integrated circuit (IC), wherein the gate-level netlist comprises a description of connectivity for the integrated circuit and is formatted in a hardware description language;

generating, based at least in part on signals included in the gate-level netlist, a list of equivalence classes related to the signals;

determining, based at least in part on the list of equivalence classes, control signals of the gate-level netlist;

determining, based at least in part on the control signals, a logic flow of a finite state transducer (FST); and

generating, based at least in part on the FST, register transfer level (RTL) source code for the IC, wherein the RTL source code models the IC based on one or more of flow of signals between hardware components of the IC or logical operations associated with the signals.

2. The method of claim 1 , further comprising:

extracting the control signals from the gate-level netlist of design using truth table equivalence classes.

3. The method of claim 2 , further comprising:

comparing the truth table equivalence classes for uniqueness.

4. The method of claim 2 , further comprising:

presenting signals for the truth table equivalence classes as the control signals.

5. The method of claim 1 , wherein the generating the RTL source code comprises generating the RTL source code via Finite State Transducer (FST) extraction.

6. The method of claim 5 , further comprising:

identifying output signals of the FST using dominator trees.

7. An apparatus comprising at least one processor and at least one non-transitory storage medium storing instructions that, with the at least one processor, cause the apparatus to:

receive a gate-level netlist for an integrated circuit (IC), wherein the gate-level netlist comprises a description of connectivity for the integrated circuit and is formatted in a hardware description language;

generate, based at least in part on signals included in the gate-level netlist, a list of equivalence classes related to the signals;

determine, based at least in part on the list of equivalence classes, control signals of the gate-level netlist;

determine, based at least in part on the control signals, a logic flow of a finite state transducer (FST); and

generate, based at least in part on the FST, register transfer level (RTL) source code for the IC, wherein the RTL source code models the IC based on one or more of flow of signals between hardware components of the IC or logical operations associated with the signals.

8. The apparatus of claim 7 , wherein the at least one non-transitory storage medium stores instructions that, with the at least one processor, further cause the apparatus to:

extract the control signals from the gate-level netlist of design using truth table equivalence classes.

9. The apparatus of claim 8 , wherein the at least one non-transitory storage medium stores instructions that, with the at least one processor, further cause the apparatus to:

compare the truth table equivalence classes for uniqueness.

10. The apparatus of claim 8 , wherein the at least one non-transitory storage medium stores instructions that, with the at least one processor, further cause the apparatus to:

present signals for the truth table equivalence classes as the control signals.

11. The apparatus of claim 7 , wherein the generating the RTL source code comprises generating the RTL source code via Finite State Transducer (FST) extraction.

12. The apparatus of claim 11 , wherein the at least one non-transitory storage medium stores instructions that, with the at least one processor, further cause the apparatus to:

identify output signals of the FST using dominator trees.

13. A computer program product comprising at least one non-transitory computer-readable storage medium storing instructions that, when executed by at least one processor, cause an apparatus to:

receive a gate-level netlist for an integrated circuit (IC), wherein the gate-level netlist comprises a description of connectivity for the integrated circuit and is formatted in a hardware description language;

generate, based at least in part on signals included in the gate-level netlist, a list of equivalence classes related to the signals;

determine, based at least in part on the list of equivalence classes, control signals of the gate-level netlist;

determine, based at least in part on the control signals, a logic flow of a finite state transducer (FST); and

generate, based at least in part on the FST, register transfer level (RTL) source code for the IC, wherein the RTL source code models the IC based on one or more of flow of signals between hardware components of the IC or logical operations associated with the signals.

14. The computer program product of claim 13 , wherein the at least one non-transitory computer-readable storage medium stores instructions that, with the at least one processor, further cause the apparatus to:

extract the control signals from the gate-level netlist of design using truth table equivalence classes.

15. The computer program product of claim 14 , wherein the at least one non-transitory computer-readable storage medium stores instructions that, with the at least one processor, further cause the apparatus to:

compare the truth table equivalence classes for uniqueness.

16. The computer program product of claim 14 , wherein the at least one non-transitory computer-readable storage medium stores instructions that, with the at least one processor, further cause the apparatus to:

present signals for the truth table equivalence classes as the control signals.

17. The computer program product of claim 13 , wherein the generating the RTL source code comprises generating the RTL source code via Finite State Transducer (FST) extraction.

18. The computer program product of claim 17 , wherein the at least one non-transitory computer-readable storage medium stores instructions that, with the at least one processor, further cause the apparatus to:

identify output signals of the FST using dominator trees.

Assignments (5)
CONFIRMATORY LICENSE Recorded May 21, 2024
From: UNIVERSITY OF FLORIDA
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 067472/0220 →
CONFIRMATORY LICENSE Recorded May 21, 2024
From: UNIVERSITY OF FLORIDA
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 067472/0350 →
CONFIRMATORY LICENSE Recorded Jan 23, 2024
From: UNIVERSITY OF FLORIDA
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 066361/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2022
From: ZHANG, SHAOJIE; MEADE, TRAVIS; PORTILLO, JASON LIAM; GEIST, JAMES
To: UNIVERSITY OF CENTRAL FLORIDA RESEARCH FOUNDATION, INC.
Reel/Frame 059299/0079 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2021
From: JIN, YIER
To: UNIVERSITY OF FLORIDA RESEARCH FOUNDATION, INCORPORATED
Reel/Frame 057566/0703 →
Continuity (2)
Provisional Application 63037073 · Jun 10, 2020
Related Publication 20210390236A1 · Dec 16, 2021