一种基于剪枝策略的关键性电路单元定位方法技术

技术编号:21892318 阅读:45 留言:0更新日期:2019-08-17 14:40
一种基于剪枝策略的关键性电路单元定位方法,首先,网表解析及相关量的初始化;其次,构建满足均匀非伯努利序列分布特点的输入向量;接着,利用反向深度递归搜索算法设计一种面向非关键性互连导线的剪枝方法;然后,结合SCA方法实现了电路单元关键性的度量;最后,根据所得的关键性对电路单元实施排序。本发明专利技术基于电路的应用环境,通过非关键性电路单元的裁剪,并结合SCA方法,实现了电路结构中关键性单元的有效定位。它将在电路设计的早期阶段,有望基于较小代价在较大程度上促进电路结构可靠性的改善。

A Key Circuit Unit Location Method Based on Pruning Strategy

【技术实现步骤摘要】
一种基于剪枝策略的关键性电路单元定位方法
本专利技术涉及集成电路关键性单元的定位,具体来说是一种基于非关键性互连导线裁剪策略并结合面向输入向量的电路敏感性计算算法(SCA)构建的关键性电路单元定位方法。
技术介绍
关键性电路单元在改善电路的可靠性方面发挥着非常重要的作用。为标识出电路结构中的关键性电路单元,学术界与产业界提出了多种不同的方法策略,主要包括基于图理论的分析方法与基于仿真的分析方法。基于图理论的分析方法通过中心二进制决策树以标识电路的关键性单元,而基于仿真的分析方法往往是通过大规模的仿真以量化各单元的关键性水平。
技术实现思路
为了克服现有集成电路定位方法未能适用于大规模集成电路关键性单元的有效定位的不足,本专利技术提出了一种基于非关键性互连导线裁剪策略的关键性电路单元定位方法。该方法根据应用环境的不同动态实现了电路非关键性互连导线的裁剪,再结合均匀非伯努利序列和SCA方法量化了电路中各单元的关键性,以实现关键性单元的有效定位。本专利技术解决其技术问题所采用的技术方案是:一种基于剪枝策略的关键性电路单元定位方法,所述方法包括以下步骤:步骤1:网表解析及相关量的初始化,读取网表,构建电路的完整性链表LC,并提取电路的原始输入端数PI及电路的单元个数Ng,其中完整性链表LC指链表中任意节点的输入端信息均可从该节点的前序节点的输出端信息中提取得到;步骤2:构建满足均匀非伯努利序列分布特点的输入向量;步骤3:检测在指定输入向量下LC中第t个电路单元第j1个输入端的关键性Crtlt,j1,过程如下:3.1)初始化循环变量i2,提取输入向量siv(i2),利用SCA算法,初始化LC中所有电路单元的理想输入信号、理想输出信号及其关键性,且初始化t=1;3.2)若t≤Ng,则读取LC中的第t个单元gt,并提取其类型type、理想输入信号iiptt、理想输出信号ioptt及其输入端个数mt,并初始化循环变量j1=1,并转至3.3);否则,转至步骤4;3.3)若j1>mt,则执行t=t+1,并转至3.2);否则,转至3.4);3.4)将gt第j1个输入端的理想信号iiptt(j1)取反,再计算该单元与之相对应的输出信号tfoptt(j1);3.5)若tfoptt(j1)=ioptt,则认为gt第j1个输入端非关键,执行Crtlt,j1=0;否则,则认为gt的该输入端为关键,执行Crtlt,j1=1,执行j1=j1+1,转至3.3);步骤4:提取指定输入向量下的关键性电路单元,过程如下:4.1)从LC中提取电路的原始输出端及其所关联的电路单元gNg;4.2)从gNg开始通过反向深度优先搜索算法提取由步骤3所标识的关键性互连线所串联的电路单元,它们构成了指定输入向量下的关键性电路单元集;步骤5:量化各电路单元的关键性,过程如下:5.1)初始化第t个电路单元的关键性CrtVltst=0,初始化循环变量r=1,t=1,2,…,Ng;5.2)若r≤D,提取siv(r),并通过步骤4提取在siv(r)下的关键性电路单元及其个数Nr,及由SCA算法所计算的相对应的关键性值CrtVlr,并转至5.3);否则,转至5.6);5.3)量化在该输入向量下各关键性单元的关键性CrtAvgr=CrtVlr/Nr;5.4)若gt是siv(r)下的关键性电路单元,则执行式(4),t∈{1,2,…,Ng};CrtVlst=CrtVltst+CrtAvgr(4)5.5)执行r=r+1,转至5.2);5.6)根据式(4)所获取的关键性对各电路单元进行排序并输出。进一步,所述步骤2的过程如下:2.1)初始化主序列长度D,辅助序列长度T,子序列长度H=T,循环变量i=1,创建规模为PI×D的矩阵input_vector;2.2)利用超素数优选因子法生成主序列d,过程如下:2.2.1)产生不等于1与D的随机种子x0,初始化优选因子λ,初始化循环变量j=0;2.2.2)若j=0,则利用式(1)计算d的第j个元素dj;否则,通过式(2)计算循环因子xj后,再根据式(1)计算dj;dj=xjmod2(1)xj=λ×xj-1modD(2)其中,mod表示取余运算;2.2.3)若j=D-1,则转至2.3);否则,执行j=j+1,转至2.2.2);2.3)利用满周期线性同余法生成辅助序列a,过程如下:2.3.1)初始化乘数因子α,增量因子β,循环变量k=0,产生随机种子a0;2.3.2)利用式(3)计算a的第k个元素ak,若k=T-1,则转至2.4);否则,执行k=k+1,转2.3.2);ak+1=((4×α+1)×ak+2×β+1)modT(3)2.4)产生合成序列c,过程如下:2.4.1)将d按顺序拆分成ceil(D/H)个子序列,ceil()是取上整运算,其中dsh=d(1,(h-1)×H+1:h×H),它是d被拆分后的第h个子序列,h∈{1,2,…,ceil(D/H)};2.4.2)若D/H≠ceil(D/H),则对dsceil(D/H)补充相同数量的0和1使其长度为H,初始化循环变量h=1,k=0;2.4.3)若k>T-1,转至2.4.4);否则循环执行dsh(k+1)=dsh(ak),k=k+1;2.4.4)提取c的第h个子序列ch=dsh,若h=ceil(D/H),则转至2.4.5);否则,执行h=h+1与k=0,并转至2.4.3);2.4.5)若i<PI,则执行input_vector(i,:)=c与i=i+1,并转至2.2);否则,转至2.5),其中,input_vector(i,:)指input_vector的第i行,dsh(k)指dsh的第k个元素;2.5)创建电路的输入向量siv,过程如下:2.5.1)初始化循环变量i1=1;2.5.2)若i1≥D,转到步骤3;否则,循环执行siv(i1)=input_vector(:,i1),i1=i1+1,其中,siv(i1)指siv的第i1个元素,input_vector(:,i1)指input_vector的第i1列元素。本专利技术的技术构思为:首先,网表解析及相关量的初始化。其次,构建满足均匀非伯努利序列分布特点的输入向量。接着,利用反向深度递归搜索算法设计一种面向非关键性互连导线的剪枝方法。然后,结合SCA方法实现了电路单元关键性的度量。最后,根据所得的关键性对电路单元实施排序。以非关键性互连导线裁剪策略为基础,利用均匀非伯努利序列和SCA模型等实现了电路单元的关键性度量。该策略有利于在保证定位精度的前提下降低计算的复杂性,从而扩展了该方法的适用范围。本专利技术的有益效果主要表现在:基于电路的应用环境,通过非关键性电路单元的裁剪,并结合SCA方法,实现了电路结构中关键性单元的有效定位。它将在电路设计的早期阶段,有望基于较小代价在较大程度上促进电路结构可靠性的改善。附图说明图1是一种基于剪枝策略的关键性电路单元定位方法的流程图。具体实施方式下面结合附图对本专利技术作进一步描述。参照图1,一种基于剪枝策略的关键性电路单元定位方法,包括以下步骤:步骤1:网表解析及相关量的初始化,读取网表,构建电路的完整性链表LC,并提取电路的原始输入端数PI及电路的单元个数Ng,其中完整性链表LC指链表中任意节点的输本文档来自技高网...

