CN109992892B - 一种参考模型校验方法、装置、电子设备及可读存储介质 - Google Patents

一种参考模型校验方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN109992892B
CN109992892B CN201910262902.5A CN201910262902A CN109992892B CN 109992892 B CN109992892 B CN 109992892B CN 201910262902 A CN201910262902 A CN 201910262902A CN 109992892 B CN109992892 B CN 109992892B
Authority
CN
China
Prior art keywords
checked
source data
bit width
reference model
theoretical value
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
Application number
CN201910262902.5A
Other languages
English (en)
Other versions
CN109992892A (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.)
Hexin Technology Suzhou Co ltd
Shanghai Hexin Digital Technology Co ltd
Original Assignee
Shanghai Hexin Digital Technology Co ltd
Hexin Technology Suzhou 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 Shanghai Hexin Digital Technology Co ltd, Hexin Technology Suzhou Co ltd filed Critical Shanghai Hexin Digital Technology Co ltd
Priority to CN201910262902.5A priority Critical patent/CN109992892B/zh
Publication of CN109992892A publication Critical patent/CN109992892A/zh
Application granted granted Critical
Publication of CN109992892B publication Critical patent/CN109992892B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种参考模型校验方法、装置、电子设备及可读存储介质,该参考模型校验方法包括如下步骤:获取参考模型中的至少一个功能模块的所有待校验源数据以及各个待校验源数据对应的理论值结果;将待校验源数据输入对应的功能模块,得到待校验源数据的执行值结果;根据执行值结果与理论值结果对参考模型进行检验。通过获取参考模型中的至少一个功能模块的所有待校验源数据,并获取各个待校验源数据对应的理论值结果,然后将待校验源数据输入对应的功能模块,得到待校验源数据的执行值结果,从而能够根据执行值结果与理论值结果对参考模型进行检验,解决现有技术中没有对自动化仿真验证中的参考模型进行有效验证的方法。

Description

