掌桥专利:专业的专利平台
掌桥专利
首页

非易失存储器指令组合验证方法、装置、存储介质和终端

文献发布时间:2023-06-19 09:54:18


非易失存储器指令组合验证方法、装置、存储介质和终端

技术领域

本发明涉及非易失性存储器技术领域,尤其涉及的是一种非易失存储器指令组合验证方法、装置、存储介质和终端。

背景技术

集成电路设计的目的在于设计出符合规范,能够实现特定功能的器件。仿真验证的目的在于确保设计在流片之前,所有既定功能都已被正确设计且符合规范。验证人员根据设计规范,确定测试点,编写测试激励,进行仿真。通过这些仿真测试确定结果是否与预期一致,从而保证设计的可靠性。

为了提高验证完备性,验证过程中一般除了采用定向测试外,还会以对指令进行两两组合的方式输入激励:(1)传统方法一般通过手动编写,遍历指令组合的方式,需要耗费大量时间进行编写,效率较为低下且容易出现遗漏的情况。(2)另一种方式是随机发送指令,同时不断收集指令组合覆盖率,直到收集到指令组合覆盖率满足设定好的阈值,即为测试结束。随机发送指令的方式减少了手动编写耗费的时间,提高了激励产生效率,但针对于一定的覆盖度,随机会导致同样的组合出现多次的情况,耗费不必要的时间,当指令较多时,在仿真过程中往往会需要较长的时间才能达到各种组合情况全部覆盖的结果。而且随机发送指令的方式有一定几率的指令组合会很快实现全覆盖,但更多情况下会一直有几种指令组合覆盖不到,需要验证人员查看覆盖率报告并补充随机激励。

因此,现有的技术还有待于改进和发展。

发明内容

本发明的目的在于提供一种非易失存储器指令组合验证方法、装置、存储介质和终端,旨在解决现有的随机发送指令的方式导致同样的组合出现多次,耗费不必要验证时间,以及会出现指令组合遗漏的问题。

本发明的技术方案如下:一种非易失存储器指令组合验证方法,其中,具体包括以下步骤:

预设包括待测的所有指令的指令集文件;

根据待测的所有指令生成一个具有若干个元素的向量,所述元素的个数与待测的所有指令的数量一致且一一对应;

确定指令的组合维度;

复制所述向量,向量复制个数与指令组合维度一致;

根据指令的组合维度,对所有复制出来的向量中的元素进行遍历组合,生成对应数量的组合向量,所述组合向量的维度与指令的组合维度一致;

根据生成的组合向量中的元素,从指令集文件中查找出对应指令,将组合向量中的元素一一替换为指令,生成对应数量的指令组合,所述指令组合的维度与指令的组合维度一致;

将生成的指令组合依次进行验证,得出验证结果,根据验证结果判断验证是否通过。

所述的非易失存储器指令组合验证方法,其中,所述指令的组合维度即生成的每一个指令组合中包含的指令个数。

所述的非易失存储器指令组合验证方法,其中,所述元素的个数与待测的所有指令的数量一致且一一对应,即向量中的元素与指令集文件中指令的对应序号一一对应。

所述的非易失存储器指令组合验证方法,其中,所述根据指令的组合维度,对所有复制出来的向量中的元素进行遍历组合,生成对应数量的组合向量,所述组合向量的维度与指令的组合维度一致,其中组合向量的对应数量通过如下公式计算:

所述的非易失存储器指令组合验证方法,其中,所述将生成的指令组合依次进行验证,得出验证结果,根据验证结果判断验证是否通过,具体包括以下过程:将生成的指令组合作为激励,依次发送至驱动器,驱动器将激励分别施加给参考模型和待测设计,监视器检测待测设计根据激励作出的输出,计分板将参考模型根据激励得到的期望值与监视器检测到的输出进行对比,根据对比情况确定验证是否通过。

一种非易失存储器指令组合验证装置,其中,包括:

指令集文件预设模块,预设包括待测的所有指令的指令集文件;

向量生成模块,根据待测的所有指令生成一个具有若干个元素的向量,所述元素的个数与待测的所有指令的数量一致且一一对应;

指令组合维度模块,确定指令的组合维度;

向量复制模块,复制所述向量,向量复制个数与指令组合维度一致;

