7Series FPGA高速收发器使用学习——RX接收端介绍

 7Series FPGA高速收发器使用学习——RX接收端介绍

上一篇博文介绍了GTX的发送端,这一篇将介绍GTX的RX接收端,GTX RX接收端的结构和TX发送端类似,数据流方向相反,不过和发送端也有一些区别,GTX的RX接收端结构图如图1所示:

GTX的RX接收端结构图

图1

下面将根据数据流方向介绍一下RX接收端各个电路部分的功能。

RX Equalizer (DFE and LPM):RX信号从AFE(模拟前端)进来之后,首先经过RX均衡器,均衡器的主要作用是用于补偿信号在信道传输过程中的高频损失,因为信道是带宽受限的,所以信号经过它必将造成衰减甚至遭到破坏。

RX接收端的均衡器有两种,分别是LPM和DFE,两者功耗和性能有所不同,其中LPM功耗较低,DFE能提供更精确的滤波器参数,从而可以更好的补偿传输信道损失,因此性能更好。

RX CDR:RX的时钟数据恢复电路是图1的绿色圆圈部分,因为GTX传输不带随路时钟,因此在接收端必须自己做时钟恢复和数据恢复,时钟数据恢复电路如图2所示:

图2

图2

具体过程如图2所示,首先外部数据进来之后经过均衡器,紧接着均衡器出来的数据就进入时钟数据恢复电路。GTX使用相位旋转CDR结构,从DFE进来的数据分别被边缘采样器和数据采样器捕获,然后CDR状态机根据两者决定数据流的相位并反馈控制相位内插器(PI),当数据采样器的位置位于眼图中央的时候边缘采样器锁定到数据流的传输域。其中CPLL或者QPLL为相位内插器提供基础时钟,使CDR状态机能很好进行相位控制。

RX Fabric Clock Output Control:RX接收端的时钟结构和TX发送端的很类似,如图3所示,图中红色方框的CDR部分是和TX端最大的区别。

图3

图3

和TX发送端一样,RX接收端的时钟结构也主要分为串行时钟分频器和并行时钟分频器,D分频器是串行时钟分频器,用于降低PLL时钟速率以支持较低的线速率,后面的并时钟分频器主要根据设置的位宽和是否使用8b/10b生成不同的并行数据时钟。

RX Polarity Control:和TX发送端一样,RX接收端也拥有极性控制功能,可用于实现数据翻转,在PCB设计时RXP和RXN接反时使用这个功能。

RX Pattern Checker:GTX包含一个内嵌的PRBS检查器,如图4所示,有四种不同的伪随机序列生成器可以选择,检查器是自同步的,且工作在边界对齐和解码之前,这个功能可以用来测试信号的完整性。

图4

图4

RX Byte and Word Alignment:串行数据在被并行化之前,比如找到一个合适的特征边界,这个特征边界或者字符边界是由TX发送端发送的一个可识别序列,通常称为标识符(comma)或者K码,接收端在到来的数据中搜索这个标识符,当找到这个标识符之后,后面接收的数据都已这个标识符为边界进行并行化,其工作原理如图5所示。

图5

图5

如图5所示,当在串行数据中搜索到comma之后(红色方框),后面的数据都已此为边界对齐数据。

RX 8B/10B Decoder:如果发送端发送的数据是8B/10B编码的,那么在接收端就需要8B/10B解码,否则的话可以旁路,这一功能在TX发送端介绍时有说明,这里就不再做介绍。

RX Elastic Buffer:RX接收端弹性缓冲器是一个重要的功能,和TX接收端缓冲相比,RX多出了一个“弹性”属性,意味着和TX发送端相比,RX弹性缓冲器有更多的功能(RX时钟纠正和RX通道绑定)。RX弹性缓冲器在RX接收端的位置如图6绿色方框所示。

图6

图6

从图6可以知道,RX接收端PCS子层主要有两个时钟域,分别是XCLK和RXUSRCLK时钟域,RX弹性缓冲器功能主要用来匹配两个时钟相位差。

如果旁路掉这个RX弹性缓冲器,那么为了保证数据的稳定接收,需要满足一定的条件,首先需要一个相位对齐电路处理SIPO电路时钟和XCLK时钟的相位差,其次XCLK需要配置成RXUSRCLK时钟,保证XCLK和RXUSRCLK同一个时钟域,不存在相位差。

用户喜欢...

FPGA加速器卡的PCB设计注意事项

本应用笔记概述了PCI Express卡机电规范3.0版定义的加速器卡形状因子。 它解决了印刷电路板(PCB)设计挑战,从叠层设计到介电材料选择,再到PCB设计过程中使用的PCB制造技术。 该图呈现了典...


使用Zynq UltraScale +器件开发防篡改设计

