Method and apparatus for providing high speed parallel transfer of bursts of data
First Claim
1. A device for providing high speed parallel transfer of bursts of data between the device and an external interface bus, each burst including a predetermined number of data bits in a fixed number of multibit data words, the external interface bus including a plurality of data lines, with each data line corresponding to one bit in a data word being transferred, and the external interface bus also including a first and second synchronizing line carrying ACKNOWLEDGE and DATA VALID signals, and a direction line, the device comprising:
- transfer means for coupling the device to the external interface bus to transmit and receive signals on the data lines, synchronizing lines, and direction line;
burst register means coupled to the transfer means, including a plurality of storage elements equal to the predetermined number, for transmitting a single multibit data word from the storage elements to the data lines in response to a first control signal, and for storing a single multibit data word in the storage elements from the data lines in response to a second control signal; and
control means coupled to the transfer means and the burst register means,for providing a DIRECTION OUT signal to the transfer means for output to the direction line to enable transmission of a burst of data to the data lines, for sequentially providing a plurality of first control signals equal to the fixed number to the burst register means to sequentially transmit each data word of the burst from the burst register means to the transfer means, and for sequentially providing a plurality of DATA VALID signals equal to the fixed number to the transfer means for output to one of the synchronizing lines, each DATA VALID signal being provided to the transfer means after a corresponding data word in the burst is sequentially transmitted from the burst register means, to enable synchronous reception of each data word in the burst, the control means monitoring the other synchronizing line and being responsive to assertion of an ACKNOWLEDGE signal on the other synchronizing line prior to transmission of the burst to prevent a first data word in the burst from being transmitted from the burst register means until after the ACKNOWLEDGE signal is deasserted; and
the control means being responsive to assertion of a DIRECTION IN signal on the direction line to enable storage of a burst from the data lines, for monitoring one of the synchronizing lines, for sequentially providing a plurality of second control signals equal to the fixed number to the burst register means, each second control signal being provided to the burst register means in response to assertion of a corresponding DATA VALID signal on the one synchronizing line to sequentially store each data word of the burst in the burst register means, for asserting a single ACKNOWLEDGE signal on the other synchronizing line after receiving a DATA VALID signal corresponding to a first data word in the burst, and for deasserting the ACKNOWLEDGE signal on the other synchronizing line after the predetermined number of storage elements in the burst register means are ready to store another burst of data.
3 Assignments
0 Petitions
Accused Products
Abstract
Method and apparatus for high speed parallel transfer of bursts of data between a device and an external interface bus. A burst mode asynchronous protocol is utilized, in which synchronous bursts of data using DATA VALID signals are followed by an asynchronous handshake using an ACKNOWLEDGE signal. The apparatus includes a burst register for storing and transmitting the data words in a burst, and control logic responsive to DATA VALID and ACKNOWLEDGE signals and providing control signals to operate the burst register.
-
Citations
33 Claims
-
1. A device for providing high speed parallel transfer of bursts of data between the device and an external interface bus, each burst including a predetermined number of data bits in a fixed number of multibit data words, the external interface bus including a plurality of data lines, with each data line corresponding to one bit in a data word being transferred, and the external interface bus also including a first and second synchronizing line carrying ACKNOWLEDGE and DATA VALID signals, and a direction line, the device comprising:
-
transfer means for coupling the device to the external interface bus to transmit and receive signals on the data lines, synchronizing lines, and direction line; burst register means coupled to the transfer means, including a plurality of storage elements equal to the predetermined number, for transmitting a single multibit data word from the storage elements to the data lines in response to a first control signal, and for storing a single multibit data word in the storage elements from the data lines in response to a second control signal; and control means coupled to the transfer means and the burst register means, for providing a DIRECTION OUT signal to the transfer means for output to the direction line to enable transmission of a burst of data to the data lines, for sequentially providing a plurality of first control signals equal to the fixed number to the burst register means to sequentially transmit each data word of the burst from the burst register means to the transfer means, and for sequentially providing a plurality of DATA VALID signals equal to the fixed number to the transfer means for output to one of the synchronizing lines, each DATA VALID signal being provided to the transfer means after a corresponding data word in the burst is sequentially transmitted from the burst register means, to enable synchronous reception of each data word in the burst, the control means monitoring the other synchronizing line and being responsive to assertion of an ACKNOWLEDGE signal on the other synchronizing line prior to transmission of the burst to prevent a first data word in the burst from being transmitted from the burst register means until after the ACKNOWLEDGE signal is deasserted; and the control means being responsive to assertion of a DIRECTION IN signal on the direction line to enable storage of a burst from the data lines, for monitoring one of the synchronizing lines, for sequentially providing a plurality of second control signals equal to the fixed number to the burst register means, each second control signal being provided to the burst register means in response to assertion of a corresponding DATA VALID signal on the one synchronizing line to sequentially store each data word of the burst in the burst register means, for asserting a single ACKNOWLEDGE signal on the other synchronizing line after receiving a DATA VALID signal corresponding to a first data word in the burst, and for deasserting the ACKNOWLEDGE signal on the other synchronizing line after the predetermined number of storage elements in the burst register means are ready to store another burst of data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A process for providing high speed parallel transfer of bursts of data via an external interface bus between a first device and a second device, each burst including a predetermined number of data bits in a fixed number of multibit data words, each device including a plurality of storage elements equal in number to the predetermined number for storing each burst of data, and the external interface bus including a first and second synchronizing line carrying ACKNOWLEDGE and DATA VALID signals, a direction line for control of data transfer, and a plurality of data lines each corresponding to one bit in a data word being transferred, the process comprising the steps of:
-
transmitting a DIRECTION OUT signal from the first device to the second device on the direction line; monitoring the second synchronizing line by the first device to determine whether an ACKNOWLEDGE signal is being asserted by the second device; sequentially transmitting a plurality of data words equal to the fixed number in a burst from the storage elements in the first device to the data lines, with the first data word in the burst not being transmitted at times when an ACKNOWLEDGE signal is being asserted by the second device; sequentially transmitting a plurality of DATA VALID signals equal to the fixed number from the first device to the first synchronizing line, each DATA VALID signal being transmitted after transmission of a corresponding data word in the burst and prior to transmission of a subsequent data word in the burst; monitoring the first synchronizing line by the second device to determine whether a DATA VALID signal is being transmitted by the first device; sequentially storing each data word in the burst into the storage elements in the second device at times when a DATA VALID signal is being transmitted by the first device; asserting a single ACKNOWLEDGE signal by the second device on the second synchronizing line after a DATA VALID signal is transmitted from the first device corresponding to the first data word in the burst; and deasserting the single ACKNOWLEDGE signal by the second device after the predetermined number of storage elements in the second device are ready to store another burst of data.
-
-
31. A process for providing high speed parallel transfer of a partial burst of data via an external interface bus between a first device and a second device, wherein a burst includes a predetermined number of data bits in a fixed number of multibit data words, and wherein each device includes a plurality of storage elements equal in number to the predetermined number for storing a burst of data, and the external interface bus includes a first and second synchronizing line carrying ACKNOWLEDGE and DATA VALID signals, a direction line for control of data transfer, a burst done line, and a plurality of data lines each corresponding to one bit in a data word being transferred, the process comprising the steps of:
-
transmitting a DIRECTION OUT signal from the first device to the second device on the direction line; monitoring the second synchronizing line by the first device to determine whether an ACKNOWLEDGE signal is being asserted by the second device; sequentially transmitting a plurality of data words equal to a number less than the fixed number in a partial burst from the storage elements in the first device to the data lines, with the first data word in the partial burst not being transmitted at times when an ACKNOWLEDGE signal is being asserted by the second device; sequentially transmitting a plurality of DATA VALID signals equal to the number less than the fixed number from the first device to the first synchronizing line, each DATA VALID signal being transmitted after transmission of a corresponding data word in the partial burst and prior to transmission of a subsequent data word in the partial burst; transmitting a BURST DONE signal from the first device to the second device on the burst done line at times when a last data word in the partial burst is transmitted from the storage elements in the first device to the data lines; monitoring the first synchronizing line by the second device to determine whether a DATA VALID signal is being transmitted by the first device; sequentially storing each data word in the partial burst into the storage elements in the second device at times when a DATA VALID signal is being transmitted by the first device; asserting a single ACKNOWLEDGE signal by the second device on the second synchronizing line after a DATA VALID signal is transmitted from the first device corresponding to the first data word in the partial burst; monitoring the burst done line by the second device to determine whether a BURST DONE signal is being transmitted by the first device; and deasserting the single ACKNOWLEDGE signal by the second device after a BURST DONE signal is transmitted from the first device corresponding to the last data word in the partial burst and after the predetermined number of storage elements in the second device are ready to store a burst of data.
-
-
32. A process for providing high speed parallel transfer of bursts of data via an external interface bus between a first device and a second device, each burst including a predetermined number of data bits in a fixed number of multibit data words, each device including a plurality of storage elements equal in number to the predetermined number for storing each burst of data, and the external interface bus including a first and second synchronizing line carrying ACKNOWLEDGE and DATA VALID signals, a direction line for control of data transfer, and a plurality of data lines each corresponding to one bit in a data word being transferred, the process comprising the steps of:
-
transmitting a DIRECTION OUT signal from the first device to the second device on the direction line during a first transfer; monitoring the second synchronizing line by the first device to determine whether an ACKNOWLEDGE signal is being asserted by the second device during the first transfer; sequentially transmitting a plurality of data words equal to the fixed number in a burst from the storage elements in the first device to the data lines, with the first data word in the burst not being transmitted at times when an ACKNOWLEDGE signal is being asserted by the second device during the first transfer; sequentially transmitting a plurality of DATA VALID signals equal to the fixed number from the first device to the first synchronizing line, each DATA VALID signal being transmitted after transmission of a corresponding data word in the burst and prior to transmission of a subsequent data word in the burst during the first transfer; monitoring the first synchronizing line by the second device to determine whether a DATA VALID signal is being transmitted by the first device during the first transfer; sequentially storing each data word in the burst into the storage elements in the second device at times when a DATA VALID signal is being transmitted by the first device during the first transfer; asserting a single ACKNOWLEDGE signal by the second device on the second synchronizing line after a DATA VALID signal is transmitted from the first device corresponding to the first data word in the burst during the first transfer; deasserting the single ACKNOWLEDGE signal by the second device after the predetermined number of storage elements in the second device are ready to store another burst of data during the first transfer; transmitting a DIRECTION OUT signal from the second device to the first device on the direction line during a second transfer; monitoring the first synchronizing line by the second device to determine whether an ACKNOWLEDGE signal is being asserted by the first device during the second transfer; sequentially transmitting a plurality of data words equal to the fixed number in a burst from the storage elements in the second device to the data lines, with the first data word in the burst not being transmitted at times when an ACKNOWLEDGE signal is being asserted by the first device during the second transfer; sequentially transmitting a plurality of DATA VALID signals equal to the fixed number from the second device to the second synchronizing line, each DATA VALID signal being transmitted after transmission of a corresponding data word in the burst and prior to transmission of a subsequent data word in the burst during the second transfer; monitoring the second synchronizing line by the first device to determine whether a DATA VALID signal is being transmitted by the second device during the second transfer; sequentially storing each data word in the burst into the storage elements in the first device at times when a DATA VALID signal is being transmitted by the second device during the second transfer; asserting a single ACKNOWLEDGE signal by the first device on the first synchronizing line after a DATA VALID signal is transmitted from the second device corresponding to the first data word in the burst during the second transfer; and deasserting the single ACKNOWLEDGE signal by the first device after the predetermined number of storage elements in the first device are ready to store another burst of data during the second transfer.
-
-
33. A process for providing high speed parallel transfer of a partial burst of data via an external interface bus between a first device and a second device, wherein a burst includes a predetermined number of data bits in a fixed number of multibit data words, and wherein each device includes a plurality of storage elements equal in number to the predetermined number for storing a burst of data, and the external interface bus includes a first and second synchronizing line carrying ACKNOWLEDGE and DATA VALID signals, a direction line for control of data transfer, a burst done line, and a plurality of data lines each corresponding to one bit in a data word being transferred, the process comprising the steps of:
-
transmitting a DIRECTION OUT signal from the first device to the second device on the direction line during a first transfer; monitoring the second synchronizing line by the first device to determine whether an ACKNOWLEDGE signal is being asserted by the second device during the first transfer; sequentially transmitting a plurality of data words equal to a number less than the fixed number in a partial burst from the storage elements in the first device to the data lines, with the first data word in the partial burst not being transmitted at times when an ACKNOWLEDGE signal is being asserted by the second device during the first transfer; sequentially transmitting a plurality of DATA VALID signals equal to the number less than the fixed number from the fist device to the first synchronizing line, each DATA VALID signal being transmitted after transmission of a corresponding data word in the partial burst and prior to transmission of a subsequent data word in the partial burst during the first transfer; transmitting a BURST DONE signal from the first device to the second device on the burst done line at times when a last data word in the partial burst is transmitted from the storage elements in the first device to the data lines during the first transfer; monitoring the first synchronizing line by the second device to determine whether a DATA VALID signal is being transmitted by the first device during the first transfer; sequentially storing each data word in the partial burst into the storage elements in the second device at times when a DATA VALID signal is being transmitted by the first device during the first transfer; asserting a single ACKNOWLEDGE signal by the second device on the second synchronizing line after a DATA VALID signal is transmitted from the first device corresponding to the first data word in the partial burst during the first transfer; monitoring the burst done line by the second device to determine whether a BURST DONE signal is being transmitted by the first device during the first transfer; deasserting the single ACKNOWLEDGE signal by the second device after a BURST DONE signal is transmitted from the first device corresponding to the last data word in the partial burst and after the predetermined number of storage elements in the second device are ready to store a burst of data during the first transfer; transmitting a DIRECTION OUT signal from the second device to the first device on the direction line during a second transfer; monitoring the first synchronizing line by the second device to determine whether an ACKNOWLEDGE signal is being asserted by the first device during the second transfer; sequentially transmitting a plurality of data words equal to a number less than the fixed number in a partial burst from the storage elements in the second device to the data lines, with the first data word in the partial burst not being transmitted at times when an ACKNOWLEDGE signal is being asserted by the first device during the second transfer; sequentially transmitting a plurality of DATA VALID signals equal to the number less than the fixed number from the second device to the second synchronizing line, each DATA VALID signal being transmitted after transmission of a corresponding data word in the partial burst and prior to transmission of a subsequent data word in the partial burst during the second transfer; transmitting a BURST DONE signal from the second device to the first device on the burst done line at times when a last data word in the partial burst is transmitted from the storage elements in the second device to the data lines during the second transfer; monitoring the second synchronizing line by the first device to determine whether a DATA VALID signal is being transmitted by the second device during the second transfer; sequentially storing each data word in the partial burst into the storage elements in the first device at times when a DATA VALID signal is being transmitted by the second device during the second transfer; asserting a single ACKNOWLEDGE signal by the first device on the first synchronizing line after a DATA VALID signal is transmitted from the second device corresponding to the first data word in the partial burst during the second transfer; monitoring the burst done line by the first device to determine whether a BURST DONE signal is being transmitted by the second device during the second transfer; and deasserting the single ACKNOWLEDGE signal by the first device after a BURST DONE signal is transmitted from the second device corresponding to the last data word in the partial burst and after the predetermined number of storage elements in the first device are ready to store a burst of data during the second transfer.
-
Specification