LIFO |
This device handles a queue of data using the LIFO ( LAST IN FIRST OUT ) method. This kind of data structure is know also as STACK. The LIFO device allows you to store a lot of data and retrieve it in same sequence. The queue can handle words of 8 or 16 bits with user definable stack-depth. Keep in mind that in some version 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 LIFO 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 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 case of empty-queue the OUT plug will suplly zero. Two pins are available to check the LIFO 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 signal are sampled simoultaineously detected on both of the signals. PUSH has the 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 : FIFO