Multi-cycle resource sharing
AssigneeAltera Corporation
InventorTomasz Czajkowski
Life of this patent
Estimating the term…
Abstract
Systems and methods for resource sharing of pipelined circuitry of an integrated circuit (IC) are provided. For example, in one embodiment, a method for sharing a functional unit of an integrated circuit (IC) includes receiving two or more threads configured to access the functional unit through two or more data entry points associated with corresponding data exit points configured to receive processed thread data. The method further includes arbitrating the processing of the two or more threads by the functional unit to obtain the processed thread data. To arbitrate, the exit points that cannot receive additional data are determined. Threads are only received from data entry points with corresponding data exit points that can receive additional data. The processed output data is provided to a corresponding exit point.
Claims20
A method for sharing a functional unit of an integrated circuit (IC), the method comprising:
- receiving two or more threads configured to access the functional unit through two or more data entry points associated with corresponding data exit points configured to receive processed thread data;
- arbitrating the processing of the two or more threads by the functional unit to obtain the processed thread data;
- and
- providing the processed output data to a corresponding exit point;
- wherein arbitrating the processing comprises:
- determining data exit points that cannot receive additional data, and
- receiving threads only from data entry points with corresponding data exit points that can receive additional data.
An integrated circuit (IC) device, comprising:
- a functional unit on the IC device configured to process data;
- and
- arbitration logic configured to arbitrate sharing of the functional unit between two or more threads of execution and temporarily stall reception of new threads of execution when a corresponding data exit point cannot accept additional data.
A tangible, non-transitory, computer-readable medium, comprising instructions to:
- provide a design interface for an integrated circuit (IC), the design interface being configured to enable a designer to implement an IC design of the IC;
- determine sharing candidates among a set of functional units of the IC design;
- incorporate at least one hardware block in the IC block configured to arbitrate sharing of the sharing candidates between two or more threads of execution to produces resultant data processed by the sharing candidates and temporarily stall reception of new threads of execution when a downstream component cannot accept the resultant data.
Dependencies are inferred from the claim text.