CN112270153B - 波形获取方法及装置、测试设备、计算机可读存储介质 - Google Patents
波形获取方法及装置、测试设备、计算机可读存储介质 Download PDFInfo
- Publication number
- CN112270153B CN112270153B CN202011472824.0A CN202011472824A CN112270153B CN 112270153 B CN112270153 B CN 112270153B CN 202011472824 A CN202011472824 A CN 202011472824A CN 112270153 B CN112270153 B CN 112270153B
- Authority
- CN
- China
- Prior art keywords
- waveform
- command
- duration
- port
- design
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
Abstract
本发明涉及电子设计自动化领域,公开了一种波形获取方法及装置、测试设备、计算机可读存储介质。本发明通过在对被测设计进行测试的过程中,实时监测被测设计的指定端口是否接收到命令,在实时监测到被测设计的指定端口接收到命令时,获取命令对应操作的持续时长,进而在持续时长超过预设阈值时,判定指定端口发生死锁,获取问题现场的波形,并输出波形,以供用户根据波形进行问题定位;解决了相关技术中需要重复执行测试用例,死锁问题不容易复现,造成死锁问题定位效率低的问题。
Description
技术领域
本发明涉及电子设计自动化领域,尤其涉及一种波形获取方法及装置、测试设备、计算机可读存储介质。
背景技术
相关技术中,利用硬件仿真加速器对被测设计进行测试时,常常会面临被测设计的端口出现死锁的问题,其中针对该死锁问题的解决方案往往是在测试完毕后,去获取对应的波形,从而根据该波形来推断原因,具体地,要重新执行测试用例等待死锁的再次发生,以期望抓到死锁问题现场的波形。
但是这种方式需要重复执行测试用例,死锁问题并不容易复现,使得死锁问题定位效率低,从而影响了项目研发进度。
发明内容
本发明的主要目的在于提供波形获取方法及装置、测试设备、计算机可读存储介质,旨在通过合理获取波形以提升死锁问题定位效率。
为实现上述目的,本发明提供一种波形获取方法,应用于硬件仿真加速器,所述波形获取方法包括:
在对被测设计进行测试的过程中,实时监测所述被测设计的指定端口是否接收到命令;
若是,获取所述命令对应操作的持续时长;
在所述持续时长超过预设阈值时,判定所述指定端口发生死锁;
获取问题现场的波形,并输出所述波形,以供用户根据所述波形进行问题定位。
可选的,所述获取所述命令对应操作的持续时长的步骤之前,所述波形获取方法还包括:
基于所述被测设计的指定端口接收到的命令,为所述命令分配命令标识号和计时器;
所述获取所述命令对应操作的持续时长的步骤包括:
基于所述命令标识号以及计时器,获取所述命令对应操作的持续时长。
可选的,所述指定端口为一个或多个,其中,在实时监测所述被测设计的同一指定端口在预设时间段内接收到多个命令时,所述获取命令对应操作的持续时长的步骤包括:
获取所述多个命令分别对应操作的持续时长;
在所述持续时长超过预设阈值时,判定所述指定端口发生死锁的步骤包括:
分别判断多个命令对应操作的持续时长是否超过其对应的预设阈值,在存在一个命令对应操作的持续时长超过其对应的预设阈值时,判定所述指定端口发生死锁;其中,不同命令分别对应不同预设阈值。
可选的,所述指定端口为一个或多个,其中,在实时监测所述被测设计的同一指定端口在预设时间段内接收到多个命令时,所述获取命令对应操作的持续时长的步骤包括:
获取所述多个命令分别对应操作的持续时长;
在所述持续时长超过预设阈值时,判定所述指定端口发生死锁的步骤包括:
分别判断多个命令对应操作的持续时长是否超过其对应的预设阈值,在多个命令对应操作的持续时长均超过其对应的预设阈值时,判定所述指定端口发生死锁;其中,不同命令分别对应不同预设阈值。
可选的,所述在对被测设计进行测试的过程中,实时监测所述被测设计的指定端口是否接收到命令的步骤之前,所述波形获取方法包括:
接收设置指令;
基于所述设置指令设置不同命令分别对应的预设阈值。
可选的,所述获取问题现象的波形,并输出所述波形的步骤之后,所述波形获取方法还包括:
获取辅助信息;其中,所述辅助信息包括所述命令对应的类型、所述指定端口对应的标识号和所述指定端口所在IP地址;
输出所述辅助信息。
可选的,所述获取问题现象的波形,并输出所述波形的步骤之后,所述波形获取方法还包括:
判断对所述被测设计的测试是否结束;
若是,释放测试资源。
此外,为实现上述目的,本发明还提出一种波形获取装置,应用于硬件仿真加速器,所述波形获取装置包括:
监测模块,用于在对被测设计进行测试的过程中,实时监测所述被测设计的指定端口是否接收到命令;
第一获取模块,用于实时监测所述被测设计的指定端口接收到命令时,获取所述命令对应操作的持续时长;
判定模块,用于在所述持续时长超过预设阈值时,判定所述指定端口发生死锁;
第二获取模块,用于获取问题现场的波形;
输出模块,用于输出所述波形,以供用户根据所述波形进行问题定位。
此外,为实现上述目的,本发明还提出一种测试设备,所述测试设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行波形获取程序,所述波形获取程序被所述处理器执行时实现如上文所述的波形获取方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有波形获取程序,所述波形获取程序被处理器执行时实现如上文所述的波形获取方法的步骤。
本发明提供的技术方案,通过在对被测设计进行测试的过程中,实时监测被测设计的指定端口是否接收到命令,在实时监测到被测设计的指定端口接收到命令时,获取命令对应操作的持续时长,进而在持续时长超过预设阈值时,判定指定端口发生死锁,获取问题现场的波形,并输出波形,以供用户根据波形进行问题定位;解决了相关技术中需要重复执行测试用例,死锁问题不容易复现,造成死锁问题定位效率低的问题。
也即本发明提供的技术方案,通过在对被测设计进行测试的过程中,对被测设计的端口是否发生死锁进行监测,在监测到其发生死锁时,便获取问题现场的波形并进行输出;这样便使得可以根据输出的波形直接进行问题定位,而无需测试完毕之后重复去执行测试用例以定位死锁问题,不仅避免了死锁问题不易复现造成死锁问题定位效率低现象的发生,还避免了人力、物力浪费现象的发生,提升了用户体验感和设备利用率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1是本发明实施例方案涉及的硬件运行环境的测试设备结构示意图;
图2为本发明波形获取方法第一实施例的流程示意图;
图3为本发明波形获取装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的测试设备结构示意图。
测试设备包括:至少一个处理器101、存储器102以及存储在存储器上并可在处理器上运行的波形获取程序,波形获取程序配置为实现如下任一实施例的波形获取方法的步骤。
处理器101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(CentralProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器101可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。处理器101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关波形获取方法操作,使得波形获取方法模型可以自主训练学习,提高效率和准确度。
存储器102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器101所执行以实现本申请中方法实施例提供的波形获取方法。
在一些实施例中,测试设备还可选包括有:通信接口103和至少一个外围测试设备。处理器101、存储器102和通信接口103之间可以通过总线或信号线相连。各个外围测试设备可以通过总线、信号线或电路板与通信接口103相连。具体地,外围测试设备包括:射频电路104、显示屏105和电源106中的至少一种。
通信接口103可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围测试设备连接到处理器101和存储器102。在一些实施例中,处理器101、存储器102和通信接口103被集成在同一芯片或电路板上;在一些其他实施例中,处理器101、存储器102和通信接口103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路104通过电磁信号与通信网络以及其他通信测试设备进行通信。射频电路104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路104包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路104还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏105是触摸显示屏时,显示屏105还具有采集在显示屏105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器101进行处理。此时,显示屏105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏105可以为一个,测试设备的前面板;在另一些实施例中,显示屏105可以为至少两个,分别设置在测试设备的不同表面或呈折叠设计;在一些实施例中,显示屏105可以是柔性显示屏,设置在测试设备的弯曲表面上或折叠面上。甚至,显示屏105还可以设置成非矩形的不规则图形,也即异形屏。显示屏105可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
电源106用于为测试设备中的各个组件进行供电。电源106可以是交流电、直流电、一次性电池或可充电电池。当电源106包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
本领域技术人员可以理解,图1中示出的结构并不构成对测试设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
基于上述硬件结构,提出本发明的各实施例。
参照图2,图2为本发明波形获取方法第一实施例的流程示意图,波形获取方法包括以下步骤:
步骤S20:在对被测设计进行测试的过程中,实时监测被测设计的指定端口是否接收到命令;
若是,执行步骤S21,若否,继续执行步骤S20。
需要说明的是,本实施例中波形获取方法应用于硬件仿真加速器;其中,可以理解的是,硬件仿真加速器是一种芯片研发验证工具,具有仿真速度快、容量大、调试性能好的特点;具体地,硬件仿真加速器包括多个处理器或多个可重新配置部件,其中可重新配置部件诸如现场可编程门阵列(Field Programmable Gate Array,FPGA),其可以一起模拟被测设计(Design under test,DUT)的操作,通过使用硬件仿真加速器来模拟被测设计的操作,设计者可以在制造前验证被测设计是否符合各种设计要求。
应当明确的是,本实施例中对被测设计进行测试可以是通过测试用例来对被测设计进行测试;其中,可以理解的是,测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求;具体地,其目的在于指导测试的实施、规划测试数据的准备、编写测试脚本的设计规格说明书、评估测试结果的度量基准、分析缺陷的标准。
在本实施例中,在通过测试用例来对被测设计进行测试的过程中,需要实时对被测设计的指定端口进行监测,具体地,监测指定端口是否接收到命令;其中:
本实施例中的指定端口可以为一个或多个,这里的多个表征至少两个,其中,指定端口表征的是由用户根据具体应用场景进行灵活指定的被测设计的端口,例如被测设计一共有K个端口,用户可以指定其中的任意一个端口,或者多个端口,或者全部端口为指定端口,后续对指定端口进行监测即可。
本实施例中指定端口在预设时间段内接收到的命令可以为一个或多个,这里的多个表征至少两个,即针对每个指定端口而言,其可能会在预设时间段内接收到多个命令;其中,本实施例中的命令包括但不限于为读命令或写命令,例如被测设计的端口a1在时刻1接收到读命令,或者被测设计的端口a1在时刻2接收到写命令,其中时刻1和时刻2属于预设时间段内;值得注意的是,在实际应用中,预设时间段可以根据具体应用场景做灵活调整。
步骤S21:获取命令对应操作的持续时长。
应当明确的是,本实施例中被测设计的指定端口接收到命令即表征需要执行一些对应操作,例如接收到读命令,其必然对应读操作,或者接收到写命令,其必然对应写操作;则,此时可以对命令对应操作的完成情况进行监测,进而获取到该命令对应操作的持续时长。其中,可以理解的是,命令对应操作的持续时长表征执行该命令对应操作所花费的时长,具体地,在该所花费的时长内,操作可能已经完成,操作可能未完成。
在本实施例中,获取命令对应操作的持续时长的步骤之前,波形获取方法还包括:基于被测设计的指定端口接收到的命令,为命令分配命令标识号和计时器;具体地,本实施例中获取命令对应操作的持续时长的步骤包括:基于命令标识号以及计时器,获取命令对应操作的持续时长。
应当明确的是,本实施例中当在监测到被测设计的指定端口接收到命令时,便可以为该命令分配命令标识号和计时器;其中:
命令标识号用于唯一标识接收到的命令,以使得可以区分各个指定端口接收到的命令,或者以使得区分同一指定端口接收到的命令;例如被测设计的端口a1在时刻1接收到读命令时,此时为其分配命令标识号“读1”,被测设计的端口a1在时刻2接收到读命令时,此时为其分配命令标识号“读2”
计时器用于从指定端口接收到命令起便开始进行计时,以使得可以获取到该命令对应操作的持续时长;其中,可以理解的是,针对各个命令均为其分配一个计时器,这样才能更好地对每个命令对应的操作持续时长进行监测,避免出错,以准确获取到每个命令对应的操作持续时长,提升了获取命令对应操作持续时长的准确率。
在本实施例中,指定端口为一个或多个,其中,在实时监测被测设计的同一指定端口(即每个指定端口)在预设时间段内接收到多个命令时,获取命令对应操作的持续时长的步骤包括:获取多个命令分别对应操作的持续时长;具体地,在持续时长超过预设阈值时,判定指定端口发生死锁的步骤包括:分别判断多个命令对应操作的持续时长是否超过其对应的预设阈值,在存在一个命令对应操作的持续时长超过其对应的预设阈值时,判定指定端口发生死锁。
一种示例中,当实时监测被测设计的同一指定端口在预设时间段内接收到多个命令时,则需要对各个命令对应操作的完成情况进行监测,进而获取到各个命令对应操作的持续时长,进一步地,判断获取到的各个命令对应操作的持续时长是否超过其对应的预设阈值,其中当存在一个命令对应操作的持续时长超过其对应的预设阈值时,就判定该指定端口发生死锁,而无需在所有命令对应操作的持续时长均超过其对应的预设阈值,才判定该指定端口发生死锁;这样能够提升判定指定端口发生死锁的效率,从而能够在第一时间获取问题现场的波形,提升获取问题现场波形的效率。
为了更好地理解,这里以一个具体示例进行说明;例如被测设计的指定端口a1分别在预设时间段内的时刻1和时刻2接收到读命令和写命令,此时分别对读操作和写操作的完成情况进行监测;设获取到读操作的持续时长为5毫秒,写操作的持续时长为30毫秒,同时设读操作对应预设阈值为15毫秒,写操作对应预设阈值为20毫秒,明显地,写操作的持续时长超过了其对应的预设阈值,则此时判定指定端口a1发生了死锁。
在本实施例中,指定端口为一个或多个,其中,在实时监测被测设计的同一指定端口(即每个指定端口)在预设时间段内接收到多个命令时,获取命令对应操作的持续时长的步骤包括:获取多个命令分别对应操作的持续时长;具体地,在持续时长超过预设阈值时,判定指定端口发生死锁的步骤包括:分别判断多个命令对应操作的持续时长是否超过其对应的预设阈值,在多个命令对应操作的持续时长均超过其对应的预设阈值时,判定指定端口发生死锁。
一种示例中,当实时监测被测设计的同一指定端口在预设时间段内接收到多个命令时,则需要对各个命令对应操作的完成情况进行监测,进而获取到各个命令对应操作的持续时长,进一步地,判断获取到的各个命令对应操作的持续时长是否超过其对应的预设阈值,其中只有当所有命令对应操作的持续时长均超过其对应的预设阈值,才判定该指定端口发生死锁,而并非是在其中一个命令对应操作的持续时长超过其对应的预设阈值,就判定该指定端口发生死锁;这样能够提升判定指定端口发生死锁的准确率,从而提升获取问题现场波形的准确率。
为了更好地理解,这里以一个具体示例进行说明;例如被测设计的指定端口a1分别在预设时间段内的时刻1和时刻2接收到读命令和写命令,此时分别对读操作和写操作的完成情况进行监测;设获取到读操作的持续时长为25毫秒,写操作的持续时长为30毫秒,同时设读操作对应预设阈值为15毫秒,写操作对应预设阈值为20毫秒,明显地,读操作和写操作的持续时长均超过了其对应的预设阈值,则此时判定指定端口a1发生了死锁。
应当明确的是,不同命令其对应操作所花费的时长不同,例如通常情况下,读操作所花费的时长比写操作所花费的时长短,则如果针对不同命令设置相同的预设阈值来判定指定端口发生死锁并不合理,且还会降低判定指定端口发生死锁的准确率;因此,本实施例中不同命令分别对应不同预设阈值,以提升判定指定端口发生死锁的合理性、准确率。
可以理解的是,相同类型的命令其对应操作所花费的时长也不同,例如虽然均为读命令,但读命令对应读出处不同则所花费的时长不同;因此,更进一步地,本实施例中相同类型的不同命令分别对应不同预设阈值,以进一步提升判定指定端口发生死锁的合理性、准确率。
步骤S22:在持续时长超过预设阈值时,判定指定端口发生死锁。
应当明确的是,本实施例中将获取到的命令对应操作的持续时长与预设阈值进行比较后,在持续时长超过预设阈值时,即可判定指定端口发生了死锁;具体地,可以为指定端口分配死锁指示信号并初始置为0,在判定指定端口发生了死锁时,将该死锁指示信号置为1,这样可以直观明了查看到该指定端口是否发生死锁。
步骤S23:获取问题现场的波形,并输出波形,以供用户根据波形进行问题定位。
应当明确的是,本实施例中在判定指定端口发生了死锁,便可以获取问题现场的波形,进而输出该获取到的波形,使得用户可以根据该波形进行问题定位;具体地,可以是将获取到的波形输出在硬件仿真加速器的控制软件界面上,以使得用户可以直观明了查看,同时还可以将获取到的波形发送至对应终端、设备等,例如将获取到的波形发送至工作站。
本实施例中,通过在对被测设计进行测试的过程中,对被测设计的端口是否发生死锁进行监测,在监测到其发生死锁时,便获取问题现场的波形并进行输出;这样便使得可以根据输出的波形直接进行问题定位,而无需测试完毕之后重复去执行测试用例以定位死锁问题,不仅避免了死锁问题不易复现造成死锁问题定位效率低现象的发生,还避免了人力、物力浪费现象的发生,即提升了死锁问题定位效率以及用户体验感、设备利用率。
基于第一实施例,提出本发明波形获取方法的第二实施例;在本实施例中,在对被测设计进行测试的过程中,实时监测被测设计的指定端口是否接收到命令的步骤之前,波形获取方法还可以包括至少以下步骤:
接收设置指令;
基于设置指令设置不同命令分别对应的预设阈值。
应当明确的是,不同命令其对应操作所花费的时长不同,例如通常情况下,读操作所花费的时长比写操作所花费的时长短,则如果针对不同命令设置相同的预设阈值来判定指定端口发生死锁并不合理,且还会降低判定指定端口发生死锁的准确率;因此,本实施例中可以接收设置指令,进而基于该设置指令设置不同命令分别对应的预设阈值,以提升判定指定端口发生死锁的合理性、准确率。
可以理解的是,相同类型的命令其对应操作所花费的时长也不同,例如虽然均为读命令,但读命令对应读出处不同则所花费的时长不同;因此,更进一步地,本实施例中可以接收设置指令,进而基于该设置指令设置不同命令分别对应的预设阈值,以进一步提升判定指定端口发生死锁的合理性、准确率。
为了更好地理解,这里可以参见表一所示,为一种示例的基于设置指令设置不同命令分别对应的预设阈值表。
表一
命令 | 预设阈值 |
读命令b11 | 15毫秒 |
读命令b12 | 5毫秒 |
读命令b13 | 10毫秒 |
写命令b21 | 25毫秒 |
写命令b22 | 30毫秒 |
…… | …… |
值得注意的是,上述表一所示仅为一种示例,在实际应用中,需要根据具体的设置指令为准设置不同命令对应的预设阈值。
本实施例中,通过接收设置指令,并基于设置指令设置不同命令分别对应的预设阈值,提升了判定指定端口发生死锁的合理性以及准确率。
基于上述各实施例,提出本发明波形获取方法的第三实施例;在本实施例中,获取问题现象的波形,并输出波形的步骤之后,波形获取方法还可以包括至少以下步骤:
获取辅助信息;其中,辅助信息包括命令对应的类型、指定端口所在IP地址和指定端口所属的标识号;
输出辅助信息。
本实施例中还可以获取辅助信息并进行输出,从而使得用户可以结合输出的问题现场的波形以及相关辅助信息两者更好地进行问题定位;具体地,可以是将获取到的辅助信息输出在硬件仿真加速器的控制软件界面上,以使得用户可以直观明了查看,同时还可以将获取到的辅助信息发送至对应终端、设备等,例如将获取到的波形发送至工作站。
可以理解的是,本实施例中的辅助信息包括但不限于命令对应的类型、指定端口对应的标识号和指定端口所在IP地址,具体地,辅助信息可以包括命令对应的类型、指定端口对应的标识号和指定端口所在IP地址中的任意一个或多个;其中:
命令对应的类型表征的是命令属于哪种类型,例如命令是属于读类型还是写类型;指定端口对应的标识号表征的是用于唯一标识端口,例如端口a1、端口a1、端口a3等;指定端口所在IP地址表征的是端口属于哪个IP地址。
值得注意的是,这里仅是以几种辅助信息进行示例说明,在实际应用中,可以根据具体应用场景做灵活调整,例如辅助信息还可以是判定指定端口发生死锁的时间点等。
需要说明的是,获取辅助信息和获取问题现场的波形可以并行执行,也可以任一先执行,任一后执行,同样地,输出辅助信息和输出波形可以并行执行,也可以任一先执行,任一后执行;在一些示例中,还可以在获取辅助信息和问题现场的波形后,对两者进行整合后一并输出。
本实施例中,通过获取辅助信息并进行输出,从而使得用户可以结合输出的问题现场的波形以及相关辅助信息两者更好地进行问题定位,提升了问题定位的准确率。
基于上述各实施例,提出本发明波形获取方法的第四实施例;在本实施例中,获取问题现象的波形,并输出波形的步骤之后,波形获取方法还可以包括至少以下步骤:
判断对被测设计的测试是否结束;
若是,释放测试资源。
本实施例中为了不影响其他项目使用硬件仿真加速器,可以判断对被测设计的测试是否结束,如果对被测设计的测试结束,则释放相应的测试资源,避免资源的浪费,使得其他项目能够使用该资源,如果对被测试设计的测试未结束,则继续进行判断,直至对被测设计的测试结束;也就是说,如果被测设计的测试结束即表示当前项目的任务退出,如果被测设计的测试未结束即表示当前项目的任务未退出。
本实施例中,通过判断对被测设计的测试是否结束,在对被测设计的测试结束时,释放测试资源,从而避免了测试资源占用影响其他项目使用硬件仿真加速器的现象发生,提升了资源利用率。
此外,参照图3所示,本发明实施例在前述波形获取方法的基础上,还提出一种波形获取装置,波形获取装置包括:
监测模块30,用于在对被测设计进行测试的过程中,实时监测被测设计的指定端口是否接收到命令;
第一获取模块31,用于实时监测被测设计的指定端口接收到命令时,获取命令对应操作的持续时长;
判定模块32,用于在持续时长超过预设阈值时,判定指定端口发生死锁;
第二获取模块33,用于获取问题现场的波形;
输出模块34,用于输出波形,以供用户根据波形进行问题定位。
需要说明的是,本实施例中波形获取装置应用于硬件仿真加速器;同时本实施例中的上述各模块可以与被测设计独立开,这样被测设计可以不做任何修改,便可以实现前述波形获取方法的步骤。
还需要说明的是,本实施例中波形获取装置还可选的包括有对应的其他模块,以实现前述波形获取方法的步骤。
本发明的波形获取装置采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本发明实施例还提出一种计算机可读存储介质,计算机可读存储介质上存储有波形获取程序,波形获取程序被处理器执行时实现如前述的波形获取方法的步骤。
该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于RAM(Random Access Memory,随机存取存储器),ROM(Read-Only Memory,只读存储器), EEPROM(Electrically EraableProgrammable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器),数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种波形获取方法,其特征在于,应用于硬件仿真加速器,所述波形获取方法包括:
接收端口指定指令,根据所述端口指定指令确定指定端口;
基于被测设计的所述指定端口接收到的命令,为所述命令分配命令标识号和计时器;
在对所述被测设计进行测试的过程中,实时监测所述被测设计的指定端口是否接收到命令;
若是,基于所述命令标识号以及计时器,获取所述命令对应操作的持续时长;
在所述持续时长超过预设阈值时,判定所述指定端口发生死锁;
获取问题现场的波形,并输出所述波形,以供用户根据所述波形进行问题定位。
2.如权利要求1所述的波形获取方法,其特征在于,所述指定端口为一个或多个,其中,在实时监测所述被测设计的同一指定端口在预设时间段内接收到多个命令时,所述获取命令对应操作的持续时长的步骤包括:
获取所述多个命令分别对应操作的持续时长;
在所述持续时长超过预设阈值时,判定所述指定端口发生死锁的步骤包括:
分别判断多个命令对应操作的持续时长是否超过其对应的预设阈值,在存在一个命令对应操作的持续时长超过其对应的预设阈值时,判定所述指定端口发生死锁;其中,不同命令分别对应不同预设阈值。
3.如权利要求1所述的波形获取方法,其特征在于,所述指定端口为一个或多个,其中,在实时监测所述被测设计的同一指定端口在预设时间段内接收到多个命令时,所述获取命令对应操作的持续时长的步骤包括:
获取所述多个命令分别对应操作的持续时长;
在所述持续时长超过预设阈值时,判定所述指定端口发生死锁的步骤包括:
分别判断多个命令对应操作的持续时长是否超过其对应的预设阈值,在多个命令对应操作的持续时长均超过其对应的预设阈值时,判定所述指定端口发生死锁;其中,不同命令分别对应不同预设阈值。
4.如权利要求2或3所述的波形获取方法,其特征在于,所述在对被测设计进行测试的过程中,实时监测所述被测设计的指定端口是否接收到命令的步骤之前,所述波形获取方法包括:
接收设置指令;
基于所述设置指令设置不同命令分别对应的预设阈值。
5.如权利要求1-3中任一项所述的波形获取方法,其特征在于,所述获取问题现场的波形,并输出所述波形的步骤之后,所述波形获取方法还包括:
获取辅助信息;其中,所述辅助信息包括所述命令对应的类型、所述指定端口对应的标识号和所述指定端口所在IP地址;
输出所述辅助信息。
6.如权利要求1-3中任一项所述的波形获取方法,其特征在于,所述获取问题现场的波形,并输出所述波形的步骤之后,所述波形获取方法还包括:
判断对所述被测设计的测试是否结束;
若是,释放测试资源。
7.一种波形获取装置,其特征在于,应用于硬件仿真加速器,所述波形获取装置包括:
确定模块,用于接收端口指定指令,根据所述端口指定指令确定指定端口;
分配模块,用于基于被测设计的所述指定端口接收到的命令,为所述命令分配命令标识号和计时器;
监测模块,用于在对所述被测设计进行测试的过程中,实时监测所述被测设计的指定端口是否接收到命令;
第一获取模块,用于实时监测所述被测设计的指定端口接收到命令时,基于所述命令标识号以及计时器,获取所述命令对应操作的持续时长;
判定模块,用于在所述持续时长超过预设阈值时,判定所述指定端口发生死锁;
第二获取模块,用于获取问题现场的波形;
输出模块,用于输出所述波形,以供用户根据所述波形进行问题定位。
8.一种测试设备,其特征在于,所述测试设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行波形获取程序,所述波形获取程序被所述处理器执行时实现如权利要求1-6中任一项所述的波形获取方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有波形获取程序,所述波形获取程序被处理器执行时实现如权利要求1-6中任一项所述的波形获取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011472824.0A CN112270153B (zh) | 2020-12-15 | 2020-12-15 | 波形获取方法及装置、测试设备、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011472824.0A CN112270153B (zh) | 2020-12-15 | 2020-12-15 | 波形获取方法及装置、测试设备、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112270153A CN112270153A (zh) | 2021-01-26 |
CN112270153B true CN112270153B (zh) | 2021-04-16 |
Family
ID=74350045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011472824.0A Active CN112270153B (zh) | 2020-12-15 | 2020-12-15 | 波形获取方法及装置、测试设备、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112270153B (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7243193B2 (en) * | 2004-05-27 | 2007-07-10 | Silverbrook Research Pty Ltd | Storage of program code in arbitrary locations in memory |
EP1886240A2 (en) * | 2005-06-03 | 2008-02-13 | Quickturn Design Systems, Inc. | System and method for analyzing power consumption of electronic design undergoing emulation or hardware based on simulation acceleration |
CN101833744B (zh) * | 2010-03-29 | 2013-01-23 | 广东威创视讯科技股份有限公司 | 绘制图形的方法及装置 |
CN102539970A (zh) * | 2012-01-04 | 2012-07-04 | 华北电网有限公司计量中心 | Rfid设备测试方法及系统 |
CN102541052B (zh) * | 2012-02-16 | 2014-04-09 | 山东电力研究院 | 计算机控制系统实时性测试方法 |
US9134347B2 (en) * | 2012-10-01 | 2015-09-15 | Tektronix, Inc. | Rare anomaly triggering in a test and measurement instrument |
CN104063326A (zh) * | 2014-07-14 | 2014-09-24 | 上海零一拼装信息技术有限公司 | 一种用于软件测试数据分析的示波器及方法 |
AU2017285309A1 (en) * | 2016-06-17 | 2018-12-20 | Philips Medical Systems Technologies Ltd | Medical image workflow system and method |
CN106203199A (zh) * | 2016-06-28 | 2016-12-07 | 武汉天喻信息产业股份有限公司 | 一种双界面卡性能测试的方法及装置 |
CN106506279B (zh) * | 2016-11-11 | 2019-12-13 | 盛科网络(苏州)有限公司 | 网络死锁状态检测方法及装置 |
-
2020
- 2020-12-15 CN CN202011472824.0A patent/CN112270153B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112270153A (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103150238B (zh) | 一种服务请求处理方法、模拟性能测试方法及装置 | |
CN113407393B (zh) | 芯片验证方法、终端设备、验证平台以及存储介质 | |
CN103377105B (zh) | 一种串行总线测试方法 | |
CN109086546A (zh) | 信号链路信号质量评估方法、装置、设备及可读存储介质 | |
CN111711494B (zh) | 无线通讯模块耗流的自动测试方法、系统、设备及介质 | |
CN107908511A (zh) | 一种网卡的acpi测试方法、测试机及系统 | |
CN204789908U (zh) | 基于LabVIEW的电路板自动测试系统 | |
US20230259432A1 (en) | Testing method and testing device | |
CN114501501B (zh) | 移动通信网络靶场的配置管理方法、装置、设备及介质 | |
CN105092992A (zh) | 用于在ate上进行向量控制的测试的方法和设备 | |
CN105187608A (zh) | 一种获取移动终端上应用程序耗电量的方法和装置 | |
CN107977318A (zh) | 一种Android应用程序的能耗和性能测试方法 | |
CN112270153B (zh) | 波形获取方法及装置、测试设备、计算机可读存储介质 | |
CN112988489A (zh) | 一种射频芯片的测试方法、装置、设备和存储介质 | |
CN111459739B (zh) | 一种qdr sram应用验证板及验证方法 | |
CN110334385B (zh) | 综合能源系统中央控制器的测试方法、装置及设备 | |
CN105356955A (zh) | 适用于短波电台网络性能测试的业务模拟装置和方法 | |
CN110750453A (zh) | 基于html5的智能移动端测试方法、系统、服务器及存储介质 | |
CN116087752A (zh) | 一种芯片测试方法、系统、装置及介质 | |
CN113824613B (zh) | 网络可靠性测试方法、测试系统以及存储介质 | |
CN110417461B (zh) | 多故障点的光缆定位方法、装置及终端设备 | |
CN205232238U (zh) | 适用于短波电台网络性能测试的业务模拟装置 | |
CN114168432B (zh) | 应用程序的功耗检测方法、装置、电子设备及存储介质 | |
CN209342888U (zh) | 工况模拟电池测试电路 | |
CN110749812A (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 |