【ZYNQ】Zynq 芯片介绍

时间:2024-04-22 09:55:58

Zynq 是 Xilinx 公司提出的全可编程 SoC 架构,集成了单核或多核 ARM 处理器与 Xilinx 16nm 或 28nm 可编程逻辑,包括 Zynq 7000 Soc,Zynq UltraScale+ MPSoC 和 Zync UltraScale+ RFSoC 等系列。本文主要介绍 Xilinx Zynq 7000 系列芯片架构、功能与开发流程。

目录

1. ZYNQ 概述

1.1 ZYNQ 的架构与组成

1.2 ZYNQ 的功能与特性

1.2.1 APU

1.2.2 存储器接口

1.2.3 I/O 外设

1.2.4 互联块

1.2.5 CLBs, Slices, and LUTs

1.2.6 时钟管理单元

1.2.7 Block RAM, DSPs

1.2.8 Input/Output

2. ZYNQ 开发流程


1. ZYNQ 概述

        Zynq 是 Xilinx 公司推出的可编程 SoC 架构,集成了单核或多核 ARM 处理器与 Xilinx 16nm 或 28nm 可编程逻辑,包括 Zynq 7000 Soc,Zynq UltraScale+ MPSoC 和 Zync UltraScale+ RFSoC 等系列。

Zynq 7000 SoC 系列

  • 单核或双核 ARM Cortex-A9 处理器
  • 28nm Artix 7 或 Kintex 7 可编程逻辑
  • 支持 6.25Gb/s 至 12.5Gb/s 收发器

Zynq UltraScale+ MPSoC 系列

  • 双核或四核 ARM Cortex-A53 处理器
  • 双核 ARM Cortex-R5F 处理器
  • 16nm FinFET+ 可编程逻辑
  • H.264/H.265 视频编解码器

Zynq UltraScale+ RFSoC 系列

  • 四核 ARM Cortex-A53 处理器
  • 双核 ARM Cortex-R5F 处理器
  • 16nm FinFET+ 可编程逻辑
  • 数字 RF-ADC,RF-DAC,SD-FEC

ZYNQ 的优势:

  1. 单片集成处理器与可编程逻辑,降低硬件设计复杂性;
  2. 提供全可编程(软件、硬件)能力,用途灵活;
  3. 提供广泛的行业标准工具和 IP 库;
  4. 相比多芯片设计,更低功耗。

        ZYNQ 中的嵌入式处理器可运行操作系统和应用程序,可编程逻辑部分可用于实现复杂、对实时性能要求高的信号处理。ZYNQ 具有 ARM 处理器的软件可编程性,以及 FPGA 的硬件可编程性,因此也被称为全可编程 SoC(All Programmable SoC,APSoC)。

        ZYNQ 具有高度可配置和更加灵活的特点,可以应用于通信、汽车驾驶、消费电子等领域。

1.1 ZYNQ 的架构与组成

        本节主要介绍 Xilinx Zynq-7000 系列芯片架构。Zynq-7000 SoC 主体架构相似,主要由嵌入式处理器(Process System)、可编程逻辑块(Programmable Logic),以及 PS 与 PL 之间的互连线组成。

        嵌入式处理器部分采用双核 ARM Cortex-A9 处理器,每个处理器核心都支持 Neon 指令集,单/双精度浮点运算,外设支持 2 x UART, 2 x CAN 2.0B, 2 x I2C, 2 x SPI 和 4 x 32位 GPIO,以及 2 x USB 2.0 (OTG), 2 x 三态千兆以太网, 2 x SD/SDIO。

        Zynq-7000 SoC 器件包含 Z-7010、Z-7015、Z-7020、Z-7030、Z-7035、Z-7045 和 Z-7100 型号,不同型号包含的可编程逻辑资源见下表。

        Zynq 嵌入式处理器 PS 与可编程逻辑 PL 之间还有以下接口:

  • 2 x 32bit 主 AXI 接口
  • 2 x 32bit 从 AXI 接口
  • 4 x 64-bit/32-bit AXI 存储接口
  • 64 位 ACP
  • 16 个中断

1.2 ZYNQ 的功能与特性

PS 的四个主要部分:

        1)应用处理单元(APU)

        2)存储器接口

        3)I/O 外设

        4)互联块

PL 的四个主要部分:

        1)CLBs, Slices, and LUTs

        2)时钟管理单元

        3)Block RAM, DSPs

        4)Input/Output

1.2.1 APU

APU 部分主要特点如下:

  • 双核 ARM Cortex-A9 处理器
    • 处理能力 2.5 DMIPS/MHz
    • 工作频率:667MHz ~ 1GHz
    • 单精度,双精度浮点运算能力:2.0 MFLOPS/MHz
    • 支持 SIMD 的 NEON 媒体处理引擎
    • Level 1 caches,指令与数据各 32KB
    • 集成内存管理单元(MMU)
  • Level 2 Cache(512KB)
  • 双端口片上 RAM(256KB)
  • 8 通道 DMA
    • 支持多种传输类型:memory-to-memory, memory-to-peripheral, peripheral-to-memory, and scatter-gather
    • 64 位 AXI 接口,支持高吞吐量 DMA 传输
    • 4 个通道 PL 端专用
  • 中断与定时器
    • 通用中断控制器(GIC)
    • 3 x 看门狗定时器

