CN111338326A - 一种fpga通用io接口测试的设备和方法 - Google Patents
一种fpga通用io接口测试的设备和方法 Download PDFInfo
- Publication number
- CN111338326A CN111338326A CN202010263048.7A CN202010263048A CN111338326A CN 111338326 A CN111338326 A CN 111338326A CN 202010263048 A CN202010263048 A CN 202010263048A CN 111338326 A CN111338326 A CN 111338326A
- Authority
- CN
- China
- Prior art keywords
- test
- module
- tested
- fpga2
- fpga
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 254
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000005284 excitation Effects 0.000 claims abstract description 43
- 238000011056 performance test Methods 0.000 claims abstract description 20
- 238000005070 sampling Methods 0.000 claims abstract description 5
- 239000013598 vector Substances 0.000 claims abstract description 5
- 230000001276 controlling effect Effects 0.000 claims description 23
- 230000009191 jumping Effects 0.000 claims description 10
- 238000004088 simulation Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 9
- 230000000875 corresponding effect Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 8
- 239000002245 particle Substances 0.000 claims description 4
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 238000010998 test method Methods 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 5
- 238000012216 screening Methods 0.000 abstract description 4
- 230000008859 change Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 4
- 238000011990 functional testing Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 101150071746 Pbsn gene Proteins 0.000 description 1
- 101100381996 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) BRO1 gene Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 150000003071 polychlorinated biphenyls Chemical class 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0224—Process history based detection method, e.g. whereby history implies the availability of large amounts of data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24065—Real time diagnostics
Abstract
本发明公开了一种FPGA通用IO接口测试的设备和方法,包括工控机和测试硬件平台;所述的测试硬件平台包括电源模块电路、信号源模块电路、测试夹具、激励FPGA1,A/D采集模块电路、控制CPU、LAN接口电路和IO性能测试接口电路。本发明通过工控机作为系统上位机,同时通过下位机CPU控制信号源电路模块产生同源时钟系统时钟,激励FPGA1中的并行配置控制器加载待测试FPGA2测试用例,激励FPGA1中的测试向量随待测试FPGA2测试用例而变化,从而实现FPGA芯片通用IO接口研制和筛选抽测阶段的一种全功能,关键性能参数测试,低成本且有效的测试。
Description
技术领域
本发明涉及接口测试技术领域,尤其涉及一种FPGA通用IO接口测试的设备和方法。
背景技术
目前,FPGA的通用IO接口测试包括功能测试和性能测试,通用IO口的功能测试包括: IO口组合电路功能测试、三态门功能测试等。性能测试包括直流参数,交流参数的测试。
通常FPGA芯片流片回来后需要对FPGA芯片进行功能和性能的全覆盖测试,芯片的测试是FPGA芯片设计生产中相当重要的环节,芯片的测试往往有多种方案,例如搭建电路板连接专项测试仪器进行特定方面的功能和性能测试,使用专业的自动测试仪ATE进行测试,或者针对测试项目自行设计专用测试设备进行测试等。
规模化成品芯片的测试,如FPGA片内常规资源(CLB、BRAM、DSP、IO等)的功能测试一般采用ATE测试,这也是目前业界测试所采用的一种常规测试方法,但这种测试需要使用的测试机台的费用非常昂贵,而且主要是进行功能测试,并不能进行性能测试。如果要进行通用IO的关键性能测试,如最大工作速率,频域方面的参数特性,IO口模拟电平参数等则由于ATE的性能指标不够,其无法实现。
尤其在FPGA芯片前期研制阶段和筛选抽测阶段,实际是仅需对FPGA芯片的功能进行全覆盖测试,关键性能参数进行测试,如最大工作速率,输入输出交直流电平参数等。现有的设备中,使用通用的专项测试仪器,对FPGA芯片通用IO接口进行测试时,可以完成这些测试,但上述测试也存在使用仪器种类过多,测试仪器价格昂贵,测试成本过高的问题。尤其是在整个研制和和筛选抽测阶段,均采用专项测试仪器,会导致测试过度的问题,而且此阶段测试的FPGA加载通常是通过USB JTAG重复下载,此下载方式和并行配置方式相比较而言,配置时间花费过多,而且工作处于串行工作方式,导致测试时间过长。
使用现有的测试装置对工厂流片回来的FPGA芯片通用IO接口参数进行测试时,使用ATE测试机台进行测试时存在ATE测试机台一般适用于低频段功能测试,对性能测试,尤其是交流参数测试时,测试精度较低,频率参数不能够覆盖通用IO口参数的全频率段的问题。另外ATE测试存在成本昂贵的问题,通常适用于批量化、规模化测试。在芯片试制摸底阶段,并不能够满足通用IO模块快速摸底测试的需求。
因此需要设计一种专用的FPGA通用IO测试硬件平台,克服现有测试平台需要测试仪器数量多、测试成本高和测试效率低的问题。
本发明的目的在于通过专用软件、自行研发的FPGA通用IO测试硬件平台。在通用IO测试硬件平台上包含电源模块、信号源模块、A/D数据采集模块、误码测试模块等功能模块,在PCB上完成专项测试仪器的主要测试功能,从而减少通用测试仪器的使用,降低成本,实现全自动化测试。采用软件控制方式,全自动的实现对常规IO口芯片功能全覆盖测试,关键性能参数的测试,减少专项测试仪器的使用,缩短测试时间,大幅度提高在研制和抽测阶段FPGA芯片通用IO口的测试效率。
发明内容
本发明的目的是提供一种FPGA通用IO接口测试的设备和方法,能够完成专项仪器的主要测试功能,从而减少通用测试仪器的使用,降低成本实现全自动化测试。
本发明采用的技术方案为:
一种FPGA通用IO接口测试的设备,包括工控机和用于FPGA的IO口测试的硬件平台,工控机与测试硬件平台之间通过RJ-45网络接口进行连接,测试硬件平台上的CPU软件加载Light Weight Internet Protoco1协议栈;
所述的测试硬件平台包括组成有提供各种电源的电源模块电路、用于产生系统时钟的信号源模块电路、用于固定连接待测试FPGA2的夹具、激励FPGA1,用于采样待测中IO口输入输出电平参数的A/D采集模块电路、控制CPU(STM32F103RCT6)、LAN接口电路和用于测试IO的模拟参数的IO口性能测试接口电路;所述的LAN接口电路通过控制CPU与激励FPGA1连接,控制CPU分别通过PCB板上线路与信号源发生器模块、激励FPGA1、待测试FPGA2夹具直接相连;夹具上的待测试FPGA2与IO性能测试接口电路连接,IO性能测试接口电路的输出端通过A/D采集模块电路与激励FPGA1相连;控制CPU与工控机之间通信在LWIP的UDP层进行通信;
所述的IO性能测试接口电路用于测试IO的模拟参数,在待测试 FPGA的每个BANK引出一对脚连接到A/D用于测试模拟参数;
所述的激励FPGA1包括CPU总线接口电路,IO测试FPGA状态机模块,地址译码模块,测试用例下载缓存区控制模块,数据采集模块,主并配置控制器模块和误码测试模块;所述主并配置控制器模块、误码测试模块、地址译码模块,测试用例下载缓存区控制模块分别与IO测试FPGA状态机模块连接,所述地址译码模块和IO测试FPGA状态机模块分别通过CPU总线接口模块与控制CPU连接,主并配置控制器模块与待测FPGA连接,数据采集模块用于与A/D采集模块电路连接。
所述电源模块为包括芯片TPS56121_DQP_22、芯片TPS54231DR、芯片TPS54620RGY和芯片TPS54231DR以及其分别对应的外围电路构成,分别用于提供1.0V,1.5V,2.5V,3.3V的电压。
CPU总线接口电路在激励FPGA1内部对控制CPU的地址和数据及IO总线进行重整,产生单脉冲RD读信号,单脉冲WR写信号,高电平有效,产生三态数据总线输出信号,用于控制CPU读取激励FPGA1中不同的寄存器和RAM空间内数据。
所述的地址译码模块根据地址总线进行译码,产生不同的地址片选信号,所述的地址译码模块采用双字节方式进行地址译码,即地址总线的A1位为译码最低位,控制寄存器数据单元为16bits。
所述的测试用例下载缓存区控制模块用于控制外部DDR3 颗粒,实现对待测试FPGA2用例的缓存。
所述的数据采集处理模块,采集A/D采集模块电路输入的并行数据,并进行干扰处理。
主并配置控制器模块用于产生待测试FPGA2的并行配置时序电路,将配置缓存区中的测试用例并行下载到待测试FPGA2中,并判断待测试FPGA2配置的状态成功与否。
所述的信号源发生器模块采用AD9858芯片并搭配PLL电路;用于提供给激励FPGA1和待测试FPGA2作为同源时钟,用于测试FPGA2的极限工作频率,完成IO全频段的功能测试。
所述的A/D采集模块电路由多输入端口A/D变换器采样IO口的输入输出交直流信号,采样后的数据送到激励FPGA1中进行处理,实现IO口的模拟参数方面的测试。
一种基于FPGA通用IO接口测试的设备的测试方法,包括如下步骤:
第1步,下位机CPU进行初始化,配置下位机CPU的系统时钟,下位机CPU通用IO口属性等,初始化配置AR8032-BL1B接口芯片;
第2步,初始化信号源模块,设置AD9858的控制功能寄存器(CFR)为0x00,设置频率控制字为0x00,设置相位偏移量为0x00;
第3步,初始化A/D采集模块电路,配置A/D采集模块电路工作模式,设定满刻度单极性工作方式,输出数据位宽为12bits,选择测试通道为1通道;
第4步,加载LWIP协议栈,上位机即工控机和下位机的控制CPU通信在LWIP的UDP层进行通信;
第5步,下位机CPU进入单循环状态,查询网络中断是否发生。如果没有中断发生,则跳到第8步,继续查询测试完成标志;如果有中断发生,则进行第6步流程;
第6步,控制CPU解析上位工控机下发的数据帧,解析出数据帧内容;
第7步,根据数据帧内容执行相应的动作,如配置待测试FPGA2,待测试FPGA2的 IO通断,待测试FPGA2 IO电平高低,待测试FPGA2 IO的最大工作频率;
其中,如接收的控制命令是待测试FPGA2 IO通断,则控制CPU首先解析出待测试FPGA2的配置数据,放到激励FPGA1的测试用例缓存区,待一个测试用例完整后,通过激励FPGA1内部的主并行配置控制器对待测试FPGA2进行配置;然后在激励FPGA1中产生测试向量,用于激励待测试FPGA2 ,回读待测试FPGA2的输出结果,判断测试是否正确,并记录数据;
第8步,控制CPU 读取激励FPGA1 内部的结果寄存器标识位,查询测试完成标志测试,判断测试过程是否继续,如异常,直接退出,反之忽略继续第9步测试;
第9步,测试完成,控制CPU打包测试记录数据,形成完整UDP帧,上传测试数据给上位机的控制PC,跳回第5步;测试未完成,直接跳回第5步。
本发明通过工控机作为系统上位机,实现测试控制命令的输入,测试结果的保存和输出,同时在下位机上的控制CPU芯片(STM32F103RCT6)采用16位并行方式对激励FPGA1进行配置,激励FPGA中的并行配置器模块对待测试FPGA2进行配置,通过下位机CPU芯片实现信号源电路模块的控制,产生电平可编程的可变差分时钟,提供给激励FPGA1和待测试FPGA2作为同源系统时钟,用于测试待测试FPGA2的极限工作频率。进一步的激励FPGA1中的并行配置控制器模块加载待测试FPGA2测试用例。待测试FPGA2 中的测试用例依据待测试FPGA2 中IO的功能和位置不同而进行设计,激励FPGA1中的测试向量随待测试FPGA2 测试用例而变化,从而实现FPGA芯片通用IO口研制和筛选抽测阶段的一种全功能,关键性能参数测试的低成本且有效的测试。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的结构原理框图;
图2为本发明所述的激励FPGA1的结构原理框图;
图3为本发明所述信号源发生器模块电路框图;
图4为本发明的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,对于方位词,如有术语“ 中心”,“ 横向”、“ 纵向”、“ 长度”、“ 宽度”、“ 厚度”、“ 上”、“ 下”、“ 前”、“ 后”、“ 左”、“ 右”、 竖直”、“ 水平”、“ 顶”、“ 底”、“ 内”、“ 外”、“ 顺时针”、“ 逆时针”等指示方位和位置关系为基于附图所示的方位或位置关系,仅是为了便于叙述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定方位构造和操作,不能理解为限制本发明的具体保护范围。
需要说明的是,本申请的说明书和权利要求书中的术语“ 第一”、“ 第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“ 包括”和“ 具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
如图1本发明包括工控机和用于FPGA的IO口测试的测试设备硬件平台,工控机与测试硬件平台之间通过RJ-45网络接口进行连接,测试设备硬件平台上的CPU芯片中的软件加载Light Weight Internet Protoco1协议栈用于与工控机进行通信;
所述的测试设备硬件平台包括提供各种电源的电源模块电路、用于系统时钟的信号源模块电路、用于固定连接待测试FPGA2的夹具、激励FPGA1,用于采集采样待测FPGA2 IO口输入输出电平参数的A/D采集模块电路、控制CPU、LAN接口电路和用于测试IO的模拟参数的IO性能测试接口电路;所述的LAN接口电路通过控制CPU与激励FPGA1连接,控制CPU分别通过PCB板上线路与信号源发生器模块、激励FPGA1、待测试FPGA2夹具直接相连;夹具上的待测试FPGA2与IO性能测试接口电路连接,IO性能测试接口电路的输出端通过A/D采集模块电路与激励FPGA1相连;控制CPU与工控机之间通信在LWIP的UDP层进行通信;
所述的IO性能测试接口电路用于测试IO的模拟参数,在待测试FPGA2的每个BANK引出一对脚连接到A/D采集模块电路用于测试模拟参数;
所述的激励FPGA1内部电路包括CPU总线接口模块,IO测试FPGA状态机模块,地址译码模块,测试用例下载缓存区控制模块,数据采集模块,主并配置控制器模块和误码测试模块;所述主并配置控制器模块、误码测试模块、地址译码模块,测试用例下载缓存区控制模块分别与IO测试FPGA状态机模块连接,所述地址译码模块和IO测试FPGA状态机模块分别通过CPU总线接口模块与控制CPU芯片连接,主并配置控制器模块与待测FPGA2的并行配置口连接,数据采集模块用于与外部A/D采集模块电路连接。
所述电源模块为包括芯片TPS56121_DQP_22、芯片TPS54231DR、芯片TPS54620RGY和芯片TPS54231DR以及其分别对应的外围电路构成,分别用于提供1.0V,1.5V,2.5V,3.3V的电压。
所述的CPU总线接口模块在激励FPGA1内部对控制CPU的地址和数据及io总线进行重整,产生单脉冲RD读信号,单脉冲WR写信号,高电平有效,产生三态数据总线输出信号,用于控制CPU读取激励FPGA1中不同的寄存器和RAM空间内数据。
所述的地址译码模块根据地址总线进行译码,产生不同的地址片选信号,所述的地址译码模块采用双字节方式进行地址译码,即地址总线的A1位为译码最低位,控制寄存器数据单元为16bits。
所述的测试用例下载缓存区控制模块用于控制外部DDR3 颗粒,实现对待测试FPGA2用例的缓存。
所述的数据采集处理模块,采集A/D采集模块电路输入的并行数据,并进行干扰处理。
主并配置控制器模块用于产生待测试FPGA2的并行配置时序电路,将配置缓存区中的测试用例并行下载到待测试FPGA2中,并判断待测试FPGA2配置的状态成功与否。
所述的信号源发生器模块采用AD9858芯片并搭配PLL电路;用于提供给激励FPGA1和待测试FPGA2作为同源时钟,用于测试FPGA2的极限工作频率,完成IO全频段的功能测试。
所述的A/D采集模块电路由多输入端口A/D变换器(MAX197)采样IO口的输入输出交直流信号,采样后的数据送到激励FPGA1中进行处理,实现IO口的模拟参数方面的测试。
用于固定连接待测试FPGA2的夹具在实际使用中可以由多个构成采用FPGA测试夹具组,从而可以根据需要进行同时或者先后进行测试。
一种基于FPGA通用IO接口测试的设备的测试方法,包括如下步骤:
第1步,下位机CPU进行初始化,配置下位机CPU的系统时钟,下位机CPU通用IO口属性等,初始化配置AR8032-BL1B接口芯片;
第2步,初始化信号源模块,设置AD9858的控制功能寄存器(CFR)为0x00,设置频率控制字(FTW0)为0x00,设置相位偏移量(POW0)为0x00;
第3步,初始化A/D采集模块电路,配置A/D采集模块电路工作模式,设定满刻度单极性工作方式,输出数据位宽为12bits,选择测试通道为1通道;
第4步,加载LWIP协议栈,上位机即工控机和下位机的控制CPU通信在LWIP的UDP层进行通信;
第5步,下位机CPU进入单循环状态,查询网络中断是否发生。如果没有中断发生,则跳到第8步,继续查询测试完成标志;如果有中断发生,则进行第6步流程;
第6步,控制CPU解析上位工控机下发的数据帧,解析出数据帧内容;
第7步,根据数据帧内容执行相应的动作,如配置待测试FPGA2,待测试FPGA2的 IO通断,待测试FPGA2 IO电平高低,待测试FPGA2 IO的最大工作频率;
其中,如接收的控制命令是待测试FPGA2 IO通断,则控制CPU首先解析出待测试FPGA2的配置数据,放到激励FPGA1的测试用例缓存区,待一个测试用例完整后,通过激励FPGA1内部的主并行配置控制器对待测试FPGA2进行配置;然后在激励FPGA1中产生测试向量,用于激励待测试FPGA2 ,回读待测试FPGA2的输出结果,判断测试是否正确,并记录数据;
第8步,控制CPU 读取激励FPGA1 内部的结果寄存器标识位,查询测试完成标志测试,判断测试过程是否继续,如异常,直接退出,反之忽略继续测试;
第9步,测试完成,控制CPU打包测试记录数据,形成完整UDP帧,上传测试数据给上位机的控制PC,跳回第5步;测试未完成,直接跳回第5步
图2所示为本发明的系统框图,整个系统由工控机和FPGA 常规IO口测试设备硬件平台组成,工控机与测试硬件平台之间通过RJ-45网络接口进行连接,测试设备硬件平台上的CPU软件加载LWIP(Light Weight Internet Protoco1)协议栈。下位机与工控机之间通信在LWIP的UDP层进行通信。
工控机的主要用途是进行测试命令的输入;测试命令的UDP成帧;成帧控制帧下发到下位机,解析下位机上传的测试记录帧,实现与下位机的交互通信;保存测试记录,判断测试异常,测试是否通过。工控机软件采用JAVA进行设计,其原因在于增加测试设备的通用性,保证上位机测试软件可以工作在不同的测试平台上。
测试硬件平台PCB采用16层FR4基材制造。主要由电源模块电路、信号源模块电路、待测试FPGA2夹具、激励FPGA1(XC7K325TFFG900),A/D采集模块电路、控制CPU、LAN接口电路(AR8032-BL1B)、IO性能测试接口电路和PCB组成。
电源模块为整个硬件平台提供所需要的各种电源,包括1.0V,1.5V,2.5V,3.3V。由TPS56121_DQP_22提供1.0V 电源,TPS54231DR提供1.5V电源,TPS54620RGY提供2.5V电源,TPS54231DR提供3.3V电源。IO性能测试接口电路用于测试IO的模拟参数,在测试PCB上,待测试 FPGA2的每个BANK引出一对;
A/D采集模块电路由多输入端口A/D变换器(MAX197)采样IO口的输入输出交直流信号,采样后的数据送到激励FPGA1中进行处理,实现IO口的模拟参数方面的测试。
LAN接口核心电路选用AR8032-BL1B,提供百兆的以太网通信接口,实现上位机与板上CPU的通信,下位机选用STM32F103RCT6,采用单线程方式,在完成初始化后,进入循环方式,依据上位机下发测试命令而进行下位机板上系统的操作。
图2为本发明测试PCB上信号源模块电路框图,利用AD9858芯片与外部PLL电路相结合,设计出高分辨率、宽带、转换时间短、功耗低的信号源模块,产生电平可编程的可变差分时钟,提供给激励FPGA1和待测试FPGA2作为同源时钟,用于测试FPGA2的极限工作频率,完成IO全频段的功能测试。信号源模块基于频段不同,而采用高低频分段输出的方式提供给板上FPGA1,FPGA2作为系统时钟。控制CPU 通过串行方式实现对AD9858的控制。外部参考信号选用25M 晶振。AD9858输出波形通过低通滤波器LPF2送回AD9858作为鉴相信号产生误差电压送出,送出信号经过低通滤波器LPF1得到控制电压,施加到VCO上产生高频段输出信号,低频段信号直接由AD9858产生,不使用外部环路。
图3为本发明测试PCB上激励FPGA1内部框图;激励FPGA1内部电路设计是实现IO功能测试的关键电路设计所在,内部电路包括:CPU总线接口模块,IO测试FPGA状态机模块,地址编码模块,测试用例下载缓存区控制模块,数据采集模块,主并配置控制器模块,误码测试模块。
CPU总线接口模块,在FPGA1内部对控制CPU的地址和数据及io总线进行重整,产生单脉冲RD读信号,单脉冲WR写信号,高电平有效,产生三态数据总线输出信号,用于控制CPU读取FPGA1中不同的寄存器和RAM空间内数据。
地址译码模块,根据地址总线进行译码,产生不同的地址片选信号,在本发明中,采用双字节方式进行地址译码,即地址总线的A1位为译码最低位,控制寄存器数据单元为16bits。
IO测试FPGA状态机模块,解析CPU控制命令,根据当前FPGA状态,FPGA进入相应工作状态,包括:复位,频率逼近,读下载历程,配置下载历程,空闲等状态。激励FPGA1配置成功后缺省处于空闲工作状态。
测试用例下载缓存区控制模块,控制外部DDR3 颗粒,实现对待测试FPGA2用例的缓存,测试用例通常在几十兆大小,通过在测试时候,将下几个测试用例缓存到DDR3中,上一个测试完成后即可以通过并行测试控制器配置FPGA2 ,节约下载配置时间,提高测试效率。
数据采集模块,采集A/D输入并行数据,并进行处理,采用数字滤波方式,对高频噪声进行滤除,得到真实的IO电平模拟参数,移除干扰。
主并配置控制器模块,产生待测试FPGA2的并行配置时序电路,将配置缓存区中的测试用例并行下载到FPGA2中,并判断配置状态成功与否。
误码测试模块,包括误码发生和误码接收模块。发生模块产生不同速率PRBS序列,用户设定模态作为待测试FPGA2芯片IO口激励输入,该序列在待测试FPGA2芯片组内部进行环回,然后输出到误码接收的输入端,在用户定义时间段内误码接收模块无误码,则认为该IO口通过该频率测试,通过这种测试方式可以实现IO口基本功能,最大工作速率,正常工作频段的测试。
图4是本发明的下位机软件流程图;第1步,下位机CPU进行初始化,配置CPU的系统时钟,CPU通用IO口属性等,初始化配置AR8032-BL1B接口芯片;第2步,初始化信号源模块,设置AD9858的控制功能寄存器(CFR)为0x00,设置频率控制字(FTW0)为0x00,设置相位偏移量(POW0)为0x00;第3步,初始化A/D采集电路,配置A/D工作模式,设定满刻度单极性工作方式,输出数据位宽为12bits,选择测试通道为1通道;第4步,加载LWIP协议栈,上位机和下位机通信在LWIP的UDP层进行通信;第5步,下位机CPU进入单循环状态,查询网络中断是否发生。如果没有中断发生,则跳到第8步,继续查询测试完成标志;如果有中断发生,则进行第6步流程;第6步,解析上位机下发的数据帧,解析出数据帧内容;第7步,根据数据帧内容执行相应的动作,如配置FPGA1,测试FPGA2 IO通断,测试FPGA2 IO电平,测试FPGA2 IO最大工作频率等;第8步,查询测试完成标志,判断测试过程是否继续,如异常,是否退出或者忽略;第9步,测试完成,控制CPU打包测试记录数据,形成完整UDP帧,上传测试数据给上位机的控制PC,跳回第5步;测试未完成,直接跳回第5步
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种FPGA通用IO接口测试的设备,其特征在于:包括工控机和用于FPGA的IO口测试的硬件平台,工控机与测试硬件平台之间通过RJ-45网络接口进行连接,测试硬件平台上的CPU软件加载Light Weight Internet Protoco1协议栈;
所述的测试硬件平台包括组成有提供各种电源的电源模块电路、用于产生系统时钟的信号源模块电路、用于固定连接待测试FPGA2的夹具、激励FPGA1,用于采样待测中IO口输入输出电平参数的A/D采集模块电路、控制CPU(STM32F103RCT6)、LAN接口电路和用于测试IO的模拟参数的IO口性能测试接口电路;所述的LAN接口电路通过控制CPU与激励FPGA1连接,控制CPU分别通过PCB板上线路与信号源发生器模块、激励FPGA1、待测试FPGA2夹具直接相连;夹具上的待测试FPGA2与IO性能测试接口电路连接,IO性能测试接口电路的输出端通过A/D采集模块电路与激励FPGA1相连;控制CPU与工控机之间通信在LWIP的UDP层进行通信;
所述的IO性能测试接口电路用于测试IO的模拟参数,在待测试 FPGA的每个BANK引出一对脚连接到A/D用于测试模拟参数;
所述的激励FPGA1包括CPU总线接口电路,IO测试FPGA状态机模块,地址译码模块,测试用例下载缓存区控制模块,数据采集模块,主并配置控制器模块和误码测试模块;所述主并配置控制器模块、误码测试模块、地址译码模块,测试用例下载缓存区控制模块分别与IO测试FPGA状态机模块连接,所述地址译码模块和IO测试FPGA状态机模块分别通过CPU总线接口模块与控制CPU连接,主并配置控制器模块与待测FPGA连接,数据采集模块用于与A/D采集模块电路连接。
2.根据权利要求1所述的FPGA通用IO接口测试的设备,其特征在于:所述电源模块为包括芯片TPS56121_DQP_22、芯片TPS54231DR、芯片TPS54620RGY和芯片TPS54231DR以及其分别对应的外围电路构成,分别用于提供1.0V,1.5V,2.5V,3.3V的电压。
3.根据权利要求1所述的FPGA通用IO接口测试的设备,其特征在于:所述的CPU总线接口电路在激励FPGA1内部对控制CPU的地址和数据及IO总线进行重整,产生单脉冲RD读信号,单脉冲WR写信号,高电平有效,产生三态数据总线输出信号,用于控制CPU读取激励FPGA1中不同的寄存器和RAM空间内数据。
4.根据权利要求1所述的FPGA通用IO接口测试的设备,其特征在于:所述的地址译码模块根据地址总线进行译码,产生不同的地址片选信号,所述的地址译码模块采用双字节方式进行地址译码,即地址总线的A1位为译码最低位,控制寄存器数据单元为16bits。
5.根据权利要求1所述的FPGA通用IO接口测试的设备,其特征在于:所述的测试用例下载缓存区控制模块用于控制外部DDR3 颗粒,实现对待测试FPGA2用例的缓存。
6.根据权利要求1所述的FPGA通用IO接口测试的设备,其特征在于:所述的数据采集处理模块,采集A/D采集模块电路输入的并行数据,并进行干扰处理。
7.根据权利要求1所述的FPGA通用IO接口测试的设备,其特征在于:主并配置控制器模块用于产生待测试FPGA2的并行配置时序电路,将配置缓存区中的测试用例并行下载到待测试FPGA2中,并判断待测试FPGA2配置的状态成功与否。
8.根据权利要求1所述的FPGA通用IO接口测试的设备,其特征在于:所述的信号源发生器模块采用AD9858芯片并搭配PLL电路;用于提供给激励FPGA1和待测试FPGA2作为同源时钟,用于测试FPGA2的极限工作频率,完成IO全频段的功能测试。
9.根据权利要求1所述的FPGA通用IO接口测试的设备,其特征在于:所述的A/D采集模块电路由多输入端口A/D变换器采样IO口的输入输出交直流信号,采样后的数据送到激励FPGA1中进行处理,实现IO口的模拟参数方面的测试。
10.一种基于FPGA通用IO接口测试的设备的测试方法,其特征在于:包括如下步骤:
第1步,下位机CPU进行初始化,配置下位机CPU的系统时钟,下位机CPU通用IO口属性等,初始化配置AR8032-BL1B接口芯片;
第2步,初始化信号源模块,设置AD9858的控制功能寄存器(CFR)为0x00,设置频率控制字为0x00,设置相位偏移量为0x00;
第3步,初始化A/D采集模块电路,配置A/D采集模块电路工作模式,设定满刻度单极性工作方式,输出数据位宽为12bits,选择测试通道为1通道;
第4步,加载LWIP协议栈,上位机即工控机和下位机的控制CPU通信在LWIP的UDP层进行通信;
第5步,下位机CPU进入单循环状态,查询网络中断是否发生;
如果没有中断发生,则跳到第8步,继续查询测试完成标志;如果有中断发生,则进行第6步流程;
第6步,控制CPU解析上位工控机下发的数据帧,解析出数据帧内容;
第7步,根据数据帧内容执行相应的动作,如配置待测试FPGA2,待测试FPGA2的 IO通断,待测试FPGA2 IO电平高低,待测试FPGA2 IO的最大工作频率;
其中,如接收的控制命令是待测试FPGA2 IO通断,则控制CPU首先解析出待测试FPGA2的配置数据,放到激励FPGA1的测试用例缓存区,待一个测试用例完整后,通过激励FPGA1内部的主并行配置控制器对待测试FPGA2进行配置;然后在激励FPGA1中产生测试向量,用于激励待测试FPGA2 ,回读待测试FPGA2的输出结果,判断测试是否正确,并记录数据;
第8步,控制CPU 读取激励FPGA1 内部的结果寄存器标识位,查询测试完成标志测试,判断测试过程是否继续,如异常,直接退出,反之忽略继续第9步测试;
第9步,测试完成,控制CPU打包测试记录数据,形成完整UDP帧,上传测试数据给上位机的控制PC,跳回第5步;测试未完成,直接跳回第5步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010263048.7A CN111338326B (zh) | 2020-04-07 | 2020-04-07 | 一种fpga通用io接口测试的设备和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010263048.7A CN111338326B (zh) | 2020-04-07 | 2020-04-07 | 一种fpga通用io接口测试的设备和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111338326A true CN111338326A (zh) | 2020-06-26 |
CN111338326B CN111338326B (zh) | 2022-11-11 |
Family
ID=71182804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010263048.7A Expired - Fee Related CN111338326B (zh) | 2020-04-07 | 2020-04-07 | 一种fpga通用io接口测试的设备和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111338326B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080116919A1 (en) * | 2006-11-21 | 2008-05-22 | Yu Li | Fpga and method and system for configuring and debugging a fpga |
US20090128173A1 (en) * | 2007-11-16 | 2009-05-21 | Hong Fu Jin Precision Industry(Shenzhen) Co., Ltd. | Testing system and method |
CN101980036A (zh) * | 2010-10-22 | 2011-02-23 | 福建鑫诺通讯技术有限公司 | 基于fpga实现的jtag测试方法 |
CN103140836A (zh) * | 2010-01-06 | 2013-06-05 | 晶像股份有限公司 | 计算机存储设备和串行io端口的多点测试 |
CN104020763A (zh) * | 2014-06-18 | 2014-09-03 | 盛瑞传动股份有限公司 | 输入输出接口的自动测试方法及系统 |
CN105467245A (zh) * | 2015-12-16 | 2016-04-06 | 北京交大思诺科技股份有限公司 | 便携式应答器输入输出特性测试仪及测试方法 |
CN105868114A (zh) * | 2016-03-31 | 2016-08-17 | 复旦大学 | Fpga软件系统及其各模块测试系统和方法 |
US9500700B1 (en) * | 2013-11-15 | 2016-11-22 | Xilinx, Inc. | Circuits for and methods of testing the operation of an input/output port |
CN109885434A (zh) * | 2019-01-25 | 2019-06-14 | 华北水利水电大学 | 一种FPGA高速SerDes接口的集成测试系统及方法 |
CN109947087A (zh) * | 2019-04-17 | 2019-06-28 | 湖南优利泰克自动化系统有限公司 | Plc输入输出模块测试方法、装置、系统和计算机设备 |
CN209247916U (zh) * | 2018-11-20 | 2019-08-13 | 中国船舶重工集团公司第七一六研究所 | 基于fpga芯片的通用i/o测试装置 |
CN209606845U (zh) * | 2019-02-21 | 2019-11-08 | 中国石油天然气股份有限公司 | 用于过程自动控制系统的io端口组的检测装置 |
-
2020
- 2020-04-07 CN CN202010263048.7A patent/CN111338326B/zh not_active Expired - Fee Related
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080116919A1 (en) * | 2006-11-21 | 2008-05-22 | Yu Li | Fpga and method and system for configuring and debugging a fpga |
US20090128173A1 (en) * | 2007-11-16 | 2009-05-21 | Hong Fu Jin Precision Industry(Shenzhen) Co., Ltd. | Testing system and method |
CN103140836A (zh) * | 2010-01-06 | 2013-06-05 | 晶像股份有限公司 | 计算机存储设备和串行io端口的多点测试 |
CN101980036A (zh) * | 2010-10-22 | 2011-02-23 | 福建鑫诺通讯技术有限公司 | 基于fpga实现的jtag测试方法 |
US9500700B1 (en) * | 2013-11-15 | 2016-11-22 | Xilinx, Inc. | Circuits for and methods of testing the operation of an input/output port |
CN104020763A (zh) * | 2014-06-18 | 2014-09-03 | 盛瑞传动股份有限公司 | 输入输出接口的自动测试方法及系统 |
CN105467245A (zh) * | 2015-12-16 | 2016-04-06 | 北京交大思诺科技股份有限公司 | 便携式应答器输入输出特性测试仪及测试方法 |
CN105868114A (zh) * | 2016-03-31 | 2016-08-17 | 复旦大学 | Fpga软件系统及其各模块测试系统和方法 |
CN209247916U (zh) * | 2018-11-20 | 2019-08-13 | 中国船舶重工集团公司第七一六研究所 | 基于fpga芯片的通用i/o测试装置 |
CN109885434A (zh) * | 2019-01-25 | 2019-06-14 | 华北水利水电大学 | 一种FPGA高速SerDes接口的集成测试系统及方法 |
CN209606845U (zh) * | 2019-02-21 | 2019-11-08 | 中国石油天然气股份有限公司 | 用于过程自动控制系统的io端口组的检测装置 |
CN109947087A (zh) * | 2019-04-17 | 2019-06-28 | 湖南优利泰克自动化系统有限公司 | Plc输入输出模块测试方法、装置、系统和计算机设备 |
Non-Patent Citations (2)
Title |
---|
M. RENOVELL J .M. PORTAL: "SRAM-Based FPGA’s: Testing the LUT/RAM Modules", 《PROCEEDINGS INTERNATIONAL TEST CONFERENCE 1998》 * |
王涛: "基于UVM的FPGA通用接口测试平台设计", 《测试技术学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111338326B (zh) | 2022-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9581645B2 (en) | Test circuit providing different levels of concurrency among radio cores | |
CN111366841B (zh) | 一种fpga可编程逻辑单元测试设备及使用方法 | |
US8788882B2 (en) | Customizing code modules of software and programmable hardware for a test instrument | |
EP2815318B1 (en) | Customizing operation of a test instrument based on information from a system under test | |
CN106680697A (zh) | 一种数字信号处理器试验检测装置 | |
TW200538749A (en) | System and method for testing integrated circuits | |
CN106443412A (zh) | 一种ic测试装置及方法 | |
CN109240965B (zh) | Fpga逻辑捕获处理显示套件及其使用方法 | |
CN111398795B (zh) | 一种fpga内部dsp单元测试设备及使用方法 | |
US9287877B2 (en) | Reconfigurable semiconductor device | |
CN109581197A (zh) | 一种基于JTAG接口的SiP封装用测试系统 | |
KR101422212B1 (ko) | 시험 패턴 생성 장치, 시험 프로그램 생성 장치, 생성 방법, 프로그램 및 시험 장치 | |
CN109709472B (zh) | 一种fpga配置电路cfg的测试系统和测试方法 | |
US6459297B1 (en) | System for programming field programmable devices | |
CN111338326B (zh) | 一种fpga通用io接口测试的设备和方法 | |
JP4705880B2 (ja) | 半導体集積回路とそのテスト方法 | |
US7451049B2 (en) | Automatic delays for alignment of signals | |
CN105203946A (zh) | 一种嵌入式芯核测试壳装置及其设计方法 | |
CN113190386A (zh) | 芯片及其使用方法 | |
US7130787B1 (en) | Functional replicator of a specific integrated circuit and its use as an emulation device | |
Xiao et al. | The design of a software defined arbitrary waveform generator | |
Chakrabarty | Low-cost modular testing and test resource partitioning for SOCs | |
CN104133174A (zh) | 一种基于SignaltapⅡ的FPGA开发板测试方法 | |
CN117572219B (zh) | Mcu芯片电气参数自动化测试系统及方法 | |
Chen | Data Acquisition System for Multichannel Analog Front End for Electrochemical Measurement |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20221111 |