# 🧠 PS Subsystem (Control + Processing) [🏠 Project Home](../README.md) --- ## Overview The PS subsystem is responsible for: - Configuring PL subsystems - Receiving data via DMA - Performing frame-based processing --- ## Responsibilities ### Control - Writes parameters to PL registers: - Tx generator configuration - Generates TxPulseStart trigger --- ### DMA Handling - AXI4-Stream → DMA (S2MM) - Data stored in PS DDR Configuration: - Frame size: 512 - Buffers: 16 --- ### Processing Pipeline DMA → uint64[512] → unpack real/imag → convert to complex → RMS + peak detection --- ## Execution Model - Event-driven (DMA trigger) - No buffering queue - Frames may be dropped --- ## Performance Notes - Bottleneck: unpacking + conversion - Cannot sustain full-rate input --- ## Interaction with PL ### Tx Control - Low-rate trigger (~Hz) - Starts burst generation ### Rx Data - Continuous high-rate stream --- ## Future Work - Replace processing with FrFT - NEON optimization - Throughput improvements --- ## 🔗 Related Components - [🏠 Project Home](../README.md) - [PL Tx Subsystem](pl_tx_subsystem.md) - [PL Rx Subsystem](pl_rx_subsystem.md)