的改变。
[0019] 图4描述了本发明的测试方法及测试流程。在接收端电路中插入BIST电路(包 括抖动注入和误码检测模块)后,首先根据Spec规定绘出抖动波形,编写Matlab程序,采 样抖动波形,并将得到的抖动数据写入JitterMemory中,然后设置测试控制信号,系统进 入测试模式。接收端的抖动容限测试有两部分内容:在一定的BER要求下测试抖动容限是 否满足Spe规定,以及接收端对抖动的最大容忍能力,这两部分测试内容都需要对多个频 率点进行测量,需要对测试序列注入不同频率的抖动。对于前者,根据Spec的规定注入定 量的抖动,测量误码率BER是否满足Spec规定。例如若Spec规定在10_12的BER水平下抖 动容限为80ps,则注入80ps的抖动,测量得到BER,若BER彡10_12,则系统在10_12的BER水 平下满足Spec规定,否则为不满足;对于测试接收端对抖动的最大容忍能力,逐步增加抖 动值,并写入到JitterMemory中,测量对应的误码率BER,当注入的抖动值超过接收端的 最大容忍能力,则BER会呈明显指数增加,则在BER呈明显指数增加的前一次注入的抖动值 即为接收端对抖动的最大容忍能力。
[0020] 本发明的技术效果在于:
[0021] 首先,本发明中所采用的方法并没有改变接收端原有的CDR电路,可以应用于所 有的CDR电路,进行抖动容限测试;
[0022] 第二,与台式仪器及ATE测试相比,本发明中的所有测试过程在芯片内部完成,不 仅注入的抖动不受外部因素的影响,增加了测试的准确性,而且减少了对昂贵的测试设备 的依赖,进而降低了测试成本,体现了BIST的意义;
[0023] 第三,本发明可以注入不同种类的频率和大小可控的抖动--RJ、PJ、DCD等,不局 限于单一频率的SJ。
[0024] 最后,本发明的电路实现简单,硬件代价小,相比于原电路,增加的只是抖动注入 和误码检测模块,而这部分BIST电路在电路正常工作时处于"关闭"状态,因此对原电路造 成的影响比较小。本发明的重要意义在于大大降低了测试成本,缩短测试时间,且易于实 现,是针对基于BIST的高速串行10接口系统的抖动容限一种实际可行且有效的测试方法。
【附图说明】
[0025] 图1本发明电路设计基本框图。
[0026] 图2本发明BIST电路结构设计示意图。
[0027] 图3本发明中抖动注入模块中时钟信号相位改变的时序图。
[0028] 图4本发明测试方法及测试流程图。
【具体实施方式】
[0029] 为使本发明的方法和优点更加清楚易懂,以下结合附图详细描述本发明所提供的 基于BIST的高速串行10接口抖动容限测试设计方案,但不构成对本发明的限制。
[0030] 本发明基于BIST的高速串行10接口抖动容限测试方法,其实施步骤包括:
[0031] 第一阶段:建立BIST电路
[0032] Stepl:在高速串行10接口电路设计完成之后,插入供抖动容限测试使用的BIST 电路。如图1所示,本发明的BIST包括两部分:抖动注入和误码检测。如图2所示,抖动注 入模块用于产生包含测试需要的抖动信息的二进制序列,包括JitterMemory,相位内插器 PI和PRBS(伪随机二进制序列),如图3所示是在JitterMemory中写入不同种类的抖动 数据时,相位内插器PI对时钟信号相位的改变;误码检测模块用于检测误并得到误码数, 包括序列检测器哦(PRBSChecker)、X0R门和误码检测器(ErrorCounter)。
[0033] Step2 :插入BIST电路后,根据测试需要,绘制抖动波形,编写Matlab程序,采样波 形得到抖动数据,然后写入到JitterMemory中,测量抖动注入模块的输出信号的眼图及抖 动值(随机抖动测量RMS值,确定抖动测量峰峰值),对抖动注入模块电路进行验证。
[0034] 第二阶段:在一定BER条件下测量抖动容限是否满足Spec规定
[0035] St印3 :根据Spec规定绘制抖动波形,编写Matlab程序,采样波形得到抖动数据, 然后写入到JitterMemory中。
[0036] Step4 :设置测试控制信号,进入测试模式。相位内插器PI的控制字信号从Jitter Memory中读取抖动信息,改变VC0输出的时钟信号的相位,PRBS电路以PI的输出作为时钟 信号,输出包含抖动信息的测试序列。然后由误码检测模块检测误码,并得到误码数,计算 误码率BERtest。
[0037] St印5 :对比Spec中规定的BERspe。,若BERtest彡BERspe。,则在该抖动频率点上被测 系统满足Spec中抖动阈值的要求,否则为不满足。
[0038] St印6 :改变注入抖动的频率,重复St印3~St印5,直至测试完所有频率点,测试 完成。
[0039] 第三阶段:测量接收端对抖动的最大容忍能力
[0040] Step7 :Spec中规定了一定BER水平下的抖动容限阈值。根据电路测试精度逐步 增加抖动值,并写入到JitterMemory。
[0041] St印8:设置测试控制信号,进入测试模式。抖动注入模块根据写入到Jitter Memory中的抖动数据得到对应的测试序列,然后由误码检测模块检测误码,并得到误码数, 计算误码率BERtest。
[0042] St印9 :计算BERtest是否呈明显指数增加,若呈指数增长,则上一次注入的抖动值 即为接收端的抖动容限能力,进行St印10 ;否则重复St印7~St印9,直至BER呈明显指数 增长。
[0043] St印10 :改变注入抖动的频率,重复St印7~St印9,直至测试完所有频率点,测试 完成。
[0044] 本发明提出了一种高速串行10接口抖动容限测试的设计方法和电路,基于BIST 思想,建立测试电路,包括抖动注入模块和误码检测模块,根据Spec的要求,制定测试计 划,实现对高速串行10接口接收端的抖动容限测试,提供了系统级测试的条件和方案。接 收端的CDR电路是高速串行10接口电路的重要组成部分,它能否从叠加有抖动信号的数据 流中恢复出时钟信号,并采样到正确的数据,是高速串行10接口一个重要的性能指标,即 对接收端电路的抖动容限测试非常重要。BIST电路实现简单,硬件实现代价小,测试方便、 灵活。综上所述,本发明可有效降低测试成本和缩短测试时间,是一种有效的测试方法。
[0045] 上述各实施例仅用于说明本发明,其中各模块的具体实现都是可以有所变化的, 凡是在本发明技术方案的基础上进行的等同变换和改进,均不应排除在本发明的保护范围 之外。
【主权项】
1. 一种基于BIST的高速串行IO接口抖动容限测试方法和电路,其特征在于: 包含三部分:设计BIST电路、为测试序列注入抖动、基于BIST实现抖动容限测试。其 中BIST电路包含两个模块: 1) 抖动注入模块,由Jitter Memory、相位内插器PI和PRBS (伪随机二进制序列)电 路组成,其中Jitter Memory用于存储抖动数据,相位内插器PI和PRBS电路为测试序列注 入抖动。 2) 误码检测模块,由序列检测器(PRBS Checker),XOR门和误码检测器(Error Counter)组成,检测测试序列的误码并计数。2. 如权利要求1中所述的方法,其特征在于: 抖动注入模块电路可以为测试序列注入不同种类的频率和大小可控的抖动。根据Spec 规定或测试需求的抖动的种类、频率及抖动值绘出抖动波形,编写Matlab程序,采样抖动 波形得到抖动的具体数据,并写入Jitter Memory中。相位内插器PI读取Jitter Memory 中的抖动数据作为控制字,改变CDR(时钟数据恢复)电路中VCO(压控振荡器)产生的时 钟信号的相位,PRBS电路以相位内插器PI的输出为时钟信号,输出包含抖动信息的测试序 列。3. 如权利要求1中所述的方法,其特征在于: 基于本发明的测试流程,首先将抖动数据要写入到Jitter Memory中,然后设置测试信 号启动测试模式,测试接收端的抖动容限。
【专利摘要】本发明公开了一种基于BIST(内建自测试)的高速串行IO接口抖动容限测试方法和电路。该电路主要由CDR电路模块、抖动注入模块和误码检测模组成。在高速串行IO接口接收端的CDR电路中加入抖动注入模块和误码检测模块,可实现接收端抖动容限的自测试,其中抖动注入模块包含Jitter Memory、相位内插器PI和PRBS(伪随机二进制序列)电路,用于产生包含抖动信息的测试序列;误码检测模块包括序列检测器(PRBS Checker)、XOR门和误码计数器(Error Detection),用于检测误码并得到误码数。本发明基于BIST对接收端抖动容限进行自测试,可实现不同类型的抖动注入,如RJ(随机抖动)、PJ(周期抖动)、DCD(占空比失真)等,BIST电路实现简单,有效地缩短测试时间和降低测试成本,可应用于各种类型的高速串行IO接口电路,具有较强的实用性。
【IPC分类】H04B3/46
【公开号】CN104954044
【申请号】CN201410122885
【发明人】冯建华, 宋京京, 叶红飞, 闫鹏, 张兴
【申请人】北京大学
【公开日】2015年9月30日
【申请日】2014年3月28日