[发明专利]一种基于概率模型的电路原始输入端敏感性计算方法在审
申请号: | 202011016947.3 | 申请日: | 2020-09-24 |
公开(公告)号: | CN112214962A | 公开(公告)日: | 2021-01-12 |
发明(设计)人: | 肖杰;陈闻博;杨旭华;许营坤;杨宇剑 | 申请(专利权)人: | 浙江工业大学 |
主分类号: | G06F30/398 | 分类号: | G06F30/398;G06K9/62;G06F111/08;G06F115/06 |
代理公司: | 杭州斯可睿专利事务所有限公司 33241 | 代理人: | 王利强 |
地址: | 310014 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 概率 模型 电路 原始 输入 敏感性 计算方法 | ||
1.一种基于概率模型的电路原始输入端敏感性计算方法,其特征在于,所述计算方法包括以下步骤:
步骤1:网表解析及相关量的初始化,过程如下:
1.1)读取网表,提取电路的基本门信息,构建对应电路的完整性链表LC且标识出电路的所有原始输入端与原始输出端,其中,链表LC指其中任意节点的输入端信息均可从该节点的前序节点的输出端信息中提取获得;
1.2)依据节点的类型type、故障概率p以及输入端个数m,基于真值表法构建所提节点的概率转移矩阵PMtype-m与理想转移矩阵IMtype-m;设置循环变量k=1;
1.3)判断k是否小于指定计算次数,若不成立则转置步骤4;提取电路各原始输入端的输入信号,并构建与之相对应的原始输入概率分布pipt;当原始输入信号为0时,则对应的pipt赋值为[1,0];否则pipt赋值为[0,1];初始化i=1;
步骤2:判断LC中第i个节点的第j个输入端的关键性Crtli,j,过程如下:
2.1)若i≥length(LC),则转至步骤3;否则,转至2.2);其中length用于计算序列的长度;
2.2)获取电路当前的原始输入信号,并调用SCA算法以获取第i个节点gi的理想输出概率信号iopti及其第j个输入端的理想输入概率信号iipti,j;其中,j=1,2,…,mi,mi指节点i的输入端数;重置j=0;
2.3)若j==mi,则执行i=i+1并转至步骤2.1);否则,执行j=j+1,并转2.4);
2.4)置反iipti,j再计算gi在当前情况下的输出概率信号tfopti,j;
2.5)若tfopti,j==iopti,则执行Crtli,j=0;否则,执行Crtli,j=1;其中Crtli,j指第i个节点的第j个输入端的敏感性状态;
步骤3:根据步骤2的结果对电路实施剪枝以获得对应所应用输入向量的电路敏感性节点,并对所标记的敏感节点分配敏感性值;
步骤4:基于核密度估计给出sen的聚类数目,并利用k-means算法对sen实施聚类,并依据敏感性值的大小次序输出聚类结果。
2.如权利要求1所述的一种基于概率模型的电路原始输入端敏感性计算方法,其特征在于,所述步骤3的过程如下:
3.1)调用SCA算法以获取当前所应用输入向量下gi的当前输出概率信号fopti,i=1,2,…,length(LC);初始化循环变量t=1与i=length(LC);
3.2)读取gi,并提取其所对应的概率转移矩阵PMtype-mi与理想转移矩阵IMtype-mi、输出概率信号fopti、理想输出信号iopti以及其输入端个数mi,执行visitedi=1,计算其敏感值CrtVli=sum(fopti.×iopti),其中,visitedi指节点gi的被访问状态,sum用于求取向量中元素的和;
3.3)提取gi的type及其关键性输入端的个数num;
3.4)若num==0,则令pertemCrtVli,t=0,并转3.13),其中,t=1,2,…,mi,pertemCrtVli,t表示第i个节点的第t个输入端的敏感性百分数;
3.5)若num==1,则令pertemCrtVli,t=1,并转3.13),其中t为所对应的唯一关键性输入端序号;
3.6)若num1且type为xor,或者buff,或者not,则执行pertemCrtVli,t=1/num,并转3.13),其中t表示该节点所对应的关键性输入端序号;
3.7)若num1且type不为xor、buff及not,则按序将该节点的所有关键性输入端序号置入向量keyipt中;
3.8)提取keyipt内所有元素所对应的输出概率信号的张量积运算结果GIp,并初始化循环变量p=1;
3.9)若p=length(GIp),则将p-1用2的幂次方和形式表示,将幂次和系数为1所对应的幂次置入向量iptnow中;否则,转3.13);
3.10)初始化循环变量q=1;若type为and或nand,则转3.11);否则,转3.12);
3.11)若q=length(keyipt),判断ismember(q-1,iptnow)==1是否成立,若不成立则执行q=q+1并转3.11),若成立则利用式(2)与式(3)计算pertemCrtVli,q并执行q=q+1且转3.11);否则,执行q=q+1并转3.9);其中,ismember用于判断其左边参数是否是其右边参数中的一个元素,pertemCrtVl为临时变量;
pertemCrtVl=sum((GIp(p).×PMtype-m(p,:)/(length(iptnow))).×IMtype-mi)/CrtVlp (2)
pertemCrtVli,q=pertemCrtVli,q+pertemCrtVl (3)
3.12)若q=length(keyipt),判断ismember(q-1,iptnow)==0是否成立,若不成立则执行q=q+1并转3.12),若成立则利用式(4)与式(5)计算pertemCrtVli,q并执行q=q+1且转3.12);否则,执行q=q+1并转3.9);
pertemCrtVl=sum((GIp(p).×PMtype-m(p,:)/length(keyipt)-length(iptnow)).×IMtype-mi)/CrtVlp (4)
pertemCrtVlp,j=pertemCrtVlp,j+pertemCrtVl (5)
3.13)若gi的type不是原始输入端,则按式(6)计算transCrtVli,q,否则,按式(7)计算transCrtVli,q;其中,transCrtVli指gi输出端所对应的敏感性值,transCrtVli,q指gi的第q个关键性输入端的敏感性值;
transCrtVli,q=transCrtVli*pertemCrtVli,q (6)
transCrtVli,q=transCrtVli,q+transCrtVli*pertemCrtVli,q (7)
3.14)初始化q=1;
3.15)若qmi,则转3.16);否则,提取gi的第q个输入端ipti,q,并转至3.16);
3.16)若ipti,q为关键输入端且visitedi,q=0,则利用输入端q所对应的编号更新i,并转3.2);否则,执行q=q+1并转3.15);其中visitedi,q指gi的第q个输入端的被访问状态;
3.17)分别统计各原始输入端的累计敏感性值,并置于集合sen中,然后转至1.3)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011016947.3/1.html,转载请声明来源钻瓜专利网。