一种FPGA可编程逻辑单元测试设备及使用方法与流程

文档序号:21358295发布日期:2020-07-04 04:31阅读:249来源:国知局
一种FPGA可编程逻辑单元测试设备及使用方法与流程

本发明属于fpga测试领域,具体涉及一种fpga可编程逻辑单元测试设备及使用方法。



背景技术:

fpga中90%以上的逻辑功能都是由clb完成的。可编程逻辑单元测试包括功能测试和性能测试,clb的功能测试包括:slicem中的lut(16位寄存器,srlc16)功能测试、slicem中的分布式ram和存储器(单端口32x1位ram,双端口16x2位ram)功能测试、只读存储器(rom128x1)功能测试、触发器(d触发器/电平锁存器)、进位链测试、srl级联测试等。性能测试包括直流参数,交流参数测试,所有功能正常工作的极限参数测试。

通常fpga芯片流片回来后需要对fpga芯片进行功能和性能的全覆盖测试,芯片的测试是fpga芯片设计生产中相当重要的环节,芯片的测试有多种方案,例如搭建电路板连接专项测试仪器进行特定方面的功能和性能测试,使用专业的自动测试仪ate进行测试,或者利用fpga与芯片连接测试等等。

在fpga的clb测试中包括的测试项目有:移位寄存器、d触发器、最大工作频率,模块功耗,每个项目需要对功能和性能两个方面进行测试,除去功能测试外,性能测试中的交流参数,如上升时间、下降时间、传输延迟时间是设计人员更关心的,由于ate测试交直流参数设计原理是采用比较器的方式来对测试参数进行判决,并不能够满足clb交直流参数测试的需求,ate是比较器,给定的是一个空间范围,输出的是判据结果,不是直接测量出来的一个确定数值,所以不能够直接测试clb的直接交直流参数。此阶段采用分离测试仪器可以完全覆盖clb全功能和全性能测试。但与此同时为了完整的测试clb功能和性能,需要重复下载fpga用例,测试不同的参数,需要选用不同的测试仪器进行测试。这种测试方式导致clb测试时存在测试时间过长,接线复杂,测试成本过高的问题。



技术实现要素:

本发明的目的是提供一种fpga可编程逻辑单元测试设备及使用方法,用于对fpga芯片中的clb进行功能和性能的全覆盖测试且实现测试系统的低成本、小型化。

本发明解决其技术问题的技术方案为:一种fpga可编程逻辑单元测试设备,包括nipcie工控机、用于clb电源拉偏测试、动态、静态功耗测试的电源模块、用于clb交流时间参数测试的示波器模块、clb测试板载硬件平台、板上电源、激励fpga、有源晶振、ddr3缓存,待测fpga,所述nipcie工控机的输出端与clb测试板载硬件平台的输入端连接,所述板上电源、激励fpga、有源晶振、ddr3缓存、待测fpga设置在clb测试板载硬件平台上与clb测试板载硬件平台连接,所述板上电源为除去待测试fpga的整个clb测试板载硬件平台上的电路提供电源,所述电源模块的输入端与nipcie工控机的输出端连接,所述电源模块的输出端与待测fpga的输入端连接,所述示波器模块的输入端与待测fpga的输出端连接,所述示波器模块的输出端与nipcie工控机的输入端连接。

为了不局限于工控机内部空间,方便测试,所述nipcie工控机的输出端通过pcie延长线与clb测试板载硬件平台的输入端连接。

为了同时对多块被测fpga进行测试,所述nipcie工控机的输出端与多块clb测试板载硬件平台的输入端连接,最多同时支持4个clb测试平台。

为了同时对多块被测fpga进行测试,所述clb测试板载硬件平台同时与多块待测fpga连接,最多一个测试平台上安装4个测试夹具。

所述电源模块为3upcie4x电源模块,为clb测试板载硬件平台上的待测fpga提供所需要的电源,包括1.2v,1.0v,3.3v,2.5v,通过软件配置控制待测试fpga的电源加电顺序,调整电源偏离,对不同电源进行拉偏测试,可以测试clb模块的正常电源工作范围。并可用于测试模块电路的漏流、静态和动态功耗,电源模块通过安防连接线与待测试fpga模块电源接口连接。

