CN114490226B - Fpga芯片的原型验证方法、装置、计算机设备及介质 - Google Patents
Fpga芯片的原型验证方法、装置、计算机设备及介质 Download PDFInfo
- Publication number
- CN114490226B CN114490226B CN202210068210.9A CN202210068210A CN114490226B CN 114490226 B CN114490226 B CN 114490226B CN 202210068210 A CN202210068210 A CN 202210068210A CN 114490226 B CN114490226 B CN 114490226B
- Authority
- CN
- China
- Prior art keywords
- fpga
- prototype
- equipment
- chip
- verification
- 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.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims abstract description 144
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012360 testing method Methods 0.000 claims abstract description 201
- 238000004891 communication Methods 0.000 claims abstract description 26
- 230000015654 memory Effects 0.000 claims description 26
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000009286 beneficial effect Effects 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 10
- 238000013461 design Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- JLYXXMFPNIAWKQ-UHFFFAOYSA-N γ Benzene hexachloride Chemical compound ClC1C(Cl)C(Cl)C(Cl)C(Cl)C1Cl JLYXXMFPNIAWKQ-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提供一种FPGA芯片的原型验证方法、装置、计算机设备及介质。FPGA芯片的原型验证方法应用于第一设备,包括:获取与第二设备相连的FPGA板卡上FPGA芯片的芯片版本。根据预置FPGA原型测试用例集中芯片版本与FPGA原型测试用例之间的对应关系,确定并下载验证FPGA芯片对应的FPGA原型测试用例。传输FPGA原型测试用例至与第一设备通信连接的第二设备。控制第二设备根据FPGA原型测试用例验证FPGA芯片的原型。通过本发明提供的FPGA芯片的原型验证方法,能够基于FPGA原型测试用例与芯片版本之间的对应关系,确定并下载对FPGA芯片进行原型验证的FPGA原型测试用例,进而控制第二设备对该FPGA芯片的原型进行自动化验证,从而有助于提高验证效率、节约成本。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种FPGA芯片的原型验证方法、装置、计算机设备及介质。
背景技术
现场可编程门阵列(Field Programmable Gate Array,FPGA)是专用集成电路领域中的一种半定制电路,应用范围广泛,包括通信、计算、控制等领域。由于其内部电路具有可重构的特点,因此,可以完全映射板卡的逻辑设计,故,也被当作一种性价比优越的板卡验证基础设施。
FPGA原型验证通过将寄存器转换级电路(Register Transfer Level,RTL)移植到FPGA验证专门应用的集成电路(ASIC)、专用标准产品(ASSP)和片上系统(SoC)的功能和性能。通过FPGA原型验证,有助于设计人员在集成电路芯片(Integrated Circuit Chip,IC)流片前对芯片功能和性能做出评估。
在一款FPGA板卡(一种包括集成电路芯片的板卡)面世之前,需要针对该FPGA板卡的设计和功能进行反复迭代、反复优化以及反复测试。但在实际测试过程中,由于测试验证工作繁杂,且FPGA板卡的功能和性能的测试周期长,需要人工监管,进而导致FPGA芯片的原型验证需要消耗大量的时间成本和人工成本,验证效率低。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中针对FPGA芯片的原型进行验证的过程复杂、且效率低的缺陷,从而提供一种FPGA芯片的原型验证方法、装置、计算机设备及介质。
在第一方面,本发明提供一种FPGA芯片的原型验证方法,应用于第一设备,所述方法包括:
获取与第二设备相连的FPGA板卡上FPGA芯片的芯片版本;
根据预置FPGA原型测试用例集中芯片版本与FPGA原型测试用例之间的对应关系,确定并下载验证所述FPGA芯片对应的FPGA原型测试用例;
传输所述FPGA原型测试用例至与所述第一设备通信连接的第二设备;
控制所述第二设备根据所述FPGA原型测试用例验证所述FPGA芯片的原型。
在该方式中,能够基于FPGA原型测试用例与芯片版本之间的对应关系,使第一设备能够根据获取的芯片版本在预置FPGA原型测试用例集中,确定并下载该芯片版本对应FPGA芯片的FPGA原型测试用例,进而控制第二设备根据该FPGA原型测试用例对FPGA芯片进行验证,从而实现对FPGA芯片原型进行自动化验证的目的,有助于提高验证效率、节约成本。
结合第一方面,在第一方面的第一实施例中,所述控制所述第二设备根据所述FPGA原型测试用例验证所述FPGA芯片的原型,包括:
确定所述FPGA原型测试用例中包含的各测试子用例的测试顺序;
根据所述测试顺序,控制所述第二设备根据各所述测试子用例验证所述FPGA芯片包含的各待测模块的原型。
结合第一方面的第一实施例,在第一方面的第二实施例中,所述控制所述第二设备根据各所述测试子用例验证所述FPGA芯片包含的各待测模块的原型包括:
若所述第二设备完成所述FPGA芯片针对当前测试子用例进行的原型验证,则根据所述测试顺序,控制所述第二设备基于下一测试子用例进行重启;
通过检测与所述第二设备之间网络连接的状态,确定所述第二设备已完成重启;
控制所述第二设备根据所述下一测试子用例验证所述下一测试子用例对应的待测模块原型。
结合第一方面的第二实施例,在第一方面的第三实施例中,所述通过检测与所述第二设备之间网络连接的状态,确定所述第二设备已完成重启,包括:
通过检测与所述第二设备之间网络连接的状态,判断所述第二设备是否完成重启;
若所述状态为连通状态,则确定所述第二设备已完成重启。
结合第一方面的第三实施例,在第一方面的第四实施例中,所述方法还包括:
若所述状态为断开状态,则确定所述第二设备未完成重启;
根据指定时间间隔,定时检测与所述第二设备之间网络连接的状态,直至所述状态为连通状态。
结合第一方面,在第一方面的第五实施例中,所述控制所述第二设备根据所述FPGA原型测试用例验证所述FPGA芯片的原型,包括:
将所述FPGA原型测试用例发送至所述第二设备;
控制所述第二设备根据所述FPGA原型测试用例配置验证环境;
根据所述验证环境,控制第二设备根据所述FPGA原型测试用例验证所述FPGA芯片的原型。
结合第一方面,在第一方面的第六实施例中,所述方法还包括:
获取验证所述FPGA芯片的原型验证结果;
基于所述原型验证结果,生成所述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芯片的原型验证装置的结构框图。
图6是根据一示例性实施例提出的一种计算机设备的硬件结构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,设计FPGA板卡原型时,需要进行反复迭代、反复优化以及反复测试。但在设计的过程中,若某一环节或者多个环节发生改动,则需要再次重新反复迭代、反复优化以及反复测试,进而导致验证成本高,工作量复杂。并且,在实际测试过程中,由于测试验证工作繁杂,且FPGA板卡的功能和性能的测试周期长,需要人工监管,进而导致FPGA芯片的原型验证效率低。
为解决上述问题,本发明实施例中提供一种FPGA芯片的原型验证方法,用于计算机设备中,需要说明的是,其执行主体可以是FPGA芯片的原型验证装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为计算机设备的部分或者全部,其中,该计算机设备可以是终端或客户端或服务器,服务器可以是一台服务器,也可以为由多台服务器组成的服务器集群,本申请实施例中的终端可以是智能手机、个人电脑、平板电脑、可穿戴设备以及智能机器人等其他智能硬件设备。下述方法实施例中,均以执行主体是计算机设备为例来进行说明。
本实施例中的计算机设备,部署于FPGA板卡原型验证系统中,用于监督和控制与该计算机设备相连的其他计算机设备执行对待进行原型验证的FPGA芯片进行验证。其中,FPGA芯片通过FPGA板卡部署于其他计算机设备中,例如,通过外插的方式,将FPGA芯片嵌入至FPGA板卡上,进而使其能够部署在其他计算机设备中。
为便于表述,以下将用于监督和控制对FPGA板卡原型进行验证的计算机设备,采用第一设备进行代替;将用于对FPGA芯片的原型执行验证的其他计算机设备,采用第二设备进行代替。
在一实施场景中,FPGA板卡原型验证系统的结构可以如图1所示。图1是根据一示例性实施例提出的一种FPGA板卡原型验证系统的结构示意图。在FPGA板卡原型验证系统中,包括第一设备、第二设备和FPGA板卡。其中,第一设备和第二设备部署在同一局域网内,能够基于安全外壳协议(Secure Shell,SSH)建立通信连接,且第一设备和第二设备内的部署在同一局域网内、操作系统相同,进而使第一设备能够根据第一设备与第二设备之间的通信连接,通过shell脚本(一种能够进行批处理的程序),监督和控制第二设备对FPGA板卡上的FPGA芯片进行原型验证。在一例中,操作系统可以为Linux。FPGA板卡外接于第二设备,能够通过PCIe(peripheral component interconnect express,一种高速串行计算机扩展总线标准)进行相互通信。其中,第二设备包括USB接口,FPGA包括联合测试组(Joint TestAction Group,JTAG)调试接口。例如:可以将第二设备的USB接口和FPGA板卡的JTAG通过接口通过USB BLASTER下载器建立连接,进而使第二设备能够对FPGA板卡上的FPGA芯片原型进行验证。
在另一实施场景中,FPGA板卡原型验证系统中的FPGA原型板卡包括:Xilinx的高端FPGA芯片、PCIex16金手指、JTAG调试接口、UART接口或I2C接口或MicroUSB接口等接口以及Flash和DDR DRAM等存储器件。其中,Xilinx的高端FPGA芯片,可以包括UltraScale或着UltraScale plus系列,进而有助于提供较大的逻辑规模和丰富的接口类型、以及提高运行频率。PCIex16金手指,用于和第二设备进行通信、固件的下载、测试激励的发送、测试结果的收集以及相关寄存器的读写等操作。
基于上述FPGA板卡原型验证系统,通过本发明所提供的FPGA芯片的原型验证方法,使第一设备能够,基于FPGA原型测试用例与芯片版本之间的对应关系,根据获取到的与第二设备相连的FPGA板卡上FPGA芯片的芯片版本,在预置FPGA原型测试用例集中,确定适用于对该FPGA芯片原型进验证的FPGA原型测试用例,进而将其下载并控制第二设备根据该FPGA原型测试用例对该FPGA板卡进行原型验证,从而无需人工监管,便可以实现对FPGA原型的自动化验证,有助于提高验证效率、节约成本。
图2是根据一示例性实施例提出的一种FPGA芯片的原型验证方法的流程图。如图2所示,FPGA芯片的原型验证方法应用于第一设备,包括如下步骤S201至步骤S204。
在步骤S201中,获取与第二设备相连的FPGA板卡上FPGA芯片的芯片版本。
在本发明实施例中,不同芯片版本的FPGA芯片在设计上存在一定差异。因此,为提高原型验证的准确度,使验证更具有针对性,则在进行验证之前,获取与第二设备相连的FPGA板卡上FPGA芯片的芯片版本,以便根据芯片版本与FPGA原型测试用例之间的对应关系,能够从预置FPGA原型测试用例集中,确定适用于对该FPGA芯片进行原型验证的FPGA原型测试用例,从而有助于提高原型验证的有效性,避免无效验证。
在步骤S202中,根据预置FPGA原型测试用例集中芯片版本与FPGA原型测试用例之间的对应关系,确定并下载验证FPGA芯片对应的FPGA原型测试用例。
在本发明实施例中,FPGA原型测试用例集可以理解为是包括多种不同FPGA原型测试用例的集合。在该FPGA原型测试用例集中,FPGA原型测试用例与芯片版本具有对应关系,即,不同芯片版本对应不同的FPGA原型测试用例,进而当明确待进行验证的芯片版本时,便可以根据FPGA原型测试用例与芯片版本具有对应关系,从FPGA原型测试用例集中,确定对应的FPGA原型测试用例。
因此,在第一设备中,根据与第二设备相连的FPGA板卡上FPGA芯片的芯片版本,以及芯片版本与FPGA原型测试用例之间的对应关系,从预置FPGA原型测试用例集中,确定验证FPGA芯片对应的FPGA原型测试用例,并将该FPGA原型测试用例进行下载,以便将该FPGA原型测试用例传输至第二设备中,由第二设备根据该FPGA原型测试用例验证FPGA芯片的原型。
在一实施场景中,FPGA原型测试用例的下载,可以通过vivado(一种设计套件)工具的非工程模式实现。预先确定下载FPGA原型测试用例的相关工具命令语言(ToolCommand Language,tcl)指令,进而在非工程模式下,通过该tcl指令自动完成FPGA原型测试用例的下载。
具体的:在vivado中运行内嵌的xxx.tcl脚本(xxx为tcl脚本的文件名):vivado–mode batch–source xxx.tcl。根据该xxx.tcl脚本中包括的主要操作指令下载FPGA原型测试用例。其中,主要操作指令可以包括如下内容:
open_hw_manager
connect_hw_server–allow_non_jtag
open_hw_target
current_hw_device get_hw_devices yyy
refresh_hw_device–updata_hw_probes false[lindex[get_hw_devices yyy]0]
set_property PROGRAM.FILE{bit文件存放路径/zzz.bit}[get_hw_devicesyyy]
其中,yyy为原型验证板卡上使用的FPGA芯片名称,如xcvu37p_0;zzz为FPGA原型测试用例(FPGA bit)的文件名。
在另一实施场景中,FPGA原型测试用例是否完成下载,可以根据vivado的日志文件(vivado.log)中是否包括已完成下载信息(例如:End of startup status:HIGH字符串信息)进行判断。若在vivado.log中,包括End of startup status:HIGH字符串信息,则可以确定在自动控制过程中,FPGA原型测试用例已完成下载。若不包括End of startupstatus:HIGH字符串信息,则表征FPGA原型测试用例未完成下载。
在步骤S203中,传输FPGA原型测试用例至与第一设备通信连接的第二设备。
在本发明实施例中,第一设备与第二设备之间具有通信连接,能够相互进行数据传输。因此,为便于第二设备能够获取到对FPGA芯片进行原型验证的FPGA原型测试用例,则将下载得到的FPGA原型测试用例传输至第二设备中。
在一实施例中,第一设备可以基于第一设备与第二设备之间的通信连接,通过SSH协议指令远程登录第二设备,进而将下载的FPGA原型测试用例自动传输至第二设备,控制第二设备对FPGA芯片进行原型验证。例如,第一设备通过因特网包探索器(PacketInternet Groper,ping)指令检测与第二设备之间的网络连接的状态,进而当网络连接处于连通状态时,通过SSH协议指令远程登录第二设备。
在步骤S204中,控制第二设备根据FPGA原型测试用例验证FPGA芯片的原型。
在本发明实施例中,由于FPGA芯片是部署在与第二设备相连的FPGA板卡中,因此,在进行验证时,则由第一设备控制第二设备根据FPGA原型测试用例验证该FPGA芯片的原型,以便根据第二设备的运行结果,确定该FPGA芯片是否满足该FPGA芯片的原型需求,进而无需人工干预便可以实现对FPGA芯片原型的自动化验证,从而有助于节约时间成本,提高验证效率。
在一实施例中,将FPGA原型测试用例发送至第二设备后,控制第二设备根据接收到的FPGA原型测试用例配置验证环境,以保证验证的顺利进行,进而在配置好的验证环境下,控制第二设备根据FPGA原型测试用例验证FPGA芯片的原型,从而实现FPGA原型的自动化验证。在一示例中,当验证环境配置完成后,重启第二设备,以完成验证环境的初始化。
通过上述实施例,能够基于FPGA原型测试用例与芯片版本之间的对应关系,使第一设备能够根据获取的芯片版本在预置FPGA原型测试用例集中,确定并下载该芯片版本对应FPGA芯片的FPGA原型测试用例,进而控制第二设备根据该FPGA原型测试用例对FPGA芯片进行验证,从而实现对FPGA芯片原型进行自动化验证的目的,有助于提高验证效率、节约成本。
在一实施例中,FPGA芯片中包括多个待测模块,进而在对FPGA芯片原型进行验证时,也需要对各待测模块的性能、功能或者性能和功能进行验证。因此,在下载的FPGA原型测试用例中,也包括针对各待测模块进行验证的多个测试子用例。其中,不同测试子用例用于验证不同待测模块,进而在进行验证时,能够对各待测模块进行针对性验证,从而提高验证结果的准确度。
在针对各待测模块进行验证时,预先确定FPGA原型测试用例中包含的各测试子用例的测试顺序,进而在进行验证时,根据已确定的测试顺序,控制第二设备根据各测试子用例验证FPGA芯片包含的各待测模块的原型。其中,测试顺序可以是随机顺序,也可以是指定的先后顺序。
在另一实施例中,由于测试子用例与待测模块之间具有对应关系,并且在进行验证时,需要在第二设备中,根据当前测试子用例,配置对应的验证环境,以保证当前测试子用例对应的待测模块能够顺利进行验证。但当验证环境发生切换时,则需要根据切换后的验证环境控制第二设备进行重启,以完成切换后的验证环境的初始化处理。
因此,在控制第二设备根据各测试子用例验证各待测模块的原型的过程中,若第二设备完成FPGA芯片针对当前测试子用例进行的原型验证,则根据测试顺序,控制第二设备基于下一测试子用例进行重启,以使第二设备内所部署的验证环境与该下一测试子用例相对应,以便在第二设备中验证该下一测试子用例对应的待测模块的原型时,能够进行针对性的验证,提高验证准确度。当第一设备通过检测与第二设备之间网络连接的状态,确定第二设备已完成重启后,则控制第二设备根据该下一测试子用例验证该下一测试子用例对应的待测模块原型,直至完成所有测试子用例的验证。
在一示例中,网络连接的状态可以包括连通状态或者断开状态。由于第一设备与第二设备是部署在同一局域网络中,因此,若网络连接的状态于连通状态,则表征第二设备的网络功能正常,进而可以确定第二设备已完成重启。若网络连接的状态于断开状态,则表征第二设备处于网络离线状态,无法与第一设备建立通信连接,进而可以确定第二设备未完成重启。
在另一示例中,当检测到第一设备与第二设备之间网络连接的状态为断开状态,第二设备未完成重启时,为使第二设备能够根据下一测试子用例完成该下一测试子用例对应待测模块的原型验证,则根据指定时间间隔(可自定义),定时检测第一设备与第二设备之间网络连接的状态,直至状态为连通状态,以便顺利完成验证。在一例中,若第一设备与第二设备之间网络连接长时间处于断开状态,则可以采用人工介入的方式,确定第二设备未完成重启的原因,排查相关故障。
图3是根据一示例性实施例提出的另一种FPGA芯片的原型验证方法的流程图。如图3所示,FPGA芯片的原型验证方法包括如下步骤。
在步骤S301中,获取与第二设备相连的FPGA板卡上FPGA芯片的芯片版本。
在步骤S302中,根据预置FPGA原型测试用例集中芯片版本与FPGA原型测试用例之间的对应关系,确定并下载验证FPGA芯片对应的FPGA原型测试用例。
在步骤S303中,传输FPGA原型测试用例至与第一设备通信连接的第二设备。
在步骤S304中,控制第二设备根据FPGA原型测试用例验证FPGA芯片的原型。
在步骤S305中,获取验证FPGA芯片的原型验证结果。
在本发明实施例中,由于FPGA芯片是部署在与第二设备相连的FPGA板卡中,因此,在原型验证的过程中,为分析FPGA芯片的原型是否需要继续优化或者进行设计调整,则控制第二设备根据第二设备与FPGA板卡之间的通信连接,从FPGA板卡中获取FPGA芯片的原型验证结果。
在一实施场景中,控制第二设备根据第二设备与FPGA板卡之间的通信连接,向FPGA板卡发起原型验证请求,进而当验证完成后,FPGA板卡能够通过响应(response)协议将FPGA芯片的原型验证结果发送至第二设备,使第二设备能够得到验证FPGA芯片的原型验证结果。
在步骤S306中,基于原型验证结果,生成FPGA芯片的验证报告。
在本发明实施例中,将获取的原型验证结果与通过相关软件算法实现的验证结果进行对比,确定原型验证结果的准确度,进而生成FPGA芯片的验证报告,以便分析FPGA芯片的原型是否需要继续优化或者进行设计调整。
通过上述实施例,能够在对FPGA芯片的原型进行验证的过程中减少人力的投入,进而实现自动化验证,从而能够有效提升测试效率,使设计人员能够将更多的时间投入至提升FPGA芯片的优化设计。
在一实施场景中,验证FPGA板卡原型的过程可以如图4所示。图4是根据一示例性实施例提出的又一种FPGA芯片的原型验证方法的流程图。
在步骤S401中,建立第一设备、第二设备与FPGA板卡之间的连接。
在本发明实施例中,FPGA板卡上包括待进行原型验证的FPGA芯片。
在步骤S402中,启动第一设备和第二设备,以完成第一设备和第二设备的初始化。
在步骤S403中,控制第一设备远程登录第二设备。
在本发明实施例中,第一设备通过ping指令检测与第二设备之间的网络连接状态,进而当网络连接的状态处于连通状态时,通过SSH协议指令远程登录第二设备。
在步骤S404中,获取FPGA芯片的芯片版本,并根据芯片版本与FPGA原型测试用例之间的对应关系,从预置FPGA原型测试用例集中,确定并下载验证FPGA芯片对应的FPGA原型测试用例。
在步骤S405中,通过vivado.log,判断FPGA原型测试用例是否下载完成。
在本发明实施例中,若在vivado.log中,包括End of startup status:HIGH字符串信息,则可以确定在自动控制过程中,FPGA原型测试用例已完成下载。若不包括End ofstartup status:HIGH字符串信息,则表征FPGA原型测试用例未完成下载。
在步骤S406中,若FPGA原型测试用例已完成下载,则重启第二设备。
在步骤S407中,通过检测第一设备与第二设备之间网络连接的状态,判断第二设备是否完成重启。
在步骤S408中,若确定第二设备已完成重启,则判断第二设备是否与FPGA板卡建立通信连接。
在本发明实施例中,通过SSH脚本运行lspci外设查询指令,在查询的结果中显示有FPGA板卡接口类型的字符串,则确定第二设备与FPGA板卡的PCIe接口已经建立通信连接(linkup),进而可以确定第二设备和FPGA板卡可以正常通信。在一实施场景中,FPGA板卡接口类型的字符串可以为Xilinx Corporation 90xx,其中,xx为FPGA板卡的PCIe接口类型,例如,若xx为34,则表征FPGA板卡的PCIe接口类型为Gen3x4。
在步骤S409中,下载用于验证FPGA芯片的相关固件以及配置第二设备中的相关寄存器。
在本发明实施例中,通过下载用于验证FPGA芯片的相关固件以及配置第二设备中的相关寄存器,以便在进行检测时,第二设备的相关配置能够支持FPGA原型测试用例对FPGA芯片进行验证。
在步骤S410中,控制第二设备根据FPGA原型测试用例验证FPGA芯片的原型。
在步骤S411中,根据FPGA原型测试用例中待进行验证的测试子用例数量,判断是否完成验证。
通过上述实施例,通过运行在第一设备上的Shell脚本,能够实现对第二设备的远程登录、重启检测、FPGA原型测试用例的验证、原型验证结果的返回和生成测试报告等操作。并且,通过Shell脚本内嵌的tcl脚本程序能够完成FPGA原型测试用例的下载、以及待测FPGA bit文件的更新。进而使在整个验证的过程中,不仅能够节省人力、还能有效提高FPGA芯片原型的验证效率。
基于相同发明构思,本发明还提供一种应用于第一设备的FPGA芯片的原型验证装置。
图5是根据一示例性实施例提出的一种FPGA芯片的原型验证装置的结构框图。如图5所示,FPGA芯片的原型验证装置包括:获取单元501、确定单元502、传输单元503和控制单元504。
获取单元501,用于获取与第二设备相连的FPGA板卡上FPGA芯片的芯片版本。
确定单元502,用于根据预置FPGA原型测试用例集中芯片版本与FPGA原型测试用例之间的对应关系,确定并下载验证FPGA芯片对应的FPGA原型测试用例。
传输单元503,用于传输FPGA原型测试用例至与第一设备通信连接的第二设备。
控制单元504,用于控制第二设备根据FPGA原型测试用例验证FPGA芯片的原型。
在一实施例中,控制单元504,包括:第一确定单元,用于确定FPGA原型测试用例中包含的各测试子用例的测试顺序。控制子单元,用于根据测试顺序,控制第二设备根据各测试子用例验证FPGA芯片包含的各待测模块的原型。
在另一实施例中,控制子单元,包括:重启控制单元,用于若第二设备完成FPGA芯片针对当前测试子用例进行的原型验证,则根据测试顺序,控制第二设备基于下一测试子用例进行重启。第二确定单元,用于通过检测与第二设备之间网络连接的状态,确定第二设备已完成重启。验证控制单元,用于控制第二设备根据下一测试子用例验证下一测试子用例对应的待测模块原型。
在又一实施例中,第二确定单元,包括:判断单元,用于通过检测与第二设备之间网络连接的状态,判断第二设备是否完成重启。重启确定单元,用于若状态为连通状态,则确定第二设备已完成重启。
在又一实施例中,装置还包括:定时检测单元,用于若状态为断开状态,则确定所述第二设备未完成重启。根据指定时间间隔,定时检测与第二设备之间网络连接的状态,直至状态为连通状态。
在又一实施例中,控制单元504,包括:发送单元,用于将FPGA原型测试用例发送至第二设备。配置控制单元,用于控制第二设备根据FPGA原型测试用例配置验证环境。验证控制单元,用于根据验证环境,控制第二设备根据FPGA原型测试用例验证FPGA芯片的原型。
在又一实施例中,装置还包括:结果获取单元,用于获取验证FPGA芯片的原型验证结果。报告生成单元,用于基于原型验证结果,生成FPGA芯片的验证报告。
上述FPGA芯片的原型验证装置的具体限定以及有益效果可以参见上文中对于FPGA芯片的原型验证方法的限定,在此不再赘述。上述各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图6是根据一示例性实施例提出的一种计算机设备的硬件结构示意图。如图6所示,该设备包括一个或多个处理器610以及存储器620,存储器620包括持久内存、易失内存和硬盘,图6中以一个处理器610为例。该设备还可以包括:输入装置630和输出装置640。
处理器610、存储器620、输入装置630和输出装置640可以通过总线或者其他方式连接,图6中以通过总线连接为例。
处理器610可以为中央处理器(Central Processing Unit,CPU)。处理器610还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等板卡,或者上述各类板卡的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器620作为一种非暂态计算机可读存储介质,包括持久内存、易失内存和硬盘,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的业务管理方法对应的程序指令/模块。处理器610通过运行存储在存储器620中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述任意一种FPGA芯片的原型验证方法。
存储器620可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据、需要使用的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器620可选包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至数据处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置630可接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏等显示设备。
一个或者多个模块存储在存储器620中,当被一个或者多个处理器610执行时,执行如图1-图4所示的方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,具体可参见如图1-图4所示的实施例中的相关描述。
本发明实施例还提供了一种非暂态计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的认证方法。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccess Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种FPGA芯片的原型验证方法,其特征在于,应用于第一设备,所述方法包括:
获取与第二设备相连的FPGA板卡上FPGA芯片的芯片版本;
根据预置FPGA原型测试用例集中芯片版本与FPGA原型测试用例之间的对应关系,确定并下载验证所述FPGA芯片对应的FPGA原型测试用例;
传输所述FPGA原型测试用例至与所述第一设备通信连接的第二设备;
通过vivado.log,判断所述FPGA原型测试用例是否下载完成;
若所述FPGA原型测试用例已完成下载,则重启所述第二设备;
通过检测所述第一设备与所述第二设备之间网络连接的状态,判断所述第二设备是否完成重启;
若确定所述第二设备已完成重启,则判断所述第二设备是否与所述FPGA板卡建立通信连接;
若所述第二设备与所述FPGA板卡已经建立通信连接,则下载用于验证所述FPGA芯片的相关固件以及配置所述第二设备中的相关寄存器;
控制所述第二设备根据所述FPGA原型测试用例验证所述FPGA芯片的原型。
2.根据权利要求1所述的方法,其特征在于,所述控制所述第二设备根据所述FPGA原型测试用例验证所述FPGA芯片的原型,包括:
确定所述FPGA原型测试用例中包含的各测试子用例的测试顺序;
根据所述测试顺序,控制所述第二设备根据各所述测试子用例验证所述FPGA芯片包含的各待测模块的原型。
3.根据权利要求2所述的方法,其特征在于,所述控制所述第二设备根据各所述测试子用例验证所述FPGA芯片包含的各待测模块的原型包括:
若所述第二设备完成所述FPGA芯片针对当前测试子用例进行的原型验证,则根据所述测试顺序,控制所述第二设备基于下一测试子用例进行重启;
通过检测与所述第二设备之间网络连接的状态,确定所述第二设备已完成重启;
控制所述第二设备根据所述下一测试子用例验证所述下一测试子用例对应的待测模块原型。
4.根据权利要求3所述的方法,其特征在于,所述通过检测与所述第二设备之间网络连接的状态,确定所述第二设备已完成重启,包括:
通过检测与所述第二设备之间网络连接的状态,判断所述第二设备是否完成重启;
若所述状态为连通状态,则确定所述第二设备已完成重启。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述状态为断开状态,则确定所述第二设备未完成重启;
根据指定时间间隔,定时检测与所述第二设备之间网络连接的状态,直至所述状态为连通状态。
6.根据权利要求1所述的方法,其特征在于,所述控制所述第二设备根据所述FPGA原型测试用例验证所述FPGA芯片的原型,包括:
将所述FPGA原型测试用例发送至所述第二设备;
控制所述第二设备根据所述FPGA原型测试用例配置验证环境;
根据所述验证环境,控制第二设备根据所述FPGA原型测试用例验证所述FPGA芯片的原型。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取验证所述FPGA芯片的原型验证结果;
基于所述原型验证结果,生成所述FPGA芯片的验证报告。
8.一种FPGA芯片的原型验证装置,其特征在于,应用于第一设备,所述装置包括:
获取单元,用于获取与第二设备相连的FPGA板卡上FPGA芯片的芯片版本;
确定单元,用于根据预置FPGA原型测试用例集中芯片版本与FPGA原型测试用例之间的对应关系,确定并下载验证所述FPGA芯片对应的FPGA原型测试用例;
传输单元,用于传输所述FPGA原型测试用例至与所述第一设备通信连接的第二设备;
用于通过vivado.log,判断所述FPGA原型测试用例是否下载完成的单元;
用于若所述FPGA原型测试用例已完成下载,则重启所述第二设备的单元;
用于通过检测所述第一设备与所述第二设备之间网络连接的状态,判断所述第二设备是否完成重启的单元;
用于若确定所述第二设备已完成重启,则判断所述第二设备是否与所述FPGA板卡建立通信连接的单元;
用于若所述第二设备与所述FPGA板卡已经建立通信连接,则下载用于验证所述FPGA芯片的相关固件以及配置所述第二设备中的相关寄存器的单元;
控制单元,用于控制所述第二设备根据所述FPGA原型测试用例验证所述FPGA芯片的原型。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-7中任一项所述的FPGA芯片的原型验证方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的FPGA芯片的原型验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210068210.9A CN114490226B (zh) | 2022-01-20 | 2022-01-20 | Fpga芯片的原型验证方法、装置、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210068210.9A CN114490226B (zh) | 2022-01-20 | 2022-01-20 | Fpga芯片的原型验证方法、装置、计算机设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114490226A CN114490226A (zh) | 2022-05-13 |
CN114490226B true CN114490226B (zh) | 2024-02-23 |
Family
ID=81473457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210068210.9A Active CN114490226B (zh) | 2022-01-20 | 2022-01-20 | Fpga芯片的原型验证方法、装置、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114490226B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117234831B (zh) * | 2023-11-14 | 2024-01-26 | 鹏钛存储技术(南京)有限公司 | 一种基于多核cpu的芯片功能测试方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202995711U (zh) * | 2012-12-27 | 2013-06-12 | 杭州乔微电子科技有限公司 | 一种实现fpga原型验证远程控制的装置 |
CN105004984A (zh) * | 2015-06-25 | 2015-10-28 | 深圳市芯海科技有限公司 | 一种自动化芯片测试方法 |
CN111579959A (zh) * | 2019-02-15 | 2020-08-25 | 深圳市汇顶科技股份有限公司 | 芯片验证方法、装置及存储介质 |
CN112506728A (zh) * | 2021-02-04 | 2021-03-16 | 上海国微思尔芯技术股份有限公司 | 一种用于原型验证系统的测试方法及装置 |
CN113407393A (zh) * | 2021-05-25 | 2021-09-17 | 鹏城实验室 | 芯片验证方法、终端设备、验证平台以及存储介质 |
-
2022
- 2022-01-20 CN CN202210068210.9A patent/CN114490226B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202995711U (zh) * | 2012-12-27 | 2013-06-12 | 杭州乔微电子科技有限公司 | 一种实现fpga原型验证远程控制的装置 |
CN105004984A (zh) * | 2015-06-25 | 2015-10-28 | 深圳市芯海科技有限公司 | 一种自动化芯片测试方法 |
CN111579959A (zh) * | 2019-02-15 | 2020-08-25 | 深圳市汇顶科技股份有限公司 | 芯片验证方法、装置及存储介质 |
CN112506728A (zh) * | 2021-02-04 | 2021-03-16 | 上海国微思尔芯技术股份有限公司 | 一种用于原型验证系统的测试方法及装置 |
CN113407393A (zh) * | 2021-05-25 | 2021-09-17 | 鹏城实验室 | 芯片验证方法、终端设备、验证平台以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114490226A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113312879B (zh) | 芯片电路功能验证系统、方法、设备及存储介质 | |
US11385285B2 (en) | Automated test equipment using an on-chip-system test controller | |
WO2014130074A1 (en) | Gui implementations on central controller computer system for supporting protocol independent device testing | |
WO2014130058A1 (en) | Cloud based infrastructure for supporting protocol reconfigurations in protocol independent device testing systems | |
JP2002505024A (ja) | 並行ハードウェア―ソフトウェア・コシミュレーション | |
CN114490226B (zh) | Fpga芯片的原型验证方法、装置、计算机设备及介质 | |
CN104536900A (zh) | 控制移动终端的方法及装置 | |
CN109660386B (zh) | 一种半导体存储器老化测试系统软件升级方法 | |
CN113657069A (zh) | 片上系统soc仿真验证方法、装置、验证服务器及存储介质 | |
CN109710479B (zh) | 一种处理方法及第一设备、第二设备 | |
US7475164B2 (en) | Apparatus, system, and method for automated device configuration and testing | |
EP2300932A1 (en) | System for injecting protocol specific errors during the certification of components in a storage area network | |
CN116955181A (zh) | 芯片测试系统、方法、计算机设备及存储介质 | |
US7168029B2 (en) | Method for testing a universal serial bus host controller | |
US7721260B2 (en) | Embedded Test I/O Engine | |
CN116306474A (zh) | 一种片上网络的通路验证方法、装置、设备、存储介质 | |
CN115794530A (zh) | 一种硬件连接测试方法、装置、设备和可读存储介质 | |
JP2020112469A (ja) | 試験装置、試験方法、インタフェースユニット | |
CN114265786A (zh) | 自动化测试方法、装置,计算机设备及可读存储介质 | |
CN113657068A (zh) | Soc仿真验证及soc的仿真验证设备验证环境搭建方法 | |
CN112433938A (zh) | 移动端应用测试的方法和装置 | |
CN113608935B (zh) | 一种测试网卡的方法、系统、设备及介质 | |
CN114115955B (zh) | 服务器资源盒子fpga固件升级方法、系统、终端及存储介质 | |
CN112565398B (zh) | Gfs数据下载方法、装置、电子设备以及存储介质 | |
CN115687187B (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 |