Virtual logic system for reconfigurable hardware
First Claim
1. A method of reconfiguring a set of hardware to implement different portions of a circuit, the method comprising the steps of:
- partitioning a model of the circuit into a plurality of pages, each of the pages corresponding to one of the portions of the circuit; and
controlling sequential loading of the pages from a memory into the hardware, such that detection of a condition relating to an unloaded page triggers a subsequent loading of the unloaded page.
5 Assignments
0 Petitions
Accused Products
Abstract
A set of reconfigurable hardware includes a number of field programmable gate arrays (FPGAs), a controller referred to as a page manager, and a RAM-based local memory. In an illustrative embodiment, each of the FPGAs is suitable for implementing any one of a number of different portions of a logic circuit. A netlist or other descriptive information characterizing the logic circuit is partitioned into a number of pages, each of the pages corresponding to one of the portions of the circuit. The page manager controls the loading and unloading of the pages from the local memory into the FPGAs of the reconfigurable hardware, and controls storage and transfer of inter-page signals. The page manager is configured to detect "page faults" such as, for example, an unloaded page with a full input buffer. The page manager responds to a given page fault by subsequently loading the previously unloaded page into one of the FPGAs. The page manager may include FIFO input buffers or other suitable sets of registers for storing inter-page signal values for loaded and unloaded pages.
-
Citations
25 Claims
-
1. A method of reconfiguring a set of hardware to implement different portions of a circuit, the method comprising the steps of:
-
partitioning a model of the circuit into a plurality of pages, each of the pages corresponding to one of the portions of the circuit; and controlling sequential loading of the pages from a memory into the hardware, such that detection of a condition relating to an unloaded page triggers a subsequent loading of the unloaded page. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A reconfigurable hardware apparatus comprising:
-
a plurality of reconfigurable devices, each capable of independently implementing a different portion of a circuit, wherein the circuit is characterized by a model partitioned into a plurality of pages, each of the pages corresponding to one of the portions of the circuit; and a controller coupled to the reconfigurable devices, wherein the controller is operative to control loading of the pages into the devices, such that detection of a condition relating to an unloaded page triggers a subsequent loading of the unloaded page. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. An apparatus for reconfiguring a set of hardware to implement different portions of a circuit, the apparatus comprising:
-
means for partitioning a model of the circuit into a plurality of pages, each of the pages corresponding to one of the portions of the circuit; and means for controlling loading of the pages from a memory into the hardware, wherein one or more inter-page signal values directed from a given loaded page to an unloaded page are stored so as to be available for use when the unloaded page is subsequently loaded.
-
-
18. An apparatus for reconfiguring a set of hardware to implement different portions of a circuit, the apparatus comprising:
-
means for partitioning a model of the circuit into a plurality of pages, each of the pages corresponding to one of the portions of the circuit; and means for controlling sequential loading of the pages from a memory into the hardware, such that detection of a condition relating to an unloaded page triggers a subsequent loading of the unloaded page.
-
-
19. A reconfigurable hardware apparatus comprising:
-
means for implementing different portions of a circuit using reconfigurable hardware, wherein the circuit is characterized by a plurality of pages, each of the pages corresponding to one of the portions of the circuit; and means for controlling loading of the pages into the reconfigurable hardware, wherein one or more inter-page signal values directed from a given loaded page to an unloaded page are stored so as to be available for use when the unloaded page is subsequently loaded.
-
-
20. A reconfigurable hardware apparatus comprising:
-
means for implementing different portions of a circuit using reconfigurable hardware, wherein the circuit is characterized by a plurality of pages, each of the pages corresponding to one of the portions of the circuit; and means for controlling sequential loading of the pages into the reconfigurable hardware, such that detection of a condition relating to an unloaded page triggers a subsequent loading of the unloaded page.
-
-
21. A method of reconfiguring a set of hardware to implement different portions of a circuit, the method comprising the steps of:
-
utilizing a plurality of reconfigurable devices to implement different portions of a circuit, wherein the circuit is characterized by a plurality of pages, with each of the pages corresponding to one of the portions of the circuit; and controlling loading of the pages into the reconfigurable devices, such that one or more inter-page signal values directed from a given loaded page to an unloaded page are stored so as to be available for use when the unloaded page is subsequently loaded.
-
-
22. A method of reconfiguring a set of hardware to implement different portions of a circuit, the method comprising the steps of:
-
utilizing a plurality of reconfigurable devices to implement different portions of a circuit, wherein the circuit is characterized by a plurality of pages, each of the pages corresponding to one of the portions of the circuit; and controlling sequential loading of the pages into the reconfigurable devices, such that an inter-page signal directed from a loaded page to an unloaded page is stored at least temporarily until a subsequent loading of the unloaded page.
-
-
23. An apparatus for implementing a circuit in reconfigurable hardware, comprising:
-
a circuit partitioner that partitions the circuit into non-pipelinable pages that can be implemented by said reconfigurable hardware; and a memory for communicating results between a currently implemented one of said non-pipelinable pages and another of said non-pipelinable pages.
-
-
24. An apparatus for implementing a circuit in reconfigurable hardware, said circuit being partitioned into pages and a maximum size page of said pages being implementable on said reconfigurable hardware, said apparatus comprising:
-
a page manager for controllably supplying said pages into said reconfigurable hardware in an arbitrary order, wherein said page manager swaps said pages so as to implement said circuit; and a memory for communicating results between a currently implemented one said pages and another of said pages.
-
-
25. A reconfigurable hardware apparatus comprising:
-
a plurality of reconfigurable devices, each capable of independently implementing a different portion of a circuit, wherein the circuit is characterized by a model partitioned into a plurality of pages, each of the pages corresponding to one of the portions of the circuit; and a controller coupled to the reconfigurable devices, wherein the controller is operative to control loading of the pages into the devices, such that one or more inter-page signal values directed from a given loaded page to an unloaded page are stored so as to be available for use when the unloaded page is subsequently loaded.
-
Specification