CN102081141A - 一种分时测试的soc测试调度方法 - Google Patents
一种分时测试的soc测试调度方法 Download PDFInfo
- Publication number
- CN102081141A CN102081141A CN2010105657632A CN201010565763A CN102081141A CN 102081141 A CN102081141 A CN 102081141A CN 2010105657632 A CN2010105657632 A CN 2010105657632A CN 201010565763 A CN201010565763 A CN 201010565763A CN 102081141 A CN102081141 A CN 102081141A
- Authority
- CN
- China
- Prior art keywords
- test
- soc
- kernel
- time
- rectangle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
一种分时测试的SOC测试调度方法,本发明涉及集成电路测试领域,具体涉及片上系统SOC测试调度的方法。能够使IP核测试存取机制的分配方式更加灵活,更好的实现IP核的并行测试,从而缩短测试总线上没有被利用的空余测试时间。它包括下述步骤:根据BFD算法,找出待测SOC内部各个IP核的pareto-point;根据vt-1产生N个随机样本;利用B*-Tree二叉树结构计算各个IP核的布局;选择部分IP核进行分时测试;利用CE方法求解各个IP核的总线分配和时间分配,直到满足CE收敛的条件。本发明用于SOC的测试。
Description
技术领域
本发明涉及集成电路测试领域,具体涉及片上系统SOC测试调度的方法。
背景技术
随着半导体工艺的进步和集成电路设计能力的提高,各种功能的IP核(IntellectualProperty,IP)组成系统被集成到一个芯片上成为系统芯片(System-on-a-Chip,SOC)。由于SOC具有性能高、体积小、功耗低、研制周期短等优势,使其近年来被越来越多地应用于各种电子设备中。但是随着SOC规模的扩大和功能的完善,SOC的测试时间与测试成本成倍增加,测试问题已逐渐成为SOC发展的瓶颈。为了降低测试费用,尽可能减少测试时间,人们希望尽可能多地对SOC内的IP核进行并行测试。因此,SOC测试调度问题,即确定各个IP核的测试顺序并为之分配相应的测试总线宽度使总测试时间最短,成为SOC系统级测试中亟待解决的问题。
SOC的测试调度问题是个NP完全问题,近年来研究人员将此转换为二维装箱问题,采用序列对(sequence pair,SP)、边界限制格(bounded slicing grid,BSG)和O-tree等结构表示方法,配合最佳拟合算法、模拟退火算法、以及遗传算法等等优化算法对其进行求解,但是上述方法在求解效率方面仍有不尽人意之处。由于每个IP核需要测试的信息量不相等,现有技术在安排并行测试的位置和顺序时,测试总线上仍然有空余的测试时间没有被有效利用。
发明内容
本发明的目的是提供一种分时测试的SOC测试调度方法,能够使IP核测试存取机制的分配方式更加灵活,更好的实现IP核的并行测试,从而缩短测试总线上没有被利用的空余测试时间。它包括下述步骤:
一、根据BFD算法,找出待测SOC内部各个IP核的潜在最优化点;初始化CE方法的更新样本机制的参数t,v0;
二、根据更新样本机制的参数vt-1产生N个随机样本v_soc=(x1×(2n-1)|y1×n);其中x为长度为2n-1的序列,表示一个B*-Tree二叉树结构,代表抽象的矩形相对位置;y为长度为n的序列,n代表参加处理的IP核数量,y(i)代表第i个IP核所占的TAM总线宽度,1≤y(i)≤Wmax,1≤i≤n;
三、利用B*-Tree二叉树结构计算各个IP核的布局;
四、选择部分IP核进行分时测试;具体做法是:根据y的值找出每个IP核抽象的矩形的高度和对应,该矩形的高度对应于TAM总线数量,矩形的长度对应于测试时间;再根据x对应的矩形的相对位置,在实际使用的TAM总线宽度不大于测试总线宽度Wmax的情况下,计算SOC的测试时间T,矩形的相对位置对应于SOC的并行测试及测试顺序;
五、利用CE方法求解SOC内部所有IP核的的总线分配和时间分配,直到满足CE收敛的条件,否则返回步骤二的开始处,更新样本并进行下一次循环;具体做法是:将所有的N个测试时间T进行从小到大排序,计算其(1-ρ)分位数用于更新参数v;t=t+1;
CE的参数设置如下:
允许误差err=0.005;
最大迭代次数t_max=100;
算法满足max(vt-vt-1|<err)或者t>t_max时结束。
本发明提出对IP核进行分时测试的方法,解决SOC测试调度问题。该方法的思路是将一个IP核分多个时间段进行测试,把代表该IP核信息的一个矩形从长度上分割为多个宽度不变矩形。采用易于表示的B*-Tree结构描述该问题,并采用一种新的优化算法——基于概率密度函数的交叉熵方法求解该问题,提高了搜索效率。由于把某些IP核整体的测试信息分割后进行有效地穿插分配,缩短了测试总线上没有被利用的空余测试时间,使总的测试时间最短。本发明的IP核分时测试方法可以使得对SOC测试时间更短。首次提出并证明n个节点的二叉树可用长度为2n-1的序列唯一表示,从而表示n个IP核的测试调度问题,简易实用。首次将CE方法应用在SOC测试调度问题上,CE良好的寻优能力能更好地解决该问题。
附图说明
图1是8个节点的二叉树示意图,图2是8个节点的二叉树插入“0”节点后的表示方法示意图,图3是二叉树与布局问题的转换关系示意图,图4是本发明SOC测试调度抽象为装箱问题的示意图,图5是芯核分时测试方法对应的二位装箱问题的示意图。
具体实施方式
具体实施方式一:本实施方式包括下述步骤:
一、根据BFD算法,找出待测SOC内部各个IP核的潜在最优化点(pareto-point);初始化CE方法的参数t,v0;所述BFD算法是装箱问题的递降最佳适合算法;
二、根据vt-1产生N个随机样本v_soc=(x1×(2n-1)|y1×n);其中x为长度为2n-1的序列,表示一个B*-Tree二叉树结构,代表抽象的矩形相对位置;y为长度为n的序列,n代表参加处理的IP核数量,y(i)代表第i个IP核所占的TAM宽度,1≤y(i)≤Wmax,1≤i≤n;
三、利用B*-Tree二叉树结构计算各个IP核的布局;
四、选择部分IP核进行灵活的TAM分配;具体做法是:根据y的值找出每个IP核抽象的矩形的高度和对应的长度(测试时间);再根据x对应的矩形的相对位置(SOC并行测试及测试顺序),在实际使用的TAM总线宽度不大于测试总线宽度Wmax的情况下,计算SOC的测试时间T;
五、利用CE方法求解SOC内部所有IP核的的总线分配和时间分配,直到满足CE收敛的条件,否则返回步骤二的开始处,更新样本并进行下一次循环;具体做法是:将所有的N个测试时间T进行从小到大排序,计算其(1-ρ)分位数用于更新参数v;t=t+1。
CE的参数设置如下:
允许误差err=0.005;
最大迭代次数t_max=100;
算法满足max(vt-vt-1|<err)或者t>t_max时结束。
在第二步骤中利用长度为2n-1的序列表示n个节点的B*-Tree,下面详述如下:
二叉树具有以下重要性质:在任意一棵二叉树中,若终端结点的个数为n0,度为2的结点数为n2,则n0=n2+1。
因为二叉树中所有结点的度数均不大于2,所以结点总数(记为n)应等于0度结点数、1度结点(记为n1)和2度结点数之和:
n=n0+n1+n2(1)
另一方面,1度结点有一个孩子,2度结点有两个孩子,故二叉树中孩子结点总数是:
n1+2×n2(2)
树中只有根结点不是任何结点的孩子,故二叉树中的结点总数又可表示为:
n=n1+2×n2+1(3)
由式子(1)和式子(3)得到:
n0=n2+1(4)
考虑将二叉树的空位置插入“0”节点构成一个新的二叉树,这样就可以用一组数:[最顶层(第1层)节点、第2层节点(从左到右顺序)、...、最底层(第k层)节点(从左到右顺序)]组成一个序列来唯一表示这个二叉树。为了减少冗余,增加约束条件:“0”节点和最底层节点不插入“0”。根据二叉树的性质,可以得到推论:n个节点构成的二叉树能够唯一的用1~n和不多于n-1个“0”组成的序列唯一表示。
下面予以证明:
设0度结点数为n0、1度结点数为n1、2度结点数为n2。
由于二叉树中0度结点无孩子,1度结点有一个孩子,2度结点有两个孩子,考虑到约束条件:“0”节点不分配孩子,因此需要插入的“0”数No_zero为
No_zero=2×n0+1×n1+0×n2(5)
将(3)式、(4)式代入后,(5)式可变为
No_zero=n0+n1+n2+1=n+1(6)
因为最底层包含不少于1个(记为nk0,nk0≥1)的0度结点,考虑到约束条件:最底层节点不分配孩子,因此实际需要插入的“0”的个数应在(6)式基础上减去2倍的nk0,
No_zero=n+1-2×nk0≤n-1(7)
证毕。
因此图1中的二叉树可以表示为图2所示,并可以用序列x=[1,8,2,0,0,7,3,0,0,6,4,0,0,5,0]来唯一表示。
在步骤三中利用B*-Tree二叉树结构表示布局问题的具体做法如下:
B*-Tree二叉树结构是一种使用简单,方便有效地描述布局问题的方法,它与布局问题的转换思路是:在B*-Tree中如果L为I的左子,R为I的右子,则在布局中的位置是:L位于I的相邻右侧的最下位;R同I有着相同的左水平轴坐标,且位于I的最近上方。假设图1中的8个节点代表8个高度均为5,长度为1~8的矩形,其布局示意图为图3所示。
在步骤四中IP核分时测试的具体过程如下:假设P为IP核测试向量的个数,si为IP核加载测试封装后最长输入扫描链的长度,so为IP核加载测试封装后最长输出扫描链的长度,则对这个IP核进行测试所花费的时间(以测试时钟周期为单位)为:
T=(1+max{si,so})*P+min{si,so}(8)
SOC测试调度问题被抽象成宽度固定的二维装箱问题,每一个IP核对应一个小矩形,小矩形的宽对应为其分配的TAM带宽,小矩形的长代表该带宽下根据(8)式求得的对该IP核的测试时间,然后将其装入宽度不大于TAM width的箱体中。SOC内部最后一个被测试的IP核的测试结束时间即是对SOC测试所需的时间,以图4为例,从测试开始到Core 7的测试结束时间是对该SOC的测试时间。同时,由于各IP核分配带宽的不同、测试时间的较大差异会导致某些测试总线在某个时间段内空闲,如图中Idle 1和Idle 2所示,造成测试资源浪费,因此本发明提出一种芯核分时测试的方法来解决该类问题。
芯核分时测试方法的思路是:将IP核在被分配的TAM(测试存取机制Test AccessMichanism)上,根据需要将测试向量分多个时间段施加给该IP核,也就是将代表该IP核信息的一个矩形宽度保持不变,从长度上分割为多个矩形。这种方法在不增加硬件开销的情况下,使得对SOC内部各IP核的测试调度实现起来更为灵活,能够得到更优的测试结果。
假设将IP核测试向量P分成N_seg段P1、P2、...、PN seg分时地加载到,由于为IP和分配的带宽不变,因此si、so保持不变,则对这个IP核进行测试所花费的时间(以测试时钟周期为单位)为N seg段时间,每次分测试的时间为:
Ti=(1+max{si,so})*Pi+min{si,so}1≤i≤N_seg(9)因此对该IP核总的测试时间为N_seg次测试时间总和:
T=T1+T2+...+TN_seg (10)将(9)代入得:
因此,若采用芯核分时测试的方法只需要TAM空闲时间Idle满足下面两个条件:(i)N seg个Idle共用的TAM宽度不小于待测IP的测试带宽;(ii)N_seg个Idle的长度不小于(11)式。在满足上述两个条件的情况下图3中问题可以转换成图4。
虽然将本发明所提芯核分时测试方法的测试时间(11)式与传统的(8)式进行比较可以得出,此时总的测试时间会增加min{si,so}*(N_seg-1)。但是由于拆分后的某些小矩形是占用的部分Idle空间,因此从整体上看是起到了减小测试时间的目的。如图5所示,此时SOC的测试时间缩短为从测试开始到Core 6测试完成的时间。
因此,本发明提出将芯核分时测试方法,能够更灵活的完成测试调度的任务,这对SOC测试调度的结果影响是很大的,对算法的运行效率和搜索效率都是有益的。
在步骤五中采用交叉熵方法求解的具体做法如下:
交叉熵(Cross Entropy,CE)方法是一种用于解决稀有事件仿真和组合优化问题的新方法,已被成功的应用在求解大规模多样性估计和优化问题,尤其是NP_hard组合问题。如Rubinstein等用CE求解旅行商问题、最大割和二分问题;Cohen等用CE解决资源分配问题;除此之外,CE还被应用在静态仿真模型、通信网络可靠性优化、工程管理等问题。CE与其它大多数启发算法的不同是它定义了一个精确的基于高级仿真理论的数学框架,并结合重要采样(important sampling,IS)理论用于快速的更新规则。
为了说明交叉熵方法的基本原理,考虑下面的优化问题:
该方法的思想是首先将该优化问题与一个相关的概率估计问题关联起来。为此在χ上定义一组概率密度函数{f(;v),v∈V}和指示函数{I{s (x)≥γ}},对某个u∈V,定义(9)式优化问题的相关估计问题(ASP)为:
可见,对(12)式估计问题来说,当γ取值非常接近或等于γ*时,即为优化问题的最优解。
具体实施方式二:本实施方式与实施方式一相比的特点在于:在第一步骤中,按照IP核的测试量从大到小排列,找出排序在前面且测试量规模占SOC所有的IP核测试量的60%~80%的IP核;然后执行步骤二和三,对这些IP核利用B*-Tree二叉树结构计算各个IP核的布局;计算上述测试调度结果带来的空余空间(即图4中的Idle部分,当然也包括图中右侧的未占用空间),根据空余空间的情况执行步骤四,进行TAM分配。
这种思路是被大家广泛应用的Two-Stage(分两步)方法,之所以按照两步走(即先计算大部分,再根据实际情况计算剩下的小部分),是因为这样的好处可以降低问题的复杂度,提高算法的运行时间和运行效率。
Claims (3)
1.一种分时测试的SOC测试调度方法,其特征在于它通过下述步骤实现:
一、根据BFD算法,找出待测SOC内部各个IP核的潜在最优化点;初始化CE方法的更新样本机制的参数t,v0;
二、根据更新样本机制的参数vt-1产生N个随机样本v_soc=(x1(2n-1)|y1×n);其中x为长度为2n-1的序列,表示一个B*-Tree二叉树结构,代表抽象的矩形相对位置;y为长度为n的序列,n代表参加处理的IP核数量,y(i)代表第i个IP核所占的TAM总线宽度,1≤y(i)≤Wmax,1≤i≤n;
三、利用B*-Tree二叉树结构计算各个IP核的布局;
四、选择部分IP核进行分时测试;具体做法是:根据y的值找出每个IP核抽象的矩形的高度和对应,该矩形的高度对应于TAM总线数量,矩形的长度对应于测试时间;再根据x对应的矩形的相对位置,在实际使用的TAM总线宽度不大于测试总线宽度Wmax的情况下,计算SOC的测试时间T,矩形的相对位置对应于SOC的并行测试及测试顺序;
五、利用CE方法求解SOC内部所有IP核的的总线分配和时间分配,直到满足CE收敛的条件,否则返回步骤二的开始处,更新样本并进行下一次循环;具体做法是:将所有的N个测试时间T进行从小到大排序,计算其(1-ρ)分位数用于更新参数v;t=t+1;
CE的参数设置如下:
允许误差err=0.005;
最大迭代次数t_max=100;
算法满足max(vt-vt-1|<err)或者t>t_max时结束。
2.根据权利要求1所述的一种分时测试的SOC测试调度方法,其特征在于在第一步骤中,按照IP核的测试量从大到小排列,找出排序在前面且测试量规模占SOC所有的IP核测试量的60%~80%的IP核;然后执行步骤二和三,对这些IP核利用B*-Tree二叉树结构计算各个IP核的布局;计算上述测试调度结果带来的空余空间,根据空余空间的情况执行步骤四,进行TAM分配。
3.根据权利要求1所述的一种分时测试的SOC测试调度方法,其特征在于在第四步骤中,将IP核在被分配的TAM上,根据需要将测试向量分多个时间段施加给该IP核。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105657632A CN102081141A (zh) | 2010-11-30 | 2010-11-30 | 一种分时测试的soc测试调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105657632A CN102081141A (zh) | 2010-11-30 | 2010-11-30 | 一种分时测试的soc测试调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102081141A true CN102081141A (zh) | 2011-06-01 |
Family
ID=44087218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105657632A Pending CN102081141A (zh) | 2010-11-30 | 2010-11-30 | 一种分时测试的soc测试调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102081141A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176120A (zh) * | 2011-12-22 | 2013-06-26 | 英业达股份有限公司 | 信号模拟装置、信号录制与模拟测试方法 |
CN103390205A (zh) * | 2013-07-31 | 2013-11-13 | 哈尔滨工业大学 | 功耗约束下基于软核的三维SoC测试调度方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001144259A (ja) * | 1999-11-17 | 2001-05-25 | Nec Ic Microcomput Syst Ltd | 半導体集積回路 |
JP2002357642A (ja) * | 2001-06-04 | 2002-12-13 | Hitachi Ltd | スキャン機能付きセル、半導体集積回路のテスト回路及びテスト方法 |
CN101515301A (zh) * | 2008-02-23 | 2009-08-26 | 炬力集成电路设计有限公司 | 一种片上系统芯片验证的方法和装置 |
-
2010
- 2010-11-30 CN CN2010105657632A patent/CN102081141A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001144259A (ja) * | 1999-11-17 | 2001-05-25 | Nec Ic Microcomput Syst Ltd | 半導体集積回路 |
JP2002357642A (ja) * | 2001-06-04 | 2002-12-13 | Hitachi Ltd | スキャン機能付きセル、半導体集積回路のテスト回路及びテスト方法 |
CN101515301A (zh) * | 2008-02-23 | 2009-08-26 | 炬力集成电路设计有限公司 | 一种片上系统芯片验证的方法和装置 |
Non-Patent Citations (1)
Title |
---|
雷加等: "一种基于遗传算法的SoC测试调度方法", 《仪器仪表学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176120A (zh) * | 2011-12-22 | 2013-06-26 | 英业达股份有限公司 | 信号模拟装置、信号录制与模拟测试方法 |
CN103390205A (zh) * | 2013-07-31 | 2013-11-13 | 哈尔滨工业大学 | 功耗约束下基于软核的三维SoC测试调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Farvolden et al. | A primal partitioning solution for the arc-chain formulation of a multicommodity network flow problem | |
Lozano et al. | On an exact method for the constrained shortest path problem | |
Pardalos et al. | The graph coloring problem: A bibliographic survey | |
Çatalyürek et al. | On two-dimensional sparse matrix partitioning: Models, methods, and a recipe | |
Tang et al. | List scheduling with duplication for heterogeneous computing systems | |
Brandfass et al. | Rank reordering for MPI communication optimization | |
Leland et al. | An empirical study of static load balancing algorithms | |
Alemany et al. | Symmetry issues in mixed integer programming based Unit Commitment | |
CN103617150A (zh) | 一种基于gpu的大规模电力系统潮流并行计算系统及其方法 | |
CN103853835B (zh) | 基于gpu加速的网络社区检测方法 | |
CN107609141A (zh) | 一种对大规模可再生能源数据进行快速概率建模方法 | |
Ghanbari et al. | Solving bus terminal location problems using evolutionary algorithms | |
CN104361169A (zh) | 一种基于分解法建模的可靠性监测方法 | |
CN101995544A (zh) | 一种具有灵活分配测试存取机制的soc测试调度方法 | |
CN112231630B (zh) | 基于fpga并行加速的稀疏矩阵求解方法 | |
Distler et al. | The semigroups of order 10 | |
CN105302525A (zh) | 用于多层次异构结构的可重构处理器的并行处理方法 | |
Jagadeesh et al. | Field programmable gate array-based acceleration of shortest-path computation | |
Yao et al. | A communication-aware and predictive list scheduling algorithm for network-on-chip based heterogeneous muti-processor system-on-chip | |
CN105404611A (zh) | 一种基于矩阵模型的多计算引擎的自动选择方法 | |
CN102081141A (zh) | 一种分时测试的soc测试调度方法 | |
Yu et al. | Dynamic evolution of shipping network based on hypergraph | |
Hamzadayi et al. | Nested simulated annealing approach to periodic routing problem of a retail distribution system | |
CN117093538A (zh) | 稀疏Cholesky分解硬件加速系统及其求解方法 | |
CN103902374B (zh) | 基于元胞自动机和赋权有向超图的云计算任务调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110601 |