一种在时序逻辑电路功能验证时确定故障存在位置的方法

文档序号:29699688发布日期:2022-04-16 14:02阅读:196来源:国知局
一种在时序逻辑电路功能验证时确定故障存在位置的方法

1.本发明涉及集成电路领域,属于eda基础算法,尤其涉及时序逻辑电路功能验证时使用的eda软件领域。


背景技术:

2.近年来集成电路取得了飞速的发展,是当今我国信息产业的核心,我国集成电路eda软件长期受制于人,国家大力支持其发展。验证是vlsi和软硬件系统发展的关键问题,目前衡量动态验证进度的主要方法是根据覆盖率。覆盖率可以分为代码覆盖率和功能覆盖率,其中功能覆盖率更是度量设计完整性的重要指标。


技术实现要素:

3.本发明内容是基于现有技术针对时序电路提出了一种确定故障存在位置的方法,即计算指定故障a只在特定状态e发生的概率。该方法分为前期建模,算法计算两个部分,最后通过对指定故障存在与每个状态的概率进行计算后排序可以得到故障最可能存在的位置。
4.本发明采用的技术方案为一种在时序逻辑电路功能验证时确定故障存在位置的方法,前期建模部分即用驱动方程、状态方程和输出方程全面表示时序电路的逻辑功能,用状态转移图描述时序电路的状态转换,通过时序电路仿真得到状态间的转移概率和初始分布。指定要关注的故障和状态后,将无关状态合并成一个覆盖仓,得到抽象的状态转移图,完成前期建模工作。
5.算法计算即把指定故障a只在特定状态e发生的概率问题根据测试周期划分为三种互斥情景,依据状态间转移概率、故障检测概率和初始分布概率进行正向算法计算,详细见附图。其中p(i,j)为转移概率,qi为故障发生的概率,t为测试周期,为初始分布,此事件在第i个周期第j个状态的概率为a[i][j]。三种情景分别是:
[0006]
1)故障a在初始时第一次被发现在状态e发生;在初始分布时发生在状态e,即a[0][e]。t=1次测试中状态转移从状态e开始,整个测试周期内的其他状态采用故障不发生的概率进行计算,t=1,...t次测试内状态e发生和不发生都可以,即∑
s'
[a(t-1,s')
·
p(s',s)]。
[0007]
2)故障a在最后一次测试中第一次被发现在状态e发生;前t-1次周期故障不发生即(1-qi),第t次测试中考虑状态从上一周期转移到状态e且故障发生,即∑
s'
[a(t-1,s')
·
p(s',e)
·
qe]。
[0008]
3)故障a在中间某次测试中第一次被发现在状态e发生;考虑故障第一次发生在中间t=1,...t-1次测试,且初始不发生,最后一次测试中可能发生。第t个测试周期故障a第一次发生,此测试周期只考虑状态转移到状态e,t+1次测试周期从状态e跳转到其他状态。
[0009]
可以通过蒙特卡洛方法,对状态个数、故障检测概率、测试次数、被观察的状态分别进行大量数据随机模拟实验,验证算法的准确性。
[0010]
得到指定故障a只在特定状态e发生的概率后,改变故障发生的状态可以得到指定故障a在其他状态发生的概率,并对所有结果进行排序,概率最高的即是故障a最有可能发生的状态。
[0011]
通过此方法帮助判断时序逻辑电路功能验证故障存在的位置,从而度量测试的完整性,完善当前动态验证的流程。
附图说明
[0012]
图1为指定故障在初始第一次被发现在特定状态发生的算法流程图。
[0013]
图2为指定故障在最后一次测试被发现在特定状态发生的算法流程图。
[0014]
图3为指定故障在中间某次测试中被发现在第一次在特定状态发生的算法流程图。
具体实施方式
[0015]
本发明通过把时序电路抽象成多个覆盖单元,建立状态转换图,把问题划分成三种互斥情景,通过相关算法,计算指定故障只在某一特定位置发生的概率,对所有可能状态下发生的概率进行排序,从而确定故障最可能出现的位置,从而补充动态验证的完整性。
[0016]
一种在时序逻辑电路功能验证时确定故障存在位置的方法,研究故障存在性问题。时序电路使用随机激励进行功能验证时,研究指定故障a只在特定状态e发生这一事件的概率。将此问题划分为三种互斥情景,每种情景有特定的算法。转换指定故障发生的状态,对结果进行排序。这种方法有助有度量测试的完整性,完善当前动态验证的流程。
[0017]
研究指定故障a只在特定状态e发生的概率问题,其特征在于把时序逻辑电路转化成状态转移图,进行多覆盖仓分析。
[0018]
所述的将此问题划分为三种互斥情景,把指定故障a只在特定状态e发生的概率问题根据故障第一次出现在整个测试周期的位置划分成三种情景。情景一:故障a在初始状态第一次被发现在状态e发生,且整个测试周期只在状态e发生;情景二:在最后一次测试中被发现故障a在状态e发生;情景三:在中间某个测试中第一次被发现在状态e发生,且后面测试中故障a只在状态e发生。
[0019]
算法考虑状态间转移概率、故障检测概率和初始分布以及测试的周期,其中故障检测概率是达到某状态后检测到某个故障的概率,状态间转移概率由仿真得到。在第一次被发现的测试周期中只转移到特定状态,下一次转换从特定状态开始,此后每次测试指定故障只能考虑在特定状态发生。改变故障发生状态,最后对不同状态下指定故障发生的概率进行排序。


技术特征:
1.一种在时序逻辑电路功能验证时确定故障存在位置的方法,其特征在于:该方法包括前期建模部分和算法计算部分;所述的前期建模部分即用驱动方程、状态方程和输出方程全面表示时序电路的逻辑功能,用状态转移图描述时序电路的状态转换,通过时序电路仿真得到状态间的转移概率和初始分布;指定要关注的故障和状态后,将无关状态合并成一个覆盖仓,得到抽象的状态转移图,完成前期建模工作;算法计算部分即把指定故障a只在特定状态e发生的概率问题根据测试周期划分为三种互斥情景,依据状态间转移概率、故障检测概率和初始分布概率进行正向算法计算;其中p(i,j)为转移概率,qi为故障发生的概率,t为测试周期,为初始分布,故障在第i个周期第j个状态的概率为a[i][j]。2.根据权利要求1所述的一种在时序逻辑电路功能验证时确定故障存在位置的方法,其特征在于:时序逻辑电路功能验证时确定故障存在位置的三种情景分别是:1)故障a在初始时第一次被发现在状态e发生;在初始分布时发生在状态e,即a[0][e];t=1次测试中状态转移从状态e开始,整个测试周期内的其他状态采用故障不发生的概率进行计算,t=1,...t次测试内状态e发生和不发生都可以,即∑
s'
[a(t-1,s')
·
p(s',s)];2)故障a在最后一次测试中第一次被发现在状态e发生;前t-1次周期故障不发生即(1-q
i
),第t次测试中考虑状态从上一周期转移到状态e且故障发生,即∑
s'
[a(t-1,s')
·
p(s',e)
·
q
e
];3)故障a在中间某次测试中第一次被发现在状态e发生;考虑故障第一次发生在中间t=1,...t-1次测试,且初始不发生,最后一次测试中可能发生;第t个测试周期故障a第一次发生,此测试周期只考虑状态转移到状态e,t+1次测试周期从状态e跳转到其他状态。3.根据权利要求2所述的一种在时序逻辑电路功能验证时确定故障存在位置的方法,其特征在于:可以通过蒙特卡洛方法,对状态个数、故障检测概率、测试次数、被观察的状态分别进行大量数据随机模拟实验,验证结果的准确性。4.根据权利要求2所述的一种在时序逻辑电路功能验证时确定故障存在位置的方法,其特征在于:得到指定故障a只在特定状态e发生的概率后,改变故障发生的状态得到指定故障a在其他状态发生的概率,并对所有结果进行排序,概率最高的即是故障a最有可能发生的状态。

技术总结
本发明公开了一种在时序逻辑电路功能验证时确定故障存在位置的方法,属于EDA基础算法。通过把时序电路抽象成多个覆盖单元,建立状态转换图,把问题划分成三种互斥情景,通过相关算法,计算指定故障只在某一特定位置发生的概率,对所有可能状态下发生的概率进行排序,从而确定故障最可能出现的位置,从而补充动态验证的完整性。动态验证的完整性。动态验证的完整性。


技术研发人员:聂敬瑶 耿淑琴 曹文华 李朋昆 鲁航 朱荣豪 亓元 李熙 徐楷 杨号
受保护的技术使用者:北京工业大学
技术研发日:2021.12.31
技术公布日:2022/4/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1