IP Library › Granted Patent US 10,706,195
Granted Patent B1
US 10,706,195 · App. 15/989,469 · Granted Jul 7, 2020

System, method, and computer program product for over-constraint/deadcode detection in a formal verification

Inventors: Luis Humberto Rezende Barbosa (Belo Horizonte, BZ); Raquel Lara dos Santos Pereira (Belo Horizonte, BZ); Caio Alves Furtado (Belo Horizonte, BZ); Breno Augusto Dias Vitorino (Belo Horizonte, BZ); Mirlaine Aparecida Crepalde (Belo Horizonte, BZ); Rodrigo da Silva Mantini Viana (Belo Horizonte, BZ); Lucas Duarte Prates (Belo Horizonte, BZ)
Assignee: Cadence Design Systems, Inc.
G06F30/3323G06F30/30G06F30/31G06F30/367G06F30/337G06F30/373G06F30/398
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 10,706,195
App. No.
15/989,469
Granted
Jul 7, 2020
Kind
B1
Abstract

The present disclosure relates to a method for use in the formal verification of an electronic circuit. Embodiments may include receiving, using a processor, a portion of an electronic circuit design and analyzing a syntactic structure of a string associated with the electronic circuit design. Embodiments may also include generating a parse tree, based upon, at least in part, the analysis and traversing the parse tree to identify one or more conditional nodes. Embodiments may further include generating a new node for each of the one or more conditional nodes and displaying, at a graphical user interface, a check, at least one of the one or more conditional nodes or the new node prior to performing either register-transfer-level RTL synthesis or final synthesis.

Claims (34)

1. A computer-implemented method comprising:

receiving, using a processor, a portion of an electronic circuit design;

analyzing a syntactic structure of a string associated with the electronic circuit design;

generating a parse tree, based upon, at least in part, the analysis;

traversing the parse tree to identify one or more conditional nodes;

generating a new node for each of the one or more conditional nodes; and

displaying, at a graphical user interface, an option to define or select a check associated with at least one of the one or more conditional nodes or the new node prior to performing either register-transfer-level RTL synthesis or final synthesis.

2. The computer-implemented method of claim 1 , wherein the string is based upon, at least in part, a grammar corresponding to a set of rules used to describe all possible strings of a programming language.

3. The computer-implemented method of claim 1 , wherein the portion of an electronic circuit design includes an HDL file.

4. The computer-implemented method of claim 1 , wherein the one or more conditional nodes represent at least one of a then path and an else path.

5. The computer-implemented method of claim 1 , wherein the new node corresponds to an automatic reachability check.

6. The computer-implemented method of claim 1 , wherein the parse tree includes at least one deadcode check.

7. The computer-implemented method of claim 6 , further comprising:

allowing a user to filter, using the graphical user interface, the at least one deadcode check.

8. A computer-readable storage medium, the computer-readable storage medium having stored thereon instructions that when executed by a machine result in one or more operations, the operations comprising:

receiving, using a processor, a portion of an electronic circuit design;

analyzing a syntactic structure of a string associated with the electronic circuit design;

generating a parse tree, based upon, at least in part, the analysis;

traversing the parse tree to identify one or more conditional nodes;

generating a new node for each of the one or more conditional nodes; and

displaying, at a graphical user interface, an option to define or select a check associated with at least one of the one or more conditional nodes or the new node prior to performing either register-transfer-level RTL synthesis or final synthesis.

9. The computer-readable storage medium of claim 8 , wherein the string is based upon, at least in part, a grammar corresponding to a set of rules used to describe all possible strings of a programming language.

10. The computer-readable storage medium of claim 8 , wherein the portion of an electronic circuit design includes an HDL file.

11. The computer-readable storage medium of claim 8 , wherein the one or more conditional nodes represent at least one of a then path and an else path.

12. The computer-readable storage medium of claim 8 , wherein the new node corresponds to an automatic reachability check.

13. The computer-readable storage medium of claim 8 , wherein the parse tree includes at least one deadcode check.

14. The computer-readable storage medium of claim 13 , further comprising: allowing a user to filter, using the graphical user interface, the at least one deadcode check.

15. A system comprising:

a computing device having at least one processor configured to receive, using a processor, a portion of an electronic circuit design and to analyze a syntactic structure of a string associated with the electronic circuit design, the at least one processor further configured to generate a parse tree, based upon, at least in part, the analysis, the at least one processor further configured to traverse the parse tree to identify one or more conditional nodes and to generate a new node for each of the one or more conditional nodes, the at least one processor further configured to display, at a graphical user interface, an option to define or select a check associated with at least one of the one or more conditional nodes or the new node prior to performing either register-transfer-level RTL synthesis or final synthesis.

16. The system of claim 15 , wherein the string is based upon, at least in part, a grammar corresponding to a set of rules used to describe all possible strings of a programming language.

17. The system of claim 15 , wherein the portion of an electronic circuit design includes an HDL file.

18. The system of claim 15 , wherein the one or more conditional nodes represent at least one of a then path and an else path.

19. The system of claim 15 , wherein the new node corresponds to an automatic reachability check.

20. The system of claim 15 , wherein the parse tree includes at least one deadcode check.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2018
From: REZENDE BARBOSA, LUIS HUMBERTO; DOS SANTOS PEREIRA, RAQUEL LARA; FURTADO, CAIO ALVES; DIAS VITORINO, BRENO AUGUSTO; CREPALDE, MIRLAINE APARECIDA; DA SILVA MANTINI VIANA, RODRIGO; PRATES, LUCAS DUARTE
To: CADENCE DESIGN SYSTEMS, INC.
Reel/Frame 045902/0410 →
Cited By (1)
US 12,566,910