Claims
- 1. An interface apparatus comprising:a first storage device operable for storing a first sequence of data values; a second storage device operable for storing a second sequence of data values; and circuitry coupled to said first and second storage devices operable for successively outputting a first data value from said first storage device and a second data value from said second storage device in response to at least one control signal, wherein said first and second storage devices hold data values for a predetermined number of half-periods of a clock, wherein said at least one control signal is operable for outputting said first data value on a preselected cycle of said clock, said at least one control signal having a phase relation with respect to said clock operable for selecting said preselected cycle of said clock.
- 2. The apparatus of claim 1 further comprising first and second selection circuitry each having an output respectively coupled to corresponding inputs of said first and second storage devices, said first and second selection circuitry each having a first input operable for receiving a data stream, and a second input coupled to a respective output of said first and second storage devices, wherein said first and second selection circuitry is operable for selecting for outputting a signal on one of said first and second inputs in response to first and second gate signals.
- 3. The apparatus of claim 1 wherein said circuitry operable for selectively successively outputting first and second data values comprises a multiplexer (MUX) having a first input operable for receiving said first data value and a second input operable for receiving said second data value, said at least one control signal comprising a select control signal having a period that is a predetermined multiple of a period of said clock, and wherein said MUX selects for outputting one of said first and second data values in response to a select control signal.
- 4. A method of interfacing integrated circuit devices comprising the steps of:storing a first sequence of data values in a first storage element, wherein each data value of said first set is stored for a predetermined number of half-periods of a clock; storing a second sequence of data values in a second set of storage elements wherein each data value of said second set is stored for a predetermined number of half-periods of said clock; and successively outputting a first data value from said first storage device and a second data value from said second storage device in response to at least one control signal, wherein said at least one control signal is operable for outputting said first data value on a preselected cycle of said clock, said at least one control signal having a phase relation with respect to said clock operable for selecting said preselected cycle of said clock.
- 5. The method of claim 4 wherein said step of successively outputting said first data value comprises the step of providing said at least one control signal to a first selection circuit coupled to said first and second storage devices, wherein said at least one control signal has a period that is a predetermined multiple of a period of said clock.
- 6. The method of claim 4 further comprising the steps of:receiving a data stream an input of a third selection circuit and a fourth selection circuit; outputting each of said first sequence of data values to said first storage element from said third selection circuit in response to a first selection signal; outputting each of said second sequence of data values to said second storage element from said fourth selection circuit in response to a second selection signal.
- 7. The method of claim 6 further comprising the steps of:sending a data stream having a selected pattern of data values; and adjusting a phase of each of said first and second selection signals in response to said data stream having said preselected pattern of values.
- 8. The method of claim 7 wherein said step of adjusting the phase of each of the first and second selection signals includes detecting a selected data value at an output of a predetermined one of said first and second storage devices in response to the phase of said first and second selection signals.
- 9. An interface apparatus comprising:a first storage device operable for storing a first sequence of data values; a second storage device operable for storing a second sequence of data values; and circuitry coupled to said first and second storage devices operable for sequentially outputting a first data value from said first storage device, and a second data value from said second storage device in response to at least one control signal, wherein said first and second storage devices hold data values for a predetermined number of half-periods of a first clock, and wherein said at least one control signal is operable for outputting said first data value on a preselected cycle of said first clock, said preselected cycle of said first clock associated with a difference in a latency of a first signal path and a second signal path, said first and second signal paths operable for communicating said first sequence of data values and said second sequence of data values.
- 10. The apparatus of claim 9 wherein a phase of said as least one control signal has a phase with respect to said first clock operable for selecting said preselected cycle of said first clock.
- 11. The apparatus of claim 10 further comprising first and second selection circuitry each having an output respectively coupled to corresponding inputs of said first and second storage devices, said first and second selection circuitry each having a first input operable for receiving a data stream, wherein said first and second selection circuitry are operable for outputting each of said first and second sequences of data values to said first and second storage elements, respectively, in response to a first selection signal coupled to said first selection circuitry and a second selection signal coupled to said second selection circuitry.
- 12. The apparatus of claim 11 further comprising circuitry operable for adjusting a phase of each of said first and second selection signals in response to a data stream having a selected pattern of data values.
- 13. The apparatus of claim 11 wherein first selection circuitry and said second selection circuitry each include a second input for receiving a respective output from said first and second storage device, said first and second selection circuitry selecting for outputting a signal on a corresponding one of said first and second inputs in response to said first and second selection signals.
- 14. The apparatus of claim 9 wherein said first storage device latches data on a first predetermined edge of a second clock, and said second storage device latches data on a second predetermined edge of said second clock.
- 15. A method of interfacing integrated circuit devices comprising the steps of:storing a first sequence of data values in a first storage element, wherein each data value of said first sequence is stored for a predetermined number of half-periods of a first clock; storing a second sequence of data values in a second storage element wherein each data value of said second sequence is stored for a predetermined number of half-periods of said first clock; and successively outputting a first data value from said first storage device and a second data value from said second storage device in response to at least one control signal wherein said at least one control signal is operable for outputting said first data value on a preselected cycle of said first clock, said preselected cycle of said first clock associated with a difference in a latency of a first signal path and a second signal path, said first and second signal paths operable for communicating said first sequence of data values and said second sequence of data values.
- 16. The method of claim 15 wherein said step of successively outputting said first data value comprises the step of providing said at least one control signal to a first selection circuit coupled to said first and second storage devices, wherein said at least one control signal has a period that is a predetermined multiple of a period of said first clock.
- 17. The method of claim 15 further comprising the steps of:receiving a data stream an input of a third selection circuit and a fourth selection circuit; outputting each of said first sequence of data values to said first storage element from said third selection circuit in response to a first selection signal; outputting each of said second sequence of data values to said second storage element from said fourth selection circuit in response to a second selection signal.
- 18. The method of claim 17 further comprising the steps of:sending a data stream having a selected pattern of data values; and adjusting a phase of each of said first and second selection signals in response to said data stream having said preselected pattern of values.
- 19. The method of claim 18 wherein said step of adjusting the phase of each of the first and second selection signals includes detecting a selected data value at an output of a predetermined one of said first and second storage devices in response to the phase of said first and second selection signals.
- 20. An interface apparatus comprising:a first storage device operable for storing a first sequence of data values; a second storage device operable for storing a second sequence of data values; and circuitry coupled to said first and second storage devices operable for successively outputting a first data value from said first storage device and a second data value from said second storage device in response to at least one control signal, wherein said first and second storage devices hold data values for a predetermined number of half-periods of a clock, wherein said at least one control signal is operable for outputting said first data value on a preselected cycle of said clock, said preselected cycle of said clock being within a predetermined elasticity of said apparatus relative to an arrival time of said first data value.
CROSS REFERENCE TO RELATED APPLICATIONS
This is a continuation of Ser. No. 09/263,661 filed Mar. 5, 1999, now U.S. Pat. No. 6,334,163.
The present invention is related to the following U.S. Patent Applications which are hereby incorporated herein by reference:
Ser. No. 09/263,671 entitled “Programmable Delay Element”, and
Ser. No. 09/263,662 entitled “Dynamic Wave Pipelined Interface Apparatus and Method Therefor”.
US Referenced Citations (16)
Non-Patent Literature Citations (3)
Entry |
D. Wong et al., “Inserting Active Delay Elements to Achieve Wave Pipelining,” IEEE International Conference on Computer-Aided Design, Nov. 5-9, 1989, pp. 270-273. |
M. Potkonjak, “Behavioral Optimization using the Manipulation of timing Constraints,” Retrieved from the Internet at URL:ftp://ftp.cs.ucla.edu/tech-report/95-reports/950057.ps.Z, retrieved on Jul. 5, 2000, 30 pp. |
Rosenberg, Jerry M., Dictionary of Computers, Information Processing & Telecommunications, Second Edition, 4 pp. |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09/263661 |
Mar 1999 |
US |
Child |
09/961506 |
|
US |