【ZYNQ】Zynq 芯片介绍

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 开发流程

未完待续 ~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/637324.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[阅读笔记20][BTX]Branch-Train-MiX: Mixing Expert LLMs into a Mixture-of-Experts LLM

这篇论文是meta在24年3月发表的,它提出的BTX结构融合了BTM和MoE的优点,既能保证各专家模型训练时的高度并行,又是一个统一的单个模型,可以进一步微调。 这篇论文研究了以高效方法训练LLM使其获得各领域专家的能力,例如…

欧科云链:香港虚拟资产OTC合规在即,技术监管成市场规范关键

4月12日香港OTC发牌制度公众咨询结束后,欧科云链研究院在星岛日报发表专栏文章,分享对香港OTC市场的调研情况,并提出“技术监管是香港OTC及Web3生态走向规范的关键”。欧科云链研究院认为,随着OTC监管及虚拟资产现货ETF等事件向前…

【Yolov系列】Yolov5学习(一)补充1.1:自适应锚框计算

1、Yolov5的网络结构 Yolov5中使用的Coco数据集输入图片的尺寸为640*640,但是训练过程的输入尺寸并不唯一,Yolov5可以采用Mosaic增强技术把4张图片的部分组成了一张尺寸一定的输入图片。如果需要使用预训练权重,最好将输入图片尺寸调整到与作…

【剪映专业版】13快速为视频配好音:清晰、无噪声、对齐

视频课程:B站有知公开课【剪映电脑版教程】 使用场景:视频无声音或者视频有声音但是需要更改声音 时间指示器在哪里,就从哪里开始 红色按钮:开始录音 声音波纹:蓝色最佳,黄色或红色声音太大,…

梯度消失/梯度爆炸

梯度消失/梯度爆炸(Vanishing / Exploding gradients) 梯度消失或梯度爆炸:训练神经网络的时候,导数或坡度有时会变得非常大,或者非常小,甚至于以指数方式变小,这加大了训练的难度。 g ( z ) …

目标检测YOLO数据集的三种格式及转换

目标检测YOLO数据集的三种格式 在目标检测领域,YOLO(You Only Look Once)算法是一个流行的选择。为了训练和测试YOLO模型,需要将数据集格式化为YOLO可以识别的格式。以下是三种常见的YOLO数据集格式及其特点和转换方法。 1. YOL…

node的事件循环

异步同步啥的就不多说了,直接看node中有哪些是异步 其中灰色部分和操作系统有很大的关系,就不多说了,其中定时器属于timers队列,I/O操作属于poll队列,setImmediate属于check队列,其中nextTick和promise不属…

PTA L2-052 吉利矩阵

题目 解析 这题考的是搜索剪枝 可行性剪枝: 即判断当前行(列)是否已经超过L和剩下的格子都填最大值是否小于L,若是则剪枝。 当前行数大于1时,判断上一个填完的行是否等于L,若否,则剪枝。 当前行…

【深度学习实战(12)】训练之模型参数初始化

在深度学习模型的训练中,权重的初始值极为重要。一个好的初始值,会使模型收敛速度提高,使模型准确率更精确。一般情况下,我们不使用全0初始值训练网络。为了利于训练和减少收敛时间,我们需要对模型进行合理的初始化。 …

linux 下的 sqlite数据库

SQLite 认识 SQLite简介 轻量化,易用的嵌入式数据库,用于设备端的数据管理,可以理解成单点的数据库。传统服务器型数据库用于管理多端设备,更加复杂 SQLite是一个无服务器的数据库,是自包含的。这也称为嵌入式数据库&…

在Linux系统中,禁止有线以太网使用NTP服务器进行时间校准的几种方法

目录标题 方法 1:修改NTP配置以禁止所有同步方法 2:通过网络配置禁用NTP同步方法 3:禁用NTP服务 在Linux系统中,如果想要禁止有线以太网使用NTP服务器进行时间校准,可以通过以下几种方法之一来实现: 方法 …