基于信号概率的电路可靠性评估方法

文档序号:6238758阅读:189来源:国知局
基于信号概率的电路可靠性评估方法
【专利摘要】本发明涉及一种基于信号概率的电路可靠性评估方法,读取集成电路门级网表,解析网表得到各个门节点之间的连接结构,提出一种分割算法将电路划分为多个模块,算法保证了分割出的多数模块功能上无冗余,结构上无重叠;每个模块即是一个子电路,对子电路运用PTM方法,依次计算每个模块的可靠度;依据计算独立事件联合概率的思想以模块可靠度乘积评估整个电路的可靠性。针对PTM方法仅能评估小规模电路的问题进行了改进,使其能运用于大规模电路;另一方面集成TP方法、EPP方法以及改进后的PTM方法开发了一个电路可靠性评估平台,可以将其用于在电路的设计阶段计算其可靠度,以便及时对设计结构进行调整。
【专利说明】基于信号概率的电路可靠性评估方法

【技术领域】
[0001] 本发明涉及一种电路检测技术,特别涉及一种基于信号概率的电路可靠性评估方 法。

【背景技术】
[0002] 传统的集成电路可靠性评估面向芯片制造过程,通过可靠性试验(如环境试验、寿 命试验、筛选试验、现场使用试验等)来分析其可靠性,或者通过测试的方法对已制造出的 电子元器件可靠性进行测量分析。随着VLSI电路技术的发展、可靠性水平的提高,这类评 测方法暴露出"滞后性"和样本数太多等问题。
[0003] 面向较高抽象层次(包括门级、RTL级和系统级)电路的可靠性评估,可以应用在电 路的设计阶段,即在流片封装之前预估电路可靠度,以期对调整设计结构起到指导作用。由 于抽象层次越高,低层的因素考虑越少,评估的准确度也就越低,因此本发明中涉及的评估 方法面向门级电路,可以兼顾准确性和时间开销。门级电路可靠性解析方法大多基于信号 概率,信号概率是指电路信号端输出某一逻辑值的概率。这类方法一般根据输入端的信号 概率和基本门的差错率,考虑不同输入组合以及基本门的逻辑功能,计算输出端的失效概 率,由1减去失效概率得出正确输出的概率,用以衡量电路的可靠性。
[0004] 典型的基于信号概率的可靠性评估算法包括两阶段(Two Pass,TP)算法(Kim J S, Nicopoulos C, Vijakrishnan N, et al. A probabilistic model for soft-error rate estimation in combinational logic. //Proc. of the 1st Int, 1 Workshop on Probabilistic Analysis Techniques for Real Time and Embedded Systems, Pisa, Italy, 2004, 25-31)、差错传播概率(Error Propagation Probability,EPP)方法(Asadi G, Tahoori Μ B. An analytical approach for soft error rate estimation in digital circuits. //IEEE Int. Symp. on Circuits and Systems, Kobe, Japan, 2005, 2991-2994)、概率转移矩阵(Probabilistic Transfer Matrix, PTM)方法(Krishnaswamy S, Viamontes G F, Markov I L, et al. Probabilistic transfer matrices in symbolic reliability analysis of logic circuits [J]. Trans, on Design Automation of Electronic Systems (T0DAES). 2008, 13(1): 1-32)。TP 算法假定基本逻辑门输入端差 错感染率是/?,选定一个原始输出(primary output, P0)端N,反向回溯到其对应的所有 原始输入端(primary input, PI),针对一种输入组合正向推得N端输出错误的概率,遍历 所有输入组合可以估计N端的失效概率。EPP方法首先假定电路中的一个结点S是故障源, 且S处发生差错概率为7&卻,建立从S到可达P0端的通路,设定不在通路上(off-path)的 线端信号概率,然后计算差错在通路中的传播概率,据此估计电路的失效概率。上述两种方 法只是针对电路的部分通路建立模型,计算单个输出或者部分输出的失效概率,而PTM方 法则是针对整个电路建立模型来计算可靠性,它以门为单位,且假定其感染率为Λ建立所 有输入组合对应所有输出的概率转移矩阵,然后根据电路的拓扑结构进行矩阵运算,最终 得出整个电路的概率转移矩阵,并计算其可靠度。该方法所用的模型准确,且完备性好,但 由于矩阵的规模随电路信号端数的增加而呈指数型增长趋势,因而时空复杂度太大,难以 用于评估大规模电路。


【发明内容】

[0005] 本发明是针对现在典型的基于信号概率的可靠性评估算法难以用于评估大规模 电路的问题,提出了一种基于信号概率的电路可靠性评估方法,可以应用于超大规模集成 电路可靠性分析和评估过程,便于在电路早期的设计阶段预测评估其可靠性。
[0006] 本发明的技术方案为:一种基于信号概率的电路可靠性评估方法,包括如下具体 步骤: 1) 读取集成电路门级网表,解析网表得到各个门节点之间的连接结构,运用分割算法 将电路划分为模块,分割后模块相互之间功能上无冗余,结构上无重叠; 2) 每个模块即是一个子电路,对子电路运用PTM方法,依次计算每个模块的可靠度; 3) 依据计算独立事件联合概率的思想以模块可靠度乘积评估整个电路的可靠性。
[0007] 所述步骤1)中的分割算法具体为: I、 分层并判断分割层: (1) 运用分层算法对电路分层,从原始输入端到原始输出端,对每个逻辑门标识层号, 计算每一层的宽度,分层具体步骤如下: 第一步、读取电路网表可知所有线端的编号,首先将整个电路所有原始输入PI端定义 为第1层,如果某个PI端驱动了扇出,则将扇出分支标记层号2,然后将原始输入驱动的逻 辑门放入队列; 第二步、当队列非空时: 则从队列中依次取出一个逻辑门;再进行层号标记: 如果这个逻辑门的全部输入都已经标记了层号,则用它的输入层号最大值加1来标记 这个逻辑门及它的输出端的层号,如果这个门的输出端驱动扇出,则用输出端层号加1标 记扇出分支,将扇出分支驱动的逻辑门加入队列;如果这个逻辑门的输出没有驱动扇出,则 将这个逻辑门输出驱动的逻辑门加入队列; 如果这个逻辑门的全部输入没有标记层号,重新将这个逻辑门加入队列进行层号标 识。
[0008] 第三步、转第二步,直至队列为空; (2) 给定分割宽度Z,遍历各层,若第i层宽度>1,则在第i层进行分割; II、 建立第i层所有信号端的支持集s (η): 一个信号端η的支持集S (η)由这个信号端对应到前一分割层上的输入端构成,通过深 度优先搜索算法找到η对应的支持集; III、 在相继两个分割层之间划分模块,即子电路,将第i层所有信号端放入队列: A:从队列中取出一个信号端n,遍历信号端η所在层的其他信号端m,若S(m) (;S (η)尹瓜则把m与η及其对应到支持集的电路部分放入同一模块,直到模块的最大宽度 L模块的最大宽度为模块电路中各层宽度的最大值;若遍历到的信号端支持集与η 的都不相交,则顺次放入同一个模块,直到模块的最大宽度h将已放入模块的信号 端从队列中删除; B :若队列非空,继续步骤III的第A步;否则结束第i层分割,将转步骤I的第 (2)步,直到遍历完电路最后一层。
[0009] 本发明的有益效果在于:本发明基于信号概率的电路可靠性评估方法,针对PTM 方法仅能评估小规模电路的问题进行了改进,使其能运用于大规模电路;另一方面集成TP 方法、EPP方法以及改进后的PTM方法开发了一个电路可靠性评估平台,可以将其用于在电 路的设计阶段计算其可靠度,以便及时对设计结构进行调整。

【专利附图】

【附图说明】
[0010] 图1为本发明电路分层示例图; 图2为本发明电路分割算法流程图; 图3为本发明电路分割算法实施例示意图。

【具体实施方式】
[0011] 针对原始PTM方法所存在的问题,本发明提出了一种优化方案,面向大规模电路 基于PTM计算其可靠度,采取如下策略: 1、 读取集成电路门级网表(如ISC格式或者BLIF格式),解析网表得到各个门节点之间 的连接结构,运用分割算法将电路划分为一组规模大小合适、相互之间重叠很少的模块(分 割算法见下述); 2、 每个模块即是一个子电路,对子电路运用PTM方法,依次计算每个模块的可靠度; 3、 依据计算独立事件联合概率的思想以模块可靠度乘积评估整个电路的可靠性。
[0012] 严格来讲,上述方案成立的前提是分割后的每个模块可靠与否是独立不相关的, 因此对于不存在冗余模块的电路,其整体可靠度等于模块可靠度的乘积。这要求划分的模 块功能上无冗余,结构上无重叠。目前面向无冗余的组合电路,本发明设计了一个电路分割 算法,可以最大程度的满足前述要求。分割模块之前需要首先运用分层算法对电路分层,过 程如下: 1) 读取电路网表可知所有线端的编号,首先将整个电路所有原始输入PI端定义为第1 层,如果某个PI端驱动了扇出,则将扇出分支标记层号2,然后将原始输入驱动的逻辑门放 入队列; 2) 当队列非空时: (1) 从队列中依次取出一个逻辑门; (2) 如果这个逻辑门的全部输入都已经标记了层号,则用它的输入层号最大值加1来 标记这个逻辑门及它的输出端的层号,如果这个门的输出端驱动扇出,贝IJ用输出端层号加1 标记扇出分支,将扇出分支驱动的逻辑门加入队列;如果这个逻辑门的输出没有驱动扇出, 贝1J将这个逻辑门输出驱动的逻辑门加入队列; 如果这个逻辑门的全部输入没有标记层号,重新将这个逻辑门加入队列进行层号标 识。
[0013] 3)转步骤2),直至队列为空。
[0014] 如图1所示电路分层示例图,以数字标识信号端,依据上述算法将电路划分为5 层,由虚线标识,第1层的门号包括1、2、3、4、5,第2层的门号为6、2、7、5,第3层的门号为 6、2、8、9、5,第4层的门号为6、10、11,第5层的门号为12、11。分层后的电路中某一层上所 具有的信号端数被定义为电路在该层上的宽度,如图1所示电路,各层的宽度分别为5、4、 5、3、2。这些层上宽度的最大值被定义为电路的最大宽度(4"),对图1所示电路,4"=5。
[0015] 基于分层算法,对电路进行模块划分,如图2所示电路分割算法流程图,采取下述 步骤: 步骤1 : (1) 运用分层算法对电路分层,从原始输入端到原始输出端,对每个逻辑门(包括扇出 和单线)标识层号,计算每一层的宽度; (2) 给定分割宽度Z,遍历各层,若第i (i >1)层宽度6>Ζ,则在第i层进行分割; 仍以图1所示电路为例对步骤1进行说明,由前述可知该电路分为5层,每层宽度为 = 5、心=4、r, = 5、心=3、心=2,我们给定分割宽度Z = 3,从第1层向后遍历,由于 &Λ?,首先在第2层进行分割。
[0016] 步骤2 :建立第i层所有信号端的支持集S (η), 一个信号端η的支持集S (η)由这个信号端对应到前一分割层(前一分割层不一定是前 一层,有可能相隔几层)上的输入端构成,通过深度优先搜索算法找到η对应的支持集; 继续步骤1的例子说明,此时i=2,由第二层所有信号端6、2、7、5建立第二层的支持 集,得到 S(6) = {1},S⑵={2},S(7) = {3,4},S(5) = {5}。
[0017] 步骤3 :在相继两个分割层之间划分模块,即子电路,将第i层所有信号端放入队 列: (1) 从队列中取出一个信号端n,遍历信号端η所在层的其他信号端m,若S(m) (;S (η)尹瓜则把m与η及其对应到支持集的电路部分放入同一模块,直到模块的最大宽度 (模块电路中各层宽度的最大值)4_ < Ζ ;若遍历到信号端的支持集与η的都不相交,则顺 次放入同一个模块,直到模块的最大宽度4_<^。将已放入模块的信号端从队列中删除; (2) 若队列非空,继续步骤3的(1)步;否则结束第i层分割,将转步骤1的(2) 步,直到遍历完电路最后一层。
[0018] 以图1电路说明步骤3,接续步骤2,把第2层所有信号端6、2、7、5放入队列。从队 列中取信号端6,遍历到信号端2, S (2) ? S (6)=瓜则将2和6以及它们对应到支持集{2} 和{1}的电路部分放入同一模块,此时4_ = 2<^,若再加入信号端7以及其到支持集的电 路部分{3, 4},则导致Z"ax = 4>Z,所以第一个模块为{1,2, 6};从队列中取信号端7,遍 历到信号端5, S (7) ? S (5)=瓜则将7和5以及它们对应到支持集{3,4}和{5}的电路 部分放入同一模块,得到第二个模块{3,4,5,7},从而结束第2层的分割。将转 步骤1的(2)步,心=5>Z=3,对第3层的进行分割,结束第3层分割后,因为心=3、& = 2都小于等于Z=3,就不进行分割了,最终将得到如图3所示的5个模块。
[0019] 上述分割算法中的分割宽度L可以通过实验取得经验值,主要用以限定模块的最 大宽度,使得子电路的规模可以适用于原始PTM算法及运行算法的机器配置(不同机器配 置,能容忍算法运行的时空开销不同)。而支持集的提出则为降低模块之间的关联度,支持 集存在交集的信号端说明关联度比较大,因此放入同一模块。
[0020] 上述对PTM方法的优化方案和算法可以通过C、C++程序实现,另外本发明实现了 TP方法和EPP方法,集成三种方法通过JAVA程序规划封装平台,从而设计了一款组合逻辑 电路可靠性评估软件。
[0021] 关于PTM改进方案的分割算法中分割宽度L的设定,一般采取对测试电路进行实 验取得,具体值会因机器配置的不同而不同。下面给出一个实例。
[0022] 实验环境为DELL PC (CPU Pentium 4 2. 66GHz,内存512MB),针对74系列电路选 取不同分割宽度,表1中列出了Z分别为4、6、7时电路的可靠度及程序运行的性能开销,其 中P值表示单个门的差错率(对于扇出和单线,/7 = 0)。数据显示,可靠度在不同Z值下无 明显差异,这是因为分割宽度小(即模块规模小),就使单个模块可靠度增大,模块数增多; 而分割宽度大,将使单个模块的可靠度减小,但模块数也减少,这样就达到一种平衡。因此, 在一定的分割宽度取值范围内,本发明的方法不会致使电路可靠度因分割宽度不同而大幅 波动。如表1所示74系列电路在不同分割宽度下实验数据(/7 = le - 4)。
[0023] 表 1

【权利要求】
1. 一种基于信号概率的电路可靠性评估方法,其特征在于,包括如下具体步骤: 1) 读取集成电路门级网表,解析网表得到各个门节点之间的连接结构,运用分割算法 将电路划分为模块,分割后模块相互之间功能上无冗余,结构上无重叠; 2) 每个模块即是一个子电路,对子电路运用PTM方法,依次计算每个模块的可靠度; 3) 依据计算独立事件联合概率的思想以模块可靠度乘积评估整个电路的可靠性。
2. 根据权利要求1所述基于信号概率的电路可靠性评估方法,其特征在于,所述步骤 1)中的分割算法具体为: I、 分层并判断分割层: (1) 运用分层算法对电路分层,从原始输入端到原始输出端,对每个逻辑门标识层号, 计算每一层的宽度,分层具体步骤如下: 第一步、读取电路网表可知所有线端的编号,首先将整个电路所有原始输入PI端定义 为第1层,如果某个PI端驱动了扇出,则将扇出分支标记层号2,然后将原始输入驱动的逻 辑门放入队列; 第二步、当队列非空时: 则从队列中依次取出一个逻辑门;再进行层号标记: 如果这个逻辑门的全部输入都已经标记了层号,则用它的输入层号最大值加1来标记 这个逻辑门及它的输出端的层号,如果这个门的输出端驱动扇出,则用输出端层号加1标 记扇出分支,将扇出分支驱动的逻辑门加入队列;如果这个逻辑门的输出没有驱动扇出,则 将这个逻辑门输出驱动的逻辑门加入队列; 如果这个逻辑门的全部输入没有标记层号,重新将这个逻辑门加入队列进行层号标 识; 第三步、转第二步,直至队列为空; (2) 给定分割宽度Z,遍历各层,若第i层宽度>1,则在第i层进行分割; II、 建立第i层所有信号端的支持集S (η): 一个信号端η的支持集S (η)由这个信号端对应到前一分割层上的输入端构成,通过深 度优先搜索算法找到η对应的支持集; III、 在相继两个分割层之间划分模块,即子电路,将第i层所有信号端放入队列: A:从队列中取出一个信号端n,遍历信号端η所在层的其他信号端m,若S(m) (;S (η)尹瓜则把m与η及其对应到支持集的电路部分放入同一模块,直到模块的最大宽度 L模块的最大宽度为模块电路中各层宽度的最大值;若遍历到的信号端支持集与η 的都不相交,则顺次放入同一个模块,直到模块的最大宽度h将已放入模块的信号 端从队列中删除; B :若队列非空,继续步骤III的第A步;否则结束第i层分割,将转步骤I的第 (2)步,直到遍历完电路最后一层。
【文档编号】G01R31/28GK104215893SQ201410428749
【公开日】2014年12月17日 申请日期:2014年8月28日 优先权日:2014年8月28日
【发明者】王真, 雷景生 申请人:上海电力学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1