IP Library › Granted Patent US 11,853,665
Granted Patent B2
US 11,853,665 · App. 17/490,700 · Granted Dec 26, 2023

Performing hardware description language transformations

Inventors: Parijat Biswas (Bangalore, IN); Minakshi Chakravorty (Bengaluru, IN); Sitikant Sahu (Bangalore, IN)
Assignee: Synopsys, Inc.
G06F30/323
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,853,665
App. No.
17/490,700
Granted
Dec 26, 2023
Kind
B2
Abstract

Hardware description language (HDL) code for an integrated circuit (IC) design may be parsed to obtain an IC design parse tree. A transformation pattern may include a first pattern and a second pattern. The transformation pattern may be parsed to obtain a transformation pattern parse tree. The IC design parse tree and the transformation pattern parse tree may be used to identify a portion of the HDL code that matches the first pattern. The identified portion of the HDL code may be transformed based on the second pattern to obtain a transformed portion of the HDL code. The portion of the HDL code may be replaced by the transformed portion of the HDL code.

Claims (34)

1. A method, comprising:

parsing hardware description language (HDL) code for an integrated circuit (IC) design to obtain an IC design parse tree;

parsing a transformation pattern to obtain a transformation pattern parse tree, the transformation pattern comprising a first pattern and a second pattern wherein the first pattern and the second pattern are specified using a language extension of the HDL;

using the IC design parse tree and the transformation pattern parse tree to identify a portion of the HDL code that matches the first pattern;

transforming, by a processor, the portion of the HDL code based on the second pattern to obtain a transformed portion of the HDL code; and

replacing the portion of the HDL code by the transformed portion of the HDL code.

2. The method of claim 1 , wherein the using the IC design parse tree and the transformation pattern parse tree to identify the portion of the HDL code that matches the first pattern comprises matching the transformation pattern parse tree with a portion of the IC design parse tree that corresponds to the portion of the HDL code.

3. The method of claim 1 , wherein the using the IC design parse tree and the transformation pattern parse tree to identify the portion of the HDL code that matches the first pattern comprises matching a property specified in the first pattern with a property of the portion of the HDL code.

4. The method of claim 1 , wherein the IC design parse tree and the transformation pattern parse tree are maintained separately.

5. The method of claim 1 , wherein the transformation pattern comprises one or more of an expression pattern, a statement pattern, and a statement block pattern.

6. The method of claim 1 , further comprising simulating the IC design using the transformed portion of the HDL code.

7. A non-transitory storage medium storing instructions, which when executed by a processor, cause the processor to:

parse hardware description language (HDL) code for an integrated circuit (IC) design to obtain an IC design parse tree;

parse a transformation pattern to obtain a transformation pattern parse tree, the transformation pattern comprising a first pattern and a second pattern, wherein the first pattern and the second pattern are specified using a language extension of the HDL;

use the IC design parse tree and the transformation pattern parse tree to identify a portion of the HDL code that matches the first pattern;

transform the portion of the HDL code based on the second pattern to obtain a transformed portion of the HDL code; and

replace the portion of the HDL code by the transformed portion of the HDL code.

8. The non-transitory storage medium of claim 7 , wherein the using the IC design parse tree and the transformation pattern parse tree to identify the portion of the HDL code that matches the first pattern comprises matching the transformation pattern parse tree with a portion of the IC design parse tree that corresponds to the portion of the HDL code.

9. The non-transitory storage medium of claim 7 , wherein the using the IC design parse tree and the transformation pattern parse tree to identify the portion of the HDL code that matches the first pattern comprises matching a property specified in the first pattern with a property of the portion of the HDL code.

10. The non-transitory storage medium of claim 7 , wherein the IC design parse tree and the transformation pattern parse tree are maintained separately.

11. The non-transitory storage medium of claim 7 , wherein the transformation pattern comprises one or more expression patterns, one or more statement patterns, one or more statement block patterns, or a combination thereof.

12. The non-transitory storage medium of claim 7 , wherein the instructions, which when executed by the processor, cause the processor to simulate the IC design using the transformed portion of the HDL code.

13. A system comprising:

a memory storing instructions; and

a processor, coupled with the memory and to execute the instructions, the instructions when executed cause the processor to:

parse hardware description language (HDL) code for an integrated circuit (IC) design to obtain an IC design parse tree;

parse a transformation pattern to obtain a transformation pattern parse tree, the transformation pattern comprising a first pattern and a second pattern, wherein the first pattern and the second pattern are specified using a language extension of the HDL;

use the IC design parse tree and the transformation pattern parse tree to identify a portion of the HDL code that matches the first pattern;

transform the portion of the HDL code based on the second pattern to obtain a transformed portion of the HDL code; and

replace the portion of the HDL code by the transformed portion of the HDL code.

14. The system of claim 13 , wherein the using the IC design parse tree and the transformation pattern parse tree to identify the portion of the HDL code that matches the first pattern comprises matching the transformation pattern parse tree with a portion of the IC design parse tree that corresponds to the portion of the HDL code.

15. The system of claim 13 , wherein the using the IC design parse tree and the transformation pattern parse tree to identify the portion of the HDL code that matches the first pattern comprises matching a property specified in the first pattern with a property of the portion of the HDL code.

16. The system of claim 13 , wherein the IC design parse tree and the transformation pattern parse tree are maintained separately.

17. The system of claim 13 , wherein the transformation pattern comprises one or more expression patterns, one or more statement patterns, one or more statement block patterns, or a combination thereof.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2021
From: BISWAS, PARIJAT; CHAKRAVORTY, MINAKSHI; SAHU, SITIKANT
To: SYNOPSYS, INC.
Reel/Frame 058151/0804 →
Continuity (2)
Provisional Application 63088087 · Oct 6, 2020
Related Publication 20220108056A1 · Apr 7, 2022