软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!! 2.1概述 本课内容讲解XILINX 官方的Aurora 8B/10B IP core的使用。以下内容大部分是基于官方datasheet的翻译。有不少不完善之处,建议读者和英文datsheet一起对比阅读。 这个IP支持Kintex®-7, Virtex®-7 FPGA GTX 和GTH 收发器,Artix®-7 FPGA GTX 收发器, Zynq®-7000 GTX and GTX收发器。Aurora 8B/10B IP core可以工作于单工或者全双工模式。IP CODE 的使用也非常简单,支持AMBA®总线的AXI4-Stream协议。本课是用过外部的光纤线链接的,实际使用中也可以直接用在开发板之间链接,实现板子到板子的通信。本课程内容可以参考XILINX 官方文档PG046。 图2-1-1是Aurora 8B/10B IP core简单的一个应用方式。对于用户来说,从应用角度,我们主要掌握IP CORE的使用以及正确编写用户逻辑代码。 图2-1-1 Aurora 8B/10B Channel Overview Aurora 8B/10B IP core具备很多优点,当一条通道联通的时候,它会自动初始化这条通路,并且以帧或者数据流的方式,发送一些测试数据。而且在正常通信的过程中,可以发送任意大小的帧,以及数据可以再任何时候中断。传输过程中有效数据字节之间的间隙会自动填充空闲,以保持锁定并防止过多的电磁干扰。流量控制可用于降低传入数据的速率或通过通道发送简短的高优先级消。Stream流传输是单一的,无限的帧。 在没有数据的情下,传送空闲以保持链接活着。 Aurora 8B/10B内核使用8B/10B编码规则检测单位和大多数多位错误。 过多的位错误,断开连接或设备故障导致内核复位并尝试重新初始化新通道。 Aurora 8B/10B IP的用途: 1)、芯片到芯片的链路: 替换高速串行连接的芯片之间的并联连接可以显着减少PCB上所需的迹线和层数。 核心提供了使用GTX,GTX和GTH收发器所需的逻辑,FPGA资源成本最低。 2)、板对板和背板连接: IP CORE使用标准的8B / 10B编码,使其与现有的电缆和背板硬件标准兼容。 Aurora 8B / 10B内核可以在线速率和通道宽度上进行缩放,以便在新的高性能系统中使用便宜的传统硬件。
Aurora协议提供了替代方法执行单向通道初始化,使GTX,GTX和GTH收发器在没有反向通道的情况下使用,并降低由于未使用的全双工资源而造成的成本。 2.2 Aurora 8B/10B IPCORE 描述 图2-2-1 Aurora 8B/10B Core Block Diagram Lane Logic(通道逻辑): 每个GTX,GTX或GTH收发器(以下称为收发器)由通道逻辑模块的实例驱动,其初始化每个单独的收发器并处理控制字符的编码和解码以及错误检测。 Global Logic(全局逻辑): 全局逻辑模块执行通道初始化的绑定和验证阶段。 在运行期间,模块会生成Aurora协议所需的随机空闲字符,并监视所有通道逻辑模块的错误。 RX User Interface(RX接收端口): AXI4-Stream RX接收端口将数据从通道移动到应用程序,并执行流量控制功能。 TX User Interface(TX发送端口):AXI4-Stream TX发送端口将数据从应用程序移动到通道,并执行流量控制TX功能。 标准时钟补偿模块嵌入在内核中。 该模块控制时钟补偿(CC)字符的周期性传输。 2.2.1性能表现(Performance) 最高频率: 参见XILINX Performance and Resource Utilization web Latency(延迟): 通过Aurora 8B/10B内核的延迟是由通过协议引擎(PE)和收发器的流水线延迟引起的。 随着AXI4-Stream接口宽度的增加,PE流水线延迟增加。 收发器延迟取决于所选收发器的特性和属性。 本节概述了Aurora 8B/10B核心AXI4-Stream用户端口对于2-byte-per-lane和4-byte-per-lane设计的user_clk周期的预期延迟。 为了说明延迟,Aurora 8B/10B模块被分为收发器逻辑和协议引擎(PE)逻辑,其在FPGA可编程逻辑中实现。 注意:这些数字不包括由于Aurora 8B / 10B通道的每一侧之间的串行连接长度而引起的延迟。 下图说明了默认配置的数据路径的延迟。 延迟可以根据设计中使用的收发器和IP配置而有所不同。 图2-2-1-1 Latency of the Data Path 从s_axi_tx_tvalid到m_axi_rx_tvalid的两字节成帧设计的最小延迟在默认核心配置的功能仿真中大约为37个user_clk周期如下图所示 图2-2-1-2 Aurora 8B/10B 2-Byte Latency 从s_axi_tx_tvalid到m_axi_rx_tvalid的默认四字节帧设计的最小延迟在功能仿真中大约为41个user_clk周期。 流水线延迟被设计为保持时钟速度。如果没有依赖关系,请检查延迟是否可以通过其他可选功能添加。 Throughput(吞吐量): Aurora 8B/10B核心吞吐量取决于收发器的数量和线速度。 单通道设计到16通道设计的吞吐量分别为0.4Gb/s到84.48Gb/s。 通过Aurora 8B/10B协议编码和0.5Gb/s至6.6 Gb/s线路速率范围的20%开销来计算吞吐量。 2.2.2 端口说明 (Port Descriptions) 用于生成每个Aurora 8B/10B内核的参数决定了可用于该特定内核的接口。 接口在IP符号中可见,如图下图所示。 在IP符号中,如果左键单击界面旁边的+号,可以看到分组在其中的端口。 在本节中,也就是端口描述,一般来说,界面显示为单行条目,后面是分组在其中的端口。 例如,在表2-1(TX)中,USER_DATA_S_AXIS_TX是接口,s_axi_tx_ *端口分组到该接口中。 核心有四到六个接口。
图2-2-2-1` 注意: 1.选择小端点支持选项时,使用[n:0]总线格式。 2.选择大端支持选项时,使用[0:n]总线格式。 3.端口为高电平,除非另有说明。 用户接口(User Interface): Aurora 8B/10B内核可以通过成帧或流用户数据接口生成。 该接口包括流或帧数据传输所需的所有端口。帧用户接口符合AMBA®AXI4流协议规范,包括发送和接收成帧用户数据所需的信号。流接口允许数据要发送没有帧分隔符,这样操作更简单,并且使用比帧接口少的资源。 数据端口宽度取决于通道宽度和所选通道数。 Top-Level Architecture(顶级架构) Aurora 8B / 10B核心顶层(块级)文件实例化了车道逻辑模块,TX和RX AXI4-Stream模块,全局逻辑模块和收发器的包装器。 在示例设计中也实例化了时钟,复位电路,帧生成器和检测器模块。 下图展示了双工配置的Aurora 8B/10B内核顶层。 顶级文件是用户设计的起点。 图2-2-2-2 Aurora 8B/10B Core Block Diagram 本节提供了流和框架界面的详细信息。 用户接口逻辑应设计为符合相应接口的时序要求,如此处所述。 AXI4数据流位排序(AXI4-Stream Bit Ordering): Aurora 8B / 10B内核采用升序排列。 它们首先发送和接收最高有效字节的最高有效位。 下图显示了Aurora 8B / 10B内核的AXI4-Stream数据接口的n字节示例。 图2-2-2-3 Top-Level Architecture 用户端口(User Interface Ports): 下表列出了双工和单工核心模块AXI4-Stream TX和RX数据端口的描述。 表2-2-2-1 User I/O Ports (TX)
关注米联客扫描关注,了解最新资讯
资讯幻灯片
热门评论
热门专题
排行榜
|