IP Library Granted Patent US 8,856,713
Granted Patent B1
US 8,856,713 · App. 13/956,120 · Granted Oct 7, 2014

Method and apparatus for performing efficient incremental compilation

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,856,713
App. No.
13/956,120
Granted
Oct 7, 2014
Kind
B1
Abstract

A method for designing a system on a target device includes identifying candidate portions in the system to preserve based on similarities between the system and another system. Preservation criteria are applied on the candidate portions in the system to preserve to identify portions of the system to preserve. Design results from the another system are reused for portions in the system that are preserved.

Claims (38)

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

identifying portions of a system to preserve; and

pruning a data structure that represents the portions of the system to preserve by replacing representations of the portions of the system to preserve with a subset of the representation, wherein at least one of the identifying and pruning is performed by a processor.

2. The method of claim 1 further comprising:

performing incremental compilation; and

stitching back sections of the data structure that were pruned.

3. The method of claim 1 , wherein the data structure is a netlist.

4. The method of claim 1 , wherein pruning the data structure further comprises saving representations of the portions of the system to preserve in another data structure.

5. The method of claim 1 further comprising saving information in the data structure associated with the portions of the system to preserve that allow resources to be reserved during incremental compilation.

6. The method of claim 1 further comprising saving information in the data structure associated with the portions of the system to preserve that allow the system to be evaluated during incremental compilation.

7. The method of claim 1 further comprising applying constraints to reduce the need to rebuild the data structure.

8. The method of claim 1 , wherein the portions are identified based on a quality of a design result of one or more portions of the system.

9. The method of claim 8 further comprising performing incremental compilation on portions of the system that have not been preserved to generate a new design.

10. The method of claim 1 , wherein the portions are identified based on similarities between the system and another system that has been compiled.

11. The method of claim 10 further comprising reusing design results from the another system for portions in the system preserved.

12. The method of claim 1 further comprising building a proper subset of the data structure that includes portions of the system not being preserved.

13. The method of claim 1 , wherein the subset of the representation comprises foot prints of blocks used by the portions of the system to preserve.

14. The method of claim 1 , wherein the subset of the representation comprises routing resources used by the portions of the system to preserve.

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

identifying portions of a system to preserve; and

pruning a data structure that represents the portions of the system to preserve by replacing representations of the portions of the system to preserve with a subset of the representation.

16. The non-transitory computer readable medium of claim 15 further comprising:

performing incremental compilation; and

stitching back sections of the data structure that were pruned.

17. The non-transitory computer readable medium of claim 15 , wherein the data structure is a netlist.

18. The non-transitory computer readable medium of claim 15 , wherein pruning the data structure further comprises saving representations of the portions of the system to preserve in another data structure.

19. The non-transitory computer readable medium of claim 15 further comprising saving information in the data structure associated with the portions of the system to preserve that allow resources to be reserved during incremental compilation.

20. The non-transitory computer readable medium of claim 15 further comprising saving information in the data structure associated with the portions of the system to preserve that allow the system to be evaluated during incremental compilation.

21. The non-transitory computer readable medium of claim 15 further comprising applying constraints to reduce the need to rebuild the data structure.

22. The non-transitory computer readable medium of claim 15 , wherein the portions are identified based on a quality of a design result of one or more portions of the system.

23. The non-transitory computer readable medium of claim 22 further comprising performing incremental compilation on portions of the system that have not been preserved to generate a new design.

24. The non-transitory computer readable medium of claim 15 , wherein the portions are identified based on similarities between the system and another system that has been compiled.

25. The non-transitory computer readable medium of claim 24 further comprising reusing design results from the another system for portions in the system preserved.

26. The non-transitory computer readable medium of claim 15 further comprising building a proper subset of the data structure that includes portions of the system not being preserved.

27. A system designer comprising:

a difference analysis unit to identify portions to preserve in a system; and

a pruning unit to prune a data structure that represents portions of the system to preserve by replacing representations of the portions of the system to preserve with a subset of the representation.

28. The system designer of claim 27 , wherein the pruning unit deletes information associated with the portions to preserve from the data structure, and saves representations of the portions of the system to preserve in another data structure.

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 Jul 31, 2013
From: PADALIA, KETAN; FUNG, RYAN
To: ALTERA CORPORATION
Reel/Frame 030917/0794 →