Fill level indicator for self-timed fifo
AssigneeCodex Corporation
InventorCraig S. Holt
Life of this patent
Estimating the term…
Abstract
A FIFO uses a fill indicator circuit to indicate a fill status and provide control signals to a data source and data sink to cease operation. A serial string of FIFO cells propagates data from input to output by sending request and acknowledge signals between adjacent cells. The request signal initiates data transfer to the next logical cell and the acknowledge signal indicates completion of the transfer. The fill indicator has one cell for each FIFO cell for monitoring the request and acknowledge signals looking for predetermined state sequences to indicate whether each FIFO cell is full or empty.
Claims9
A circuit, comprising:
- first means for shifting data received at an input along a string of serially coupled data storage cells to an output where each of said data storage cells provides a request control signal indicating a request for data transfer to a first adjacent cell and an acknowledge control signal acknowledging data transfer from a second adjacent cell;
- and
- second means coupled for receiving said request and acknowledge control signals and determining fill status of said data storage cells in a predetermined manner and providing a fill level signal accordingly, said second means includes a string of serially coupled fill indicator cells where a first fill indicator cell receives a full flag input signal from a second fill indicator cell adjacent to said first fill indicator Cell, said first fill indicator cell including,
- (a) a first NAND gate having first, second and third inputs and an output, said first input receiving a first state signal of said first fill indicator cell, said second input receiving said full flag input signal, said third input receiving said request control signal,
- (b) a second NAND gate having first and second inputs and an output, said first input receiving a second state signal of said first fill indicator cell, said second input receiving an inverted request control signal,
- (c) a third NAND gate having first and second inputs and an output, said first input receiving said second state signal of said first fill indicator cell, said second input receiving said acknowledge control signal,
- (d) a fourth NAND gate having first and second inputs and an output, said first input receiving said first state signal of said first fill indicator cell, said second input receiving said second state signal of said first fill indicator cell, said output providing a second full flag output signal, and
- (e) a fifth NAND gate having first, second, third and fourth inputs and an output, said first input being coupled to said output of said first NAND gate, said second input being coupled to said output of said second NAND gate, said third input being coupled to said output of said third NAND gate, said fourth input being coupled to said output of said fourth NAND gate, said output providing said fill level signal and said second state signal of said first fill indicator cell.
A method of determining fill status of a data storage cell, comprising the steps of:
- establishing an empty state indicating that the data storage cell is available for data input;
- monitoring status of request and acknowledge control signals where said request control signal indicates a request for data transfer to a first adjacent data storage cell and said acknowledge control signal acknowledges data transfer to a second adjacent data storage cell;
- shifting from said empty state to a propagation state when said request control signal and an inverted acknowledge control signal are asserted;
- and
- shifting from said propagation state to a full state when an inverted request control signal and said inverted acknowledge control signal and a full flag signal are asserted, where said full state provides the fill status and a full flag signal to the adjacent cell.
A circuit, comprising:
- first means for shifting data received at an input along a string of serially coupled data storage cells to an output where each of said data storage cells provides a request control signal indicating a request for data transfer to a first adjacent cell and an acknowledge control signal acknowledging data transfer from a second adjacent cell;
- and
- a string of serially coupled fill indicator cells where a first fill indicator cell receives a full flag signal from a second fill indicator cell adjacent to said first fill indicator cell, said first fill indicator cell including,
- (a) a first NAND gate having first, second and third inputs and an output, said first input receiving a first state signal of said first fill indicator cell, said second input receiving said full flag input signal, said third input receiving said request control signal,
- (b) a second NAND gate having first and second inputs and an output, said first input receiving a second state signal of said first fill indicator cell, said second input receiving an inverted request control signal,
- (c) a third NAND gate having first and second inputs and an output, said first input receiving a second state signal of said first fill indicator cell, said second input receiving said acknowledge control signal,
- (d) a fourth NAND gate having first and second inputs and an output, said first input receiving said first state signal of said first fill indicator cell, said second input receiving said second state signal of said first fill indicator cell, said output providing a second full flag output signal, and
- (e) a fifth NAND gate having first, second, third and fourth inputs and an output, said first input being coupled to said output of said first NAND gate, said second input being coupled to said output of said second NAND gate, said third input being coupled to said output of said third NAND gate, said fourth input being coupled to said output of said fourth NAND gate, said output providing said fill level signal and said second state signal of said first fill indicator cell.
Dependencies are inferred from the claim text.