CN110569162A - 一种通信领域中fpga的自动测试方法及装置 - Google Patents

一种通信领域中fpga的自动测试方法及装置 Download PDF

Info

Publication number
CN110569162A
CN110569162A CN201810573996.3A CN201810573996A CN110569162A CN 110569162 A CN110569162 A CN 110569162A CN 201810573996 A CN201810573996 A CN 201810573996A CN 110569162 A CN110569162 A CN 110569162A
Authority
CN
China
Prior art keywords
data
fpga
test
ddr
parameters
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
Application number
CN201810573996.3A
Other languages
English (en)
Other versions
CN110569162B (zh
Inventor
宋杰
何少清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Datang Mobile Communications Equipment Co Ltd
Original Assignee
Datang Mobile Communications Equipment Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Datang Mobile Communications Equipment Co Ltd filed Critical Datang Mobile Communications Equipment Co Ltd
Priority to CN201810573996.3A priority Critical patent/CN110569162B/zh
Publication of CN110569162A publication Critical patent/CN110569162A/zh
Application granted granted Critical
Publication of CN110569162B publication Critical patent/CN110569162B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • G06F11/2635Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers using a storage for the test inputs, e.g. test ROM, script files

Abstract

本发明实施例公开了一种通信领域中FPGA的自动测试方法及装置,方法包括:获取当前测试用例的参数及数据,并向现场可编程门阵列FPGA发送测试启动指令,以使FPGA在DDR中写入数据;在每个时隙的预设时间段内将当前测试用例的参数及数据发送至FPGA,以使FPGA根据当前测试用例的参数及数据进行逻辑运算并在DDR中写入数据;经过预设运行时间段后,向FPGA发送测试结束指令,以使FPGA根据测试结束指令停止在DDR中写入数据;获取DDR中的数据,将DDR中的数据转换为数据文件,并将数据文件存储至固态硬盘SSD中。自动化进行测试,极大地提高了用例测试的执行效率,且能够代替了人工抓取、拼接、比对过程,提高对比精度,避免了由于人工疏漏引发的错误。

Description

一种通信领域中FPGA的自动测试方法及装置
技术领域
本发明实施例涉及通信技术领域,具体涉及一种通信领域中FPGA的自动测试方法及装置。
背景技术
通信技术的物理层实现中,由于具有极强的实时性和并行处理能力,FPGA(Field-Programmable Gate Array,现场可编程门阵列)芯片在无线通信领域有广泛的应用。FPGA的基本功能模块是由N输入的查找表,存储数据的触发器和复路器等组成。在正确的设置下,这三个部分各司其职。查找表能够通过对数据的读取实现输入数据的任意布尔函数;触发器则用来存储数据,如有限状态机的状态信息;复路器可以选择不同的输入信号进行组合,将查找表和触发器用可编程的布线资源连接起来,可以实现不同的组合逻辑和时序逻辑。由于FPGA内部结构的特点,它可以很容易地实现分布式的算法结构,这一点对于实现无线通信中的高速数字信号处理十分有利。因为在无线通信系统中,许多功能模块通常都需要大量的滤波运算,而这些滤波函数往往需要大量的乘和累加操作。而通过FPGA来实现分布式的算术结构,就可以有效地实现这些乘和累加操作。
因此FPGA易测试性就变得很重要。要获得的FPGA内部信号十分有限、FPGA封装和印刷电路板(PCB)电气噪声,这一切使得设计调试和检验变成设计中最困难的一个流程。另一方面,当前几乎所有的像CPU、DSP、ASIC等高速芯片的总线,除了提供高速并行总线接口外,正迅速向高速串行接口的方向发展,FPGA也不例外。每一条物理链路的速度从600Mbps到10Gbps,高速I/O的测试和验证更成为传统专注于FPGA内部逻辑设计的设计人员所面临的巨大挑战。这些挑战使设计人员非常容易地将绝大部分设计时间放在调试和检验设计上。
现有的在线FPGA调试方法主要使用嵌入式逻辑分析仪。嵌入式逻辑分析仪内核主要的FPGA厂商针对器件的在线调试都提供了嵌入式逻辑分析仪内核,这些知识产权模块插入FPGA设计中,同时提供触发功能和存储功能。它们使用FPGA逻辑资源实现触发电路;使用FPGA存储模块实现存储功能;使用JTAG配置内核操作,并用它将捕获的数据传送到PC上进行查看。但是每个厂商的逻辑分析仪的IP核不同,使用方式不同,不可复用,针对少量数据暂时可以满足需求,但是遇到调试和测试需要分析数据量比较大的场景,就满足不了需求,且嵌入式逻辑分析仪采集数据越多耗费的逻辑资源越大,同时数据保存困难。
另外,在基站下行FPGA的逻辑开发及调试过程中,需要针对不同的场景进行测试。具体测试过程是根据不同场景规划出不同的测试用例及配套算法结果,然后将此用例输入参数及数据导入FPGA逻辑入口,从出口采集数据与算法结果比对。若比对结果相同,说明FPGA逻辑在此场景中功能正常。而此测试过程最困难的部分就是如何将数据输入FPGA逻辑入口和将出口数据采集保存。以往的方法就是通过ROM将输入参数、输入数据整合到FPGA工程中,使用FPGA厂商自带的DEBUG软件抓取输出数据。每个新工程编译及布线时间为6至7个小时,并且测试模块耗费很大的逻辑资源。另外在最终时域数据抓数过程中需要分步抓取并拼接,耗费极大精力和时间,大约需要3到4小时。因此,现有的测试方法每天仅能测试一组用例,极大的延缓了开发进程。
发明内容
由于现有方法存在上述问题,本发明实施例提出一种通信领域中FPGA的自动测试方法及装置。
第一方面,本发明实施例提出一种通信领域中FPGA的自动测试方法,包括:
获取当前测试用例的参数及数据,并向现场可编程门阵列FPGA发送测试启动指令,以使所述FPGA根据所述测试启动指令建立小区并在双倍速率同步动态随机存储器DDR中写入数据;
在每个时隙的预设时间段内将所述当前测试用例的参数及数据发送至所述FPGA,以使所述FPGA根据所述当前测试用例的参数及数据进行逻辑运算并在所述DDR中写入数据;
经过预设运行时间段后,向所述FPGA发送测试结束指令,以使所述FPGA根据所述测试结束指令停止在所述DDR中写入数据;
获取所述DDR中的数据,将所述DDR中的数据转换为数据文件,并将所述数据文件存储至固态硬盘SSD中。
可选地,所述获取当前测试用例的参数及数据,并向现场可编程门阵列FPGA发送测试启动指令,以使所述FPGA根据所述测试启动指令建立小区并在双倍速率同步动态随机存储器DDR中写入无效数据,具体包括:
获取当前测试用例的参数及数据,并向现场可编程门阵列FPGA发送测试启动指令,以使所述FPGA根据所述测试启动指令建立小区并从下一无线帧开始在所述DDR中写入无效数据;
相应地,所述经过预设运行时间段后,向所述FPGA发送测试结束指令,以使所述FPGA根据所述测试结束指令停止在所述DDR中写入数据,具体包括:
经过预设运行时间段后,向所述FPGA发送测试结束指令,以使所述FPGA根据所述测试结束指令写完当前无线帧后停止在所述DDR中写入数据。
可选地,所述获取所述DDR中的数据,将所述DDR中的数据转换为数据文件,并将所述数据文件存储至固态硬盘SSD中之后,还包括:
若判断获知所述FPGA的测试用例已测试完毕,则自动获取下一测试用例的参数及数据进行测试。
可选地,所述在每个时隙的预设时间段内将所述当前测试用例的参数及数据发送至所述FPGA,具体包括:
通过高速串行计算机扩展总线标准PCIE在每个时隙的预设时间段内将所述当前测试用例的参数及数据发送至所述FPGA。
第二方面,本发明实施例还提出一种通信领域中FPGA的自动测试装置,包括:
测试启动模块,用于获取当前测试用例的参数及数据,并向现场可编程门阵列FPGA发送测试启动指令,以使所述FPGA根据所述测试启动指令建立小区并在双倍速率同步动态随机存储器DDR中写入无效数据;
数据发送模块,用于在每个时隙的预设时间段内将所述当前测试用例的参数及数据发送至所述FPGA,以使所述FPGA根据所述当前测试用例的参数及数据进行逻辑运算并在所述DDR中写入有效数据;
测试结束模块,用于经过预设运行时间段后,向所述FPGA发送测试结束指令,以使所述FPGA根据所述测试结束指令停止在所述DDR中写入数据;
数据存储模块,用于获取所述DDR中的数据,将所述DDR中的数据转换为数据文件,并将所述数据文件存储至固态硬盘SSD中。
可选地,所述测试启动模块具体用于获取当前测试用例的参数及数据,并向现场可编程门阵列FPGA发送测试启动指令,以使所述FPGA根据所述测试启动指令建立小区并从下一无线帧开始在所述DDR中写入无效数据;
相应地,所述测试结束模块具体用于经过预设运行时间段后,向所述FPGA发送测试结束指令,以使所述FPGA根据所述测试结束指令写完当前无线帧后停止在所述DDR中写入数据。
可选地,所述装置还包括:
自动测试模块,用于若判断获知所述FPGA的测试用例已测试完毕,则自动获取下一测试用例的参数及数据进行测试。
可选地,所述数据发送模块具体用于通过高速串行计算机扩展总线标准PCIE在每个时隙的预设时间段内将所述当前测试用例的参数及数据发送至所述FPGA。
第三方面,本发明实施例还提出一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述方法。
第四方面,本发明实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述方法。
由上述技术方案可知,本发明实施例通过处理器获取当前测试用例的参数及数据,启动FPGA向DDR中写入无效数据,并在每个时隙的预设时间段内向FPGA发送参数及数据,控制FPGA向DDR中写入有效数据,待无效数据被全部覆盖后,停止测试,并将有效数据转换为数据文件存储至SSD中,自动化进行测试,极大地提高了用例测试的执行效率,且能够代替了人工抓取、拼接、比对过程,提高对比精度,避免了由于人工疏漏引发的错误。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明一实施例提供的一种通信领域中FPGA的自动测试方法的流程示意图;
图2为本发明一实施例提供的一种通信领域中FPGA的自动测试方法的测试框图;
图3为本发明一实施例提供的一种乒乓结构的时域数据存储结构的示意图;
图4为本发明一实施例提供的一种乒乓结构的时序示意图;
图5为本发明一实施例提供的一种帧对齐的DDR存储结构示意图;
图6为本发明一实施例提供的一种帧同步的时序示意图;
图7为本发明一实施例提供的一种通信领域中FPGA的自动测试装置的结构示意图;
图8为本发明一实施例提供的电子设备的逻辑框图。
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
图1示出了本实施例提供的一种通信领域中FPGA的自动测试方法的流程示意图,包括:
S101、获取当前测试用例的参数及数据,并向现场可编程门阵列FPGA发送测试启动指令,以使所述FPGA根据所述测试启动指令建立小区并在DDR(Double Data Rate,双倍速率同步动态随机存储器)中写入数据。
其中,所述参数及数据为用于测试的配置参数和测试数据。
所述测试启动指令为处理器生成的用于控制FPGA启动测试的指令。
具体地,处理器对每一个测试用例进行测试的过程中,首先获取当前测试用例的参数及数据,然后向FPGA发送测试启动指令,FPGA接收到测试启动指令后,建立小区用于测试,并将生成的数据写入DDR中,此处写入的数据为与本次测试无关的无效数据。
S102、在每个时隙的预设时间段内将所述当前测试用例的参数及数据发送至所述FPGA,以使所述FPGA根据所述当前测试用例的参数及数据进行逻辑运算并在所述DDR中写入数据。
其中,所述预设时间段为预先设定的每个时隙内的固定时间段。
需要说明的是,此处FPGA写入DDR中的数据为与本次测试有关的有效数据。
举例来说,x86处理器向FPGA下发测试用例的参数及数据时,在每个时隙的150us前下发完毕。
S103、经过预设运行时间段后,向所述FPGA发送测试结束指令,以使所述FPGA根据所述测试结束指令停止在所述DDR中写入数据。
其中,所述测试结束指令为处理器生成的用于控制FPGA结束测试的指令。
具体地,经过预设运行时间段后,当DDR中的无效数据均被覆盖后,能够保证后续生成的测试结果的正确性。
S104、获取所述DDR中的数据,将所述DDR中的数据转换为数据文件,并将所述数据文件存储至固态硬盘SSD中。
其中,所述数据文件为将DDR中的数据转换后生成的文件。
具体地,通过将DDR中的数据转换为数据文件后,方便存储和后续的处理,通过将数据文件存储至SSD中,便于后续随时获取该数据文件。
本实施例通过处理器获取当前测试用例的参数及数据,启动FPGA向DDR中写入无效数据,并在每个时隙的预设时间段内向FPGA发送参数及数据,控制FPGA向DDR中写入有效数据,待无效数据被全部覆盖后,停止测试,并将有效数据转换为数据文件存储至SSD中,自动化进行测试,极大地提高了用例测试的执行效率,且能够代替了人工抓取、拼接、比对过程,提高对比精度,避免了由于人工疏漏引发的错误。
进一步地,在上述方法实施例的基础上,S101具体包括:
获取当前测试用例的参数及数据,并向现场可编程门阵列FPGA发送测试启动指令,以使所述FPGA根据所述测试启动指令建立小区并从下一无线帧开始在所述DDR中写入无效数据;
相应地,S103具体包括:
经过预设运行时间段后,向所述FPGA发送测试结束指令,以使所述FPGA根据所述测试结束指令写完当前无线帧后停止在所述DDR中写入数据。
具体地,为了保证时域数据的完整性,以x86处理器为例,x86处理器从DDR搬运时域数据时,需要保证FPGA写DDR操作停止,因此需要x86处理器发送“开启/关闭测试通道”命令。考虑到下发“关闭测试通道”命令时,FPGA正在写DDR,有可能影响写入数据完整性,因此最终读取至SSD的数据,需要完整准确的反应一个无线帧的时域数据。
进一步地,在上述方法实施例的基础上,S104之后,还包括:
S105、若判断获知所述FPGA的测试用例已测试完毕,则自动获取下一测试用例的参数及数据进行测试。
本实施例将每个用例测试所需的小区参数、用户参数以及TB_DATA准时准确下发至FPGA,并将FPGA计算产生的时域数据采集并保存为方便比对的数据文件,在每个用例打桩及存数完成后,自动切换至下一个需要测试的用例,能够实现一次操作即可实现所有用例的测试,中间不需要人为介入。
具体地,在实现多组测试用例的打桩测试时,每个测试用例的测试流程具体包含几个步骤:参数配置、数据打桩、逻辑运算、时域数据存储及保存,具体流程如图2所示。
参数配置是指每个用例开始前,需要配置小区参数,开启时域数据DDR存储。
数据打桩是指每个用例包含一个无线帧需要调用的参数及数据,在某个用例测试过程中,处理器以10ms为单位反复将当前测试用例的数据及参数发送给FPGA。
逻辑运算是指FPGA根据打桩数据及参数,逻辑运算得出时域数据。
时域数据存储及保存是指FPGA将时域数据保存至DDR,x86通过PCIE读取并按用例分别保存为数据文件至SSD。
某组测试用例测试流程结束后,自动开始下一组测试用例测试流程,直至所有用例测试完毕。
举例来说,在具体测试过程中,x86处理器首先从DDR中读取当前用例参数及数据至内存;然后通过SPI下发小区参数并发送“开启测试通道”命令,FPGA小区建立并开始写DDR,此时无用户参数及数据,写入DDR的时域数据为无效数据;接着x86处理器通过PCIE于每个时隙前150us内下发用户参数及数据,FPGA开始逻辑运算,并在DDR中写入有效时域数据;等待至DDR中有效数据完全覆盖无效数据,x86处理器发送“关闭测试通道”命令,FPGA停止向DDR中写入时域数据;最后x86处理器通过PCIE从DDR中读取一个无线帧的时域数据,存储为数据文件并以用例号命名于SSD中。
开始下一个用例测试,重复上述步骤,直至所有用例测试并保存完毕。
整个测试流程用伪代码表示如下:
进一步地,在上述方法实施例的基础上,S102具体包括:
通过PCIE在每个时隙的预设时间段内将所述当前测试用例的参数及数据发送至所述FPGA。
通过PCIE方便发送当前测试用例的参数及数据。
具体地,x86处理器从DDR搬运数据时,需要保证FPGA写DDR操作停止,并且保证数据完整性。针对此需求本实施例设计了两个方案,分别是基于乒乓结构的方案和基于帧对齐的方案。
乒乓结构的时域数据存储结构如图3所示,在DDR中开辟一块可以存储两帧时域数据的区域,当FPGA收到x86处理器下发的“开启测试通道”命令后,依次轮流在这两个区域写入10ms的时域数据。由于每个无线帧的时域数据相同,则在开始写入有效时域数据足够长时间后,DDR中两个区域的数据会存为测试所需求的数据。
当FPGA收到x86下发的“关闭测试通道”命令后,即停止向DDR写入数据。此时有可能造成DDR数据错误或丢失,而写DDR地址停留在某个区块中。向x86发送另一个区块号的基地址,x86读出的数据为上一个无线帧存储的时域数据。乒乓结构的具体时序示意图如图4所示。
帧对齐的DDR存储结构如图5所示,在DDR中开辟一块可以存储10ms时域数据的区域,当FPGA收到x86下发的“开启测试通道”命令后,从下一帧开始每个无线帧反复往此区域写入时域数据。由于每个无线帧的时域数据相同,则在开始写入有效时域数据足够长时间后,DDR中此区域的数据会存为测试所需求的数据。
当FPGA收到x86下发的“关闭测试通道”命令后,写完当前无线帧后才停止向DDR写入数据。这时候x86从DDR中读出的数据是一个完整的无线帧时域数据。帧对齐结构的具体时序示意图如图6所示。
在具体的实现过程中,x86处理器从本地读取当前用例参数及数据至内存后,执行以下步骤:
A1、通过OSP消息从X86的DDR高端内存中申请25M的空间用于存储用例的用户参数及数据参数,其中起始5M用于缓存用户参数,剩余20M用于缓存TB_BLOCK数据。
A2、每次自动打桩测试前将相应用例的小区参数通过SPI直接配置给FPGA的寄存器。
A3、将本地PC内存中对应用例的用户参数按照预定规则读取并放入X86的DDR内存中。根据总体设计最终需要调用PCIE将缓存数据传送给FPGA,且PCIE内部限定一次传送的数据包大小为128bit,所以需要获取文件的大小。若文件大小不是128bit的整数倍则需要将文件大小记为128和文件实际大小的最小公倍数。将本地PC内存中的1个系统帧(20个slot)的用户参数按照和FPGA事先约定的规则通过读文件的方式循环缓存到X86的DDR内存中,并且每个用户参数在X86的DDR内存中紧密排列。在这个循环缓存的过程记录每个slot的用户参数文件的最终大小和在DDR内存中的起始地址。每次缓存完后检查所有用户数据大小是否超过5M,若超过则发出错误告警,并直接跳出流程。
A4、将本地PC内存中对应用例的TB_BLOCK数据参数按照预定规则读取并放入X86的DDR内存中。由于X86和FPGA对特殊子帧的时隙组成理解不同,X86理解特殊子帧由3个slot组成,而FPGA理解由2个slot组成;且对于TB_BLOCK数据,X86只需将下行帧的每slot对应的TB_BLOCK数据参数缓存到DDR内存中,所以需要将系统slot号和TB_BLOCK数据参数的slot号一一对应起来。然后将本地PC内存中的14个slot的TB_BLOCK数据参数按照和FPGA事先约定的规则通过读文件的方式循环缓存到DDR的剩余20M内存中,并且每个slot的TB数据参数在DDR内存中依然紧密排列。在这个循环缓存过程中同样记录每个slot的TB数据参数文件的最终大小和在X86内存中的起始地址。每次缓存完后检查所有TB数据大小是否超过20M,若超过则发出错误告警,并直接跳出流程。
A5、置用例自动打桩开始标记。
X86通过PCIE于每个时隙前150us内下发用户参数及数据。每次自动化打桩测试需要获取驱动的500us中断来触发流程开始,以及中断消息中的slot号以便确定发送用户参数和TB_BLOCK数据参数的slot号。具体包括以下步骤:
B1、PCIE发送对应slot号的用户参数。通过Osp函数从PCIE内存中分配对应slot的用户参数大小的空间内存,然后通过Memcpy函数从X86的DDR内存地址中拷贝相应slot的用户参数到PCIE内存中,最后通过PCIE将用户参数数据发送到FPGA中。
B2、其次PCIE发送对应slot号的TB_BLOCK数据参数。将中断消息中的slot号的TB_BLOCK数据参数的slot号对齐,通过Osp函数从PCIE内存中分配空间用于存储对应slot的TB_BLOCK数据参数在X86的DDR内存中存储的起始地址和最终文件大小,最后通过PCIE将用户参数数据发送到FPGA中。
B3、通过SPI向FPGA发送“开启测试通道”命令,触发FPGA开始逻辑运算并将最终运算的时域数据写入DDR中。
B4、待1个无线帧的数据打桩完成后,关闭步骤B2分支。
待B2关闭后,系统等待1Min,以便给FPGA充分留出逻辑计算时间,具体包括以下步骤:
C1、1min后X86通过SPI向FPGA下发“关闭测试通道”命令。FPGA停止向DDR中写入时域数据。
C2、X86通过PCIE从DDR中读取FPGA计算的一个无线帧的时域数据,并按事先约定格式进行文件存储,存储为数据文件以用例号命名。
本实施例将需要保存的数据保存至DDR,采用无线通信技术中的按时隙及按帧保存,支持大量数据保存,提高了添加保存数据的灵活性和提取数据的完整性和便利性。
图7示出了本实施例提供的一种通信领域中FPGA的自动测试装置的结构示意图,所述装置包括:测试启动模块701、数据发送模块702、测试结束模块703和数据存储模块704,其中:
所述测试启动模块701用于获取当前测试用例的参数及数据,并向现场可编程门阵列FPGA发送测试启动指令,以使所述FPGA根据所述测试启动指令建立小区并在双倍速率同步动态随机存储器DDR中写入数据;
所述数据发送模块702用于在每个时隙的预设时间段内将所述当前测试用例的参数及数据发送至所述FPGA,以使所述FPGA根据所述当前测试用例的参数及数据进行逻辑运算并在所述DDR中写入数据;
所述测试结束模块703用于经过预设运行时间段后,向所述FPGA发送测试结束指令,以使所述FPGA根据所述测试结束指令停止在所述DDR中写入数据;
所述数据存储模块704用于获取所述DDR中的数据,将所述DDR中的数据转换为数据文件,并将所述数据文件存储至固态硬盘SSD中。
具体地,所述测试启动模块701获取当前测试用例的参数及数据,并向现场可编程门阵列FPGA发送测试启动指令,以使所述FPGA根据所述测试启动指令建立小区并在双倍速率同步动态随机存储器DDR中写入无效数据;所述数据发送模块702在每个时隙的预设时间段内将所述当前测试用例的参数及数据发送至所述FPGA,以使所述FPGA根据所述当前测试用例的参数及数据进行逻辑运算并在所述DDR中写入有效数据;所述测试结束模块703经过预设运行时间段后,向所述FPGA发送测试结束指令,以使所述FPGA根据所述测试结束指令停止在所述DDR中写入数据;所述数据存储模块704获取所述DDR中的数据,将所述DDR中的数据转换为数据文件,并将所述数据文件存储至固态硬盘SSD中。
本实施例通过处理器获取当前测试用例的参数及数据,启动FPGA向DDR中写入无效数据,并在每个时隙的预设时间段内向FPGA发送参数及数据,控制FPGA向DDR中写入有效数据,待无效数据被全部覆盖后,停止测试,并将有效数据转换为数据文件存储至SSD中,自动化进行测试,极大地提高了用例测试的执行效率,且能够代替了人工抓取、拼接、比对过程,提高对比精度,避免了由于人工疏漏引发的错误。
进一步地,在上述装置实施例的基础上,所述测试启动模块701具体用于获取当前测试用例的参数及数据,并向现场可编程门阵列FPGA发送测试启动指令,以使所述FPGA根据所述测试启动指令建立小区并从下一无线帧开始在所述DDR中写入无效数据;
相应地,所述测试结束模块703具体用于经过预设运行时间段后,向所述FPGA发送测试结束指令,以使所述FPGA根据所述测试结束指令写完当前无线帧后停止在所述DDR中写入数据。
进一步地,在上述装置实施例的基础上,所述装置还包括:
自动测试模块,用于若判断获知所述FPGA的测试用例已测试完毕,则自动获取下一测试用例的参数及数据进行测试。
进一步地,在上述装置实施例的基础上,所述数据发送模块702具体用于通过高速串行计算机扩展总线标准PCIE在每个时隙的预设时间段内将所述当前测试用例的参数及数据发送至所述FPGA。
本实施例所述的通信领域中FPGA的自动测试装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
参照图8,所述电子设备,包括:处理器(processor)801、存储器(memory)802和总线803;
其中,
所述处理器801和存储器802通过所述总线803完成相互间的通信;
所述处理器801用于调用所述存储器802中的程序指令,以执行上述各方法实施例所提供的方法。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种通信领域中FPGA的自动测试方法,其特征在于,包括:
获取当前测试用例的参数及数据,并向现场可编程门阵列FPGA发送测试启动指令,以使所述FPGA根据所述测试启动指令建立小区并在双倍速率同步动态随机存储器DDR中写入数据;
在每个时隙的预设时间段内将所述当前测试用例的参数及数据发送至所述FPGA,以使所述FPGA根据所述当前测试用例的参数及数据进行逻辑运算并在所述DDR中写入数据;
经过预设运行时间段后,向所述FPGA发送测试结束指令,以使所述FPGA根据所述测试结束指令停止在所述DDR中写入数据;
获取所述DDR中的数据,将所述DDR中的数据转换为数据文件,并将所述数据文件存储至固态硬盘SSD中。
2.根据权利要求1所述的方法,其特征在于,所述获取当前测试用例的参数及数据,并向现场可编程门阵列FPGA发送测试启动指令,以使所述FPGA根据所述测试启动指令建立小区并在双倍速率同步动态随机存储器DDR中写入无效数据,具体包括:
获取当前测试用例的参数及数据,并向现场可编程门阵列FPGA发送测试启动指令,以使所述FPGA根据所述测试启动指令建立小区并从下一无线帧开始在所述DDR中写入无效数据;
相应地,所述经过预设运行时间段后,向所述FPGA发送测试结束指令,以使所述FPGA根据所述测试结束指令停止在所述DDR中写入数据,具体包括:
经过预设运行时间段后,向所述FPGA发送测试结束指令,以使所述FPGA根据所述测试结束指令写完当前无线帧后停止在所述DDR中写入数据。
3.根据权利要求1所述的方法,其特征在于,所述获取所述DDR中的数据,将所述DDR中的数据转换为数据文件,并将所述数据文件存储至固态硬盘SSD中之后,还包括:
若判断获知所述FPGA的测试用例已测试完毕,则自动获取下一测试用例的参数及数据进行测试。
4.根据权利要求1所述的方法,其特征在于,所述在每个时隙的预设时间段内将所述当前测试用例的参数及数据发送至所述FPGA,具体包括:
通过高速串行计算机扩展总线标准PCIE在每个时隙的预设时间段内将所述当前测试用例的参数及数据发送至所述FPGA。
5.一种通信领域中FPGA的自动测试装置,其特征在于,包括:
测试启动模块,用于获取当前测试用例的参数及数据,并向现场可编程门阵列FPGA发送测试启动指令,以使所述FPGA根据所述测试启动指令建立小区并在双倍速率同步动态随机存储器DDR中写入数据;
数据发送模块,用于在每个时隙的预设时间段内将所述当前测试用例的参数及数据发送至所述FPGA,以使所述FPGA根据所述当前测试用例的参数及数据进行逻辑运算并在所述DDR中写入数据;
测试结束模块,用于经过预设运行时间段后,向所述FPGA发送测试结束指令,以使所述FPGA根据所述测试结束指令停止在所述DDR中写入数据;
数据存储模块,用于获取所述DDR中的数据,将所述DDR中的数据转换为数据文件,并将所述数据文件存储至固态硬盘SSD中。
6.根据权利要求5所述的装置,其特征在于,所述测试启动模块具体用于获取当前测试用例的参数及数据,并向现场可编程门阵列FPGA发送测试启动指令,以使所述FPGA根据所述测试启动指令建立小区并从下一无线帧开始在所述DDR中写入无效数据;
相应地,所述测试结束模块具体用于经过预设运行时间段后,向所述FPGA发送测试结束指令,以使所述FPGA根据所述测试结束指令写完当前无线帧后停止在所述DDR中写入数据。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
自动测试模块,用于若判断获知所述FPGA的测试用例已测试完毕,则自动获取下一测试用例的参数及数据进行测试。
8.根据权利要求5所述的装置,其特征在于,所述数据发送模块具体用于通过高速串行计算机扩展总线标准PCIE在每个时隙的预设时间段内将所述当前测试用例的参数及数据发送至所述FPGA。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至4任一所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行如权利要求1至4任一所述的方法。
CN201810573996.3A 2018-06-06 2018-06-06 一种通信领域中fpga的自动测试方法及装置 Active CN110569162B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810573996.3A CN110569162B (zh) 2018-06-06 2018-06-06 一种通信领域中fpga的自动测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810573996.3A CN110569162B (zh) 2018-06-06 2018-06-06 一种通信领域中fpga的自动测试方法及装置

Publications (2)

Publication Number Publication Date
CN110569162A true CN110569162A (zh) 2019-12-13
CN110569162B CN110569162B (zh) 2020-10-16

Family

ID=68772358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810573996.3A Active CN110569162B (zh) 2018-06-06 2018-06-06 一种通信领域中fpga的自动测试方法及装置

Country Status (1)

Country Link
CN (1) CN110569162B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254289A (zh) * 2021-06-11 2021-08-13 武汉卓目科技有限公司 基于NVMe磁盘阵列的单机测试方法、装置及系统
CN113656236A (zh) * 2020-05-12 2021-11-16 大唐移动通信设备有限公司 一种数据处理方法和装置
CN115499350A (zh) * 2021-06-03 2022-12-20 大唐移动通信设备有限公司 下行链路的测试方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102403033A (zh) * 2010-09-08 2012-04-04 盛乐信息技术(上海)有限公司 用fpga实现快速sram读写控制的装置及方法
KR20150061167A (ko) * 2013-11-26 2015-06-04 한국원자력연구원 에프피지에이 기반 제어 장치의 동작 건전성 감시 장치 및 방법
CN105008943A (zh) * 2013-02-28 2015-10-28 爱德万测试公司 对在fpga块内分组创建加速的测试仪
KR20160038235A (ko) * 2014-09-30 2016-04-07 주식회사 네오셈 메모리 소자 테스트 장치 및 방법
CN106133537A (zh) * 2014-12-30 2016-11-16 京微雅格(北京)科技有限公司 一种fpga功能模块仿真验证方法及其系统
CN107239374A (zh) * 2017-06-06 2017-10-10 烽火通信科技股份有限公司 基于fpga实现ddr接口自动化读写测试的装置及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102403033A (zh) * 2010-09-08 2012-04-04 盛乐信息技术(上海)有限公司 用fpga实现快速sram读写控制的装置及方法
CN105008943A (zh) * 2013-02-28 2015-10-28 爱德万测试公司 对在fpga块内分组创建加速的测试仪
KR20150061167A (ko) * 2013-11-26 2015-06-04 한국원자력연구원 에프피지에이 기반 제어 장치의 동작 건전성 감시 장치 및 방법
KR20160038235A (ko) * 2014-09-30 2016-04-07 주식회사 네오셈 메모리 소자 테스트 장치 및 방법
CN106133537A (zh) * 2014-12-30 2016-11-16 京微雅格(北京)科技有限公司 一种fpga功能模块仿真验证方法及其系统
CN107239374A (zh) * 2017-06-06 2017-10-10 烽火通信科技股份有限公司 基于fpga实现ddr接口自动化读写测试的装置及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
廖永波等: "一种FPGA的可编程逻辑单元的全覆盖测试方法", 《仪器仪表学报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656236A (zh) * 2020-05-12 2021-11-16 大唐移动通信设备有限公司 一种数据处理方法和装置
CN115499350A (zh) * 2021-06-03 2022-12-20 大唐移动通信设备有限公司 下行链路的测试方法及装置
CN115499350B (zh) * 2021-06-03 2023-10-20 大唐移动通信设备有限公司 下行链路的测试方法及装置
CN113254289A (zh) * 2021-06-11 2021-08-13 武汉卓目科技有限公司 基于NVMe磁盘阵列的单机测试方法、装置及系统

Also Published As

Publication number Publication date
CN110569162B (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
CN110213143B (zh) 一种1553b总线ip核及监视系统
CN110569162B (zh) 一种通信领域中fpga的自动测试方法及装置
CN113076227A (zh) Mcu验证方法、系统和终端设备
CN113835945B (zh) 芯片的测试方法、装置、设备及系统
EP3242199A1 (en) Flash memory controller and control method for flash memory controller
CN102480467A (zh) 一种基于网络通讯协议的soc软硬件协同仿真验证方法
US20130024178A1 (en) Playback methodology for verification components
CN115146568A (zh) 一种基于uvm的芯片验证系统及验证方法
CN115017845A (zh) 用于ip单元级别验证的总线驱动式芯片仿真激励模型
US10496422B2 (en) Serial device emulator using two memory levels with dynamic and configurable response
CN117076337B (zh) 一种数据传输方法、装置、电子设备及可读存储介质
US20150161057A1 (en) System and method for providing client-side address translation in a memory management system
CN114548027A (zh) 在验证系统中追踪信号的方法、电子设备及存储介质
US8751998B2 (en) Method and system for partial reconfiguration simulation
CN105446843A (zh) Soc芯片功能测试系统及方法
CN115685785B (zh) 通用总线模型和仿真测试的方法
Fidalgo et al. Real time fault injection using a modified debugging infrastructure
CN113496108B (zh) 一种应用于仿真的cpu模型
CN113852511A (zh) 网络性能测试方法、装置及计算机可读存储介质
CN115983172B (zh) 用于后仿真的方法和仿真平台
CN117131821B (zh) 芯片验证方法、装置、电子设备及存储介质
CN117112447B (zh) 一种数据传输方法、装置、电子设备及可读存储介质
Pegatoquet et al. Virtual reality for 2.5 G wireless communication modem software development
CN114444423B (zh) 基于验证平台的数据处理方法、系统及电子设备
CN111143144B (zh) 一种具有错误注入和可移植性的芯片验证方法及验证平台

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