高速收发器(GTX)文章导航

  关于FPGA的开发,大致可以分为算法和接口两类,其中接口又可以分为高速和低速两类,像UART、I2C、SPI、SDRAM、HDMI、LVDS等等,都被归为低速接口类别,最高线速率不过几百Mbps,使用FPGA的普通IO即可实现数据收发。

  而高速接口是指基于serdes设计的一些接口,线速率一般大于1Gbps,比如万兆网、PCIE、SRIO等协议所有的接口。xilinx的GTP、GTX、GTH等都属于这类接口,有专用的参考时钟引脚、数据收发引脚。

  xilinx针对高速接口提供了很多IP,最基础的就是GTX等IP,其余IP均是在其基础之上进行封装的,因此熟悉GTX等基础IP才是学习的重点,其余上层封装的IP都比较简单。

  我也学习了一段时间的高速接口内容,目前使用过GTX实现8B10B,64B66B数据收发、aurora 8B10B和aurora 64B66B,SRIO数据收发、万兆以太网UDP协议栈的搭建。整个过程感觉最重要的就是对GTX的熟悉,后续的SRIO和万兆网只需要熟悉协议,在看官方IP手册即可。

  关于高速收发器相关内容打算从最基础的GTX开始讲解,再看官方提供的aurora 8B10B和aurora 64B66B就会特别简单。SRIO目前还只是初步使用,暂时不会出相关讲解。万兆网之前使用10G PCSPMA IP搭建的UDP协议栈,但是后面想直接使用GTX搭建万兆网的PHY层、MAC层以及IP层的ARP、ICMP、UDP协议,将难度提升到最大,充分掌握GTX的开发。

  既然要完成上述内容,就必须熟悉GTX相关内容,因此下面会通过大约十多篇文章讲解GTX的原理及常用设置,重点需要关注共享逻辑、内部时钟结构、时钟纠正、接收数据对齐等内容。


1、GTX基础知识

  FPGA高速收发器的来源:了解高速收发器是串行差分总线,为什么不是并行总线?

  详解GTX时钟及共享部分(高速收发器一):了解GTX共用资源及高速收发器参考时钟的设置。


  如果对文章内容理解有疑惑或者对代码不理解,可以在评论区或者后台留言,看到后均会回复!

  如果本文对您有帮助,还请多多点赞👍、评论💬和收藏⭐!您的支持是我更新的最大动力!将持续更新工程!

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

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

相关文章

LeetCode刷题笔记第145题:二叉树的后序遍历

LeetCode刷题笔记第145题:二叉树的后序遍历 题目: 给定一棵二叉树的根节点 root ,返回其节点值的后序遍历 。 想法: 后序遍历的是通过对树经过“左右根”的顺序进行遍历。使用递归的方式,先遍历左子树,…

Elasticsearch:理解近似最近邻 (ANN) 算法

作者:来自 Elastic Elastic Platform Team 如果你是在互联网出现之前长大的,你会记得找到新喜好并不总是那么容易。我们是在无意中听到收音机里的新乐队时发现他们的,是因为忘了换频道偶然看到一个新电视节目的,也是几乎完全依据游…

ClickHouse安装(成功安装)

