ZYNQ-7000 是 Xilinx 首款 SoC 级 FPGA:

  • PS(Processing System)是硬核双核 ARM Cortex-A9 处理子系统(顺序执行软件)
  • PL(Programmable Logic)是可编程逻辑阵列(并行执行硬件电路)

两者通过 9 条 AXI 接口互联。PS 管 "控制、协议栈、操作系统",PL 管 "高速并行数据通路、算法加速"。

ZYNQ 整体架构图

1、PS 处理系统(Processing System)详解

PS 是硬核固定逻辑(ASIC 实现,不可修改),出厂即定型,相当于一颗 "双核 A9 应用处理器"。

1.1 应用处理单元 APU

组件规格
处理器双核 ARM Cortex-A9 MPCore
主频667MHz(-1)/ 800MHz(-2)/ 1GHz(-3)速度等级
L1 Cache每核 32KB 指令 + 32KB 数据(哈佛结构)
L2 Cache512KB 共享,8 路组相联
一致性SCU(Snoop Control Unit)监听控制单元,保证双核 L1 与 L2 一致性
协处理器每核 NEON SIMD 引擎 + VFPv3 双精度浮点

1.2 存储子系统

  • OCM:256KB 片上 SRAM(低延迟),其中 128KB 可通过 AXI_HP 被 PL 访问
  • DDR 控制器:支持 DDR2/DDR3/DDR3L/LPDDR2,16/32bit 位宽,最高 DDR3-1066,支持 ECC
  • 静态存储器控制器:Quad-SPI Flash、8bit NAND、8bit NOR

1.3 外设(通过 54 个 MIO 引脚引出)

2×UART、2×SPI、2×I2C、2×CAN、2×USB 2.0 OTG、2× 千兆以太网(RGMII/SGMII)、2×SD/SDIO、3×TTC 三路定时器、1×SWDT 看门狗、GPIO(54 MIO + 64 EMIO)。

1.4 基础设施

  • PL330 DMAC:8 通道 DMA,可被 PL 触发使用
  • GIC:全局中断控制器(SGI/PPI/SPI 三类中断源)
  • 时钟:3 个 PLL(ARM PLL、DDR PLL、IO PLL),由 PS_CLK(典型 33.33MHz)倍频产生;输出 FCLK0~3 四路时钟给 PL
  • 启动:BootROM 支持 QSPI / NAND / SD / JTAG 等多级启动(MIO [2:8] 选择启动模式)

2、PL 可编程逻辑(Programmable Logic)详解

PL 是7 系列 FPGA 架构(SRAM 配置,可无限重配置),资源随型号伸缩。

2.1 CLB 逻辑资源

  • 1 个 CLB = 2 个 slice;1 个 slice = 4 个 6 输入查找表(LUT6) + 8 个触发器(FF)
  • LUT 可配置为 6 输入逻辑、双 5 输入逻辑、64×1 分布式 RAM 或 32 位移位寄存器(SRL32)
  • 逻辑单元数 = LUT + FF 的总计(Z-7020 约 85K)

2.2 BRAM 块

  • 每个块 36Kb 双端口,可拆成 2 个独立的 18Kb
  • 支持真双口 / 简单双口、可选输出寄存器、ECC(部分位宽)
  • 用于帧缓存、行缓冲、FIFO—— 是 YOLOv8 图像行缓存 / 权重缓存的载体

2.3 DSP48E1 片

  • 25×18 位有符号乘法器 + 48 位累加器 / ALU + 预加器
  • 支持乘加链式级联,无额外逻辑开销做 FIR / 卷积 —— 目标检测的卷积运算主力

2.4 时钟资源

  • CMT(Clock Management Tile):每 tile 含 1 个 MMCM + 1 个 PLL,可倍频 / 分频 / 相移 / 去抖
  • BUFG:32 个全局时钟缓冲,扇出至全芯片;另有 BUFR(区域时钟)、BUFIO(IO 时钟)

2.5 SelectIO 与电平

  • HP bank(高性能):1.2~1.8V,配 DDR 接口;HR bank(宽范围):1.2~3.3V
  • 支持 LVCMOS、LVDS、HSTL、SSTL 等,支持 DCI 阻抗匹配、数控延迟 IODELAY

2.6 高速与模拟资源

  • XADC:12bit、1MSPS 模数转换器(片上电压 / 温度监控或用户模拟采样)
  • GTX 收发器 + PCIe 硬核:仅 Z-7030 及以上才有(7030:4× GTX 6.6Gbps;7045/7100:16× GTX),PCIe Gen2 ×4 硬核 1 个

