首页 / 一种面向浮点融合运算单元的激励抽样预验证方法和装置

一种面向浮点融合运算单元的激励抽样预验证方法和装置实质审查 发明

技术领域

[0001] 本发明涉及处理器设计和验证技术领域,尤其涉及一种面向浮点融合运算单元的激励抽样预验证方法和装置。

相关背景技术

[0002] 现代高性能处理器中涉及到大量的浮点运算,其中浮点融合运算单元逐渐成为研究热点。浮点融合运算单元是直接将多操作浮点数运算进行融合设计,通过共享相同的算数逻辑以减少浮点运算的面积,功耗和延迟,以克服现有技术中的诸多性能缺陷。因此,面向现代高性能处理器的浮点融合运算单元的验证成为新型处理器验证的关键点。
[0003] 对于传统的浮点运算单元的验证,因为其输入操作数少,功能单一,所以主要是在输入操作数进行约束构建测试激励。对于浮点融合运算单元来说,一方面,他的输入操作数可能有十几个或者几十个,这使得基于约束条件构造的测试激励大量增加。另一方面,浮点融合运算单元的内部设计由于其精度、数据存储长度的限制通常是非精确的,所以还需要结合中间结果构造激励。其中中间结果指的是输入操作数经过一种运算方式得到的中间值。例如:乘加运算的中间结果即为乘法结果。对于验证人员来说,测试激励的大量增加必然导致验证周期随之变长。
[0004] 在芯片开发过程中,对于设计人员每次做出的修改,验证人员都需要回归性验证以确保RTL代码的修改没有对已经验证过的功能造成影响。因此,尽早的发现设计代码中存在的问题,对于减少回归性验证时间,降低验证周期具有重要的意义。

具体实施方式

