当前位置:首页 期刊杂志

基于粒子群算法的数字集成电路时序测试方法

时间:2024-06-19

贾冕茜

(芜湖职业技术学院 电气与自动化学院,安徽 芜湖 241006)

信息化发展促进了科学技术的进步,集成电路是科学技术研究中的重要组成部分,是各种类型精密仪器组成的基础[1]。随着时代的发展,集成电路的组成形式逐渐向规模化制作发展,因此,数字集成电路的测试效率决定了数字集成电路规模化发展控制的水准[2],在数字集成电路的时序测试中,研究人员设计了早期的测试系统,该测试系统包含微处理器、储存电路等简单的测试装置[3],能在数字集成电路运行的过程中进行测试,但这种测试方式往往会受到外部环境及硬件设备的限制,除此之外,随着数字集成电路生产规模的增加,早期的测试系统测试方法的测试生成时间较长,已经无法满足目前的测试需求,因此,基于粒子群算法设计了新的数字集成电路时序测试方法来降低时序测试生成时间,提高测试效率。

1 基于粒子群算法的数字集成电路时序测试方法设计

1.1 生成数字集成电路时序测试评价指标

数字集成电路时序测试中测试评价指标是决定测试状态的重要元素,因此,测试的第一步就需要生成数字集成电路的测试评价指标[4]。数字集成电路时序测试评价指标由以下元素组成:第一个重要元素是输出激励,该元素主要利用输出矢量数值与输出综合模式生成[5];第二个重要元素是输出响应,也是集成电路的重要故障判定方式,决定电路输出的具体数值;第三个重要元素是测试矢量,用于组合电路的原始激励测试;第四个重要元素是测试集[6],也是各项测试矢量的集合。除了上述几个重要的组成元素,还有等效故障、隶属故障、故障覆盖状态、测试生成时间、同步序列、引导序列、区分序列等。

研究集成电路实现测试评价指标的重要组成元素后,还需研究测试过程中诊断故障的类型,并进行模型化处理[7],保证设计的测试评价指标能准确地反映测试电路的运行状态,如果电路中的信号呈不可控状态,测试中信号的数值不断改变[8],无法控制,则需要按照逻辑状况进行故障处理,从而设置故障集合物理指标,避免测试过程中出现测试元件故障导致的测试效率低下问题。如果出现输入输出信号节点与测试状态不满足的问题,需要改变电路的结构,设置桥接故障指标,增加数字集成电路测试的稳定性。

根据上述划分的重要元素及故障类型,设置了数字集成电路测试方法的测试指标及故障的覆盖率、总测试时间、测试集合的大小、测试中的储存容量4个指标。

1.2 构建数字集成电路时序测试模型

根据上述数字集成电路测试评价指标,构建数字集成电路时序测试模型。

时序电路函数模型一般用五元组进行描述,即

F=(Q,I,Z,δ,λ).

(1)

式中:Q表示状态集合;I与Z表示输入与输出向量的集合;δ表示笛卡尔积Q×I映入Q的映射,同样可表示为Q×I→Q;λ表示笛卡尔积Q×I映入Z的映射,同样可表示为Q×I→Z。

设计的测试模型必须满足自动测试生成要求,找出数字集成电路时序故障阶段,测试此时的时序故障矢量[9]。根据生成的测试矢量进行故障模拟,使用启发式算法进行目标搜索,增加时序测试的效率,基于此对设计的故障模型进行等价合并,用输出故障代替驱动故障进行等价交换。此时的等价故障数量需要与测试的状态合并,利用故障模拟器构建故障任务,选取Good、fault1、fault2、fault3、fault4、fault5作为故障任务进行故障输入输出判断,根据判断结果进行故障模拟[10]。

如果计算机的故障字长度为n,处理的故障数量为m,根据m与n的大小变化控制模拟次数,确保设计模型的参数有限,首先假设故障点为s,设计的数字集成电路时序测试模型如式(2)所示。

(2)

式中:a代表模拟次数。利用该模型可以设置时序测试集合,并进行集成电路时序测试。图1为集成电路时序模型。

图1 集成电路时序模型