【技术保护点】
1.一种基于剪枝策略的关键性电路单元定位方法,其特征在于,所述方法包括以下步骤:步骤1:网表解析及相关量的初始化,读取网表,构建电路的完整性链表LC,并提取电路的原始输入端数PI及电路的单元个数Ng,其中完整性链表LC指链表中任意节点的输入端信息均可从该节点的前序节点的输出端信息中提取得到;步骤2:构建满足均匀非伯努利序列分布特点的输入向量;步骤3:检测在指定输入向量下LC中第t个电路单元第j1个输入端的关键性Crtlt,j1,过程如下:3.1)初始化循环变量i2,提取输入向量siv(i2),利用SCA算法,初始化LC中所有电路单元的理想输入信号、理想输出信号及其关键性,且初始化t=1;3.2)若t≤Ng,则读取LC中的第t个单元gt,并提取其类型type、理想输入信号iiptt、理想输出信号ioptt及其输入端个数mt,并初始化循环变量j1=1,并转至3.3);否则,转至步骤4;3.3)若j1>mt,则执行t=t+1,并转至3.2);否则,转至3.4);3.4)将gt第j1个输入端的理想信号iiptt(j1)取反,再计算该单元与之相对应的输出信号tfoptt(j1);3.5)若tfoptt(j1)=ioptt,则认为gt第j1个输入端非关键,执行Crtlt,j1=0;否则,则认为gt的该输入端为关键,执行Crtlt,j1=1,执行j1=j1+1,转至3.3);步骤4:提取指定输入向量下的关键性电路单元,过程如下:4.1)从LC中提取电路的原始输出端及其所关联的电路单元gNg;4.2)从gNg开始通过反向深度优先搜索算法提取由步骤3所标识的关键性互连线所串联的电路单元,它们构成了指定输入向量下的关键性电路单元集;步骤5:量化各电路单元的关键性,过程如下:5.1)初始化第t个电路单元的关键性CrtVltst=0,初始化循环变量r=1,t=1,2,…,Ng;5.2)若r≤D,提取siv(r),并通过步骤4提取在siv(r)下的关键性电路单元及其个数Nr,及由SCA算法所计算的相对应的关键性值CrtVlr,并转至5.3);否则,转至5.6);5.3)量化在该输入向量下各关键性单元的关键性CrtAvgr=CrtVlr/Nr;5.4)若gt是siv(r)下的关键性电路单元,则执行式(4),t∈{1,2,…,Ng};CrtVlst=CrtVltst+CrtAvgr     (4)5.5)执行r=r+1,转至5.2);5.6)根据式(4)所获取的关键性对各电路单元进行排序并输出。...

