Altera First-In-First-Out Partitioner User Manual

Page 15

Advertising
background image

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

).

Figure 7. Using read_b_n as a Read Request

In

Figure 7

, the contents of the FIFO written to in

Figure 6

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

).

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

Advertising