ZYNQ芯片AXI 协议和PL和PS接口互联

  • ​​​​​​ AXI 协议

Zynq可扩展平台的性能不仅在于PS与PL的功能强大,最大的优势在于能把二者联合起来使用以形成完整体系。其中,起到至关重要作用的就是通过AXI总线协议实现两部分的紧密联合。

在介绍AXI协议之前先介绍先进的微控制器总线结构(Advanced Microcontroller Bus Architecture,AMBA)。AMBA是一个开放标准,概述了如何在SoC中连接和管理不同的组件或块[65]。AMBA规范由ARM开发,已经成为SoC中接口组件的实际标准。AMBA规范是为了解决SoC设计中的一些关键问题而开发的。其中之一是解决快速开发的需求,这意味着如果使用AMBA,可以确保从一开始就有一个连贯的设计,从而减少昂贵的重新设计的费用。在2.0改进版中,AMBA为了更好的促进片上通信描述了三种不同的总线,有高级高性能总线(Advanced High Performance Bus,AHB)、高级系统总线(Advanced System Bus ,ASB)和高级外围总线(Advanced Peripheral Bus,APB)。

最终,由于AHB达到了性能极限,到2003年ARM已经发布了新一代AMBA协议。在3.0改进版中引入了AXI协议,AXI代表高级可扩展接口(Advanced Extensible Interface,AXI),通过点对点连接方案实现的性能比AHB更好。与系统总线不同,AXI互连只允许使用几个定义良好的接口在主从之间进行事务处理,如图4. 5所示。

ZYNQ芯片AXI 协议和PL和PS接口互联

图4. 5 AXI协议的接口与互联

Fig4. 5 AXI protocols for interfaces and interconnections

AXI协议目前的最新版本是AXI4.0,并且包含三种不同的子协议:

  1. AXI接口与协议

高性能接口协议,适合寄存器映射数据传输的需求,支持地址阶段最高可以达256个数据位的传输。主要用于CPU访问寄存器等需要高速数据交互的场景使用。

  1. AXI-Lite接口协议

简单化,低流量的地址映射接口协议,对于数据批量传输不支持,仅仅支持存储器映射的单次数据通信。因较低的速率传输,用于访问速度低的外设。

  1. AXI-Stream接口协议

AXI4-Stream协议用于主要关注以数据为中心和数据流范式的应用程序,这些应用程序不存在或不需要地址的概念。每个AXI4-Stream充当握手数据流的单一单向通道。在数据流应用程序中,AXI-Stream IP可以更好地优化性能,但也趋向于更加专门化在给定的应用程序空间中[66]。

ZYNQ芯片AXI 协议和PL和PS接口互联

Fig4. 6 AXI protocols read data architecture

图4. 6 AXI协议读数据架构

       图4. 6显示了AXI协议读数据框架,读操作顺序为主与从进行读地址通道握手并传输地址内容,然后在读数据通道握手并传输所读内容以及读取操作的回应,时钟上升沿有效。

图4. 7显示了AXI协议写数据框架,通过写地址通道传输地址和控制信息,其中地址和控制信息在写入数据之前从主机传递给从机。与读数据框架不同的是,在每次批量数据写入完成后,从机会发出一个响应信号,向主机表明写操作完成。

AXI4协议为读写提供独立的数据和地址连接,允许同时进行双向数据传输。在突发传输模式下给一个首地址可以一次性传输高达256个数据。

ZYNQ芯片AXI 协议和PL和PS接口互联

图4. 7 AXI协议写数据架构

Fig4. 7 AXI protocols write data architecture

  • PL和PS接口互联

在ZYNQ平台上,PL与PS的交互主要通过AXI通道进行点对点通信地址、数据和响应事务。AXI接口主要包含三种数据通路:AXI_HP(High Performance)、AXI_GP(General Purpose)、AXI_ACP(Accelerator Coherency Port)。毎种数据传输接口所能访问的设备和传输速率都有很大的差异。

  • AXI_HP接口

AXI_HP接口为PL总线主机提供DDR和片上内存的高带宽数据传输路径。每个高速接口都包含两个FIFO缓冲区,用于读写通信流。PL到内存互连将高速AXI_HP端口和到两个DDR内存端口或OCM进行连接。AXI_HP接口也被引用为AFI (AXI FIFO接口),以强调它们的缓冲能力。

  • AXI_GP接口

AXI通用传输接口,数据总线宽度为32-bit,主端口的事务传输能力为8个读端口和8个写端口。AXI_GP接口仅用于通用目的,并不用于实现高性能。

  • AXI_ACP接口

AXI加速器一致性端口提供低延迟访问可编程逻辑主机,L1和L2缓存可以和的一致性端口相连接。

       表4.1总结了PS和PL各种接口的理论带宽和数量等信息。

表4.2 PS和 PL各种接口特性

Table 4.2  PS and PL various interface features

接口

类型

接口数量

接口宽度

/Bits

接口时钟

/(MHz)

读带宽

(MB/s)

写带宽

(MB/s)

AXI_GP

AXI_GP

AXI_HP

AXI_ACP

DDR

OCM

主接口

从接口

从接口

从接口

外部储存

内部储存

2

2

4

1

1

1

32

32

64

64

32

64

150

150

15

150

1066

222

600

600

1200

1200

4264

1779

600

600

1200

1200

4264

177