所述示波器模块为3upcie4x示波器模块,实现对交流参数的测试,通过编程实现clb在各种逻辑组合功能下的传输时延,信号上升,下降时间等时域方面的特性参数等测试。

为了降低损耗以及便于阻抗匹配,所述示波器模块通过sma低损耗同轴线缆与clb测试板载硬件平台连接。

所述激励fpga包括用于产生并处理传输层数据包,流控制管理,初始化、电源管理,数据保护,错误检查及重试,串行化,去串行化功能的pcieip核模块、用于事物层数据传输内容以及配置空间信息的pcieapp模块、用于对pcieapp模块的地址总线进行译码,产生不同的地址片选信号的地址编码模块、利用激励fpga内部的时钟硬核资源产生频率可调的激励时钟的时钟模块、用于解析cpu控制命令的clb测试fpga状态机模块、用于控制ddr3缓存,实现对待测试fpga测试用例的缓存的ddr3控制模块、用于发生误码和接收误码的误码测试模块,所述误码测试模块包括误码发生模块和误码接收模块、用于节省激励fpga的io脚的主串配置控制器模块、用于产生测试用例所需输入测试向量的测试向量发生模块。

一种fpga可编程逻辑单元测试设备的使用方法,其特征在于,包括以下步骤:

s1:将nipcie工控机初始化,初始化电源模块,关闭待测试fpga的电源,初始化示波器模块,将示波器模块设置为直流耦合、输入阻抗为1m、自动测试方式,将激励fpga上电后通过配置芯片完成配置过程,在激励fpga内部通过pcieip核模块与工控机进行交互工作,完成整个系统的初始化过程;

s2:设定需要测试的项目,选择对应测试用例下载到激励fpga的ddr3芯片中;

s3:设置电源模块输出待测试fpga所需要的1.2v,1.0v,1.8v,3.3v,2.5v电源,设置示波器模块的触发电平、采样频率;

s4:对被测fpga进行所选项目的测试;

s4.1:对被测fpga进行所选项目的功能测试,激励fpga以串行方式配置ddr3缓存中的测试用例到待测fpga芯片中,然后通过nipcie工控机发送控制命令,控制激励fpga中时钟模块根据测试需求产生特定频率时钟,在该时钟频率下,误码测试模块的误码发生模块产生的prbs序列作为待测试fpga的激励输入,该序列在待测试fpga的测试用例中处理后,输出串行序列,串行序列输出到误码测试模块的误码接收模块,通过在用户定义时间段内误码测试模块有无误码来确定是否通过该频率下的功能测试;

s4.2:对被测fpga进行所选项目的性能测试;

s4.2.1:对被测fpga进行所选项目的最大工作频率方面的性能测试,激励fpga以串行方式配置ddr3缓存中测试用例到待测试fpga中,然后通过nipcie工控机发送控制命令,控制激励fpga中时钟模块根据测试需求产生不同时钟,时钟按照最大频率设计指标进行折半发生,在该时钟频率下,误码测试模块的误码发生模块产生prbs序列作为待测试fpga的激励输入,该序列在待测试fpga测试用例处理后,输出到误码测试模块的误码接收模块,通过在用户定义时间段内误码测试模块有无误码来确定是否通过该频率下的功能测试;

s4.2.2:对被测fpga进行所选项目的输出延迟时间、占空比、输出上升、下降时间方面的性能测试,激励fpga以串行方式配置ddr3缓存中测试用例到待测试fpga中,然后通过nipcie工控机发送控制命令,控制激励fpga中时钟模块根据测试需求产生50m时钟作为待测试fpga的激励输入,将待测试fpga的测试用例通过sma连接线发送至到示波器模块,读取示波器模块上的时间参数;

