IP Library Granted Patent US 10,339,244
Granted Patent B1
US 10,339,244 · App. 14/595,375 · Granted Jul 2, 2019

Method and apparatus for implementing user-guided speculative register retiming in a compilation flow

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,339,244
App. No.
14/595,375
Granted
Jul 2, 2019
Kind
B1
Abstract

A method for designing a system on a target device includes performing speculative register retiming with speculative changes made to a design of the system after an initial compilation of the design. A strategy is generated for an actual register retiming in response to user specified preferences on the speculative changes.

Claims (40)

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

performing speculative register retiming with speculative changes made to a design of the system after an initial compilation of the design;

generating a strategy for an actual register retiming in response to user specified preferences on the speculative changes;

generating a data file that reflects the strategy for the design of the system; and

programming the target device with the data file to physically transform components on the target device to implement the system.

2. The method of claim 1 further comprising performing a second speculative register retiming in response to the user specified preferences on the speculative changes.

3. The method of claim 1 , wherein the strategy for the actual register retiming comprises removing restrictions for the actual register retiming.

4. The method of claim 1 further comprising implementing actual changes to the design in response to the strategy.

5. The method of claim 4 further comprising performing a subsequent compilation of the design after the actual changes to the design have been implemented.

6. The method of claim 5 further comprising performing the actual register retiming on the design after the subsequent compilation.

7. The method of claim 1 , wherein performing speculative register retiming comprises:

identifying restrictions in the design that limit register retiming;

speculatively modifying the design by applying the speculative changes to the design to eliminate the restrictions; and

performing the register retiming without the restrictions.

8. The method of claim 7 further comprising generating a report to a user that identifies the speculative changes and performance attained with the speculative register retiming with the speculative changes.

9. The method of claim 1 , wherein performing speculative register retiming applies speculative changes in an order of 1) modifying asynchronous clears, 2) removing user directives, and 3) adding pipelining.

10. The method of 1 , wherein the user specified preferences are provided via one of a graphical user interface, text file, and script.

11. A non-transitory computer readable medium including a sequence of instructions stored thereon for causing a computer to execute a method for designing a system on a target device, comprising:

identifying restrictions in a design that limit register retiming;

speculatively modifying the design by applying speculative changes to eliminate the restrictions without modifying a register transfer level (RTL) netlist of the design;

performing the register retiming without the restrictions; and

generating a report that identifies the speculative changes made to the design and performance attained with the register retiming with the speculative changes;

compiling the design in response to speculative changes accepted by a user;

generating a data file that reflects the compiled design of the system; and

programming the target device with the data file to physically transform components on the target device to implement the system.

12. The non-transitory computer readable medium of claim 11 , wherein the method further comprises further speculatively modifying the design by applying additional speculative changes in response to user specified preferences on the speculative changes.

13. The non-transitory computer readable medium of claim 11 , wherein the compiling comprises performing synthesis, placement, and routing optimizations on the design.

14. The non-transitory computer readable medium of claim 11 , wherein the method further comprises:

identifying restrictions in the compiled design that limit a subsequent register retiming;

speculatively modifying the compiled design by applying additional speculative changes to eliminate the restrictions in the compiled design without modifying an RTL netlist of the compiled design;

performing the subsequent register retiming without the restrictions; and

generating a subsequent report that identifies the additional speculative changes made to the compiled design and performance attained with the subsequent register retiming with the additional speculative changes.

15. The non-transitory computer readable medium of claim 11 , wherein the method further comprises modifying the RTL netlist to implement the speculative changes as actual changes.

16. The non-transitory computer readable medium of claim 15 , wherein the method further comprises performing a compilation of the design after the actual changes to the design have been implemented.

17. A system designer unit, comprising:

a register retiming analysis unit that performs speculative register retiming with speculative changes made to a design of the system after an initial compilation of the design, and that generates a strategy for an actual register retiming in response to user specified preferences on the speculative changes;

a design modification unit that modifies the design in response to the strategy; and

a compilation unit that synthesizes, places, routes, performs register retiming on the modified design, generates a data file that reflects the synthesized, placed, routed, and register retimed modified design of the system, and that programs the target device with the data file to physically transform components on the target device to implement the system.

18. The system designer unit of claim 17 , wherein the design modification unit automatically modifies the design in response to the strategy without user intervention.

19. The system designer unit of claim 17 , wherein the design modification unit modifies the design in response to the strategy and in response to feedback solicited from the user.

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 Jan 13, 2015
From: GAMSA, BENJAMIN; CHIU, GORDON RAYMOND
To: ALTERA CORPORATION
Reel/Frame 034693/0905 →