System-to-card descriptor field descriptors – Achronix Speedster22i PCIe User Manual

Page 18

Advertising
background image

UG030, April 26, 2013

18

the packet ended before filling the entire Descriptor, then
C2SDescByteCount will be less than the Descriptor size
DescByteCount. The received packet size is the sum of the
C2SDescByteCount fields for all Descriptors that are part of
a packet.

• C2SDescByteCount is 20-bits so supports Descriptors up to

2^20-1 bytes. Note that since packets can span multiple
Descriptors, packets may be significantly larger than the
Descriptor size limit.

C2SDescUserStatus[63:0] – Status

• Contains application specific status received from the user

when receiving the final data byte for the packet;
C2SDescUserStatus is only valid if EOP is asserted in
C2SDescStatusFlags. C2SDescUserStatus is not used by the
DMA Engine and is purely for application specific needs to
communicate information between the user hardware
design and system software. Example usage includes
communicating a hardware calculated packet CRC,
communicating whether the packet is an Odd/Even video
frame, etc. Use of C2SDescUserStatus is optional.

• C2SDescUserStatusHighIsZero and

C2SDescUserStatusLowIsZero are provided for ensuring
coherency of status information.

System-to-Card Descriptor Field Descriptors

Data flow for System-to-Card DMA is from system memory to the user
design. Software places packets into the Descriptors and then passes the
Descriptors to the DMA Engine for transmission. The DMA Engine reads the
packets from system memory and provides them to the user hardware
design on its DMA Interface. The software knows the packet sizes in advance
and writes this information into the Descriptors. Software sets SOP and EOP
S2CDescControlFlags during packet to Descriptor mapping to indicate
Packet start and end information. 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 transmitted packet size is the sum of all
S2CDescByteCount fields for all Descriptors that are part of a packet. The
Descriptor Status fields contain the necessary information for software to be
able to determine which Descriptors the DMA Engine has completed.

Descriptor fields specific to System-to-Card DMA:

S2CDescControlFlags[7:0] – Control

Bit 7 – SOP – Set if this Descriptor contains the start of a
packet; clear otherwise

Bit 6 – EOP – Set if this Descriptor contains the end of a
packet; clear otherwise

Bits[5:3] – Reserved

Advertising