3、PS-PL 互联接口

接口数量位宽方向作用峰值带宽
AXI_GP0/1232bitPS→PL(主)寄存器配置、低速控制~600MB/s @150MHz
AXI_GP2/3232bitPL→PS(从)PL 读 PS 侧资源~600MB/s
AXI_HP0~3464bitPL→PS(从)带 FIFO,直达 DDR/OCM,图像数据搬运主通道~1.2GB/s 每个
AXI_ACP164bitPL→PS(从)经 SCU 与 L2 缓存一致性访问~1.2GB/s
EMIO641bit双向GPIO 从 PL 引脚引出
FCLK0~34PS→PL参考时钟输出
中断多路双向PL 中断(SPI)上报 GIC
  • PS 侧 AXI 端口协议为 AXI3(非 AXI4)
  • PL 中 AXI4/AXI4-Lite/AXI4-Stream 通过 SmartConnect/AXI Interconnect 桥接
  • 图像数据流推荐走 AXI_HP + AXI DMA/VDMA
  • 寄存器配置走 AXI_GP

4、PS 与 PL 本质对比

维度PSPL
实现方式硬核 ASIC,不可改SRAM 配置逻辑,可重配置
计算模型顺序指令执行(软件)并行硬件电路(硬件)
典型主频667MHz~1GHz100~250MHz(设计相关)
存储L1/L2 Cache + 256KB OCM + DDR分布式 RAM + BRAM 36Kb 块
运算通用整数 / 浮点(NEON)定点并行,位宽 / 流水线任意定制
外设硬外设齐全(串口 / 网口 / USB/CAN…)需用 IP 核在逻辑内实现
操作系统Linux / FreeRTOS / 裸机无 OS
适用场景控制、协议栈、调度、界面高速数据通路、卷积加速、自定义接口

5、主流型号 PL 资源对照(数据来源:Xilinx DS187)

型号逻辑单元LUTFFBRAM(36Kb)DSP48E1GTX / PCIe
Z-701028K17,60035,20012080
Z-702085K53,200106,400140220
Z-7030125K78,200156,4002654004 / 1
Z-7045350K218,600437,20054590016 / 1
Z-7100444K277,400554,8007552,02016 / 1

PS 是 "大脑"(跑 Linux、做调度和协议),PL 是 "高速并行引擎"(卷积、图像管线、自定义接口),AXI_GP 做配置、AXI_HP 搬数据、AXI_ACP 保一致

6、AXI详解

AXI(Advanced eXtensible Interface)是 AMBA 3.0 总线协议,ZYNQ PS-PL 全部接口采用 AXI3 标准。它有 5 个相互独立、单向传输的通道,每通道用 VALID/READY 握手 完成一拍传输:写地址 (AW)、写数据 (W)、写响应 (B)、读地址 (AR)、读数据 (R)。主从之间无全局 "总线占用" 概念,可同时发出多个未完成事务。

AXI 五通道结构图

AXI 五通道结构:Master 与 Slave 之间独立单向通道 + 逐通道握手

6.1 全局信号

信号方向说明
ACLK全局总线时钟,所有信号在上升沿采样
ARESETn全局复位,低电平有效

6.2 5 个通道的信号详解

