vivado Aurora 8B/10B IP核(1)

news/2024/10/9 2:39:17/
Aurora 8B/10B IP 支持 Kintex® -7, Virtex ® -7 FPGA GTP 和 GTH 收发器,Artix ® -7 FPGA GTP 收发器, Zynq® -7000 GTP and GTP 收发器。Aurora 8B/10B IP core 可以工作于单工或者全双工模式。IP CODE的使用也非常简单,支持 AMBA®总线的 AXI4-Stream 协议。
Aurora 8B/10B IP core 具备很多优点,当一条通道联通的时候,它会自动初始化这条通路,并
且以帧或者数据流的方式,发送一些测试数据。而且在正常通信的过程中,可以发送任意大小的帧,以及数据可以再任何时候中断。传输过程中有效数据字节之间的间隙会自动填充空闲,以保持锁定并防止过多的电磁干扰。流量控制可用于降低传入数据的速率或通过通道发送简短的高优先级消。Stream 流传输是单一的,无限的帧。 在没有数据的情下,传送空闲以保持链接活着。 Aurora 8B/10B 内核使用 8B/10B 编码规则检测单位和大多数多位错误。 过多的位错误,断开连接或设备故障导致内核复位并尝试重新初始化新通道。
Aurora 8B/10B IP 的用途:
1)、芯片到芯片的链路:
替换高速串行连接的芯片之间的并联连接可以显着减少 PCB 上所需的迹线和层数。 核心提供
了使用 GTP,GTX 和 GTH 收发器所需的逻辑,FPGA 资源成本最低。
2)、板对板和背板连接:
IP CORE 使用标准的 8B / 10B 编码,使其与现有的电缆和背板硬件标准兼容。 Aurora 8B / 10B
内核可以在线速率和通道宽度上进行缩放,以便在新的高性能系统中使用便宜的传统硬件。
3) 、单向连接(单向):
Aurora 协议提供了替代方法执行单向通道初始化,使 GTP,GTX 和 GTH 收发器在没有反向通道
的情况下使用,并降低由于未使用的全双工资源而造成的成本。
Lane Logic(通道逻辑):
每个 GTP,GTX 或 GTH 收发器(以下称为收发器)由通道逻辑模块的实例驱动,其初始化每个
单独的收发器并处理控制字符的编码和解码以及错误检测。
Global Logic(全局逻辑):
全局逻辑模块执行通道初始化的绑定和验证阶段。 在运行期间,模块会生成 Aurora 协议所需
的随机空闲字符,并监视所有通道逻辑模块的错误。
RX User Interface(RX 接收端口):
AXI4-Stream RX 接收端口将数据从通道移动到应用程序,并执行流量控制功能。
TX User Interface(TX 发送端口):AXI4-Stream TX 发送端口将数据从应用程序移动到通道,并执行流量控制 TX 功能。 标准时钟补偿模块嵌入在内核中。 该模块控制时钟补偿(CC)字符的周期性传输。
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 配置而有所不同。
从s_axi_tx_tvalid到m_axi_rx_tvalid的两字节成帧设计的最小延迟在默认核心配置的功能
仿真中大约为 37 个 user_clk 周期如下图所示
从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%开销来计算吞吐量。

http://www.ppmy.cn/news/1449072.html

相关文章

R语言学习—2—安德鲁斯曲线分析时间序列数据

1、什么是Andrews 曲线法 Andrews 曲线法使用二维坐标系展示可视化结果,将多维数据的每一数据项通过一个周期函数映射到二维坐标系中的一条曲线上,通过对曲线的观察,用户能够感知数据的聚类等状况。 调和曲线 链接: 多元数据Andrews曲线绘…

conda环境查看当前可下载的Django版本

要使用conda查看可用的Django版本,你需要使用conda search命令。以下是如何进行操作的步骤: 打开你的终端。输入以下命令: conda search django运行这个命令后,你将看到一个列表,其中包含了在当前配置的conda源中可用…

Python异步Redis客户端与通用缓存装饰器

前言 这里我将通过 redis-py 简易封装一个异步的Redis客户端,然后主要讲解设计一个支持各种缓存代理(本地内存、Redis等)的缓存装饰器,用于在减少一些不必要的计算、存储层的查询、网络IO等。 具体代码都封装在 HuiDBK/py-tools: …

爬虫学习:基本网络请求库的使用

目录 一、urllib网络库 1.urlopen()方法 2.request方法 二、requests网络请求库 1.主要方法 2.requests.get()和requests.post() 一、urllib网络库 1.urlopen()方法 语法格式: urlopen(url,data,timeout,cafile,capath,context) # url:地址 # data:要提交的数据…

如何避免 sql 注入?

SQL注入是一种常见的安全漏洞,攻击者通过在应用程序的输入字段中插入或“注入”恶意的SQL代码,来影响后端数据库的正常查询。为了避免SQL注入,可以遵循以下最佳实践: 使用参数化查询或预处理语句: 这是防止SQL注入的最…

06 - 步骤 add constants

简介 Add Constants 步骤是用于在数据流中添加常量字段的步骤。它允许用户在数据流中插入一个或多个常量字段,并为这些字段指定固定的数值、字符串或其他类型的常量值。 使用 场景 我需要在数据清后,这个JSON 字符串有一个固定的行流数据。 1、拖拽…

【实时数仓架构】方法论

笔者不是专业的实时数仓架构,这是笔者从其他人经验和网上资料整理而来,仅供参考。写此文章意义,加深对实时数仓理解。 一、实时数仓架构技术演进 1.1 四种架构演进 1)离线大数据架构 一种批处理离线数据分析架构,…

AI图书推荐:ChatGPT写论文的流程与策略

论文一直是任何学术学位的顶峰。它展示了学生在研究领域的兴趣和专业知识。撰写论文也是一个学习经验,为学术工作以及专业研究角色做好准备。但是,论文工作总是艰苦的,通常是充满乐趣和创造性的,但有时也是乏味和无聊的。生成式人…