[发明专利]基于单双跳变的低功耗确定性BIST及种子压缩方法有效
申请号: | 201610067190.8 | 申请日: | 2016-01-30 |
公开(公告)号: | CN105738800B | 公开(公告)日: | 2018-09-04 |
发明(设计)人: | 张建伟;丁秋红;吴国强;陈晓明;滕飞;马万里;王政操;郝文凯 | 申请(专利权)人: | 大连理工大学 |
主分类号: | G06F11/27 | 分类号: | G06F11/27 |
代理公司: | 大连星海专利事务所有限公司 21208 | 代理人: | 王树本 |
地址: | 116024 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 单双跳变 功耗 确定性 bist 种子 压缩 方法 | ||
1.一种基于单双跳变的低功耗确定性BIST装置,包括状态机,n/2个单双跳变单元SDIC,长度为n/2+1位串行移位寄存器,减法计数器、存储器及被测电路,其中n为测试向量集的测试宽度;所述状态机设有5个输入数据端口,分别是CLK、start、reset、feedback及ROM数据输出,另外,状态机还设有5个输出信号端口,分别是SEED_BIT[n/2-1:0]、sel、ini_val、load和ROM读取控制信号;所述n/2个单双跳变单元SDIC中的每个SDIC单元设有4个输入端口,分别是SEED_BIT、CE、sel及clk,另外,还设有2个输出端口,分别是Q1和Q2;所述长度为n/2+1位串行移位寄存器,是由n/2个DFFR寄存器和1个DFFS寄存器串行连接所构成;所述减法计数器设有3个输入端口,分别是load、ini_val和dec_en,另外,还设有2个输出端口,分别是feed_back和shift_en,其特征在于:所述状态机中的输出端口load及ini_val分别与减法计数器中的输入端口load及ini_val相连,所述状态机中的输出端口sel及SEED_BIT[n/2-1:0]分别与n/2个单双跳变单元SDIC中的每个SDIC单元输入端口sel及SEED_BIT相连,所述状态机中的输出端口ROM读取控制信号与存储器中输入端口的ROM读取控制信号相连,所述状态机中的输入端口ROM数据输出及feedback分别与储器中输出端口ROM数据输出及减法计数器中的输出端口feed_back相连,所述状态机中的输入端口CLK分别与n/2个单双跳变单元SDIC中的每个SDIC单元输入端口clk相连,所述DFFS寄存器输出端口与第1个DFFR寄存器输入端口相连,最后一个DFFR寄存器输出端口与减法计数器输入端口dec_en相连,所述减法计数器输出端口shift_en及时钟输入信号CLK与与门输入端相连,与门输出端分别与n/2个DFFR寄存器和1个DFFS寄存器时钟输入端相连,所述n/2个DFFR寄存器输出端口分别与n/2个单双跳变单元SDIC中输入端口CE相连,所述n/2个单双跳变单元SDIC中输出端口Q1、Q2分别与被测电路输入端相连。
2.根据权利要求1所述一种基于单双跳变的低功耗确定性BIST装置,其特征在于:所述每个SDIC单元包括触发器dff1、dff2、异或门以及与门,所述触发器dff1的输出端Q1及SDIC单元输入端口sel分别与异或门输入端相连,所述异或门输出端与触发器dff2输入端口D2相连,所述触发器dff2输出端口Q2反向与触发器dff1输入端口D1相连,所述SDIC单元输入端口clk、SEED_BIT及CE分别与与门输入端相连,其输出端分别与触发器dff1、dff2中的输入端口clk相连。
3.根据权利要求1所述一种基于单双跳变的低功耗确定性BIST装置的种子压缩方法,其特征在于包括以下步骤:
步骤1、初始化,基于被测电路,使用Altanta工具生成确定性测试集Tpx,将000..0作为确定性种子deter_seed;设置SEED_BIT[n/2-1:0]为00..0,sel为1,其中n为测试向量集的测试宽度,初始化向量集All_pat,candi_seed_set和hm_dis_set;
步骤2、压缩与确定性种子完全相容的测试向量,具体包括以下子步骤:
(a)从确定性测试集Tpx中挑选出与确定性种子完全相容的目标向量,将它们从Tpx中删除;与确定性种子完全相容的测试向量是由确定性种子经过轮流的k次单跳变产生的,(m-1)*n/2<k<=m*n/2,m按照有效的最小原则选取,0<m<=4,n为测试向量集的测试宽度;
(b)记录最大的m值为M,用M-1作为2-bit减法计数器的初始值,基于确定性种子,模仿测试向量生成器通过轮流的M*n/2次单跳变生成M*n/2个确定性测试向量,保存到All_pat测试集中;将All_pat的最后一个向量设为stop_pat;
步骤3、选择并确定下一个确定性种子,具体包括以下子步骤:
(a)、从Tpx中挑出满足如下其中一个条件的测试向量:
条件1、该向量是基于deter_seed通过p次双跳变产生,p<n/2,n为测试向量集的测试宽度;
条件2、该向量是基于deter_seed通过p次双跳变和轮流的k次单跳变产生,其中,(m-1)*n/2<k<=m*n/2,m按照有效的最小原则选取,0<m<=4,p<n/2,n为测试向量集的测试宽度;
如果向量满足条件2,则将该向量转换成与deter_seed仅相邻p次双跳变的中间向量,将满足条件1的向量和满足条件2转换的中间向量保存到候选种子集合candi_seed_set当中;
(b)判断candi_seed_set集合是否为空,若为空,则将Tpx集合内的所有向量全部保存到candi_seed_set当中;
(c)采用x指定方法从candi_seed_set选择并确定新的deter_seed,首先,判断candi_seed_set是否为空;若为空,则子步骤(c)结束;否则从candi_seed_set中选取一个候选种子pat_i,将pat_i从candi_seed_set中删去;其次,按照SDIC顺序选取第j个SDIC的值,即pat_i(2*j-1:2*j),其中0<j<=n/2,n为测试向量集的测试宽度;判断pat_i(2*j-1:2*j)中是否含有x;若含有x,指定pat_i(2*j-1:2*j)的值与stop_pat(2*j-1:2*j)的值完全相同,否则完全取反;指定结束后,选取并指定第j+1个SDIC的x值,如此循环下去,直到所有的SDIC中都没有x为止;指定结束后,计算新的pat_i与stop_pat之间的汉明距离,按照公式(1)进行处理,并将计算结果保存到hm_dis_set中去;
仿照上述流程,选取并指定下一个候选种子中的x值,计算它与stop_pat的汉明距离,追加到hm_dis_set当中;如此循环下去,直到candi_seed_set为空为止;最后,选择hm_dis_set中最小的值对应的候选种子作为deter_seed,清空hm_dis_set;
(d)根据新的deter_seed和stop_pat的值得出对应的SEED_BIT[n/2-1:0]和sel的值,其中n为测试向量集的测试宽度;基于stop_pat,SEED_BIT[n/2-1:0]和sel的值,模拟测试向量生成器通过单/双跳变生成deter_seed,将这过程中生成的测试向量追加到All_pat当中;
步骤4、将All_pat读入到Altanta工具当中,生成对应的故障覆盖率和新的确定性测试集Tpx,这个测试集中所覆盖的故障点是All_pat中还未覆盖到的,仍需要压缩;之后清空All_pat集合并判断Tpx是否为空,若Tpx不为空,则进入步骤2,重复上述循环;否则跳出循环,结束该种子压缩方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工大学,未经大连理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610067190.8/1.html,转载请声明来源钻瓜专利网。