Apparatus and methods employing asynchronous fifo buffer with read prediction
AssigneeAdvanced Micro Devices, Inc.
InventorsRichard Martin Born, David M. Dahle
Life of this patent
Estimating the term…
Abstract
Methods and apparatus employ an asynchronous first-in-first-out buffer (FIFO), that includes a plurality of entries. Control logic determines a timing separation between a write header valid signal and corresponding write data valid signal for a write operation to an entry in the first-in-first-out buffer (FIFO) and performs a read of the corresponding data from the entry in the FIFO in the second clock domain, based on the determined timing separation of the write header valid signal and corresponding write data valid signal, and based on a clock frequency ratio between the first and second clock domains.
Claims20
A processor comprising:
- a first-in-first-out buffer (FIFO) comprising a plurality of entries and operative to process writes at a first clock frequency of a first clock domain and process reads at a second clock frequency of a second clock domain, the second clock signal asynchronous with the first clock signal;
- control logic configured to:
- determine a timing separation between a write header valid signal and corresponding write data valid signal for a write operation to an entry in the FIFO;
- and
- perform a read of the corresponding data from the entry in the FIFO in the second clock domain, based on the determined timing separation of the write header valid signal and corresponding write data valid signal, and based on a clock frequency ratio between the first and second clock domains.
A method carried out by at least one processor, comprising:
- determining a timing separation between a write header valid signal and corresponding write data valid signal for a write operation to an entry in a first-in-first-out buffer (FIFO) comprising a plurality of entries operative to process writes at a first clock frequency of a first clock domain and process reads at a second clock frequency of a second clock domain, the second clock signal asynchronous with the first clock signal;
- and
- performing a read of the corresponding data from the entry in the FIFO in the second clock domain, based on the determined timing separation of the write header and corresponding write data and based on a clock frequency ratio between the first and second clock domains.
A system comprising:
- at least one processor comprising:
- an asynchronous first-in-first-out buffer (FIFO) having a plurality of entries;
- a first clock domain operative at a first clock frequency and comprising:
- at least one write header queue configured to store a write header;
- at least one write data queue configured to store write data corresponding to the write header;
- write control logic configured to determine a timing separation between the write header valid signal and corresponding write data valid signal for a write operation to an entry in the FIFO;
- a second clock domain operative at a second a different clock frequency, and comprising:
- read header logic configured to provide a read header;
- read data logic configured to provide read data corresponding to the read header;
- a read transaction pipeline;
- and
- control logic configured to perform a read of the corresponding data from the entry in the FIFO in the second clock domain, based on the determined timing separation of the write header and corresponding write data, and based on a clock frequency ratio of the first clock frequency and the second clock frequency.
An asynchronous first-in-first-out (FIFO) buffer comprising:
- a plurality of entries and operative to process writes at a first clock frequency of a first clock domain and process reads at a second clock frequency of a second clock domain, the second clock signal asynchronous with the first clock signal;
- control logic configured to:
- determine a timing separation between a write header valid signal and corresponding write data valid signal for a write operation to an entry in the first-in-first-out buffer (FIFO);
- and
- perform a read of the corresponding data from the entry in the FIFO in the second clock domain, based on the determined timing separation of the write header and corresponding write data, and based on a clock frequency ratio between the first and second clock domains.
Dependencies are inferred from the claim text.