Embedded system design based on ZYNQ chip architecture
ZYNQ is mainly composed of two parts:
Processing System PS (ProcessingSystem):
The upper left part of the above picture is the PS part, including:
Symmetric Multi-Processing (SMP) of homogeneous dual-core ARMCortexA9
Rich peripherals, 2×SPI, 2×I2C, 2×CAN, 2×UART, 2×SDIO, 2×USB, 2×GigE, GPIO
Static memory controller: Quad-SPI, NAND, NOR
Dynamic memory controller: DDR3, DDR2, LPDDR2
Programmable logic PL (Programmablelogic): compatible with Xilinx 7 series FPGA
Chips based on Artix™: Z-7010 and Z-7020
Kintex™-based chips: Z-7030 and Z-7045
All peripherals of the PS at the ZYNQ processing system are connected to the AMBA (Advanced MicrocontrollerBusArchitecture) bus, and the FPGA-based IP can be mounted on the AMBA bus through the AXI interface to realize the interconnection of internal components. Two concepts are involved here:
AMBA bus, friends who are familiar with the ARM architecture should generally understand that AMBA is a registered trademark of ARM. It is an open standard https://www.censtry.com/product-category.html on-chip interconnect specification for the connection and management of functional blocks in system-on-chip (SoC) design. It promotes the design and development of multi-core processors with bus structures and multiple controllers or components. Since its establishment, AMBA has been widely used, far beyond the field of microcontroller devices. Today, AMBA has been widely used in various ASIC and SoC components, including application processors used in modern portable mobile devices.
Advanced extensible interface AXI (AdvancedeXtensibleInterface): It is part of ARM's AMBA3.0 and AMBA4.0 specifications. It is a parallel high-performance, synchronous, high-frequency, multi-master, and multi-slave communication interface. It is mainly designed for on-chip communication. Why say that AXI is part of AMBA? You can understand it clearly by looking at the following two pictures.