FPGA存储资源测试系统、方法及装置与流程

文档序号:11112019阅读:413来源:国知局
FPGA存储资源测试系统、方法及装置与制造工艺

本发明涉及可编程逻辑阵列(FPGA)技术领域,特别是涉及一种FPGA存储资源测试系统、方法及装置。



背景技术:

FPGA由于其具有可编程、灵活性及高吞吐量等特性广泛应用于数字信号采集、压缩、传输及处理等领域。为了验证FPGA是否达到预期的技术指标,需要对FPGA器件进行测试。依据测试目的的不同可以分为达标测试和摸高测试,达标测试是为了验证FPGA器件与技术指标的符合性,而摸高测试则是为了验证FPGA器件超出预期技术指标的余量,其反映了FPGA器件的实际性能。

传统方法对FPGA器件的片内存储资源进行测试时,涉及输入激励模块、待测模块及输出比较模块,在高速FPGA器件的测试中,为了保证测试系统时序能够正常收敛,各个模块之间的信号交互显得尤为重要。然而对于高速FPGA器件,当待测的FPGA片内存储资源的速度越来越高时,除待测存储资源模块之外的其它资源限制了测试速度的提升,因此存在时序收敛较难以保证、极限速度测试难以达到的问题,难以保障测试质量。



技术实现要素:

基于此,本发明实施例提供了FPGA存储资源测试系统、方法及装置,能够提升测试时序收敛特性。

本发明一方面提供一种FPGA存储资源测试系统,包括:

时钟管理模块、数据激励模块、跨时钟域数据传输模块、数据比较模块以及结果显示模块;

所述时钟管理模块用于向所述数据激励模块和结果显示模块提供第一时钟信号,以及向所述数据比较模块和FPGA片内的待测存储资源提供第二时钟信号;所述第二时钟信号的时钟频率高于所述第一时钟信号的时钟频率;

所述数据激励模块用于产生随机数据,并将所述随机数据缓存到所述跨时钟域数据传输模块;

所述待测存储资源从所述跨时钟域数据传输模块读取所述随机数据,并根据读取到的随机数据进行写操作;

所述数据比较模块用于从所述跨时钟域数据传输模块读取所述随机数据,以及读取写入所述待测存储资源的数据,将读取到的写数据与读取到的随机数据进行比较,根据比较结果判断所述待测存储资源在第二时钟信号下的读写测试是否合格;

所述结果显示模块用于对所述待测存储资源的所述读写测试结果进行显示。

本发明另一方面提供一种FPGA存储资源测试方法,包括:

向预设的数据激励模块提供第一时钟信号,同时向FPGA片内的待测存储资源提供第二时钟信号;所述第二时钟信号的时钟频率高于所述第一时钟信号的时钟频率;

在第二时钟信号下读取所述数据激励模块在第一时钟信号下产生的随机数据,并读取所述待测存储资源在第二时钟信号下根据所述数据激励模块产生的随机数据进行写操作的写数据;

将读取到的写数据与读取到的随机数据进行比较,根据比较结果判断所述待测存储资源在第二时钟信号下的读写测试是否合格。

本发明又一方面提供一种FPGA存储资源测试装置,包括:

时钟控制单元,用于向预设的数据激励模块提供第一时钟信号,同时向FPGA片内的待测存储资源提供第二时钟信号;所述第二时钟信号的时钟频率高于所述第一时钟信号的时钟频率;

数据获取单元,用于在第二时钟信号下读取所述数据激励模块在第一时钟信号下产生的随机数据,并读取所述待测存储资源在第二时钟信号下根据所述数据激励模块产生的随机数据进行写操作的写数据;

判断单元,用于将读取到的写数据与读取到的随机数据进行比较,根据比较结果判断所述待测存储资源在第二时钟信号下的读写测试是否合格。

