发明名称 基于平均值浮动量的三维IP核的测试封装扫描链平衡方法
摘要 基于平均值浮动量的三维IP核的测试封装扫描链平衡方法,属于SoC测试领域,本发明为解决现有三维IP核的测试封装扫描链平衡过程中,存在解空间过大、寻优困难,且时间长的问题。本发明所述三维IP核共有m层结构,n条扫描链,该方法包括:一、按照平均值浮动量的初始化方法来获取平均值浮动量α;二、采用基本方法进行测试封装扫描链平衡,判断是否得到优化解,得到优化解,执行五,没得到优化解,执行三;三、采用改进方法进行测试封装扫描链平衡,判断是否得到优化解,得到优化解,执行五,没得到优化解,执行四;四、平均值浮动量α的值加1,返回执行二;五、根据优化解计算所使用TSV数量,完成三维IP核的测试封装扫描链平衡。
申请公布号 CN102768337B 申请公布日期 2014.11.19
申请号 CN201210278975.1 申请日期 2012.08.07
申请人 哈尔滨工业大学 发明人 俞洋;彭喜元;彭宇;王帅;邓立宝;陈诚
分类号 G01R31/3185(2006.01)I 主分类号 G01R31/3185(2006.01)I
代理机构 哈尔滨市松花江专利商标事务所 23109 代理人 张果瑞
主权项 基于平均值浮动量的三维IP核的测试封装扫描链平衡方法,所述三维IP核共有m层结构,m层中扫描链的数量共为n条,其特征在于,该方法包括以下步骤:步骤一、按照平均值浮动量的初始化方法来获取平均值浮动量α;步骤一中平均值浮动量α按公式<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>&alpha;</mi><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mo>[</mo><msub><mi>S</mi><mi>mean</mi></msub><mo>]</mo><mo>+</mo><mn>1</mn><mo>,</mo></mtd><mtd><msub><mi>S</mi><mi>mean</mi></msub><mo>&NotEqual;</mo><mo>[</mo><msub><mi>S</mi><mi>mean</mi></msub><mo>]</mo></mtd></mtr><mtr><mtd><msub><mi>S</mi><mi>mean</mi></msub><mo>,</mo></mtd><mtd><msub><mi>S</mi><mi>mean</mi></msub><mo>=</mo><mo>[</mo><msub><mi>S</mi><mi>mean</mi></msub><mo>]</mo></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000541779020000011.GIF" wi="970" he="222" /></maths>获取,其中:S<sub>mean</sub>表示测试封装扫描链的平均长度,<img file="FDA0000541779020000012.GIF" wi="400" he="181" />[S<sub>mean</sub>]表示取大于等于S<sub>mean</sub>的最小整数,上式中:l<sub>i</sub>表示第i条扫描链的长度,N(W)表示三维IP核中测试封装扫描链的数量;步骤二、采用基本方法进行测试封装扫描链平衡,并判断是否能得到优化解;如果可以得到优化解,执行步骤五,如果无法得到优化解,执行步骤三,步骤二中采用基本方法进行测试封装扫描链平衡,并判断是否能得到优化解的过程为:步骤2‑1、建立一个数据结构Element,用于表示每一条扫描链的信息:i表示该扫描链在三维IP核的所有扫描链构成的集合中的编号,i=1,2,…,n,l<sub>i</sub>表示第i条扫描链的长度,w<sub>i</sub>表示第i条扫描链所属的测试封装扫描链,且w<sub>i</sub>=j,j=1,2,…,N(W),L<sub>i</sub>表示第i条扫描链所属三维IP核层的编号,L<sub>i</sub>=1,2,…,m,第i条扫描链用其数据结构Element表示为E<sub>i</sub>;步骤2‑2、分别置每一个扫描链E<sub>i</sub>对应的标志位flag<sub>i</sub>=1;步骤2‑3、将三维IP核每层的扫描链按照其长度l<sub>i</sub>由大到小进行排序;步骤2‑4、变量初始化,令当前层currentlayer=m;步骤2‑5、判断当前层currentlayer是否为0,如果currentlayer的值为0,则执行步骤2‑12,如果currentlayer的值不为0,对每一个E<sub>i</sub>,执行步骤2‑6;步骤2‑6、判断当前层中每一个E<sub>i</sub>标志位flag<sub>i</sub>的值是否为1,若为1,执行加步骤2‑7,若不为1,i=i+1,返回执行步骤2‑6;步骤2‑7、判断该条扫描链E<sub>i</sub>是否满足条件S<sub>j</sub>+l<sub>i</sub>≤α,式中:S<sub>j</sub>表示第j条测试封装扫描链W<sub>j</sub>,j=1,2,...,N(W)的长度,若满足条件,则将该条扫描链E<sub>i</sub>加入到第j条测试封装扫描链W<sub>j</sub>当中,并置该条扫描链E<sub>i</sub>的标志位flag<sub>i</sub>=0,然后执行步骤2‑10,若不满足条件,然后执行步骤2‑8;步骤2‑8、判断是否满足条件j≥N(W),判断结果为是,执行步骤2‑9,判断结果为否,令j=j+1,执行步骤2‑7;步骤2‑9、将该条扫描链E<sub>i</sub>加入到第N(W)条测试封装扫描链W<sub>N(W)</sub>当中,并置该条扫描链E<sub>i</sub>标志位flag<sub>i</sub>=0,然后执行步骤2‑10;步骤2‑10、判断当前层中的所有扫描链是否都配置完成,如果是,则执行步骤2‑11,如果不是,令i=i+1,返回执行步骤2‑6;步骤2‑11、currentLayer=currentLayer‑1,返回执行步骤2‑4;步骤2‑12、判断最后一条测试封装扫描链的长度S<sub>N(W)</sub>与α的关系是否满足条件S<sub>N(W)</sub>&gt;α,判断结果为是,则确定基本方法没有得到优化解;判断结果为否,则确定基本方法得到优化解;步骤三、采用改进方法进行测试封装扫描链平衡,并判断是否能得到优化解;如果可以得到优化解,执行步骤五,如果无法得到优化解,执行步骤四;步骤四、平均值浮动量α的值加1,返回执行步骤二;步骤五、根据优化解计算所使用TSV数量,完成三维IP核的测试封装扫描链平衡,其中,TSV为穿透硅通孔。
地址 150001 黑龙江省哈尔滨市南岗区西大直街92号