集成电路设计的验证方法、验证装置以及存储介质制造方法及图纸

技术编号:27936637 阅读:21 留言:0更新日期:2021-04-02 14:16
一种集成电路设计的验证方法、验证装置及存储介质。该验证方法包括根据使用测试用例组对该集成电路设计进行仿真得到的功能覆盖率报告确定该测试用例组中的重复测试用例。该集成电路设计的预期功能对应多个功能覆盖单元,该测试用例组包括多个测试用例,该多个测试用例的每个覆盖该多个功能覆盖单元中的至少一个,该重复测试用例所覆盖的功能覆盖单元被其它测试用例完全覆盖。该验证方法可以有效提高验证效率。

【技术实现步骤摘要】
集成电路设计的验证方法、验证装置以及存储介质
本公开的实施例涉及一种集成电路设计的验证方法、验证装置以及存储介质。
技术介绍
在集成电路的设计中,需要用硬件描述语言(也即硬件编程语言)将硬件电路形成为寄存器传输级逻辑代码,使用验证工具对该逻辑代码进行仿真验证后再通过综合工具将逻辑代码转换为门级电路网表,然后再使用自动布局布线工具将网表转换为要实现的具体电路布线结构。随着集成电路技术的不断发展,芯片的规模和复杂度在不断提升,验证时间也越来越长,如何提高验证效率、缩短验证时长是本领域关注的问题。
技术实现思路
本公开至少一实施例提供一种集成电路设计的验证方法,包括:根据使用测试用例组对所述集成电路设计进行仿真得到的功能覆盖率报告确定所述测试用例组中的重复测试用例。所述集成电路设计的预期功能对应多个功能覆盖单元,所述测试用例组包括多个测试用例,所述多个测试用例的每个覆盖所述多个功能覆盖单元中的至少一个,所述重复测试用例所覆盖的功能覆盖单元被其它测试用例完全覆盖。在一些示例中,所述验证方法还包括:将所述重复测试用例从所述测试用例组中移除以对所述测试用例组进行优化。在一些示例中,所述验证方法还包括:将优化后的测试用例组用于对所述集成电路设计进行仿真。在一些示例中,所述功能覆盖单元为所述集成电路设计的预期功能的最小功能覆盖单元。在一些示例中,根据使用测试用例组对所述集成电路设计进行仿真得到的功能覆盖率报告确定所述测试用例组中的重复测试用例包括:从所述功能覆盖率报告中提取所述多个测试用例中每个所覆盖的功能覆盖单元信息,以及对所述多个功能覆盖单元中被多个测试用例所覆盖的功能覆盖单元进行标记。在一些示例中,所述验证方法还包括:根据所述功能覆盖率报告确定所述集成电路设计的预期功能对应的多个功能覆盖单元是否被所述测试用例组完全覆盖。在一些示例中,所述验证方法还包括:当所述集成电路设计的预期功能对应的多个功能覆盖单元未被所述测试用例组完全覆盖,向所述测试用例组中添加新的测试用例以对所述集成电路设计进行仿真。在一些示例中,在所述仿真中使用所述测试用例组触发所述集成电路设计产生至少一个功能行为,将所述至少一个功能行为与所述集成电路设计的预期功能进行对比以生成所述功能覆盖率报告,所述功能覆盖率报告显示出所述集成电路设计的预期功能对应的多个功能覆盖单元被所述测试用例组覆盖的情况。在一些示例中,所述集成电路设计使用硬件编程语言实现。本公开至少一实施例还提供一种集成电路设计的验证装置,包括处理器,以及存储器。所述存储器中存储有计算机可执行代码,当所述计算机可执行代码被执行时,执行上述任一实施例提供的验证方法。本公开至少一实施例还提供一种计算机可读存储介质,其上存储有计算机可执行代码,所述计算机可执行代码在被执行时,执行上述任一实施例提供的验证方法。本公开至少一实施例还提供一种集成电路设计的验证装置,包括重复测试用例确定单元,所述重复测试用例确定单元配置为根据使用测试用例组对所述集成电路设计进行仿真得到的功能覆盖率报告确定所述测试用例组中的重复测试用例,其中,所述集成电路设计的预期功能对应多个功能覆盖单元,所述测试用例组包括多个测试用例,所述多个测试用例的每个覆盖所述多个功能覆盖单元中的至少一个,所述重复测试用例所覆盖的功能覆盖单元被其它测试用例完全覆盖。附图说明为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。图1为一种集成电路设计的验证过程示意图;图2为一种功能覆盖率报告的示意图;图3A-3C示出了两类测试用例对功能覆盖单元的几种覆盖关系示意图;图4为本公开至少一实施例提供的验证方法的流程示意图;图5A为本公开至少一实施例提供的集成电路设计的验证过程示意图;图5B示出了图5A中测试用例组与功能覆盖单元之间覆盖关系;图6为本公开至少一实施例提供的验证装置的示意图;图7为本公开至少一实施例提供的一种存储介质的示意图;以及图8为本公开另一些实施例提供的验证装置的示意图。具体实施方式为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。在集成电路设计的验证中,验证工程师编写测试用例(testcase)来对集成电路设计进行仿真以验证集成电路设计的功能是否正确,也即是否与预期功能一致。当仿真通过时会生成功能覆盖率报告(functionalcoveragereport)显示该集成电路设计的预期功能是否完全被覆盖,也即该集成电路设计是否具有所有的预期功能。例如,可以用功能覆盖率(functionalcoverage)描述是否该集成电路设计的所有的预期功能在验证中都得到了验证(也即覆盖)。功能覆盖率可以用于指导验证设计师对测试用例的构建。例如,功能覆盖率主要关注设计的输入、输出和内部状态。对于输入,它检测数据端的输入和命令组合类型,以及控制信号与数据传输的组合情况;对于输出,它检测是否有完整的数据传输类别,以及各种情况的反馈时序;对于内部设计,需要检查的信号与验证计划中需要覆盖的功能点相对应,通过对信号的单一覆盖、交叉覆盖或时序覆盖来检查功能是否被触发、以及执行是否正确。例如,对于集成电路设计中不同层级的模块的预期功能,可以在验证中用不同层级的功能覆盖单元进行覆盖。例如,集成电路设计的预期功能对应的功能覆盖单元可以是功能覆盖组(covergroup)、功能覆盖点(coverpoint)和功能覆盖仓(也称bin)。例如,一个功能覆盖组可以包括至少一个功能覆盖点;一个功能覆盖点可以包括至少一个功能覆盖仓。例如,功能覆盖仓是集成电路设计的预期功能的最小功能覆盖单元,也即颗粒度最小的功能覆盖单元。例如,功能覆盖组封装了一个功能模块(例如寄存器)的一个功能(例如读写功能),功能覆盖点封装了对应于该功能的一个端口(例如读出端口),覆盖仓定义了该端口的一个有效值。例如,在验证过程中,测试用例通过测试激励触发集成电路设计产生至少一个功能行为,该功能行为还可以进一步触发更多的功能本文档来自技高网...