基于上述实施例提供的FPGA存储资源测试系统、方法及装置,向所述数据激励模块和结果显示模块提供第一时钟信号,以及向所述数据比较模块和FPGA片内的待测存储资源提供第二时钟信号;所述第二时钟信号的时钟频率高于所述第一时钟信号的时钟频率;通过所述跨时钟域数据传输模块用于实现第一时钟信号的时钟域与第二时钟信号的时钟域的数据传输。由此能够减少其它资源的对待测存储资源模块的速度影响,提升测试时序收敛特性。

附图说明

图1为一实施例的FPGA存储资源测试系统的示意性结构图;

图2为另一实施例的FPGA存储资源测试系统的示意性结构图;

图3为另一实施例的FPGA存储资源测试系统的示意性结构图;

图4为一实施例的FPGA存储资源测试方法的示意性流程图;

图5为一实施例的FPGA存储资源测试装置的示意性结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为一实施例的FPGA存储资源测试系统的示意性结构图;如图1所示,本实施例中的FPGA存储资源测试系统包括:时钟管理模块、数据激励模块、跨时钟域数据传输模块、数据比较模块以及结果显示模块。其中各模块以及基于所述系统的测试原理说明如下。

其中,所述时钟管理模块用于向所述数据激励模块和结果显示模块提供第一时钟信号CLK1,以及向所述数据比较模块和FPGA片内的待测存储资源提供第二时钟信号CLK2;所述第二时钟信号CLK2的时钟频率高于所述第一时钟信号CLK1的时钟频率。在实际应用中,CLK1可以与外部输入时钟信号同频率,CLK2采用倍频技术实现。通过低频时钟域用来驱动数据激励模块和结果显示模块,通过高频时钟域用来驱动待测存储资源和数据比较模块,其目的是以较低的时钟频率来保证数据激励模块具备较好的时序收敛特性。

基于上述系统的测试原理为:所述数据激励模块用于产生随机数据,并将所述随机数据缓存到所述跨时钟域数据传输模块。所述待测存储资源从所述跨时钟域数据传输模块读取所述随机数据,并根据读取到的随机数据进行写操作;所述数据比较模块用于从所述跨时钟域数据传输模块读取所述随机数据,以及读取写入所述待测存储资源的数据,将读取到的写数据与读取到的随机数据进行比较,根据比较结果判断所述待测存储资源在第二时钟信号下的读写测试是否合格,将读写测试结果输出至结果显示模块;所述结果显示模块用于对所述待测存储资源的所述读写测试结果进行显示。

其中,所述跨时钟域数据传输模块用于实现第一时钟信号的时钟域与第二时钟信号的时钟域的数据传输;在一优选实施例中,所述跨时钟域数据传输模块采用双口RAM(Random Access Memory)或者FIFO(First-Input-First-Output)存储器实现。在实际测试中,还可以与待测存储资源一样采用FPGA器件的片内存储资源。

在一优选实施例中,在所述数据比较模块中,将读取到的写数据与读取到的随机数据进行比较,根据比较结果判断所述待测存储资源在第二时钟信号下的读写测试是否合格的实施方式可为:若本次从所述待测存储资源读取到的数据与本次从所述跨时钟域数据传输模块读取到的随机数据一致,则判断为所述待测存储资源的本次读写测试通过,否则,判断为所述待测存储资源的本次读写测试不通过。

在一优选实施例中,待测存储资源在FPGA器件片内中可以配置为RAM、FIFO存储器、移位寄存器等。

在一优选实施例中,参考图2所示,所述FPGA存储资源测试系统包括至少两组数据激励模块、跨时钟域数据传输模块和数据比较模块。所述至少两组数据激励模块、跨时钟域数据传输模块和数据比较模块均输出读写测试结果至所述结果显示模块。并且,所述至少两组数据激励模块、跨时钟域数据传输模块和数据比较模块,分别与至少两个待测存储资源一一对应。由此通过实现对大规模待测存储资源的测试,测试效率高。

