SERDES高速系统(一)

在目前主流厂商的高端FPGA 中都集成了SERDES(串并收发单元)硬核,如Altera的Stratix IV GX器件族内部集成的SERDES单通道支持600Mbit/s到8.5Gbit/s数据熟率,而Stratix IV系列器件族还集成支持150Mbit/s到1.6Mbit/s的高速差分信号接口,并增强了其动态相位调整(DPA,Dynamic Phase Alignment)特性;Xilinx的Virtex II Pro内嵌的SERDES单通道支持622Mbit/s到3.125Mbit/s的数据速率,而Virtex II Pro X内嵌的SERDES单通道支持2.488Gbit/s到10.3125Gbit/s的数据速率;Lattice的高端SC系列FPGA内嵌的SERDES单通道支持622Mbit/s到3.4Gbit/s的数据速率,而其多款可编程系统级芯片FPSC(FPSC,Field Programmable System Chip)内嵌的不同性能的SERDES单通道支持400Mbit/s到10.709Gbit/s的数据速率。
在FPGA中内嵌诸如SERDES的硬核,可以大大地扩张FPGA的数据吞吐量,节约功耗,提高性能,使FPGA在高速系统设计中扮演着日益重要的角色。
在阐述SERDES基础概念的基础上,讨论Stratix IV GX的SERDES与DPA结构,通过对典型高速系统设计举例和对高速PGB设计注意事项的介绍,引领读者进入高速系统设计的世界。
SERDES的基础概念
这里将介绍SERDES的基本概念,并介绍SERDES相关的专有名词:眼图(Eye-diagram)、眼图模板、抖动(Jitter)、容忍度(tolerance)、功耗(Power Consumption)、预加重(Pre-emphasis)、均衡(Equalization)、8B/10B编码等。
SERDES的概念
SERDES是SERializer和DESerializer的英文缩写,即串行收发器。顾名思义,它由两部分构成:发端是串行发送单元SERializer,用高速时钟调制编码数据流;接端为串行接收单元DESerializer,其主要作用是从数据流中恢复出时钟信号,并解调还原数据,根据其功能,接收单元还有一个名称叫CDR( Clockand data Recovery,时钟数据恢复器)或CRU( Clock RecoveryUnit,时钟恢复单元)。如图,所示为10根数据线的串行传输和解串行接收示意图,10 根100MHZ的信号线入SERDES器件产生串行码流,时钟也调制到码流内,反过来通过它恢复并行的数据和时钟。SERDES技术的应用很好地解决了高速系统数据传输的瓶颈(特别是背板传输应用),节约了单板面积,提高了系统的稳定性,是高速系统设计的强有力支撑。


10:1SERDES功能示意图
眼图与眼图模板
SERDES的最重要的两个参数指标是传输速率和传输长度,即在符合误码率要求的以何种传输速率可以传输多长距离。其形象的评价方法是利用眼图,眼图的高和宽反映了信号的传输质量,如图所示为Altera Stratix IV GX器件眼图实例。

AlteraStratix IV GX器件眼图实例
眼图模板是用于对比眼图质量的参考系,常见的眼图模版有两种:菱形模版和六边形模版。如图所示为菱形眼图模版示意。

菱形眼图模版示意
其中,众轴是眼图的高度,单位是Mv,用以表示正确接收的差分信号的幅度,和接收端可正确恢复信号的电平需求直接相关;横轴是眼图的宽度,单位是UI或ps,用以表示无码间干扰的接收时间,和接收端分辨两个相邻码元的能力直接相关。UI,Unit Interval的缩写,即1bit数据周期的对应时间,例如对于1Gbit/s的眼图1UI是1ns。评价眼图的标准是眼的张开的程度要大,并且眼线要清晰。眼线清晰说明整个系统抖动小,准确度高;眼图的张开程度大,说明接收的信号幅度大,时间抖动小,这样对接收端的幅度和时间上的容忍度要求就更低,正确恢复信号的概率就更高。
版权所有权归卿萃科技 杭州FPGA事业部,转载请注明出处
作者:杭州卿萃科技ALIFPGA
原文地址:杭州卿萃科技FPGA极客空间 微信公众号

