欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2019103119231
申请人: 国网江苏省电力有限公司响水县供电分公司
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-02-27
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于剪枝策略的关键性电路单元定位方法,其特征在于,所述方法包括以下步骤:步骤1:网表解析及相关量的初始化,读取网表,构建电路的完整性链表LC,并提取电路的原始输入端数PI及电路的单元个数Ng,其中完整性链表LC指链表中任意节点的输入端信息均可从该节点的前序节点的输出端信息中提取得到;

步骤2:构建满足均匀非伯努利序列分布特点的输入向量;

步骤3:检测在指定输入向量下LC中第t个电路单元第j1个输入端的关键性Crtlt,j1,过程如下:

3.1)初始化循环变量i2,提取输入向量siv(i2),利用电路敏感性计算算法,初始化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,D为主序列长度,提取siv(r),并通过步骤4提取在siv(r)下的关键性电路单元及其个数Nr,及由电路敏感性计算算法所计算的相对应的关键性值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.如权利要求1所述的一种基于剪枝策略的关键性电路单元定位方法,其特征在于,所述步骤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= xj mod 2        (1)xj=λ×xj‑1 mod D        (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) mod T    (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

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列元素。