测试基础步骤较简单,首先将电路的拓扑关系导入到模型中,进行元件极化处理;其次为测试元件分配故障屏蔽内存;最后进行测试矢量屏蔽化处理,检查矢量值,实现数字集成电路的初始化时序测试。为了保证数字集成电路的时序测试有效性,选取模型各类型参数的权重值均需要符合模型构建的要求,对模型的基础需求权重进行检测可知,0.5是模型的极限权重。由于上述设置的指标共有4个,因此,需要进行4次极限权重测试,测试结果证明指标1的极限权重数值为0.213,指标2的极限权重值为0.132,指标3的极限权重值为0.145,指标4的极限权重值为0.117,均低于极限权重数值,因此,选取的指标符合模型测试标准。

1.3 基于粒子群算法进行时序电路初始化处理

在数字集成电路时序测试模型构建完毕后,需要基于粒子群算法进行时序电路初始化处理,粒子群算法主要呈群体特性,基于该算法可以设置粒子群reynolds规则,即时序电路初始化向背离方向、目的方向、中心方向移动,假设粒子目前的位置为X,粒子的飞行速度为V,此时粒子经历的最佳位置为P,因此,牺牲了gbest的粒子群算法可以对测试的时序电路进行初始化处理,经过初始化处理后的序列E为

E=(P+1)+XV.

(3)

利用式(3)对电路时序测试模型测试后的序列进行初始化处理。在处理的过程中,粒子经历的最佳位置P决定初始化处理的状态,利用算法的鲁棒性增加算法的收敛速度,根据gbest的吸引情况进行更新,初始化处理的具体流程如下:设置粒子群的状态和初始数据,根据群体规模进行离子适应值计算,若粒子经历的位置与适应值相对,则可以将其设为目前的最佳位置,若粒子经历位置与适应值不一致,需要将两者进行比较,优化处理后得出预设最大值。应用粒子群算法初始化处理的序列依赖群体选择集合规则,将粒子位置看作粒子的重要组成部分进行速度进化和算数交叉,保证时序电路初始化处理效果。时序电路初始化处理后如果存在矢量组合问题,需要预先设置矢量条件,保证矢量施加后的n维输出量与原始的矢量输出端相拟合。

矢量条件设置拟合的流程包括目标故障的选择、故障矢量的测试、故障测试矢量模拟,综合处理后完成数字集成电路时序测试初始化处理。

1.4 实现数字集成电路时序测试

实现数字集成电路时序测试的最后一步就是进行数字集成电路时序测试并行模拟,经过粒子群算法初始化处理的序列可能存在未被检测到的时序故障,这些时序故障会影响数字集成电路的最终响应状态,降低数字集成电路时序测试的效率,因此,可以利用并行故障模拟器来增加故障处理的速度。

选取特殊的测试矢量,根据时序电路的故障数值设置故障对应点,选取n个输出端进行传输处理,保证测试的具体状态,整个模拟的步骤可以用初始化测试群体来进行描述,然后计算被测电路中的适应值,并作为目标值进行矢量叠加,具体为:1)进行粒子群初始化;2)进行粒子评价,设定最优粒子位置;3)计算进化后粒子的个体适应值;4)得出gbest,进行判断和矢量测试;5)屏蔽处理,并从逻辑级别最低的元件开始依次做逻辑运算,增加时序故障模拟的效率,实现数字集成电路的高效时序测试处理。

2 实 验

为了检验基于粒子群算法的数字集成电路时序测试方法的测试效果,将其与使用早期测试系统的传统测试方法进行对比。

总之,在小学语文教学过程中,教师无论使用以上那种教学方法都能激发小学生语文学习的兴趣。与此同时,教师要想提高小学语文教学有效性,还需要不断加强自身的教学理念,从而才能为我国培养出优秀的接班人。

2.1 实验准备

测试的时序电路生成较复杂,存在许多无法确定的因素,最关键的是数字集成电路储存元件的状态,在常规状态下,由于储存元件的自锁作用,在同等状态下时序电路的状态可能存在差异,因此,在进行初始化处理后需要确定测试的数字集成电路内部的储存元件状态是否相同,将时序电路用组合电路的输入信号和储存元件的输出信号来描述,设储存元件的信号初始值为y(0),测试电路的时序变化呈y(0)、y(1),…,y(n)变化,在这种情况下设计测试电路的组合化时序模型,如图2所示。

图2 测试电路的组合化时序模型

