综合技术
直播中

贾桂林

7年用户 1478经验值
私信 关注
[问答]

基于Bertscope的芯片系统接收端容限测试和调试

在用户进行系统或者芯片测试的时候,一般主要验证几个方面的性能和可靠性,包括系统发送端的信号质量,链路的损耗/串扰,接收端的容限。如下图1,一个链路系统的基本架构。通常在发送端会使用FFE来补偿链路的损耗,接收端会采用DFE/FFE等方法来进行均衡,一些比较高速率的标准如PCIE 4.0/5.0,SAS4等还会采用FEC来进行纠错,当然接收端还需要CDR来从串行信号里面进行时钟恢复得到同步时钟来对信号进行采样。
图1:高速串行链路的基本架构



回帖(7)

杜亚琼

2019-7-18 15:31:22
对于系统/芯片的接收端测试,会有几个方面的挑战,第一是loopback (环回)模式的Training,第二是link(链路)training。只有这两个部分的协商正确完成的前提下,才能保证测试的顺利完成。不管是loopback training 还是link training,都要求Bert具备和被测设备自动的协商功能,通过基于协议的握手和双向沟通去使被测设备进入环回模式和均衡的自适应。
如图二,支持各种协议的系统/芯片在上电后会通过与对端设备的多次协商进入不同的子状态机,在接收端容限测试的时候需要使被测芯片的状态机从Config或者Recovery状态进入loopback的子状态,这个实现需要Bert模拟一个真正的对端设备去发送符合该协议的码型系列去training 被测设备。同时Bert也要能实时的解析被测设备的协议系列以确认其是否被成功training,否则需要重新修改设置来发送training的码型序列。如图3,泰克的BSX系列误码仪最高可以支持单通道32Gbps的实时数据发送和接收,可以直接产生和接收并同时解析协议的数据包,而不像其他厂商只能在较低速的时候实现数据直接产生和接收,而高速标准则需要通过两个通道合并成单通道进行发送,并在接收端则将单通道再分解成两个通道进行接收。这样会导致高速标准的时候不能实现真正基于协议的协商。
图2:PCIe/USB3.1等协议标准的各种状态机。
图3:BSX系列误码仪支持单通道的高速协议数据的发送和接收解析
如图3,除了loopback training以外,另一个重要的步骤是link training(链路协商),需要Bert和DUT进行FFE/DFE的实时协商来补偿链路的损耗,以达到最低的误码率。在USB3.1/PCIe协议中发送端会有多个级别的FFE来灵活对信号发送端进行均衡补偿,在接收端也会有CTLE和DFE多级组合来进行补偿。(详细的链路协商步骤细节可以参考泰克的相关应用文章-《克服第4代I/O应用中的接收机测试挑战》)。这个链路协商同样需要Bert能够在一定程度上去模拟一个真实设备和被测设备进行沟通,解析并响应被测设备的要求去调节信号输出的FFE参数,并根据误码率来请求被测设备调节其输出的FFE参数和接收端的CTLE/DFE参数,以达到最佳的误码率。同样这个时候也需要BERT具备单通道直接输出和接收并解析基于协议的码型序列达到与被测设备的实时协商。
举报

陈丽霞

2019-7-18 15:31:30
除了进行一致性测试以外,对于芯片的验证过程中还经常会进行问题定位,当出现误码的时候,大部分工程师会去搬一台示波器来使用示波器观察信号波形来进行抖动和眼图分析来进行调试,这时候得把信号重新连接到示波器来进行信号的捕获,而且并不容易把误码和示波器捕获的波形直接关联起来找到误码的原因。往往你旁边并没有一台高带宽示波器供你随意使用。由于泰克的BSX系列误码仪能够精确的统计误码的个数和误码出现的时间,所以能够实现精准的误码定位。这个强大的误码定位功能和抖动眼图分析功能可以供你进行系统和芯片级别的调试,下面会举一些真实用户使用Bert进行调试分析的实例来说明。
举报

刘晓红

2019-7-18 15:31:44
案例一:使用误码仪Error Free interval功能来验证芯片的自适应时间。
客户在做芯片IP的选型验证,该芯片支持的速率为20.62bps,不同IP厂商会给出不同的芯片自适应时间,一般为几百微妙到几百毫秒不等,如前面所述,有一些芯片的关键参数会影响到这个自适应时间,如芯片的FFE/DFE的均衡自适应时间,CDR的锁定时间,误码判决电路的采样点的自动调节等。客户的需求是测试从芯片开始初始化那一刻直至误码率低至10^-12左右的时间。
图4:连接拓扑图
先按照上面图4的连接图连接好,将被测芯片设置为环回模式,设置Bertscope的PG输出为被测速率,码型设置为PRBS31,确认CDR模块可以正确锁定,Error Detector能够正确的Sync码型,并且测试没有误码。将Bert 的Error Detector端设置为Auto-resync。
然后选择Bert scope的View里面的误码分析功能(Error analysis),选择Error free interval。点击Error free interval界面,设置,Hist的end 为500000(bit),这个参数需要根据芯片的特性灵活调节,如果芯片的自适应时间较长,则可以适当增加,以保证整个自适应过程的误码变化情况都能够在所选的时间范围之内。这个界面的横轴是bit,可以根据信号的速率转化为绝对的时间,纵轴是误码个数。我们可以根据误码的变化从而计算出自适应的收敛时间。设置好以后点击auto center。然后点击Run。
设置好误码仪后,用命令将芯片的RX部分进行一次hot reset,这时候芯片会进行一次时钟恢复的同步,重新调节DFE,FFE,在Bertscope的Error Free interval里面就可以看到出现大量误码然后再慢慢减少到没有误码的过程。在300000bit左右就不再出现误码,表示这个时候自适应过程就已经完成。为了保证测试结果的重复性和一致性,建议将这个hot reset的过程做十次,Error free interval会自动将这十次的结果进行叠加。从测试的结果看,芯片的自适应时间约为250000X(1/20.62G)约为12.5us左右。
举报

王辉

2019-7-18 15:31:54
案例二:使用误码的Strip chart的记录功能来进行长时间的误码分析。
由于客户的系统要进行长时间的(-20到+80度下)的高低温老化测试,客户要看误码的性能和温度变化的相关性,一般的误码仪只能统计温度变化过程中误码的总的个数和误码率,而无法得知在整个十几个小时里面任一时刻误码率的变化。而BSX系列误码仪则可以使用Strip chart的记录功能将整个过程中记录下来,后面可以根据需要查询任意时刻的误码率变化情况。如下图,在第10/20/30秒的时间点出现了一些突发的误码,这个如果仅仅是通过简单的误码统计是无法看到时间相关的细节的,而且其累积记录时间可以长达几十小时甚至几天。
图5:使用Strip chart功能记录整个长时间老化过程误码变化
举报

更多回帖

发帖
×
20
完善资料,
赚取积分