IP Library Granted Patent US 10,303,202
Granted Patent B1
US 10,303,202 · App. 15/236,620 · Granted May 28, 2019

Method and apparatus for performing clock allocation for a system implemented on a programmable device

Inventors: Saurabh Adya (San Jose, CA); Mahesh A. Iyer (Fremont, CA); Love Singhal (San Jose, CA)
Assignee: Altera Corporation
G06F1/10G06F1/08
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,303,202
App. No.
15/236,620
Granted
May 28, 2019
Kind
B1
Abstract

A method for designing a system on a target device includes placing the system on the target device. A netlist retiming is performed on the placed system. A clock allocation and a clock region optimization are performed utilizing information from the placing and the netlist retiming.

Claims (32)

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

placing the system on the target device;

performing a netlist retiming on the placed system; and

performing a clock allocation that includes identifying a size and a location on the target device for a clock region that is occupied by a clock network by utilizing information from the placing and the netlist retiming.

2. The method of claim 1 , wherein the size and the location on the target device for the clock region is not limited to a predefined size and a predetermined area on the target device.

3. The method of claim 1 , wherein the identifying the size and the location for the clock region comprises:

generating an initial clock region in response to a placement of all registers in the clock network; and

generating a final clock region by moving bounding registers towards a center of the initial clock region while respecting one or more of worst negative slack, density metrics, wiring usage, wiring congestion, and legality constraints in the clock network.

4. The method of claim 1 , wherein the clock region comprises a plurality of disjointed areas.

5. The method of claim 1 , wherein the placing the system comprises reducing a size of a clock region projected for the clock network.

6. The method of claim 1 , wherein the placing the system comprises reducing a number of sectors on the target device that are crossed by a clock region projected for the clock network.

7. The method of claim 1 , wherein the placing the system comprises reducing a number of sectors on the target device that are crossed by a clock region projected for the clock network by re-shaping the clock region projected for the clock network.

8. The method of claim 1 further comprising performing physical clustering and detailed placement refinements after the performing clock allocation.

9. The method of claim 1 further comprising routing the system.

10. The method of claim 1 further comprising incrementally refining the size and the location for the clock region during one or more subsequent stages of compilation.

11. The method of claim 1 , wherein clock networks are optimized during a placement taking into consideration one or more of overall wire usage, routing congestion, timing, a total number of clustered block elements created in a clock region, and legality constraints.

12. 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, the method comprising:

performing a synthesis where a clock network is defined; and

performing a placement in response to a clock region projected for the clock network.

13. The non-transitory computer readable medium of claim 12 , wherein the performing a placement in response to a clock region projected for the clock network comprises reducing a size of the clock region projected for the clock network.

14. The non-transitory computer readable medium of claim 12 , wherein the performing a placement in response to a clock region projected for the clock network comprises reducing a number of sectors on the target device that are occupied by the clock region projected for the clock network.

15. The non-transitory computer readable medium of claim 14 , wherein the number of sectors that are occupied are reduced by changing a location of the clock region projected for the clock network.

16. The non-transitory computer readable medium of claim 14 , wherein the number of sectors that are occupied are reduced by changing a shape of the clock region projected for the clock network.

17. The non-transitory computer readable medium of claim 14 , wherein the clock network is optimized during a placement taking into consideration one or more of overall wire usage, routing congestion, timing, and legality constraints.

18. The non-transitory computer readable medium of claim 12 , wherein the method further comprises performing a physical retiming to optimize a timing and an area of a design of the system, wherein the physical retiming also determines a placement for new flip-flops added to the design.

19. A system designer, comprising:

a placement unit that places a system on a target device;

a retiming unit that performs a netlist retiming on the placed system; and

a clock allocation unit that performs a clock allocation by identifying a size and a location on the target device for a clock region that is occupied by a clock network by utilizing information from the placing and the netlist retiming.

20. The system designer of claim 19 , wherein the placement unit reduces a size of a clock region projected for a clock network.

21. The system designer of claim 19 , wherein the placement unit reduces a number of sectors on the target device that are crossed by a clock region projected for a clock network.

22. The system designer of claim 19 , wherein the placement unit optimizes clock networks taking into consideration one or more of overall wire usage, routing congestion, timing, and legality constraints.

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 Aug 15, 2016
From: ADYA, SAURABH; IYER, MAHESH A.; SINGHAL, LOVE
To: ALTERA CORPORATION
Reel/Frame 039431/0939 →