发明内容
本发明的目的在于克服现有技术的不足,提供基于延时的数字测试码型生成方法,利用FPGA内部延时资源与逻辑资源,实现了高分辨率数字测试码型生成,基于本方法可产生最高200Mbps,边沿定位分辨率最高39ps的数字测试码型。
本发明的目的是通过以下技术方案来实现的:
基于延时的数字测试码型生成方法,包括以下步骤:
步骤一:测试向量抽象,将原始信号A的测试波形进行向量抽象,获得具有若干个周期波形原始信号A;
步骤二:测试码型合成,对原始信号A进行延迟处理,分别获得第一延迟信号B和第二延迟信号C,并对第一延迟信号B和第二延迟信号C进行逻辑运算生成具有时序边沿信息的脉冲信号D。
具体的,步骤二具体包括:在FPGA内,在单位周期T内,将原始信号A输入到输入输出延迟单元中,分别以延时时长t0和t1进行延迟处理,获得延时时长t0对应的第一延迟信号B和延时时长t1对应的第二延迟信号C,将第一延迟信号B和第二延迟信号C进行异或处理,获得脉宽为延时值的脉冲信号D;延时值为t1-t0。
具体的,步骤二还包括连续两个周期T1和T2的测试码型合成过程:在FPGA内,先生成与原始信号A逻辑生成原理相反的信号E,当信号A处于在第二周期T2的上升沿时,将信号E替换信号A作为原始信号输出,并分别以相同的延时时长t0和t1对信号E进行延迟处理,获得延时时长t0对应的第三延迟信号F和延时时长t1对应的第四延迟信号G,将第三延迟信号F和第四延迟信号G进行异或处理,获得脉宽为延时值的脉冲信号D。
进一步的,操作信息和测试向量存储在DDR中,时序边沿信息存储在FPGA内部的RAM中。
具体的,步骤二中具有时序边沿信息的脉冲信号D具体为D0,D1,D2,D3的四个时序边沿信息的波形;其中,D0为信号开启沿,D1为数据开始沿,D2为数据返回沿,D3为信号关断沿。
进一步的,将信号开启沿D0和信号关断沿D3作为一个信号开关组合,采用开关信号控制;数据开始沿D1和数据返回沿D2作为一个数据输出组合,利用波形信号来实现;当开关处于打开状态时,输出数据逻辑状态,输出电平为预设的高低电平值,输出波形的边沿分别为开关信号和波形信号的边沿。
本发明的有益效果:
1.本发明的方法能满足数字IC的工作频率要求,同时可以提高在数字IC支持的范围内测试码型的生成速度,节约了测试时间。
2.基于本发明的方法可产生最高200Mbps,边沿定位分辨率最高39ps的数字测试码型,为精确控制发送的测试向量提供了保证,有利于更为合理地指定测试方案、编写测试向量。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,以下结合技术方案和附图详细叙述本技术方案的具体实施方案,在本技术方案中仅仅详细描述了部分实施案例而不是全部案例,在本领域,若其他技术人员没有做出创新性改动所获得的其它案例,均属于本发明的保护范围内。
实施例一:
本实施例中,如图1所示,基于延时的数字测试码型生成方法,包括以下步骤:
步骤一:测试向量抽象,将原始信号A的测试波形进行向量抽象,获得具有若干个周期波形原始信号A;
步骤二:测试码型合成,对原始信号A进行延迟处理,分别获得第一延迟信号B和第二延迟信号C,并对第一延迟信号B和第二延迟信号C进行逻辑运算生成具有时序边沿信息的脉冲信号D。
具体的,步骤二具体包括:在FPGA内,在单位周期T内,将原始信号A输入到输入输出延迟单元中,分别以延时时长t0和t1进行延迟处理,获得延时时长t0对应的第一延迟信号B和延时时长t1对应的第二延迟信号C,将第一延迟信号B和第二延迟信号C进行异或处理,获得脉宽为延时值的脉冲信号D。
本实施例中,延时值为延时时长t1与延时时长t0的差值,即延时值=t1-t0。
本实施例中,按照数字IC测试的需求,将测试波形按照向量的方式来进行合成。测试向量抽象,将原始信号A的测试波形进行向量抽象,获得具有若干个周期波形原始信号A,每个周期内的波形不尽相同,码型合成后的脉冲信号D具有D0,D1,D2,D3的四个时序边沿信息的波形。如图2所示,D0为信号开启沿,D1为数据开始沿,D2为数据返回沿,D3为信号关断沿。
本实施例中,将信号开启沿D0和信号关断沿D3作为一个信号开关组合,采用开关信号控制;数据开始沿D1和数据返回沿D2作为一个数据输出组合,利用波形信号来实现;当开关处于打开状态时,输出数据逻辑状态,输出电平为预设的高低电平值,输出波形的边沿分别为开关信号和波形信号的边沿。
如图3所示,如果有两个具备上升沿(或下降沿)的信号,其中一个(B)是另一个信号的延时(A),两个信号进行异或运算后,会得到一个脉宽为延时值的脉冲信号C。
基于这个方法,通过调整延时的值,并对两个信号进行异或操作,即可产生边沿与延时值相关的脉冲信号。
在实际工程应用中,处于图3中上升沿(或下降沿)时,可改变A信号的逻辑状态,通常此时的逻辑状态由向量文件决定。当FPGA工作时钟为200Mhz时,所产生的A信号最大频率为100Mhz。由于在测试过程中,计算机会一次性将当前测试所需要的信息发送至FPGA,由FPGA本身完成处理、存储等过程,最终输出至驱动器产生测试向量,因而一次测试所需要的大容量信息都将存储在FPGA中。受FPGA片内资源所限,需使用DDR内存对向量信息进行暂存。产生数字码型所需要的数据信息可以分为两大部分,一部分为操作信息和测试向量数据,另一部分为时序边沿信息。操作信息和测试向量存储容量需求大,存放在DDR中,而时序边沿信息存储容量需求小,存放在FPGA内部RAM中即可。
本实施例中,以单位周期T为例,详细阐述一个周期内数字码型的生成。如图4所示,T0时刻为时钟上升沿,根据当前向量文件,T0至T1之间信号为逻辑“1”,此时A信号由0变为1,B、C信号为A信号分别延时t0,t1所得信号。D信号为B与C信号异或运算所得,D信号即为码型信号。仅考虑单一周期内码型合成,此时已完成预期数字码型的产生。
本实施例可达到以下技术效果:
1.本实施例的方法能满足数字IC的工作频率要求,同时可以提高在数字IC支持的范围内测试码型的生成速度,节约了测试时间。
实施例二:
本实施例中,基于实施例一提供的数字测试码型生成方法,数字测试码型生成过程在实际上的情况更加复杂一些,当向量文件设置为连续两个周期(如T0至T1与T1至T2)均发送逻辑“1”时,如图4所示,T1至T2期间A信号将一直保持逻辑“1”状态,这将造成B信号与C信号一直处于逻辑“1”状态,D信号与期望输出信号不一致。造成错误的原因是当连续两个周期均发送逻辑“1”时,A信号将不会产生“0变1”或“1变0”的变化边沿。因此,需要对实施例一提供的方法做进一步的改进,改进后的方法流程为:
步骤一:测试向量抽象,将原始信号A的测试波形进行向量抽象,获得具有若干个周期波形原始信号A;
步骤二:测试码型合成,在FPGA内,先生成与原始信号A逻辑生成原理相反的信号E,当信号A处于在第二周期T2的上升沿时,将信号E替换信号A作为原始信号输出,并分别以相同的延时时长t0和t1对信号E进行延迟处理,获得获得延时时长t0对应的第三延迟信号F和延时时长t1对应的第四延迟信号G,将第三延迟信号F和第四延迟信号G进行异或处理,获得脉宽为延时值的脉冲信号D。
如图5所示,为解决实施例一中方法存在的问题,本实施例通过增添另一信号E来解决该问题。该信号与A信号的逻辑产生原理相同,当处于T1时刻的上升沿时,将A信号置为逻辑“0”,而由E信号依据此时的向量文件进行变化,A与E两个信号进行交替,T0至T1时原信号为A信号,T1至T2时原信号为E信号,A信号与E信号交替作为输出原信号,此时,输出值D与期望生成的数字码型相同。
依据向量文件,若T0至T1周期期望发送逻辑“1”,而T1至T2周期期望发送逻辑“0”,如图6所示,此时由于A信号存在两个数据变化边沿,D信号将产生两个“脉冲”信号,与期望值不符。
由此,应当修改D信号生成的运算方式,由异或运算改为B信号与C信号取反,即D=B&!C。
本实施例可达到以下技术效果:
1.本实施例的方法能满足数字IC的工作频率要求,同时可以提高在数字IC支持的范围内测试码型的生成速度,节约了测试时间。
2.基于本实施例的方法可产生最高200Mbps,边沿定位分辨率最高39ps的数字测试码型,为精确控制发送的测试向量提供了保证,有利于更为合理地指定测试方案、编写测试向量。
3.本实施例通过增加与原始信号逻辑相反的信号,利用原始信号和增加信号交替进行码型合成,可以让本实施例产生的测试码型更加符合测试需求,适应多个连续周期的测试码型合成场景要求,提高了最终输出的测试码型分辨率。
实施例三:
本实施例中,在实施例一和实施例二的基础上,运用如上两个实施例的方法,即可生成边沿可变、周期可调的数字测试码型。设置输出速率为200Mbps,开关边沿为0ns和5ns,数据开始边沿为0.78ns和 1.56ns,输出的码型依次为“1”、“0”、“1”、“1”,输出的波形如图7所示。
同理。使用如上的方法,对部分信号进行取反操作,既可以生成归一码型。设置输出速率为200Mbps,开关边沿为0ns和5ns,数据开始边沿为0.78ns和 2.34ns,输出的码型依次为“1”、“0”、“1”、“0”,输出的波形如图8所示。对比亦可发现,图7和图8产生的脉宽与设定值相同。
本实施例中,由于测试码型合成均在FPGA内完成,因此建议使用具备延迟单元或全加器资源,支持DDR的FPGA。如XILINX公司FPGA其具有IODELAY延迟资源与全加器资源,或者使用ALTERA公司FPGA其具备LCELL延迟资源和全加器资源。
对于小规模不支持延迟线与全加器资源的FPGA,同样可以使用本实施例的方法,通过在FPGA外部添加延时芯片的方法实现码型合成。
DDR用于扩展存储容量,除部分小规模FPGA外,均支持DDR。是否支持DDR不影响本专利设计的码型生成方法的实现,仅仅影响存储容量。
实施例一和实施例二介绍了基于延时的数字码型合成方法,而在FPGA内实现延时的方法有很多,例如全加器法与IODELAY法。其中IODELAY资源丰富,且便于使用。XILINXFPGA的SELECTIO中有ILOGIC和OLOGIC资源,可以实现IDDR/ODDR,IDELAY和ODELAY等功能。同时,IDELAY的延时精度与延时时间均可在一定范围内调整。IDELAY的延时扥变绿由输入时钟决定,对于200M的参考时钟其抽头系数的分辨率为78ps。参考时钟为300M的时候,分辨率为52ps。参考时钟为400M的时候,分辨率为39ps。其延时TAP可在0至31的范围内调整,在需要高精度、大延时的情况下,多个IDELAY可级联。对于小规模FPGA,其可能不具备延时或全加器资源,亦可以通过在FPGA外部添加延时芯片的方法,在外部实现延时,实现本方案。
本实施例可达到以下技术效果:
1.本实施例的方法能满足数字IC的工作频率要求,同时可以提高在数字IC支持的范围内测试码型的生成速度,节约了测试时间。
2.基于本实施例的方法可产生最高200Mbps,边沿定位分辨率最高39ps的数字测试码型,为精确控制发送的测试向量提供了保证,有利于更为合理地指定测试方案、编写测试向量。
3.本实施例通过增加与原始信号逻辑相反的信号,利用原始信号和增加信号交替进行码型合成,可以让本实施例产生的测试码型更加符合测试需求,适应多个连续周期的测试码型合成场景要求,提高了最终输出的测试码型分辨率。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护的范围由所附的权利要求书及其等效物界定。