Serdes专题(3)Lattice Serdes架构

文章目录

1. serdes架构概述

如图是LatticeECP3-150的框图,图中显示bank、PLL、CONFIG、JTAG等必要部件,它有四个SerdesQuad。LatticeECP3-17只有一个SerdesQuad。每个quad是serdes最小独立单元,需要自己的参考时钟,可通过封装引脚连接到外部时钟源或连接到FPGA内部逻辑的时钟源。器件上的每个quad支持多达4个全双工数据通道,quad 包含 4 个通道,每个通道都有 RX 和 TX 电路 ,以及一个包含 TX PLL 的辅助通道。根据不同应用,可以使用一个quad内的一至四个PCS通道,例如可以在同一个quad中使用 PCI Express x1@2.5Gbps和千兆以太网通道,也可以在第三个通道上自定义操作字对齐等,lattice保存了这样的灵活性,并且PCS IP核会根据不同的用户设置给出符合标准的接口信号。正是基于此LatticeECP3成为桥接不同标准的理想器件。150 Mbps至 3.2 Gbps用于通用8b10b,10位SERDES和8位SERDES模式。

2.详解PCS内部结构

如图是LatticeECP3 Serdes的内部结构,它被分成了四个部分分别是Serdes、Serdes Bridge、PCS Core、Fpga Bridge。每个部分包含不同的部件。这里按照数据流方向做说明。首先,hdin信号输入之后可以直接输出差分转单端之后的信号到FPGA内部模块,同时输入信号一路进入到信号丢失检测器上,信号丢失阈值由可编程电流源的值决定,电流源值使用rlos_lset2:0 控制位来选择,而阈值检测的结果通过rx_los_low状态信号标示给 FPGA。数据流经过EQ进入PD,然后DES,经过WA(位对齐)、LSM对齐状态机、8b/10b编码器,最后经下采样fifo到达用户逻辑。 其中,EQ 就是"Equalizer"(均衡器),主要用来补偿信道传输造成的高频衰减和码间串扰(ISI),由于传输过程中存在PCB、线缆等对信号有频率相关的损耗,在接收端使用均衡技术提升信号高频分量、压低低频分量,使信号恢复原始形状。PD是Phase Detector,通过比较数据的过渡沿 和采样时钟的相位,判断时钟太早还是太晚,供CDR调整时钟。CDR即Clock and Data Recovery(时钟与数据恢复),是上述数据流过程中的时钟来源,用于从数据中恢复时钟,是serdes技术的核心,CDR需要一个参考时钟,后面会讲到。DES则是将输入的串行数据转换成并行数据。WA即word align,执行comma这一字符检测和对齐操作。接收逻辑使用逗号comma字符来对传入数据流进行10位字符的字对齐。字对齐控制由嵌入式链路状态机(LSM)或FPGA控制实现。LSM即Link State Machine,内部有这个模块,也可以自己在FPGA逻辑中写,大体就是每次挪一位直到对齐为止。8b/10b解码器根据规范实现10位到8位的代码转换,并且同时遵守所规定的运行差异规则。当检测到代码违例时,会有信号提示。CTC Fifo使用来进行时钟容限补偿即Clock Tolerance Compensation的模块,执行恢复的接收时钟和锁定的参考时钟之间的时钟速率调整以免fifo的空读和溢出,这种空读或溢出是由于两个不同时钟域的时钟读写造成的,除了此机制没有其他机制避免,但使用CTC意味着链路上会多出延迟。后面这个down fifo主要就是用于不同时钟域之间的读写操作。

关注另一条反向链路,除了均衡器换成预加重之外没有其他什么了,预加重即Pre-emphasis在发送端提前加强信号的高频分量,也会为了让信道的信号质量更好。

3.与xilinx的不同

Serdes的基本原理是一致的通用的,由于各厂商自身生态、战略、芯片工艺有区别,对于工程师来说使用不同的厂家的serdes会有一些不同,这种不同更多是硬件能力决定的。Xilinx不同系列的FPGA集成的serdes能力也有区别,分别是GTH、GTX、GTY等,他们的速度不尽相同,给用户提供了更多的方案,最大速度的支持均比ECP3的3.125G要高。此外,xilinx还支持不同的编码方式,除了8b/10b还有64/66b,128b/130b,提高了传输效率,xilinx还推出了链路层协议aurora与serdes配合使用,用户开发上手更为方便。而从开发角度,xilinx在vivado中集成了眼图测试工具,方便测量信道质量,由于硬件集成了PRBS生成器,所以用于通信链路的性能测试与校验。Xilinx还有更丰富灵活的回环调试设计。相比之下,lattice则更注重能低成本低功率的快速通信,主打性价比依然可以在各行各业中得到大量应用。并且有些serdes手册提供中文版本,对国内开发者更为友好。

4.传送门

|-----|
| END |

📡文章原创,首发于CSDN论坛。

📡欢迎点赞♥♥收藏⭐⭐打赏💵💵!

📡欢迎评论区或私信指出错误💉,提出宝贵意见或疑问😱。

相关推荐
Terasic友晶科技1 小时前
【教程】Agilex 5 SoC 的两种启动模式的开发演示(一)(FPGA Configuration First)
fpga开发·agilex 5 soc
ALINX技术博客1 小时前
【黑金云课堂】FPGA技术教程Vitis开发:SD卡WAV文件读取音频播放实验
fpga开发·音视频
仲南音2 天前
Xilinx FPGA——时钟IP核MMCM、PLL
fpga开发
I'm a winner3 天前
基于Xilinx FPGA的LVDS高速串行通信系统(三)--数据训练及握手机制【文末源码】
fpga开发
upper20203 天前
coremark移植坑之-nostartfiles -nostdlib参数
学习·fpga开发·coremark移植·riscv设计
Eloudy3 天前
Vivado 纯命令行构建 FPGA 项目教程
fpga开发
Rambo.xia3 天前
AXI跨时钟域与数据一致性——CDC FIFO深度不够、写后读冒险、多Master仲裁、乱序返回,出了Bug根本查不出来
fpga开发·bug
upper20203 天前
FPGA部署卷积神经网络识别MINST图片
fpga开发·卷积神经网络·minst·minst识别·部署神经网络·神经网络识别图片
你是我的解忧王子4 天前
嵌入式 ADC采样 原始数据分析上层(平均值 波动率 正态分布 线性补偿 系统误差)
fpga开发·数据挖掘·数据分析
9527华安4 天前
FPGA纯verilog代码ISP图像处理培训教程,基于IMX214,提供工程源码+视频教程+FPGA开发板
图像处理·fpga开发·isp·imx214·mipi