FPGA寄存器TCO的测试方法与流程

文档序号:24339888发布日期:2021-03-19 12:21阅读:391来源:国知局
FPGA寄存器TCO的测试方法与流程

【技术领域】

本发明涉及测试技术领域,尤其涉及一种fpga寄存器tco的测试方法。



背景技术:

寄存器tco(globalclocktooutputdelay,时钟上升沿与输出端数据稳定输出的时间差)作为fpga的重要参数,目前的测试方法一般采用普通测试板,制作环振并通过示波器观察进行测试。

如图1所示,为现有技术中的一种环振测试tco测试设计原理图,该电路是为4个寄存器tco级联的测试原理图,gsr复位之后,te由0到1,tclk产生一个环振的时钟,其周期等于4个寄存器tco值之和,对应的时序图如图2所示,使用示波器观察tclk并记录其周期。

该测试方法存在以下缺点:

1、肉眼使用示波器观察,误差较大;

2、非自动化测试,人工测试效率低;

3、需要测试多个电压、多个温度的时候,测试时间较长;

4、无法与可自动化测试的参数一同测试,需单独使用示波器观察。



技术实现要素:

本发明的目的在于提供了一种用于实现fpga寄存器tco的测试方法。

为达到上述目的,本发明提供一种fpga寄存器tco的测试方法,用于所述fpga中寄存器tco的测试,所述测试方法包括以下步骤:步骤s1、生成用于所述寄存器tco测试的测试用例,所述测试用例包括位流文件和atp文件;步骤s2、根据所述测试用例执行所述寄存器tco的测试。

优选的,所述步骤s1包括:步骤s11、编写测试设计和约束文件,步骤s12、加载所述测试设计和约束文件,生成所述位流文件。

优选的,所述测试设计用于配置所述fpga的寄存器和引脚。

优选的,所述atp文件用于配置所述fpga的期望响应。

优选的,所述步骤s2包括:步骤s21、加载所述位流文件到所述fpga;步骤s22、加载所述atp文件到所述fpga;步骤s23、根据最小步进加大第一时钟信号的时钟布线延时,直至所述fpga的输出响应与所述期望响应匹配失败;步骤s24、记录匹配失败时所述第一时钟信号的时钟布线延时,根据时钟布线延时计算所述寄存器tco。

优选的,所述步骤s21之前包括:步骤s20、配置测试的初始时钟信号。

优选的,所述测试用例还包括lcf文件,所述lcf文件用于描述所述位流文件的输入输出端口与所述fpfa的引脚的对应关系。

本发明的有益效果在于:提供了一种fpga寄存器tco的测试方法,用以解决现有技术中肉眼观察示波器,产生误差较大、且手动测试花费时间长的问题,提高寄存器tco测试效率和准确性。

【附图说明】

图1为现有技术环振测试tco测试的原理图;

图2为现有技术环振测试tco测试的时序图;

图3为本发明实施例寄存器tco的测试方法的流程图;

图4为本发明实施例中测试用例的流程图;

图5为本发明实施例中执行所述寄存器tco的测试的流程图;

图6为本发明实施例的tco测试的原理图;

图7为本发明实施例的tco测试的时序图。

【具体实施方式】

下面结合附图和实施方式对本发明作进一步说明。

需要说明的是,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后、内、外、顶部、底部……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。

根据本发明实施例的一个方面,提供一种fpga(fieldprogrammablegatearray,可编程逻辑器)寄存器tco的测试方法,用于所述fpga中寄存器tco的测试,如图3所示,该测试方法包括:

s10、生成用于所述寄存器tco测试的测试用例;

s20、根据所述测试用例执行所述寄存器tco的测试。

其中,所述测试用例包括位流文件和atp文件。

在一可选的方案中,如图4所示,生成用于所述寄存器tco测试的测试用例,所述测试用例包括位流文件和atp文件包括:

s11、编写测试设计和约束文件;

s12、加载所述测试设计和约束文件,生成所述位流文件。

可选地,在本实施例中,所述测试设计用于配置所述fpga的寄存器和引脚(pad),所述fpga为待测fpga;加载所述测试设计和约束文件,通过fpga的eda工具生成所述位流文件。

可选地,在本实施例中,如图6所示,配置两列相邻的寄存器,共2n个寄存器;配置三个输入引脚,分别为第一引脚pad_clka、第二引脚pad_clkb、第三引脚pad_in,配置一个输出引脚pad_out。

可选地,在本实施例中,第一引脚pad_clka用于接收第一时钟信号clka,第二引脚pad_clkb用于接收第二时钟信号clkb,其中,第一时钟信号clka和第二时钟信号clkb的时钟周期相同、相位差180度,该时钟周期大于3n倍的tco,且定义该时钟周期为tclk;第三引脚pad_in用于接收第三时钟信号in。

可选地,在本实施例中,每个寄存器包括三个输入端,分别为第一输入端s、第二输入端l、第三输入端r;每个寄存器包括两个输出端,分别为输出端q、反向输出端

