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

未完待续 ~ 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Hadoop1X,Hadoop2X和hadoop3X有很大的区别么?

Hadoop的演进从Hadoop 1到Hadoop 3主要是为了提供更高的效率、更好的资源管理、更高的可靠性以及对更多数据处理方式的支持。下面是Hadoop 1, Hadoop 2, 和 Hadoop 3之间的主要区别和演进的原因: Hadoop 1 特点: 主要包括两大核心组件:HDFS&a…

simple-jwt快速入门(包含自定制)

simple-jwt快速入门(包含自定制) 目录 simple-jwt快速入门(包含自定制)安装路由层视图层全局配置前端传入参数配置文件定制登录返回格式定制payload格式自定制签发-认证 安装 pip install djangorestframework-simplejwt路由层 from rest_framework_simplejwt.views import T…

【 AIGC 研究最新方向(上)】面向平面、视觉、时尚设计的高可用 AIGC 研究方向总结

目前面向平面、视觉、时尚等设计领域的高可用 AIGC 方向有以下 4 种: 透明图层生成可控生成图像定制化SVG 生成 本篇(上篇)介绍 1、2,而下篇将介绍 3、4。 透明图层生成 LayerDiffuse 代表性论文:Transparent Imag…

Qt基础之四十六:Qt界面中嵌入第三方程序的一点心得

本文主要讲解QWidget和QWindow的区别,以及如何在QWidget中嵌入第三方程序,并完美解决在QWidget中嵌入某些程序(比如Qt程序)时出现的白边问题。 下面是嵌入QQ音乐的样子,这首歌还不错。 先用spy++查看QQ音乐的窗口信息,如果安装了Visual Studio,工具菜单里自带spy++ 然后…

Spring Boot | Spring Boot 默认 “缓存管理“ 、Spring Boot “缓存注解“ 介绍

目录: 一、Spring Boot 默认 "缓存" 管理 :1.1 基础环境搭建① 准备数据② 创建项目③ 编写 "数据库表" 对应的 "实体类"④ 编写 "操作数据库" 的 Repository接口文件⑤ 编写 "业务操作列" Service文件⑥ 编写 "applic…

Redis入门到通关之数据结构解析-QuickList

文章目录 ☃️前提概要☃️ 配置项相关☃️简要源码☃️总结 Redis中的 QuickList 是一种特殊的数据结构,用于存储列表类型的数据。它的设计目的是在内存中高效地存储和操作大量的列表元素,尤其是当列表长度很大时。 QuickList的内部结构是一个由多个节…

政安晨:【Keras机器学习示例演绎】(八)—— 利用 PointNet 进行点云分割

目录 简介 导入 下载数据集 加载数据集 构建数据集 预处理 创建 TensorFlow 数据集 PointNet 模型 排列不变性 变换不变性 点之间的相互作用 实例化模型 训练 直观了解培训情况 推论 最后说明 政安晨的个人主页:政安晨 欢迎 👍点赞✍评论…

【PCL】教程 implicit_shape_model.cpp 3D点云数据的对象识别 利用隐式形状模型进行训练和识别...

ism_test_cat.pcd 参数:ism_train_cat.pcd 0 ism_train_horse.pcd 1 ism_train_lioness.pcd 2 ism_train_michael.pcd 3 ism_train_wolf.pcd 4 ism_test_cat.pcd 0 这里红点表示对应感兴趣类别的对象预测中心 ./ism_t…

字节FE:JavaScript学习路线图

JavaScript简介 JavaScript是一种高级的、解释执行的编程语言。它是互联网的三大核心技术之一,与HTML和CSS一同工作,用于创建交互式的网页。JavaScript被所有现代网页浏览器支持而不需要任何插件。它可以增强用户界面和网页的交互性,可以进行…

【讲解下Spring Boot单元测试】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

FineBi中创建自定义的图表

FineBi中增加自己的自定义图表组件,比如: 的相关笔记: 1 获取有哪些BI自定义图表组件:http://localhost:8080/webroot/decision/v5/plugin/custom/component/list?_=1713667435473[{"name": "图表DEMO_EK","chartType": "amap_demo&q…

GO环境及入门案例

文章目录 简介一、win GO开发环境安装二、Linux go运行环境二、GO代码入门2.1 导包案例2.2 赋值2.3 变量、函数2.4 三方库使用 简介 go不是面向对象语言, 其指针、结构体等比较像C,知名的go 开源项目有docker k8s prometheus node-exporter等 一、win …

如何在3dMax中快速打包mzp 文件?

如何在3dMax中创建mzp 文件? 我喜欢将我的Maxscript脚本发布为mzp文件。这是一个为3dMax构建的自解压zip文件。在mzp文件中,您可以捆绑Maxscript脚本文件、图片、预设或其他文件,并链接安装时执行的特殊操作。 在3dMax中使用大型脚本时&…

耐高温300度锅炉轴承,江苏鲁岳轴承制造的行业标杆

自润滑轴承-产品类型-耐高温轴承-不锈钢轴承-江苏鲁岳轴承制造有限公司。锅炉轴承,耐高温至200度-800度。 江苏鲁岳轴承制造有限公司,一家专注于锅炉轴承和耐高温轴承的研发与生产的企业,致力于为客户提供高质量、高性能的轴承解决方案。其中…

LeetCode题练习与总结:矩阵置零--73

一、题目描述 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]]示例 2&#xf…

Linux-内存文件

1. 基础IO操作 1.1 c语言的IO接口 fopen:打开一个文件,按照指定方式 参数:filename 文件名,也可以是路径,mode:打开方式 返回打开的文件指针 fread:从指定流中读数据 参数:从FIL…

Selenium web自动化测试环境搭建

Selenium web自动化环境搭建主要要经历以下几个步骤: 1、安装python 在python官网:Welcome to Python.org,根据各自对应平台如:windows,下载相应的python版本。 ​ 下载成功后,点击安装包,一直…

解释一下“暂存区”的概念,在Git中它扮演什么角色?

文章目录 暂存区在Git中的概念与作用什么是暂存区(Staging Area)暂存区的位置和结构 暂存区在Git工作流程中的角色1. 分离工作区与版本库的交互示例代码与操作步骤示例1:将工作区的修改添加至暂存区 2. 控制提交内容的粒度示例2:分…

【Linux】虚拟机与Xshell及VS Code的连接

一、基础环境 虚拟机:VMware Workstation Pro 虚拟机镜像:ubuntu-18.04.5-desktop-amd64.iso 其他:Xshell 6、Xftp 6、Visual Studio Code 上述软件的安装操作不再赘述,CSDN上有大量的优秀博文,可参考:详细…

安装和部署maven

准备工作 maven下载地址:https://maven.apache.org/download.cgi 使用wget将maven包下载到linux环境上,/toos/ 目录下(也可用迅雷) wget https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.g…