1.下载安装包 下面通过阿里镜像(https://mirrors.aliyun.com/clickhouse/rpm/lts/)进行下载,下载哪里,自行指定。 # deb包下载使用如下4行 wget https://mirrors.aliyun.com/clickhouse/deb/pool/stable/clickhouse-client_22.8…

【DIY小记】用爬虫+clean-mark+zhihu-on-vscode搬运技术博客到知乎

今天灵光一闪,决定调研一下自己的技术博客,可以怎样方便迁移到其它社媒平台。想要达到的效果是,把自己在掘金的专栏:从1到∞精通Python,迁移到知乎上面去。 简单花了两三小时时间,找到一个比较快捷的方法&…

【ARMv8/v9 常见汇编指令学习 6.1 - armv8 右移指令 LSR 详细介绍】

请阅读【嵌入式开发学习必备专栏 】 文章目录 armv8 右移指令 LSR语法示例注意事项 armv8 右移指令 LSR 在ARMv8架构中,lsr(Logical Shift Right)指令是一种逻辑右移指令,用于将一个寄存器中的数值向右移动指定的位数。逻辑右移操…

git 的迁移

现象是gitlab经常会挂掉,linux会显示磁盘空间不足,实际上,我们linux某个目录的空间是4T。这个空间应该是足够的。猜测是gitlab的安装目录不对导致的空间不足。 1、查找原因 用rpm 安装gitlab会有自己的目录,很多安装文件会在opt…

MySql 导出导入(备份还原)

1,导出备份 要导出MySQL数据库中的数据,使用mysqldump命令。假设要导出名为mydatabase的数据库到名为backup.sql的文件中: mysqldump -u 用户名 -p 数据库名 > backup.sql 参数说明: -u mysql用户名称 -p 执行后会要求输入…

利用Python实现Smithwaterman算法

def smith_waterman(seq1, seq2, match_score3, mismatch_penalty-1, gap_penalty-2): # 初始化矩阵 matrix [[0] * (len(seq2) 1) for _ in range(len(seq1) 1)] max_score 0 max_i, max_j 0, 0 # 填充矩阵 for i in range(1, len(seq1) 1):for j in range(1, len(seq2…

【C++】学习笔记——string_4

文章目录 六、string类7. string类的模拟实现 未完待续 六、string类 7. string类的模拟实现 我们在上文简单实现了string类的构造函数。不知道大家有没有发现一个问题,我们在进行实现无参的构造函数时,初始化列表将 _str 初始化为 nullptr 了&#xf…

CRI-O的原理及应用详解(四)

本系列文章简介: 随着云计算和容器技术的迅猛发展,容器化应用已经成为现代软件开发和部署的重要趋势。在这一领域中,Kubernetes作为容器编排的领军者,为开发者提供了强大的容器管理和调度能力。然而,Kubernetes本身并不…

Unity LensFlare 入门

概述 在项目的制作过程中,太阳光的使用一定是不可缺少的部分,但是如果想实现真实太阳光眼睛看到的镜头炫光效果,那这部分的内容一定不要错过喔,接下来让我们来学习这部分的内容吧! Hale(光环效果) Color:…

TiDB中的PD--元数据管理和调度中心

目录 PD 架构etcd 的使用TiDB 的 PD(Placement Driver)组件是整个分布式数据库系统的关键部分, 是整个集群的元数据管理和调度中心,负责存储集群的元数据和进行 Region 调度。 主要包括: 元数据存储:PD 存储了整个 TiDB 集群的元数据,包括 TiKV 集群的拓扑结构、Namespa…

Vue在/public目录下访问process.env.NODE_ENV(其它通用)

总所周知,/public目录下的js文件是不会经过webpack处理的. 所以process.env.NODE_ENV 也无效.无法判断,当要根据这个去判断的时候就麻烦了. 但有个办法可以解决这个问题. 先安装 npm install --save-dev cross-env 就是在index.html里面去赋值到window变量中,如下 在 /pu…

操作系统:线程

目录 前言: 1.线程 1.1.初识线程 1.2.“轻量化”进程 1.3.线程与进程 2.线程控制 2.1.pthread原生线程库 2.2.线程控制的接口 2.2.1.线程创建 2.2.线程退出|线程等待|线程分离|线程取消 2.3.pthread库的原理 2.4.语言和pthread库的关系 2.5.线程局部…

数据可视化宝典:Matplotlib图形实战

在数据分析领域,图形化展示数据是非常重要的环节。Python中的matplotlib库是绘制各类图形的强大工具。本文将介绍如何使用matplotlib绘制折线图、直方图、饼图、散点图和柱状图等数据分析中常见的图形,并附上相应的代码示例,可以当初matplotl…

Linux之sed命令(包含MacOS使用方法)

Linux之sed命令 一、概述二、用法1、文件末尾追加一行2、指定行后新增一行3、指定行前新增一行4、修改指定行5、删除指定行 一、概述 Linux下的sed命令是一种流编辑器,用于在命令行中对文本进行处理,常见的操作如:添加、修改、删除、追加等。…

模型智能体开发之metagpt-单智能体实践

需求分析 根据诉求完成函数代码的编写,并实现测试case,输出代码 代码实现 定义写代码的action action是动作的逻辑抽象,通过将预设的prompt传入llm,来获取输出,并对输出进行格式化 具体的实现如下 定义prompt模版 …

前端开发中可能出现内存泄漏的情况总结

前端开发中可能出现内存泄漏的情况主要包括以下几种: 1. 闭包引起的循环引用 当一个函数内部引用了外部作用域的变量,并且该函数的作用域链没有被适时断开,就可能形成循环引用。特别是当DOM元素的事件处理函数使用闭包访问外部变量时&#…

Oracle故障处理:正在使用的索引失效了

项目场景 昨日,五一放假前一天,项目现场有同事反应业务系统出了问题: 在数据库中用测试数据发现insert、update 等操作不可用。 在应用系统的输出日志中发现数据库抛出了如下异常: ORA-01502:索引 ‘XX.PK_IXXX’ 或这类索引的…

神经网络与深度学习--网络优化与正则化

文章目录 前言一、网络优化1.1网络结构多样性1.2高维变量的非凸优化1.鞍点2.平坦最小值3.局部最小解的等价性 1.3.改善方法 二、优化算法2.1小批量梯度下降法(Min-Batch)2.2批量大小选择2.3学习率调整1.学习率衰减(学习率退火)分段…