逻辑代码的验证方法、验证装置以及存储介质制造方法及图纸

技术编号:27132986 阅读:34 留言:0更新日期:2021-01-25 20:21
一种逻辑代码的验证方法、验证装置以及存储介质。该逻辑代码包括M个逻辑模块,该验证方法包括:对该M个逻辑模块进行第一仿真得到仿真分析结果;根据该仿真分析结果,在该M个逻辑模块中选择符合预设条件的N个逻辑模块,并将该N个逻辑模块分别分配给N个处理器进行第二仿真,M、N均为正整数并且M大于N。该验证方法可以有效利用处理器资源进行并行验证,从而缩短验证时长。验证时长。验证时长。

【技术实现步骤摘要】
逻辑代码的验证方法、验证装置以及存储介质


[0001]本公开的实施例涉及一种逻辑代码的验证方法、验证装置以及存储介质。

技术介绍

[0002]在集成电路的设计中,需要用硬件描述语言将硬件电路形成为逻辑代码,使用验证工具对逻辑代码进行仿真验证后再通过综合工具将逻辑代码转换为门级电路网表,然后再使用自动布局布线工具将网表转换为要实现的具体电路布线结构。随着集成电路技术的不断发展,芯片的规模和复杂度在不断提升,验证时间也越来越长,如何提高验证效率、缩短验证时长是本领域关注的问题。

技术实现思路