【技术特征摘要】
1.一种基于剪枝策略的关键性电路单元定位方法,其特征在于,所述方法包括以下步骤:步骤1:网表解析及相关量的初始化,读取网表,构建电路的完整性链表LC,并提取电路的原始输入端数PI及电路的单元个数Ng,其中完整性链表LC指链表中任意节点的输入端信息均可从该节点的前序节点的输出端信息中提取得到;步骤2:构建满足均匀非伯努利序列分布特点的输入向量;步骤3:检测在指定输入向量下LC中第t个电路单元第j1个输入端的关键性Crtlt,j1,过程如下:3.1)初始化循环变量i2,提取输入向量siv(i2),利用SCA算法,初始化LC中所有电路单元的理想输入信号、理想输出信号及其关键性,且初始化t=1;3.2)若t≤Ng,则读取LC中的第t个单元gt,并提取其类型type、理想输入信号iiptt、理想输出信号ioptt及其输入端个数mt,并初始化循环变量j1=1,并转至3.3);否则,转至步骤4;3.3)若j1>mt,则执行t=t+1,并转至3.2);否则,转至3.4);3.4)将gt第j1个输入端的理想信号iiptt(j1)取反,再计算该单元与之相对应的输出信号tfoptt(j1);3.5)若tfoptt(j1)=ioptt,则认为gt第j1个输入端非关键,执行Crtlt,j1=0;否则,则认为gt的该输入端为关键,执行Crtlt,j1=1,执行j1=j1+1,转至3.3);步骤4:提取指定输入向量下的关键性电路单元,过程如下:4.1)从LC中提取电路的原始输出端及其所关联的电路单元gNg;4.2)从gNg开始通过反向深度优先搜索算法提取由步骤3所标识的关键性互连线所串联的电路单元,它们构成了指定输入向量下的关键性电路单元集;步骤5:量化各电路单元的关键性,过程如下:5.1)初始化第t个电路单元的关键性CrtVltst=0,初始化循环变量r=1,t=1,2,…,Ng;5.2)若r≤D,提取siv(r),并通过步骤4提取在siv(r)下的关键性电路单元及其个数Nr,及由SCA算法所计算的相对应的关键性值CrtVlr,并转至5.3);否则,转至5.6);5.3)量化在该输入向量下各关键性单元的关键性CrtAvgr=CrtVlr/Nr;5.4)若gt是siv(r)下的关键性电路单元,则执行式(4),t∈{1,2,…,Ng};CrtVlst=CrtVltst+CrtAvgr(4)5.5)执行r=r+1,转至5.2);5.6)根据式(4)所获取的关键性对各电路单元进行排序并输出。2.如权利要...

【专利技术属性】
技术研发人员:肖杰诸玮东施展辉胡海根周乾伟季奇瓯孙紫文
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江,33

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

1