组合向量生成模块,根据指令的组合维度,对所有复制出来的向量中的元素进行遍历组合,生成对应数量的组合向量,所述组合向量的维度与指令的组合维度一致;

指令组合生成模块,根据生成的组合向量中的元素,从指令集文件中查找出对应指令,将组合向量中的元素一一替换为指令,生成对应数量的指令组合,所述指令组合的维度与指令的组合维度一致;

验证模块,将生成的指令组合依次进行验证,得出验证结果,根据验证结果判断验证是否通过。

所述的非易失存储器指令组合验证装置,其中,所述验证模块通过测试平台实现。

所述的非易失存储器指令组合验证装置,其中,所述验证模块包括:

驱动器,接收激励;

参考模型,接收驱动器发送的激励,根据激励得到的期望值;

待测设计,接收驱动器发送的激励,根据激励作出输出;

监视器,检测待测设计的输出;

计分板,根据参考模型根据激励得到的期望值与监视器检测到的输出在计分板上进行对比,根据对比情况确定验证是否通过。

一种存储介质,其中,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述任一项所述的方法。

一种终端设备,其中,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行上述任一项所述的方法。

本发明的有益效果:本发明通过提供一种非易失存储器指令组合验证方法、装置、存储介质和终端,通过使用向量映射指令集的方式,使一项设计中的指令与一个向量中的元素一一对应,即一项设计的所有指令对应的元素,形成一个向量,组合维度是指生成的每一个指令组合中包含的指令个数;确定好指令组合维度后,复制向量为组合维度个数,再对这些向量中的元素进行遍历组合,生成对应的新的组合向量,再将新的组合向量中的元素一一映射到对应的指令,生成指令组合集,依次将这些遍历的指令组合集发送到测试平台中的驱动器,从而实现指令组合验证全遍历的目的;这样既能够确保组合指令测试激励的高效产生,同时不产生重复,冗余的测试,亦省去了随机指令中收集覆盖率以及判断指令组合覆盖率是否满足的过程,提高了测试效率;通过设置不同的组合维度可以确定不同的指令组合情况,具有一定的可控性,验证人员可以根据实际情况选择适合的组合维度,以在测试时间和测试穷尽度上取得一定平衡。

附图说明

图1是本发明中非易失存储器指令组合验证方法的步骤流程图。

图2是本发明中非易失存储器指令组合验证装置的示意图。

图3是本发明中验证模块的示意图。

图4是本发明中终端的示意图。

具体实施方式

下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

如图1所示,一种非易失存储器指令组合验证方法,具体包括以下步骤:

S1:预设包括待测的所有指令的指令集文件,根据待测的所有指令生成一个具有若干个元素的向量,所述元素的个数与待测的所有指令的数量一致且一一对应。

其中,根据指令个数确定向量,如待测设计共有m个指令,则生成一个具有m个元素的向量。向量中的元素对应指令集文件中指令的对应序号。

S2:确定指令组合维度为n。

其中,所述指令组合维度即生成的每一个指令组合中包含的指令个数,例如对于两两组合的指令组合验证,组合维度为2。

S3:复制所述向量,向量复制个数与指令组合维度一致。

其中,复制S1中生成的初始向量,根据指令组合维度复制出n个相同向量。

S4:对所有复制出来的向量中的元素进行遍历组合,生成

S5:根据生成的

S6:将生成的指令组合作为激励,依次发送至驱动器。

S7:驱动器根据指令组合进行验证,得出验证结果,根据验证结果判断验证是否通过。

其中,如图2所示,所述驱动器将激励分别施加给参考模型和待测设计,监视器检测待测设计的输出,并将参考模型得到的期望值与监视器检测到的输出在计分板上进行对比,根据对比情况确定测试是否通过,从而实现验证设计的目的。

根据上述所述的非易失存储器指令组合验证方法,现列举以下实施例加以说明:

S1:假设有ABC三条指令预设在指令集文件中,根据ABC三条指令生产一个具有三个元素的向量,三个元素对应ABC三条指令的对应序号。

S2:ABC三条指令需要两两组合,即指令组合维度为2。

S3:复制两条包括三个元素的向量。

S4:对所有复制出来的向量中的元素进行遍历组合,生成

S5:根据生成的

S6:将生成的指令组合作为激励,依次发送至驱动器。