[0018] 为了使本发明的目的、技术方案及优点更加明白清楚,结合附图和实施例,对本发明进一步的详细说明,应当理解,此处所描述的具体实施例仅仅用以解释本发明,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均在本发明保护范围。
[0019] 实施例1
[0020] 如图1所示,本发明提供一种面向浮点融合运算单元的激励抽样预验证方法,包括以下步骤:
[0021] (1)通过对IEEE‑754浮点标准和融合运算单元深入分析确定操作数数量、数据类型和功能点,从输入操作数和中间结果角度出发,根据浮点数据类型与浮点融合运算单元特殊功能点的约束条件分别构造P组原始测试激励:G1、G2、…、Gi、…、GP;
[0022] 所述步骤(1)具体包括以下子步骤:
[0023] (1.1)根据浮点数据类型构造测试激励:将10种浮点类型遍历组合生成基于浮点格式约束的测试激励组。
[0024] 浮点融合运算单元所支持的数据类型共10种,分别为8种特殊浮点数和两种正常浮点数,其中8种特殊浮点数为:正0和负0、正非规格化数和负非规格化数、正无穷大和负无穷大、静止的非数QNAN(Quiet Not a Number)和通知的非数SNAN(Signaling Not a Number),两种正常浮点数为:正规格化浮点数和负规格化浮点数。将10种浮点类型遍历组合生成基于浮点格式约束的测试激励组。例如:乘法运算需要的两输入激励,正0×负0、正0×正非规格化数等。乘加运算需要的三输入激励,正0×负0+正非规格化数、正非规格化数×正无穷大+正规格化数等。
[0025] (1.2)根据浮点融合运算单元特殊功能点构造测试激励。
[0026] 在浮点标准IEEE‑754中,存在五种浮点异常和四种舍入方向。五种异常分别为:无效操作异常,除零异常、上溢异常、下溢异常和非精确异常。四种舍入为分别为:就近舍入、向负无穷大(向下)舍入、向正无穷大(向上)舍入以及向零舍入(截断)。对于无效操作异常和除零异常可以从内容一中利用特殊值进行充分验证。其他三种异常和四种舍入需要验证人员分析约束条件生成相应的激励组。如公告号为CN110795299A的中国专利文件,其技术方案中公布了根据浮点异常及舍入功能点构造验证激励方法。
[0027] (2)构造样本激励;
[0028] 所述步骤(2)具体包括以下子步骤:
[0029] (2.1)基于随机抽样原则对步骤(1)中的每组原始测试激励抽样构造样本激励。
[0030] 根据随机抽样规则在每一组原始测试激励Gi中抽取Ni个样本,随后将所有样本按照顺序组合成同一测试激励,得到样本激励。
[0031] 本发明在步骤(1)中生成的多个原始测试激励组是基于不同约束表达式产生的,对于同一个原始测试激励组,其约束表达式相同,故抽样数据具有一定的典型性和一般性。
[0032] (2.2)根据各种数据类型结构边界值组合构成样本激励。
[0033] 边界值分析法作为一种很实用的黑盒测试用例方法,具有很强的发现故障的能力,将其放在预验证环节可以查出更多的错误,具有很高的测试回报率。其激励构造方法如下:首先,根据浮点数数据类型结构确定边界值,例如:对单精度浮点数格式,边界值如表1所示。其次,通过对表中的边界值组合构成样本激励。例如:两输入乘法运算32’h0000_0000×32’h0000_0001,32’h 0080_0000×32’h00ff_ffff;三输入乘加运算32’h0000_0000×32’h0000_0000+32’h7f80_0000,32’h0080_0000×32’h00ff_ffff+32’h 8080_0000等。
[0034] 表1:单精度浮点数的各种数据类型结构边界值
[0035]
[0036]
[0037] (3)对样本激励预验证,具体包括:将样本激励分别送入到待验证浮点融合运算单元和参考模型中,比较计算结果;若结果一致,则执行步骤(5);若结果不一致,则执行步骤(4)。
[0038] (4)对结果不一致的样本激励所在的原始测试激励组进行验证,对比结果进一步分析设计代码中的BUG;
[0039] 即找出预验证样本激励中结果不一致的“样本”所在的原始测试激励组,对该组未抽样前的完整测试激励进行验证,对比结果进一步分析设计代码中的BUG。在此阶段,验证不一致“样本”的原始测试激励组,即通过增加具有相同约束条件的测试激励数量,有助于帮助验证工程师更准确地识别和定位BUG。
[0040] (5)修改所述待验证浮点融合运算单元的代码,并提交设计工程师进行BUG修复,得到修复后的待验证浮点融合运算单元;
[0041] (6)依次验证原始测试激励组,具体为:将步骤(1)生成的原始测试激励组依次送入到待验证浮点融合运算单元和参考模型中比较结果,若结果不一致,则返回步骤(5)。若结果一致,则执行步骤(7);
[0042] (7)记录覆盖率并撰写验证报告。具体为:统计已验证激励的覆盖率,其中包括代码覆盖率和功能点覆盖率。代码覆盖率用于衡量运算单元设计代码被充分执行的程度,而功能点覆盖率则用于评估设计各项功能实现情况。针对未覆盖的场景进行分析,手动构造激励验证或撰写验证报告进行未覆盖说明。
[0043] 实施例2
[0044] 与前述一种面向浮点融合运算单元的激励抽样预验证方法的实施例1相对应,本发明还提供了一种面向浮点融合运算单元的激励抽样预验证装置的实施例。
[0045] 参见图2,本发明实施例提供的一种面向浮点融合运算单元的激励抽样预验证装置,包括一个或多个处理器,用于实现上述实施例中的一种面向浮点融合运算单元的激励抽样预验证方法。
[0046] 本发明一种面向浮点融合运算单元的激励抽样预验证装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图2所示,为本发明一种面向浮点融合运算单元的激励抽样预验证装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
[0047] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0048] 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0049] 本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的一种面向浮点融合运算单元的激励抽样预验证方法。所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
[0050] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
[0051] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页 第1页 第2页 第3页
相关技术
抽样预相关技术
方法装置相关技术
王芬发明人的其他相关专利技术