一种参考模型校验方法、装置、电子设备及可读存储介质
技术领域
本发明涉及集成电路技术领域,尤其涉及到一种参考模型校验方法、装置、电子设备及可读存储介质。
背景技术
随着数字集成电路规模的不断扩大,芯片集成的功能越来越复杂,支持的指令数目越来越多,对于数字集成电路指令的验证已经成为制约芯片验证的一个发展的一个重要因素,而指令验证因为验证空间非常巨大,验证结果检查缺少自动化方法,控制类、浮点类指令期望结果计算较为困难,因此关于指令的验证也成为了当前数字集成电路验证的一个难题。为了保证处理器功能的正确性,就必须编写大批量验证用例对其进行验证,依靠人力手动编写验证用例及检查验证结果在项目生命周期内将是一件很难完成的事。因此,需要寻找一种方法来提高指令验证的效率和全面性,已势在必行。
其思想是先建立待测系统的待测模型,然后通过将待测模型的所有状态空间的输出结果与参考模型(能够正确实现待测模型的预期功能的模型)的对应输出结果进行比较,判断待测模型是否能够实现预期功能的自动化仿真验证,能够实现上述要求,高效、全面的进行指令验证。而根据自动化仿真验证的验证原理可知,参考模型(Reference Model,RM)的正确性至关重要,但是,虽然对于使用参考模型对待测系统进行自动化仿真验证的验证效率较高且验证全面,但是,对于参考模型自身,仍然没有有效的验证方法。
发明内容
有鉴于此,本发明实施例提供了一种参考模型校验方法、装置、电子设备及可读存储介质,以解决现有技术中没有对自动化仿真验证中的参考模型进行有效验证的方法。
根据第一方面,本发明实施例提供了一种参考模型校验方法,包括如下步骤:获取参考模型中的至少一个功能模块的所有待校验源数据以及各个待校验源数据对应的理论值结果;将待校验源数据输入对应的功能模块,得到待校验源数据的执行值结果;根据执行值结果与理论值结果对参考模型进行检验。
通过获取参考模型中的至少一个功能模块的所有待校验源数据,并获取各个待校验源数据对应的理论值结果(该理论值结果一般为人为直接将待校验源数据输入对应的计算指令,或者直接人为计算得到),然后将待校验源数据输入对应的功能模块,得到待校验源数据的执行值结果,从而能够根据执行值结果与理论值结果对参考模型进行检验,解决现有技术中没有对自动化仿真验证中的参考模型进行有效验证的方法。
结合第一方面,在第一方面第一实施方式中,获取参考模型中的至少一个功能模块的所有待校验源数据以及各个待校验源数据对应的理论值结果的步骤,包括:获取源操作数文件以及理论值文件的存储路径;源操作数文件中存储有待校验源数据的存储路径以及各个待校验源数据对应的功能模块的序号,理论值文件中存储有各个待校验源数据对应的理论值结果;读取源操作数文件以及理论值文件的内容,获取参考模型中的至少一个功能模块的所有待校验源数据以及各个待校验源数据对应的理论值结果。
通过将所有待验证源操作数的存储路径均存储于一源操作数文件中,能够加快源操作数的获取效率,同时,通过在源操作数文件中存储各个源操作数对应的功能模块的序号,使得根据该序号找到需要验证该源操作数的对应的功能模块,从而能够保证该待校验源数据能够被输入对应的功能模块中完成验证,即能够在保证该模型校验方法的有效性的同时,提高该方法的校验效率。
结合第一方面第一实施方式,在第一方面第二实施方式中,将待校验源数据输入对应的功能模块,得到待校验源数据的执行值结果的步骤,包括:根据待校验源数据对应的功能模块的序号,将待校验源数据输入对应的功能模块,得到待校验源数据的执行值结果。
结合第一方面第一实施方式,在第一方面第三实施方式中,源操作数文件中还存储有待校验源操作数的初始数据位宽,将待校验源数据输入对应的功能模块,得到待校验源数据的执行值结果的步骤之前,还包括:判断待校验源操作数的初始数据位宽是否为预设平台位宽;当待校验源操作数的初始数据位宽为预设平台位宽时,则将待校验源数据输入对应的功能模块,得到待校验源数据的执行值结果;当待校验源操作数的初始数据位宽不是预设平台位宽时,则将待校验源数据的位宽转换为预设平台位宽后,将待校验源数据输入对应的功能模块,得到待校验源数据的执行值结果。
结合第一方面第三实施方式,在第一方面第四实施方式中,理论值结果的位宽为预设平台位宽。
结合第一方面第三实施方式,在第一方面第五实施方式中,根据待校验源数据对应的功能模块的序号,将待校验源数据输入对应的功能模块,得到待校验源数据的执行值结果的步骤,包括:根据待校验源数据对应的功能模块的序号,将待校验源数据输入对应的功能模块;将待校验源操作数的位宽从预设平台位宽还原为初始数据位宽;将待校验源操作数的位宽从初始数据位宽转换为预设计算位宽;使用对应的功能模块对待校验源数据进行计算,得到待校验源数据的执行值结果;执行值结果的位宽为预设计算位宽;将执行值结果的位宽转换为预设平台位宽。
通过在计算时将待校验源操作数的位宽转换最终为预设计算位宽,能够控制使用功能模块对待校验源数据进行计算时的计算精度,使得在实际应用时,通过将待校验源数据的位宽转换为较大的预设计算位宽(大于初始数据位宽和预设平台位宽)时,能够增加得到的执行值结果的精度,从而能够提高该参考模型校验方法的精度。
结合第一方面第四实施方式或者第一方面第五实施方式,在第一方面第六实施方式中,预设平台位宽为128-bit,根据执行值结果与理论值结果对参考模型进行检验的步骤,包括:将执行值结果中的高64-bit与理论值结果中的高64-bit进行比较,得到第一校验结果;将执行值结果中的低64-bit与理论值结果中的低64-bit进行比较,得到第二校验结果;根据第一校验结果和第二校验结果对参考模型进行检验。
根据第二方面,本发明实施例提供了一种参考模型校验装置,包括:数据获取模块,用于获取参考模型中的至少一个功能模块的所有待校验源数据以及各个待校验源数据对应的理论值结果;执行计算模块,用于将待校验源数据输入对应的功能模块,得到待校验源数据的执行值结果;模型校验模块,用于根据执行值结果与理论值结果对参考模型进行检验。
根据第三方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的参考模型校验方法。
根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式中所述的参考模型校验方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的参考模型校验方法的一种方法流程图;
图2为本发明实施例提供的参考模型校验方法的另一种方法流程图;
图3为本发明实施例提供将32-bit浮点数转换为64-bit浮点数的方法流程图;
图4为本发明实施例提供的参考模型校验装置的原理框图;
图5为本发明实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
需要说明的是,本发明实施例提供的参考模型验证方法用于对CPU等电路设计中的寄存器传输级(Register Transfer Level,RTL)功能仿真验证中使用的参考模型进行验证,该参考模型是指能够正确仿真实现RTL功能的模型。在本发明实施例中,该参考模型验证方法通过C语言软件程序实现,并在执行结束后输出一校验结果文件,方便使用者在参考模型被校验出错误时对参考模型进行修正。
实施例1
图1示出了本发明实施例的视频码流的分析方法的流程图,如图1所示,该方法可以包括如下步骤:
S101:获取参考模型中的至少一个功能模块的所有待校验源数据以及各个待校验源数据对应的理论值结果。在这里,至少一个功能模块参考模型中的功能模块可以包括定点数计算功能模块以及浮点数计算功能模块中的一个或者多个,即,参考模型中的功能模块可以包括定点计算模块,浮点计算模块,定点乘加模块,浮点乘加模块,数据置换模块,定浮点转换模块,除法平方根模块,估值模块,十进制浮点计算模块,加密模块中的一个或者多个。参考模型中的至少一个功能模块的所有待校验源数据是指,参考模型中各个功能模块的所有可能输入数据的总和,例如,当参考模型中的功能模块仅包括浮点乘加模块一个时,则所有待校验源数据是指浮点乘加模块的所有可能输入数据;当参考模型中的功能模块包括浮点乘加模块和定点乘加模块两个时,则所有待校验源数据是指浮点乘加模块的所有可能输入数据以及定点乘加模块的所有可能输入数据。
在这里,每个功能模块中可以包括若干条具体指令,如浮点乘加模块中可以包括FABS指令(浮点绝对值指令)和FMUL指令(浮点乘法指令)等,定点乘加模块中可以包括VMULESB指令(8bit符号整型矢量乘法指令)等,在实际应用场景中,为了区分各个功能模块以及功能模块中的各个具体指令,可以对功能模块和以及功能模块中的各具体指令进行命名或者编号,如,浮点乘加模块以及定点乘加模块均可以命名为maf模块,浮点计算模块以及定点计算模块均可以命名为xs模块,数据置换模块可以命名为pm模块,定浮点转换模块可以命名为cvt模块,除法平方根模块可以命名为srt模块,估值模块可以命名为est模块,十进制浮点计算模块可以命名为dfu模块,加密模块可以命名为cyu模块;而maf模块(浮点乘加模块)中的FABS指令则可以编号为166,FMUL指令可以编号为167;maf模块(定点乘加模块)中的VMULESB指令FCHS指令模块可以编号109等。
表1
需要说明的是,上述功能模块以及具体指令的具体编号仅为便于本领技术人员理解本方案所举的示例,不应当构成对本发明实施例的任何限制。
S102:将待校验源数据输入对应的功能模块,得到待校验源数据的执行值结果。在这里,可以根据待校验原数据对应的功能模块的名称或者编号找到具体的功能模块,并且,当功能模块中的具体指令也具有编号时,还可以进一步地根据待校验原数据对应的具体指令的编号找到对应的功能模块中的具体指令,从而将待校验源数据作为输入数据输入。
S103:根据执行值结果与理论值结果对参考模型进行检验。在这里,当所有待校验源数据的执行值结果均与对应的理论值结果相等时,得到参考模型正确的校验结果;当存在待校验源数据的执行值结果与对应的理论值结果不相等时,则得到参考模型存在错误的校验结果,并记录出错的待校验源数据及其对应的功能模块和/或功能模块中的具体指令,形成校验结果文件。
在本发明实施例中,通过获取参考模型中的至少一个功能模块的所有待校验源数据,并获取各个待校验源数据对应的理论值结果(该理论值结果一般为人为直接将待校验源数据输入对应的计算指令,或者直接人为计算得到),然后将待校验源数据输入对应的功能模块,得到待校验源数据的执行值结果,从而能够根据执行值结果与理论值结果对参考模型进行检验,解决现有技术中没有对自动化仿真验证中的参考模型进行有效验证的方法。
作为本实施例的一种可选实施方式,以源操作数文件中存储有所有待校验源数据的存储路径,各个待校验源数据对应的功能模块的序号(当功能模块中的具体指令也具有序号时,源操作数文件中存储有各个待校验源数据对应的具体指令的序号)以及待校验源操作数的初始数据位宽;理论值文件中存储有各个待校验源数据对应的理论值结果为例来描述本发明实施例的参考模型校验方法。则如图2所示,该方法包括如下步骤:
S201:获取源操作数文件以及理论值文件的存储路径。在这里,待验证源操作数对应的理论值结果在理论值文件中的行数与待验证源操作数在源操作数文件中的行数相同,因此,只要逐行读取源操作数文件以及理论值文件的内容,就可以获取待校验源数据以及待校验源数据对应的理论值结果。
在这里,可以将源操作数文件中的数据定义为如表2所示的格式:
表2
数据中的每一列使用空格符间隔,例如:
166[Space]/proj/vsu/jjwang/test_model/dir1/maf_fp_fabs.txt[Space]1sn[Space]none,当然,上述格式定义以及具体数据示例仅为便于本领技术人员理解本方案所举的示例,不应当构成对本发明实施例的任何限制。
S202:读取源操作数文件以及理论值文件的内容,获取参考模型中的至少一个功能模块的所有待校验源数据以及各个待校验源数据对应的理论值结果。
S203:判断待校验源操作数的数据位宽是否为预设平台位宽。在这里,当待校验源操作数的数据位宽为预设平台位宽时,则直接执行步骤S205;当待校验源操作数的数据位宽不是预设平台位宽时,则先执行步骤S204后,再执行步骤S205。在这里,需要说明的是,预设平台位宽是指将待验证源操作数输入对应的功能模块时需要使用的函数接口所要求的数据位宽,同时,也是将得到的执行结果输出对应的功能模块时需要使用的函数接口所要求的数据位宽(同一平台的函数接口所要求的数据位宽一般相同)。
S204:将待校验源数据转换为预设位宽。在这里,以预设平台位宽为128-bit为例,常规的待校验源数据为32-bit浮点数(即初始数据位宽为32-bit)或者64-bit浮点数(即初始数据位宽为32-bit),具体地,当待校验源数据为32-bit浮点数时,则首先需要将该32-bit浮点数转换为64-bit浮点数,如图3所示,具体的转换过程如下(图3中s是指符号位,e是指指数域,m是指尾数域):
步骤A:将32-bit浮点数的符号位左移32-bit。
步骤B:判断32-bit浮点数是否为0。当32-bit浮点数为0时,则直接将该32浮点数转换为指数域和尾数域均为0的64-bit浮点数;当32-bit浮点数是不为0时,则之执行步骤C。
步骤C:判断32-bit浮点数是否为无穷大(inf)或者无效数据(nan)或者非常规数(denormal)。当32-bit浮点数为无穷大(inf)或者无效数据(nan)或者非常规数(denormal)时,则将当前32-bit浮点数的指数域作为转换后的64-bit浮点数的指数域,将当前32-bit浮点数的尾数域作为转换后的64-bit浮点数的尾数域;当32-bit浮点数既不是无穷大(inf),也不是无效数据(nan),也不是非常规数(denormal)时,则32-bit浮点数为常规数(normal),执行步骤D。
步骤D:将当前32-bit浮点数的真实指数域加上1023作为转换后的64-bit浮点数的尾数域,将当前32-bit浮点数的尾数域作为转换后的64-bit浮点数的尾数域。
然后,将转换后的64-bit浮点数作为128-bit浮点数的高64-bit,并将该128-bit浮点数的低64-bit补0,得到的128-bit浮点数即为32-bit的待校验源数据转换为预设平台位宽(128-bit)后的数据。此外,当待校验源数据为64-bit浮点数时,将其位宽转换为预设平台位宽(128-bit)的方式与该步骤相同,在此不再赘述。
S205:根据待校验源数据对应的功能模块的序号,将待校验源数据输入对应的功能模块。在这里,输入对应的功能模块中的待校验源数据的位宽为预设平台位宽。在这里,当功能模块中的具体指令也具有序号,源操作数文件中存储有各个待校验源数据对应的具体指令的序号时,本步骤还可以包括根据待校验源数据对应的具体指令的序号,将待校验源数据输入对应的具体指令的步骤。在这里,功能模块以及各功能模块中具体指令的序号的设置方式可以参照上述步骤S101的内容来理解,在此不再赘述。
S206:将待校验源操作数的位宽从预设平台位宽还原为初始数据位宽。
S207:将待校验源操作数的位宽从初始数据位宽转换为预设计算位宽。在这里,可以将预设计算位宽设置为160-bit。
在这里,需要说明的是,还可以直接将待校验源数据从预设平台位宽(如128-bit)转换为预设计算位宽(如160-bit),但是,由于现有技术中存在将128-bit浮点数转换为32-bit浮点数或者64-bit浮点数的工具(本发明实施例中的初始数据位宽)的工具,以及将32-bit浮点数或者64-bit浮点数直接转换为160-bit浮点数的工具,而不存在直接将128-bit浮点数转换为160-bit浮点数的工具,因此,为了降低本发明实施例提供的方法的实施难度,通过上述S206和S207两个步骤实现待检验源数据的位宽转换。
S208:使用对应的功能模块对待校验源数据进行计算,得到待校验源数据的执行值结果。在这里,执行值结果的位宽为预设计算位宽。在这里,参照步骤S205的内容可以理解,当根据具体指令的序号将待校验源数据输入对应的具体指令时,则使用对应的具体指令对待校验源数据进行计算。
S209:将执行值结果的位宽转换为预设平台位宽。
在这里,参照上述S206和S207两个步骤的内容,将执行值结果的位宽(从预设计算位宽,如160-bit)转换为预设平台位宽(如128-bit),同样可以先执行一个将执行值结果的位宽转换为初始数据位宽(32-bit或者64-bit)的中间步骤,在此不再详述。
S210:根据执行值结果与理论值结果对参考模型进行检验。在这里,当所有待校验源数据的执行值结果均与对应的理论值结果相等时,得到参考模型正确的校验结果;当存在待校验源数据的执行值结果与对应的理论值结果不相等时,则得到参考模型存在错误的校验结果,并记录出错的待校验源数据及其对应的功能模块和/或功能模块中的具体指令,形成校验结果文件。
作为本发明实施例的一种可选实施方式,当预设平台位宽为128-bit,即执行值结果和理论值结果均为128-bit时,步骤S210可以包括如下步骤:
S301:将执行值结果中的高64-bit与理论值结果中的高64-bit进行比较,得到第一校验结果。
S302:将执行值结果中的低64-bit与理论值结果中的低64-bit进行比较,得到第二校验结果。
S303:根据第一校验结果和第二校验结果对参考模型进行检验。在这里,当一个待校验源数据的第一校验结果为相等(即执行值结果中的高64-bit与理论值结果中的高64-bit相等),且第二校验结果也为相等(即执行值结果中的低64-bit与理论值结果中的低64-bit相等)时,则该待校验源数据的校验结果为相等,否则,该待校验源数据的校验结果为不等。
在这里,当然也可以直接将128-bit的执行值结果和128-bit的理论值结果直接进行比较,在此不再赘述。
在本发明实施例中,通过将所有待验证源操作数的存储路径均存储于一源操作数文件中,能够加快源操作数的获取效率,同时,通过在源操作数文件中存储各个源操作数对应的功能模块的序号,使得根据该序号找到需要验证该源操作数的对应的功能模块,从而能够保证该待校验源数据能够被输入对应的功能模块中完成验证,即能够在保证该模型校验方法的有效性的同时,提高该方法的校验效率。
此外,通过在计算时将待校验源操作数的位宽转换最终为预设计算位宽,能够控制使用功能模块对待校验源数据进行计算时的计算精度,使得在实际应用时,通过将待校验源数据的位宽转换为较大的预设计算位宽,如160-bit(大于初始数据位宽,32-bit或者64bit,并大于预设平台位宽,128-bit)时,能够增加得到的执行值结果的精度,从而能够提高该参考模型校验方法的精度。
实施例2
图3示出了本发明实施例的一种参考模型校验装置的原理框图,该装置可以用于实现实施例1或者其任意可选实施方式所述的保洁任务自动生成方法。如图3所示,该装置包括:数据获取模块10,执行计算模块20和模型校验模块30。
数据获取模10用于获取参考模型中的至少一个功能模块的所有待校验源数据以及各个待校验源数据对应的理论值结果。
执行计算模块20用于将待校验源数据输入对应的功能模块,得到待校验源数据的执行值结果。
模型校验模块30用于根据执行值结果与理论值结果对参考模型进行检验。
本发明实施例还提供了一种电子设备,如图5所示,该电子设备可以包括处理器51和存储器52,其中处理器51和存储器52可以通过总线或者其他方式连接,图5中以通过总线连接为例。
处理器51可以为中央处理器(Central Processing Unit,CPU)。处理器51还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器52作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的参考模型校验方法对应的程序指令/模块(如图4中的数据获取模块10,执行计算模块20和模型校验模块30)。处理器51通过运行存储在存储器52中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的参考模型校验方法。
存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器51所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至处理器51。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器52中,当被所述处理器51执行时,执行如图1-3所示实施例中的参考模型校验方法。
上述电子设备具体细节可以对应参阅图1至图3所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (9)