基于上述实施例提供的FPGA存储资源测试系统,时钟管理模块用于向所述数据激励模块和结果显示模块提供第一时钟信号,以及向所述数据比较模块和FPGA片内的待测存储资源提供第二时钟信号;所述第二时钟信号的时钟频率高于所述第一时钟信号的时钟频率;所述跨时钟域数据传输模块用于实现第一时钟信号的时钟域与第二时钟信号的时钟域的数据传输。由此能够减少其它逻辑资源的对待测存储资源模块的速度影响,提升测试时序收敛特性;并且能够适应大规模存储资源的测试,测试覆盖率好、操作简单、实施成本低。

下面结合图2,对本发明实施例的FPGA存储资源测试系统及其测试原理做进一步的说明。

如图2所示,所述FPGA存储资源测试系统包括n组数据激励模块、跨时钟域数据传输模块和数据比较模块,分别用于测试待测存储资源1~待测存储资源n。n组数据激励模块、跨时钟域数据传输模块和数据比较模块均由同一个时钟管理模块提供时钟信号。具体的,该系统的测试原理如下:

时钟管理模块(图2中标识①):时钟管理模块的作用是通过输入一个外部信号源来输出两个跨时钟域的时钟信号,低频时钟域用来驱动激励和显示模块,高频时钟域用来驱动待测存储资源和数据比较模块。在实际应用中,CLK1可以与外部输入时钟信号同频率,CLK2采用倍频技术实现。

跨时钟域数据传输模块(图2中标识②):该模块可采用双口RAM或者FIFO存储器实现,目的是实现不同时钟域的数据传输。在实际测试中,其可以与待测存储资源一样采用FPGA器件的片内存储资源。

低频时钟域(图2中标识③):CLK1为低频时钟域,其目的是以较低的时钟频率来保证数据激励模块具备较好的时序收敛特性。

高频时钟域(图2中标识④):CLK2为高频时钟域,为了实现对FPGA器件高速片内存储资源的速度测试,需要采用高频时钟域对FPGA器件的片内存储资源进行数据读写测试。

待测存储资源扁平化划分(图2中标识⑤):把FPGA器件片内存储资源划分为n个较小的存储资源分别进行测试,通过此种方式可以降低存储资源的地址长度,有利于测试系统收敛在一个较高的工作频率上,避免除待测存储资源以外的其它逻辑资源在测试速度上的限制。通过采用该划分方法可以实现对FPGA器件内部大规模存储资源的速度测试,并满足测试系统时序收敛要求。

随机数据激励模块(图2中标识⑥):该模块产生供待测存储资源读写测试的随机数据。

待测存储资源模块(图2中标识⑦):待测存储资源在FPGA器件片内中可以配置为RAM、FIFO、移位寄存器等。

数据比较模块(图2中标识⑧):该模块把从待测存储资源读取到的写数据与预期的数据(即数据激励模块产生的随机数)进行比较,根据比较结果判定待测存储资源的读写操作是否正确,为了保证数据的吞吐量和处理的实时性,其工作在高频时钟域。

结果显示模块(图2中标识⑨):该模块把不同数据比较模块输出的结果进行处理,并通过一定的方式进行显示,以便观察结果。

在另一优选实施例中,参考图3所示,不同于图2的FPGA存储资源测试系统,可设置两个时钟管理模块,以更适应于FPGA器件片内存储资源速度的摸高测试。其中,第一时钟管理子模块用于向所述数据激励模块和结果显示模块提供第一时钟信号;第二时钟管理子模块用于向所述数据比较模块和FPGA片内的待测存储资源提供所述第二时钟信号。图3中通过两个时钟管理模块来驱动不同的时钟域,其中CLK2时钟域可以不断增加外部输入时钟信号频率,以便实现对待测存储资源速度的摸高测试。