s5:根据测试项目和测试项目对应的判决标准,判断测试过程为正常或异常,正常时,继续测试,异常时,根据判决标准确定退出或忽略;

s6:保存测试记录,跳转到第2步,继续下一个项目直至测试全部完成。

本发明的有益效果为:基于pcie工控机平台,在工控机内部集成3upcie电源模块作为待测fpga的clb测试时候的可控电源用于电源方面参数测试;3upcie示波器模块测试clb交直流模拟参数;在clb测试板载硬件平台上的激励fpga内部集成误码测试模块以满足clb功能测试需求;利用激励fpga内部的时钟模块产生可变时钟,满足clb测试时对参考时钟的需求从而完成对fpga上clb的全功能、全性能测试,实现测试的低成本、小型化。

附图说明

图1是本发明的硬件结构图。

图2是本发明的测试流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明包括nipcie工控机、用于clb电源拉偏测试、动态、静态功耗测试的电源模块、用于clb交流时间参数测试的示波器模块、clb测试板载硬件平台、板上电源、激励fpga、有源晶振、ddr3缓存,待测fpga,所述nipcie工控机的输出端与clb测试板载硬件平台的输入端连接,所述板上电源、激励fpga、有源晶振、ddr3缓存、待测fpga设置在clb测试板载硬件平台上与clb测试板载硬件平台连接,所述板上电源为除去待测试fpga的整个clb测试板载硬件平台上的电路提供电源,所述电源模块的输入端与nipcie工控机的输出端连接,所述电源模块的输出端与待测fpga的输入端连接,所述示波器模块的输入端与待测fpga的输出端连接,所述示波器模块的输出端与nipcie工控机的输入端连接。

为了不局限于工控机内部空间,方便测试,所述nipcie工控机的输出端通过pcie延长线与clb测试板载硬件平台的输入端连接,pcie延长线为两端都为1x的pcie金手指接口的半柔性高速线缆。

为了同时对多块被测fpga进行测试,所述nipcie工控机的输出端与多块clb测试板载硬件平台的输入端连接,最多支持4块clb测试板载硬件平台。

为了同时对多块被测fpga进行测试,所述clb测试板载硬件平台同时与多块待测fpga连接,最多支持4块fpga芯片。

所述电源模块为3upcie4x电源模块,为clb测试板载硬件平台上的待测fpga提供所需要的电源,包括1.2v,1.0v,3.3v,2.5v,通过软件配置控制待测试fpga的电源加电顺序,调整电源偏离,对不同电源进行拉偏测试,可以测试clb模块的正常电源工作范围。并可用于测试模块电路的漏流、静态和动态功耗,电源模块通过安防连接线与待测试fpga模块电源接口连接。

所述示波器模块为3upcie4x示波器模块,实现对交流参数的测试,通过编程实现clb在各种逻辑组合功能下的传输时延,信号上升,下降时间等时域方面的特性参数等测试。

为了降低损耗以及便于阻抗匹配,所述示波器模块通过sma低损耗同轴线缆与clb测试板载硬件平台连接。

本发明中clb测试板载硬件平台采用16层fr4基材制造实现测试pcb上的板上电源、激励fpga、有源晶振、ddr3缓存、待测fpga之间的布线和电气连接或电绝缘,提供所要求的电气特性,板上电源为整个clb测试板载硬件平台上的电路(除去待测试fpga)提供所需要的各种电源,板上电源由pcie1x总线上的12v电源提供总的电源输入,经变压后产生1.0v,1.5v,2.5v电源,12v输入由clb测试板载硬件平台上的tps56121_dqp_22提供1.0v电源,tps54231dr提供1.5v电源,tps54620rgy提供2.5v电源,pcie1x总线提供3.3v电源。

实际应用中,本clb测试板载硬件平台上包括四套待测fpga夹具。

还包括外部电源接口电路,外部电源接口电路提供待测试fpga电源,由3upcie电源模块直接供给,包括1.2v,1.0v,3.3v,2.5v,使用电平软件进行调节。

有源晶振采用25m有源晶振,提供给激励fpga作为系统时钟。

