Sending a write tlp – Altera Arria V Avalon-MM User Manual

Page 90

Advertising
background image

The TX TLP programming model scales with the data width. The Application Layer performs the same

writes for both the 64- and 128-bit interfaces. The Application Layer can only have one outstanding non-

posted request at a time. The Application Layer must use tags 16–31 to identify non-posted requests.
Note: For Root Ports, the Avalon-MM bridge does not filter Type 0 Configuration Requests by device

number. Application Layer software should filter out all requests to Avalon-MM Root Port

registers that are not for device 0. Application Layer software should return an Unsupported

Request Completion Status.

Sending a Write TLP

The Application Layer performs the following sequence of Avalon-MM accesses to the CRA slave port to

send a Memory Write Request:
1. Write the first 32 bits of the TX TLP to

RP_TX_REG0.

2. Write the next 32 bits of the TX TLP to

RP_TX_REG1.

3. Write the

RP_TX_CNTRL.SOP

to 1’b1 to push the first two dwords of the TLP into the Root Port TX

FIFO.

4. Repeat Steps 1 and 2. The second write to

RP_TX_REG1

is required, even for three dword TLPs with

aligned data.

5. If the packet is complete, write

RP_TX_CNTRL

to 2’b10 to indicate the end of the packet. If the packet is

not complete, write 2’b00 to

RP_TX_CNTRL.

6. Repeat this sequence to program a complete TLP.
When the programming of the TX TLP is complete, the Avalon-MM bridge schedules the TLP with

higher priority than TX TLPs coming from the TX slave port.

Sending a Read TLP or Receiving a Non-Posted Completion TLP

The TLPs associated with the Non-Posted TX requests are stored in the RP_RX_CPL FIFO buffer and

subsequently loaded into RP_RXCPL registers. The Application Layer performs the following sequence to

retrieve the TLP.
1. Polls the

RP_RXCPL_STA

TUS.SOP

to determine when it is set to 1’b1.

2. Then

RP_RXCPL_STATUS.SOP

= 1’b’1, reads

RP_RXCPL_REG0

and

RP_RXCPL_REG1

to retrieve dword 0

and dword 1 of the TLP.

3. Read the

RP_RXCPL_STATUS.EOP.

• If

RP_RXCPL_STATUS.EOP =

1’b0, read

RP_RXCPL_REG0

and

RP_RXCPL_REG1

to retrieve dword 2

and dword 3 of the TLP, then repeat step 3.

• If

RP_RXCPL_STATUS.EOP =

1’b1, read

RP_RXCPL_REG0

and

RP_RXCPL_REG1

to retrieve final

dwords of TLP.

PCI Express to Avalon-MM Interrupt Status and Enable Registers for Root Ports

The Root Port supports MSI, MSI-X and legacy (INTx) interrupts. MSI and MSI-X interrupts are memory

writes from the Endpoint to the Root Port. MSI and MSI-X requests are forwarded to the interconnect

without asserting

CraIrq_o

.

5-28

Sending a Write TLP

UG-01105_avmm

2014.12.15

Altera Corporation

Registers

Send Feedback

Advertising
This manual is related to the following products: