【技术实现步骤摘要】
本专利技术涉及一种由流程图自动产生覆盖率代码的方法及装置,属于集成电路功能 验证的
技术介绍
随着客户需求的提高,芯片的集成度和规模也逐渐提升。在大规模复杂集成电路 的开发流程中,功能验证消耗的资源已经占据了绝大部分,一般在70%以上。如何全面而高 效的完成功能验证流程,已经成为集成电路产业界急需解决的问题之一。为解决这一个问题,学术界和产业界提出了包括基于断言、基于约束随机激励、 基于覆盖率驱动等方法。其中基于覆盖率驱动的验证在加速验证收敛方面的效果最好,也 同时是验证完整性的衡量标准之一。覆盖率包括代码覆盖率和功能覆盖率等内容,其中代码覆盖率可以由EDA工具直 接统计,而功能覆盖率的收集需要验证工程师编写相关程序,再由EDA工具辅助完成统计。 覆盖率驱动的验证方法难点在于功能覆盖点提取的全面性。现有对功能覆盖点的提取还处 于工程师协同审查的人为提取过程,缺点是提取和确认过程耗时时间长,如有遗漏较难发 现。本专利将通过流程图自动提取覆盖点,完成覆盖率代码的生成。覆盖率相关专利CN200710032674. X《确定代码覆盖率的方法、测试装置》描述了一种通过在各代码 行内设置中断,获取被测试程序的代码覆盖率的方法。CN00809255. 9《形式验证中的属性覆盖率》描述了一种通过模型检测验证的属性 覆盖的状态空间得到属性覆盖率的方法。CN200610153890. 5《一种功能覆盖率测试度量系统和方法》描述了一种能够在EDA 工具中实现的根据度量要素参数的功能覆盖得分得到功能覆盖率的方法。CN200510036782. 5《一种基于功能覆盖率的 ...
【技术保护点】
【技术特征摘要】
1.一种由流程图自动产生覆盖率代码的方法,其特征在于包括 收集处理框中的覆盖点并产生覆盖率代码的方法,以处理框中所描述的系统中各模块在该处理框中执行的动作为功能覆盖点,以对应该动作定义的事件的表征信号作为覆盖条 件,产生覆盖率代码;收集判断框中的覆盖点并产生覆盖率代码的方法,以判断框中所描述的判定条件中的 变量为依据划分的场景作为功能覆盖点,以判定条件中的变量所代表的系统中的參数或模 块动作处理后的结果值作为覆盖条件,产生覆盖率代码;收集组合覆盖点并产生覆盖率代码的方法,以每一条从起始点到终止点路径上出现的 所有判断框中描述的判定条件交叉组合后对应的场景作为功能覆盖点,以判定条件中的变 量取值的交叉组合作为覆盖条件,产生覆盖率代码;收集序列覆盖点并产生覆盖率代码的方法,以每一条从起始点到终止点路径上出现的 所有处理框代表的有序动作序列作为功能覆盖点,以有序动作序列对应的有序事件的表征 信号作为覆盖条件,产生覆盖率代码;收集带约束条件的序列覆盖点并产生覆盖率代码的方法,以每一条从起始点到终止点 路径上出现的所有处理框代表的有序动作序列和其中穿插的判断框代表的判定条件作为 功能覆盖点,以有序动作序列对应的有序事件的表征信号以及判定条件中规定的变量取值 作为覆盖条件,产生覆盖率代码。2.如权利要求1所述的产生覆盖率代码的方法,其特征在于,所述收集处理框中的覆 盖点并产生覆盖率代码的方法包括读取流程图中的所有元素。读取过程从起始点出发,到终止点结束,遍历整张流程图的 所有元素;收集每一个处理框中系统各模块产生的动作; 合并相同模块中相同的动作; 对每一个动作定义一个对应的事件; 收集每一个事件的信号表征描述;以系统各模块的动作所表示的功能作为功能覆盖点,以其被定义的对应事件的表征信 号作为覆盖条件,产生覆盖率代码。3.如权利要求1所述的产生覆盖率代码的方法,其特征在于,所述收集判断框中的覆 盖点并产生覆盖率代码的方法包括读取流程图中的所有元素,读取过程从起始点出发,到终止点结束,遍历整张流程图的 所有元素;收集每一个判断框中的判断条件,判断条件包含系统中的參数或模块动作处理后的结 果值,即判断条件中的变量,以及其可能的取值范围和类型信息;根据判定条件完成场景划分,场景是系统在工作于不同处理步骤时对应的系统參数或 处理结果的值或类型的安排;合并相同变量值或相同变量组合值对应的场景;以每一个被划分的场景所表示的功能作为功能覆盖点,以对应场景判断条件中定义的 变量值或变量的组合值作为覆盖条件,产生覆盖率代码。4.如权利要求1所述的产生覆盖率代码的方法,其特征在于,所述收集组合覆盖点并产生覆盖率代码的方法包括读取流程图中的所有元素,读取过程从起始点出发,到终止点结束,遍历整张流程图的 所有元素;收集每一个判断框中的判断条件,判断条件包含系统中的参数或模块动作处理后的结 果值,即判断条件中的变量,以及其可能的取值范围和类型信息;根据判定条件完成场景划分,场景是系统在工作于不同处理步骤时对应的系统参数或 处理结果的值或类型的安排;按照流程图中每一条从起始点到终止点路径上的判断框出现的顺序,依次将各判断框 中根据判定条件划分的场景交叉组合,形成组合场景表示的功能覆盖点,路径中如果出现 循环,预定循环上限;以每一个组合场景所表示的功能作为功能覆盖点,以对应组合场景判断条件中定义的 变量取值的组合形式作为覆盖条件,产生覆盖率代码。5.如权利要求1所述的产生覆盖率代码的方法,其特征在于,所述收集序列覆盖点并 产生覆盖率代码的方法包括读取流程图中的所有元素,读取过程从起始点出发,到终止点结束,遍历整张流程图的 所有元素;收集流程图中每一条从起始点到终止点路径上的处理框中的动作,路径中如果出现循 环,预定循环上限;对每一个动作定义一个对应的事件;收集每一个事件的信号表征描述;为每一条路径发生的有序动作序列所表示的功能作为功能覆盖点,以其对应的有序事 件序列的表征信号作为覆盖条件,产生覆盖率代码。6.如权利要求1所述的产生覆盖率代码的方法,其特征在于,所述收集带约束条件的 序列覆盖点并产生覆盖率代码的方法包括读取流程图中的所有元素,读取过程从起始点出发,到终止点结束,遍历整张流程图的 所有元素;收集流程图中每一条从起始点到终止点路径上的处理框中的动作,路径中如果出现循 环,预定循环上限;对每一个动作定义一个对应的事件;收集每一个事件的信号表征描述;收集每一条路径上穿插在处理框序列中的判断框,并收集每一个判断框中的判断条件;为每一条路径发生的有序动作序列,以及动作序列中穿插在对应位置的判断条件所表 示的功能作为功能覆盖点,以其对应的有序事件序列的表征信号,以及穿插其中的判定条 件对应的变量值或变量的组合值为覆盖条件,产生覆盖率代码。7.如权利要求1所述的产生覆盖率代码的方法,其特征在于,还包括如果流程图为层 次化流程图,即其中有处理框可以展开成另一张流程图的,在收集覆盖点并产生覆盖率的 代码过程中,可以选择先做展开处理。流程图中如果出现连接点,连接点将流程图连接完 整,再读取。注释框在其注释的处理框和判断框产生覆盖点代码时,以代码中注释行的形式记录到代码中。流程图中如果出现输入输出框,在所述收集覆盖...
【专利技术属性】
技术研发人员:谢峥,罗永贵,李姮乐,宋建龙,伍国斌,
申请(专利权)人:李姮乐,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。