S7:驱动器根据指令组合进行验证,得出验证结果,根据验证结果判断验证是否通过。

而一般的随机发送指令的方式则会通过随机指令,例如生成ABBCACBCAABBCCCBA这一组指令,通过对比覆盖率判断是否已经达到期望值,从而实现目的。但是,通过随机的方式有一定的几率会很快实现全覆盖,但更多情况下会一直有几种情况覆盖不到,需要验证人员查看覆盖率报告并补充随机激励,而本技术方案可以很好解决这一问题。

如图3所示,一种非易失存储器指令组合验证装置,包括:

指令集文件预设模块101,预设包括待测的所有指令的指令集文件;

向量生成模块102,根据待测的所有指令生成一个具有若干个元素的向量,所述元素的个数与待测的所有指令的数量一致且一一对应;

指令组合维度模块103,确定指令的组合维度;

向量复制模块104,复制所述向量,向量复制个数与指令组合维度一致;

组合向量生成模块105,根据指令的组合维度,对所有复制出来的向量中的元素进行遍历组合,生成对应数量的组合向量,所述组合向量的维度与指令的组合维度一致;

指令组合生成模块106,根据生成的组合向量中的元素,从指令集文件中查找出对应指令,将组合向量中的元素一一替换为指令,生成对应数量的指令组合,所述指令组合的维度与指令的组合维度一致;

验证模块107,将生成的指令组合依次进行验证,得出验证结果,根据验证结果判断验证是否通过。

请参照图4,本发明实施例还提供一种终端。如示,终端B300包括处理器B301和存储器B302。其中,处理器B301与存储器B302电性连接。处理器B301是终端B300的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或调用存储在存储器B302内的计算机程序,以及调用存储在存储器B302内的数据,执行终端的各种功能和处理数据,从而对终端B300进行整体监控。

在本实施例中,终端B300中的处理器B301会按照如下的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器B302中,并由处理器B301来运行存储在存储器B302中的计算机程序,从而实现各种功能:预设包括待测的所有指令的指令集文件;根据待测的所有指令生成一个具有若干个元素的向量,所述元素的个数与待测的所有指令的数量一致且一一对应;确定指令的组合维度;复制所述向量,向量复制个数与指令组合维度一致;根据指令的组合维度,对所有复制出来的向量中的元素进行遍历组合,生成对应数量的组合向量,所述组合向量的维度与指令的组合维度一致;根据生成的组合向量中的元素,从指令集文件中查找出对应指令,将组合向量中的元素一一替换为指令,生成对应数量的指令组合,所述指令组合的维度与指令的组合维度一致;将生成的指令组合依次进行验证,得出验证结果,根据验证结果判断验证是否通过。

存储器B302可用于存储计算机程序和数据。存储器B302存储的计算机程序中包含有可在处理器中执行的指令。计算机程序可以组成各种功能模块。处理器B301通过调用存储在存储器B302的计算机程序,从而执行各种功能应用以及数据处理。

本申请实施例提供一种存储介质,所述计算机程序被处理器执行时,执行上述实施例的任一可选的实现方式中的方法,以实现以下功能:预设包括待测的所有指令的指令集文件;根据待测的所有指令生成一个具有若干个元素的向量,所述元素的个数与待测的所有指令的数量一致且一一对应;确定指令的组合维度;复制所述向量,向量复制个数与指令组合维度一致;根据指令的组合维度,对所有复制出来的向量中的元素进行遍历组合,生成对应数量的组合向量,所述组合向量的维度与指令的组合维度一致;根据生成的组合向量中的元素,从指令集文件中查找出对应指令,将组合向量中的元素一一替换为指令,生成对应数量的指令组合,所述指令组合的维度与指令的组合维度一致;将生成的指令组合依次进行验证,得出验证结果,根据验证结果判断验证是否通过。其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(StaticRandom Access Memory, 简称SRAM),电可擦除可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory, 简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory, 简称EPROM),可编程只读存储器(Programmable Red-Only Memory, 简称PROM),只读存储器(Read-Only Memory, 简称ROM),磁存储器,快闪存储器,磁盘或光盘。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 非易失存储器指令组合验证方法、装置、存储介质和终端
  • 非易失存储器指令组合验证方法、装置、存储介质和终端
技术分类

06120112346635