芯片验证的预处理方法和预处理装置制造方法及图纸

技术编号:2834632 阅读:175 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种芯片验证的预处理方法,该方法包括:A.采用被验证芯片中的硬件算法及其对应的验证算法分别对输入数据进行运算,获得硬件算法执行结果和验证算法执行结果,计算出该输入数据对应的环境变量数据,并根据硬件算法执行结果和验证算法执行结果确定不一致点;B.将所述不一致点在输入数据中对应的输入数值,以及所述不一致点对应的硬件算法执行结果、验证算法执行结果和环境变量数据确定为预处理结果。本发明专利技术还公开了一种芯片验证的预处理装置,使用本发明专利技术能够降低芯片验证的复杂程度,提高芯片验证的效率。

【技术实现步骤摘要】

本专利技术涉及数据处理技术,具体涉及芯片验证的预处理方法和预处理装置
技术介绍
在芯片的开发中,为了保证芯片硬件设计的正确性,需要对所设计的芯 片进行验证,确定芯片中对数据进行处理的算法是否合适,即确定芯片的硬 件算法是否正确。在执行验证之前,预先根据被验证芯片所执行的硬件算法, 设计采用相 同原理的软件算法,即验证算法。在进行验证时,为硬件算法和验证算法设 置相同的配置参数,并提供相同的输入数据,分别运行硬件算法和验证算法, 并在运行完毕后,将其各自的执行结果分别保存在硬件算法输出文件和验证 算法输出文件中。然后逐一 比较两个输出文件中每个数据点对应的硬件算法 执行结果和验证算法执行结果是否 一致。目前,在进行上述比较执行结果的操作时,通常采用磁盘操作系统(DOS, Disk Operating System)的比较程序,或是采用第三方文件比较器 对两个输出文件中的执行结果进行比较,确定是否存在硬件算法执行结果与 验证算法执行结果不一致的数据点,即不一致点。由于不一致点的产生原因 可能是验证算法设计错误,或者是芯片硬件的设计缺陷,那么,为了最终消 除所出现的不一致点,还需要继续判断不一致点出现的原因。由于现有的比较工具只能找出输出文件中不一致点的位置和数量。因 此,验证人员获得比较结果从而进行后续的验证操作时,需要根据比较工具 提示的不一致点信息,人工从输出文件中找到各个不一致点,并根据这些不一致点查找与其对应的输入数据,然后再将输入数据代入到被认定为正确 的、与硬件算法原理相同的算法公式进行运算,将计算结果作为没有验证算 法设计错误和芯片设计缺陷情况下,不一致点对应的正确的算法执行结果, 即预期执行结果。然后,比较不一致点对应的预期执行结果、硬件算法执行 结果和验证算法执行结果。当预期执行结果与硬件算法执行结果不相同时, 判定该不一致点是由芯片硬件的设计缺陷造成的,则通知硬件设计人员,指 导他们对芯片硬件设计进行修正。当预期执行结果与验证算法执行结果不相 同时,判定该不一致点是由验证算法设计错误造成的,则检查验证算法,并 在进行修改后,重新启动比较工具的比较操作。上述从确定验证算法至确定获得不 一致点的位置和数量以及各数据点 对应的输入数据、硬件算法执行结果和验证算法执行结果的过程,是为芯片 验证做好前期准备的预处理过程。在现有的芯片验证的预处理过程中,在比 较工具提供了不一致点的数量和位置信息后,验证人员根据比较工具的提 示,人工的从硬件算法和验证算法这两个输出文件中找到不一致点,并提取 不 一致点的硬件算法执行结果和验证算法执行结果,并在大量的输入数据中 找出不一致点对应的输入数据,然后才能根据不一致点对应输入数据、硬件 算法执行结果和验证算法执行结果判断不一致点出现的原因。可见,采用现 有的预处理方案,使得后续验证过程执行的操作较多,复杂度较高。此外,在实际应用中,对应一个输出数据的输入数据可能不是单个的数 值,而是一系列的数据群,即包括多个输入数值。例如,在对数字图像处理 的算法进行验证时,由于组成图像的数据是二维的,因此在对第(i, j)个输入数值进行处理时,不仅需要第(i, j)个输入数值,还可能需要第(i - 1, j)个、第(i + 1, j)个、第(i, j - 1 )个和第(i, j + 1 )个输入数值 进行协同计算,甚至涉及到更多的、分布更为复杂的输入数值。在从保存有 庞大数量的输入数值的文件中获取所需的输入数值时,过程繁瑣、易出错, 从而导致芯片验证过程效率降低,进一步增加了芯片验证过程的复杂程度。
技术实现思路
有鉴于此,提供了一种芯片验证的预处理方法,能够降低芯片验证的复 杂程度。该预处理方法包括A、采用被验证芯片中的硬件算法及其对应的验证算 法分别对输入数据进行运算,获得硬件算法执行结果和验证算法执行结果,计 算出该输入数据对应的环境变量数据,并根据硬件算法执行结果和验证算法执 行结果确定不一致点;B、将所述不一致点在输入数据中对应的输入数值,以及所述不一致点对 应的硬件算法执行结果、验证算法执行结果和环境变量数据确定为预处理结果。其中,所述步骤A包括All、从输入数据中获取一个未被处理过的数据点的输入数值,将所述数 据点确定为当前处理数据点;釆用被验证芯片中硬件算法及其对应的验证算法 分别对所述当前处理数据点的输入数值进行运算,获得当前处理数据点的硬件 算法执行结果和验证算法执行结果,计算出当前处理数据点对应的环境变量数 据;A12、在判定获得的当前处理数据点的硬件算法执行结果和验证算法执行 结果不一致时,将当前处理数据点确定为不一致点;A13、判断是否处理完所述输入数据中的所有数据点,如果是,则执行所 述步骤B,否则,执行所述步骤All。其中,步骤A所述获得硬件算法执行结果和验证算法执行结果,计算出该 输入数据对应的环境变量数据的操作包括从所述输入数据中获取所有数据点的输入数值,采用被验证芯片中硬件算 法及其对应的验证算法逐一对所述各数据点的输入数值进行运算,获得各数据 点对应的硬件算法执行结果和验证算法执行结果,计算出所述输入数据中各数 据点对应的环境变量数据。其中,步骤A所述确定不一致点包括A21、从获得的各数据点对应的硬件算法执行结果和验证算法执行结果中获取一个未被比较过的数据点对应的硬件算法执行结果和验证算法执行结果,将该数据点确定为当前比较数据点;A22、在判定获取的当前比较数据点的硬件算法执行结果和验证算法执行 结果不 一致时,将当前比较数据点确定为不 一致点;A23、判断是否比较完获得的所有数据点对应的硬件算法执行结果和验证 算法执行结果,如果是,则执行所述步骤B,否则,返回执行所述步骤A21。其中,所述步骤A22之后,步骤A23之前进一步包括保存当前比较得到 的不一致点在输入数据中对应的输入数值,以及获得的该不一致点对应的硬件 算法执行结果、验证算法执行结果和环境变量数据。其中,所述步骤B之前进一步包括根据获得的所有不一致点,逐一保存 各不一致点在所述输入数据中对应的输入数值,以及获得的各不一致点对应的 硬件算法执行结果、验证算法执行结果和环境变量数据。其中,所述步骤A所述获得硬件算法执行结果和验证算法执行结果,计算 出该输入数据对应的环境变量数据之后进一步包括接收到比较命令,并执行所述步骤A21 。其中,步骤A所述获得硬件算法执行结果和验证算法执行结果,计算出该 输入数据对应的环境变量数据之后进一步包括判断获得的硬件算法执行结果 与验证算法执行结果是否存在不一致的数据点;如果是,则执行所述确定不一 致点的操作;否则,确定被验证芯片通过验证。较佳地,该方法进一步包括根据所述预处理结果生成预处理报告。该方法进一步包括预先根据被验证芯片中的硬件算法设置环境变量的计 算公式,该环境变量的计算公式以当前处理的输入数值相关信息为参数;所述计算出该输入数据对应的环境变量数据为采用所述环境变量的计算 公式对所述输入数据进行运算,获得输入数据对应的环境变量数据。其中,所述当前处理的输入数值相关信息为当前处理的输入数值之前和/ 或之后的输入数值。本专利技术还提供了 一种芯片验证的预处理装置,能够降低芯片验证的复杂程度。该预处理装置包括硬件算法执行模块、验证本文档来自技高网
...

【技术保护点】
一种芯片验证的预处理方法,其特征在于,该方法包括:A、采用被验证芯片中的硬件算法及其对应的验证算法分别对输入数据进行运算,获得硬件算法执行结果和验证算法执行结果,计算出该输入数据对应的环境变量数据,并根据硬件算法执行结果和验证算法执 行结果确定不一致点;B、将所述不一致点在输入数据中对应的输入数值,以及所述不一致点对应的硬件算法执行结果、验证算法执行结果和环境变量数据确定为预处理结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:李崴巍游明琦
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1