可选地,在本实施例中,两列相邻的寄存器分别组成第一列寄存器组和第二列寄存器组;其中,第二列寄存器组中寄存器为级联。

第一列寄存器组中每个寄存器的第一输入端s与第三引脚pad_in连接;第一列寄存器组中每个寄存器的第二输入端l与第二引脚pad_clkb连接;第二列寄存器组中每个寄存器的第一输入端s与第一列寄存器组中对应的寄存器的输出端q连接;第二列寄存器组中第一个寄存器的第二输入端l与第一引脚pad_clka连接;第二列寄存器组中下一寄存器的第二输入端l与第二列寄存器组中上一寄存器的输出端q连接;第一列寄存器组与第二列寄存器组中每个寄存器的第三输入端r与所述fpga的复位信号grs_n连接,复位信号grs_n为所述fpga的内部信号、用于进行全局复位;第二列寄存器组中最后一个寄存器的输出端q与输出引脚pad_out连接。

可选地,在本实施例中,所述约束文件用于将配置的寄存器约束到对应的lcm(configablelogicmodule,可编程逻辑单元)坐标,约束第二时钟信号clkb、第三时钟信号in走全局时钟网络,约束第一列寄存器组中每个寄存器的第一输入端s到第三引脚pad_in、约束第一列寄存器组中每个寄存器的第二输入端l到第二引脚pad_clkb、约束第二列寄存器组中第一个寄存器的第二输入端l到第一引脚pad_clka、约束第二列寄存器组中最后一个寄存器的输出端q到输出引脚pad_out。

可选地,在本实施例中,所述atp文件为测试激励与响应文件,用于配置测试激励和所述fpga的期望响应。仿真所述测试设计,输入测试激励生成期望响应,并根据所述约束文件编写atp文件。

在一可选的方案中,生成用于所述寄存器tco测试的测试用例,所述测试用例包括位流文件、atp文件和lcf文件。

可选地,在本实施例中,所述lcf文件为fpga输入输出(io)约束文件,用于描述位流文件的输入输出端口与fpfa的引脚的对应关系;便于输入激励的加载和响应的监测。

在一可选的方案中,如图5所示,根据所述测试用例执行所述寄存器tco的测试包括:

s21、加载所述位流文件到所述fpga;

s22、加载所述atp文件到所述fpga,并且监测输出响应,将输出响应和atp文件的期望响应进行对比;

s23、根据最小步进加大第一时钟信号的时钟布线延时,直至所述fpga的输出响应与所述期望响应匹配失败;

s24、记录匹配失败时所述第一时钟信号的时钟布线延时的数值,根据时钟布线延时计算所述寄存器tco。

根据所述测试用例执行所述寄存器tco的测试还包括在加载所述位流文件到所述fpga之前的:s20、配置测试的初始时钟信号。

在一可选的方案中,fpga寄存器tco的测试方法,基于ate(automatictestequipment,集成电路自动测试机)用于所述fpga中寄存器tco的测试,如图3所示,该测试方法包括:

s100、生成用于所述寄存器tco测试的测试用例,所述测试用例包括位流文件、atp文件和lcf文件。

s200、根据所述测试用例执行所述寄存器tco的测试。

可选地,在本实施例中,生成用于所述寄存器tco测试的测试用例,所述测试用例包括位流文件、atp文件和lcf文件包括:

s110、编写测试设计和约束文件;

s120、加载所述测试设计和约束文件,通过fpga的eda工具生成所述位流文件。

可选地,在本实施例中,所述测试设计用于配置所述fpga的寄存器和引脚(pad),所述fpga为待测fpga;加载所述测试设计和约束文件,通过fpga的eda工具生成所述位流文件。

所述atp文件为测试激励与响应文件,用于配置测试激励和所述fpga的期望响应。仿真所述测试设计,输入测试激励生成期望响应,并根据所述约束文件编写atp文件。

所述lcf文件为fpga输入输出(io)约束文件,用于描述位流文件的输入输出端口与fpfa的引脚的对应关系;所述lcf文件用以查找对应的pad约束到fpga的哪个引脚,方便ate加载激励和检测响应。

可选地,在本实施例中,如图6和7所示,配置两列相邻的寄存器,共2n个寄存器;配置三个输入引脚,分别为第一引脚pad_clka、第二引脚pad_clkb、第三引脚pad_in,配置一个输出引脚pad_out。

第一引脚pad_clka用于接收第一时钟信号clka,第二引脚pad_clkb用于接收第二时钟信号clkb,其中,第一时钟信号clka和第二时钟信号clkb的时钟周期相同、相位差180度,该时钟周期大于3n倍的tco,且定义该时钟周期为tclk。第三引脚pad_in用于接收第三时钟信号in。

可选地,在本实施例中,每个寄存器包括三个输入端,分别为第一输入端s、第二输入端l、第三输入端r;每个寄存器包括两个输出端,分别为输出端q、反向输出端

