Altera IP Compiler for PCI Express User Manual

Page 326

Advertising
background image

B–8

Chapter :

Descriptor/Data Interface

IP Compiler for PCI Express User Guide

August 2014

Altera Corporation

Each virtual channel has a dedicated datapath and associated buffers and no ordering
relationships exist between virtual channels. While one virtual channel may be
temporarily blocked, data flow continues across other virtual channels without
impact. Within a virtual channel, reordering is mandatory only for non-posted
transactions to prevent deadlock. Reordering is not implemented in the following
cases:

Between traffic classes mapped in the same virtual channel

Between posted and completion transactions

Between transactions of the same type regardless of the relaxed-ordering bit of
the transaction layer packet

In

Figure B–6

, the IP core receives a memory read request transaction of 4 DWORDS

that it cannot immediately accept. A second transaction (memory write transaction of
one DWORD) is waiting in the receive buffer. Bit 2 of rx_data[63:0] for the memory
write request is set to 1.

In clock cycle three, transmission of non-posted transactions is not permitted for as
long as rx_mask is asserted.

Flow control credits are updated only after a transaction layer packet has been
extracted from the receive buffer and both the descriptor phase and data phase (if
any) have ended. This update happens in clock cycles 8 and 12 in

Figure B–6

.

Figure B–6. RX Retried Transaction and Masked Non-Posted Transaction Waveform

clk

rx_req

rx_ack

rx_desc[135:128]

rx_desc[127:64]

rx_desc[63:0]

rx_abort

rx_retry

rx_mask

rx_dfr

rx_dv

rx_ws

rx_data[63:32]

rx_data[31:0]

rx_be[7:0]

valid

valid

valid

MEMRD 4 DW

MEMWR 1DW

MEMRD 4DW

valid

valid

valid

DW 0

0x00

0xF0

0x00

1

2

3

4

5

6

7

8

9

10

11

12

Descriptor

Signals

Data
Signals

Advertising