由图2可知,当该时序电路的时钟周期t发生改变时,测试的时序电路模型按照逻辑组成状态进行转化,常规序列主要按照空间组合状态进行分割变换,但文中选取的数字集成电路设计了组合化逻辑矩阵,降低了变换消耗的时间。在测试初期,需要根据时序电路的状态检测初始故障,如果未检测到存放的初始故障,需要进行故障激活,作为后续数字集成电路时序测试的基础。

在上述故障激活的基础上,利用文中设计的粒子群算法进行测试矢量处理,确定时序电路中触发器的状态,选取标准故障表中的部分故障作为测试故障,生成粒子群测试矢量并进行故障模拟。设置初始的故障群体,划分群体的尺寸,设置矢量检测序列进行故障模拟,将模拟后的故障仿真值与标准数值进行对比,构建故障适应函数,计算测试权重。

数字集成电路时序中的触发器数目决定了时序深度,触发器的输出值与输入值可能存在误差,因此,可指定常数期望值作为触发器激励故障,避免由于误差引起的模拟循环故障,一旦出现类似故障,需要立即生成随机的序列,增加序列长度,达到有效检测值,添加到测试序列集合中。序列长度的初始值需要根据时序的状态和触发器的数量决定。

将设置的群体初始化,拟定标准测试群体尺寸数值,计算最大进化代数值,根据初始的序列来源进行矢量叠加,激发故障矢量集群,保证算法的变化范围,根据粒子的适应值将各个序列使用设计的函数进行连接,此时计算出的每个粒子的适应值数量需要低于适应通道数值1。设测试次数为4次,第一次测试的适应值为0.625,第二次测试的适应值为0.326,第三次测试的适应值为0.214,第四次测试的适应值为0.156,4次测试的适应值均小于1,证明此时的测试序列符合后续的测试需求。

根据选取的适应函数,将测试信号与原始输出信号相结合,设置正确的测试矢量。由于信号线遵循相应输入输出检测原则,为了保证序列的适应性,可以进行触发调整,设置length-handicap作为测试常数,为生成较短的测试序列作基础,随后需要确定每个测试序列的gbest数值,调整序列所在的位置并进行gbest比较,将粒子群体中的所有粒子进行适应度全局变换后设计预设适应值,调整粒子的最优位置,此时的算法描述如下:1)进行电路信息读取;2)故障表生成;3)划分PI节点;4)进行初始化处理;5)模拟初始测试值;6)生成测试矢量;7)重复上述操作;8)输出测试结果。利用Pentium IV Matlab进行仿真测试,首先划分测试的算法及其故障覆盖状态,划分结果如表1所示。

表1 故障覆盖状态

由表1可知,上述测试算法及故障覆盖状态均满足后续的集成电路时序测试需求,可以进行后续时序电路测试。

2.2 实验结果与讨论

根据上述设计的实验测试条件,在Pentium IV Matlab环境中,使用基于上述划分算法的数字集成电路时序测试方法与文中设计的基于粒子群算法的数字集成电路时序测试方法对数字集成电路进行故障检测。测试线路名称S208,序列长度355,设置实际故障数208个,测试不同方法的故障检测率。故障检测结果如表2所示。

表2 故障检测结果对比

从表2可以看出,文中所提出方法的检测率是所有测试方法中最高的,能够达到99.03%,高于其他对比方法,证明该方法能够有效地对数字集成电路故障进行检测,检测效果较好。

为了进一步证明该方法的优越性,记录几种方法测试生成的时间,如表3所示。

表3 生成时间对比 min

由表3可知,在序列一致、环境相同的情况下,设计的基于粒子群算法的数字集成电路时序测试方法的测试生成时间较短,可以证明该方法测试效率较高,具有较好的应用效果。

3 结束语

研究数字集成电路的时序测试方法对促进精密仪器的发展进步、扩大数字集成电路发展范围具有重要意义。文中解决了传统的数字集成电路测试耗时长的问题,基于粒子群算法设计了新的数字集成电路时序测试方法,实验结果表明:在相同条件下,设计的数字集成电路时序测试方法的生成时间较短,具有高效性,故障检测率高,有一定的应用价值,可以作为后续数字集成电路发展的参考,但实验存在一定的局限性,还需要在后续的应用中不断进行优化。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!