摘" 要: 为了提高IEEE 1149.10协议中多扫描通道同步测试数据包编码效率,提出一种基于多策略改进野狗算法(mMDOA)的多扫描通道数据包优化方法。首先,多策略改进野狗算法使用自适应追击步长与螺旋游走结合的迫害策略,并通过基于反向精英的食腐策略,帮助算法跳出局部最优,提升全局搜索的能力;其次,根据IEEE 1149.10多扫描通道同步测试数据包编码格式,提出新的扫描通道分组方法,通过扫描数据大小和数据交织大小计算组内扫描通道数目,以组内长度差为目标函数,使用mMDOA选择组内扫描通道。经实验验证,使用mMDOA算法能减少约30%数据包数量,并有效地缩短了数据包编码时间。
关键词: IEEE 1149.10协议; 多扫描通道同步测试; 改进野狗算法; 螺旋游走策略; 通道分组; 数据包编码
中图分类号: TN911⁃34; TP391.76" " " " " " " " 文献标识码: A" " " " " " " " " " "文章编号: 1004⁃373X(2025)02⁃0055⁃06
Multi⁃scanning channels synchronous testing packet optimization strategy
in IEEE 1149.10 protocol
YANG Jingbo, HUANG Xin, HE Tangquan
(School of Electronic Engineering and Automation, Guilin University of Electronic Technology, Guilin 541004, China)
Abstract: In order to improve the coding efficiency of multi⁃scanning channels synchronous testing packet in the IEEE 1149.10 protocol, a method of multi⁃scanning channels packet optimization based on multi⁃strategy modified dingo optimization algorithm (mMDOA) is proposed. In the mMDOA, the persecution strategy that combines adaptive pursuit step size and spiral migration is used to help the algorithm jump out of the local optimum by means of reverse elite⁃based scavenging strategy, and improve the ability of global search. According to the encoding format of the IEEE 1149.10 multi⁃scanning channels synchronous testing packet, a method of new scanning channel grouping is proposed, which can calculate the number of scanning channels within the group by means of SCAN_DATA_SIZE and INTERLEAVE_SIZE. The mMDOA is used to select scanning channels within the group by taking length difference within the group as the objective function. The experimental verification results show that the mMDOA algorithm can reduce the number of packets by about 30%, and effectively shorten the packet encoding time.
Keywords: IEEE 1149.10 protocol; multi⁃scanning channels simultaneous testing; modified dingo optimization algorithm; spiral migration strategy; channel grouping; packet encoding
0" 引" 言
2013年,IEEE协会修订了IEEE 1149.1标准[1],主要应用于测试大规模芯片。IEEE 1149.1标准使用测试矢量对芯片进行测试,但不是所有测试矢量都有效,并且可能存在重复测试、测试漏检等问题。因此优化测试矢量一直是芯片测试的重要方向。
在优化测试矢量方面,文献[2]提出了一种全面的混合测试矢量压缩方法,减少测试矢量大小和硬件开销。文献[3]提出一种下一代测试数据压缩方案,在等距压缩范例基础上改进,提升编码效率。文献[4]提出一种基于改进BAT算法的测试调度方法,使算法更快地收敛到最优解。此外,随着数字电路工作频率的提高,文献[5]提出一种生成高速数字测试矢量的方法;文献[6⁃7]为提高测试效率,提出一种多点测试通道并行测试方法;文献[8]提出减少测试数据量的随机测试方法;文献[9]提出新的筛选方法来减少芯片测试漏检情况;文献[10]中研究发现,近似计算(AxC)在特定情况下能用于集成电路测试。
集成电路集成度的提高,以及IEEE 1149.1测试访问端口(TAP)的片上操作的增加,使得IEEE 1149.1协议测试结构效率降低,并且多个IEEE 1149.1 TAP所需的引脚数众多,限制了小封装芯片的测试。为提升集成电路测试效率,IEEE协会在2017年提出了IEEE 1149.10标准。IEEE 1149.10标准提出一种只用4个引脚、速度能达到Gbps级别的高速测试方案[11],为超大规模芯片的测试提供了技术改进路线,对芯片测试技术的发展具有十分重要的意义[12]。
在IEEE 1149.10标准中,测试类型可以分为单扫描通道测试和多扫描通道同步测试。单扫描通道测试是对一个扫描通道进行测试。多扫描通道同步测试是同时对多个扫描通道进行测试,即同时向多个扫描通道发送数据。多扫描通道同步测试中,由于每个扫描通道数据长度不一致和多扫描通道数据包编码格式,多扫描通道同步测试的数据包中会产生填充数据。如果只是简单地将扫描通道分组进行测试,将会产生大量填充数据,所以减少数据包中的填充数据能降低数据包的数量,减少测试时间。
本文在基本野狗算法的基础上,对野狗的迫害策略和食腐策略进行了优化,提出了多策略改进的野狗算法(mMDOA)。采用mMDOA算法的迫害策略提高野狗对食物的敏感度,提升算法收敛速度;并扩大野狗搜索区域范围,使搜索结果更加精准。食腐策略采用反向精英策略增加野狗对空间的搜索,使全局搜索更加精细,增强了算法的全局搜索能力。
在多扫描通道同步测试方面,提出新的扫描通道分组方法,合理分配组内扫描通道数量;以组内长度差为目标函数,通过mMDOA算法选择组内扫描通道。在进行实验验证后,新的扫描通道分组方法和mMDOA算法能有效减少数据包编码数量。
1" 野狗算法改进
1.1" 基本野狗算法
野狗算法(DOA)是Herna´n Peraza⁃Va´zquez等人根据澳洲野狗的狩猎行为提出的算法[13],有群体攻击、迫害、食腐、生存四个策略,具有收敛速度快、搜索能力强的特点。
1.1.1" 种群初始化
[xim=lb+α(ub-lb)]" "(1)
式中:[xim]是种群个体;[lb]和[ub]分别表示取值的下界和上界;[α]为[0,1]之间均匀分布的随机数。
1.1.2" 群体攻击策略
在澳洲野狗狩猎大型猎物时,野狗会成群结队地包围猎物,这种行为可以描述为:
[xit+1=β1k=1naφkt-xitna-x*t] (2)
式中:[xit+1]是个体移动的新位置;[na]是[2,[SizePop2]]之间随机生成的整数,SizePop为野狗种群规模;[φkt]是进行群体攻击个体的子集;[xit]是当前个体;[x*t]表示当前迭代最优适应度的个体;[β1]是在[-2,2]区间内均匀生成的随机数,是一个比例因子,可以改变个体的进攻轨迹。
1.1.3" 迫害策略
迫害策略是澳洲野狗通常捕食小猎物,猎物被追逐直到被单独捕获。以下公式可以模拟这种行为:
[xit+1=x*t+β1·eβ2·xr1t-xit] (3)
式中:[β2]是在[-1,1]区间内均匀生成的随机数;[xr1t]是选择种群中第[r1]个个体,并且[r1≠i],[r1]是在从1到最大种群规模大小的区间内生成的随机整数。
1.1.4" 食腐策略
食腐策略定义为当野狗在栖息地随机行走时发现并进食腐肉的行为,可以描述为:
[xit+1=12·eβ2·xr1t-(-1)σ·xit] (4)
式中:[β2]、[r1]、[xr1t]与式(3)中参数值相同;[σ]为{0,1}之间的随机数。
1.1.5" 生存策略
在野狗算法中,个体野狗的生存率公式如下:
[s(i)=fmax-fifmax-fmin] (5)
式中:[s(i)]为种群内第[i]个个体的生存率,取值范围在[0,1]之间;[fmax]和[fmin]分别是当前迭代中最好的适应值和最坏的适应值。如果算法需要更新生存率低于阈值的种群个体,则按照下式进行更新:
[xit+1=x*t+12xr1t--1σ*xr2t] (6)
式中[r1]和[r2]是从1到最大种群规模大小的区间内生成的随机整数,并且[r1≠r2]。
1.1.6" 策略选择
针对野狗的三种狩猎策略,个体通过随机的方法选择执行策略,判断方法为:
[r3lt;P 且r4lt;Q," " " " 群攻策略r3lt;P 且r4≥Q," " " " 迫害策略r3≥P," " " " " " " " " " " " " 食腐策略] (7)
式中:[r3]和[r4]是[0,1]均匀分布的随机数;[P]、[Q]为野狗个体执行策略的概率值。本文中[r3]为0.5;[r4]为0.7。
1.2" 多策略改进野狗算法
1.2.1" 改进迫害策略
在基本野狗算法中执行迫害策略的野狗,其移动是随机的,是根据随机一个同伴的位置来更新自身位置,降低了算法的收敛速度。因此将野狗移动参照对象改为适应度最优的个体,能增加算法的收敛速度。多策略改进野狗算法的迫害策略的规则有两个。
规则一:某只野狗个体执行迫害策略时采用自适应追击步长的迫害策略,具体公式为:
[xit+1=xit+0.2cosπ2-1-ttmax·xit-x*t] (8)
式中:t为当前迭代次数;tmax为总迭代次数。在迭代次数较小时,野狗个体以较小的步长向种群最优个体靠近,多搜索距最优个体远的区域,以增强算法全局寻优能力。当个体与适应度最优的个体距离较远时,能快速向适应度最优的个体移动;当个体与适应度最优的个体距离较近时,以较小的步长向适应度最优的个体移动。
规则二:野狗个体执行螺旋游走策略,具体公式为:
[xit+1=x*t+b·D·el·cos(2πl)] (9)
式中:[b=e5cosπ·1-ttmax];[D=2R2],R为[0,1]均匀分布随机数;[l]为[-1,1]均匀分布的随机数。
规则二使野狗以螺旋的方式搜寻猎物,增加野狗的搜索能力,进而提升算法全局搜索能力。基于规则一和规则二,多策略改进野狗算法的迫害策略为:取一个在[0,1]均匀分布的随机数,当随机数大于等于0.5时选择规则一,当随机数小于0.5时选择规则二。
1.2.2" 改进食腐策略
基本野狗算法的食腐策略是根据两个随机选取的野狗来确定野狗下一个位置,这能增加算法的收敛速度,但影响了算法全局搜索能力。改进食腐策略使野狗个体远离适应度最优的个体,从而增大野狗种群搜索区域,增加了算法的全局搜索能力,具体公式如下:
[xit+1=xit+(lb+ub-x*t)] (10)
式中:[lb]为种群下界;[ub]为种群上界。
1.3" 多策略改进野狗算法实验分析
为测试多策略改进野狗算法(mMDOA)的性能,使用多个标准测试函数进行测试。本文使用的测试函数如表1所示。本文选取野狗算法(DOA)[13]、灰狼算法(GWO)[14]、鲸鱼算法(WOA)[15]、粒子群算法(PSO)[16]进行对比实验。测试函数运行测试40次,最大迭代次数设置为500,种群规模设置为40。为降低结果随机性,使用40次测试结果的平均值(AVE)和标准差(SD)为评价指标,测试结果见表2。根据表2实验结果可知:多策略改进的野狗算法(mMDOA)的平均值更接近测试函数的最优解,搜索能力强于其他算法;标准差较小,说明mMDOA算法有较强的鲁棒性。mMDOA的平均值与标准差均优于DOA,验证了改进迫害策略和食腐策略能增强原始DOA算法的寻优能力以及跳出局部最优能力。
2 IEEE 1149.10多扫描通道同步测试
2.1" IEEE 1149.10数据包编码参数
在BSDL文件中定义了IEEE 1149.10多扫描通道同步测试的数据包编码参数。BSDL文件中的Packet_Map attribute定义了PEDDA的扫描通道所属组号(SCAN_GROUP)、数据包中数据大小(SCAN_DATA_SIZE)、分组的数据交织大小(INTERLEAVE_SIZE)、打包(PACK)等参数,其中数据包中数据大小(SCAN_DATA_SIZE)、分组的数据交织大小(INTERLEAVE_SIZE)是多扫描通道同步测试的重要参数。SCAN_DATA_SIZE参数确定一个数据包中数据的大小,数据大小不足SCAN_DATA_SIZE时需要将数据填充到SCAN_DATA_SIZE;INTERLEAVE_SIZE确定组内扫描通道交织数据大小,即扫描通道数据映射一次的大小。
2.2" IEEE 1149.10多扫描通道同步测试数据包编码
在SCAN_DATA_SIZE和INTERLEAVE_SIZE确定后,根据数据包编码流程,每个组中的扫描通道数量会影响最终编码产生的数据包数量,因此需要确定组内扫描通道数目。在IEEE 1149.10多扫描通道同步测试中,需要所有扫描通道接收完数据后才进行测试。如果按照PDL指令顺序编码数据包,如将数据长度相差过大的扫描通道分为一组不仅会增加填充比特,而且会增加扫描通道等待时间;如将数据长度相似的扫描通道分为一组,可能会增加无效数据包。因此一组中的扫描通道需要合适的长度差。
2.3" 目标函数描述
本文将数据包中填充比特数作为目标函数,依据目标函数最小值来进行扫描通道的分组。假设在多扫描通道同步测试中,将全部扫描通道分为G组,一组中有N个扫描通道,目标函数为:
[L=i=1Gj=1Ndi(cj+1,cj)] (11)
式中:L为需要填充的总字节数;i为组数;[di(cj+1,cj)]为第j+1个与第j个扫描通道分为同一组时的填充比特数。在整个分组过程中,怎么使L取得最小值是关键。
3" IEEE 1149.10多扫描通道数据包优化方法
IEEE 1149.10多扫描通道数据包优化方法会减少生成数据包的数量以及扫描通道开始测试前的等待时间。按照数据包编码格式,数据包由有效数据和填充数据组成,减少数据包数量就是减少填充数据。
3.1" 组内扫描通道数目
根据SCAN_DATA_SIZE和INTERLEAVE_SIZE的值来对扫描通道分组,依据SCAN_DATA_SIZE和INTERLEAVE_SIZE计算出最合理的分组方式。本文根据IEEE 1149.10多扫描通道同步测试数据包编码格式,结合SCAN_DATA_SIZE和INTERLEAVE_SIZE的大小,提出新的扫描通道分组方式。
首先计算最小余数,公式为:
[RE=min(S%(n·I))," " " 2≤n≤SI] (12)
式中:[RE]为余数;[S]为SCAN_DATA_SIZE,单位为bit;[I]为INTERLEAVE_SIZE,单位为bit;[S]对[n·I]取余数,N取[S%(n·I)]最小时的[n],当不同的[n]都能得到最小余数时,则取最大的[n]值为每一组的扫描通道数目。
最后可得每一组的扫描通道数目[N]公式为:
[N=max(n)] (13)
3.2" 组内扫描通道长度差
选择扫描通道为一组的依据是组内长度差,以最后选择的扫描通道数据长度为基准数,加上长度差,得到下一次要选择的扫描通道数据长度。下一次选择的扫描通道数据长度应尽可能等于基准数与长度差之和,但不能大于基准数与长度差之和。长度差[LEND]计算公式为:
[LEND=SNI·I] (14)
4" IEEE 1149.10多扫描通道数据包优化实验
4.1" 组内扫描通道数目验证
由上文知,影响IEEE 1149.10多扫描通道同步测试数据包的参数有SCAN_DATA_SIZE与INTERLEAVE_SIZE。当SCAN_DATA_SIZE=8 bit、INTERLEAVE_SIZE=4 bit时,按照公式(12)可知,N=16,生成数据包数量最少。为验证扫描通道分组方法的性能,按照测试矢量顺序编码数据包的方式进行测试。本实验使用1 000个测试矢量,通过设置不同的N值进行比较,各个测试矢量的长度保持一致,最终实验比较结果如图1所示。从实验结果可知,当N取16时,生成的数据包数量最小。与公式(12)的结论一致,证明公式(12)的分组方法能有效减少生成数据包的数量。
4.2" 数据包编码优化算法验证
IEEE 1149.10中根据测试矢量(iWrite指令)对多少个扫描通道写数据来判断是否属于多扫描通道同步测试,PDL文件中每个iWrite指令会编码成一个或多个数据包。因此使用iWrite指令数量不同的PDL文件验证mMDOA算法在IEEE 1149.10多扫描通道同步测试的应用效果。使用编码数据包的数量与所需时间作为评价指标,测试文件由测试数据长度一致的6个PDL文件随机生成,测试硬件条件为CPU:i3⁃8100,内存16 GB。
为减少实验结果随机性,取30次测试结果的平均值作为最终结果,使用数据包数量(PN)和数据包编码所需时间(RT,单位为s)表示测试结果。共分为5个对照实验组,测试矢量顺序组是按SCAN_DATA_SIZE和INTERLEAVE_SIZE确定一组的扫描通道数后,使用遍历操作分组;WPA组、DOA组和mMDOA组是按SCAN_DATA_SIZE和INTERLEAVE_SIZE确定一组的扫描通道数后,分别使用WPA算法、DOA算法和mMDOA算法分组;PDL组中每一组的扫描通道数量均与SI组一致。
各组测试结果如表3所示。
表3实验结果表明:IEEE 1149.10多扫描通道同步测试使用mMDOA优化算法后,相对PDL组最大能减少35.78%的数据包数量,在PDL指令越多的情况下,提升效果越明显;相对DOA算法,最大能减少11.88%的数据包数量。由此表明mMDOA算法对IEEE 1149.10多扫描通道同步测试数据包有明显优化效果,能有效减少数据包数量。从表3结果可知:SI组在TEST_1~TEST_4的测试中,耗费时间与PDL组相差较小,但是能有效减少约30%的数据包数量,可以减少硬件资源开销,说明在指令数量少的情况下使用SI组的分组方式较佳;而在TEST_5和TEST_6中,mMDOA组减少数据包数量效果较好,所用时间也较少,说明在指令数量多的情况下使用mMDOA组的分组方式较佳。因此在综合考虑测试时间与数据包数量的情况下,测试矢量数目少时可考虑使用SI组方法编码数据包,在测试矢量数目较多时可考虑使用mMDOA组方法编码数据包。
5" 结" 语
在基本野狗算法的基础上,对野狗的迫害策略和食腐策略进行了优化,提出基于多策略改进的野狗算法(mMDOA)。首先增加了迫害策略对食物的敏感度与搜索区域,提升算法收敛速度与跳出局部最优的能力;然后食腐策略采用反向精英策略,增加野狗对空间的搜索,使全局搜索更加精细,增强算法全局搜索能力。使用标准测试函数对mMDOA算法进行测试,得出相较于DOA算法,mMDOA寻优能力较强,解的平均值更接近最优值,标准差更优,具有较强的鲁棒性。
对IEEE 1149.10多扫描通道同步测试进行深入研究后,根据PDL指令和BSDL文件信息提出新的扫描通道分组方法,计算出每一组的扫描通道数目,并通过组内扫描通道数据的长度差,使用mMDOA优化算法进行分组操作;最后对分组后的扫描通道数据进行数据包编码。经实验验证,使用最小余数法和mMDOA优化算法生成的数据包比按照测试矢量顺序编码生成的数据包数量少30%,表明mMDOA在IEEE 1149.10多扫描通道同步测试数据包优化方面有优异效果。
参考文献
[1] Test Technology Standards Committee. IEEE standard for test access port and boundary⁃scan architecture [EB/OL]. [2023⁃07⁃19]. https://ieeexplore.ieee.org/servlet/opac?punumber=7481.
[2] BISWAS S N, DAS S R, PETRIU E M. On system⁃on⁃chip testing using hybrid test vector compression [J]. IEEE transactions on instrumentation and measurement, 2014, 63(11): 2611⁃2619.
[3] HUANG Y, MILEWSKI S, RAJSKI J, et al. Low cost hypercompression of test data [J]. IEEE transactions on computer⁃aided design of integrated circuits and systems, 2019, 39(10): 2964⁃2975.
[4] CHANDRASEKARAN G, KUMAR N S, KARTHIKEYAN P R, et al. Test scheduling and test time minimization of system⁃on⁃chip using modified BAT algorithm [J]. IEEE access, 2022, 10: 126199⁃126216.
[5] YANG W, HUI J, YIN K, et al. Test vector generation for high⁃speed digital integrated circuits [C]// 2021 IEEE 4th Advanced Information Management, Communicates, Electronic and Automation Control Conference (IMCEC). [S.l.]: IEEE, 2021: 1516⁃1521.
[6] SEO S, LEE Y W, LIM H, et al. Advanced low pin count test architecture for efficient multi⁃site testing [J]. IEEE transactions on semiconductor manufacturing, 2020, 33(3): 391⁃403.
[7] LIM H, YUN H, KANG S. A hybrid test scheme for automotive ic in multisite testing [J]. IEEE transactions on computer⁃aided design of integrated circuits and systems, 2022, 41(12): 5671⁃5680.
[8] POMERANZ I. Storage⁃based logic built⁃in self⁃test with multicycle tests [J]. IEEE transactions on computer⁃aided design of integrated circuits and systems, 2021, 41(10): 3553⁃3557.
[9] ZHANG J, YOU H, JIA R, et al. The research on screening method to reduce chip test escapes by using multi⁃correlation analysis of parameters [J]. IEEE transactions on semiconductor manufacturing, 2022, 35(2): 266⁃271.
[10] TRAIOLA M, VIRAZEL A, GIRARD P, et al. A survey of testing techniques for approximate integrated circuits [J]. Proceedings of the IEEE, 2020, 108(12): 2178⁃2194.
[11] Test Technology Standards Committee. Standard for high⁃speed test access port and on⁃chip distribution architecture [EB/OL]. [2023⁃07⁃18]. https://www.doc88.com/p⁃3327479602965.html.
[12] HUANG Y, FU H, DENG B, et al. The Advancement of 1149.10 [C]// 2021 IEEE International Test Conference in Asia (ITC⁃Asia). Shanghai: IEEE, 2021: 1.
[13] PERAZA⁃VÁZQUEZ H, PEÑA⁃DELGADO A F, ECHAVARRÍA⁃CASTILLO G, et al. A bio⁃inspired method for engineering design optimization inspired by dingoes hunting strategies [J]. Mathematical problems in engineering, 2021, 2021: 1⁃19.
[14] MIRJALILI S, MIRJALILI S M, LEWIS A. Grey wolf optimizer [J]. Advances in engineering software, 2014, 69: 46⁃61.
[15] MIRJALILI S, LEWIS A. The whale optimization algorithm [J]. Advances in engineering software, 2016, 95: 51⁃67.
[16] KENNEDY J, EBERHART R. Particle swarm optimization [C]// Proceedings of ICNN'95⁃International Conference on Neural Networks. [S.l.]: IEEE, 1995: 1942⁃1948.