FIFO
Return to Introduction  Previous page  Next page

 

fifo

 

This device handles a queue of data using the FIFO ( FIRST IN FIRST OUT ) method. This kind of data structure is known also as CIRCULAR QUEUE. The FIFO device allows you to store a lot of data and retrieve it in reverse order. The queue can handle words of 8 or 16 bits with user definable stack-depth. Keep in mind that in some versions of the software the maximum size of the queue is function of the current memory model. For further information about this argument refer to the section MEMORY MODELS .

 

The FIFO functionality is explained below :

The data present on the IN plug is inserted in the queue on the raising-edge of the PUSH signal. The OUT signal always gives the value of the first data available. Data can be sequentially retrieved in reverse order applying signals on the PULL signal. When the PULL signal is applied the OUT plug will give the value for the next data available. In the case of the queue being empty the OUT plug will supply zero. Two pins are available to check the FIFO status. The EMPTY signal is true when the queue is empty and the FULL signal is true when the queue is FULL.

 

PUSH and PULL signals are sampled simultaineously. If a transition is detected on both the signals, PUSH has precedence respect to PULL.

 

Property settings

 

Parameter

Description



DEPTH

The queue depth

 

 

DATA SIZE

The word size for the queue ( BYTE / WORD )

       

Net plugs

 

Plug

Description



IN

Data input

 

 

OUT

Data output

 

 

PUSH

This signal pushes data in the queue

 

 

PULL

This signal pulls data from the queue

 

 

FULL

This signal become true when the queue is full

 

 

EMPTY

This signal becomes true when the queue is empty

 

See also : LIFO