Claims
- 1. A method of performing a data transfer from an initiator unit to a target unit over a bus interconnecting the initiator unit and target units, the method comprising:
providing a starting write address and write length information on the bus synchronously with a clock signal; while the starting write address and write length information are present on the bus, providing a write request signal that is activated and deactivated synchronously with a clock cycle of the clock signal; receiving from the target unit a grant signal that is activated and deactivated synchronously with a clock cycle of the clock signal; and after the grant signal is deactivated, providing a number of write data items on the bus synchronously with the clock for capture by the target unit, one data item provided in each clock cycle of the clock signal, the number of data items being determined by the write length information provided.
- 2. A method of performing a data transfer as recited in claim 1, wherein the write request signal has an active time of approximately one clock cycle.
- 3. A method of performing a data transfer as recited in claim 1, wherein the grant signal has an active time of approximately one clock cycle.
- 4. A method of performing a data transfer as recited in claim 1,
wherein the write request signal and the grant signal each have active times spanning one or more clock cycles; and wherein the clock cycles during which the write request signal is active are different from the clock cycles during which the grant signal is active.
- 5. A method of performing a data transfer as recited in claim 1, wherein the initiator unit performs the step of providing the starting write address and write length information.
- 6. A method of performing a data transfer as recited in claim 1, wherein the initiator unit performs the step of providing the write request signal.
- 7. A method of performing a data transfer as recited in claim 1, wherein the initiator unit performs the step of providing a number of write data items on the bus.
- 8. A method of performing a data transfer from an initiator unit to a target unit over a bus interconnecting the initiator unit and target units, the method comprising:
while a starting write address and write length information are present on the bus, receiving from the initiator unit a write request signal that is activated and deactivated synchronously with a clock cycle of the clock signal; providing to the initiator unit a grant signal that is activated and deactivated synchronously with a clock cycle of the clock signal, the starting write address and write length information being captured during the activated request signal; and after the deactivation of the grant signal, capturing a number of write data items on the bus synchronously with the clock signal, one write data item captured in each clock cycle of the clock signal, the number of write data items being determined by the write length information provided.
- 9. A method of performing a data transfer as recited in claim 8, wherein the write request signal has an active time of approximately one clock cycle.
- 10. A method of performing a data transfer as recited in claim 8, wherein the grant signal has an active time of approximately one clock cycle.
- 11. A method of performing a data transfer as recited in claim 8,
wherein the write request signal and the grant signal each have active times spanning one or more clock cycles; and wherein the clock cycles during which the write request signal is active are different from the clock cycles during which the grant signal is active.
- 12. A method of performing a data transfer as recited in claim 8, wherein the target unit performs the step of providing to the initiator unit a grant signal.
- 13. A method of performing a data transfer as recited in claim 8, wherein the target unit performs the step of capturing a number of write data items.
- 14. A method of performing a data transfer from a target unit to an initiator unit over a bus interconnecting the initiator unit and target units, the method comprising:
providing a starting read address and read length information on the bus synchronously with a clock signal; while the starting read address and read length information are present on the bus, providing a read request signal that is activated and deactivated synchronously with a clock cycle of the clock signal, and receiving a grant signal from the target unit that is activated and deactivated synchronously with a clock cycle of the clock signal; and after the grant signal is deactivated,
receiving a block ready signal from the target unit, and capturing a number of read data items on the bus synchronously with the clock signal, one read data item provided in each clock cycle of the clock signal, the number of read data items being determined by the read length information provided.
- 15. A method of performing a data transfer as recited in claim 14, wherein the read request signal has an active time of approximately one clock cycle.
- 16. A method of performing a data transfer as recited in claim 14, wherein the grant signal has an active time of approximately one clock cycle.
- 17. A method of performing a data transfer as recited in claim 14,
wherein the read request signal and the grant signal each have active times spanning one or more clock cycles; and wherein the clock cycles during which the read request signal is active are different from the clock cycles during which the grant signal is active.
- 18. A method of performing a data transfer as recited in claim 14, wherein the initiator unit performs the step of providing the starting read address and read length information.
- 19. A method of performing a data transfer as recited in claim 14, wherein the initiator unit performs the step of providing the read request signal.
- 20. A method of performing a data transfer as recited in claim 14, wherein the initiator unit performs the step of receiving a block ready signal.
- 21. A method of performing a data transfer as recited in claim 14, wherein the initiator unit performs the step of capturing a number of read data items on the bus.
- 22. A method of performing a data transfer from a target unit to an initiator unit over a bus interconnecting the initiator unit and target units, the method comprising:
while a starting read address and read length information are present on the bus, receiving from the initiator unit a read request signal that is activated and deactivated synchronously with a clock cycle of the clock signal, and providing to the initiator unit a grant signal that is activated and deactivated synchronously with a clock cycle of the clock signal, the starting read address and read length information being captured during the activated grant signal; and after the deactivation of the grant signal,
providing a block ready signal that is activated and deactivated synchronously with a clock cycle of the clock signal, and providing a number of read data items on the bus synchronously with the clock signal, one read data item provided in each clock cycle of the clock signal, the number of read data items being determined by the read length information provided.
- 23. A method of performing a data transfer as recited in claim 22, wherein the read request signal has an active time of approximately one clock cycle.
- 24. A method of performing a data transfer as recited in claim 22, wherein the grant signal has an active time of approximately one clock cycle.
- 25. A method of performing a data transfer as recited in claim 22,
wherein the read request signal and the grant signal each have active times spanning one or more clock cycles; and wherein the clock cycles during which the read request signal is active are different from the clock cycles during which the grant signal is active.
- 26. A method of performing a data transfer as recited in claim 22, wherein the target unit performs the step of providing a block ready signal.
- 27. A method of performing a data transfer as recited in claim 22, wherein the target unit performs the step of providing to the initiator unit a grant signal.
- 28. A method of performing a data transfer as recited in claim 22, wherein the target unit performs the step of providing a number of read data items on the bus.
- 29. An initiator unit comprising:
a request generating unit coupled to receive an operation type indicator and configured to activate, in response to the operation type indicator, a read or write request signal on a communication bus, the read or write request signal being synchronous to a clock signal; a handshake state machine coupled to the request generating unit to provide the operation type indicator, the handshake state machine being coupled to the communication bus to receive a grant signal and provide, in response to an active grant signal, an active next block signal; an address counter coupled to the handshake state machine to receive the next block signal, the address counter being configured to synchronously provide, in response to an active next block signal, an address at which either the read or write operation is to start and a length indicating a number of data items to be transferred over the communications bus in the operation; a write data FIFO and write FIFO controller coupled to the handshake state machine to receive the next block signal, the write data FIFO and controller being configured to synchronously provide, in response to an active next block signal, the number of data items on the communications bus in a write operation; and a read data FIFO and read FIFO controller coupled to receive the number of read data items on the communications bus in a read operation and a read block read signal from the communications bus and to provide to the communications bus an accept next block signal.
- 30. A target unit comprising:
a handshake state machine coupled to receive a read or write request signal from a communications bus and a unit available signal, the read or write request signal being synchronous to a clock signal; a request generating unit being coupled to the handshake state machine to receive an unit available indicator, the request generating unit being coupled to the communications bus to provide a grant signal, the grant signal being synchronously activated in response to an active read or write request signal and an active unit available signal; and a data FIFO and FIFO controller for synchronously providing a pre-specified number of read data items or write data items and a read block ready signal to the communications bus and for receiving a accept next block signal from the bus.
CROSS REFERENCE TO EARLIER APPLICATION
[0001] This is a continuation application claiming the benefit of prior-filed U.S. patent application Ser. No. 10/459, 369, filed Jun. 10, 2003, entitled “APPARATUS AND METHOD FOR HIGH SPEED DATA TRANSFER.”
Continuations (1)
|
Number |
Date |
Country |
Parent |
10459369 |
Jun 2003 |
US |
Child |
10740948 |
Dec 2003 |
US |