6.2.1 写地址通道 AW(Master→Slave)
信号位宽说明
AWID4写事务 ID,用于区分乱序 / 交织的多个事务
AWADDR32/64突发首地址
AWLENAXI3:4 / AXI4:8突发长度,实际拍数 = AWLEN + 1
AWSIZE3每拍传输字节数的编码
AWBURST2突发类型:00=FIXED、01=INCR、10=WRAP
AWLOCKAXI3:2 / AXI4:1锁定 / 独占访问控制
AWCACHE4缓存属性(是否可缓存、可缓冲等)
AWPROT3保护属性:特权 / 非特权、安全 / 非安全、数据 / 指令
AWVALID1主机 "地址有效" 标志
AWREADY1从机 "可接收" 标志
6.2.2 写数据通道 W(Master→Slave)
信号位宽说明
WIDAXI3:4(AXI4 已删除写数据 ID
WDATA8~1024写数据总线
WSTRB数据位宽 / 8字节写使能:对应位为 1 才写入该字节
WLAST1本突发最后一拍指示
WVALID / WREADY1/1握手
6.2.3 写响应通道 B(Slave→Master)
信号位宽说明
BID4响应 ID,必须与对应 AWID 一致
BRESP2响应码:00=OKAY、01=EXOKAY、10=SLVERR、11=DECERR
BVALID / BREADY1/1握手
6.2.4 读地址通道 AR(Master→Slave)

信号与 AW 完全同构:ARID、ARADDR、ARLEN、ARSIZE、ARBURST、ARLOCK、ARCACHE、ARPROT、ARVALID、ARREADY,语义相同。

6.2.5 读数据通道 R(Slave→Master)
信号位宽说明
RID4读数据 ID
RDATA数据位宽读数据总线
RRESP2响应码(编码同 BRESP)
RLAST1本突发最后一拍
RVALID / RREADY1/1握手(从机可先给数据,读数据支持交织

AXI4 额外信号:AWQOS/ARQOS(QoS 优先级)、AWREGION/ARREGION(地址区域)、AWUSER/ARUSER/WUSER/RUSER/BUSER(用户自定义扩展)。

6.3 VALID/READY 握手协议

CLK      __|‾‾|__|‾‾|__|‾‾|__|‾‾|__
VALID    ___|‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾|________
READY    __________|‾‾‾‾‾‾‾|__________
                 ↑ 此处(两者都为高)
                  上升沿完成一拍传输

三条铁律:

  • VALID 置起后必须保持,直到握手完成,中途不得撤销;
  • READY 可以先于 VALID 置起(从机提前表示可接收);
  • VALID 不能组合逻辑依赖 READY(否则会形成循环等待死锁),READY 可以依赖 VALID。

允许的三种时序:VALID 先行、READY 先行、同时置起 —— 传输点都是 "两者同为高的那个上升沿"。

6.4 关键编码速查

编码含义
AxBURST=00 FIXED每拍地址不变(FIFO / 寄存器访问)
AxBURST=01 INCR每拍地址递增 AxSIZE 字节(最常用)
AxBURST=10 WRAP对齐边界内环绕(cache line 访问)
AxSIZE=000~111每拍 1/2/4/8/16/32/64/128 字节
AxLEN拍数 = LEN+1;AXI3 上限 16 拍,AXI4 上限 256 拍
RESP=00/01/10/11正常成功 / 独占成功 / 从机错误 / 译码错误

6.5 ZYNQ PS-PL 各 AXI 端口信号

端口数据位宽ID 位宽方向关键特性
M_AXI_GP0/13212(AWID[11:0])PS→PL 主未完成事务:8 读 + 8 写
S_AXI_GP0/1326PL→PS 从接受能力:8 读 + 8 写
S_AXI_HP0~364(可配 32)6(WID[5:0])PL→PS 从深度 FIFO 缓冲、QoS、直通 DDR/OCM
S_AXI_ACP643(WID[2:0])PL→PS 从经 SCU 与 L2 Cache 一致性

HP 口特有附加信号

信号方向作用
SAXIHP{n}RCOUNT[7:0] / WCOUNT[7:0]PL 读读 / 写数据 FIFO 水位
SAXIHP{n}RACOUNT[2:0] / WACOUNT[5:0]PL 读读 / 写地址 FIFO 水位
SAXIHP{n}AWQOS[3:0] / ARQOS[3:0]PL 写QoS 优先级输入(随 VALID 有效)
SAXIHP{n}RDISSUECAP1EN / WRISSUECAP1ENPL 写动态切换未完成事务上限

Vivado 中的实际信号名:以端口前缀 + 通道字母组合,例如 M_AXI_GP0_AWADDR[31:0]S_AXI_HP0_ARREADYS_AXI_ACP_RDATA[63:0]SAXIHP0_WCOUNT[7:0]

6.6 AXI3(ZYNQ PS)与 AXI4 差异 

特性AXI3(PS 端口)AXI4(PL 推荐)
最大突发16 拍256 拍
WID有(支持写交织)已移除(不支持写交织)
LOCK2 bit1 bit
QoS/REGION/USER
读数据交织支持支持
  • PS 端口是 AXI3,PL 侧 IP 多为 AXI4——Vivado 中用 AXI SmartConnect / AXI Interconnect 自动桥接,地址映射在 Address Editor 里分配
  • 寄存器配置走 M_AXI_GP0 + AXI4-Lite(每事务固定 1 拍突发、无 WLAST),大数据搬运走 AXI DMA/VDMA + S_AXI_HP(64bit、FIFO 缓冲、QoS 可调)
  • 握手最易犯的错:在 VALID 产生逻辑里引用 READY,形成组合环路导致死锁;FIFO 空满标志 + 两级打拍是标准解法
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