Method of, and apparatus for, stream scheduling in parallel pipelined hardware
AssigneeMaxeler Technologies Ltd.
InventorsJames HUGGETT, Jacob Alexis BOWER, Oliver PELL
Life of this patent
Estimating the term…
Abstract
A method of generating a hardware design for a stream processor. The method includes defining a graph representing a processing operation designating processes to be implemented in hardware as part of the stream processor. The graph represents the processing operation in the time domain as a function of clock cycles and includes at least one data path. At least one stream offset object is provided located at a particular point in the data path. The stream offset object is operable to access, for a particular clock cycle and for the particular point in the data path, data values from a clock cycle different from the particular clock cycle
Claims20
A method of generating a hardware design for a pipelined parallel stream processor, the method comprising:
- defining, on a computing device, a processing operation designating processes to be implemented in hardware as part of said pipelined parallel stream processor;
- defining, on a computing device, a graph representing said processing operation as a parallel structure in the time domain as a function of clock cycles, said graph comprising at least one data path to be implemented as a hardware design for said pipelined parallel stream processor and comprising a plurality of parallel branches configured to enable data values to be streamed therethrough, the or each data path being represented as comprising at least one input, at least one output, at least one discrete object corresponding directly to a hardware element to be implemented in hardware as part of said pipelined parallel stream processor, the or each discrete object being operable to execute a function for one or more clock cycles and having a predefined latency associated therewith, said predefined latency representing the time required for said hardware element to execute said function, said data values propagating through said data path from the at least one input to the at least one output as a function of increasing clock cycle;
- defining, on a computing device, the at least one data path and associated latencies of said graph as a set of algebraic linear inequalities;
- solving, on a computing device, said set of linear inequalities;
- optimising, on a computing device, the at least one data path in said graph using said solved linear inequalities to produce an optimised graph;
- and
- utilising, on a computing device, said optimised graph to define an optimised hardware design for implementation in hardware as said pipelined parallel stream processor.
Dependencies are inferred from the claim text.