在目前主流厂商的高端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高速系统(一)的更多相关文章

  1. SERDES高速系统(二)

    抖动.容忍度与功耗 前面我提到SERDES的最终性能要用传输速率和传输距离考核.使用眼图可以形象化地衡量SERDES的收发性能,但是更为精确的参数化衡量手段是抖动(Jitter).容忍度(Tolera ...

  2. 高速PCB设计注意事项

    和SERDES应用相关的高速系统PCB设计注意事项如下: (1)微带(Microstrip)和带状线(Stripline)布线. 微带线是用电介质分隔的参考平面(GND或Vcc)的外层信号层上的布线, ...

  3. STM32F4_RCC系统时钟配置及描述

    Ⅰ.概述 对于系统时钟应该都知道它的作用,就是驱动整个芯片工作的心脏,如果没有了它,就等于人没有了心跳. 对于使用开发板学习的朋友来说,RCC系统时钟这一块知识估计没怎么去配置过,原因在于开发板提供的 ...

  4. 007 GMII、SGMII和SerDes的区别和联系

    一.GMII和SGMII的区别和联系 GMII和SGMII区别,上一篇已经介绍了,这一篇重点介绍SGMII和SerDes区别. GMII和SGMII GMII 在MII接口基础上提升了数据位宽和Clo ...

  5. FPGA设计思想与技巧(转载)

    题记:这个笔记不是特权同学自己整理的,特权同学只是对这个笔记做了一下完善,也忘了是从那DOWNLOAD来的,首先对整理者表示感谢.这些知识点确实都很实用,这些设计思想或者也可以说是经验吧,是很值得每一 ...

  6. 【转载】FPGA静态时序分析——IO口时序

    转自:http://www.cnblogs.com/linjie-swust/archive/2012/03/01/FPGA.html 1.1  概述 在高速系统中FPGA时序约束不止包括内部时钟约束 ...

  7. FPGA静态时序分析——IO口时序(Input Delay /output Delay)

    1.1  概述 在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束才能实现PCB板级的时序收敛.因此,FPGA时序约束中IO口时序约束也是一个重点.只有约束正确 ...

  8. 【转】 Android 开发 之 JNI入门 - NDK从入门到精通

    原文网址:http://blog.csdn.net/shulianghan/article/details/18964835 NDK项目源码地址 : -- 第一个JNI示例程序下载 : GitHub  ...

  9. MSP430常见问题之开发工具类

    Q1:我自己做了一块MSP430F149的试验板,以前用下载线进行调试没有出现过问题,但是,最近我每次make后用下载线调试时,总是弹出一个窗口,给我提示:Could not find target ...

随机推荐

  1. SSH2 增删查改实例

    (一)引入包 (共73个,不一定都需要,但是我的项目是这么多,经过调试,没有包冲突) (二)创建数据库表 建立数据库octtest,并创建user表,表里面一共4个字段:id,姓,名,年龄. 语句如下 ...

  2. Pandas面板(Panel)

    面板(Panel)是3D容器的数据.面板数据一词来源于计量经济学,部分源于名称:Pandas - pan(el)-da(ta)-s. 3轴(axis)这个名称旨在给出描述涉及面板数据的操作的一些语义. ...

  3. NumPy算数运算

    NumPy - 算数运算 用于执行算术运算(如add(),subtract(),multiply()和divide())的输入数组必须具有相同的形状或符合数组广播规则. 示例 import numpy ...

  4. js的onclick字符串参数的解决办法

    <a href='#' onclick='onedit(\""+ name + "\")';>编辑</a>" 一些写法实例~~ ...

  5. python中的mysql操作

    一. 数据库在自动化测试中的应用 存测试数据 有的时候大批量的数据,我们需要存到数据库中,在测试的时候才能用到,测试的时候就从数据库中读取出来.这点是非常重要的! 存测试结果 二. python中的数 ...

  6. poj3517约瑟夫问题

    直接套公式+ 假设除去第k个人. 0, 1, 2, 3, ..., k-2, k-1, k, ..., n-1 //original sequence (1) 0, 1, 2, 3, ..., k-2 ...

  7. [csharp] bool IsNumeric(Type type)

    /* "C:\Program Files (x86)\MSBuild\14.0\Bin\csc.exe" /out:IsNumericType.exe IsNumericType. ...

  8. java之字符串中查找字串的常见方法

    1.int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引.      int indexOf(String str, int startIndex):从指定 ...

  9. linux Centos7 下vsftpd 安装与配 FTP

    一.说明 linux 系统下常用的FTP 是vsftp, 即Very Security File Transfer Protocol. 还有一个是proftp(Profession ftp). 我们这 ...

  10. C语言之内存四区模型和函数调用模型

      内存四区模型 流程说明1.操作系统把物理硬盘代码load到内存2.操作系统把c代码分成四个区3.操作系统找到main函数入口执行 1.内存四区: 一个由c/C++编译的程序占用的内存分为以下几个部 ...