[0003]本公开至少一实施例提供一种逻辑代码的验证方法,所述逻辑代码包括M个逻辑模块,所述验证方法包括:对所述M个逻辑模块进行第一仿真得到仿真分析结果;根据所述仿真分析结果,在所述M个逻辑模块中选择符合预设条件的N个逻辑模块,并将所述N个逻辑模块分别分配给N个处理器进行第二仿真,其中,M、N均为正整数并且M大于N。
[0004]在一些示例中,所述预设条件包括:所述N个逻辑模块中的每个所消耗的仿真时间在所述逻辑代码的总仿真时间的占比大于预设占比值。
[0005]在一些示例中,所述预设条件还包括:所述N个逻辑模块位于同一层级。
[0006]在一些示例中,对所述M个逻辑模块进行第一仿真得到仿真分析结果包括:通过验证平台对所述逻辑代码进行所述第一仿真,当所述第一仿真通过时生成所述仿真分析结果。
[0007]在一些示例中,所述验证平台包括驱动组件、预期组件、检测组件和比对组件;通过所述验证平台对所述逻辑代码进行所述第一仿真包括:通过所述驱动组件分别将测试用例输入到所述预期组件和所述逻辑代码中,通过所述检测组件检测所述逻辑代码的输出信号并将所述输出信号输入至所述比对组件,以及通过所述比对组件将所述逻辑代码的输出信号与所述预期组件的输出进行比对分析所述逻辑代码的输出信号是否正确,当所述逻辑代码的输出信号正确时所述第一仿真通过。
[0008]在一些示例中,所述第一仿真包括初步仿真和深度仿真,当所述深度仿真通过时生成所述仿真分析结果。
[0009]在一些示例中,根据所述仿真分析结果,在所述M个逻辑模块中选择符合预设条件的N个逻辑模块,并将所述N个逻辑模块分别分配给N个处理器进行第二仿真,包括:根据所述仿真分析结果和所述预设条件生成配置文件,其中,所述配置文件示出了所述N个逻辑模块的信息;根据所述配置文件将所述N个逻辑模块分别分配给所述N个处理器进行所述第二仿真。
[0010]在一些示例中,根据所述仿真分析结果和所述预设条件生成配置文件包括:根据所述预设条件对所述仿真分析结果进行可行性分析,当所述可行性分析的结果表明可行时
根据所述仿真分析结果生成配置文件。
[0011]在一些示例中,所述验证方法还包括:当所述第二仿真所消耗的仿真时间超过预设值时,修改所述配置文件,并根据修改后的配置文件对所述逻辑代码进行第三仿真。
[0012]本公开至少一实施例还提供一种逻辑代码的验证装置,适用上述验证方法,包括所述N个处理器和存储器。所述存储器中存储有计算机可执行代码,所述计算机可执行代码当由所述处理器运行时,执行上述验证方法。
[0013]本公开至少一实施例还提供一种计算机可读存储介质,其上存储有计算机可执行代码,所述计算机可执行代码在被处理器执行时,使得所述处理器执行上述验证方法。
[0014]本公开至少一实施例还提供一种逻辑代码的验证装置,所述逻辑代码包括M个逻辑模块,所述验证装置包括仿真分析单元以及选择和分配单元。所述仿真分析单元配置为对所述M个逻辑模块进行第一仿真得到仿真分析结果;所述选择和分配单元配置为根据所述仿真分析结果,在所述M个逻辑模块中选择符合预设条件的N个逻辑模块,并将所述N个逻辑模块分别分配给N个处理器进行第二仿真,其中,M、N均为正整数并且M大于N。
[0015]在一些示例中,所述选择和分配单元包括配置文件生成单元和分配单元,所述配置文件生成单元配置为根据所述仿真分析结果和所述预设条件生成配置文件,所述配置文件示出了所述N个逻辑模块的信息;所述分配单元配置为根据所述配置文件将所述N个逻辑模块分别分配给所述N个处理器进行所述第二仿真。
[0016]在一些示例中,所述配置文件生成单元包括可行性分析单元,所述可行性分析单元配置为根据所述预设条件对所述仿真分析结果进行可行性分析,以及当所述可行性分析的结果表明可行时根据所述仿真分析结果生成所述配置文件。
附图说明
[0017]为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
[0018]图1A为一种逻辑代码的验证环境示意图;
[0019]图1B为一种验证平台的框图;
[0020]图1C为一种验证方法的流程示意图;
[0021]图2A为本公开至少一实施例提供的一种验证方法的步骤图;
[0022]图2B为本公开至少一实施例提供的一种验证方法中处理器的分配示意图;
[0023]图3A为本公开至少一实施例提供的验证方法的流程示意图;
[0024]图3B为本公开另一实施例提供的验证方法的流程示意图;
[0025]图4为本公开至少一实施例提供的一种验证装置的结构示意图;
[0026]图5为本公开至少一实施例提供的一种存储介质的示意图;
[0027]图6A为本公开另一些实施例提供的验证装置的示意图;以及
[0028]图6B为本公开至少一实施例提供的选择和分配单元的示意图。
具体实施方式
[0029]为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公
开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0030]除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
[0031]随着设计规模的不断增加,验证难度越来越大。这种难度的增加体现在几个方面。然而,一个关键点是验证时间越来越长。这里的验证时间主要是指厂商验证工具(比如Synopsys的VCS和Cadence的NCSIM)的模拟时间。
[0032]验证工程师编写测试用例(test case),并利用测试用例对逻辑代码进行验证。图1A为一种逻辑本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种逻辑代码的验证方法,其中,所述逻辑代码包括M个逻辑模块,所述验证方法包括:对所述M个逻辑模块进行第一仿真得到仿真分析结果;根据所述仿真分析结果,在所述M个逻辑模块中选择符合预设条件的N个逻辑模块,并将所述N个逻辑模块分别分配给N个处理器进行第二仿真,其中,M、N均为正整数并且M大于N。2.如权利要求1所述的验证方法,其中,所述预设条件包括:所述N个逻辑模块中的每个所消耗的仿真时间在所述逻辑代码的总仿真时间的占比大于预设占比值。3.如权利要求2所述的验证方法,其中,所述预设条件还包括:所述N个逻辑模块位于同一层级。4.如权利要求2所述的验证方法,其中,对所述M个逻辑模块进行第一仿真得到仿真分析结果包括:通过验证平台对所述逻辑代码进行所述第一仿真,当所述第一仿真通过时生成所述仿真分析结果。5.如权利要求4所述的验证方法,其中,所述验证平台包括驱动组件、预期组件、检测组件和比对组件;通过所述验证平台对所述逻辑代码进行所述第一仿真包括:通过所述驱动组件分别将测试用例输入到所述预期组件和所述逻辑代码中,通过所述检测组件检测所述逻辑代码的输出信号并将所述输出信号输入至所述比对组件,以及通过所述比对组件将所述逻辑代码的输出信号与所述预期组件的输出进行比对分析所述逻辑代码的输出信号是否正确,当所述逻辑代码的输出信号正确时所述第一仿真通过。6.如权利要求4所述的验证方法,其中,所述第一仿真包括初步仿真和深度仿真,当所述深度仿真通过时生成所述仿真分析结果。7.如权利要求1-6任一所述的验证方法,其中,根据所述仿真分析结果,在所述M个逻辑模块中选择符合预设条件的N个逻辑模块,并将所述N个逻辑模块分别分配给N个处理器进行第二仿真,包括:根据所述仿真分析结果和所述预设条件生成配置文件,其中,所述配置文件示出了所述N个逻辑模块的信息;根据所述配置文件将所述N个逻辑模块分别分配给所述N个处理器进行所述第二仿真。8.如...

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

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

1