所述激励fpga包括用于产生并处理传输层数据包,流控制管理,初始化、电源管理,数据保护,错误检查及重试,串行化,去串行化功能的pcieip核模块、用于事物层数据传输内容以及配置空间信息的pcieapp模块、用于对pcieapp模块的地址总线进行译码,产生不同的地址片选信号的地址编码模块、利用激励fpga内部的时钟硬核资源产生频率可调的激励时钟的时钟模块、用于解析cpu控制命令的clb测试fpga状态机模块、用于控制ddr3缓存,实现对待测试fpga测试用例的缓存的ddr3控制模块、用于发生误码和接收误码的误码测试模块,所述误码测试模块包括误码发生模块和误码接收模块、用于节省激励fpga的io脚的主串配置控制器模块、用于产生测试用例所需输入测试向量的测试向量发生模块。

pcieip核模块,基于硬核的设计思想,在激励fpga内部,基于xc7k325tffg900内部的pcie硬核资源,与硬核位置相连的高速serdes口,完整地实现pcie中的物理层和数据链路层的协议,pcieip核模块包含以下功能:产生并处理传输层数据包(tlps),流控制管理,初始化及电源管理,数据保护,错误检查及重试,串行化,去串行化等功能。根据pcie协议,pcieip核包括三层:

传输层(处理层,事务层):传输层是pcieip的最上层,它的首要功能是接收、缓存和传输传输层数据包,并负责处理层数据包的合成与分解,进行流量控制管理,数据包队列管理以及利用对虚拟通道提供服务质量功能。

数据链路层:数据链路层如同联系传输层和物理层的媒介,它的首要功能是为tlps在两层之间的传输提供可靠性支持,他可以进行错误检查以及恢复,产生并解析数据链路层包(dllp),dllp被用来在两个互联的pcie的数据链路层之间传输信息,从而实现电源管理,流量控制以及tlp确认等功能。

物理层:物理层分为逻辑物理层和电气物理层,逻辑物理层完成对plp的合成和分解,并串转换和串并转换。电气物理层负责所有通道的数据差分驱动传输与接收。

pcieapp模块是用户自行设计事物层数据传输内容以及配置空间信息,接收和发送时候都采用dpram(dualportram),两个dpram分别设置为接收dpram和发送dpram。接收时pcieip核从一侧以64bits方式写入接收dpram,激励fpga内部逻辑从另一侧以32bits方式读出。发送时,激励fpga内部逻辑以32bits方式写入发送dpram,pcieip核从另一侧以64bits方式读出。

地址译码模块是根据pcieapp模块的地址总线进行译码,产生不同的地址片选信号,在本发明中,clb测试板载硬件平台上的pcie测试板卡本地物理空间为1m字节大小,采用四字节方式进行地址译码,即地址总线的a2位为译码最低位,控制寄存器数据单元为32bits。

时钟模块是利用型号为xc7k325tffg900的激励fpga内部的时钟硬核资源,产生频率可调的激励时钟,用于待测fpga芯片组测试用例的同步时钟。

clb测试fpga状态机模块是用于解析cpu控制命令,根据当前fpga状态,fpga进入相应工作状态,包括:复位,启动误码测试,改变时钟输出,读下载例程,配置下载例程,回读测试结果,空闲等状态,激励fpga上电配置后缺省处于空闲工作状态。

ddr3控制模块用于控制外部的ddr3缓存,实现对待测试fpga组测试用例的缓存,测试用例通常在几十兆大小,在测试时候,通过pcie接口将下几个测试用例缓存到ddr3中,上一个测试完成后即可以通过并串测试控制器配置fpga2组,节约下载配置时间,提高测试效率。

误码测试模块,包括误码发生模块和误码接收模块,误码发生模块产生不同速率prbs序列,用户设定模式等,发生模块输出信号作为待测fpga测试用例激励输入,该序列在待测fpga芯片组测试用例处理后输出到误码接收模块的输入端,在用户定义时间段内误码接收模块无误码,则认为该测试用例下clb测试通过,当测试用例被配置为移位寄存器srlc16,d触发器和srl移位寄存器级联模式的时候,码型发生器产生串行测试prbs向量序列。

