高速接口学习
文章平均质量分 86
学习XILINX高速接口
顺子学不会FPGA
学海无涯
展开
-
万兆以太网MAC设计(1)10G PCS PMA IP核使用
初步打通了万兆以太网高速接口,后续将基于此进行完整的MAC层设计。原创 2024-04-11 15:33:57 · 2358 阅读 · 0 评论 -
SRIO学习(3)使用SRIO IP核进行设计
本文将通过使用SRIO IP核实现数据通信,重点在于打通数据链路,具体的协议内容设计并非重点,打通了链路大家自己根据设计需求来即可。复位和时钟模块在上一篇介绍时钟和复位的时候进行了介绍。与之前高速接口不同的是RapidIO有一套自己的交互协议规范,所以在基于FPGA进行设计的时候,需要按照规范进行传输数据和解析数据。我们重点不在于这块,因为我没有接触过这方面的需求,所以暂时只是可以使IP核实现正常的通信即可。以下是一个很简单的数据收发模块,参考。原创 2024-04-09 00:15:00 · 1635 阅读 · 3 评论 -
SRIO学习(2)SRIO IP核时钟和复位
通过对时钟和复位的理解可以更好的了解IP核的工作过程,不过不理解也不影响使用,example design帮我们都做好了。gt_clk:由链路速率决定gt_pcs_clkgt_pcs_clk的频率是gt_clk的一半。phy_clkphy_clk(gt_clk * 链路Line宽度)/4log_clkLOG(逻辑层)在log_clk域上运行。为了达到最佳吞吐量,log_clk应至少与phy_clk一样快。这是为了PHY层接收到的数据不会在BUF里一直停留。cfg_clk必须等同于log_clk。原创 2024-04-08 02:00:00 · 2082 阅读 · 0 评论 -
SRIO学习(1)SRIO介绍以及IP核详解
参考1:https://www.ti.com.cn/general/cn/docs/gencontent.tsp?参考2:https://blog.csdn.net/qq_33904382/article/details/130330299串行RapidIO针对高性能嵌入式系统芯片间和板间互连而设计。在嵌入式系统应用领域,DSP,FPGA,PowerPC等嵌入式处理器的出现后,工程师将多种处理器组合,形成模块。模块通过背板相连,形成整机,实现更大的系统应用。架构独立,不依赖具体的硬件和软件。原创 2024-04-08 00:15:00 · 7907 阅读 · 1 评论 -
AURORA64B66B IP核使用
前面我们基于GT 64B66B设计了自定义PHY层,并且也介绍过了基于AURORA8B18B IP核的使用,AURORA8B18B IP核的使用可以说是与AURORA8B18B IP核完全一致,可参考前文:https://blog.csdn.net/m0_56222647/article/details/137261729?原创 2024-04-07 11:18:38 · 2363 阅读 · 6 评论 -
GT收发器64B66B协议(3)添加解扰和加扰模块
上文我们通过回环测试验证了自定义PHY收发模块的正确性,但是没有加扰和解扰是没办法通过光纤进行传输的,本文我们增加该模块。原创 2024-04-06 16:44:40 · 754 阅读 · 0 评论 -
GT收发器64B66B协议(2)自定义PHY设计
有了对64B66B协议的认识以及我们之前设计8B10B自定义PHY的经验,本文开始对64B66B自定义PHY的设计。原创 2024-04-04 16:15:21 · 1947 阅读 · 0 评论 -
GT收发器64B66B协议(1)IP核配置和example design
在前面我们基于GT收发器进行了PHY层设计,其中采用的编码方式为8B10B,为进一步提高传输效率,从本文开始,将采用基于GT高速收发器采用64B66B编码方式进行设计。原创 2024-04-03 17:20:38 · 1406 阅读 · 0 评论 -
Aurora8b10b(2)上板验证
上一篇内容我们已经详细介绍了基于aurora8b10b IP核的设计,本文将基于此进一步完善并且进行上板验证。原创 2024-04-02 17:05:34 · 884 阅读 · 2 评论 -
Aurora8b10b(1)IP核介绍并基于IP核进行设计
参考xilinx文档pg046Aurora 是一个用于在点对点串行链路间移动数据的可扩展轻量级链路层协议。这为物理层提供透明接口,让专有协议或业界标准协议上层能方便地使用高速收发器。虽然使用的逻辑资源非常少,但 Aurora 能提供低延迟高带宽和高度可配置的特性集。在 Xilinx FPGA 上使用是免费的,而且在 ASIC 上能以名义成本通过单独的许可证协议得到支持。高带宽,仅受限于收发器的数据速率支持大量键合线路,实现较高的总带宽支持全双工和单工通道无限帧尺寸/灵活组帧。原创 2024-04-02 15:33:12 · 2579 阅读 · 2 评论 -
基于8B10B的GT收发器PHY层设计(4)上板验证
在前面三篇内容当中详细介绍了基于GT的PHY设计,本篇内容进行上板测试,主要查看接收数据是否能正确对齐。原创 2024-03-31 14:41:56 · 766 阅读 · 3 评论 -
基于8B10B的GT收发器PHY层设计(3)PHY层设计
上一篇内容当中我们已经将gt_module模块设计完成,本篇开始进行PHY收发模块设计。原创 2024-03-31 14:07:46 · 1733 阅读 · 2 评论 -
基于8B10B的GT收发器PHY层设计(2)GT_module模块设计
根据官方的example design设计一个自定义协议的高速PHY设计那么现在我们需要进行GT设计的时候,只需要正确配置时钟信号,然后控制输入输出数据以及K码指示信号等用户数据接口即可,需要例化多个GT channel的话就再gt_module当中例化多个gt_channel模块即可,不可以例化多次gt_module,因为包含在gt_module中,而只能例化一次参考FPGA奇哥系列网课。原创 2024-03-30 16:44:52 · 1637 阅读 · 0 评论 -
GT收发器第六篇_GT channel内部时钟关系
RXOUTCLK必须来自SIPO恢复的时钟(因为RXOUTCLK来源于QUAD的参考时钟或者线路恢复时钟),RXUSRCLK必须来自RXOUTCLK(因为RXUSCLK2和RXUSCLK来源于RXOUTCLK或者TXOUTCLK)。RXUSCLK2和RXUSCLK来源于RXOUTCLK或者TXOUTCLK(具体可见线路恢复时钟的介绍),TXOUTCLK来源于QUAD的参考时钟,RXOUTCLK来源于QUAD的参考时钟或者线路恢复时钟。(1)如果使能TXBUFFER,则XCLK来源于TXOUTCLK。原创 2024-03-30 10:36:13 · 876 阅读 · 0 评论 -
基于8B10B的GT收发器PHY层设计(1)IP核配置
根据前面的知识储备,我们已经了解了GT的基本工作原理,以及GT基本结构和时钟关系,本章内容将基于K7系列GTX设计一个自定义协议的PHY层。原创 2024-03-30 14:19:36 · 1114 阅读 · 0 评论 -
GT收发器第五篇_TXUSRCLK和TXUSRCLK2
FPGA的TX接口是FPGA与GTX/GTH收发器TX数据路径的通道。应用程序通过在TXUSRCLK2的上升沿写入数据到TXDATA端口来通过GTX/GTH收发器传输数据。端口的宽度可以配置为两个、四个或八个字节宽。端口的实际宽度取决于TX_DATA_WIDTH和TX_INT_DATAWIDTH属性以及TX8B10BEN端口设置。端口宽度可以是16、20、32、40、64和80位。接口上的并行时钟(TXUSRCLK2)的速率由TX线速率、TXDATA端口的宽度以及是否启用8B/10B编码来确定。原创 2024-03-29 10:31:03 · 1465 阅读 · 0 评论 -
GT收发器第三篇_GT单个和多个参考时钟
上篇介绍每个QUAD中的GT Transceiver通道有6个可用的参考时钟输入:两个外部参考时钟输入对,GTREFCLK0和GTREFCLK1来自于QUAD上部的两个参考时钟引脚对,GTSOUTHREFCLK0和GTSOUTHREFCLK1来自于QUAD下部的两个参考时钟引脚对,GTNORTHREFCLK0和GTNORTHREFCLK1GT Transceiver通道的参考时钟首先来自于上面所说的6个可用时钟来源,之后,这些参考时钟进入QPLL或者CPLL。原创 2024-03-29 09:06:46 · 1553 阅读 · 0 评论 -
GT收发器第四篇_QPLL和CPLL工作原理
每个channel的时钟结构如图:Transceiver内部时钟来源可以是QPLL也可以是自己的CPLL。其内部TX 和 RX 时钟分频器可以单独从 QPLL 或 CPLL 中选择时钟,允许 TX和 RX 数据通道使用不同的参考时钟输入在异步频率工作。这个单独二字表明了TX和RX可以独立的选择时钟分频器的时钟来源。CPLL的输出输入到 TX 和 RX 时钟分频器模块,控制 PMA 和 PCS 模块使用的串行和并行时钟的生成。原创 2024-03-29 09:34:39 · 2003 阅读 · 0 评论 -
GT收发器第二篇_GT参考时钟
参考xilinx手册ug476是例化了1个GTX/GTH通道的原语名;是礼花了1个QPLL的原语名;GT Quad是由4个GT Transceiver通道,1个QPLL,2个差分输入时钟对,1个模拟输入引脚组成的集合。7系列的GTX/GTH transceiver 通道的缩写是GTX/GTH transceiver,因此transceiver channel其实就是指的是transceiver。原创 2024-03-28 19:21:08 · 1675 阅读 · 0 评论 -
GT收发器第一篇_总体结构介绍
之前写过一篇简单介绍GT的文章,可以先通过这篇文章对整体进行简单了解一下。参考xilinx手册ug476对于7系列的FPGA,共有3个系列,每个系列都有各自的高速收发器,称为吉比特收发器,即Gigabit Transceiver,简称为GT。每个系列的GT叫法略有不同,分别为:A7 的GTP,V7的GTH,K7的GTX,少量V7的GTZ。它们之间的区别在于最高线速率不同,GTZ>GTH>GTX>GTP。结构大致相同。原创 2024-03-28 18:46:57 · 1765 阅读 · 0 评论 -
8B10B编码原理详解
比如:在表3B/4B中,对于D.x.3(011),其对应的4B码字有两种:1100和0011,若此时RD为负,则取1100作为其对应的4B码字作为输出,同时检验此时的编码是否为完美编码,如果是完美编码,则保持RD的极性不变;本章来阐述下将8bit转换为10bit编码是如何实现的,转换的目的是保证DC平衡,所有用10bit表示8bit的原则也是尽可能的从1024个里面挑选出0和1差不多的,而且是01交替差不多的。低5位编码为6位,依次命名为a,b,c,d,e,i,如下图所示。这里,可能有个疑问,原创 2024-03-28 15:53:14 · 2665 阅读 · 0 评论 -
GT收发器眼图测试
眼图包含了丰富的信息, 从眼图上可以观察出码间串扰和噪声的影响,体现了数字信号整体的特征,从而估计系统优劣程度。为了衡量基带传输系统的性能优劣, 在实验室中, 通常用示波器观察接收信号波形的方法来分析码间串扰和噪声对系统性能的影响, 这就是眼图分析法。眼图分析是高速互连系统信号完整性分析的核心, 观察眼图的方法是: 用一个示波器跨接在接收滤波器的输出端, 然后调整示波器扫描周期, 使示波器水平扫描周期与接收码元的周期同步, 这时示波器屏幕上看到的图形像人的眼睛, 故称 为 “眼图”。原创 2024-03-28 14:12:24 · 1261 阅读 · 0 评论 -
Xilinx高速接口GT介绍以及IP核详解
8b10b最大的劣势是效率比较低, 有20%的额外开销, 所以常用于低于8G的场景, 最常见的、 使用8b10b、 同时又高于8G线速率的似乎是CPRI Rate7, 线速率9.8G左右。作为GTX的一个模块, 发送端提供了方便使用的编码接口, 接收端提供了方便使用的输出指示, 直接使用即可。8B/10B编码是由高3位的3B/4B编码加上5B/6B编码组成的, 而K28.5就是由5(101) 和28(11100) 组成, 即101_11100, 十六进制则是BC。PCS中的功能, 都是并行的数字电路处理。原创 2024-03-15 15:05:53 · 8290 阅读 · 1 评论