1. 引言
随着FPGA的设计速度和容量的明显增长,当前流行的FPGA芯片都提供高速总线,例如DDR内存总线,PCI-X总线、SPI总线;针对超高速的数据传输,FPGA通过集成SerDes提供高速串行IO,支持各种诸如PCI-E、GBE、XAUI等高速串行总线协议,为各种不同标准的高速传输提供极大的灵活性。典型的高速FPGA器件提供的每一条物理链路的速度从200Mbps到高达10Gbps,高速IO的测试和验证更成为传统专注于FPGA内部逻辑设计的设计人员面临的巨大挑战。这些挑战使设计人员非常容易会把绝大部分设计周期时间放在调试和检验设计上。
为了加速对于FPGA中高速并行和串行总线的调试和验证,它需要使用新的高速信号完整性测试工具和分析方法。本文根据当前FPGA的高速总线测试和分析,提供了最新的方法和工具。
图1是一个典型FPGA的提供的各种高速接口。对于这些速度从200M到高达10G的高速总线,信号完整性的测试和分析是保证设计成功的基础和关键。
图1 典型FPGA的提供的各种高速接口
2. 高速串行总线眼图测试
对于采用内嵌SERDES电路的FPGA芯片,其高速串行信号进行测试和验证,最基本的工具是通过示波器进行对其眼图测试。因为眼图能够非常直观的反映一条被测信号路径上的整体信号质量问题,包括信号的抖动量大小(眼宽)以及幅度的大小(眼高)等重要信息。图2是一个高速数据信号的眼图形成的过程。
图2 眼图的形成过程
从眼图的形成过程可以看出,一个NRZ编码的高速数据无论传输何种码流,都可以看作一个重复信号,经过一定时间和样本数的累计,它反映整个传输链路上的总体信号质量。
3. 选择合适的眼图测试工具
3.1 示波器带宽的要求
示波器是进行高速串行信号眼图测试的首选工具。无论是用高速实时示波器还是采样示波器(Sampling Scope)得到眼图,带宽是对示波器的基本要求。以一个NRZ编码的高速串行总线为例,它理想的波形是一个方波信号,方波信号是由它的基波(正弦波)和奇次谐波(3次,5次,7次…)组成。根据信号的传输速率和上升时间,选择尽量高带宽和最快上升时间的示波器,这样测试结果保留更多的谐波分量,构建高精度的眼图测试结果。
示波器带宽反映了对被测信号幅度上的衰减,而示波器上升时间决定了对被测信号上升时间测试的误差。经典的示波器带宽和上升时间的关系为:带宽×上升时间=0.35-0.45,0.35-0.45为常系数。每一个高性能示波器除了提供带宽的指标外,还会给出上升时间,表征其对阶跃信号的测试能力和精度。示波器测试结果的经验公式为:
高速串行数据(NRZ编码)提供一般为数据率,其最高的基频为比特率的一半。即假设给定一个NRZ编码的串行信号,码型为时钟码型(即传输的数据为1-0-1-0-1),从频域的角度观测该信号,它成为一个基波为数据率一半的方波信号,这个时钟码型是数据变化最快的情况。以泰克TDS6154C 大于15GHz带宽的实时示波器为例,它可以测试保留6.25Gb/s (2×XAUI)信号的五次谐波,以及10Gb/s (XFI)信号的三次谐波。下表列出了不同的高速串行总线在不同测试精度要求下对示波器带宽的要求。
当示波器系统不能提供足够的系统带宽时,它会衰减对高速信号的高次谐波分量。测试结果除了引入由于示波器带宽不足导致的码间干扰(ISI),电压幅度的异常(过冲和衰减),还会导致抖动量过大,最终眼图模板测试的错误或者测试容限的减小,无法真正反映信号完整性问题。图3 分别是泰克TDS6154C 15GHz带宽和传统DSO 13GHz带宽实时示波器对一个FPGA器件提供的的6.25Gb/s高速数据进行的眼图测试结果比较。图中上半部分显示的眼图有很好的对称性,上升和下降时间更快,信号抖动量很小,真实的反映信号的真实特性。
由于13GHZ的DSO示波器系统带宽不足,无法捕获信号的五次谐波分量,图中下半部分的测试结果反映出眼图上升时间过慢;同时测试的眼图还存在明显的过冲和震铃,测试仪器导致的抖动也掩盖的信号的真正抖动大小。
图3 高速串行数据测试比较(上图为泰克TDS6154C示波器测试结果)
3.2 示波器高速采集内存的要求
当使用实时示波器对于FPGA信号进行信号完整性测试时,利用一次采集的数据构建眼图,所以除了示波器硬件带宽和高速采样率外,采集的数据量的大小非常关键,这样对示波器的高速采集内存就有了更高的要求。下图是在高采样率下,不同高速内存容量下一次捕获的数据量的大小。
当对FPGA的高速信号进行抖动测试时,高速内存长度不仅决定了一次抖动测试中样本数的多少,还决定了示波器能够测试的抖动频率范围。针对信号中的各种低频抖动干扰源,高速采集内存长度是示波器进行低频抖动测试的关键。下表显示的为20GSa/s高采样率下,不同内存长度分析抖动频率范围的大小。
传统高性能示波器设计构架采用将高速采集前端(多达80颗ADC)和高速内存在物理上用一颗SOC芯片实现,由于有太多功能在一个芯片内部实现,导致片内高速内存容量的限制(在20GS/s下小于1M),无论是对于高速串行数据的眼图测试还是对于时钟信号的抖动测试,都存在很大的限制,并且日后无法对内存扩展升级。
为了弥补这种设计结构的缺陷,这类示波器会采用在芯片外部添加低速存储器弥补片内高速内存的限制,但外部存储器不能在高采样率下工作,一般只能提供2GS/s,样点间隔500ps,由于绝大多数信号边沿速度都在皮秒级,2GS/s无法在信号边沿采集足够样点,甚至出现会出现混叠,所以它无法提供有意义的眼图和抖动测试结果。
泰克TDS6154C高速实时示波器采用硅锗(SiGe)半导体集成采集前端,并使用独立的高速存储器,这样就不受内存长度的限制,并且它同时支持最大采样率和存储长度。
文章评论(0条评论)
登录后参与讨论