Aurora 64B/66B 协议介绍

news/2024/5/18 21:45:30/文章来源:https://blog.csdn.net/QUACK_G/article/details/129993012

简介

        Aurora 是一个用于在点对点串行链路间移动数据的可扩展轻量级链路层协议。这为物理层提供透明接口,让专有协议或业界标准协议上层能方便地使用高速收发器。虽然使用的逻辑资源非常少,但 Aurora 能提供低延迟高带宽和高度可配置的特性集。

特性:

  • 高带宽,仅受限于收发器的数据速率
  • 支持大量键合线路,实现较高的总带宽
  • 支持全双工和单工通道
  • 无限帧尺寸/灵活组帧
  • 小型逻辑封装,采用标准的 AXI-ST 接口。
  • 内置流程控制和热插拔支持

         Aurora 广泛用于需要背板、电路板间和芯片间连接的应用。细分市场包括有线通信、存储、服务器、测试测量、工业、消费和医疗等。此外,Aurora 也可用作嵌入式处理器应用中的调试端口 

速率

Aurora 64B/66B核心吞吐量取决于收发器数量、收发器类型和所选收发器的目标线速率

        对于GTH收发器,从单车道设计到16车道设计,吞吐量分别为0.48 Gb/s到254.06 Gb/s。GTY收发器的吞吐量范围为0.455 Gb/s ~ 400gb /s,支持的线路速率范围为0.5 Gb/s ~ 25.7813 Gb/s。当线路速率大于16.375 Gb/s时,考虑到设计中的车道分条差异,GTY的最大吞吐量可能不准确

        64B/66B编码相对8B/10B编码提供了理论上的性能提升,因为它的传输开销非常低(3%),而8B/10B编码的传输开销为25%

66B/64B编码

        64B/66B编码将64bit数据或控制信息编码成66bit块传输,66bit块的前两位表示同步头,主要由于接收端的数据对齐和接收数据位流的同步。同步头有“01”和“10”两种,“01“表示后面的64bit都是数据,“10”表示后面的64bit是数据信息。

        数据信息0和1不一定是平衡的,因此需要进行加扰。

        64b/66b编码没有办法限制Run Length(即数据流中的连续的0或者连续的1长度)到一个比较小的值,只能通过选择合适的多项式来取得相对最优的DC Balance和相对较低的较大值得Run Length的概率。显然,采用64b/66b编码,对串行收发器的CDR提出了非常高的要求。

扰码

        扰码的数学原理使用了多项式,多项式的选择通常是基于扰码的特性,包括生成数据的随机度,以及打乱连0和连1的能力。一个简单的扰码器包含一组排列好的触发器,用于移位数据流。大部分的触发器只需要简单地输出下一个比特流即可,但是在复杂的扰码电路中,触发器需要与数据流中的历史比特进行逻辑运算(与和或运算)

64B/66B核心的主要功能模块

•通道逻辑:每个GT收发器由通道逻辑模块的实例驱动,该模块初始化每个收发器,处理控制字符的编码和解码,并执行错误检测。

•全局逻辑:核心中的全局逻辑模块为通道初始化执行通道绑定。在操作期间,通道跟踪由Aurora 64B/66B协议定义的Not Ready空闲字符,并监视所有通道逻辑模块的错误。

•RX用户界面:axis - stream接收(RX)用户界面将数据从通道移动到应用程序,并执行流量控制功能。

•TX用户界面:axis - stream传输(TX)用户界面将数据从应用程序移动到通道,还执行流控制TX功能。标准时钟补偿模块嵌在核心内部。该模块控制时钟补偿(CC)字符的周期性传输。

通道延时

        对于默认的单通道配置,通过Aurora 64B/66B核心的延迟是由通过协议引擎(PE)以及通过GTX和GTH收发器的管道延迟引起的。PE管道延迟随着AXI4-Stream接口宽度的增加而增加。收发器延迟由收发器特性决定。

        为了说明延迟,Aurora 64B/66B模块在GTX、GTH和GTY收发器中的逻辑和FPGA中实现的协议引擎(PE)逻辑之间进行了分区。

        该图说明了数据路径的延迟。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_282411.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

凹凸/法线/移位贴图的区别

你是否在掌握 3D 资产纹理的道路上遇到过障碍? 不要难过! 许多刚接触纹理或 3D 的艺术家在第一次遇到凹凸贴图(Bump Map)、法线贴图(Normal Map)和移位贴图(Displacement Map)时通常…

React class组件和hooks setState异步更新数据详解

