Aurora 8B/10B

目录

  • [1. Overview](#1. Overview)
  • [2. Feature List](#2. Feature List)
  • [2. Block Diagram](#2. Block Diagram)
  • [3. Ports Description](#3. Ports Description)
    • [3.1. User Interface](#3.1. User Interface)
      • [Framing Interface](#Framing Interface)
      • [Streaming Interface](#Streaming Interface)
      • [User Flow Control(UFC)](#User Flow Control(UFC))
      • [Native Flow Control(NFC)](#Native Flow Control(NFC))
    • [3.2. Status and Control Ports](#3.2. Status and Control Ports)
    • [3.3. Transceiver Interface](#3.3. Transceiver Interface)
    • [3.4. Clock and Reset Ports](#3.4. Clock and Reset Ports)

本篇blog将介绍由xilinx开发的Aurora 8B/10B链路层协议,并介绍aurora ip使用。

pg046 - Aurora 8B/10B v11.1 LogiCORE IP Product Guide

sp002 - Aurora 8B/10B protocol spec
Xilinx平台Aurora IP介绍(汇总篇)
Aurora 8B/10B IP核(一)------Aurora概述及数据接口
Xilinx FPGA平台GTX简易使用教程(汇总篇)


1. Overview

Aurora 8B/10B协议是一个用于在点对点串行链路间移动数据的可扩展轻量级链路层协议(由Xilinx开发提供)。

该协议能够方便对接GT等高速收发器,在AURORA的基础上可以运行诸如Ethernet和TCP/IP等常用逻辑层协议,或其他自定协议,可扩展性高。

Aurora 8B/10B常用于FPGA之间通信,可应用在多个GT收发器之间传输数据,最多可实现16个GT(包括GTX、GTP、GTH等)。可配置成单工or全双工模式。吞吐量可从480Mbit/s扩展到84.48Gbit/s,取决于GT的数量及线速率。

下图是典型的基于Aurora 8B/10B协议的全双工串行通信流程图。两个aurora channel cores通过多条lanes连接,实现相互通信。

Xilinx的Aurora 8B/10B IP核可以在连接到另一个aurora之后自动初始化链路,并将数据以frame或stream的形式收发。传输的用户数据(Protocol Data Units,PDU)可以是任意大小,aurora会对其进行打包,并通过8B/10B规则进行重编码,以检测错误。如果用户不传输数据,aurora也会发送IDLE数据以保持通信、防止电子干扰。同时可通过流量控制(Flow control)对数据传输速率进行控制。

8B/10B编码是将8bit数编码成10bit数进行传输,以尽量平衡0和1的个数以实现DC平衡,同理还有64B/66B编码。

如果aurora建链失败,或是数据检验错误,将会进行复位并重新建链

2. Feature List

Aurora 8B/10B协议定义了以下内容:

物理层接口:电气特性、时钟编码、符号编码(symbol coding)

初始化与错误处理:定义了通讯双方通讯前的初始化操作,同样定义了通讯双方在出现错误时的操作(复位和重建链)

数据分段(data striping):定义了通讯数据如何映射到多个通道

链路层(link layer):链路层定义了用户数据的封装方式(帧头、帧尾、pad等)

流控(flow control):流控机制解决通信双方速率不一致所带来的缓存不足的问题

Aurora 8B/10B协议未定义的内容:

错误指示和恢复:Aurora 8B/10B协议没有定义检测用户pdu错误的机制,也没有定义在8B/10B编码之外从错误中恢复的机制

数据交换:Aurora 8B/10B协议没有定义寻址方案,因此不能支持链路层复用或交换

2. Block Diagram

Aurora 8B/10B IP核如下图所示

其中

Lane Logic: 每条Lane都包含一个GT,每个Lane驱动1个GT,可实现处理编解码及错误检测等。

Global Logic: 执行通道初始化的绑定和验证阶段。 可生成Aurora协议所需的随机空闲字符,并监控所有lane逻辑模块的错误。

RX User Interface: 接收端用户接口,使用AXI4-Stream格式将数据从channel传到用户端,并可进行接收流控。

TX User Interface: 发送端用户接口,使用AXI4-Stream格式将数据从用户端传到channel,并进行发送流控功能。核中具有标准时钟补偿(Clock Compensation)模块,可实现时钟补偿字符的周期性传输。

3. Ports Description

3.1. User Interface

用户层接口是基于AMBA AXI4-Stream格式进行交互的,也可添加流控功能。

启用以下接口需要在IP核中设置

高级可拓展接口 4.0 - 流传输(Advanced eXtensible Interface 4 - Stream, AXI4-Stream)

Framing Interface

| Group | Signal | Direction | Width(bits) | Clock Domain | Description |
| USER_DATA_S_AXI_TX | s_axi_tx_tdata | input | 8n | user_clk | 发送数据。此处n表示待发送数据的字节数,且n=Lane个数×Lane位宽 |
| USER_DATA_S_AXI_TX | s_axi_tx_tready | output | 1 | user_clk | |
| USER_DATA_S_AXI_TX | s_axi_tx_tlast | input | 1 | user_clk | |
| USER_DATA_S_AXI_TX | s_axi_tx_tkeep | input | n | user_clk | 指示数据中哪个字节是有效的,仅在last拉高时该数据有效 |
| USER_DATA_S_AXI_TX | s_axi_tx_tvalid | input | 1 | user_clk | |
| USER_DATA_M_AXI_RX | m_axi_rx_tdata | output | 8n | user_clk | |
| USER_DATA_M_AXI_RX | m_axi_rx_tlast | output | 1 | user_clk | |
| USER_DATA_M_AXI_RX | m_axi_rx_tkeep | output | n | user_clk | 指示数据中哪个字节是有效的,仅在last拉高时该数据有效 |

USER_DATA_M_AXI_RX m_axi_rx_tvalid output 1 user_clk

Streaming Interface

User Flow Control(UFC)

Native Flow Control(NFC)

3.2. Status and Control Ports

3.3. Transceiver Interface

3.4. Clock and Reset Ports

相关推荐
ARM+FPGA+AI工业主板定制专家2 小时前
国产化RK3576+FPGA架构|晶圆传输机器人高速定位+AI瑕疵检测一体化方案
fpga开发·架构·机器人·嵌入式·fpga·工控·机器人运控
Eloudy1 天前
FPGA (QSFP28 + CMAC US+ RoCEv2) 与 Ubuntu22 + Mellanox 网卡直连分析
fpga开发
szxinmai主板定制专家1 天前
RK3568+FPGA高速并行采集|半导体探针测试设备多通道同步数据采集系统设计
人工智能·嵌入式硬件·计算机视觉·fpga开发
ARM|X86+FPGA工业主板厂家2 天前
RK3588+FPGA+EtherCAT异构架构解析|工业场景如何同时保住AI算力与微秒级运动实时性
人工智能·fpga开发·架构
zlinear数据采集卡2 天前
从“脏信号”到“纳伏级纯净”:硬核拆解DABL7606的多级抗混叠滤波与24位过采样算法
arm开发·科技·嵌入式硬件·fpga开发·开源
尤老师FPGA2 天前
HDMI数据的接收发送实验(二十)
fpga开发
千寻xun3 天前
三、实战篇-NVME SSD控制之FPGA实现(一)
fpga开发·nvme ssd·nvme协议
XMAIPC_Robot3 天前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发
upper20203 天前
从零开始设计riscv cpu记录之七
fpga开发·riscv·riscv设计·btb·分支预测
ARM|X86+FPGA工业主板厂家3 天前
AI视觉跟随运动控制实战|RK3588 NPU检测+FPGA EtherCAT多轴联动精准跟随方案,适用于半导体视觉对位等
人工智能·fpga开发·硬件工程·ethercat·实时系统