扫描二维码关注杭州卿萃科技FPGA极客空间
SERDES高速系统(一)的更多相关文章
- SERDES高速系统(二)
抖动.容忍度与功耗 前面我提到SERDES的最终性能要用传输速率和传输距离考核.使用眼图可以形象化地衡量SERDES的收发性能,但是更为精确的参数化衡量手段是抖动(Jitter).容忍度(Tolera ...
- 高速PCB设计注意事项
和SERDES应用相关的高速系统PCB设计注意事项如下: (1)微带(Microstrip)和带状线(Stripline)布线. 微带线是用电介质分隔的参考平面(GND或Vcc)的外层信号层上的布线, ...
- STM32F4_RCC系统时钟配置及描述
Ⅰ.概述 对于系统时钟应该都知道它的作用,就是驱动整个芯片工作的心脏,如果没有了它,就等于人没有了心跳. 对于使用开发板学习的朋友来说,RCC系统时钟这一块知识估计没怎么去配置过,原因在于开发板提供的 ...
- 007 GMII、SGMII和SerDes的区别和联系
一.GMII和SGMII的区别和联系 GMII和SGMII区别,上一篇已经介绍了,这一篇重点介绍SGMII和SerDes区别. GMII和SGMII GMII 在MII接口基础上提升了数据位宽和Clo ...
- FPGA设计思想与技巧(转载)
题记:这个笔记不是特权同学自己整理的,特权同学只是对这个笔记做了一下完善,也忘了是从那DOWNLOAD来的,首先对整理者表示感谢.这些知识点确实都很实用,这些设计思想或者也可以说是经验吧,是很值得每一 ...
- 【转载】FPGA静态时序分析——IO口时序
转自:http://www.cnblogs.com/linjie-swust/archive/2012/03/01/FPGA.html 1.1 概述 在高速系统中FPGA时序约束不止包括内部时钟约束 ...
- FPGA静态时序分析——IO口时序(Input Delay /output Delay)
1.1 概述 在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束才能实现PCB板级的时序收敛.因此,FPGA时序约束中IO口时序约束也是一个重点.只有约束正确 ...
- 【转】 Android 开发 之 JNI入门 - NDK从入门到精通
原文网址:http://blog.csdn.net/shulianghan/article/details/18964835 NDK项目源码地址 : -- 第一个JNI示例程序下载 : GitHub ...
- MSP430常见问题之开发工具类
Q1:我自己做了一块MSP430F149的试验板,以前用下载线进行调试没有出现过问题,但是,最近我每次make后用下载线调试时,总是弹出一个窗口,给我提示:Could not find target ...
随机推荐
- thinkphp Composer安装指南
1.首先我们去composer的官网下载composer,当然也可以用命令行的形势下下载,我是在windows安装的.https://www.phpcomposer.com/ 2.下载以后进行安装,一 ...
- NumPy IO文件操作
NumPy - IO ndarray对象可以保存到磁盘文件并从磁盘文件加载. 可用的 IO 功能有: load()和save()函数处理 numPy 二进制文件(带npy扩展名) loadtxt()和 ...
- MySQL主从配置实现(同一台主机)
////////////////////MySQL主从(同一台主机)////////////////////// 1.安装配置MySQL参考之前步骤搭建MySQL服务为了做实验方便,我们在同一台机器上 ...
- JAVA中的枚举使用总结
概念 在某些情况下,一个类的对象时有限且固定的,如季节类,它只有春夏秋冬4个对象这种实例有限且固定的类,在 Java 中被称为枚举类; 理解 类里面定义了固定数量的实例,类名如同命令空间 代码 pac ...
- 编辑器上的vim插件,常用到的快捷件
[vim]常用到的插件命令 [Esc] 退出编辑(输入,插入)模式,回到命令模式中(常用)i, I进入插入模式(Insert mode):i 为『从目前光标所在处插入』, I 为『在目前所在行的第一个 ...
- shell awk命令
语法: awk '{command}' filename 多个命令以分号分隔. awk 'BEGIN {command1} {command2} END{command3}' 注意:BEGIN , ...
- 使用Monkey对apk做稳定性测试
认识Monkey 官方文档:https://developer.android.com/studio/test/monkey.html 什么是Monkey? Monkey是Android中的一个命令行 ...
- 基于suse linux系统的cacti系统部署——rpm包方式
豆丁 http://www.docin.com/p-191889788.html rpm包方式:啊扬--沙迳:2010-12-1:更改:2011/5/16:一.Cacti的简介(来源:网络):Cact ...
- InnoDB存储引擎的B+树索引算法
关于B+树数据结构 ①InnoDB存储引擎支持两种常见的索引. 一种是B+树,一种是哈希. B+树中的B代表的意思不是二叉(binary),而是平衡(balance),因为B+树最早是从平衡二叉树演化 ...
- python----标准库概要
操作系统接口 os模块提供了不少与操作系统相关联的函数. >>> import os >>> os.getcwd() # 返回当前的工作目录 'C:\\Python ...