1.一种参考模型校验方法,其特征在于,包括如下步骤:
获取所述参考模型中的至少一个功能模块的所有待校验源数据以及各个所述待校验源数据对应的理论值结果;所述理论值结果是直接将待校验源数据输入对应的计算指令得到的;所述功能模块包括定点数计算功能模块以及浮点数计算功能模块中的一个或者多个;
将所述待校验源数据输入对应的功能模块,得到所述待校验源数据的执行值结果;
根据所述执行值结果与所述理论值结果对所述参考模型进行检验;
所述获取所述参考模型中的至少一个功能模块的所有待校验源数据以及各个所述待校验源数据对应的理论值结果的步骤,包括:
获取源操作数文件以及理论值文件的存储路径;所述源操作数文件中存储有所述待校验源数据的存储路径以及各个所述待校验源数据对应的所述功能模块的序号,所述理论值文件中存储有各个所述待校验源数据对应的理论值结果;
读取所述源操作数文件以及理论值文件的内容,获取所述参考模型中的至少一个功能模块的所有待校验源数据以及各个所述待校验源数据对应的理论值结果。
2.根据权利要求1所述的参考模型校验方法,其特征在于,所述将所述待校验源数据输入对应的功能模块,得到所述待校验源数据的执行值结果的步骤,包括:
根据所述待校验源数据对应的功能模块的序号,将所述待校验源数据输入对应的功能模块,得到所述待校验源数据的执行值结果。
3.根据权利要求2所述的参考模型校验方法,其特征在于,所述源操作数文件中还存储有待校验源操作数的初始数据位宽,所述将所述待校验源数据输入对应的功能模块,得到所述待校验源数据的执行值结果的步骤之前,还包括:
判断所述待校验源操作数的初始数据位宽是否为预设平台位宽;所述预设平台位宽是指将待验证源操作数输入对应的功能模块时需要使用的函数接口所要求的数据位宽,同时,也是将得到的执行结果输出对应的功能模块时需要使用的函数接口所要求的数据位宽;
当所述待校验源操作数的初始数据位宽为所述预设平台位宽时,则将所述待校验源数据输入对应的功能模块,得到所述待校验源数据的执行值结果;
当所述待校验源操作数的初始数据位宽不是所述预设平台位宽时,则将所述待校验源数据的位宽转换为所述预设平台位宽后,将所述待校验源数据输入对应的功能模块,得到所述待校验源数据的执行值结果。
4.根据权利要求3所述的参考模型校验方法,其特征在于,所述理论值结果的位宽为所述预设平台位宽。
5.根据权利要求3所述的参考模型校验方法,其特征在于,所述根据所述待校验源数据对应的功能模块的序号,将所述待校验源数据输入对应的功能模块,得到所述待校验源数据的执行值结果的步骤,包括:
根据所述待校验源数据对应的功能模块的序号,将所述待校验源数据输入对应的功能模块;
将所述待校验源操作数的位宽从所述预设平台位宽还原为所述初始数据位宽;
将所述待校验源操作数的位宽从所述初始数据位宽转换为预设计算位宽;
使用所述对应的功能模块对所述待校验源数据进行计算,得到所述待校验源数据的执行值结果;所述执行值结果的位宽为所述预设计算位宽;
将所述执行值结果的位宽转换为所述预设平台位宽。
6.根据权利要求4或5所述的参考模型校验方法,其特征在于,所述预设平台位宽为128-bit,所述根据所述执行值结果与所述理论值结果对所述参考模型进行检验的步骤,包括:
将所述执行值结果中的高64-bit与所述理论值结果中的高64-bit进行比较,得到第一校验结果;
将所述执行值结果中的低64-bit与所述理论值结果中的低64-bit进行比较,得到第二校验结果;
根据所述第一校验结果和所述第二校验结果对所述参考模型进行检验。
7.一种参考模型校验装置,其特征在于,包括:
数据获取模块,用于获取所述参考模型中的至少一个功能模块的所有待校验源数据以及各个所述待校验源数据对应的理论值结果;所述理论值结果是直接将待校验源数据输入对应的计算指令得到的;所述功能模块包括定点数计算功能模块以及浮点数计算功能模块中的一个或者多个;
执行计算模块,用于将所述待校验源数据输入对应的功能模块,得到所述待校验源数据的执行值结果;
模型校验模块,用于根据所述执行值结果与所述理论值结果对所述参考模型进行检验;
所述数据获取模块,还用于:
获取源操作数文件以及理论值文件的存储路径;所述源操作数文件中存储有所述待校验源数据的存储路径以及各个所述待校验源数据对应的所述功能模块的序号,所述理论值文件中存储有各个所述待校验源数据对应的理论值结果;
读取所述源操作数文件以及理论值文件的内容,获取所述参考模型中的至少一个功能模块的所有待校验源数据以及各个所述待校验源数据对应的理论值结果。
8.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-6任一项所述的参考模型校验方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-6任一项所述的参考模型校验方法。
CN201910262902.5A 2019-04-02 2019-04-02 一种参考模型校验方法、装置、电子设备及可读存储介质 Active CN109992892B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910262902.5A CN109992892B (zh) 2019-04-02 2019-04-02 一种参考模型校验方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910262902.5A CN109992892B (zh) 2019-04-02 2019-04-02 一种参考模型校验方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN109992892A CN109992892A (zh) 2019-07-09
CN109992892B true CN109992892B (zh) 2023-12-26