【技术保护点】
1.一种集成电路设计的验证方法,包括:/n根据使用测试用例组对所述集成电路设计进行仿真得到的功能覆盖率报告确定所述测试用例组中的重复测试用例,/n其中,所述集成电路设计的预期功能对应多个功能覆盖单元,所述测试用例组包括多个测试用例,所述多个测试用例的每个覆盖所述多个功能覆盖单元中的至少一个,所述重复测试用例所覆盖的功能覆盖单元被其它测试用例完全覆盖。/n

【技术特征摘要】
1.一种集成电路设计的验证方法,包括:
根据使用测试用例组对所述集成电路设计进行仿真得到的功能覆盖率报告确定所述测试用例组中的重复测试用例,
其中,所述集成电路设计的预期功能对应多个功能覆盖单元,所述测试用例组包括多个测试用例,所述多个测试用例的每个覆盖所述多个功能覆盖单元中的至少一个,所述重复测试用例所覆盖的功能覆盖单元被其它测试用例完全覆盖。


2.如权利要求1所述的验证方法,还包括:将所述重复测试用例从所述测试用例组中移除以对所述测试用例组进行优化。


3.如权利要求2所述的验证方法,还包括:将优化后的测试用例组用于对所述集成电路设计进行仿真。


4.如权利要求1所述的验证方法,其中,所述功能覆盖单元为所述集成电路设计的预期功能的最小功能覆盖单元。


5.如权利要求1所述的验证方法,其中,根据使用测试用例组对所述集成电路设计进行仿真得到的功能覆盖率报告确定所述测试用例组中的重复测试用例包括:
从所述功能覆盖率报告中提取所述多个测试用例中每个所覆盖的功能覆盖单元信息,以及
对所述多个功能覆盖单元中被多个测试用例所覆盖的功能覆盖单元进行标记。


6.如权利要求1所述的验证方法,还包括:
根据所述功能覆盖率报告确定所述集成电路设计的预期功能对应的多个功能覆盖单元是否被所述测试用例组完全覆盖。


7.如权利要求6所述的验证方法,还包括:
当所述集成电路设...

【专利技术属性】
技术研发人员:张剑峰王斌鄢传钦
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:天津;12

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

1