ProASIC3E FIFO

Various devices in the family have RAM Blocks ranging from 32 to 256 in number, resulting in a total on-chip memory of 144K – 1152K. Each memory block has a total of 4608 bits of memory. Each RAM block has a dedicated FIFO Counter and FIFO Logic attached to it.

Features

Description

WW and RW

These signals enable the FIFO to be configured into one of the four allowable aspect ratios.

WW2, WW1, WW0

RW2, RW1, RW0

W x D

000

000

1 x 4K

001

001

2 x 2K

010

010

4 x 1K

011

011

9 x 512

100

100

18 x 256

101, 110, 111

101, 110,111

ILLEGAL

WBLKB and RBLKB

These signals are active low and will enable the respective ports when low. When BLK signals are high the output holds the previous value.

WEN and REN

Read and Write Enables. WEN is Active Low and REN is Active High.

WCLK and RCLK

These are the clock signals for the synchronous read and write operations. These can be driven independently or with the same driver.

PIPE

This signal is used to specify pipelined read on the output. A Low on the PIPE indicates a non-pipelined read and the data appears on the output in the same clock cycle. A High indicates a pipelined read and data appears on the output in the next clock cycle.

RESET

This Active Low signal resets the output to zero when asserted. It resets the FIFO counters. It also sets all the RD pins low, the FULL and AFULL pins low, and the EMPTY and AEMPTY pins high.

WD

This is the input data signals and is 18 bits wide. But not all 18 bits are valid in all configurations. When a data width less than 18 is specified unused higher order signals must be grounded

W x D

WD UNUSED

1 x 4K

WD[17:1]

2 x 2K

WD[17:2]

4 x 1K

WD[17:4]

9 x 512

WD[17:9]

18 x 256

N/A

RD

This is the output data signals and is 18 bits wide. But not all 18 bits are valid in all configurations. Similar to the WD higher order bits become unusable. The output data on unused pins is undefined.

ESTOP, FSTOP

ESTOP is used to stop the FIFO read counter from further counting once the FIFO is empty (i.e. the EMPTY flag goes high). A high on this signal prevents the counting.

FSTOP is used to stop the FIFO write counter from further counting once the FIFO is full (i.e. the FULL flag goes high). A high on this signal prevents the counting.

For more information on these signals refer to the ESTOP, FSTOP Usage section.

FULL, EMPTY

When the FIFO is full and no more data can be written the FULL flag asserts high. It de-asserts after one read operation, when the FIFO is no longer full.

When the FIFO is empty and no more data can be read the EMPTY flag asserts high. It de-asserts after one write operation, when the FIFO is no longer empty.

For more information on these signals please refer to the FIFO Flags Usage section.

AFULL, AEMPTY

These are programmable flags and will assert on the threshold specified by AFVAL and AEVAL respectively.

When the number of words stored in the FIFO reaches the amount specified by AEVAL while reading, the AEMPTY output will go high.  Likewise when the number of words stored in the FIFO reaches the amount specified by AFVAL while writing, the AFULL output will go high.  

AFVAL, AEVAL

The AEVAL and AFVAL pins are used to specify the almost empty and almost full threshold values, respectively.  They are 12 bit signals. For more information on these signals please refer to the FIFO Flags Usage section.

FIFO4KX18 Truth TableS

Operation

Address

RCLK

WCLK

RBLK_B

WBLK_B

WMODE

WEN_B

FIFO

RESET_B

EF

FF

EF_STOP

FF_STOP

DI

DO

FIFO Reset

X

X

X

X

X

X

X

H

L

H

L

X

X

X

L

 

Operation

Address

RCLK

RBLK_B

REN

FIFO

RESET_B

EF

FF

EF_STOP

DI

DO

FIFO Read

RA-Current

Rising Edge

L

H

H

H

L

Z

Z

Z

Data

FIFO Empty (*1)

RA-Last

Rising Edge

L

H

H

H

H

L

H

X

Data - Last

FIFO Empty (*2)

RA - Current

Rising Edge

L

H

H

H

H

L

L

X

Data

 

Operation

Address

WCLK

WBLK_B

WMODE

WENB

FIFO

RESET_B

EF

FF

FF_STOP

DI

DO

FIFO Write

WA-Current

Rising Edge

L

L

L

H

H

X

L

X

Data

Data - Last

FIFO Full (*3)

WA-Last

Rising Edge

L

L

L

H

H

L

H

H

X

Data - Last

FIFO Full (*4)

WA - Current

Rising Edge

L

L

L

H

H

L

H

L

Data

Data - Last

(*1) Empty flag high inhibits read counter forward counting. Data bus holds the last read out data.

(*2) Empty flag high does not stop read counter. Old data is read out again.

(*3) Full flag high stops write counter for further count. No more write until full flag goes low.

(*4) Full flag high does not stop write counter. Unread data was overwritten by data