9195793

Method and Apparatus for Relocating Design Modules While Preserving Timing Closure

PublishedNovember 24, 2015
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
24 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for designing a system on a target device, comprising: generating a solution for the system; preserving a solution for a module of the system identified by a user; and implementing the preserved solution for the module at a location on the target device identified by the user which is a different location than which the preserved solution is based on.

2

2. The method of claim 1 , wherein implementing the preserved solution comprises translating the preserved solution to be implemented at the location.

3

3. The method of claim 2 , wherein translating the preserved 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.

4

4. The method of claim 1 , wherein implementing the preserved solution for the module at a location on the target device identified by the user comprises moving the module from a location which the preserved solution is based on to the different location.

5

5. The method of claim 1 , wherein implementing the preserved solution for the module at a location on the target device identified by the user comprises replicating the module at a plurality of locations on the target device.

6

6. The method of claim 1 , wherein generating the solution comprises generating a placement solution.

7

7. The method of claim 1 , wherein generating the solution comprises generating a routing solution.

8

8. The method of claim 1 further comprising performing timing analysis on the system.

9

9. The method of claim 1 , wherein the module of the system comprises a plurality of components for performing a logic function.

10

10. The method of claim 1 further comprising identifying displacement options for the module of the system.

11

11. The method of claim 10 , 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.

12

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

13

13. The method of claim 10 , 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.

14

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

15

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

16

16. The method of claim 1 further comprising: determining whether any wires reside in the module; and for each wire residing in the module, selecting a routing resource to form a displaced module by applying the displacement vector to a location of the wire in the module.

17

17. The method of claim 1 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 a displaced module.

18

18. The method of claim 1 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 a displaced module to a nearest clock spine.

19

19. A non-transitory computer readable medium including a sequence of instructions stored thereon for causing a computer to execute a method comprising: generating a solution for a system; preserving a solution for a module of the system identified by a user; and implementing the preserved solution for the module at a location on a target device identified by the user which is a different location than which the preserved solution is based on.

20

20. The non-transitory computer readable medium of claim 19 , wherein implementing the preserved solution comprises translating the preserved solution to be implemented at the location by: 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.

21

21. The non-transitory computer readable medium of claim 20 , wherein translating the preserved solution to be implemented at the location further comprises: 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.

22

22. The non-transitory computer readable medium of claim 19 , wherein the method further comprises identifying displacement options for the module of the system by 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.

23

23. The non-transitory computer readable medium of claim 19 , wherein the preserved solution is implemented in the system.

24

24. A method for designing a system on a target device, comprising: generating a solution for the system; preserving a solution for a module of the system; and implementing the preserved solution for the module of the system in the system at a location on the target device which is a different location than which the preserved solution is based on.

Patent Metadata

Filing Date

Unknown

Publication Date

November 24, 2015

Inventors

Mark Stephen Wheeler
Gordon Raymond Chiu

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “METHOD AND APPARATUS FOR RELOCATING DESIGN MODULES WHILE PRESERVING TIMING CLOSURE” (9195793). https://patentable.app/patents/9195793

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.