ZYNQ PS简介
ZYNQ 它实际上是一个以处理器为核心的系统,PL 只是它的外设。Zynq-7000 该系列的亮点是它包含了完整性 ARM 内存控制器和大量外设集成在处理器系统中 Cortex-A9 处理器可以完全独立于可编程逻辑单元。实际上在 ZYNQ 中,PL 和 PS 这两部分的供电电路是独立的 PS 或 PL 如果不使用部分,可以断电。
我们前面介绍一下 SOPC 时提到过,FPGA 可用于构建嵌入式处理器,如 Xilinx 的 MicroBlaze 处理器或者 Altera 的 Nios II 处理器。像这样使用 FPGA 可编程逻辑资源构建的处理器称为软核处理器,其优点在于处理器的数量和实现方法的灵活性。
而 ZYNQ 集成是一个硬核处理器,是硅芯片上专用的优化硬件电路。硬核处理器的优点是性能相对较高。ZYNQ 硬件处理器与软核处理器没有冲突,我们可以使用它 PL 构建一个逻辑资源 Microblaze 软核处理器,来和 ARM 硬核处理器协同工作。
需要注意的是,Zynq 不仅仅是处理器系统 ARM 处理器和一组相关的处理资源形成了应用处理器单元(Application Processing Unit,APU),此外,还有扩展外设接口,cache 存储器、存储器接口、互联接口、时钟电路等。
ZYNQ 处理器系统(PS)示意图如下所示,其中红色高亮区域为 APU。
1、APU
如上图所示 APU 简化框图。APU 主要是由两个 ARM 由处理器核组成的,每个都与一些可计算的单元有关:
一个 NEONTM 媒体处理引擎(Media Processing Engine,MPE)和浮点单元(Floating Point Unit,FPU);
内存管理单元(Memory Management Unit,MMU);
一个一级 cache 存储器(分为指令和数据)。
APU 还有一个二级 cache 存储器,然后是片上的存储器(On Chip Memory,OCM),这些是两个 ARM 共用处理器。
最后,一个一致性控制单元(Snoop Control Unit,SCU)在 ARM 核和二级 cache 及 OCM 桥连接在存储器之间形成。SCU 部分责任和 PL 这个接口没有标记在图中。
2、外部接口
如图 1.4.1 所示,Zynq PS 实现了许多接口,既有 PS 和 PL 也有 PS 在外部部件之间。PS 与外界接口之间的通信主要是通过复用输入/输出(Multiplexed Input/Output,MIO)它提供了灵活的配置 54 个引脚,说明外部设备与引脚之间的映射可以按需定义。当需要扩展超过时 54 当个引脚可以扩展时 MIO(Extended MIO,EMIO)来实现,EMIO 并不是 PS 通过共享与外部连接的直接通路 PL 的 I/O 实现资源。
PS 中可用的 I/O 包括标准通信接口和通用输入/输出(General Purpose Input/Output,GPIO),GPIO 可用于各种用途,包括简单的按钮、开关和 LED。如下图所示:
3.存储接口
Zynq-7000 APSoC 存储接口单元包括一个动态存储控制器和几个静态存储接口模块。可用于动态存储控制器 DDR3、DDR3L、DDR2 或 LPDDR2.静态存储控制器支持一个 NAND 闪存接口,一个 Quad-SPI 闪存接口,一个并行数据总线和并行 NOR 闪存接口。
四、片上存储器
包括片上存储器 256kB 的 RAM(OCM)和 128kB 的 ROM(BootROM)。OCM 支持两个 64 位 AXI 从机接口端口,专用于通过 APU SCU 的 CPU/ACP 另一个原因是访问 PS 和 PL 所有其他总线主机共享。BootROM 是 ZYNQ 芯片上的非易失性存储器包含 ZYNQ 配置器件的驱动。BootROM 对用户来说是看不见的,专门保留,只用于引导过程。
5、AXI 接口
ZYNQ 将高性能 ARM Cotex-A 高性能的系列处理器 FPGA 单芯片的紧密结合给设计带来了许多优点,如降低体积和功耗、降低设计风险、提高设计灵活性等。处理器具有不同的工艺特性 FPGA 在芯片上集成后,片内处理器和 FPGA 互联通路成了 ZYNQ 芯片设计的重中之重。如果 Cotex-A9 与FPGA 数据交互成为瓶颈,处理器与 FPGA 结合性能优势无法发挥。
Xilinx 从 Spartan-6 和 Virtex-6 开始使用系列 AXI 协议来连接 IP 核。在 7 系列和 ZYNQ-7000 AP SoC 器件中,Xilinx 在 IP 继续使用核中 AXI 协议。AXI 英文全称是Advanced eXtensible Interface,即高级可扩展接口,它是 ARM 公司提出的 AMBA(Advanced Microcontroller Bus Architecture)协议的一部分。
AXI 该协议是一种高性能、高带宽、低延迟的电影总线,具有以下特点:
1、总线的地址/控制和数据通道是分离的;
支持数据传输不对齐;
3.支持突发传输,突发传输只需要第一个地址;
4.有独立的读写数据通道;
支持显著传输访问和乱序访问;
时序收敛更容易。
二进制数只能在数字电路中传输 0 和 1.因此,有效传输信息可能需要一组信号,这组信号构成接口。
AXI4 协议支持以下三种接口:
1、 AXI4.高性能存储映射接口。
2、 AXI4-Lite:简化版的 AXI4 存储映射通信的接口较少。
3、 AXI4-Stream:用于高速数据流传输,非存储映射接口。
让我们首先解释一下存储映射(Meamory Map)这个概念。如果一个协议是存储映射主机发出的会话(无论是读还是写)将显示地址。该地址对应于系统存储空间中的一个地址,表示存储空间的读写操作。
AXI4 协议支持突发传输,主要用于需要指定地址的高速数据传输场景,如处理器访问存储器。AXI-Lite主要用于访问一些低速外设中的寄存器,为外设提供单个数据传输。而 AXI-Stream 接口则像 FIFO 同样,数据传输不需要地址,主设备之间的数据直接连续读写,主要用于视频、高速等 AD、PCIe、DMA 接 口等需要高速数据传输的场合。
在 PS 和 PL 之间的主要连接是通过一组 9 个 AXI 每个接口由多个通道组成。这些形成 PS 内部互联和和和 PL 如下图所示:
上图对每个接口进行了简要描述,并标记了主机和从机器(按照惯例,主机控制总线并发起会话,从机器响应)。需要注意的是,接口命名的第一个字母表示 PS 也就是说,第一个字母 “M”表示 PS 是主机,第一个字母S”表示 PS 是从机。
上图中 PS 和 PL 之间的 9 个 AXI 接口可分为三类:
1、通用 AXI(General Purpose AXI):一条 32 适用于位数据总线 PL 和 PS 中低速通信之间。接口是无缓冲传输的。共有四个通用接口:两个 PS 做主机,另外两个 PL 做主机。
2、加速器一致性端口(Accelerator Coherency Port):在 PL 和 APU 内的 SCU 总线宽度为单个异步连接 64 位置。这个端口是用来实现的 APU cache 和 PL 单元之间的一致性。PL 做主机。
三、高性能端口(High Performance Ports):四个高性能 AXI 接口,带有 FIFO 缓冲提供批量读写操作,支持 PL 和 PS 内存单元的高速通信。数据宽度是 32 或 64 位,在所有四个接口中 PL 都是做主机的。
以上每条总线都由一组信号组成,这些总线的会话是基于 AXI4 通信总线协议。
来源:https://blog.csdn.net/qq_39507748/article/details
*声明:本文在网上整理,版权归原作者所有。如果源信息错误或侵犯权益,请联系我们删除或授权。
?END
学习Xilinx FPGA最好的资料其实就是官方手册,下表总结了部分手册的主要介绍内容,关注我,持续更新中......
文件名 | 主标题 | 内容简单介绍 | 是否有中文版 | |
UG476 | 7 Series FPGAs GTX/GTH Transceivers | GTX和GTH介绍,PCIe、serdes等学习必备 | 否 | |
UG471 | 7 Series FPGAs SelectIO Resources | 描述 7 系列 FPGA 中可用的 SelectIO资源。 | 否 | |
UG1114 | PetaLinux Tools Documentaton | PetaLinux 工具文档 参考指南 | 是,V2019.2 | |
UG949 | UltraFAST 设计方法指南(适用于 Vivado Design Suite) | 赛灵思® UltraFast™ 设计方法是用于为当今器件优化设计进程的一套最佳实践。这些设计的规模与复杂性需要执行特定的步骤与设计任务,从而确保设计每一个阶段的成功开展。依照这些步骤,并遵循最佳实践,将帮助您以最快的速度和最高的效率实现期望的设计目标 | 是,V2018.1 | |
IP手册 | pg057 | FIFO Generator | FIFO生成器IP使用手册 | 否 |
pg104 | Complex Multiplier | 复数乘法器IP使用手册 | 否 | |
pg122 | RAM-Based Shift Register | 移位寄存器IP使用手册 | 否 |
推荐阅读
【Vivado那些事】如何查找官网例程及如何使用官网例程
【Vivado使用误区与进阶】总结篇
【Vivado那些事】Vivado中常用的快捷键(二)其他常用快捷键
SystemVerilog数字系统设计_夏宇闻 PDF
图书推荐|ARM Cortex-M0 全可编程SoC原理及实现
简谈:如何学习FPGA
1202年了,还在使用虚拟机吗?Win10安装Ubuntu子系统及图形化界面详细教程
Github 上有哪些优秀的 VHDL/Verilog/FPGA 项目
AD936x+ZYNQ搭建收音机(一)
AD936x+ZYNQ搭建OpenWIFI
无招胜有招-Vivado非工程模式下的详细设计
追寻ARM的起源-Acorn电脑简史及FPGA实现
面试中经常会遇到的FPGA基本概念,你会几个?
Xilinx FPGA MIPI 接口简单说明
介绍一些新手入门FPGA的优秀网站
Vivado ML(机器学习) 2021尝鲜
推荐一些可以获取免费的国外的原版书籍(电子版)网站
【Vivado那些事】FPGA的配置方式
FPGA 的重构
浅析FPGA局部动态可重构技术
ISP(图像信号处理)算法概述、工作原理、架构、处理流程
国产CPU概括
从电子游戏历史看IC发展的助推剂
80年代电子游戏及电脑游戏的发展历史
PCIe总线的基础知识
万字长文带你回顾电子游戏的七十多年历史(完整版)
FPGA中异步复位,同步释放的理解
OpenFPGA系列文章总结
用Verilog设计一个16 位 RISC 处理器
介绍一些新手入门FPGA的优秀网站(新增)
Verilog数字系统基础设计-CRC
FPGA 的布局规划艺术
Verilog数字系统基础设计-奇偶校验