IP Library Granted Patent US 8,732,634
Granted Patent B1
US 8,732,634 · App. 13/908,092 · Granted May 20, 2014

Method and apparatus for performing fast incremental resynthesis

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 8,732,634
App. No.
13/908,092
Granted
May 20, 2014
Kind
B1
Abstract

A method for designing a system on a target device is disclosed. A first netlist is generated or a first version of the system in a first compilation. Optimizations are performed on the first version of the system during synthesis resulting in a second netlist. A third netlist is generated or a second version of the system in a second compilation. The first version of the system in the first netlist and the second version of the system in the third netlist are differentiated to identify identical regions.

Claims (35)

1. A method for designing a system on a target device, comprising:

generating a first netlist for a first version of the system in a first compilation;

performing optimizations on the first version of the system during synthesis resulting in a second netlist;

generating a third netlist for a second version of the system in a second compilation; and

differentiating the first version of the system in the first netlist and the second version of the system in the third netlist to identify identical regions, wherein at least one of the generating, performing, and differentiating is performed by a processor.

2. The method of claim 1 further comprising replacing an identical region on the third netlist with an optimized version of the identical region from the second netlist.

3. The method of claim 1 further comprising performing optimizations on a changed portion of the second version of the system during synthesis in the second compilation without performing optimizations on the identical regions.

4. The method of claim 1 further comprising performing optimizations on a changed portion of the second version of the system during synthesis in the second compilation by using timing information from placement and routing of the first version of the system.

5. The method of claim 4 , wherein using the timing information comprises deriving an upper bound on an amount of logic delay that can be added on a path.

6. The method of claim 1 , wherein performing optimizations on the first version of the system during synthesis in the first compilation resulting in a second netlist comprises performing register duplication, register merging, and register retiming.

7. The method of claim 1 , wherein differentiating the first version of the system in the first netlist and the second version of the system in the third netlist comprises performing a functional differentiation procedure.

8. The method of claim 1 wherein performing optimizations during synthesis comprises performing procedures to reduce area and improve speed and performing mapping to create a netlist of logic blocks supported by the target device.

9. The method of claim 1 , wherein generating the first netlist for the first version of the system and generating the third netlist for the second version of the system are performed after extraction during synthesis.

10. A non-transitory computer readable medium including a sequence of instructions stored thereon for causing a computer to execute a method comprising:

performing extraction on a first version of a system resulting in a first netlist;

optimizing the first version of the system resulting in a second netlist;

performing extraction on a second version of the system, having a changed portion from the first version of the system, resulting in a third netlist; and

differentiating the first version of the system in the first netlist from the second version of the system in the third netlist to identify identical regions.

11. The non-transitory computer readable medium of claim 10 , wherein the method further comprises replacing an identical region on the third netlist with an optimized version of the identical region from the second netlist.

12. The non-transitory computer readable medium of claim 10 , wherein the method further comprises optimizing the changed portion of the second version of the system during synthesis without performing optimizations on the identical regions.

13. The non-transitory computer readable medium of claim 12 , wherein optimizing the changed portion of the second version of the system during synthesis in the second compilation uses timing information from placement and routing of the first version of the system.

14. The non-transitory computer readable medium of claim 10 , wherein performing extraction on the first version of the system occurs during synthesis in a first compilation.

15. The non-transitory computer readable medium of claim 10 , wherein optimizing the first version of the system occurs during synthesis in a first compilation.

16. The non-transitory computer readable medium of claim 10 , wherein the method further comprises performing placement and routing on the first version of the system in a first compilation.

17. The non-transitory computer readable medium of claim 10 , wherein performing extraction on the second version of the system occurs during synthesis in a second compilation.

18. The non-transitory computer readable medium of claim 10 , wherein optimizing the first version of the system comprises performing at least one of register duplication, register merging, and register retiming.

19. The non-transitory computer readable medium of claim 10 , wherein differentiating the first version of the system in the first netlist from the second version of the system in the third netlist comprises performing a functional differentiation procedure.

20. The non-transitory computer readable medium of claim 10 , wherein performing extraction comprises creating a structural representation of a system from a high level description.

21. A non-transitory computer readable medium including a sequence of instructions stored thereon for causing a computer to execute a method comprising:

generating a first netlist for a first version of a system in a first compilation;

performing optimizations on the first version of the system during synthesis resulting in a second netlist;

generating a third netlist for a second version of the system in a second compilation; and

differentiating the first version of the system in the first netlist and the second version of the system in the third netlist to identify identical regions, wherein at least one of the generating, performing, and differentiating is performed by a processor.

22. The non-transitory computer readable medium of claim 21 further comprising replacing an identical region on the third netlist with an optimized version of the identical region from the second netlist.

23. The non-transitory computer readable medium of claim 21 further comprising performing optimizations on a changed portion of the second version of the system during synthesis in the second compilation without performing optimizations on the identical regions.

Assignments (2)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2013
From: CHEN, DORIS TZU LANG; SINGH, DESHANAND
To: ALTERA CORPORATION
Reel/Frame 030531/0182 →