本发明上述实施例提出了跨时钟域的FPGA器件片内存储资源速度测试系统,针对提升FPGA器件存储资源测试系统的时序余量,设计了扁平化测试策略,尽可能减少激励模块、控制模块及显示模块对测试系统速度的限制。并且通过采用跨时钟域设计,可以把测试系统的数据激励模块、结果显示模块与待测存储资源模块分离开来,使外围的数据激励模块及结果显示模块工作在较低的时钟频率上,避免外围测试控制信号、激励信号及显示信号对高速待测存储资源速度测试的影响,提升时序余量;以及,通过采用扁平化测试策略可以提升测试系统时序余量,以便实现在满足测试系统时序要求的前提下对高速大规模FPGA器件的存储资源进行全覆盖率的测试。此外,本发明上述实施例的FPGA存储资源测试系统及方法,能够覆盖对FPGA器件片内存储资源的速度达标项测试及速度摸高项测试。

基于上述实施例中的FPGA存储资源测试系统的思想,本发明还提供了一种FPGA存储资源测试方法的实施例。如图4所示,本实施例的FPGA存储资源测试方法包括步骤:

S11,向预设的数据激励模块提供第一时钟信号,同时向FPGA片内的待测存储资源提供第二时钟信号;所述第二时钟信号的时钟频率高于所述第一时钟信号的时钟频率;

S12,在第二时钟信号下读取所述数据激励模块在第一时钟信号下产生的随机数据,并读取所述待测存储资源在第二时钟信号下根据所述数据激励模块产生的随机数据进行写操作的写数据;

S13,将读取到的写数据与读取到的随机数据进行比较,根据比较结果判断所述待测存储资源在第二时钟信号下的读写测试是否合格。

在一优选实施例中,步骤S11中还包括:同时向预设的结果显示模块提供第一时钟信号;对应的,在步骤S13之后还包括步骤:将读写测试结果发送至所述结果显示模块,通过所述结果显示模块在第一时钟信号下对读写测试结果进行显示。

通过上述实施例的FPGA存储资源测试方法,通过不同的时钟信号将数据激励模块与待测存储资源模块分离开来,使外围的数据激励模块工作在较低的时钟频率上,避免外围测试控制信号、激励信号及显示信号对高速待测存储资源速度测试的影响,可提升时序余量。

需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。此外,还可对上述实施例进行任意组合,得到其他的实施例。

基于与上述实施例中的FPGA存储资源测试方法相同的思想,本发明还提供FPGA存储资源测试装置,该装置可用于执行上述FPGA存储资源测试方法。为了便于说明,FPGA存储资源测试装置实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

图5为本发明一实施例的FPGA存储资源测试装置的示意性结构图;如图5所示,本实施例的FPGA存储资源测试装置包括:时钟管理模块和跨时钟域数据传输模块,还包括分别与所述时钟管理模块连接的数据激励模块、时钟控制单元510、数据获取单元520以及判断单元530。各模块说明如下:

上述时钟控制单元510,用于向预设的数据激励模块提供第一时钟信号,同时向FPGA片内的待测存储资源提供第二时钟信号;所述第二时钟信号的时钟频率高于所述第一时钟信号的时钟频率;

上述数据获取单元520,用于在第二时钟信号下读取所述数据激励模块在第一时钟信号下产生的随机数据,并读取所述待测存储资源在第二时钟信号下根据所述数据激励模块产生的随机数据进行写操作的写数据;

上述判断单元530,用于将读取到的写数据与读取到的随机数据进行比较,根据比较结果判断所述待测存储资源在第二时钟信号下的读写测试是否合格。

需要说明的是,上述示例的FPGA存储资源测试装置的实施方式中,各模块之间的信息交互、执行过程等内容,由于与本发明前述方法实施例基于同一构思,其带来的技术效果与本发明前述方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

此外,上述示例的FPGA存储资源测试装置的实施方式中,各功能模块的逻辑划分仅是举例说明,实际应用中可以根据需要,例如出于相应硬件的配置要求或者软件的实现的便利考虑,将上述功能分配由不同的功能模块完成,即将所述FPGA存储资源测试装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。其中各功能模既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,作为独立的产品销售或使用。所述程序在执行时,可执行如上述各方法的实施例的全部或部分步骤。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上所述实施例仅表达了本发明的几种实施方式,不能理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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