一种基于bist的高速串行io接口抖动容限测试方法和电路的制作方法
【技术领域】
[0001] 本发明公开了一种高速串行10接口抖动容限测试方法和电路,具体是在高速串 行接口的接收端电路内部实现抖动注入和误码检测,完成接收端抖动容限测试。
【背景技术】
[0002] 输入/输出(I/ 0)在计算机和工业应用中一直扮演着关键角色。在早期的并行 I/ 〇总线中,接口的数据对齐问题影响着与外部设备的有效通信。然而,随着处理器速度 的增加,I/ 〇成为了限制系统级性能的瓶颈,提高I/ 〇的性能对于提高系统性能来说非 常关键。在目前的高速通信系统中,原本用于光纤通信的串行通信技术SerDeS(串行器/ 解串器)由于能够符合多种高速通信协议标准以及使用的灵活性,成为了高速通信系统的 关键技术。基于SerDes技术的高速串行接口正在成为通用的I/ 0接口标准,它采用高速 差分信号传输,屏蔽了传输路径中的干扰噪声,不仅提高传输速度,还可以提高信号传输质 量。
[0003] 对于1C之间的通信时序模型,在传输速率小于100MHz时,米用系统同步结构;随 着速率的增加,时钟在发送端和接收端之间的偏移可能会超过一个周期(例如线上的延 时),为了补偿这个时钟偏移,设计者采用源同步结构;但是在速率超过1GHz时,并行数据 间的偏移大大影响了传输速率的进一步提升,人们开始采用自同步结构--在发送端将时 钟信号嵌入进传输数据流,在接收端,通过CDR(时钟数据恢复)电路来从传输数据中恢复 出时钟,并用此来接收数据。
[0004] 随着数据率不断增加,信号质量将受到影响,使得波形的退化,有可能引起数据的 误识别,也就是误码。对于高速串行10接口电路,由于系统中的噪声、一些随机过程、周期 过程、数据相关效应及通道的色散效应等的影响,接收端接收端的数据并非理想的,而是理 想信号和传输过程中的影响的叠加。抖动是引起误码,使高速10接口电路失效的重要因 素,可分为RJ(随机抖动)和DJ(确定抖动)。接收端的CDR电路能否从叠加有抖动信号 的数据流中恢复出时钟信号,并采样到正确的数据,是高速串行10接口一个重要的性能指 标,这也就需要对接收端进行抖动容限测试。
[0005] 抖动容限测试包含两个方面:在一定BER(误码率)水平下抖动容限是否满足 Spec规定,以及接收端对抖动的容忍能力。前者在要求的误码率水平下,测试被测电路的 抖动容限是否大于Spec中规定的阈值;后者测试接收端电路能够容忍的最大抖动值。抖 动容限测试需要在输入端注入可控频率和大小的抖动信号,检测被测系统的输出信号的 BER是否满足要求。抖动容限测试所面临的两大问题是:①大部分的总线标准都需要在 BER彡1(T12下进行抖动容限测试,则设备至少要发送1013个比特的数据,而且抖动容限测试 需要对多个频率进行测试,这都会使测试时间很长;②抖动容限测试需要产生不同种类的 抖动并混合,而产生可控的接近真实比例的抖动成分比较复杂。
[0006] 抖动容限的测试包括验证测试和量产测试,台式仪器一般用于验证测试,在进行 抖动容限测试时,一般采用特定的仪器产生数据流及不同种类的抖动,Cai和Wemer利用FM(频率调制)源注入PJ(周期抖动),随机噪声发生器注入RJ,较长的光缆或PCB板注 入DDJ(数据相关性抖动)等,这些抖动信号共同用于抖动容限测试,但是这种测试方法比 较复杂,而且难以精确的混合及表征这些抖动成分;安捷伦公司在2013年推出的J-BERT N4903B仪器使用经过校准的内置抖动源,可以快速的对接收端进行精确的抖动容限测试。
[0007] ATE(自动测试仪器)一般用于量产测试,使用ATE进行抖动容限测试时,通常需 要在测试板上或在电路内部加入一些电路用于注入或表征抖动。从90年代末,国外公司和 大学对高速电路测试领域开始了广泛的研究并取得一定的成果,Fan和Zilic使用ATE注 入PJ,根据Q值和BER的线性关系,使用外推的方法减少测试时间;Laquai和Cai提出一种 基于无源滤波器注入DDJ的方法,只在负载板上占用很小的面积,但是这种方法不能灵活 地提供多种抖动;Sunter和Roy通过测量影响抖动容限的参数来测试,但是这种方法需要 在负载板上安置ULTRA模块,占用面积并使设计变得复杂;Hafed和Watkins通过调制发送 端PLL(锁相环)模块的输入产生有抖动的信号,这种方法不会产生不必要的抖动,但是这 种方法能够注入的抖动频率受PLL的带宽限制;Keezer使用ATE通过动态改变相位来调制 时钟信号,并注入抖动,消除了PLL带宽限制。
[0008] 目前基于台式仪器和ATE的测试可以实现高精度的测量,但是测试成本高、测试 时间长且不能自动测试。对于面向制造的量产测试,这种测试成本和测试时间是非常昂贵 的,我们可以使用DFT(可测试性设计)的方法来降低测试成本,减少测试时间。借鉴上述 的基于台式仪器和ATE的测试方法,可以得到抖动容限的测试需要4个步骤:①产生不同 种类的频率和大小可控的抖动信号;②产生测试数据流;③将抖动信号施加到被测数据流 中;④测量输出信号的误码率。然后我们根据测量结果判断误码率是否在要求范围内或是 否呈明显指数的增加以得到抖动容限测试的结果。基于BIST的思想在接收端电路内部实 现不同种类的抖动的注入及误码率BER的测量,可以有效的降低测试成本及测试时间。
[0009] 接下来要考虑如何在电路内部实现不同种类的频率和大小可控的抖动。应用于抖 动容限测试的抖动种类一般有RJ、PJ和DCD(占空比失真),这三种抖动比较容易产生和表 征。很多学者也对这个方面进行了研究。Cai和Fang采用SSC(扩频时钟)注入PJ抖动, 一般是单一频率的PJ,也就是SJ(正弦抖动),注入的抖动与抖动信号的频率和大小的关系 为:
[0010]
[0011] Fbaud是数据速率,ofstppm是正弦抖动信号的振幅,FSI是正弦抖动信号的频率。
[0012] Huang和Wang采用正弦波生成器生成频率和幅值可控的正弦信号,经过A-S调 制器之后控制N/N+1双模预置分频器,注入的抖动与抖动信号的频率和大小的关系为:
[0013]
[0014] 其中是数据频率,NA是正弦抖动信号的振幅,是正弦抖动信号的频率。这 些方法可以很好的注入SJ,对被测电路进行抖动容限测试,但是这些方法都只能注入单一 频率的PJ,不能够很好的模拟实际情况。Ahmed和Kwasniewski通过DigitalIntegrator、 Adder、DelayControlLogic和VariableVernierDelay实现多种抖动的注入,但是电路 实现比较复杂,不够直观。本发明根据高速串行10接口接收端抖动容限的具体测试步骤, 设计了基于BIST的高速串行10接口抖动容限测试的方法和电路。
【发明内容】
[0015] 本发明的技术目的是:对高速串行10接口的接收端电路进行DFT设计,在CDR电 路中加入抖动注入模块,产生不同种类的频率和抖动值可控的抖动信号并得到包含抖动信 号的测试序列,并由误码检测模块得到BER,实现接收端抖动容限的测试。
[0016] 本发明基于BIST的思想,利用相位内插器PI改变时钟相位,进行抖动注入。相位 内插器PI的相位改变由控制字(ControlWord)决定,将Spec规定的抖动频率及数值转化 成数据写入JitterMemory,改变相位内插器PI的控制字,即可得到需要的时钟相位的改 变。在对高速串行10接口进行测试时,测试序列一般有类时钟"0101"序列和PRBS两种。 其中PRBS更能模拟实际情况,可以保证非常好的测试覆盖率;而类时钟"0101"序列可以排 除引进ISI(码间干扰)的抖动类型,更适合抖动信号的调制。为了使测试结果更接近实际 情况,在本发明中选择PRBS作为测试序列。
[0017] 本发明实现目的的技术方案是:
[0018] 本发明的技术方案包括两部分内容:高速串行10接口的DFT设计和测试方法 及流程设计。本发明测试电路的基本框图如图1所示,包含CDR电路、抖动注入(Jitter Injection)模块和误码检测(ErrorDetection)模块。下面结合图2详细说明BIST中的抖 动注入和误码率检测模块。抖动注入模块包含JitterMemory、相位内插器PI和PRBS(伪 随机二进制序列)电路。JitterMemory用于存储不同种类的抖动数据,可根据Spec规定 和测试需要在启动测试模式前通过总线写入;相位内插器PI根据JitterMemory中写入的 抖动信息改变CDR电路中VC0生成的时钟信号的相位;PRBS电路由LFSR(线性反馈移位寄 存器)构成,以相位内插器PI的输出为时钟信号,生成包含抖动信息的测试序列。误码检 测模块包括序列检测器(PRBSChecker)、X0R门和误码计数器(ErrorCounter),用于检测 误码并得到误码数。与【背景技术】中提到的抖动注入的方法相比,本发明可以注入不同种类 的抖动,包括随机抖动RJ、确定抖动DJ、周期抖动PJ等,且电路实现简单,在封装时不需要 额外的管脚,只需要在启动测试模式前通过总线向JitterMemory所在的地址写入抖动数 据。如图3所示是在JitterMemory中写入不同种类的抖动数据时,相位内插器PI对时钟 信号相位的改变;图3(a)是注入方波抖动(SquareJitter)时相位的改变,图3(b)是注入 正弦抖动SJ时相位的改变,图3(c)是注入随机抖动RJ时相位