【具体实施方式】
下面结合附图和实施方式对本发明作进一步说明。
需要说明的是,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后、内、外、顶部、底部……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
参考图1所示,本发明实施例提供一种FPGA的测试方法,用于FPGA器件的POR测试,所述方法包括以下步骤,
步骤S1、通过脚本读取测试文件,所述测试文件包括测试参数和测试功能点;
步骤S2、通过测试文件配置测试模式;
步骤S3、对所述FPGA器件根据所述测试模式进行POR测试。
其中,所述测试参数包含测试位流的路径、名称、直流电源的通道和电压、示波器的通道等信息。所述测试功能点包括对Vcc(内核电源)、Vcca(辅助电源)、Vcc_DRM(电源供电电压)、Vccio_cfg(配置相关电源)供电的电压以不同方式(例如顺序、快慢、次数)进行上/下电。
进一步的,所述测试模式包括,测试模式M1、测试模式M2、测试模式M3和测试模式M4。
测试模式M1:
限流条件下,按照第一供电时序序列依次对所述FPGA进行上电,并在每次上电后判断所述FPGA是否上电成功,实现对所述FPGA在不同供电(上电)场景下的测试。其中,通过设置电压变化时电流的limit为最大值(例如100mA),即为限流条件。
每次上电后判断所述FPGA是否上电成功,具体为判断所述FPGA的Init是否拉高、done是否拉低、位流下载成功。当上述三个条件均满足时,所述FPGA上电成功。其中,位流下载成功通过Python脚本读取返回值,当返回值为0时,即为位流下载成功。通过示波器获取Init、done信号的返回值,并通过脚本读取至PC的log文件中。
所述第一供电时序序列包括Vcc、Vcc_DRM、Vcca、Vccio_cfg根据排列组合构成的24种上电时序。
具体的,所述第一供电时序序列包括Vcc→Vcc_DRM→Vcca→Vccio_cfg顺序上电、Vcc→Vcc_DRM→Vccio_cfg→Vcca顺序上电、Vcc→Vcca→Vcc_DRM→Vccio_cfg顺序上电、Vcc→Vcca→Vccio_cfg→Vcc_DRM顺序上电、Vcc→Vccio_cfg→Vcc_DRM→Vcca顺序上电、Vcc→Vccio_cfg→Vcca→Vcc_DRM顺序上电、Vcc_DRM→Vcc→Vcca→Vccio_cfg顺序上电、Vcc_DRM→Vcc→Vccio_cfg→Vcca顺序上电、Vcc_DRM→Vcca→Vcc→Vccio_cfg顺序上电、Vcc_DRM→Vcca→Vccio_cfg→Vcc顺序上电、Vcc_DRM→Vccio_cfg→Vcc→Vcca顺序上电、Vcc_DRM→Vccio_cfg→Vcca→Vcc顺序上电、Vcca→Vcc→Vcc_DRM→Vccio_cfg顺序上电、Vcca→Vcc→Vccio_cfg→Vcc_DRM顺序上电、Vcca→Vcc_DRM→Vcc→Vccio_cfg顺序上电、Vcca→Vcc_DRM→Vccio_cfg→Vcc顺序上电、Vcca→Vccio_cfg→Vcc→Vcc_DRM顺序上电、Vcca→Vccio_cfg→Vcc_DRM→Vcc顺序上电、Vccio_cfg→Vcc→Vcc_DRM→Vcca顺序上电、Vccio_cfg→Vcc→Vcca→Vcc_DRM顺序上电、Vccio_cfg→Vcc_DRM→Vcc→Vcca顺序上电、Vccio_cfg→Vcc_DRM→Vcca→Vcc顺序上电、Vccio_cfg→Vcca→Vcc→Vcc_DRM顺序上电、Vccio_cfg→Vcca→Vcc_DRM→Vcc顺序上电等24种上电时序。
具体的,上述测试模式M1的步骤包括:
步骤S101、限流条件下,对所述FPGA按照Vcc→Vcc_DRM→Vcca→Vccio_cfg顺序上电;
步骤S1010、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S102,否则重复执行步骤S101。
步骤S102、限流条件下,对所述FPGA按照Vcc→Vcc_DRM→Vccio_cfg→Vcca顺序上电;
步骤S1020、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S103,否则重复执行步骤S102。
步骤S103、限流条件下,对所述FPGA按照Vcc→Vcca→Vcc_DRM→Vccio_cfg顺序上电;
步骤S1030、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S104,否则重复执行步骤S103。
步骤S104、限流条件下,对所述FPGA按照Vcc→Vcca→Vccio_cfg→Vcc_DRM顺序上电;
步骤S1040、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S105,否则重复执行步骤S104。
步骤S105、限流条件下,对所述FPGA按照Vcc→Vccio_cfg→Vcc_DRM→Vcca顺序上电;
步骤S1050、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S106,否则重复执行步骤S105。
步骤S106、限流条件下,对所述FPGA按照Vcc→Vccio_cfg→Vcca→Vcc_DRM顺序上电;
步骤S1060、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S107,否则重复执行步骤S106。
步骤S107、限流条件下,对所述FPGA按照Vcc_DRM→Vcc→Vcca→Vccio_cfg顺序上电;
步骤S1070、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S108,否则重复执行步骤S107。
步骤S108、限流条件下,对所述FPGA按照Vcc_DRM→Vcc→Vccio_cfg→Vcca顺序上电;
步骤S1080、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S109,否则重复执行步骤S108。
步骤S109、限流条件下,对所述FPGA按照Vcc_DRM→Vcca→Vcc→Vccio_cfg顺序上电;
步骤S1090、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S110,否则重复执行步骤S109。
步骤S110、限流条件下,对所述FPGA按照Vcc_DRM→Vcca→Vccio_cfg→Vcc顺序上电;
步骤S1100、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S111,否则重复执行步骤S110。
步骤S111、限流条件下,对所述FPGA按照Vcc_DRM→Vccio_cfg→Vcc→Vcca顺序上电;
步骤S1110、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S112,否则重复执行步骤S111。
步骤S112、限流条件下,对所述FPGA按照Vcc_DRM→Vcca→Vccio_cfg→Vcc顺序上电;
步骤S1120、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S113,否则重复执行步骤S112。
步骤S113、限流条件下,对所述FPGA按照Vcca→Vcc→Vcc_DRM→Vccio_cfg顺序上电;
步骤S1130、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S114,否则重复执行步骤S113。
步骤S114、限流条件下,对所述FPGA按照Vcca→Vcc→Vccio_cfg→Vcc_DRM顺序上电;
步骤S1140、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S115,否则重复执行步骤S114。
步骤S115、限流条件下,对所述FPGA按照Vcca→Vcc_DRM→Vcc→Vccio_cfg顺序上电;
步骤S1150、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S116,否则重复执行步骤S115。
步骤S116、限流条件下,对所述FPGA按照Vcca→Vcc_DRM→Vccio_cfg→Vcc顺序上电;
步骤S1160、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S117,否则重复执行步骤S116。
步骤S117、限流条件下,对所述FPGA按照Vcca→Vccio_cfg→Vcc→Vcc_DRM顺序上电;
步骤S1170、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S118,否则重复执行步骤S117。
步骤S118、限流条件下,对所述FPGA按照Vcca→Vccio_cfg→Vcc_DRM→Vcc顺序上电;
步骤S1180、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S119,否则重复执行步骤S118。
步骤S119、限流条件下,对所述FPGA按照Vccio_cfg→Vcc→Vcc_DRM→Vcca顺序上电;
步骤S1190、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S120,否则重复执行步骤S119。
步骤S120、限流条件下,对所述FPGA按照Vccio_cfg→Vcc→Vcca→Vcc_DRM顺序上电;
步骤S1200、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S121,否则重复执行步骤S120。
步骤S121、限流条件下,对所述FPGA按照Vccio_cfg→Vcc_DRM→Vcc→Vcca顺序上电;
步骤S1210、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S122,否则重复执行步骤S121。
步骤S122、限流条件下,对所述FPGA按照Vccio_cfg→Vcc_DRM→Vcca→Vcc顺序上电;
步骤S1220、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S123,否则重复执行步骤S122。
步骤S123、限流条件下,对所述FPGA按照Vccio_cfg→Vcca→Vcc→Vcc_DRM顺序上电;
步骤S1230、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则执行步骤S124,否则重复执行步骤S123。
步骤S124、限流条件下,对所述FPGA按照Vccio_cfg→Vcca→Vcc_DRM→Vcc顺序上电;
步骤S1240、判断所述FPGA的Init是否拉高、done是否拉低、位流下载是否成功;当判断结果为是时,则所述FPGA通过测试,否则重复执行步骤S124。
通过上述测试模式M1的步骤,从而实现对所述FPGA在不同上电时序场景下的测试,即测试所述FPGA在不同上电时序场景下是否上电成功。
测试模式M2:
按照第二上电序列依次对所述FPGA进行上电或按照第二下电序列依次对所述FPGA进行下电,分别进行上电扫描或下电扫描,并在每次上电或下电后判断所述FPGA是否上电或下电成功。
所述上电扫描为从0V到上电门限电压(trip up point)扫描,如果对所述FPGA上电的电压超过trip up point即可上电成功,反之,上电没有成功;该上电扫描具体为在测试时,对所述FPGA上电从0V一点点攀升到上电门限电压,直至上电成功,并输出对所述FPGA上电的上电门限电压。
所述下电扫描为从额定电压到下电门限电压(trip down point)扫描,如果对所述FPGA下电的电压低于trip up point即可下电成功,反之,下电没有成功;该下电扫描具体为在测试时,对所述FPGA下电从额定电压到一点点下降到下电门限电压,直至下电成功,并输出对所述FPGA下电的下电门限电压。
每次上电或下电后判断所述FPGA是否上电或下电成功,具体为判断所述FPGA的Init是否拉高、done是否拉低、上电门限电压或下电门限电压是否在阈值(Spec)范围内。当上述三个条件均满足时,所述FPGA上电或下电成功。
所述第二上电序列包括快上电Vcc、快上电Vcc_DRM、快上电Vcca、快上电Vccio_cfg、慢上电Vcc、慢上电Vcc_DRM、慢上电Vcca、慢上电Vccio_cfg等8种上电场景;所述第二下电序列包括快下电Vcc、快下电Vcc_DRM、快下电Vcca、快下电Vccio_cfg、慢下电Vcc、慢下电Vcc_DRM、慢下电Vcca、慢下电Vccio_cfg等8种下电场景。
具体的,上述测试模式M2的步骤包括:
步骤S201、对所述FPGA的Vcc快上电、并进行上电扫描,上电后输出上电门限电压;
步骤S2010、判断所述FPGA的Init是否拉高、done是否拉低、上电门限电压是否在阈值范围内;当判断结果为是时,则执行步骤S202,否则重复执行步骤S201。
步骤S202、对所述FPGA的Vcc慢上电、并进行上电扫描,上电后输出上电门限电压;
步骤S2020、判断所述FPGA的Init是否拉高、done是否拉低、上电门限电压是否在阈值范围内;当判断结果为是时,则执行步骤S203,否则重复执行步骤S202。
步骤S203、对所述FPGA的Vcc_DRM快上电、并进行上电扫描,上电后输出上电门限电压;
步骤S2030、判断所述FPGA的Init是否拉高、done是否拉低、上电门限电压是否在阈值范围内;当判断结果为是时,则执行步骤S204,否则重复执行步骤S203。
步骤S204、对所述FPGA的Vcc_DRM慢上电、并进行上电扫描,上电后输出上电门限电压;
步骤S2040、判断所述FPGA的Init是否拉高、done是否拉低、上电门限电压是否在阈值范围内;当判断结果为是时,则执行步骤S205,否则重复执行步骤S204。
步骤S205、对所述FPGA的Vcca快上电、并进行上电扫描,上电后输出上电门限电压;
步骤S2050、判断所述FPGA的Init是否拉高、done是否拉低、上电门限电压是否在阈值范围内;当判断结果为是时,则执行步骤S206,否则重复执行步骤S205。
步骤S206、对所述FPGA的Vcca慢上电、并进行上电扫描,上电后输出上电门限电压;
步骤S2060、判断所述FPGA的Init是否拉高、done是否拉低、上电门限电压是否在阈值范围内;当判断结果为是时,则执行步骤S207,否则重复执行步骤S206。
步骤S207、对所述FPGA的Vccio_cfg快上电、并进行上电扫描,上电后输出上电门限电压;
步骤S2070、判断所述FPGA的Init是否拉高、done是否拉低、上电门限电压是否在阈值范围内;当判断结果为是时,则执行步骤S208,否则重复执行步骤S207。
步骤S208、对所述FPGA的Vccio_cfg慢上电、并进行上电扫描,上电后输出上电门限电压;
步骤S2080、判断所述FPGA的Init是否拉高、done是否拉低、上电门限电压是否在阈值范围内;当判断结果为是时,则执行步骤S209,否则重复执行步骤S208。
步骤S209、对所述FPGA的Vcc快下电、并进行下电扫描,下电后输出下电门限电压;
步骤S2090、判断所述FPGA的Init是否拉高、done是否拉低、下电门限电压是否在阈值范围内;当判断结果为是时,则执行步骤S210,否则重复执行步骤S209。
步骤S210、对所述FPGA的Vcc慢下电、并进行下电扫描,下电后输出下电门限电压;
步骤S2100、判断所述FPGA的Init是否拉高、done是否拉低、下电门限电压是否在阈值范围内;当判断结果为是时,则执行步骤S211,否则重复执行步骤S210。
步骤S211、对所述FPGA的Vcc_DRM快下电、并进行下电扫描,下电后输出下电门限电压;
步骤S2110、判断所述FPGA的Init是否拉高、done是否拉低、下电门限电压是否在阈值范围内;当判断结果为是时,则执行步骤S212,否则重复执行步骤S211。
步骤S212、对所述FPGA的Vcc_DRM慢下电、并进行下电扫描,下电后输出下电门限电压;
步骤S2120、判断所述FPGA的Init是否拉高、done是否拉低、下电门限电压是否在阈值范围内;当判断结果为是时,则执行步骤S213,否则重复执行步骤S212。
步骤S213、对所述FPGA的Vcca快下电、并进行下电扫描,下电后输出下电门限电压;
步骤S2130、判断所述FPGA的Init是否拉高、done是否拉低、下电门限电压是否在阈值范围内;当判断结果为是时,则执行步骤S214,否则重复执行步骤S213。
步骤S214、对所述FPGA的Vcca慢下电、并进行下电扫描,下电后输出下电门限电压;
步骤S2140、判断所述FPGA的Init是否拉高、done是否拉低、下电门限电压是否在阈值范围内;当判断结果为是时,则执行步骤S215,否则重复执行步骤S214。
步骤S215、对所述FPGA的Vccio_cfg快下电、并进行下电扫描,下电后输出下电门限电压;
步骤S2150、判断所述FPGA的Init是否拉高、done是否拉低、下电门限电压是否在阈值范围内;当判断结果为是时,则执行步骤S216,否则重复执行步骤S215。
步骤S216、对所述FPGA的Vccio_cfg慢下电、并进行下电扫描,下电后输出下电门限电压;
步骤S2160、判断所述FPGA的Init是否拉高、done是否拉低、下电门限电压是否在阈值范围内;当判断结果为是时,则所述FPGA通过测试,否则重复执行步骤S216。
通过上述测试模式M2的步骤,从而实现对所述FPGA在快上电、慢上电、快下电或慢下电场景下的测试,即测试所述FPGA在不同上电或下电场景下是否上电成功。
测试模式M3:
按照第三上电序列依次对所述FPGA进行上电或按照第三下电序列依次对所述FPGA进行下电,分别收集每次上电或下电过程中所述FPGA的电流数据,并在每次上电或下电后判断所述FPGA是否上电或下电成功,实现对所述FPGA在不同供电场景下的测试。其中,上电过或下电过程中会有一个电流脉冲,当脉冲处于波峰时的幅度值为最大电流,该电流通过示波器进行收集。
每次上电或下电后判断所述FPGA是否上电或下电成功,具体为判断所述FPGA的Init是否拉高、done是否拉低、电流是否正常。当上述三个条件均满足时,所述FPGA上电或下电成功。
其中,所述FPGA在上电过程中电流会从0mA变化到1A,当回落到几十至几百mA时,如果电流始终保持超过1A,则判定存在大电流,反之判定不存在大电流;所述FPGA在上电过程中若出现其他电流脉冲,则判定存在异常电流,反之,则判定不存在异常电流。所述FPGA在下电过程中电流会从几十至几百mA时变化到-1A,如果电流始终保持超过-1A,则判定存在大电流,反之判定不存在大电流;所述FPGA在下电过程中若出现其他反向电流脉冲,则判定存在异常电流,反之,则判定不存在异常电流。
所述第三上电序列包括Vcc先于Vccio_cfg快上电、Vccio_cfg先于Vcc快上电、Vcc与Vccio_cfg同时快上电、Vcc先于Vccio_cfg慢上电、Vccio_cfg先于Vcc慢上电、Vcc与Vccio_cfg同时慢上电等6种上电场景;所述第三下电序列包括Vcc先于Vccio_cfg快下电、Vccio_cfg先于Vcc快下电、Vcc与Vccio_cfg同时快下电、Vcc先于Vccio_cfg慢下电、Vccio_cfg先于Vcc慢下电、Vcc与Vccio_cfg同时慢下电等6种下电场景。
具体的,上述测试模式M3的步骤包括:
步骤S301、对所述FPGA的Vcc先于Vccio_cfg进行快上电,收集所述FPGA的电流数据。
步骤S3010、判断所述FPGA的Init是否拉高、done是否拉低、电流是否正常;当判断结果为是时,则执行步骤S302,否则重复执行步骤S301。
步骤S302、对所述FPGA的Vccio_cfg先于Vcc进行快上电,收集所述FPGA的电流数据。
步骤S3020、判断所述FPGA的Init是否拉高、done是否拉低、电流是否正常;当判断结果为是时,则执行步骤S303,否则重复执行步骤S302。
步骤S303、对所述FPGA的Vcc与Vccio_cfg同时进行快上电,收集所述FPGA的电流数据。
步骤S3030、判断所述FPGA的Init是否拉高、done是否拉低、电流是否正常;当判断结果为是时,则执行步骤S304,否则重复执行步骤S303。
步骤S304、对所述FPGA的Vcc先于Vccio_cfg进行慢上电,收集所述FPGA的电流数据。
步骤S3040、判断所述FPGA的Init是否拉高、done是否拉低、电流是否正常;当判断结果为是时,则执行步骤S305,否则重复执行步骤S304。
步骤S305、对所述FPGA的Vccio_cfg先于Vcc进行慢上电,收集所述FPGA的电流数据。
步骤S3050、判断所述FPGA的Init是否拉高、done是否拉低、电流是否正常;当判断结果为是时,则执行步骤S306,否则重复执行步骤S305。
步骤S306、对所述FPGA的Vcc与Vccio_cfg同时进行慢上电,收集所述FPGA的电流数据。
步骤S3060、判断所述FPGA的Init是否拉高、done是否拉低、电流是否正常;当判断结果为是时,则执行步骤S307,否则重复执行步骤S306。
步骤S307、对所述FPGA的Vcc先于Vccio_cfg进行快下电,收集所述FPGA的电流数据。
步骤S3070、判断所述FPGA的Init是否拉高、done是否拉低、电流是否正常;当判断结果为是时,则执行步骤S308,否则重复执行步骤S307。
步骤S308、对所述FPGA的Vccio_cfg先于Vcc进行快下电,收集所述FPGA的电流数据。
步骤S3080、判断所述FPGA的Init是否拉高、done是否拉低、电流是否正常;当判断结果为是时,则执行步骤S309,否则重复执行步骤S308。
步骤S309、对所述FPGA的Vcc与Vccio_cfg同时进行快下电,收集所述FPGA的电流数据。
步骤S3090、判断所述FPGA的Init是否拉高、done是否拉低、电流是否正常;当判断结果为是时,则执行步骤S310,否则重复执行步骤S309。
步骤S310、对所述FPGA的Vcc先于Vccio_cfg进行慢下电,收集所述FPGA的电流数据。
步骤S3100、判断所述FPGA的Init是否拉高、done是否拉低、电流是否正常;当判断结果为是时,则执行步骤S311,否则重复执行步骤S310。
步骤S311、对所述FPGA的Vccio_cfg先于Vcc进行慢下电,收集所述FPGA的电流数据。
步骤S3110、判断所述FPGA的Init是否拉高、done是否拉低、电流是否正常;当判断结果为是时,则执行步骤S312,否则重复执行步骤S311。
步骤S312、对所述FPGA的Vcc与Vccio_cfg同时进行慢下电,收集所述FPGA的电流数据。
步骤S3120、判断所述FPGA的Init是否拉高、done是否拉低、电流是否正常;当判断结果为是时,则所述FPGA通过测试、输出电流数据,否则重复执行步骤S312。
通过上述测试模式M3的步骤,从而实现对所述FPGA在不同上电、下电场景下的测试,即测试所述FPGA在不同的上电、下电场景下是否上电成功。
测试模式M4:
对所述FPGA的Vcc反复上下电,并在反复上下电后判断所述FPGA是否FPGA损伤。
具体的,上述测试模式M4的步骤包括:
步骤S401、对所述FPGA的Vcc快上电、并保持上电1S后快下电;步骤S401重复1000次;
步骤S4010、判断FPGA是否正常上电,并配置位流;当判断结果为是时,则所述FPGA通过测试,否则所述FPGA损伤。
本发明实施例提供的FPGA的测试方法,通过脚本读取测试文件并配置测试模式,对所述FPGA器件进行POR测试,并在每项测试后通过脚本自动判断及抓取数据输出,使得测试结果更精确。进一步的,在芯片流片回片后快速检测芯片在多种场景下的上电/下电状态及POR电路是否存在缺陷。
基于同一发明构思,本发明实施例中还提供了一种FPGA的测试系统,用于FPGA器件的POR测试,如下面的实施例。由于FPGA的测试系统解决问题的原理与FPGA的测试方法相似,因此FPGA的测试系统的实施可以参见FPGA的测试方法的实施,重复之处不再赘述。
所述测试系统包括测试板、芯片(待测FPGA)、PC以及设备;所述芯片设置在所述测试板上,所述测试板与所述PC电连接,所述PC与所述设备电连接。
具体的,所述测试板上设有socket夹具,将所述芯片放置在socket夹具中,使所述芯片的底部焊球与所述测试板的触点相互接触,从而实现信号传输。
所述测试板上设有JTGA接口,通过cable与所PC的接口电连接,通过与FPGA适配的软件进行配置位流。
其中,所述测试板、芯片与设备的连接方式为:通过所述测试板将芯片的引脚引出,所述设备通过SMA、探头或表笔等探测测试板上的信号。
其中,所述PC与设备的连接方式为:通过USB接口或者NI采集卡(将设备的GPIB接口转为USB接口)与所述PC的USB接口电连接。
具体的,所述设备包括直流电源、示波器。
所述PC的USB接口通过NI采集卡转化为设备的GPIB接口,从而实现PC与设备(直流电源、示波器)的电连接。
通过在所述PC运行python脚本,其中,所述python脚本的执行过程调用Visa(虚拟仪器软件结构)库,以查找设备的连接情况、发送指令、返回参数等,从而实现自动化控制设备。
所述测试系统还包括运行其上的FPGA的测试方法,用于FPGA器件的POR测试,所述方法包括以下步骤,
步骤S1、通过脚本读取测试文件,所述测试文件包括测试参数和测试功能点。所述测试文件(case.txt),其存储在所述PC的自动化目录下。
步骤S2、通过测试文件配置测试模式。
步骤S3、对所述FPGA器件根据所述测试模式进行POR测试。
其中,步骤S1之前还包括测试环境准备阶段和自动化环境准备阶段。
所述测试环境准备阶段为,配置并连接所述测试板、芯片、PC以及设备;
所述自动化环境准备阶段为,所述PC通过GPIB接口与所述设备电连接。
其中,所述测试参数包含测试位流的路径、名称、直流电源的通道和电压、示波器的通道等信息。所述测试功能点包括对Vcc、VccDRM、Vcca、Vccio_cfg供电的电压以不同方式(例如顺序、快慢、次数)进行上/下电。
本发明实施例的测试系统通过python脚本将把所述测试参数读取后配置给所述设备,并根据测试模式进行POR测试,实现自动化操作。
以上所述的仅是本发明的实施方式,在此应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。