可选地,在本实施例中,两列相邻的寄存器分别组成第一列寄存器组和第二列寄存器组;其中,第二列寄存器组中寄存器为级联。

第一列寄存器组中每个寄存器的第一输入端s与第三引脚pad_in连接;第一列寄存器组中每个寄存器的第二输入端l与第二引脚pad_clkb连接;第二列寄存器组中每个寄存器的第一输入端s与第一列寄存器组中对应的寄存器的输出端q连接;第二列寄存器组中第一个寄存器的第二输入端l与第一引脚pad_clka连接;第二列寄存器组中下一寄存器的第二输入端l与第二列寄存器组中上一寄存器的输出端q连接;第一列寄存器组与第二列寄存器组中每个寄存器的第三输入端r与所述fpga的复位信号grs_n连接,复位信号grs_n为所述fpga的内部信号、用于进行全局复位;第二列寄存器组中最后一个寄存器的输出端q与输出引脚pad_out连接。

可选地,在本实施例中,所述约束文件用于将配置的寄存器约束到对应的lcm(configablelogicmodule,可编程逻辑单元)坐标,约束第二时钟信号clkb、第三时钟信号in走全局时钟网络,约束第一列寄存器组中每个寄存器的第一输入端s到第三引脚pad_in、约束第一列寄存器组中每个寄存器的第二输入端l到第二引脚pad_clkb、约束第二列寄存器组中第一个寄存器的第二输入端l到第一引脚pad_clka、约束第二列寄存器组中最后一个寄存器的输出端q到输出引脚pad_out。

可选地,在本实施例中,经第一引脚pad_clka的第一时钟信号clka到第二列寄存器组中第一个寄存器的第二输入端l的时钟布线延时定义为tda;经第二引脚pad_clkb的第二时钟信号clkb到第一列寄存器组中每个寄存器的第二输入端l的时钟布线延时定义为tdb;第一时钟信号clka和第二时钟信号clkb工作时的实际相位差定义为tab,实际相位差的值tab=tclk/2+tdb-tda;第三时钟信号in选取中间一个时钟周期为高,其余时钟周期为低的激励,且其上升下降沿均在第二时钟信号clkb的下降沿变化,经第三引脚pad_in的第三时钟信号in到第一列寄存器组中每个寄存器的第一输入端s的时钟布线delay定义为tin,由于|tin-tdb|远远小于第二时钟信号clkb的半个周期,所以第二时钟信号clkb均可以采到稳定的数据;第一列寄存器组中每个的寄存器的输出端q到第二列寄存器组中对应的寄存器的第一输入端s布线均一致,时钟布线延时定义为tb;且第二列寄存器组中寄存器的第一输入端s时序一致,故定义为in1;第二列寄存器组中上一寄存器的输出端q到第二列寄存器组中下一寄存器的第二输入端l的时钟布线delay总和定义为ta;当测试寄存器tco的倍数n为1至6或者1至8个时,可全部选择在一个clm(一个clm内部有6个或者8个寄存器)内部的寄存器,上述各时钟布线delay均可根据时钟布线路径进行统计;由于ate(也称机台)也有对应的精度,其中n越大,测试寄存器tco的精度越高。

本发明的fpga寄存器tco的测试方法,基于ate自动化测试fpga的寄存器tco,用以解决现有技术中肉眼观察示波器,产生误差较大、且手动测试花费时间长的问题,提高寄存器tco测试效率和准确性。

可选地,在本实施例中,根据所述测试用例执行所述寄存器tco的测试包括:

s200、配置测试的初始时钟信号;

s210、加载所述位流文件到所述fpga;

s220、加载所述atp文件到所述fpga,并且监测输出响应,将输出响应和atp文件的期望响应进行对比;

s230、根据ate的最小步进加大第一时钟信号的时钟布线延时,直至所述fpga的输出响应与所述期望响应匹配失败;

s240、记录匹配失败时所述第一时钟信号的时钟布线延时的数值tadd,根据时钟布线延时计算所述寄存器tco=(tclk/2+tdb+tb-tda-ta-tadd)/n-1。

根据所述测试用例执行所述寄存器tco的测试还包括在配置测试的初始时钟信号之前的配置测试的温度、电压。

上述步骤s200至s240生成测试程序,用于ate执行测试程序。

本发明的fpga寄存器tco的测试方法,将位流文件配置到待测fpga,通过ate载入激励、并捕获响应,将得到的输出响应与期望响应对比,以ate的最小步进逐渐加大第一时钟信号clka的时钟布线延时,使tab逐渐减小,直到qn-2无法采到in1的1,out为0,此时得到的输出响应与期望响应对比失败,记录此刻加载第一时钟信号clka的时钟布线delay,定义为tadd,并根据公式tco=(tclk/2+tdb+tb-tda-ta-tadd)/n-1计算tco的数值,并生成测试报告。

以上所述的仅是本发明的实施方式,在此应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1