Techniques for facilitating conversion between asynchronous and synchronous domains
AssigneeFulcrum Microsystems, Inc.
InventorsMichael I. Davies, Andrew Lines, Robert Southworth
Life of this patent
Estimating the term…
Abstract
An interface for use between an asynchronous domain and a synchronous domain is described. The asynchronous domain is characterized by transmission of data in accordance with a delay-insensitive handshake protocol. The synchronous domain is characterized by transmission of data in accordance with transitions of a clock signal. The interface includes a datapath operable to transfer a data token between the domains. The interface also includes control circuitry operable to enable transfer of the data token via the datapath in response to a transition of the clock signal and at least one completion of the handshake protocol.
Claims89
An interface for use between an asynchronous domain and a synchronous domain, the asynchronous domain being characterized by transmission of data in accordance with an asynchronous handshake protocol, the synchronous domain being characterized by transmission of data in accordance with transitions of a clock signal, the interface comprising a datapath operable to transfer a data token between the domains, the interface further comprising control circuitry operable to enable transfer of the data token via the datapath in response to at least one transition of the clock signal and at least one completion to of the asynchronous handshake protocol.
An interface for use between an asynchronous domain and a synchronous domain, the asynchronous domain being characterized by transmission of data in accordance with an asynchronous handshake protocol, the synchronous domain being characterized by transmission of data in accordance with transitions of a clock signal, the interface comprising a datapath operable to receive a data token generated in the asynchronous domain and comprising a plurality of bits, the interface further comprising control circuitry operable to facilitate transfer of the data token to the synchronous domain via the datapath in response to a transition of the clock signal, completion of a synchronous handshake with the synchronous domain, and completion of the asynchronous handshake protocol for each of the bits, transfer of the data token to the synchronous domain occurring within one period of the clock signal after completion of the asynchronous handshake protocol.
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, the asynchronous domain being characterized by transmission of data in accordance with an asynchronous handshake protocol, the interface comprising a datapath operable to receive a data token generated in the synchronous domain and comprising a plurality of bits, the interface further comprising control circuitry operable to facilitate transfer of the data token to the asynchronous domain via the datapath in response to a transition of the clock signal, completion of a synchronous handshake with the synchronous domain, and an enable signal generated in accordance with the asynchronous handshake protocol and indicating that the asynchronous domain is ready to receive the data token, transfer of the data token to the synchronous domain occurring within one period of the clock signal after generation of the enable.
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.
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.
An interface for use between an asynchronous domain and a synchronous domain, comprising:
- a first datapath operable to transfer first data tokens generated in the asynchronous domain to the synchronous domain;
- a second datapath operable to transfer second data tokens generated in the synchronous domain to the asynchronous domain;
- control circuitry operable to control both the first and second datapaths in response to flow control signals indicating completion of a synchronous handshake with the synchronous domain, and completion of an asynchronous handshake protocol in the asynchronous domain.
Dependencies are inferred from the claim text.