一、 class组件setState详解 1.class组件setState异步更新数据详解 class Father extends React.Component{state {num:0}addHandler () > { this.setState({num: 100})console.log(state中的值,this.state.num)}render() { return (<div><button onClick{this…

DBC数据库中定义信号时采用的两种字节顺序:Intel、Motorola(深度好文)

我之前写过好几篇文章介绍大端小端的存储、显示和读取。在介绍DBC的文章中,也有信号在CAN消息数据中如何定义的顺序,它和大端小端采用的原理相同,但是不能带入数据大端小端存储的方法。这里千万要注意! DBC数据库中定义信号时采用的字节顺序,如果想讲明白,很简单。但是如…

「解析」Jetson 安装 CUDA/cuDNN

注意&#xff1a;自从JetPack 升级到 5.0版本之后&#xff0c;可以&#xff0c;JetPack 官方教程 官方教程提供了三种方法&#xff1a;SD卡、SDK Manager 以及 apt安装Jetpack。前两种主要用于Orin系列之前的 Jetson开发板&#xff0c;主要针对还没有烧录系统的空机。而从 Jets…

手机也可以3D沙发建模

3D沙发建模是当今室内设计领域中必不可少的一种技术。通过此技术&#xff0c;我们可以使用虚拟设计软件创建高质量的3D沙发模型。这些模型具有极高的精度和逼真度&#xff0c;可以帮助设计师更好地展示他们的创意&#xff0c;并有效地促进设计过程。 在进行3D沙发建模时&#…

洛谷B2038奇偶ASCII值判断

洛谷B2038 题目描述 任意输入一个字符&#xff0c;判断其 ASCII 是否是奇数&#xff0c;若是&#xff0c;输出 YES&#xff0c;否则&#xff0c;输出 NO 。 例如&#xff0c;字符 A 的 ASCII 值是 65&#xff0c;则输出 YES&#xff0c;若输入字符 B(ASCII 值是 66)&#xff0…

shell脚本基础之详解结构化命令(一)

详解结构化命令使用if-then语句注意&#xff1a;if-then-else语句嵌套if语句elif语句注意&#xff1a;test语句注意&#xff1a;数值比较字符串比较字符串相等性字符串顺序字符串大小文件比较检查目录检查对象是否存在检查文件检查是否可读检查非空文件复合条件测试if-then高级…

怎么选购邮件营销工具?

据可靠数据统计&#xff0c;邮件营销得投资回报比达1&#xff1a;44&#xff0c;他高性价比的特性在众多营销方式中脱颖而出。他促使企业能够以较低的成本&#xff0c;和客户建立联系并维持长期联系。邮件营销对企业来讲无疑是极佳的获客渠道和营销方式。 想要做好邮件营销通常…

API 优先级和公平性(APF)

1. 概述 目前apiserver默认的限流方式太过简单 目前k8s缺少客户端业务请求隔离&#xff0c;一个错误的客户端发送大量请求可能造成其他客户端请求异常&#xff0c;也不支持突发流量。 2. 开启APF APF测试 开启APF&#xff0c;需要在apiserver配置 --feature-gatesAPIPrior…

乐观锁的作用(php代码实现)

非乐观锁场景时序图&#xff1a; 乐观锁场景示意图&#xff1a; 假设有一个账户余额表 user_balance&#xff0c;其中有两个字段&#xff1a;user_id 和 balance&#xff0c;分别表示用户 ID 和账户余额。现在有两个用户同时进行充值操作&#xff0c;充值金额分别为 100 元…

Zotero安装教程

一、下载 可以直接通过Zotero | Your personal research assistant下载安装包。 根据对应的系统选择下载包。 二、安装 安装过程简单&#xff0c;一路next直到出现下图为安装成功。 三、注册账号 安装完成后&#xff0c;打开zotero&#xff0c;选择编辑->首选项->同步…

【Python_Selenium学习笔记(五)】基于Selenium模块实现鼠标操作

基于Selenium模块实现鼠标操作 前言 为了模拟鼠标操作&#xff0c;Selenium 模块提供了 Actionchains 类&#xff0c;可以模仿人的几乎任何鼠标行为操作&#xff1b; 在此篇文章主要介绍 Actionchains类 的常用方法&#xff0c;使用流程&#xff0c;并以具体的示例进行展示。…

ERROR: No matching distribution found for subprocess

安装python包时出现了 ERROR: Could not find a version that satisfies the requirement subprocess (from versions: none) ERROR: No matching distribution found for subprocess 这里我们使用的指令是&#xff1a; 尝试使用特定版本的库。如果pip无法找到最新版本的库&a…

IDEA的Git操作

1、在Idea中配置Git 安装好IDEA后&#xff0c;如果Git安装在默认路径下&#xff0c;那么IDEA会自动找到git的位置&#xff0c;如果更改了git的安装位置则需要手动配置git的路径。选择File->Settings打开窗口&#xff0c;找到Version Control下的git选项。 2、在GitHub或码云…

Prefix-Tuning: Optimizing Continuous Prompts for Generation

Prefix-Tuning: Optimizing Continuous Prompts for Generation思路总结IntroductionPrefix-TuningIntuitionMethodParametrization of P_theta实验参考Introduction 在当时Fine-tuning 是预训练大模型在下游任务的主要方法。在千亿级别的参数背景下&#xff0c;针对不同的下游…

打破软件开发“不可能三角” 只需一个低代码方案

世界在软件上运行&#xff0c;商业世界也不例外。面对变化&#xff0c;企业过去依赖的传统软件开发流程可能不再有效。从头开始构建软件解决方案需要花费数月甚至数年的时间来规划、设计、测试和部署。在软件行业&#xff0c;有一条业内公认的“潜规则”&#xff1a;长周期、大…

taobao.open.account.search( open account数据搜索 )

&#xffe5;开放平台免费API不需用户授权 open account数据搜索 公共参数 请求地址: 公共请求参数: 公共响应参数: 请求参数 点击获取key和secret 请求示例 响应示例 <open_account_search_response><data><datas><open_account><login_id>…

前端开发必看100道大厂面试题集锦(一)

1. 说说gulp和webpack的区别 开放式题目 Gulp强调的是前端开发的工作流程。我们可以通过配置一系列的task&#xff0c;定义task处理的事务&#xff08;例如文件压缩合并、雪碧图、启动server、版本控制等&#xff09;&#xff0c;然后定义执行顺序&#xff0c;来让Gulp执行这…

Origin绘制箱线图、多因子柱状图

一. 箱线图 表格格式&#xff1a; 效果&#xff1a; 二.多因子柱状图 表格格式&#xff1a; 效果&#xff1a;

蓝桥杯必备模块及常用操作(python)

蓝桥杯必会模块&#xff08;python&#xff09;&#xff1a;字符类型模块日期函数模块(常用)优先级队列itertools模块collections模块Bisect模块List()集合set()集合Math模块字符类型模块 先看点常用但比较琐碎的 ⭐基本操作演示&#xff1a; str(i).count("2") #co…