本应用笔记提供了防篡改(AT)指南和实际示例,以帮助保护ZynqUltraScale+器件支持的系统中可能存在的知识产权(IP)和敏感数据。 这种保护(以防篡改的形式)需要在Zynq UltraScale +器件通过软...


USB Type-C:您需要了解的有关在设备中提供高速串行连接的所有信息

除了比其前代产品更快且能够提供更多功率外,USB Type-C还对这种无处不在的连接标准做出了一些明显的改变。首先,有一个新的可逆连接器,它没有键入,因此可以插入端口。其次,USB Type-C将...


Arduino 环境中的 FPGA:使用 Alorium 的 Snō 模块支持预配置和定制 IP

当固件在微控制器或微处理器上的运行速度过慢时,现场可编程门阵列 (FPGA) 可解决实时嵌入式设计的硬件问题。同时,FPGA 还具有外设灵活性。然而,要使用 FPGA,设计工程师就需要学习全新的...


通过 Arduino MKR Vidor 4000 快速轻松地应用 FPGA

许多设计人员迟早都会发现,微控制器或微处理器上运行的固件可能会变得太慢。现场可编程门阵列 (FPGA) 为此提供了一种可编程方法,以硬件速度来解决高速、实时、嵌入式设计问题。然而,...


使用Arduino MKR Vidor 4000快速轻松地应用FPGA

正如许多设计人员迟早会发现的那样,在微控制器或微处理器上运行的固件可能会变得太慢。这就是现场可编程门阵列(FPGA)提供可编程方式,以硬件速度解决高速,实时,嵌入式设计问题。...


使用FPGA通过机器学习构建高性能嵌入式视觉应用

本文将介绍ML处理的要求以及FPGA解决许多性能问题的原因。然后,它将介绍一个合适的基于FPGA的ML平台以及如何使用它。...


FPGA配置采用高速NOR闪存

NOR闪存被广泛部署为FPGA的配置器件。工业,通信和汽车ADAS应用中的FPGA使用取决于NOR Flash的低延迟和高数据吞吐量特性。快速启动时间要求的一个很好的例子是汽车环境中的摄像机系统。点火后...


为物联网设计添加高性能语音关键字检测:第 1 部分 - 使用 FPGA

随着Alexa、Hey Siri或Hi Google等多个产品成功响应关键词,关键字检测 (KWS) 已成为越来越多嵌入式应用的一项重要要求。虽然典型的先进 KWS 解决方案依赖于复杂的卷积神经网络 (CNN) 和其他深度神...


使用 FPGA 构建具有机器学习能力的高性能嵌入式视觉应用

随着摄像头和其他设备产生的数据在快速增长,促使人们运用机器学习从汽车、安防和其他应用产生的影像中提取更多有用的信息。专用器件有望在嵌入式视觉应用中实现高性能机器学习 (ML...


QDR SRAM接口FPGA 详细Verilog代码

QDR SRAM介绍 QDR 具有独立的读、写数据通路,均使用DDR,在每个时钟周期内会传输四个总线宽度的数据 (两个读和两个写),这就是QDR四倍数据速率的由来。 这里用到的是典型2字突发的QDR,...


Aldec的边缘计算示例: Zynq SoC 的 FPGA架构将嵌入式视觉/ ADAS性能提升了10倍

Aldec的一个应用工程师 Farhad Fallah 在 New Electronics 网站上发表的一篇题​​为生活在边缘的文章最近引起了我的注意,因为它简洁地描述了为什么 FPGA 对于许多高性能的边缘计算应用如此有用...


恒扬数据携手OpenPOWER多家成员共同推进基于CAPI SNAP框架的FPGA加速应用开发

日前,以“智慧链接新智能 创新加速助中国” 为主题2017年OpenPOWER 中国高峰论坛在京隆重召开,包括IBM、赛灵思、英伟达、浪潮、中太服务器、恒扬数据等在内的联盟成员出席了此次盛会并...


LVDS高速ADC接口, Xilinx FPGA实现

LVDS 即Low-Voltage Differential Signaling。FPGA的selecteIO非常强大,支持各种IO接口标准,电压电流都可以配置。其接口速率可以达到几百M甚至上千M。使用lvds来接收高速ADC产生的数据会很方便。像IS...


在机器学习的应用上,软件工程师和FPGA真的有着难以逾越的鸿沟吗?

人工智能和机器学习正在渗透所有的行业。随着人工智能算法的成熟,支持这些算法的硬件平台也日趋成熟。目前,这些硬件平台包括 ASIC,CPU,GPU以及 FPGA 。在 Plunify,尽管我们的强项是F...


FPGA竟然使Apple II个人电脑做回了自己!

背景: 微处理器软核代码开放,那么将源代码用工具例化到FPGA里面是不是就能实现其逻辑功能,当年流行的微处理器成就的一些产品是不是可以再拿出来回味回味呢?答案是肯定的, Micro...