一种面向电路结构的快速有效关键性单元定位方法技术

技术编号:22000545 阅读:42 留言:0更新日期:2019-08-31 05:29
一种面向电路结构的快速有效关键性单元定位方法,首先,对网表进行解析及相关量的初始化;其次,基于反向递归搜索策略实现面向输入向量的非关键性电路单元的裁剪;然后,基于反馈策略与消散机制实现对电路单元关键性的量化;最后,按关键性值的大小实现对相应电路单元的排序并输出。本发明专利技术基于剪枝策略,利用SCA方法并结合正反馈策略提出了一种面向电路结构的关键性单元定位方法,它不仅有较高的定位精度,还有着较快的计算速度,可适用于大规模及超大规模电路关键性单元的有效定位。

A Fast and Effective Key Cell Location Method Oriented to Circuit Structure

【技术实现步骤摘要】
一种面向电路结构的快速有效关键性单元定位方法
本专利技术所属为集成电路的可靠性计算领域,具体来说是根据电路应用环境动态实现非关键性单元的裁剪,通过电路敏感性计算方法(SCA)并结合反馈策略实现了电路单元关键性水平的有效量化。在此基础上实现了一种面向电路结构的快速有效关键性单元定位方法的构建。
技术介绍
当前,随着经济社会的高速发展,对高可靠电路产品的需求也随之暴增。为此,需要有高效的电路设计方法的支持,而对已有成熟模块的重用是实现电路快速有效设计的一种常用方法。然而,针对不同的应用环境,该方法有出现电路产品可靠性不足的风险。为解决该问题,业界通常会对电路的关键性单元采取加固的策略以实现电路可靠性水平的快速有效提升。然而,该方法有效实施的重要前提之一就是需要快速有效地定位电路结构中的关键性单元。为实现电路结构中关键性单元的快速有效定位,业界提出了多种不同的策略,主要包括有基于图理论的分析方法与基于仿真的分析方法。基于图论的分析方法通常把电路结构转换成二进制决策图进行分析,而基于仿真的分析方法通常基于的理论依据是MonteCarlo思想,故需要通过大规模的仿真以保证结果的精度。因此,它们仅适用于小规模电路。
技术实现思路
为克服现有方法存的仅适用于小规模电路的不足,本专利技术基于剪枝策略,利用SCA方法并结合正反馈策略提出了一种面向电路结构的关键性单元定位方法,它不仅有较高的定位精度,还有着较快的计算速度,可适用于大规模及超大规模电路关键性单元的有效定位。本专利技术解决其技术问题所采用的技术方案是:一种面向电路结构的快速有效关键性单元定位方法,所述方法包括以下步骤:步骤1:网表解析及相关量的初始化,过程如下:1.1)读取网表并构建电路的完整性链表LC,提取电路的原始输入端数PI及电路单元个数Ng,初始化循环变量h=1,其中完整性链表LC指链表中任意节点的输入端信息均可从该节点的前序节点的输出端信息中提取得到;1.2)提取电路的第h个输入向量sivh;步骤2:针对sivh,利用SCA方法计算LC中第i个节点在故障情况下的输出信号fopti与理想情况下的输出信号iopti以及关键性量化值CrtVli,其中i=1,2,…,Ng;步骤3:提取LC中的第i个电路单元gi及其输入端的个数mi,并标识其第j个输入端的关键性Crtli,j,初始化其一级关键扇出数量focrtloi与二级关键扇出数量focrtlti,其中i=1,2,…,Ng,j=1,2,…,mi;步骤4:提取sivh下电路的关键性电路单元集,过程如下:4.1)从LC中提取电路的原始输出端及其所关联的电路单元gNg;4.2)从gNg开始通过反向深度优先搜索算法提取由步骤3所标识的关键性互连线所串联的电路单元,它们构成了sivh下的关键性电路单元集;步骤5:量化LC中各电路单元的关键性,并按关键性大小顺序输出相对应的电路单元。进一步,所述步骤5的过程如下:5.1)初始化输入向量循环变量s=1,收敛状态变量flag=0,初始迭代次数系数Initialiter,检测收敛系数Detcvg,正反馈强度系数p,正反馈消散系数dp;5.2)利用式(6)计算电路规模参数csc,利用式(7)计算理论输入向量个数IptmaxNum,其中power(a,b)表示a的b次方;csc=PI×Ng(6)IptmaxNum=power(2,PI)(7)5.3)产生sivh,并利用步骤4提取LC中的关键性电路单元集KLC;5.4)从LC中提取编号为r的单元gr,若gr∈KLC,则执行Crtr=1,并读取其CrtVlr,focrtlor与focrtltr;否则,执行Crtr=0;其中,Crtr指LC中编号为r的单元的关键性状态,r=1,2,…,Ng;5.5)利用式(8)计算sivh下KLC中针对所有单元的关键性平均值CrtAvgh;5.6)若focrtltr/focrtlor<2,则利用式(9)计算单元gr的二次关键性CrtVltr;否则,利用式(10)计算CrtVlti;其中,sqrt()表示平方根,r=1,2,…,Ng;CrtVltr=sqrt(focrtlor)×CrtAvgr×Crtr(9)CrtVltr=sqrt(focrtltr)×CrtAvgr×Crtr(10)5.7)利用式(11)计算当前gr的关键总值CrtVlsi,其中r=1,2,…,Ng;CrtVlsi=CrtVlsi+CrtVlti(11)5.8)若h≥Initialiter×csc,则转至5.9);否则,执行h=h+1,并转到5.3);5.9)根据5.7)所获取的关键总值由大到小的次序对LC中各单元进行排序,并将排序结果存储在gatesorts中;5.10)若s≥2且gatesorts=gatesorts-1,则执行flag=flag+1;否则,执行flag=0;5.11)若flag<Detcvg*csc,转至5.12);否则,转至5.17);5.12)利用式(12)计算gr在gatesorts中的排名修正系数frankr,s,利用式(13)计算第s次更新的收敛修正系数fcs,其中,length(gatesorts)指gatesorts的长度,ranks指gr在gatesorts中的有序序号,r=1,2,…,Ng;5.13)若h>IptmaxNum,则执行fss=1;否则,利用式(14)获取fss;5.14)利用式(15)计算正反馈系数pfdr,s,并利用式(16)对gr的CrtVlsr进行修正,r=1,2,…,Ng;frankr,s=(length(gatesorts)-ranks)/length(gatesorts)(12)fcs=(flag-1)/(Detcvg×csc)(13)fss=h/IptmaxNum(14)pfdr,s=(frankr,s*fcs+fss)×p/2+1(15)CrtVlsr=CrtVlsr×pfdr,s(16)5.15)若s>dp×csc,则利用式(17)对gr的CrtVlsr进行修正;r=1,2,…,Ng;CrtVlsr=CrtVlsr/pfdr,s-dp*csc(17)5.16)执行h=h+1与s=s+1,并转到5.3);5.17)输出gatesorts,结束。再进一步,所述步骤3的过程如下:3.1)初始化i=1;3.2)若i=Ng,则转到步骤4);否则,提取LC中的第i个单元gi,以及其iopti,理想输入信号向量iipti与mi,并初始化循环变量j=0;3.3)若j=mi,则执行i=i+1,并转到3.2);否则,执行j=j+1,并转至3.4);3.4)对gi第j个输入端的理想输入信号iipti(j)取反,并计算在该情况下gi的输出信号tfopti,j;3.5)若tfopti,j=iopti,标识gi的第j个输入端为非关键,并执行Crtli,j=0;否则,标识gi的第j个输入端为关键,执行Crtli,j=1;3.6)若Crtli,j=1,提取gi第j个输入端所连接的前向单元gpi及其在LC中的编号t1,并执行focrtlot1=focrtlot1+1,转到3.7);否则,转到3.3);3.7)初始化循环变量k=1,并提取gpi的输入端个数mt1;3.8)若C本文档来自技高网...

