Aurora 64b/66bIP核学习
本文作为在学习使用aurora IP核的道路上,找到的一些对该IP讲解比较详细的资料,记录下来,便于日后翻阅,温故知新。
Aurora IP的特点
Aurora 协议在 2002 年由 Xilinx 公司首次提出,是由Xilinx提供的一个开源、免费的链路层串行传输通信协议,可扩展且轻量,可以实现点到点的串行数据传输。Aurora协议具有实现高性能数据传输系统的高效率和简单易用的特点。具体如下:
可扩展,轻量级:部署快捷,可在一个或多个高速串行通道上点对点传输;
链路层协议:独立于网络层,可直接传输工业标准协议封装的数据,例如TCP/IP、UDP等;
短距通信:针对芯片间和板间通信应用,通过标准光接口可用于设备间通信;
开源:免费使用和共享,可基于该协议标准开发独立应用。
Aurora 协议针对 FPGA 间的高速数据传输,能够为物理层提供透明接口。与 RapidIO、PCIE 等协议只支持固定的传输速率不同,Aurora 协议的传输速率可以进行灵活配置,支持速度为 0.75~13.1 Gbps,并可随着 FPGA 及其内嵌高速串行收发器的发展而进一步提高,可通过通道绑定的方法实现更高的数据传输速度。
Aurora 协议支持全双工和单工通道,使用的逻辑资源非常少,具有高带宽、无线帧尺寸和灵活组帧的特点。通过调用 Xilinx 公司的 Aurora IP 核,用户只需处理简单的用户接口即可,不用再去处理繁杂的 Rocket IO 控制结构,可以方便地实现器件间的单通道或多通道数据通信。
Aurora 总线协议包括物理层和数据链路层两层,最初采用了 8B/10B 编码方式,后续为了提高总线带宽利用率,Xilinx 公司于 2008年又采用了 64B/66B 编码。为了区分两种编码方式,采用 8B/10B 编码方式的 Aurora协议称为 Aurora 8B/10B;采用 64B/66B 编码方式的 Aurora 协议称为 Aurora 64B/66B 。
PCS:Physical Coding Sublayer,物理编码子层
PMA:Physical Medium Attachment sublayer,物理介质连接子层
Partner:一个Aurora 8B/10B传输通道(Channel)可包含若干个串行差分数据线(Serial Lanes),通信的双方被称为通道Partners。
PDU:Protocol Data Unit,协议数据单元
Aurora协议最大的优势即为开源和共享。Aurota协议为用户提供了一个透明的物理层接口,支持任何上层私有或符合工业标准的协议,如TCP/IP、以太网等,使得采用Aurora协议的高速串行总线接口能够在最短时间内与现有用户设计集成,而不大幅改动用户应用的设计。此外,Aurora协议也具有实现简单、占用物理资源少、通信效率高、速率可灵活配置等优点。
Aurora协议仍然具有不完善之处,如不具备地址机制,不支持通道切换功能,未规定数据有效载荷内校正等。相对PCIE、SRIO等总线,Aurora总线的应用领域目前仍然局限于FPGA相关的通信,应用范围仍然不够广泛。
Aurora IP协议与应用
Aurora协议分为8B/10B版本(SP002)和64B/66B版本(SP011),主要介绍了五个方面的内容:
物理层:针对信号电平、时钟编码、编码和符号代码等进行介绍。
l链路层:描述了在传输过程中如何标记用户协议数据单元(user PDUs)的整个过程,以及在传输期间如何在数据中插入数据暂停,以及如何管理发射机和接收机之间的时钟速率差异。
初始化和错误处理:定义了为跨单通道和多通道通信而准备通道Partners*所需的步骤。它还描述了通道Partners在通道中出现比特错误时应该如何处理。
数据分割:描述了数据如何被映射到一条由多个串行数据线组成的数据通道上。
流量控制:Aurora协议定义了链路层的流量控制机制,并提供了转发更高层用户流量控制消息的加速机制。
Aurora是一种简单,可扩展的开放式协议,支持下述或更多场景的应用:
芯片间通信:使用Aurora协议的通信总线为高速串行总线,相对传统IC间的并行总线,可大大减少硬件设计中的布线复杂度和布线层数;
板间通信:Aurora协议支持8B/10B编码或更高效率的64B/66B编码,使的Aurora可以与许多现有标准兼容。另外,aurora的数据传输率和通道个数是可自定义的,用户使用更加方便;
单工模式:Aurora协议支持单工模式,在不需要全双工通信的场景可节省更多布线资源。
ASIC设计:Aurora协议不仅仅应用于FPGA设计,还支持ASIC设计。Aurora的简单和开源特性使得它在FPGA和ASIC中都可以占用更小的资源和成本。
另外,在Xilinx FPGA中,已有基于Xilinx7系列FPGA的硬核RocketIO IP(GTX/GTP)开发的Aurora协议IP核,用于Xilinx FPGA间的高速数据通信。在ASIC领域中,目前国内已有应用于ASIC的基于Aurora协议的高速串行总线设计,目前可成功与Xilinx K7325T通信。
学习参考文献与博客链接
1.Xilinx 官网PG074
2.https://blog.csdn.net/lum250/article/details/120491471
3.https://blog.csdn.net/gzy0506/article/details/137840647
4.https://blog.csdn.net/weixin_50810761/article/details/139259178