Altera First-In-First-Out Partitioner User Manual
Page 15

Altera Corporation
13
Getting Started
FIFO Partitioner Megafunction User Guide
Read operations with read_b_n operating as a read request
To read from the FIFO, wait for rd_empty to be de-asserted indicating
that data is ready to be read and assert read_b_n, for one
clk_port_a_n
cycle. The contents of the next FIFO location is output on
the rd_data_b_n, and read_empty_n are updated during the next
clk_port_b_n
clock cycle. The read_level_n, and read_full_n
flags are updated one clock cycle later (
Figure 7. Using read_b_n as a Read Request
In
, the contents of the FIFO written to in
are read out.
Notice that data on rd_data_b_n is not valid until after read_b_n has
been asserted.
Read operations with read_b_n operating as a read acknowledge
When read_b_n operates as a read acknowledge, the contents of the next
location of the FIFO as soon as it becomes available. The rd_empty_n flag
goes is low when data is available, indicating that data on the
rd_data_b_n
bus is valid. The user asserts read_b_n to acknowledge
that the data has been read and advance the read address pointer to the
next FIFO location. After asserting read_b_n operating as a read
acknowledge, the contents of the next FIFO location is output on the
rd_data_b_n
, and the read_level_n, read_empty_n, and
read_full_n
are updated during the next clk_port_b_n clock cycle
(
Figure 8. Using read_b_n as a Read Acknowledge
clk_port_b_0
read_b_0
rd_data_b_0
rd_level_0
rd_full_0
rd_empty_0
32
0
0
7
6
5
4
3
2
1
0
2
1
4
3
6
5
8
clk_port_b_1
read_b_1
rd_data_b_1
rd_level_1
rd_full_1
rd_empty_1
32
0
7
6
5
4
3
2
1
0
2
1
4
3
6
5
8