【技术保护点】
1.一种面向电路结构的快速有效关键性单元定位方法,其特征在于,所述方法包括以下步骤:步骤1:网表解析及相关量的初始化,过程如下:1.1)读取网表并构建电路的完整性链表LC,提取电路的原始输入端数PI及电路单元个数Ng,初始化循环变量h=1,其中完整性链表LC指链表中任意节点的输入端信息均可从该节点的前序节点的输出端信息中提取得到;1.2)提取电路的第h个输入向量sivh;步骤2:针对sivh,利用SCA方法计算LC中第i个节点在故障情况下的输出信号fopti与理想情况下的输出信号iopti以及关键性量化值CrtVli,其中i=1,2,…,Ng;步骤3:提取LC中的第i个电路单元gi及其输入端的个数mi,并标识其第j个输入端的关键性Crtli,j,初始化其一级关键扇出数量focrtloi与二级关键扇出数量focrtlti,其中i=1,2,…,Ng,j=1,2,…,mi;步骤4:提取sivh下电路的关键性电路单元集,过程如下:4.1)从LC中提取电路的原始输出端及其所关联的电路单元gNg;4.2)从gNg开始通过反向深度优先搜索算法提取由步骤3所标识的关键性互连线所串联的电路单元,它们构成了sivh下的关键性电路单元集;步骤5:量化LC中各电路单元的关键性,并按关键性大小顺序输出相对应的电路单元。...

