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.3.3. Agent Controller
The Agent Controller module performs the following tasks:
- Extracts the information from the descriptor instruction passed in from Descriptor Engine. Refer to the tables in Data Descriptor and Responder Descriptor for the definition of each field type.
- Calculates the number of read or write transfers required by considering the following criteria:
- Total payload length requested from the descriptor instruction.
- For DMA PCIe mode:
- MPS from PCIe Host for write transfers.
- MRRS from PCIe Host for read transfers.
- For DMA SoC mode:
- For read and write requests, the maximum burst size issued at the Host AXI-4 interface can be up to 4096 bytes based on the Maximum Transfer Length parameter you configure.
- Forwards corresponding instructions (address, payload length, number of read or write requests) to Constructor to issue read/write requests.
- Forwards corresponding instructions (address, payload length, sop, eop, number of read or write requests) to MM or ST source/sink agent interfacing with user logic.
- Coordinates the reset sequence for each module when software reset is issued:
- Asserts the q_resetting bit to indicate the initialization of reset cycle when q_sw_reset_req bit is set by software.
- Assert the q_agent_control_paused bit when the q_pause_agent_control bit is set by software.
- Completes any occurring transaction before proceeding to stop issuing responses and read descriptors further from descriptor engine.
- De-asserts the q_en bit to prevent descriptor engine to receive or forward further descriptors or responses from or to Prefetcher Engine.
- Completes any occurring transaction to or from Constructor before proceeding to stop the Constructor.
- Toggles ready to high for Responder to flush out any occurring response packets from Router.
- Reset all registers to initial states and erase all contents from descriptor engine's buffers.
- De-assert the q_resetting bit to indicate the completion of reset cycle.