CN109857608A - 微处理器验证方法、装置、电子设备及计算机可读存储介质 - Google Patents
微处理器验证方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109857608A CN109857608A CN201811613856.0A CN201811613856A CN109857608A CN 109857608 A CN109857608 A CN 109857608A CN 201811613856 A CN201811613856 A CN 201811613856A CN 109857608 A CN109857608 A CN 109857608A
- Authority
- CN
- China
- Prior art keywords
- tested
- output datas
- waveform
- reference model
- excitation instruction
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000012795 verification Methods 0.000 title claims abstract description 65
- 230000005284 excitation Effects 0.000 claims abstract description 102
- 241001269238 Data Species 0.000 claims abstract description 67
- 230000008569 process Effects 0.000 claims abstract description 30
- 238000004088 simulation Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 6
- 241000208340 Araliaceae Species 0.000 claims description 4
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims description 4
- 235000003140 Panax quinquefolius Nutrition 0.000 claims description 4
- 235000008434 ginseng Nutrition 0.000 claims description 4
- 230000006870 function Effects 0.000 description 22
- 238000013461 design Methods 0.000 description 15
- 238000012360 testing method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 230000009975 flexible effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请实施例涉及一种微处理器验证方法、装置、电子设备以及计算机可读存储介质,其中方法包括:通过激励发生器产生激励数据;将待验对象和参考模型绑定,使得所述参考模型附属于所述待验对象;将所述n个激励指令发送至所述待验对象,得到n个第一输出数据;控制所述参考模型从所述待验对象获取所述n个激励指令,得到n个第二输出数据;对所述n个激励指令中的第i个激励指令对应的第i个第一输出数据和第i个第二输出数据进行断言;重复执行上一步骤直至执行n次,在n次断言的结果均为成功的情况下,确定所述待验对象为通过。本申请公开的实施例能够提高微处理器验证过程的调试效率且增强了微处理器验证过程的可重用性。
Description
技术领域
本申请涉及处理器技术领域,特别是涉及一种微处理器验证方法、装置、电子设备及计算机可读存储介质。
背景技术
随着集成电路技术的不断发展,市场对芯片有了更高的要求。要求芯片必须有更强大的功能、更高的质量、更加灵活的变化、更快的处理效率,并且有更低的功耗、更小的体积、更加便宜的价格才能得到市场的认可。以上种种需求使得芯片的设计复杂度日益提高,同时电路规模变得更加庞大。随着芯片设计难度的提升,芯片验证的难度也大幅提高。
近年来,验证所投入的时间和资金在整个芯片研发流程中所占的比例也是逐年提高,很多情况下验证花费的时间和成本已经超越了芯片设计本身。在目前的整个芯片研发流程中,针对于功能的验证占去了整个项目时间和资源的大约百分之八十,而这其中所占比例最大的就是寄存器传输级别(Register Transfer Level RTL)的验证。根据统计,大约有超过二分之一的芯片项目要多次流片,所以越早发现问题将会为公司节约更多的成本,使芯片在市场中有更强的竞争力。这就要求在流片之前尽可能去发现所有漏洞。因此对于验证的质量和效率的要求也较以往有了更高的要求。
在芯片验证的过程中,主流的方法是通过比较待验对象和参考模型的输入输出行为是否一致,从而判断待验对象是否通过验证。目前比较广泛使用基于 c++语言搭建的参考模型,在使用该参考模型进行调试,只能依靠通过查看日志文件来定位程序的异常出错点,这种调试方法效率低下,不够直观。
发明内容
本申请实施例提供一种微处理器验证技术方案,能够提高微处理器验证过程调试效率。
第一方面,本申请实施例提供了一种微处理器验证方法,该方法包括:
通过激励发生器产生激励数据,其中所述激励发生器是通过验证平台建立的,所述激励数据包括n个激励指令;
将待验对象和参考模型绑定,使得所述参考模型附属于所述待验对象,其中,所述待验对象是使用第一语言实现的,所述参考模型是使用第二语言实现的,所述参考模型是所述待验对象的参考标准;
将所述n个激励指令发送至所述待验对象,得到n个第一输出数据,其中所述n个第一输出数据与所述n个激励指令一一对应;
控制所述参考模型从所述待验对象获取所述n个激励指令,得到n个第二输出数据,其中所述n个第二输出数据与所述n个激励指令一一对应;
对所述n个激励指令中的第i个激励指令对应的第i个第一输出数据和第i 个第二输出数据进行断言;
重复执行上一步骤直至执行n次,在n次断言的结果均为成功的情况下,确定所述待验对象为通过。
在一可能的实现方式中,在所述n次断言的结果中有一次断言的结果为失败的情况下,确定所述待验对象为未通过。
在一可能的实现方式中,所述方法还包括:在所述第i个第一输出数据和所述第i个第二输出数据相同的情况下,确定第i次断言的结果为成功;在所述第 i个第一输出数据和所述第i个第二输出数据不相同的情况下,确定第i次断言的结果为失败。
在一可能的实现方式中,所述方法还包括:利用仿真软件对将所述第i个第一输出数据和所述第i个第二输出数据进行波形仿真,得到第一波形和第二波形;在所述第一波形和所述第二波形相同的情况下,确定第i次波形仿真的结果为通过;在所述第一波形和所述第二波形不相同的情况下,确定第i次波形仿真的结果为未通过。
在一可能的实现方式中,所述方法还包括:在所述第一波形和所述第二波形不相同的情况下,利用所述仿真软件对所述待验对象进行单步调试,从而定位所述待验对象的漏洞,其中所述单步调试是根据所述第一波形和所述第二波形的差异和断言的结果一步一步跟踪程序执行的流程从而找出漏洞的过程。
在一可能的实现方式中,所述激励数据包括随机激励数据,和/或,定制激励数据,所述随机激励数据是随机产生的,所述定制激励数据是预先定制的。
在一可能的实现方式中,所述第一语言包括:Verilog语言,所述第二语言包括:SystemVerilog语言和SystemVerilog Assertion语言。
第二方面,本申请实施例提供了一种微处理器验证装置,该装置包括:
生成单元,用于通过激励发生器产生激励数据,其中所述激励发生器是通过验证平台建立的,所述激励数据包括n个激励指令;
绑定单元,用于将待验对象和参考模型绑定,使得所述参考模型附属于所述待验对象,其中,所述待验对象是使用第一语言实现的,所述参考模型是使用第二语言实现的,所述参考模型是所述待验对象的参考标准;
发送单元,用于将所述n个激励指令发送至所述待验对象,得到n个第一输出数据,其中所述n个第一输出数据与所述n个激励指令一一对应;
控制单元,用于控制所述参考模型从所述待验对象获取所述n个激励指令,得到n个第二输出数据,其中所述n个第二输出数据与所述n个激励指令一一对应;
断言单元,用于对所述n个激励指令中的第i个激励指令对应的第i个第一输出数据和第i个第二输出数据进行断言;
确定单元,用于重复执行上一步骤直至执行n次,在n次断言的结果均为成功的情况下,确定所述待验对象为通过。
在一可能的实现方式中,所述确定单元还用于,在所述n次断言的结果中有一次断言的结果为失败的情况下,确定所述待验对象为未通过。
在一可能的实现方式中,所述确定单元用于,在所述第i个第一输出数据和所述第i个第二输出数据相同的情况下,确定第i次断言的结果为成功;在所述第i个第一输出数据和所述第i个第二输出数据不相同的情况下,确定第i次断言的结果为失败。
在一可能的实现方式中,所述装置还包括仿真单元,所述仿真单元用于,利用仿真软件对将所述第i个第一输出数据和所述第i个第二输出数据进行波形仿真,得到第一波形和第二波形;所述确定单元用于,在所述第一波形和所述第二波形相同的情况下,确定第i次波形仿真的结果为通过;所述确定单元,用于在所述第一波形和所述第二波形不相同的情况下,确定第i次波形仿真的结果为未通过。
在一可能的实现方式中,所述装置还包括调试单元,所述调试单元用于,在所述第一波形和所述第二波形不相同的情况下,利用所述仿真软件对所述待验对象进行单步调试,从而定位所述待验对象的漏洞,其中所述单步调试是根据所述第一波形和所述第二波形的差异和断言的结果一步一步跟踪程序执行的流程从而找出漏洞的过程。
在一可能的实现方式中,所述激励数据包括随机激励数据,和/或,定制激励数据,所述随机激励数据是随机产生的,所述定制激励数据是预先定制的。
在一可能的实现方式中,所述第一语言包括:Verilog语言,所述第二语言包括:SystemVerilog语言和SystemVerilog Assertion语言。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,其中,所述存储器用于存储应用程序代码,所述处理器用于调用所述程序代码,执行本申请任一实施例所述微处理器验证方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述程序被处理器执行时使所述处理器执行本申请任一实施例所述微处理器验证方法的步骤。
基于本申请公开的微处理器验证方法、装置、电子设备以及计算机可读存储介质,通过激励发生器产生激励数据;将待验对象和参考模型绑定,使得所述参考模型附属于所述待验对象;将所述n个激励指令发送至所述待验对象,得到n个第一输出数据;控制所述参考模型从所述待验对象获取所述n个激励指令,得到n个第二输出数据;对所述n个激励指令中的第i个激励指令对应的第i个第一输出数据和第i个第二输出数据进行断言;重复执行上一步骤直至执行n次,在n次断言的结果均为成功的情况下,确定所述待验对象为通过。本申请实施例通过引入断言的调试方式,实现微处理器开发和验证同步进行,从而提高了微处理器验证的效率。另外本申请输出数据可通过波形显示,通过波形显示的输出数据简洁直观,节省了验证工程师验证微处理器的调试时间,因此也提高了微处理器验证的效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的基于UVM的微处理器验证流程示意图
图2是本申请实施例提供的验证环境的示例性结构示意图;
图3是本申请实施例提供的微处理器验证方法示意流程图;
图4是本申请实施例提供的波形示意图;
图5是本申请实施例提供的微处理器验证装置的结构示意图;
图6是本申请实施例提供的微处理器验证装置的另一结构示意图;
图7是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
本申请所涉及的微处理器验证方法涉及了通用验证方法学(UniversalVerification Methodology,UVM),为了让本申请的技术方案能能够更好地被理解,首先对UVM验证方法学进行初步的介绍。UVM是建立在SV平台上的一个库,具有验证流程细分的Implicit Phase机制、Factory类注册机制、建立类层次化继承及事务级建模(Transaction-Level Modeling,TLM)建模等特性。它提供了一系列的接口,让验证人员更加方便地调用这些接口,从而可以任意拓展验证组件。由于SV语言具备面向对象的编程特性,这个特性使事物级建模非常便捷,因此对于验证来说,可以节省很多测试激励编写的时间。
为了让本申请的技术方案能能够更好地被理解,下面结合图1对基于UVM 的微处理器验证流程进行介绍。首先设计人员根据需求说明书(Specs)通过 Verilog硬件描述语言来编写寄存器传输级(Register Transfer Level,RTL)代码,即Verilog翻译。同样验证人员也会根据Specs来搭建验证平台(如UVM验证平台)。但是由于众多原因导致设计人员根据设计需求编写的Verilog代码不能完全反映设计要求,例如设计人员对设计需求理解不清楚。此时验证人员就要找出RTL代码中与设计需求不符合的地方并予以修正。
下面结合图2描述本申请实施例提供的验证环境,图2是本申请实施例提供的验证环境的示例性结构示意图,所述验证环境主要包括验证平台和待验对象,其中验证平台包括激励发生器和激励发送器,待验对象包括参考模型,参考模型中包括了结果对比单元。所述激励发生器产生激励数据,并通过激励发送器将所述激励数据发送至所述待验对象,所述参考模型从所述待验对象获取激励数据,再通过结果对比模块对所述参考模型和所述待验对象的输出数据进行断言,根据断言的结果确定所述待验对象的验证结果。
本申请实施例提供一种微处理器验证方法,请参见图3,图3是本申请实施例提供的微处理器验证方法示意流程图,如图3所示,该方法包括:
301、通过激励发生器产生激励数据。
在本申请实施例中,所述激励发生器是通过验证平台建立的,所述验证平台为UVM验证平台。所述UVM总结了验证工作常用的步骤和功能,提供了一套完整的验证硬件逻辑的思路和框架。另外,所述UVM验证平台还提供了丰富的类库模块,只需要通过扩展这些类库模块,按照所述UVM验证平台的框架组织,即可完成所述验证平台的环境搭建。然后再通过编写测试用例进行仿真,完成验证逻辑代码的工作。所述验证平台具有良好的扩展性、重用性。
在一可能的实现方式中,通过激励发生器产生激励数据,所述激励数据包括多个激励指令,所述激励指令用于指示微处理器中的寄存器加载和存储指令、数据和地址等操作。
所述激励数据包括随机激励数据和定制激励数据,所述随机激励数据是随机产生的,所述定制激励数据是预先设定的。
在一可能的实现方式中,所述随机激励数据是通过所述激励发生器按照随机概率在线生成得到的,目的在于保证测试数据的随机性,确保通过随机激励数据测试的待测设计(Design Under Test,DUT)在任何环境下执行的动作都与预期设计相同,其中DUT为微处理器中还未被验证的设计模块,该设计模块可以是应用程序代码。所述定制激励数据是根据微处理器的实际应用场景预先设定的,例如专用于人脸识别领域的芯片,则需要预先针对该人脸识别领域的芯片包括的人脸图像处理模块预先设定定制激励数据,然后通过该定制激励数据去测试该人脸图像处理模块,从而确保该人脸识别领域的芯片包括的人脸图像处理模块的性能,如模块功能的全面性和正确性等。应理解,上述例子仅仅用于举例,不应构成具体限定。
在一可能的实现方式中,所述激励发生器可以是UVM平台提供的序列发生器(Sequence/Sequencer),序列发生器作为UVM中实现数据包调度作用的一个组件。第一,它实现了激励数据的产生与验证平台的分离,从而在添加和修改测试上提供了更大的灵活性。第二,它能控制发送数据包的数量以及控制不同类型数据包发送的先后顺序。第三,它可以改变激励数据中的数据约束,例如数据参数的有效范围的约束。
在一可能的实现方式中,随机激励数据可以是激励发生器通过完全随机算法产生得到的。通过完全随机算法生成的随机激励数据的概率分布是不可预测的。这里,完全随机算法可以确保微处理器在面对不可预测的情况依然能保证执行的稳定性。
在一可能的实现方式中,定制激励数据可以是激励发生器通过不完全随机算法产生得到的。通过不完全随机算法生成的定制激励数据的概率分布是具备一定规律的,各个定制激励数据之间存在一定的关联性。例如预先设定各个类别的定制激励数据的权重,权重越大的激励数据的生成数量越大。进一步举例,比如定制激励数据分为三类激励数据,分别是第一定制激励数据、第二定制激励数据和第三定制激励数据,通过不完全随机算法预先设定第一定制激励数据的生成权重是20,第二定制激励数据的生成权重是30,第三定制激励数据的生成权重是50,则在大量地生成定制激励数据并对其进行统计之后,发现第一随机激励数据、第二随机激励数据以及第三随机激励数据的概率分布会趋近于 20%、30%和50%的分布规律,该分布规律与权重占比相同。这里,不完全随机生成算法可以确保微处理器针对特定的测试场景执行的正确性。
在一具体测试用例中,我们希望寄存器加载激励数据比较密集,并在其中夹杂少许的寄存器存储激励数据,则可以设置寄存器加载激励数据的权重较大,而寄存器存储激励数据的权重较小,权重越大的激励数据会优先产生。
通过随机激励数据和定制激励数据两种类型的激励数据来验证微处理器的各项功能,进一步保证了通过验证的微处理器功能的全面性和可靠性。
在一可能的实现方式中,所述随机激励数据和所述定制激励数据可以是同一个激励发生器产生的,也可以是分别由两个不同的激励发生器产生的,如所述随机激励数据是第一激励发生器产生的,所述定制激励数据是第二激励发生器产生的,本申请对此不做具体限定。
302、将待验对象和参考模型绑定,使得所述参考模型附属于所述待验对象。
本申请实施例中,所述待验对象是使用第一语言实现的,所述参考模型是使用第二语言实现的,所述参考模型是所述待验对象的参考标准。
在一可能的实现方式中,所述第一语言包括:Verilog语言,所述第二语言包括:SystemVerilog语言(简称SV语言)和SystemVerilog Assertion语言(简称SVA语言)。具体的,所述Verilog语言是Verilog语言。所述待验对象可以是设计人员根据需求说明书通过硬件描述语言来编写的Verilog代码,主要是从寄存器的角度来描述微处理器中的电路的工作方式;所述参考模型是验证人员根据需求说明书通过逻辑层面描述所述微处理的功能,主要是从符合人类逻辑思维的角度来描述微处理器所实现的功能。进一步解释,所述参考模型是指模拟待验对象功能的模型,它是整个UVM验证平台的关键与核心,它的输出可信与否标志着验证平台是否可以正确验证。
其中,SV语言以硬件描述语言Verilog为基础,借鉴软件编程语言C++面向对象的相关概念。SystemVerilog在Verilog语言基础上,将硬件设计从寄存器级别抽象化到更高的级别,此外,增加了验证平台的事务级建模功能,实现激励的抽象生成。对于验证平台的搭建来说,其作用在于提出虚拟接口概念、功能覆盖率驱动以及仿真进程控制等重要特性,充分利用这些新的功能使得基于 SystemVerilog语言的验证平台的验证效率显著提高,同时确保复杂设计在验证时的完备性。
其中,SVA语言是一种断言语言,其设计目的是为仿真验证。使用SVA语言对微处理器的设计属性和行为的描述,如果一个属性和行为与期望的一致,那么断言就会成功,如果一个属性和行为与期望的不一致,那么断言就会失败。具体来说,断言就是技术人员在编写程序时,对程序执行过程的假设,例如技术人员在程序执行的某个特定点,相信某个表达式的值为真,若程序执行到该特定点,该表达式的值为真,则断言成功,若程序执行到该特定点,该表达式的值为假,则断言失败。同样地,在参考模型代码的编写过程中(开发过程),可将SVA断言语句放置在参考模型代码需要验证的位置(验证过程),实现了开发过程和验证过程的同步进行。使用System C或C++等语言编写的参考模型,只能在参考模型开发完成之后,才能进行验证过程。相比之下,本申请提出的基于SVA的参考模型提高了微处理器验证效率。
303、将所述n个激励指令发送至所述待验对象,得到n个第一输出数据。
本申请实施例中,所述n个第一输出数据与所述n个激励指令一一对应。
在一可能的实现方式中,在将所述激励数据发送至所述待验对象之前,所述方法还包括:调整所述激励数据包括的多个激励指令的发送至所述待验对象的先后顺序,得到仿真激励指令集合,其中所述仿真激励指令集合具有实际意义的。举例来说,在验证微处理器的显控模块时,需要先配置分辨率参数,再进行显控功能的测试,此时可以利用激励发生器将实现配置参数的第一激励指令发送至待验对象,等待待验对象响应后,再发送测试显控功能的第二激励指令。通过灵活地调整激励数据的发送顺序,从而可以满足了不同的测试需求。
其中,所述控制激励数据包括的多个激励指令发送至所述待验对象的先后顺序,可以通过如下方式实现:解析所述激励发生器产生的每一个激励指令,调整所述激励指令的发送顺序。例如,在一具体的实现方式中,收集所述激励指令,从而得到激励指令集合,并将所述激励指令集合存储至存储器中,利用脚本解析工具对所述激励指令集合进行解析,使得所述激励指令集合中的排列顺序符合预设排列规则,其中所述预设排列规则是预先定义在脚本解析工具中的。所述脚本解析工具可以是shell、python等脚本语言编写的,本申请对此不做具体限定。
在一可能的实现方式中,将所述激励数据发送至待验对象可以通过激励发送器发送,其中所述激励发送器可以是所述验证平台提供的驱动器(Driver)。
304、控制所述参考模型从所述待验对象获取所述n个激励指令,得到n个第二输出数据。
本申请实施例中,所述n个第二输出数据与所述n个激励指令一一对应。
在一可能的实现方式中,参考模型与待验对象是以绑定的方式连接的,参考模型通过预定端口从待验对象中获取激励数据。通过绑定的方式连接参考模型和待验对象,确保了参考模型和待验对象的即激励数据是同步的输入的。
305、对所述n个激励指令中的第i个激励指令对应的第i个第一输出数据和第i个第二输出数据进行断言。
在一可能的实现方式中,第i个第一输出数据和第i个第二输出数据的对比过程是可以通过断言完成。具体地,通过断言属性是否成功来判断的,例如a 是来自待验对象的一个关键信号,a’是参考模型完成a功能的对应信号,那么验证过程是通过断言语句assertproperty(a==a’)来完成,该断言语句预期了关键信号a和关键信号a’相同。如果断言成功表示a的功能正确,如果断言失败表示a 的功能有问题。
306、重复执行上一步骤直至执行n次,在n次断言的结果均为成功的情况下,确定所述待验对象为通过。
在本申请实施例中,所述激励数据包括n个激励指令,相应地,对应n次断言。若这n次断言的结果均为成功的情况下,则可以确定所述待验对象为通过。
在本申请的实施例中,所述方法还包括:在所述n次断言的结果中有一次断言的结果为失败的情况下,确定所述待验对象为未通过。
在本申请的实施例中,在所述第i个第一输出数据和所述第i个第二输出数据相同的情况下,确定第i次断言的结果为成功;在所述第i个第一输出数据和所述第i个第二输出数据不相同的情况下,确定第i次断言的结果为失败。
在一可能的实现方式中,利用仿真软件对将所述第i个第一输出数据和所述第i个第二输出数据进行波形仿真,得到第一波形和第二波形;在所述第一波形和所述第二波形相同的情况下,确定第i次波形仿真的结果为通过;在所述第一波形和所述第二波形不相同的情况下,确定第i次波形仿真的结果为未通过。具体输出波形效果可参见图4,如波形图中rtl_cu_inst_de/rtl_cu_ivld_de是待验对象的两个关键信号,而cu_inst_de/cu_ivld_de是参考模型在利用与之关联的信号预测的结果,通过比较rtl_cu_inst_de和cu_inst_de信号,同时对比rtl_cu_ivld_de 和cu_ivld_de,就能很直观的看到在任何时刻,待验对象的输出结果与预期是否匹配。
在可能的实现方式中,在所述第一波形和所述第二波形不相同的情况下,利用所述仿真软件对所述待验对象进行单步调试,从而定位所述待验对象的漏洞,其中所述单步调试是根据所述第一波形和所述第二波形的差异和断言的结果一步一步跟踪程序执行的流程从而找出漏洞的过程。相比于以往使用c++语言搭建参考模型的方案,只能通过打印日志的形式来定位程序的漏洞,本申请提供的方案可以以波形的呈现形式来展示程序在执行过程中的数据变化,其呈现形式更加直观,因此提高了技术人员定位待验对象漏洞的效率。
基于本申请公开的微处理器验证方法,通过激励发生器产生激励数据;将待验对象和参考模型绑定,使得所述参考模型附属于所述待验对象;将所述n 个激励指令发送至所述待验对象,得到n个第一输出数据;控制所述参考模型从所述待验对象获取所述n个激励指令,得到n个第二输出数据;对所述n个激励指令中的第i个激励指令对应的第i个第一输出数据和第i个第二输出数据进行断言;重复执行上一步骤直至执行n次,在n次断言的结果均为成功的情况下,确定所述待验对象为通过。本申请实施例通过引入断言的调试方式,实现微处理器开发和验证同步进行,从而提高了微处理器验证的效率。另外本申请输出数据可通过波形显示,通过波形显示的输出数据简洁直观,节省了验证工程师验证微处理器的调试时间,因此也提高了微处理器验证的效率。
本申请实施例提供一种微处理器验证装置,请参见图5,图5是本申请实施例提供的微处理器验证装置的结构示意图,如图5所示,该装置包括:生成单元501、绑定单元502、发送单元503、控制单元504、断言单元505、确定单元 506,
生成单元501,用于通过激励发生器产生激励数据,其中所述激励发生器是通过验证平台建立的,所述激励数据包括n个激励指令;
绑定单元502,用于将待验对象和参考模型绑定,使得所述参考模型附属于所述待验对象,其中,所述待验对象是使用第一语言实现的,所述参考模型是使用第二语言实现的,所述参考模型是所述待验对象的参考标准;
发送单元503,用于将所述n个激励指令发送至所述待验对象,得到n个第一输出数据,其中所述n个第一输出数据与所述n个激励指令一一对应;
控制单元504,用于控制所述参考模型从所述待验对象获取所述n个激励指令,得到n个第二输出数据,其中所述n个第二输出数据与所述n个激励指令一一对应;
断言单元505,用于对所述n个激励指令中的第i个激励指令对应的第i个第一输出数据和第i个第二输出数据进行断言;
确定单元506,用于重复执行上一步骤直至执行n次,在n次断言的结果均为成功的情况下,确定所述待验对象为通过。
在一可能的实现方式中,所述确定单元506还用于,在所述n次断言的结果中有一次断言的结果为失败的情况下,确定所述待验对象为未通过。
在一可能的实现方式中,所述确定单元506用于,在所述第i个第一输出数据和所述第i个第二输出数据相同的情况下,确定第i次断言的结果为成功;在所述第i个第一输出数据和所述第i个第二输出数据不相同的情况下,确定第i 次断言的结果为失败。
在一可能的实现方式中,参见图6,所述装置还包括仿真单元601,所述仿真单元601用于,利用仿真软件对将所述第i个第一输出数据和所述第i个第二输出数据进行波形仿真,得到第一波形和第二波形;所述确定单元506用于,在所述第一波形和所述第二波形相同的情况下,确定第i次波形仿真的结果为通过;所述确定单元506,用于在所述第一波形和所述第二波形不相同的情况下,确定第i次波形仿真的结果为未通过。
在一可能的实现方式中,参见图6,所述装置还包括调试单元602,所述调试单元602用于,在所述第一波形和所述第二波形不相同的情况下,利用所述仿真软件对所述待验对象进行单步调试,从而定位所述待验对象的漏洞,其中所述单步调试是根据所述第一波形和所述第二波形的差异和断言的结果一步一步跟踪程序执行的流程从而找出漏洞的过程。
在一可能的实现方式中,所述激励数据包括随机激励数据,和/或,定制激励数据,所述随机激励数据是随机产生的,所述定制激励数据是预先定制的。
在一可能的实现方式中,所述第一语言包括:Verilog语言,所述第二语言包括:SystemVerilog语言和SystemVerilog Assertion语言。
在一些实施例中,本申请公开的实施例提供的装置具有的功能或包含的模块可以用于执行上文图3方法实施例描述的方法,其具体实现可以参照上文图3 方法实施例的描述,为了简洁,这里不再赘述。
另外,本申请实施例提供了一种电子设备,图7是本申请实施例提供的电子设备的结构框图。下面参考图7,其示出了适于用来实现本申请实施例的终端设备或服务器的电子设备的结构示意图。该电子设备包括:处理器701和存储器704,其中,所述存储器704用于存储程序代码,所述处理器701用于调用所述程序代码,执行本申请任一实施例所述微处理器验证方法的步骤。
可选地,该电子设备还包括;一个或多个输入接口702,一个或多个输出接口703和存储器704。上述处理器701、输入接口702、输出接口703和存储器 704通过总线705连接。输入接口702用于接收数据,输出接口703用于发送数据,存储器704用于存储程序指令和数据(例如激励数据,n个第一输出数据, n个第二输出数据),处理器701用于执行存储器704存储的程序指令。其中,处理器701被配置用于调用所述程序指令执行:
通过激励发生器产生激励数据,其中所述激励发生器是通过验证平台建立的,所述激励数据包括n个激励指令;
将待验对象和参考模型绑定,使得所述参考模型附属于所述待验对象,其中,所述待验对象是使用第一语言实现的,所述参考模型是使用第二语言实现的,所述参考模型是所述待验对象的参考标准;
通过输出接口703,将所述n个激励指令发送至所述待验对象,得到n个第一输出数据,其中所述n个第一输出数据与所述n个激励指令一一对应;
控制所述参考模型从所述待验对象获取所述n个激励指令,得到n个第二输出数据,其中所述n个第二输出数据与所述n个激励指令一一对应;
通过输入接口702,获取所述n个激励指令中的第i个激励指令对应的第i 个第一输出数据和第i个第二输出数据,并进行断言;
重复执行上一步骤直至执行n次,在n次断言的结果均为成功的情况下,确定所述待验对象为通过。
应当理解,在本申请实施例中,所称处理器701可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器 (DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器704可以包括只读存储器和随机存取存储器,并向处理器701提供指令和数据。存储器704的一部分还可以包括非易失性随机存取存储器。例如,存储器704还可以存储设备类型的信息。
在一些实现方式中,本申请实施例中所描述的电子设备用于执行上文图3 实施例描述的微处理器验证方法,具体的,处理器701可用于执行本申请图3 实施例提供的步骤301、步骤302、步骤304以及步骤306,输出接口可用于执行步骤303、输入接口可用于执行步骤305,具体内容可相应参考上文具体步骤中的描述,在此不再赘述。
在本申请的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现上文图3方法实施例描述的微处理器验证方法,具体内容可相应参考图3方法实施例具体步骤中的描述,为了简洁,此处不再赘述。
所述计算机可读存储介质可以是前述任一实施例所述的电子设备的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述电子设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的服务器、设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,也可执行申请实施例所描述的电子设备的实现方式,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的服务器、设备和方法,可以通过其它的方式实现。例如,以上所描述的服务器实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种微处理器验证方法,其特征在于,包括:
通过激励发生器产生激励数据,其中所述激励发生器是通过验证平台建立的,所述激励数据包括n个激励指令;
将待验对象和参考模型绑定,使得所述参考模型附属于所述待验对象,其中,所述待验对象是使用第一语言实现的,所述参考模型是使用第二语言实现的,所述参考模型是所述待验对象的参考标准;
将所述n个激励指令发送至所述待验对象,得到n个第一输出数据,其中所述n个第一输出数据与所述n个激励指令一一对应;
控制所述参考模型从所述待验对象获取所述n个激励指令,得到n个第二输出数据,其中所述n个第二输出数据与所述n个激励指令一一对应;
对所述n个激励指令中的第i个激励指令对应的第i个第一输出数据和第i个第二输出数据进行断言;
重复执行上一步骤直至执行n次,在n次断言的结果均为成功的情况下,确定所述待验对象为通过。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述n次断言的结果中有一次断言的结果为失败的情况下,确定所述待验对象为未通过。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在所述第i个第一输出数据和所述第i个第二输出数据相同的情况下,确定第i次断言的结果为成功;
在所述第i个第一输出数据和所述第i个第二输出数据不相同的情况下,确定第i次断言的结果为失败。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
利用仿真软件对将所述第i个第一输出数据和所述第i个第二输出数据进行波形仿真,得到第一波形和第二波形;
在所述第一波形和所述第二波形相同的情况下,确定第i次波形仿真的结果为通过;
在所述第一波形和所述第二波形不相同的情况下,确定第i次波形仿真的结果为未通过。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述第一波形和所述第二波形不相同的情况下,利用所述仿真软件对所述待验对象进行单步调试,从而定位所述待验对象的漏洞,其中所述单步调试是根据所述第一波形和所述第二波形的差异和断言的结果一步一步跟踪程序执行的流程从而找出漏洞的过程。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述激励数据包括随机激励数据,和/或,定制激励数据,所述随机激励数据是随机产生的,所述定制激励数据是预先定制的。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述第一语言包括:Verilog语言,所述第二语言包括:SystemVerilog语言和SystemVerilog Assertion语言。
8.一种微处理器验证装置,其特征在于,包括:
生成单元,用于通过激励发生器产生激励数据,其中所述激励发生器是通过验证平台建立的,所述激励数据包括n个激励指令;
绑定单元,用于将待验对象和参考模型绑定,使得所述参考模型附属于所述待验对象,其中,所述待验对象是使用第一语言实现的,所述参考模型是使用第二语言实现的,所述参考模型是所述待验对象的参考标准;
发送单元,用于将所述n个激励指令发送至所述待验对象,得到n个第一输出数据,其中所述n个第一输出数据与所述n个激励指令一一对应;
控制单元,用于控制所述参考模型从所述待验对象获取所述n个激励指令,得到n个第二输出数据,其中所述n个第二输出数据与所述n个激励指令一一对应;
断言单元,用于对所述n个激励指令中的第i个激励指令对应的第i个第一输出数据和第i个第二输出数据进行断言;
确定单元,用于重复执行上一步骤直至执行n次,在n次断言的结果均为成功的情况下,确定所述待验对象为通过。
9.一种电子设备,其特征在于,包括处理器和存储器,其中,所述存储器用于存储应用程序代码,所述处理器用于调用所述程序代码,执行如权利要求1-7任一权利要求所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述程序被处理器执行时使所述处理器执行如权利要求1-7任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811613856.0A CN109857608A (zh) | 2018-12-27 | 2018-12-27 | 微处理器验证方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811613856.0A CN109857608A (zh) | 2018-12-27 | 2018-12-27 | 微处理器验证方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109857608A true CN109857608A (zh) | 2019-06-07 |
Family
ID=66892707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811613856.0A Pending CN109857608A (zh) | 2018-12-27 | 2018-12-27 | 微处理器验证方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857608A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111209199A (zh) * | 2019-12-31 | 2020-05-29 | 西安翔腾微电子科技有限公司 | 一种指令的相关性验证方法、装置、电子设备及存储介质 |
CN112464500A (zh) * | 2020-12-24 | 2021-03-09 | 深圳市芯天下技术有限公司 | 备份cell替换电路验证方法、装置、存储介质和终端 |
CN112560378A (zh) * | 2020-12-23 | 2021-03-26 | 苏州易行电子科技有限公司 | 一种应用于整合完整芯片开发流程的自动化平台 |
CN112632882A (zh) * | 2020-12-18 | 2021-04-09 | 海光信息技术股份有限公司 | 一种基于形式验证对仲裁器验证的装置以及方法 |
CN112749523A (zh) * | 2021-01-14 | 2021-05-04 | 中山大学 | 一种基于uvm的图像重建模块的验证平台及方法 |
CN112949231A (zh) * | 2021-02-26 | 2021-06-11 | 浪潮电子信息产业股份有限公司 | 一种基于uvm验证平台的模块验证系统、方法及设备 |
CN113407408A (zh) * | 2021-06-11 | 2021-09-17 | 海光信息技术股份有限公司 | 数据传输规则验证方法、装置、设备和存储介质 |
CN114020330A (zh) * | 2021-11-04 | 2022-02-08 | 苏州睿芯集成电路科技有限公司 | Risc-v处理器验证中模式切换的方法、电子设备以及存储介质 |
CN115098400A (zh) * | 2022-07-19 | 2022-09-23 | 北京航空航天大学 | 一种基于sva形式化验证的fpga软件仿真测试环境建立方法 |
CN115796089A (zh) * | 2022-11-25 | 2023-03-14 | 南京金阵微电子技术有限公司 | 覆盖率驱动的验证方法、验证装置、介质及电子设备 |
CN117454823A (zh) * | 2023-12-22 | 2024-01-26 | 深圳鲲云信息科技有限公司 | 一种芯片验证多端口激励控制方法、代理器、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140019806A1 (en) * | 2012-07-13 | 2014-01-16 | Freescale Semiconductor, Inc. | Classifying processor testcases |
CN104461810A (zh) * | 2014-11-14 | 2015-03-25 | 深圳市芯海科技有限公司 | 一种提高嵌入式处理器功能验证效率的方法 |
CN105302950A (zh) * | 2015-10-19 | 2016-02-03 | 北京精密机电控制设备研究所 | 一种软、硬件协同的可编程逻辑器件交联仿真测试方法 |
CN107038280A (zh) * | 2017-03-10 | 2017-08-11 | 烽火通信科技股份有限公司 | 一种软硬件协同仿真的验证系统及其方法 |
CN107247859A (zh) * | 2017-08-14 | 2017-10-13 | 深圳云天励飞技术有限公司 | 逻辑电路设计的验证方法、装置、电子设备及存储介质 |
CN108763743A (zh) * | 2018-05-28 | 2018-11-06 | 天津芯海创科技有限公司 | 验证平台、方法及电子设备 |
-
2018
- 2018-12-27 CN CN201811613856.0A patent/CN109857608A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140019806A1 (en) * | 2012-07-13 | 2014-01-16 | Freescale Semiconductor, Inc. | Classifying processor testcases |
CN104461810A (zh) * | 2014-11-14 | 2015-03-25 | 深圳市芯海科技有限公司 | 一种提高嵌入式处理器功能验证效率的方法 |
CN105302950A (zh) * | 2015-10-19 | 2016-02-03 | 北京精密机电控制设备研究所 | 一种软、硬件协同的可编程逻辑器件交联仿真测试方法 |
CN107038280A (zh) * | 2017-03-10 | 2017-08-11 | 烽火通信科技股份有限公司 | 一种软硬件协同仿真的验证系统及其方法 |
CN107247859A (zh) * | 2017-08-14 | 2017-10-13 | 深圳云天励飞技术有限公司 | 逻辑电路设计的验证方法、装置、电子设备及存储介质 |
CN108763743A (zh) * | 2018-05-28 | 2018-11-06 | 天津芯海创科技有限公司 | 验证平台、方法及电子设备 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111209199A (zh) * | 2019-12-31 | 2020-05-29 | 西安翔腾微电子科技有限公司 | 一种指令的相关性验证方法、装置、电子设备及存储介质 |
CN111209199B (zh) * | 2019-12-31 | 2023-05-09 | 西安翔腾微电子科技有限公司 | 一种指令的相关性验证方法、装置、电子设备及存储介质 |
CN112632882A (zh) * | 2020-12-18 | 2021-04-09 | 海光信息技术股份有限公司 | 一种基于形式验证对仲裁器验证的装置以及方法 |
CN112560378B (zh) * | 2020-12-23 | 2023-03-24 | 苏州易行电子科技有限公司 | 一种应用于整合完整芯片开发流程的自动化平台 |
CN112560378A (zh) * | 2020-12-23 | 2021-03-26 | 苏州易行电子科技有限公司 | 一种应用于整合完整芯片开发流程的自动化平台 |
CN112464500A (zh) * | 2020-12-24 | 2021-03-09 | 深圳市芯天下技术有限公司 | 备份cell替换电路验证方法、装置、存储介质和终端 |
CN112749523A (zh) * | 2021-01-14 | 2021-05-04 | 中山大学 | 一种基于uvm的图像重建模块的验证平台及方法 |
CN112949231A (zh) * | 2021-02-26 | 2021-06-11 | 浪潮电子信息产业股份有限公司 | 一种基于uvm验证平台的模块验证系统、方法及设备 |
CN113407408A (zh) * | 2021-06-11 | 2021-09-17 | 海光信息技术股份有限公司 | 数据传输规则验证方法、装置、设备和存储介质 |
CN113407408B (zh) * | 2021-06-11 | 2024-01-26 | 海光信息技术股份有限公司 | 数据传输规则验证方法、装置、设备和存储介质 |
CN114020330A (zh) * | 2021-11-04 | 2022-02-08 | 苏州睿芯集成电路科技有限公司 | Risc-v处理器验证中模式切换的方法、电子设备以及存储介质 |
CN114020330B (zh) * | 2021-11-04 | 2023-11-03 | 苏州睿芯集成电路科技有限公司 | Risc-v处理器验证中模式切换的方法、电子设备以及存储介质 |
CN115098400A (zh) * | 2022-07-19 | 2022-09-23 | 北京航空航天大学 | 一种基于sva形式化验证的fpga软件仿真测试环境建立方法 |
CN115098400B (zh) * | 2022-07-19 | 2022-12-06 | 北京航空航天大学 | 一种基于sva形式化验证的fpga软件仿真测试环境建立方法 |
CN115796089A (zh) * | 2022-11-25 | 2023-03-14 | 南京金阵微电子技术有限公司 | 覆盖率驱动的验证方法、验证装置、介质及电子设备 |
CN115796089B (zh) * | 2022-11-25 | 2024-05-07 | 南京金阵微电子技术有限公司 | 覆盖率驱动的验证方法、验证装置、介质及电子设备 |
CN117454823A (zh) * | 2023-12-22 | 2024-01-26 | 深圳鲲云信息科技有限公司 | 一种芯片验证多端口激励控制方法、代理器、设备及介质 |
CN117454823B (zh) * | 2023-12-22 | 2024-04-19 | 深圳鲲云信息科技有限公司 | 一种芯片验证多端口激励控制方法、代理器、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857608A (zh) | 微处理器验证方法、装置、电子设备及计算机可读存储介质 | |
CN113312879B (zh) | 芯片电路功能验证系统、方法、设备及存储介质 | |
CN106503308B (zh) | 一种基于uvm的can控制器ip验证平台 | |
CN107247859B (zh) | 逻辑电路设计的验证方法、装置、电子设备及存储介质 | |
US7849449B2 (en) | Implementing a design flow for a programmable hardware element that includes a processor | |
CN108631854B (zh) | 用于测试卫星有效载荷转发器的设计的装置及方法 | |
US6484135B1 (en) | Method for adaptive test generation via feedback from dynamic emulation | |
CN107907814B (zh) | 一种提高芯片量产测试效率的方法 | |
CN109582525A (zh) | 测试代码验证方法、验证装置、设备和存储介质 | |
US20130103379A1 (en) | Apparatus and method for verifying interoperability between application software and autosar service | |
CN113051855A (zh) | 用于片上系统芯片验证的方法、系统及验证平台 | |
CN107741904A (zh) | 测试机自动配置方法、装置、设备及存储介质 | |
CN109726061A (zh) | 一种SoC芯片的验证方法 | |
CN109783340A (zh) | SoC的测试代码烧写方法、IP测试方法及装置 | |
CN107016165B (zh) | 一种SoC自动化随机验证的方法 | |
CN104834591B (zh) | 测试autosar软件组件的测试方法及系统 | |
CN102147831A (zh) | 逻辑验证方法和装置 | |
CN108038328A (zh) | 芯片自动仿真验证系统 | |
CN114757135A (zh) | 一种基于需求驱动验证的可编程逻辑器件验证方法及系统 | |
CN116719729B (zh) | 通用验证平台、通用验证方法、介质及电子设备 | |
CN116340150A (zh) | 一种基于uvm的可重用的寄存器性能交互验证系统及其应用 | |
CN115952044A (zh) | 一种自动化测试方法及其装置 | |
CN109340999A (zh) | 空调主控板的参数验证方法、空调、校验遥控器及系统 | |
US9581643B1 (en) | Methods and circuits for testing partial circuit designs | |
CN107526585B (zh) | 基于Scala的FPGA开发平台及其调试、测试方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190607 |