【技术特征摘要】
1.一种面向电路结构的快速有效关键性单元定位方法,其特征在于,所述方法包括以下步骤:步骤1:网表解析及相关量的初始化,过程如下:1.1)读取网表并构建电路的完整性链表LC,提取电路的原始输入端数PI及电路单元个数Ng,初始化循环变量h=1,其中完整性链表LC指链表中任意节点的输入端信息均可从该节点的前序节点的输出端信息中提取得到;1.2)提取电路的第h个输入向量sivh;步骤2:针对sivh,利用SCA方法计算LC中第i个节点在故障情况下的输出信号fopti与理想情况下的输出信号iopti以及关键性量化值CrtVli,其中i=1,2,…,Ng;步骤3:提取LC中的第i个电路单元gi及其输入端的个数mi,并标识其第j个输入端的关键性Crtli,j,初始化其一级关键扇出数量focrtloi与二级关键扇出数量focrtlti,其中i=1,2,…,Ng,j=1,2,…,mi;步骤4:提取sivh下电路的关键性电路单元集,过程如下:4.1)从LC中提取电路的原始输出端及其所关联的电路单元gNg;4.2)从gNg开始通过反向深度优先搜索算法提取由步骤3所标识的关键性互连线所串联的电路单元,它们构成了sivh下的关键性电路单元集;步骤5:量化LC中各电路单元的关键性,并按关键性大小顺序输出相对应的电路单元。2.如权利要求1所述的一种面向电路结构的快速有效关键性单元定位方法,其特征在于,所述步骤5的处理过程如下:5.1)初始化输入向量循环变量s=1,收敛状态变量flag=0,初始迭代次数系数Initialiter,检测收敛系数Detcvg,正反馈强度系数p,正反馈消散系数dp;5.2)利用式(6)计算电路规模参数csc,利用式(7)计算理论输入向量个数IptmaxNum,其中power(a,b)表示a的b次方;csc=PI×Ng(6)IptmaxNum=power(2,PI)(7)5.3)产生sivh,并利用步骤4提取LC中的关键性电路单元集KLC;5.4)从LC中提取编号为r的单元gr,若gr∈KLC,则执行Crtr=1,并读取其CrtVlr,focrtlor与focrtltr;否则,执行Crtr=0;其中,Crtr指LC中编号为r的单元的关键性状态,r=1,2,…,Ng;5.5)利用式(8)计算sivh下KLC中针对所有单元的关键性平均值CrtAvgh;5.6)若focrtltr/focrtlor<2,则利用式(9)计算单元gr的二次关键性CrtVltr;否则,利用式(10)计算CrtVlti;其中,sqrt()表示平方根,r=1,2,…,Ng;CrtVltr=sqrt(focrtlor)×CrtAvgr×Crtr(9)CrtVltr=sqrt(focrtltr)×CrtAvgr×Crtr(10)5.7)利用式(11)计算当前gr的关键总值CrtVlsi,其中r=1,2,…,Ng;CrtVlsi=CrtVlsi+CrtVlti(11)5.8)若h≥Initialiter×csc,则转至5.9);否则,执...

【专利技术属性】
技术研发人员:肖杰诸玮东施展辉杨旭华黄玉娇季奇瓯孙紫文
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江,33

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

1