Family

ID=67132194

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910262902.5A Active CN109992892B (zh) 2019-04-02 2019-04-02 一种参考模型校验方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN109992892B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102158316A (zh) * 2011-04-25 2011-08-17 中兴通讯股份有限公司 一种64bit位宽的并行CRC32校验方法及装置
CN104461810A (zh) * 2014-11-14 2015-03-25 深圳市芯海科技有限公司 一种提高嵌入式处理器功能验证效率的方法
CN109189479A (zh) * 2018-10-12 2019-01-11 西安微电子技术研究所 一种用于处理器指令集的并行自动化验证方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102158316A (zh) * 2011-04-25 2011-08-17 中兴通讯股份有限公司 一种64bit位宽的并行CRC32校验方法及装置
CN104461810A (zh) * 2014-11-14 2015-03-25 深圳市芯海科技有限公司 一种提高嵌入式处理器功能验证效率的方法
CN109189479A (zh) * 2018-10-12 2019-01-11 西安微电子技术研究所 一种用于处理器指令集的并行自动化验证方法

Also Published As

Publication number Publication date
CN109992892A (zh) 2019-07-09

Similar Documents

Publication Publication Date Title
US10354042B2 (en) Selectively reducing graph based analysis pessimism
US8397187B2 (en) Verifying the error bound of numerical computation implemented in computer systems
US8635579B1 (en) Local clock skew optimization
CN114626324B (zh) Fpga电路后仿真验证方法、装置、电子设备及存储介质
US10740520B2 (en) Pessimism in static timing analysis
Kaufmann et al. AMulet 2.0 for verifying multiplier circuits
CN104615808B (zh) 一种待测试硬件运算部件的测试方法及参考模型装置
CN113342671B (zh) 对运算模块进行验证的方法、装置、电子设备和介质
US8881075B2 (en) Method for measuring assertion density in a system of verifying integrated circuit design
US9430595B2 (en) Managing model checks of sequential designs
US20140164462A1 (en) Residue-based error detection for a processor execution unit that supports vector operations
CN109992892B (zh) 一种参考模型校验方法、装置、电子设备及可读存储介质
CN109933948B (zh) 一种形式验证方法、装置、形式验证平台及可读存储介质
US9195789B2 (en) Incremental functional verification of a circuit design
US10657209B2 (en) Computing system and method of performing verification of circuit design in the computing system
US8745118B2 (en) Verifying floating point square root operation results
US8713084B2 (en) Method, system and computer program product for verifying floating point divide operation results
Boldo Formal verification of programs computing the floating-point average
US10437716B2 (en) Method and apparatus for coverage analysis of SRT look-up table
CN111858109A (zh) 互斥逻辑的验证方法、装置、设备及存储介质
Jiang et al. Estimating likelihood of correctness for error candidates to assist debugging faulty HDL designs
Chacko et al. Rapid prototyping of wireless physical layer modules using flexible software/hardware design flow
Kaufmann Formal verification of integer multiplier circuits using algebraic reasoning: A survey
US11836426B1 (en) Early detection of sequential access violations for high level synthesis
US8732637B2 (en) Formal verification of bit-serial division and bit-serial square-root circuit designs

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
CB02 Change of applicant information

Address after: 215163 No. 9 Xuesen Road, Science and Technology City, Suzhou High-tech Zone, Jiangsu Province

Applicant after: Hexin Technology (Suzhou) Co.,Ltd.

Address before: 215163 building 3, No.9 Xuesen Road, science and Technology City, high tech Zone, Suzhou City, Jiangsu Province

Applicant before: SUZHOU POWERCORE TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
TA01 Transfer of patent application right

Effective date of registration: 20231108

Address after: 215163 No. 9 Xuesen Road, Science and Technology City, Suzhou High-tech Zone, Jiangsu Province

Applicant after: Hexin Technology (Suzhou) Co.,Ltd.

Applicant after: Shanghai Hexin Digital Technology Co.,Ltd.

Address before: 215163 No. 9 Xuesen Road, Science and Technology City, Suzhou High-tech Zone, Jiangsu Province

Applicant before: Hexin Technology (Suzhou) Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant