Zynq PS vs PL: Architecture, AXI, and System Partitioning
Understand the Zynq processing system and programmable logic, how to partition a design between PS and PL, and how both sides communicate over AXI.
What Is a Zynq SoC?
A SoC (System on Chip) combines one or more processors, memory controllers, and peripherals on a single die. A conventional SoC does not necessarily contain programmable logic. A Zynq is an FPGA SoC: it adds an FPGA fabric directly connected to the processor system on the same silicon.
AMD/Xilinx's Zynq-7000 family combines a dual-core ARM Cortex-A9 processor with a 7-series FPGA architecture. Newer families such as Zynq UltraScale+ MPSoC add ARM Cortex-A53 and Cortex-R5 cores while retaining the distinction between the processor system and programmable logic.
Why Use a SoC Instead of a Standalone FPGA?
The main benefit is placing each function where it is most efficient:
- the processor runs software, an operating system, network protocols, file systems, and decision-heavy algorithms;
- the FPGA handles parallel data streams, custom interfaces, and strict real-time constraints;
- integrating both on one die reduces latency, power, board area, and component count compared with separate CPU and FPGA devices;
- DDR memory can be shared: software prepares buffers and a hardware accelerator processes them without moving the data over a slow external link.
A Zynq is therefore useful when an application combines a complex software stack with deterministic hardware processing: industrial vision, software-defined radio, robotics, high-speed acquisition, or motor control. If the problem is software-only, a microcontroller may be simpler. If the whole design is a hardware pipeline without advanced software, a standalone FPGA may be enough.

Overview of a Zynq-7000: the Processing System is in the upper section and the programmable logic is in the lower section.
The Two Sides of Zynq
Processing System (PS)
The PS is a hard-wired processor subsystem. On a Zynq-7000, it includes:
| Element | Role |
|---|---|
| CPU | Two ARM Cortex-A9 cores running software |
| Caches and internal memory | L1/L2 caches and On-Chip Memory |
| DDR controller | Access to external DDR without consuming FPGA logic |
