SPRUIM2H May 2020 – October 2023 AM2431 , AM2432 , AM2434 , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442
The Virtual Channel/Transfer Class (VC/TC) feature in the PCIe core, in conjunction with the device system CBASS Quality-of-Service (QOS) capabilities, provide a mechanism for supporting differentiated QOS within the PCIe subsystem. The policy for traffic differentiation is determined by the Transfer Class (TC) and Virtual Channel (VC) mapping and VC-based arbitration mechanism.
A Virtual Channel is established when one or more TCs are associated with a physical resource designated by a VC ID. Every Traffic Class that is supported on a given path within the subsystem must be mapped to one of the enabled Virtual Channels. Every Port must support the default TC0/VC0 pair – this is “hardwired.” Any additional TC mapping or additional VC resource enablement is optional. The number of VC resources provisioned within a component or enabled within a given subsystem may vary due to implementation and usage model requirements.
The PCIe core in the PCIe subsystem is configured to support four virtual channels (4VC/4TC). For both ingress and egress traffic, VC3, the highest numbered virtual channel, has the highest priority.
For ingress traffic, the TC information from each transaction on the AXI controller information is mapped to the CCHANID signal of the VBUSM controller interface. The system level interconnect can use the CCHANID along with the ORDERID for QoS purposes. Table 12-1465 shows the TC mapping to the 12-bit CCHANID of each VBUSM controller interface.
TC Value | CCHANID[11:0] |
---|---|
0 | {9’d0, 3’b000} |
1 | {9’d0, 3’b001} |
2 | {9’d0, 3’b010} |
3 | {9’d0, 3’b011} |
4 | {9’d0, 3’b110} |
5 | {9’d0, 3’b101} |
6 | {9’d0, 3’b110} |
7 | {9’d0, 3’b111} |
For egress traffic requiring the highest priority it should be mapped to VC=3 in the PCIe controller. The VC mapping is done using the AXI outbound descriptor registers in the PCIe controller.