QDMA Descriptor Bypass Output Ports - 4.0 English

QDMA Subsystem for PCI Express Product Guide (PG302)

Document ID
PG302
Release Date
2022-05-20
Version
4.0 English
Table 1. QDMA H2C Descriptor Bypass Output Port Descriptions
Port Name I/O Description
h2c_byp_out_dsc [255:0] O The H2C descriptor fetched from the host.

For H2C AXI-MM, the subsystem uses all 256 bits, and the structure of the bits are the same as this table.

For H2C AXI-ST, the subsystem uses [127:0] bits, and the structure of the bits are the same as this table.

h2c_byp_out_st_mm O Indicates whether this is a streaming data descriptor or memory-mapped descriptor.

0: streaming

1: memory-mapped

h2c_byp_out_dsc_sz [1:0] O Descriptor size. This field indicates size of the descriptor.

0: 8B

1: 16B

2: 32B

3: 64B - 64B descriptors will be transferred with two valid/ready cycles. The first cycle has the least significant 32 bytes. The second cycle has the most significant 32 bytes. CIDX and other queue information is valid only on the second beat of a 64B descriptor .

h2c_byp_out_qid [10:0] O The QID associated with the H2C descriptor ring.
h2c_byp_out_error O Indicates that an error was encountered in descriptor fetch or execution of a previous descriptor.
h2c_byp_out_func [7:0] O PCIe function ID
h2c_byp_out_cidx [15:0] O

H2C Bypass Out Consumer Index

The ring index of the descriptor fetched. The User must echo this field back to QDMA when submitting the descriptor on the bypass-in interface.

h2c_byp_out_port_id [2:0] O QDMA port ID
h2c_byp_out_fmt[2:0] O Format

Tthe encoding for this field is as follows.

0x0: Standard descriptor

0x1 - 0x7: Reserved

h2c_byp_out_vld O Valid. High indicates descriptor is valid, one pulse for one descriptor.
h2c_byp_out_rdy I Ready. When this interface is not used, Ready must be tied-off to 1.
Table 2. QDMA C2H Descriptor Bypass Output Port Descriptions
Port Name I/O Description
c2h_byp_out_dsc [255:0] O The C2H descriptor fetched from the host.

For C2H AXI-MM, the subsystem uses all 256 bits, and the structure of the bits is the same as this table.

For C2H AXI-ST, the subsystem uses [63:0] bits, and the structure of the bits is the same as this table. The remaining bits are ignored.

c2h_byp_out_st_mm O Indicates whether this is a streaming data descriptor or memory-mapped descriptor.

0: streaming

1: memory-mapped

c2h_byp_out_dsc_sz [1:0] O Descriptor size. This field indicates the amount of valid descriptor information on h2c_byp_out_dsc.

0: 8B

1: 16B

2: 32B

3: 64B - 64B descriptors will be transferred with two valid/ready cycles. The first cycle has the least significant 32 bytes. The second cycle has the most significant 32 bytes. CIDX and other queue information is valid only on the second beat of a 64B descriptor.

c2h_byp_out_qid [10:0] O The QID associated with the H2C descriptor ring.
c2h_byp_out_error O Indicates that an error was encountered in descriptor fetch or execution of a previous descriptor.
c2h_byp_out_func [7:0] O PCIe function ID.
c2h_byp_out_cidx [15:0] O

C2H Bypass Out Consumer Index

The ring index of the descriptor fetched. The User must echo this field back to QDMA when submitting the descriptor on the bypass-in interface.

c2h_byp_out_port_id [2:0] O QDMA port ID
c2h_byp_out_pfch_tag[6:0] O Prefetch tag. The prefetch tag points to the cam that stores the active queues in prefetch engine
c2h_byp_out_fmt[2:0] O Format

The encoding for this field is as follows.

0x0 : Standard descriptor

0x1 - 0x7 : Reserved

c2h_byp_out_vld O Valid. High indicates descriptor is valid, one pulse for one descriptor.
c2h_byp_out_rdy I Ready. When this interface is not used, Ready must be tied-off to 1.

It is common for h2c_byp_out_vld or c2h_byp_out_vld to be asserted with the CIDX value; this occurs when the Descriptor bypass mode option is not set in the context programming selection. You must set the Descriptor bypass mode during QDMA IP core customization in the Vivado® IDE to see descriptor bypass output ports. When Descriptor bypass option is selected in the Vivado® IDE but the descriptor bypass bit is not set in context programming, you will see valid signals getting asserted with CIDX updates.