Claims
- 1. An interface for use between an asynchronous domain and a synchronous domain, the asynchronous domain being characterized by transmission of data in accordance with a delay-insensitive handshake protocol, the synchronous domain being characterized by transmission of data in accordance with transitions of a clock signal and requiring a data transfer to comprise a block of consecutive data, the interface comprising a datapath operable to accumulate data tokens generated in the asynchronous domain to form the block of consecutive data, each data token comprising a plurality of bits, the interface further comprising control circuitry operable to facilitate transfer of the accumulated data tokens to the synchronous domain via the datapath in response to completion of a synchronous handshake with the synchronous domain and consecutive transitions of the clock signal, and after completion of the handshake protocol for each of the bits of each of the tokens.
- 2. An integrated circuit comprising the interface of claim 1.
- 3. The integrated circuit of claim 2 wherein the integrated circuit comprises a CMOS integrated circuit.
- 4. The integrated circuit of claim 2 wherein the integrated circuit comprises a system-on-a-chip which includes both the asynchronous and synchronous domains.
- 5. The interface of claim 1 wherein the block of consecutive data comprises a fixed number of data tokens.
- 6. The interface of claim 5 further comprising counter circuitry for counting the fixed number of data tokens.
- 7. The interface of claim 1 wherein the block of consecutive data comprises a variable number of data tokens.
- 8. The interface of claim 7 wherein an indicator is associated with a final one of the variable number of tokens to indicate an end of the block.
- 9. The interface of claim 7 wherein information is associated with the block representing the variable number.
- 10. The interface of claim 1 wherein a message corresponds to a single block of consecutive data.
- 11. The interface of claim 1 wherein a message corresponds to a plurality of consecutive blocks of consecutive data.
- 12. The interface of claim 11 further comprising counter circuitry for counting the consecutive blocks.
- 13. The interface of claim 1 wherein the control circuitry is pipelined.
- 14. The interface of claim 1 wherein the control circuitry is operable to facilitate transfer of the data tokens in response to both positive and negative transitions of the clock signal.
- 15. The interface of claim 1 wherein the control circuitry is operable to enable transfer of the data tokens on both positive and negative transitions of the clock signal.
- 16. An interface for use between a synchronous domain and an asynchronous domain, the synchronous domain being characterized by transmission of data in accordance with transitions of a clock signal and requiring a data transfer to comprise a block of consecutive data, the asynchronous domain being characterized by transmission of data in accordance with a delay-insensitive handshake protocol, the interface comprising a datapath operable to receive data tokens generated in the synchronous domain, the interface further comprising control circuitry operable to facilitate transfer of a plurality of data tokens as the block of consecutive data to the asynchronous domain via the datapath in response to completion of a synchronous handshake with the synchronous domain and consecutive transitions of the clock signal, and an enable signal generated in accordance with the asynchronous handshake protocol and indicating that the asynchronous domain has sufficient memory to receive the plurality of data tokens.
- 17. An integrated circuit comprising the interface of claim 16.
- 18. The integrated circuit of claim 17 wherein the integrated circuit comprises a CMOS integrated circuit.
- 19. The integrated circuit of claim 17 wherein the integrated circuit comprises a system-on-a-chip which includes both the asynchronous and synchronous domains.
- 20. The interface of claim 16 wherein the block of consecutive data comprises a fixed number of data tokens.
- 21. The interface of claim 20 further comprising counter circuitry for counting the fixed number of data tokens.
- 22. The interface of claim 16 wherein the block of consecutive data comprises a variable number of data tokens.
- 23. The interface of claim 22 wherein an indicator is associated with a final one of the variable number of tokens to indicate an end of the block.
- 24. The interface of claim 22 wherein information is associated with the block representing the variable number.
- 25. The interface of claim 16 wherein a message corresponds to a single block of consecutive data.
- 26. The interface of claim 16 wherein a message corresponds to a plurality of consecutive blocks of consecutive data.
- 27. The interface of claim 26 further comprising counter circuitry for counting the consecutive blocks.
- 28. The interface of claim 16 wherein the control circuitry is pipelined.
- 29. The interface of claim 16 wherein the control circuitry is operable to facilitate transfer of the data tokens in response to both positive and negative transitions of the clock signal.
- 30. The interface of claim 16 wherein the control circuitry is operable to enable transfer of the data tokens on both positive and negative transitions of the clock signal.
RELATED APPLICATION DATA
[0001] The present application is a divisional application of U.S. patent application Ser. No. 10/212,574 for TECHNIQUES FOR FACILITATING CONVERSION BETWEEN ASYNCHRONOUS AND SYNCHRONOUS DOMAINS filed on Aug. 1, 2002 (Attorney Docket No. FULCP002), which claims priority from U.S. Provisional Patent Application No. 60/357,201 for ASYNCHRONOUS-SYNCHRONOUS CONVERSION CIRCUITS filed on Feb. 12, 2002 (Attorney Docket No. FULCP002P), the entire disclosures of both of which are incorporated herein by reference for all purposes.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60357201 |
Feb 2002 |
US |
Divisions (1)
|
Number |
Date |
Country |
Parent |
10212574 |
Aug 2002 |
US |
Child |
10281424 |
Oct 2002 |
US |