1.2.2 存储器接口

        Zynq 存储器接口单元包括动态存储器控制器和静态存储器接口模块。动态内存控制器支持 DDR3、DDR3L、DDR2 和 LPDDR2 内存。静态内存控制器支持 NAND 闪存接口、Quad-SPI 闪存接口、并行数据总线和并行 NOR FLASH 接口。

  • 动态存储器接口
    • DDR 控制器提供对 1Gb 地址的访问,可配置为 16-bit 或 32-bit 位宽
    • DDR3 支持速率高达 1333Mb/s 
    • PS 与 PL 可共享 common 存储的访问
    • 支持 4 个 AXI 接口:1 个 ARM CPU 专用(通过 L2 Cache 控制器)、2 个 PL 端专用、1 个通过 central interconnect 与主 AXI 接口共享
  • 静态存储器接口
    • 8-bit SRAM 数据总线
    • 8-bit 并行 NOR FLASH 接口
    • ONFi 1.0 NAND flash,支持 1-bit ECC
    • 1-bit SPI, 2-bit SPI, 4-bit SPI (quad-SPI), or two quad-SPI (8-bit) 串行 NOR flash

1.2.3 I/O 外设

I/O 外设主要用于数据传输,主要特点如下:

  • 2 个 10/100/1000M 以太网 MAC 接口
    • 支持 IEEE Std 802.3 与 IEEE Std 1588 revision 2.0 标准
    • Scatter-gather DMA 功能
    • 支持外部 PHY 接口
  • 2 个 USB 2.0 OTG 外设,每个外设支持多达 12 个端点
    • 支持高速、全速模式
    • 支持 Host、Device 与 Ob-The-Go 配置
    • 使用 32 位 AHB DMA 主接口和 AHB 从接口
    • 提供 8 位 ULPI 外部 PHY 接口
    • 符合英特尔 EHCI 标准的 USB 主机控制器寄存器和数据结构
  • 2 个 CAN 总线接口控制器
    • 符合 CAN 2.0B 标准
    • ISO 118981-1
  • 2 个 SD/SDIO 控制器
    • 符合 SD/SDIO 2.0 标准
  • 2 个 全双工 SPI 端口
  • 2 个 UART 接口
  • 2 个 IIC 接口
  • 118-bit GPIO

1.2.4 互联块

        APU、内存接口单元和 IOP 都通过多层 AMBA AXI 总线互连,包括到 PL 端。互连是非阻塞的,支持多个同时进行的主从传输。

        通过互连的流量可以通过互连中的 Quality of Service (QoS) 块进行调节。QoS 主要用于调节 CPU、DMA 控制器和表示 IOP 中主节点的组合实体生成的流量。

1.2.5 CLBs, Slices, and LUTs

        Zynq 可编程逻辑块(CLBs)主要特性如下:

  • 6 输入 LUT 结构
  • 每个 CLB 包含 2 个 Slice,每个 Slice 包含 4 个 LUTs,8 个 Flip-Flops
  • 可作为单个 64-bit ROM,或者 2 个具有共用地址的 32bit ROM
  • 25-50% 的 Slice 可作为分布式 64-bit RAM,或者 32-bit/16-bit 移位寄存器

1.2.6 时钟管理单元

        Zynq-7000 系列中的每个器件都具有多达 8 个时钟管理模块 (CMT),每个模块由一个混合模式时钟组成管理器 (MMCM) 和一个锁相环 (PLL)。 

      Zynq 时钟管理单元主要特性如下:

  • 高速缓冲器与布线,用于低偏斜的时钟分布
  • 频率综合与相位调节
  • low-jitter 时钟生成

        Zynq-7000 系列提供六种不同类型的时钟缓冲器(BUFG、BUFR、BUFIO、BUFH、BUFMR 和高性能时钟),以满足高扇出、短传播延迟和极低偏移等不同时钟要求。

1.2.7 Block RAM, DSPs

        Zynq-7000 系列具有多达 755 个双端口块 RAM,每个 RAM 可存储 36 Kb。每个块 RAM 有两个完全独立的端口,共享存储的数据。

        Block RAM 的主要特性如下:

  • 双端口 36 Kb 块 RAM,端口宽度高达 72-bit
  • 可编程 FIFO 逻辑
  • 内置可选纠错电路

        Block RAM 每个端口可以配置为 32K × 1、16K × 2、8K × 4、4K × 9(或 8)、2K × 18(或 16)、1K × 36(或 32)或 512 × 72(或 64)。每个块 RAM 可以分为两个完全独立的 18 Kb 块RAM。

        Zynq-7000 系列器件每个 DSP Slice 基本上由一个专用的 25×18 位二进制补码乘法器和一个48 位累加器组成,工作频率均高达 741 MHz。DSP 包括一个额外的预加法器,通常用于对称滤波器,可提高密集封装设计中的性能。

1.2.8 Input/Output

        Zynq-7000 系列器件的 I/O 数量,随着器件型号和封装类型的不同而变化。每个 I/O 都是可编程的,支持多种 I/O 标准。Zynq-7000 I/O 资源分为 2 种,High Range(HR)与 High Performance(HP)。HR I/O 提供宽电压范围,支持 1.2V ~ 3.3V 电平标准,而 HP I/O 用于高性能工作场景,支持 1.2V ~ 1.8V 电平标准。

2. ZYNQ 开发流程

未完待续 ~