主串配置控制器模块是为了节省激励fpga的io脚,采用串行配置方式,在激励fpga1内部产生待测fpga组的主串配置时序电路,使用较少io脚,实现4个待测fpga的串行方式配置,将配置缓存区中的测试用例串行下载到待测fpga组中,并判断配置状态成功与否。

测试向量发生模块,产生clb测试用例所需输入测试向量,测试向量被预置到内部ram空间,采用这种方式节省激励fpga内部逻辑资源,顺序读出提供给待测fpga的clb模块作为测试输入向量。

一种fpga可编程逻辑单元测试设备的使用方法,其特征在于,包括以下步骤:

s1:将nipcie工控机初始化,初始化电源模块,关闭待测试fpga的电源,初始化示波器模块,将示波器模块设置为为直流耦合、输入阻抗为1m、自动测试方式,将激励fpga上电后通过配置芯片完成配置过程,在激励fpga内部通过pcieip核模块与工控机进行交互工作,完成整个系统的初始化过程;

s2:设定需要测试的项目,选择对应测试用例下载到激励fpga的ddr3芯片中;

s3:设置电源模块输出待测试fpga所需要的1.2v,1.0v,1.8v,3.3v,2.5v电源,设置示波器模块的触发电平、采样频率;

s4:对被测fpga进行所选项目的测试;

s4.1:对被测fpga进行所选项目的功能测试,激励fpga以串行方式配置ddr3缓存中的测试用例到待测fpga芯片中,然后通过nipcie工控机发送控制命令,控制激励fpga中时钟模块根据测试需求产生特定频率时钟,在该时钟频率下,误码测试模块的误码发生模块产生的prbs序列作为待测试fpga的激励输入,该序列在待测试fpga的测试用例中处理后,输出串行序列,串行序列输出到误码测试模块的误码接收模块,通过在用户定义时间段内误码测试模块有无误码来确定是否通过该频率下的功能测试;

s4.2:对被测fpga进行所选项目的性能测试;

s4.2.1:对被测fpga进行所选项目的最大工作频率方面的性能测试,激励fpga以串行方式配置ddr3缓存中测试用例到待测试fpga中,然后通过nipcie工控机发送控制命令,控制激励fpga中时钟模块根据测试需求产生不同时钟,时钟按照最大频率设计指标进行折半发生,在该时钟频率下,误码测试模块的误码发生模块产生prbs序列作为待测试fpga的激励输入,该序列在待测试fpga测试用例处理后,输出到误码测试模块的误码接收模块,通过在用户定义时间段内误码测试模块有无误码来确定是否通过该频率下的功能测试;

s4.2.2:对被测fpga进行所选项目的输出延迟时间、占空比、输出上升、下降时间方面的性能测试,激励fpga以串行方式配置ddr3缓存中测试用例到待测试fpga中,然后通过nipcie工控机发送控制命令,控制激励fpga中时钟模块根据测试需求产生50m时钟作为待测试fpga的激励输入,将待测试fpga的测试用例通过sma连接线发送至到示波器模块,读取示波器模块上的时间参数;

s5:根据测试项目和测试项目对应的判决标准,判断测试过程为正常或异常,正常时,继续测试,异常时,根据判决标准确定退出或忽略;

s6:保存测试记录,跳转到第2步,继续下一个项目直至测试全部完成。

本发明基于pcie工控机平台,在工控机内部集成3upcie电源模块作为待测fpga的clb测试时候的可控电源用于电源方面参数测试;3upcie示波器模块测试clb交直流模拟参数;在clb测试板载硬件平台上的激励fpga内部集成误码测试模块以满足clb功能测试需求;利用激励fpga内部的时钟模块产生可变时钟,满足clb测试时对参考时钟的需求从而完成对fpga上clb的全功能、全性能测试,实现测试的低成本、小型化。

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