IP Library Granted Patent US 9,384,311
Granted Patent B1
US 9,384,311 · App. 14/341,030 · Granted Jul 5, 2016

Programmable device configuration methods incorporating retiming

Inventors: Nishanth Sinnadurai (Scarborough, CA); Gordon Raymond Chiu (North York, CA)
Assignee: Altera Corporation
G06F17/5045
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 9,384,311
App. No.
14/341,030
Granted
Jul 5, 2016
Kind
B1
Abstract

A method of configuring an integrated circuit device with a user logic design includes placing and routing the user logic design, retiming the placed and routed user logic design, examining the retimed user logic design for at least one path that lacks sufficient registers for retiming, and rerouting the user logic design to find additional registers for further retiming the at least one path. Portions of the method may be performed iteratively until a condition, which may be a performance criterion, is met. The method may further include assuming the paths that are constrained have been repaired, and examining further paths downstream from those paths.

Claims (42)

1. A method of configuring an integrated circuit device, that has a limited number of registers available for retiming, with a user logic design, said method comprising:

placing and routing said user logic design on said integrated circuit device that has said limited number of registers available for retiming;

retiming said placed and routed user logic design on said integrated circuit device that has said limited number of registers available for retiming;

examining said retimed, placed and routed user logic design, on said integrated circuit device that has said limited number of registers available for retiming, for at least one path that lacks sufficient registers for retiming;

rerouting said examined, retimed, placed and routed user logic design on said integrated circuit device that has said limited number of registers available for retiming, to find additional registers on said integrated circuit device that are available for retiming; and

further retiming said at least one path, on said integrated circuit device that has said limited number of registers available for retiming, using said additional registers.

2. The method of claim 1 wherein said integrated circuit device is a programmable integrated circuit device, said method further comprising:

generating a configuration bitstream based on said placing and routing, said retiming, said examining, said rerouting and said further retiming; and

storing said configuration bitstream in memory of said programmable integrated circuit device.

3. The method of claim 1 wherein said examining, said rerouting and said further retiming are performed iteratively until a condition is met.

4. The method of claim 3 wherein:

said condition is a failure condition; and

upon detection of said failure condition, said method is terminated.

5. The method of claim 3 wherein said condition is a minimum acceptable performance criterion.

6. The method of claim 5 wherein said minimum acceptable performance criterion comprises a device clock speed.

7. The method of claim 1 wherein said examining comprises examining only each of said at least one path.

8. The method of claim 1 wherein said examining comprises, for each of said at least one path:

assuming that said at least one path is rerouted and again retimed; and

examining further paths downstream from said at least one path.

9. The method of claim 8 wherein said assuming and said examining further are performed iteratively until a condition is met.

10. The method of claim 9 wherein said condition is a performance criterion.

11. A non-transitory machine readable storage medium encoded with instructions for performing a method of configuring an integrated circuit device, that has a limited number of registers available for retiming, with a user logic design, said instructions comprising:

instructions for placing and routing said user logic design on said integrated circuit device that has said limited number of registers available for retiming;

instructions for retiming said placed and routed user logic design on said integrated circuit device that has said limited number of registers available for retiming;

instructions for examining said retimed, placed and routed user logic design, on said integrated circuit device that has said limited number of registers available for retiming, for at least one path that lacks sufficient registers for retiming;

instructions for rerouting said examined, retimed, placed and routed user logic design on said integrated circuit device that has said limited number of registers available for retiming, to find additional registers on said integrated circuit device that are available for retiming; and

instructions for further retiming said at least one path, on said integrated circuit device that has said limited number of registers available for retiming, using said additional registers.

12. The non-transitory machine readable storage medium of claim 11 wherein said integrated circuit device is a programmable integrated circuit device, said instructions further comprising:

instructions for generating a configuration bitstream based on said placing and routing, said retiming, said examining, said rerouting and said further retiming; and

instructions for storing said configuration bitstream in memory of said programmable integrated circuit device.

13. The non-transitory machine readable storage medium of claim 11 wherein said instructions further comprise instructions to execute said instructions for examining, said instructions for rerouting and said instructions for further retiming iteratively until a condition is met.

14. The non-transitory machine readable storage medium of claim 13 wherein:

said condition is a failure condition; and

said instructions comprise instructions to terminate said method upon detection of said failure condition.

15. The non-transitory machine readable storage medium of claim 13 wherein said condition is a minimum acceptable performance criterion.

16. The non-transitory machine readable storage medium of claim 15 wherein said minimum acceptable performance criterion comprises a device clock speed.

17. The non-transitory machine readable storage medium of claim 11 wherein said instructions for examining comprise instructions to examine only each of said at least one path.

18. The non-transitory machine readable storage medium of claim 11 wherein said instructions for examining comprise instructions to, for each of said at least one path:

assume that said at least one path is rerouted and again retimed; and

examine further paths downstream from said at least one path.

19. The non-transitory machine readable storage medium of claim 18 wherein instructions further comprise instructions to iteratively execute said instructions to assume, and said instructions to examine further, until a condition is met.

20. The non-transitory machine readable storage medium of claim 19 wherein said condition is a performance criterion.

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 25, 2014
From: SINNADURAI, NISHANTH; CHIU, GORDON RAYMOND
To: ALTERA CORPORATION
Reel/Frame 033393/0569 →