记录一下ZYNQ7020芯片系列的基本概念

网友投稿 492 2022-11-09

记录一下ZYNQ7020芯片系列的基本概念

一、ZYNQ基本结构

二、ZYNQ7020 分为PS端、PL端

ZYNQ7020的整体架构如下图所示

三、PS和PL互联技术

3.1、ZYNQ作为首款将高性能ARM Cortex-A9系列处理器与高性能FPGA在单芯片内紧密结合的产品,为了实现ARM处理器和FPGA之间的高速通信和数据交互

3.2、发挥 ARM 处理器和 FPGA的性能优势,需要设计高效的片内高性能处理器与 FPGA 之间的互联通路。本节,我们就将主要介绍 PS 和 PL 的连接,让用户了解 PS 和 PL 之间连接的技术。

3.3、在具体设计中我们往往不需要在连接这个地方做太多工作,我们加入 IP 核以后,系统会自动使用 AXI 接口将我们的 IP 核与处理器连接起来,我们只需要再做一点补充就可以了。

3.4、其实 AXI 就是 ARM 公司提出的AMBA(Advanced Microcontroller Bus Architecture)的一个部分,是一种高性能、高带宽、低延迟的片内总线,也用来替代以前的 AHB 和 APB 总线。

AXI 协议主要描述了主设备和从设备之间的数据传输方式,主设备和从设备之间通过握手信号建立连接。当从设备准备好接收数据时,会发出 READY 信号。当主设备的数据准备好时,会发出和维持 VALID 信号,表示数据有效。数据只有在 VALID 和 READY 信号都有效的时候才开始传输。当这两个信号持续保持有效,主设备会继续传输下一个数据。

3.5、主设备可以撤销VALID 信号,或者从设备撤销 READY 信号终止传输。AXI 的协议如图,T2 时,从设备的 READY信号有效,T3 时主设备的 VILID 信号有效,数据传输开始。

四、ZYNQ 芯片内部用硬件实现了 AXI 总线协议,包括 9 个物理接口,分别为 AXI-GP0~AXIGP3,AXI-HP0~AXI-HP3,AXI-ACP 接口。

4.1、这 9 个 AXI 接口性能也是不同的。GP 接口是 32 位的低性能接口,理论带宽600MB/s,而 HP 和 ACP 接口为 64 位高性能接口,理论带宽 1200MB/s。

下面为几个常用的 AXI 接口 IP 的功能介绍:

4.4、AXI协议严格的讲是一个点对点的主从接口协议,当多个外设需要互相交互数据时,我们需要加入一个AXI Interconnect模块,也就是AXI互联矩阵,

4.5、作用是提供将一个或多个 AXI 主设备连接到一个或多个 AXI 从设备的一种交换机制(有点类似于交换机里面的交换矩阵)。

4.6、这个 AXI Interconnect IP 核最多可以支持 16 个主设备、 16 个从设备,如果需要更多的接口,可以多加入几个 IP 核。

五、内部链接

ZYNQ 内部的 AXI 接口设备就是通过互联矩阵的的方式互联起来的,既保证了传输数据的高效性,又保证了连接的灵活性。

Xilinx 在 Vivado 里我们提供了实现这种互联矩阵的 IP 核axi_interconnect,我们只要调用就可以。

六、引脚分配

ZYNQ7020是400脚封装,从官网的文档,可以看出ZYNQ7020的引脚分配

PS端的引脚包括BANK500、BANK501、BANK502、

PL端引脚包括 BANK13(部分包含)BANK35、BANK34

下面这张图,更加形象

七、上面的部分,并没有把引脚讲的很清楚,这里看官方手册,有如下描述

意思是,PS端的引脚数量是固定的,并且不能分配给PL端使用,最多有54个引脚可以连接到PS端,

他们可以软件编程连接ps的内部外设或者静态内存控制器

八、MIO概述

MIO的功能是将从PS外设和静态内存接口的访问,复用到配置寄存器中定义的PS引脚。在PS端最多有54针被用以IOP(I/O Peripheral )和静态内存接口下表4显示了可以映射不同外设引脚的位置。图2显示了MIO模块的框图。如果超过了54个引脚个数的其它I/O功能是设计必须的,那他可以通过PL端,路由到与这些功能相关联的I/O引脚这个特性被称为可扩展多路复用I/O (EMIO)。

九、MIO、EMIO和AXI_GPIO的关系

ZYNQ7000中与PS相连的引脚包含MIO、EMIO和AXI_GPIO三种类型。

1、MIO直接挂在PS上,而EMIO与PL相连,PS通过PL调用EMIO。MIO共有54bit,EMIO共有64bit。

MIO管脚是固定的,而EMIO需要通过管脚约束文件进行分配。MIO、EMIO管脚号均通过实际原理图查找。

2、AXI_GPIO是通过AXI总线挂在PS上的GPIO,一般通过调用IP核实现,如PS通过AXI_Uartlite调用PL端资源。

而EMIO在Block Design文件上表现为PS上的一个引出接口。

十、PS-PL MIO-EMIO信号和接口

由于MIO引脚的数量有限,MIO是I/O外围连接的基础。可以软件编程IO信号路由到MIO引脚。也可以通过EMIO接口将I/O外围信号路由到PL端,

这非常有用,用来PS获得更多的设备引脚(PL端引脚),或者允许一个PS端外设的一个引脚路由到PL的内部IP逻辑端口,如图2

十一、启动流程

12.1、启动模式

12.2、启动阶段

FSBL(第一阶段引导加载程序)在BootROM之后启动,这个BootROM将FSBL加载到OCM(On-Chip Memory ),

FSBL负责下面的几项工作

FSBL流程图

下图是一个简单的FSBL流程图:

12.5、第二阶段启动流程:Second Stage Bootloader

第二阶段引导加载程序是可选的,并由用户设计。

Zynq-7000 AP SoC BootROM加载程序需要引导映像头,它加载单个分区,通常是FSBL。引导映像的其余部分由FSBL加载和处理。

xilinx提供了一个名为Bootgen的实用程序(用来创建一个适合ROM或Fash的引导映像)。它通过构建所需的引导头、

附加描述以下分区的表并将输入数据文件(ELF文件、FPGA bit流和其他二进制文件)处理到分区来创建映像。

12.6、Boot Image 格式

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:身份和访问管理标准及挑战
下一篇:【IT技术】阿里RDS首席产品架构师何云飞:阿里云数据库的架构演进之路
相关文章

 发表评论

暂时没有评论,来抢沙发吧~