Card-to-system descriptor field descriptors – Achronix Speedster22i PCIe User Manual

Page 16

Advertising
background image

UG030, April 26, 2013

16

Control portion of the Descriptor. Status fields indicate to software
the Descriptor completion status. Software should zero all status
fields prior to making the Descriptor available to the DMA Engine.

To promote ease of re-using Descriptors (for circular queues),
Control and Status fields are assigned their own locations in the
Descriptor.

Table 1 described the Packet DMA Descriptor format.

Table 1: Packet DMA Descriptor Format

Data Flow

Direction

256-Bit Field (addresses increment left and down)

Card-to-

System

{C2SDescStatusFlags[7:0], Reserved[3:0],
C2SDescByteCount[19:0], C2SDescUserStatus[31:0],
C2SDescUserStatus[63:32], DescCardAddr[31:0],
C2SDescControlFlags[7:0], DescCardAddr[35:32],
DescByteCount[19:0], DescSystemAddr[31:0],
DescSystemAddr[63:32], DescNextDescPtr[31:5],
5’b00000}

System-to-

Card

{S2CDescStatusFlags[7:0],
S2CDescStatusErrorFlags[3:0],
S2CDescByteCount[19:0], S2CDescUserControl[31:0],
S2CDescUserControl[63:32], DescCardAddr[31:0],
S2CDescControlFlags[7:0], DescCardAddr[35:32],
DescByteCount[19:0], DescSystemAddr[31:0],
DescSystemAddr[63:32], DescNextDescPtr[31:5],
5’b00000}


Card-to-System Descriptor Field Descriptors

Data flow for Card-to-System DMA is from the user design to system
memory. The DMA Engine receives packets on its DMA Interface from the
user hardware design and writes the packets into system memory at the
locations specified by the Descriptors. The Packet DMA Engine assumes that
the packet sizes are variable and unknown in advance. The Descriptor Status
fields contain the necessary information for software to be able to determine
the received packet size and which Descriptors contain the packet data.
Packet start and end are indicated by the SOP and EOP C2SDescStatusFlag
bits. A packet may span multiple Descriptors. SOP=1, EOP=0 is a packet start,
SOP=EOP=0 is a packet continuation, SOP=0, EOP=1 is a packet end, and
SOP=EOP=1 is a packet starting and ending in the same Descriptor. The
received packet size is the sum of the C2SDescByteCount fields for all
Descriptors that are part of a packet.

Descriptor fields specific to Card-to-System DMA:

Advertising