3.1.1.1. PCIe* TLP Constructor
3.1.1.2. PCIe* TLP ID Generation
3.1.1.3. PCIe TX Credit Controller
3.1.1.4. PCIe* TX Scheduler
3.1.1.5. PCIe TLP Completer
3.1.1.6. PCIe RX Router
3.1.1.7. PCIe* MSI-X Controller
3.1.1.8. PCIe BAR0
3.1.1.9. PCIe Bursting Manager (BAM)
3.1.1.10. Completion Timeout Parser
3.1.1.11. Control Shadow Parser
4.2.1. Application Packet Receive Interface
4.2.2. Application Packet Transmit Interface
4.2.3. Control Shadow Interface
4.2.4. Transmit Flow Control Credit Interface
4.2.5. Completion Timeout Interface
4.2.6. PCIe* Miscellaneous Signals
4.2.7. Control and Status Register Responder Manager Interface
4.2.8. Bursting Manager Interface
3.1.1.2. PCIe* TLP ID Generation
The TLP ID generation module generates the Transaction ID field for each outgoing memory read and write request packet, then passes the generated ID to the TLP Constructor module.
The following figures shows the transaction ID field that consist of two major sub-fields: Requester ID and Tag. SSGDMA IP supports up to 8-bit tag only.
Figure 2. Transaction ID Field
The module keeps track on both transmitted tags to TLP constructor and returned completion tags from TLP Completer to derive the current available number of tags for the on-going TX transaction.
The following figure shows the PCIe* header format for 64-bit addressing of memory.
Figure 3. PCIe Header for Memory Request TLP with 64Bit Addressing (4DW Header)
The PCIe specification defined standard header format is mapped to the AXI-Streaming Tdata interface of the GTS AXI Streaming IP for PCI Express as shown in the figure below.
Figure 4. PCIe Header Mapping on Tdata Bus (4DW Header)
The following table shows the requester ID field which is the combination of a Requester Bus Number, Device Number, and Function Number that uniquely identifies the Requester within a Hierarchy.
Field | Header Location |
---|---|
Bus Number [7:0] | Bits 7:0 of Byte 4 |
Device Number [4:0] | Bits 7:3 of Byte 5 |
Function Number [2:0] | Bits 2:0 of Byte 5 |