[发明专利]一种数字硬件电路逻辑错误诊断机制无效
申请号: | 201310278027.2 | 申请日: | 2013-07-04 |
公开(公告)号: | CN103399982A | 公开(公告)日: | 2013-11-20 |
发明(设计)人: | 傅翠娇;王锐;栾钟治;钱德沛 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数字 硬件 电路 逻辑 错误 诊断 机制 | ||
技术领域
本发明涉及一种属于数字硬件电路的形式化验证方法,特别涉及一种数字硬件电路逻辑错误诊断机制。
背景技术
数字硬件电路在设计过程中需要不断地进行检验和测试。检验过程设计是否满足给定的规范,一旦检验工具发现设计错误,就需要进行设计错误诊断和调试,以便获取一个满足设计规范的正确版本。当检验工具发现设计规范与实现功能不一致时,需要进行错误诊断,即识别或尽可能地缩小设计实现中可疑的错误区域,然后通过特定的算法尽可能地减少潜在的错误区域,也就是候选区域。
现有的错误诊断方法可分为两大类:基于错误模型的诊断方法和无错误模型的诊断方法。若按诊断推理方法来分,可分为基于模拟的诊断方法和形式化诊断方法。基于模拟的错误诊断方法依赖于许多可以区分规范与实现的测试向量,这些向量可以是随机产生的向量、门级故障测试向量,也可以是等价性检验工具产生的区分向量。根据这些向量的模拟结果,潜在的错误区域被逐步地缩小或压缩。尽管基于模拟的方法不够准确,但其处理能力很强,非常适于大型设计的诊断。大多数形式化方法是基于BDD(二叉判定图,Binary Decision Diagram)的算法,这类方法试图发现那些最有可能导致输出错误的电路信号,通过对这些信号的在综合(re-synthesize)可以纠正整个实现中的错误。然而,基于BDD的算法可能会导致内存爆炸,因而处理能力有限。也有人提出了基于故障模拟的错误诊断方法,这种方法比基于模拟的方法更准确,其计算复杂性又远低于基于BDD的形式化方法,而且可以推广到含有多个错误的时序电路错误诊断中。近年来,由于可满足性算法的逐渐成熟,有人提出了基于SAT的错误诊断算法。人们对基于模拟的错误诊断方法有较多的研究,这类方法有较好的可扩展性,能够处理大电路,但不够准确。大多数基于BDD的形式化诊断方法,则受限于BDD的缺点,虽然能够比较准确地识别错误区域,但其处理能力非 常有限,为此,需要在准确性和处理能力等方面进行折中。近年来的相关研究主要有:基于故障模拟的诊断方法、基于SAT(布尔可满足性,Boolean satisfiability)的诊断方法和基于区域模型的错误诊断方法。
发明内容
本发明的目的是提供一种更好的数字硬件电路诊断机制,通过将基于可满足的增量等价性检验方法应用到错误诊断过程中,利用候选区域内部结构的相似性,排除一些候选区域,提高错误检查的处理速度。通过将增量等价性检验方法、逻辑模拟以及布尔可满足性等多种形式化方法综合起来系统地提高设计的稳定性和可靠性。
本发明是一种数字硬件电路逻辑错误的诊断机制,其特征在于包含以下步骤:
步骤一:过滤候选区域
根据候选错误区域的内部特点,利用结构相似性有选择地去掉一些候选区域。从选出的候选区域中找到等价的区域对,即可能等价的区域对,可以采用拓扑排序的方法,即按扇入优先的次序排序,这样可以使以前推导出来的内部等价性能够为后面的等价性推导过程所用,即通过等价区域置换来简化miter电路。该方法的核心步骤是,利用增量可满足性算法,按拓扑排序依次验证所有候选区域的等价性或证明他们是不等价的。如果一个区域f是一个已经证明不包含错误的区域,在该区域设置一个标志x,该标志的输出为1,另一个候选区域为g,把g区域的输出与x连接到一个异或门y上,如果结点y恒为O,说明其相应的CNF公式是不可满足的,那么f和g是等价的,可以把g区域从候选列表中删除。使用该方法可以快速过滤一部分的候选区域。
步骤二:随机模拟
使用随机模拟的方法,同时对两个电路进行随机模拟,然后比较两个电路中各结点的响应特征,具有相同特征或者相反特征的结点作为候选节点,加入一个候选表中。获取候选结点的多少严重影响算法的性能,如果候选结点太多,会导致SAT程序的频繁调用,如果候选结点太少,则可能因为缺少等价结点的置换而导致miter太大,使SAT程序无法正常运行。并且如果候选结点太少,也可能漏掉一些可能包含错误的区域。
步骤三:排除候选结点
采用基于SAT的方法排除候选结点,发现区域外部有错误,那么该区域被排除,算法结束,如果没有发现候选区域的外部有错,那么调用SAT的布尔比较进行检查,这时可将候选区域当作一个黑盒,并使用两个布尔变量来表示每个受黑盒输出影响的电路信号,然后构造相应的CNF公式。如果该公式是可满足的,那么说明这个区域外部存在错误,可以把它从候选区域列表中删除,否则将它保留在候选区域表中。
本发明数字硬件电路逻辑错误的诊断机制的优点在于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310278027.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电厂模型中调整管道碰撞的方法及装置
- 下一篇:一种电器开关锁盖