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 ...
随机推荐
- quartz多任务调度+spring 实现
一.Quartz的学习简述 客官,不要急,请看完下面的内容... 代码可以直接拷贝使用,本文是编写2个定时方法来实现的,如果想要执行1个,删除另1个即可.但是想要知道执行原理请看最后的原理分析 二.执 ...
- 全方位解读Java反射(reflection)
JAVA提供了一种反射机制,反射也称为反省. java程序运行以后内存中就是一堆对象,除了对象什么都没有. 找对象 拉关系 瞎折腾 对象在运行过程中能否有一种机制查看自身的状态,属性和行为.这就是反射 ...
- angular 图片懒加载(延迟加载)
github 原文 https://github.com/Treri/me-lazyload me-lazyload angular 的图像资源延迟加载指令 例子(Demo) 演示网站(Demo Si ...
- jmeter的学习(配置环境)
jmeter是一款开源工具.解压即可使用 前提要安装配置jdk.验证jdk是否安装配置成功.运行cmd输入“ java -version” 如上图所示.jdk安装配置成功:64位版本1.8 现在即可进 ...
- 基于Python实现的四则运算生成程序
Github项目地址:传送门 小组成员:黄晓彬(代码实现) 黄钰城(代码审查) 需求: 1. 使用 -n 参数控制生成题目的个数. 2. 使用 -r 参数控制题目中数值(自然数.真分数和真分数分母)的 ...
- 一个css3 旋转效果 -- 待续
<div class="container"> <div> <figure></figure> <figure>< ...
- 重读tcp-ip详解三卷:1
应用层 Http.Telnet.FTP和e-mail等 负责把数据传输到传输层或接收从传输层返回的数据传输层 TCP和UDP 主要为两台主机上的应用程序提供端到端的通信,TCP为两台主机提供高可靠性的 ...
- Metasploit的基本使用
Metasploit可以在Linux.Windows和Mac OS X系统上运行.我假设你已安装了Metasploit,或者你使用的系统是Kali Linux.它有命令行接口也有GUI接口. 我使用的 ...
- RPi 3.5寸 电阻屏
/***************************************************************************** * RPi 3.5寸 电阻屏 * 说明: ...
- Friendly ARM linux交叉编译问题解决
ARM-LINUX-GCC 安装参考:(笔记)Ubuntu下安装arm-linux-gcc-4.4.3.tar.gz (交叉编译环境) 然而安装完成之后运行 arm-linux-gcc -v (注意g ...