IP Library Granted Patent US 10,102,326
Granted Patent B1
US 10,102,326 · App. 14/922,230 · Granted Oct 16, 2018

Method and apparatus for relocating design modules while preserving timing closure

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,102,326
App. No.
14/922,230
Granted
Oct 16, 2018
Kind
B1
Abstract

A method for designing a system on a target device includes generating a solution for the system. A solution for a module of the system identified by a user is preserved. The preserved solution for the module is implemented at a location on the target device identified by the user.

Claims (38)

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

identifying displacement options for a module of the system;

translating a solution for the module in response to a displacement option selected by a user; and

implementing the solution into a design of the system.

2. The method of claim 1 , wherein identifying the displacement options for the module of the system comprises identifying other locations on the target device having resources similar to that of an area having a selected location and size on the target device.

3. The method of claim 2 , wherein identifying other locations on the target device comprises looking up predetermined locations having resources similar to those in the area on a table.

4. The method of claim 1 , wherein identifying the displacement options for the module of the system comprises identifying other locations on the target device having resources similar to that of an area having a selected location and size on the target device and capable of performing a function within a selected timing variation.

5. The method of claim 1 further comprising displaying the identified displacement options to the user on a graphical user interface.

6. The method of claim 5 , wherein the displacement option is selected by the user by selecting one or more identified displacement options displayed on the graphical user interface.

7. The method of claim 1 , wherein the solution is a placement solution.

8. The method of claim 1 , wherein the solution is a routing solution.

9. The method of claim 1 , wherein translating the solution, comprises:

computing a displacement vector for the module in response to receiving a displacement location for the module;

determining whether any logic elements reside in the module; and

for each logic element residing in the module, identify a location to place the logic element to form a displaced module by applying the displacement vector to a location of the logic element in the module.

10. The method of claim 9 further comprising:

determining whether any wires reside in the module; and

for each wire residing in the module, selecting a routing resource to form the displaced module by applying the displacement vector to a location of the wire in the module.

11. The method of claim 9 further comprising:

determining if a global routing resource resides in the module; and

for each global routing resource residing in the module, connecting the global routing resource to the displaced module.

12. The method of claim 9 further comprising:

determining if a clock spine resides in the module;

for each clock spine residing in the module, connecting the clock spine to the displaced module if the clock spine is within a predetermined distance from the displacement location; and

if the clock spine is outside the predetermined distance, connecting the displaced module to a nearest clock spine.

13. The method of claim 9 further comprising:

identifying the displacement options for the module of the system; and

implementing the solution into the design of the system.

14. The method of claim 13 , wherein identifying the displacement options for the module of the system comprises identifying other locations on the target device having resources similar to that of an area having a selected location and size on the target device.

15. The method of claim 14 , wherein identifying other locations on the target device comprises looking up predetermined locations having resources similar to those in the area on a table.

16. The method of claim 13 , wherein identifying the displacement options for the module of the system comprises identifying other locations on the target device having resources similar to that of an area having a selected location and size on the target device and capable of performing a function within a selected timing variation.

17. 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 displacement options for a module of the system;

translating a solution for the module in response to a displacement option selected by a user; and

implementing the solution into a design of the system.

18. The non-transitory computer readable medium of claim 17 , wherein identifying the displacement options for the module of the system comprises identifying other locations on the target device having resources similar to that of an area having a selected location and size on the target device.

19. The non-transitory computer readable medium of claim 18 , wherein identifying other locations on the target device comprises looking up predetermined locations having resources similar to those in the area on a table.

20. The non-transitory computer readable medium of claim 17 , wherein identifying the displacement options for the module of the system comprises identifying other locations on the target device having resources similar to that of an area having a selected location and size on the target device and capable of performing a function within a selected timing variation.

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 Oct 26, 2015
From: WHEELER, MARK STEPHEN; CHIU, GORDON RAYMOND
To: ALTERA CORPORATION
Reel/Frame 036876/0353 →