Claims
- 1. A generalized pipeline comprising:
a plurality of stages; and a pipeline timing controller controlling a plurality of predetermined delays, wherein, when one of said predetermined delays has expired, said pipeline timing controller sends a control signal to initiate at least one process within associated ones of said plurality of stages.
- 2. The pipeline of claim 1 wherein:
said control signal controls at least one of the initialization, start of computation, and finalization of a stage of said pipeline.
- 3. The pipeline of claim 1 wherein:
a first predetermined delay represents an amount of time before a first stage of said pipeline starts computation.
- 4. The pipeline of claim 1 wherein:
said pipeline timing controller sends a control signal to an initialization block and said initialization block is in communication with at least one stage of said plurality of stages.
- 5. The pipeline of claim 1 wherein:
said pipeline timing controller sends a control signal to an initialization block, said initialization block sends a second control signal to at least one stage of said plurality of stages, and said stage sends a third control signal to a finalization block.
- 6. The pipeline of claim 1 wherein:
said pipeline timing controller includes a plurality of counters wherein each counter is designated with a predetermined delay wherein upon expiration of said designated predetermined delay said counter produces a control signal.
- 7. The pipeline of claim 6 wherein:
a first counter having said first predetermined delay provides a first control signal to an initialization block, and a second counter having a second predetermined delay provides a second control signal to at least one stage of said plurality of stages.
- 8. The pipeline of claim 7 wherein:
said first predetermined delay represents an amount of time required to elapse before the start of initialization of data, and said second predetermined delay represents an amount of time required to elapse before the start of processing of data in at least one stage of said plurality of stages.
- 9. The pipeline of claim 6 wherein:
a first counter having said first predetermined delay provides a first control signal to an initialization block, a second counter having a second predetermined delay provides a second control signal to one stage of said plurality of stages and a third counter having a third predetermined delay provides a third control signal to a finalization block.
- 10. The pipeline of claim 6 wherein said counters are self initializing counters.
- 11. The pipeline of claim 1 further including a plurality of configuration controllers each of which configure at least one stage of said plurality of stages.
- 12. The pipeline of claim 1 wherein said timing controller is configured to simultaneously control multiple tasks in different stages of the said pipeline.
- 13. The pipeline of claim 1 wherein said timing controller is configured to simultaneously control multiple tasks in at least one of initialization, computation, and finalization of the same stage in said pipeline.
- 14. A method of controlling the progression of data through a plurality of pipeline stages, said method including the steps of:
predetermining timing characteristics of each stage of said plurality of pipeline stages; designing a timing controller with a plurality of control signals that are characterized by the predetermined timing characteristics of each stage of said plurality of pipeline stages; electrically connecting said plurality of control signals to said plurality of pipeline stages; and signaling each stage of said plurality of pipeline stages with a respective one of said plurality of control signals so as to schedule the progression of data through the plurality of pipeline stages.
- 15. The method of claim 14 further including:
providing initialization data to be used by at least one stage of said plurality of pipeline stages.
- 16. The method of claim 14 further including:
receiving finalized data produced by at least one stage of said plurality of pipeline stages.
- 17. The method of claim 14 wherein:
designing said timing controller as a plurality of counters wherein each counter is assigned a predetermined count representing the timing characteristics of each stage of said plurality of pipeline stages.
- 18. The method of claim 14 wherein:
said step of signaling is used to introduce a delay in the processing performed by individual pipeline stages in said plurality of pipeline of stages.
- 19. The method of claim 18 wherein:
said delay represents an amount of time before respective pipeline stage starts computation.
- 20. The method of claim 14 wherein:
said step of signaling is performed by a pipeline timing controller that sends a control signal to each individual stages of said plurality of pipeline stage.
- 21. The method of claim 14 further including:
initializing input data for at least one stage of said plurality of pipeline stages; and finalizing output data from at least one stage of said plurality of pipeline stages.
- 22. The method of claim 21 further including:
signaling said step of initializing input data; and signaling said step of finalizing output data.
- 23. A method of controlling the progression of data through a plurality of pipeline stages, said method including the steps of:
predetermining timing characteristics of each stage of said plurality of pipeline stages; and initiating a process within associated one of said plurality of stages, wherein initiation of the process is responsive to the expiration of a first predetermined delay.
RELATED APPLICATIONS
[0001] This application is related to concurrently filed, co-pending patent application Ser. No. ______ [100110557-1], entitled Method and System for the Design of Pipelines of Processors, the disclosure of which is hereby incorporated by reference herein.