基于testkompress工具的edt结构在基带芯片中的实现_第1页
基于testkompress工具的edt结构在基带芯片中的实现_第2页
基于testkompress工具的edt结构在基带芯片中的实现_第3页
基于testkompress工具的edt结构在基带芯片中的实现_第4页
基于testkompress工具的edt结构在基带芯片中的实现_第5页
已阅读5页,还剩117页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要I摘要随着生产工艺进入深亚微米时代,芯片的工作频率越来越高以后,基于单固定故障的扫描测试方法和故障模型已不能测试到全部的生产制造缺陷,故应使用新的atspeedscan测试(即实速测试)将频率增加到与芯片的实际工作频率一致才能捕获到尽可能多的制造缺陷。当扫描测试模式增多以后,测试所生成的测试向量的容量,测试所需的I/O端口数目及测试时间也随之巨量增加,且庞大的测试数据量会导致过长的测试时间,也可能超出ATE(AutomatedTestEquipment,自动测试设备)的容量,而对所生成的测试向量进行压缩的方法可以很好地解决以上难题。相对于其他ATPG(AutomatedTestPatternGeneration,自动测试向量生成)工具而言,基于TessentTestKompress工具的EDT(EmbeddedDeterministicTest,内嵌式确定性测试)技术是一种很好的能获得相对较高的测试覆盖率的压缩技术。它可以在不降低测试覆盖率的前提下,通过把测试集合变得更简单来减少测试向量的数据量并加速电路测试。通道共享是一种通过在相同的EDT模块之间用广播扫描的方式和在不同的EDT模块之间用分离控制通道和数据通道的方法来减少测试所需的I/O端口的该项目是基于一款28nm工艺,设计规模为370万门,可用的测试端口数目为128,最大的测试向量存储器容量为8M,最低标准的测试覆盖率为96%的基带芯片设计。基于现有的测试资源和技术要求,若不考虑测试压缩,则是很难实现的。本文以测试压缩结构为基础,主要研究以下内容:(1)简单介绍了常见的测试向量压缩方法,包括测试激励和测试响应的压缩,并详细分析了基于TessentTestKompress工具的EDT压缩结构的电路组成部分及其工作原理;(2)描述了模块化的EDT结构相关的参数和性能评估需考虑的因素,并讲述了该如何在整个设计中加入EDT压缩结构,以减少测试所需的存储器容量和测试时间;(3)简单介绍了在实际项目中与EDT压缩逻辑相关的DRC(DesignRulesCheck,设计规则检查)违例的分析方法;(4)分析了该如何将测试压缩技术与通道共享技术结合使用以减少测试所需的I/O端口;(5)简述了TestKompress工具和DFTMAX工具压缩逻辑的优缺点及压缩逻辑未来的发展趋势。经实验证明,使用EDT压缩结构与不带压缩的普通设计相比,基于压缩结构的设计在保证测试覆盖率达到97.85%的前提下,基本上能保证平均每个测试向量所需的存储器容量约为20KB,测试一颗芯片所需的时间约为182ms,故测试芯片的成本将大大降低,并加速了芯片的设计周期。在该设计中,目前暂且未考虑芯片测试时的功耗,而这将会影响芯片的使用寿命。Ⅱ故在接下来的工作中,可继续探索基于低功耗的测试数据压缩,从而来降低芯片测试时的功耗。于此同时,还应考虑用其他方式来增加整个设计的测试覆盖率。关键词:可测性设计,自动测试向量生成,内嵌式确定性测试,测试压缩,通道共享Withthedevelopmentofmanufacturingprocesstodeepsubmicron,theoperatingfrequencyofchipismuchhigher.Sothestuckatscantestmethodsandmodelscannotcaptureallthemanufacturingdefects,wehavetousethenewwayofatspeedscantestthatcanworkatthesamefrequencywiththeactualoperatingfrequencyofthechiptocoverasmuchaspossiblemanufacturingdefects.Meanwhile,weneedmorescantestmodes,theamountoftestvectorgenerated,thenumberofI/Oportsrequiredforthetest,andtheamountoftesttimeareincreasedsharply.Nevertheless,theamountofhugetestdatacanleadtotoolongtesttimes,whichmayexceedthecapacityofATE(AutomatedTestEquipment).Themethodoftestdatacompressioncanfigureouttheseissueswell.ComparedtootherATPG(AutomatedTestPatternGeneration)tools,EDT(EmbeddedDeterministicTest)technologyisagoodcompressiontechniqueforachievingrelativelyhighfaultcoveragebasedontheTessentTestKompresstool.Itcandecreasethetestdatawithoutaffectingthetestcoverage,andtestthecircuitatafasterratebyChannelsharingisamethodofreducingI/OportsrequiredfortestingbymeansofabroadcastscanbetweenthesameEDTmodulesandamethodofseparatingcontrolchannelsanddatachannelsbetweendifferentEDTmodules.Theprojectisabasebandchipdesign,whichbasedona28nmtechnology,thedesignscais3.7milliongates,thenumberofavailabletestportsis128,thelargesttestvectormemorycapacityis8M,theminimumstandardtestcoverageis96%.Basedonexistingtestresourcesandtechnicalrequirements,it'sdifficulttoachieveitifwedon'tconsiderthetestcompressionBasedonthestructureoftestcompression,thispaperfocusesonthefollowing:(1)Itintroducesthecommontestvectorcompressionmethods,includingteststimuluscompressionandtestresponsecompression.AndanalyzesthecircuitcomponentsofEDTcompressionstructureanditsworkingprinciplebasedonTessentTestKompresstooldetailedly.(2)ItdescribeshowtoevaluatetheparametersandperformanceconfigurationrelatedtoEDTstructure,andhowtoaddEDTcompressionlogictothedesigntodecreasetheusingoftestmemoryandshortentesttime.(3)BrieflyintroduceshowtoanalyzetheDRCviolationsaboutEDTcompressionlogicinthedesign.(4)AnalyzeshowtocombinethetestcompressiontechniquewithchannelsharingtosavetestI/OpocomparethetypicalfeatureoftheTestKompressandtheDFTMAXtoolfocusedonExperimentsshowthatcomparedwithusingEDTbypassinthedesign,thedesignbasedonEDTcompressionstructurewhichguaranteesthetestcovtime,weshouldthinkotherwaystoimprovethefaultcoverageofthedesign.Keywords:DFT,ATPG,EDT,TestCompress,ChannelSharing插图索引V插图索引图1.1芯片制造时的物理缺陷 1图1.2工艺与测试所需的时间 2图2.1测试压缩结构 7图2.2测试激励的压缩 图2.3组合线性解压电路示例 图2.4基于组合解压和LFSR的时序解压电路原理图 图2.5测试响应压缩的分类 图2.6测试响应压缩过程举例 图2.712输入1输出的X-压缩器结构示意图 图2.8X源隔离原理图 图2.9X屏蔽电路图 图2.10EDT与传统的ATPG结构示意图 图2.11ATE和有EDT的设计间的连接 图2.12串行转换自适应扫描结构 图2.13串-并转换的过程 图2.14基于DFTMAX的解压缩逻辑 图3.1EDTtestprocedure的波形图 图3.2某个EDT模块的结构图 图3.3控制电路结构图 图3.4控制电路里各组成部分的比特分布 图3.5控制电路的关键代码 图3.6XOR译码器的代码举例 图3.7One-Hot译码器结构图 图3.9解压缩电路的结构示意图 图3.10线性反馈移位寄存器 图3.11解压缩器的关键代码 图3.12空间压缩器的关键代码 图3.13基本压缩器 图3.14XpressCompactor 图3.15压缩器里的X-Blocking情形 图3.16ScanChainMasking 图3.17旁路电路 图3.18调试K19设计违例的数据流图 图3.19调试K22设计违例的数据流图 图4.1设计中模块化的EDT结构 图4.3分离控制和数据信息的输入通道 图4.4不使用通道共享时 图4.5使用通道共享后 图4.6仿真过程中EDT逻辑相关信号的翻转 图4.7仿真时的测试数据捕获阶段 表格索引表格索引 表4.2使用EDT压缩逻辑前后ATPG数据对比 表4.3利用通道共享技术前后所需扫描端口对比 表4.4利用通道共享技术前后故障覆盖率及故障分布对比 符号对照表符号M符号对照表千字节兆毫秒纳米缩略语对照表缩略语ATEDUT/CUTFinFETLFSRMISRVLSI缩略语对照表英文全称AutomatedTestEquipmeDevice/CircuitUnderTestEmbeddedDeterministicFinField-EffectTransisSynopsysDesignConst自动测试设备自动测试向量生成内建自测试元胞自动机可测性设计设计规则检查确定性测试鳍式场效应晶体管有限状态机联合测试工作组线性有限状态机线性反馈移位寄存器多输入特征分析寄存器设计约束文件标准延时格式文件系统级芯片静态时序分析超大规模集成电路目录摘要 IABSTRACT 插图索引 V表格索引 符号对照表 缩略语对照表 第一章绪论 1 11.2可测性设计的发展现状及趋势 31.3本项目需解决的问题 41.4论文的主要工作和组织结构 5第二章测试压缩及EDT的核心思想 72.1测试激励压缩方法 82.1.1线性解压原理 92.1.2组合线性解压器 92.1.3时序线性解压器 2.2测试响应压缩方法 2.2.1零混淆线性压缩与X-压缩 2.3EDT逻辑的核心思想 2.4基于TestKompress与DFTMAX的压缩逻辑对比 2.4.1基于DFTMAX压缩逻辑的工作原理 2.4.2基于DFTMAX压缩逻辑的不足 2.5本章小结 第三章EDT的组成部分、工作原理及相关的DRC 3.1控制电路(controller) 3.1.1控制电路的工作原理 3.1.2XOR译码器的工作原理 3.1.3One-Hot译码器的工作原理 3.1.4低功耗控制单元的工作原理 26 3.3.1压缩器的工作原理 3.3.3XpressCompactor 3.4旁路(bypass)电路 3.5.1调试K19的设计规则违例 3.5.2调试K22的设计规则违例 第四章EDT结构在项目中的具体实现 4.1整个设计中模块化的EDT结构 4.1.1扫描链长度的分配 4.1.2EDT模块的分配 4.2.1压缩率 4.2.2输入通道和输出通道的分配 444.2.3负沿寄存器的处理 4.3基于EDT结构的通道共享的实现 4.3.1相同EDT模块间的通道共享 4.3.2不同EDT模块间的通道共享 4.3.3整个设计中数据通道的分配 4.3.4通道共享的适用场合和局限性 4.4基于EDT结构和通道共享设计前后的性能分析 494.4.2基于EDT结构利用通道共享技术前后的性能分析 4.4.3基于EDT结构的测试向量仿真 4.5测试压缩的发展趋势 4.6本章小结 第五章总结与展望 参考文献 致谢 作者简介 第一章绪论1第一章绪论1.1基于EDT的研究背景随着数字集成电路的设计愈来愈复杂,芯片的特征尺寸愈来愈小,芯片的测试成本愈来愈高以后,可测性很差的设计将无法量产。因此在芯片设计阶段时就考虑增加额外的引脚和某些逻辑单元来满足设计的可控性和可观察性是相当有必要的。在芯片的生产制造阶段,由于各种原因导致芯片不能正常工作的物理缺陷是一直存在的,如:电路的短路、开路、桥接,晶体管缺陷及其他可能会影响成品部件功能的物理问题等,如图1.1所示[1]。对于规模较大的数字集成电路设计,仅仅依靠功能测试向量不足以高效地测试所有的制造缺陷,因此必须利用可测性设计来排除芯片的生产和制造缺陷。图1.1芯片制造时的物理缺陷随着芯片的运行速度愈来愈快,电路结构愈来愈复杂,使得测试芯片所需的数据量不断增加,测试所需的时间不断增长,从而测试芯片所需的成本愈来愈高[2]。当设计中所生成的测试向量的数目随之迅速增加以后,这将远远超过了ATE的存储器和I/O信道的容量,故必须考虑将测试数据压缩,如下图所示:2个图1.2工艺与测试所需的时间我们通常所说的stuckat扫描测试是基于单固定故障模型的测试,属于慢速测试,其频率是10M-30M;而atspeed扫描测试是基于延迟故障模型的测试,属于实速测试,其频率与芯片正常工作时基本相同。在20世纪中后期,只需利用基于单固定故障模型的扫描测试就可测试到芯片生产过程中的全部缺陷,此时芯片工作在较低的频率[3]。进入21世纪以后,经生产测试经验可知,基于单固定故障模型测试通过的芯片不能在较高频率时正常工作。随着生产工艺更先进,芯片的工作速度更快,频率更高之后,基于stuckat故障的扫描测试方法和模型不再能测试所有的生产制造缺陷,测试将频率增加到与芯片的实际工作频率一致,进而更全面的对芯片进行测试筛选。由图1.2可知,为了减少对ATE存储器的要求,减少测试时间,选用压缩技术对所生成的测试向量进行压缩势在必行。在IC设计和测试过程中,芯片测试所需的时间、芯片设计和测试所需的成本及其安全性都是我们必须考虑的因素。随着芯片的特征尺寸愈来愈小,芯片的电路结构愈来愈复杂,特别是对于汽车类电子或较高端的消费类电子产品等,其对芯片的质量要求较高,因此基于现有的技术将有更多的制造缺陷很难检测到,故其对芯片测试的要求也相对较高。很显然,只基于单固定故障模型的扫描测试技术几乎不能满足现在对芯片的设计和测试方面的诸多要求14]。相对于其他ATPG工具而言,基于TessentTestKompress工具的EDT技术是一种很好的能解决以上问题并获得相对较高覆盖率的压缩技术。它可以在不降低测试覆盖率的前提下,通过把测试集合变得更简单来减少测试向量的数据量并加速电路测试。在SoC设计阶段,设计所能达到的故障覆盖率是权衡设计好坏的标准。因此如第一章绪论3何减少测试向量的数量和提高覆盖率一直是业界较关注的问题。大多数测试生成方案都会将被测电路视为一个黑盒子,对测试机来说,唯一可用的控制点就是其主输入端,唯一可用的观测点就是其主输出端。因此,在实际的集成电路设计流程中,可测性设计的理论和相关实现技术是必须特别重视的设计要素,因为可测性很差的设计将无法量产。可测性设计是指在尽可能少增加附加引线脚和附加电路,并使芯片性能损失最少的情况下,满足电路可控制性和可观察性的要求。可测性设计的目标为:1)尽量减少测试向量生成的时间;2)尽量缩小所生成的测试矢量集,让工具生成更高效的测试数据;3)降低测试设备成本;4)提高产品的质量。在明确以上目标以后,可测性设计需基于一定的故障模型和测试方法。国内外常1)固定型故障(StuckAt):最常见的一类故障模型,它假设设计中仅有一个故障且该故障是固定逻辑值0或1,可用来表征多种不同的物理缺陷;2)IDDQ(伪StuckAt):常用来测量CMOS的静态电流;3)桥接故障(BridgingFault):指当设计中两条或多条信号线桥接起来而引发4)跳变延迟故障(TransitionDelayFault):指电路无法在规定的时间内由低电平(逻辑值0)跳变到高电平(逻辑值1)或由逻辑值1跳变到逻辑值0的故障;5)传输延迟故障(PathDelay):指数据在设计中特定数据通道上的传输延迟。国内外常见的测试方法有:1)特定可测试性:针对某一特定的电路,对其进行修改,使其便于测试151。主要包括为了增加DUT的可控制性和可观察性而对电路进行分割、加入额外的I/O端2)扫描设计测试:它将所有时序逻辑变成可扫描的,再将它们串在一起形成扫描链,因此可为较难测试的时序电路建立组合模型,常见的有:atspeedscan,stuckatscan,IDDQtest;3)BIST测试:它通过为DUT增加额外的逻辑单元来让该部分电路可以自动产生向量从而实现自我测试;4)BoundaryScan:它是一个可用于测试板级互连的独立的子系统4基于不同的可测试性方法,针对不同的逻辑电路和存储器特征及不同的故障模型,都有相应的DFT方法16]。本文所研究的是可测性设计方法中的扫描路径设计,其核心思想是将设计中的时序逻辑变成可扫描的,再将其串成扫描链,最后根据ATPG工具,基于特定的故障模型和signoff的要求来生成一系列的测试向量。芯片测试的目标就是用最低的成本来完成高质量的测试。预期的测试质量主要包括:较高的故障覆盖率和芯片良品率,较低的性能损耗;而低成本的宗旨就是:尽量少的测试数据和硬件电路开销、尽量短的测试时间。总的来说,好的测试方法不仅是小的硬件开销、高的故障覆盖率、小的性能损耗,且应同时采取相应的措施来减少测试所需的数据量、测试所需的时间及功耗17],这恰好是当前的DFT要解决的关键技术于此同时,可测性设计将面临很多难题:1)当IC设计愈来愈复杂,晶体管的特征尺寸越来越小时,设计所需的测试向量数目会迅速增加,这将远远超过了ATE存储器和I/O信道的容量,因此必须考虑对测试向量进行压缩;2)测试时间是增大测试IP内核复杂性的主要原因之一,因此必须在设计阶段就考虑用某些方法来减少测试时间;3)芯片在测试阶段的功耗比正常工作时要高很多,这不仅会影响电路的稳定性,还可能会烧毁芯片,从而降低芯片的良品率;4)为了缩短产品的生产周期,一般会利用IP核复用,这使得IC设计从原来的ASIC发展到了现在的SoC,而基于核的SoC测试还存在许多难题。1.3本项目需解决的问题当IC设计愈来愈复杂,晶体管的特征尺寸越来越小时,芯片的测试过程愈来愈复杂,所需的时间愈来愈长,测试成本也随之愈来愈高,因此在ATPG工具生成测试向量阶段就考虑将测试数据压缩是相当有必要的。如何对测试向量实现较高压缩率的压缩,如何节省测试机的存储器容量,测试端口数目和测试时间是本项目的研究重点。该项目是基于一款28nm,设计规模为370万门,可用的测试端口数目为128,最大的测试向量存储器容量为8M,最低标准的测试覆盖率为96%的基带芯片设计。本文利用TestKompress工具完成了EDT逻辑的插入,且基于现有的资源,实现了用通道共享技术来解决测试端口不够用的问题,利用压缩技术实现了节省测试机的存储器容量及测试时间的目的。第一章绪论51.4论文的主要工作和组织结构本论文主要以项目X为例,研究如何选择合适的测试压缩逻辑对测试向量进行压缩,如何为整个设计进行EDT结构的评估,以何种方式在各模块间实现通道共享以达到节省ATE的存储器容量,I/O端口,测试时间和测试数据,最后达到节省测试成本的目的。论文的主要结构为:第一章:简述EDTlogic的研究背景及DFT的发展现状和趋势;第二章:详细介绍常见的测试压缩结构,并简单比较基于TestKompress工具的测试压缩与DFTMAX的压缩逻辑结构;第三章:介绍EDT压缩逻辑的各组成部分及其工作原理,并以实际项目为例,介绍了该如何分析与测试压缩逻辑相关的DRCviolations;第四章:研究如何根据实际项目划分EDT模块,分配输入/输出通道及在各模块间实现通道共享以解决上述问题,并比较了使用EDT测试压缩前后系统所能获得的测试覆盖率,测试所需的存储器容量和测试数据量等异同点,最后以当前的测试压缩结构为例,概要描述未来的测试压缩结构可能有的发展趋势;第五章:总结该设计中所实现的测试压缩结构的优缺点及下一步的工作展望。6第二章测试压缩及EDT的核心思想7解压缩电路压缩电路解压缩电路压缩电路第二章测试压缩及EDT的核心思想随着IC设计的规模日益增加,系统的复杂度日益增高,测试所需的数据量也随之巨量增加。庞大的测试数据量将导致较长的测试时间,并可能超出ATE的存储器容量,因此利用测试数据压缩方法可在一定程度上解决这些问题。所有电路的ATPG方法的主要目标都是在实现最大覆盖率的同时获得更少的测试集,而测试数据压缩就是一种在保证覆盖率不变的前提下压缩测试数据的方法。测试压缩能大幅度减少测试所需的数据量,并很好地解决了测试机的存储器容量和数据通道数不够用的问题,若设计合理,还可节省测试所需的时间和功耗。测试压缩效果与被压缩的数据及方法密切相关,而基于各EDA工具的压缩技术对各有特点的数据类型的压缩效果相差很大。数据表明,在测试激励矢量中X位的比重可达95%以上,因此要想提高压缩率,就必须考虑如何合理利用X位的分布来实现对测试数据的压缩[8]。测试向量中X位的生成和自动测试向量生成的算法有关,测试向量的生成一般可分为两大部分:(1)使用随机测试生成来选择测试矢量以检测电路中绝大部分故障。当电路中存在许多未被检测出的故障时,随机测试生成在测试生成期开始时具有最高的效率,一般能检测出60%-80%的故障;(2)对于电路中较难检测的故障,会使用面向故障的ATPG算法来覆盖。尽管难测的故障数并不多,但检测该部分所需的测试数据却在所生成的总的测试激励向量中比重很大,且测试激励向量中X位所占的比重很高19I。测试压缩是对ATE存储的确定性测试数据的压缩,可分对测试输入的解压和对测试输出的压缩。自动测试设备中存储的是压缩后的测试激励和响应,但施加给DUT的数据应保持确定性测试向量原样,从DUT输出的测试响应也是未压缩的,故在ATE与DUT之间需有解压缩和压缩逻辑。基于EDT结构的测试压缩逻辑见图2.1:压缩后的测试响应激励压缩后的测压缩后的测试响应激励试激励具有扫描设计的电路具有扫描设计的电路图2.1测试压缩结构8五缩法压安法五缩法压安法在自动测试向量生成工具产生的测试矢量中会有很多X项,而众多数据位中只需对1%-5%I9的位赋以确定值,且确定值之间的关联度也较高,因此可以对测试激励进行无损压缩,对测试响应进行有损压缩。在不同的维度,测试激励压缩可分为对数据的压实法和压缩法。压实法是为了减少测试矢量的数目,相当于削减扫描链的数目,而压缩法是为了减少每个测试矢量的宽度,相当于缩短扫描链的链长,具体描述见图2.2所示。经压缩法压缩的测试数据需要解压缩,再应用到被测电路上,EDT逻辑所用的压缩技术就属于压缩法实现的测测试向量1测试向量2测试向量3测试向量4测试向量5测试向量1测试向量2测试向量3测试向量4测试向量5测试向量压缩后测过向量压缩的测试向量压缩后测试向量压缩后测试向量压缩前测试向量压缩后目前国内外研究人员已在测试激励压缩方面提出了很多方法,大致可分为19I[10]:目前国内外研究人员已在测试激励压缩方面提出了很多方法,大致可分为19I[10]:字典编码(固定-固定)Huffman编码(固定-变长)行程编码(变长-固定)变长-变长编码(变长-变长)时序线性解压电路组合线性解压电路广播扫描虚拟扫描可重构的广播扫描多输入广播扫描压实法广播扫描结构一测试激励压缩编码压缩线性解压压缩法第二章测试压缩及EDT的核心思想9压缩法主要包括基于代码的压缩和线性解压电路等,基于代码的压缩方法是把原始数据分段,并用符号表示,再把每个符号用码字代替,此压缩方法常用于多维测试集或测试向量。测试激励压缩的另一种原理是采用解压器解压来自ATE的向量,解压器常见的结构有:基于线性解压器和基于广播扫描。TestKomprss工具的EDT压缩逻辑是基于线性解压器来实现的,因此以下将着重讲述线性解压器相关内容。时序线性解压缩电路的主要部分是触发器和异或门,而组合线性解压缩电路则只由异或门构成。线性解压电路输出的所有测试矢量可根据某种矩阵解出,即:若线性解压器把从测试机输入的m位压缩激励复原成n位测试向量(n>m),则应有一个布尔矩阵Bnm,使得线性解压器产生的测试向量可由布尔矩阵B解出。对于测试向量Z,当且仅当关系式(2-1)有解时才能得以压缩10]。其中B是解压电路对应的特征矩阵,Z为ATE中的测试输入向量,由关系式解出的X则是经解压器解压后的输入数据,我们常将ATE输出的测试激励Z称为自由变2.1.2组合线性解压器组合线性解压器是实现把K位自由变量扩展成J位测试矢量(J>K),再施加给J条扫描链的过程。下图(a)表示由3位伪随机电路所生成的测试矢量Xo-X₃,图2.3(b)中3-6位组合线性解压器将其扩展为Qo-Qg,扩展关系为:Q₁=X₁④X₀Q₂=X₂④X₁④X₀(a)伪随机生成电路(b)3-6位组合线性解压器图2.3组合线性解压电路示例组合线性解压电路结构简单,易于控制,但由于在单个时钟周期内只能采用自由变量解压,故解码效率较低。因此可动态调节每个时钟周期内扫描链数目来改进解码2.1.3时序线性解压器时序线性解压电路包括FSM(FiniteStateMachine,有限状态机)及组合线性解压电路,其工作原理为:利用FSM在某个时钟cycle内对上个时钟周期所接收到的自由变量进行解码。常用的线性FSM是LFSR(LinerFeedbackSerialRegister,线性反馈移位寄存器),也可采用CA(CellularAutomata,元胞自动机)或环形电路。该结构的解码效率比组合线性解压电路更高。时序线性解压电路包括静态种子植入和动态种子植入。静态种子植入:给线性反馈移位寄存器加载种子以后,它能工作在自动方式,再对扫描链生成测试立方19]。该方法通过扩展种子进行解压,而不针对整个测试立方进行解压。如果种子存储在ATE中,采用静态种子植入方法进行测试向量解压时,ATE常处于空闲状态,而LFSR常处于自动方式,另一个缺点是LFSR的阶数不能少于测试立方中指定的位数。动态种子植入:在LFSR对扫描链装载的同时从ATE对LFSR注入种子。如图第二章测试压缩及EDT的核心思想组合线性解压器组合线性解压器2.4所示,其作用是将a个通道的自由变量信号扩展,再施加给m条n位扫描链。动态种子植入方法的优点是ATE可以不空闲,尽其可能地植入种子,缺点是LFSR阶数不能太高。EDT逻辑的解压过程正是通过时序线性解压电路的动态种子植入方式来实现的。测试设备a通道LFSR:n位扫描链n位扫描链n位扫描链n位扫描链图2.4基于组合解压和LFSR的时序解压电路原理图2.2测试响应压缩方法测试响应压缩是对内部扫描链捕获的响应进行压缩,以减少送回到ATE的测试数据量。对测试响应可进行有损压缩,而对测试激励则必须进行无损压缩。对于测试响应压缩,常通过牺牲一部分测试覆盖率以取得相对较高的压缩率。测试响应压缩技术有很多,其分类如图2.5所示:测试响应压缩空间压缩时间压缩时间与空间混合压缩图2.5测试响应压缩的分类空间压缩结构一般由异或门组成,而时域压缩结构一般会用MISR(MultipleInputSignatureRegister,多输入特征分析寄存器),因此压缩器的输入端不能包含未知值X,故其在BIST中应用较广泛。混合压缩结构是把空间压缩结构的输出反馈给时域压缩结构。空间压缩是把宽位数的测试响应图形压缩成窄位数的图形,而时域压缩则是减少输出响应图形的个数。测试响应压缩过程可形象描述如下:响应压缩把最初二维的exf响应数据Q=[ai]压缩成其他二维的k×1的向量A[10,且k<e和l<f,e/k为空间压缩率,f/1为时间压缩率。该过程可用关系式表达:其中,①是转换函数。二维向量Q的列序号指其时间维度,行序号指其空间维度,时间维度指的是电路中的同一个输出在不同时刻产生的值,空间维度指的是不同的输若是空间压缩,有k<e;若是时间压缩,有1<f,两种压缩形式如图2.6所示:测试向量测试向量ebit输出向量图2.6测试响应压缩过程举例空间压缩电路输出向量时间压缩电路输出向量在测试响应压缩中,我们经常会提到以下名词:(1)混淆:指对于同一组测试向量,故障电路和正常电路两者有相同的数据响应,故很难通过数据响应来辨别电路功能的好坏;(2)错误位:若逻辑结构存在故障,则错误位即是响应数据和期望值不相等的比特;(3)未知位:指测试向量中在仿真阶段无法确定其值的比特位;(4)诊断:指根据故衡量一种压缩方法的效率是看其防止混淆的能力和容纳不确定值X的能力,测试响应压缩可能造成信息的丢失,一般不会影响故障覆盖率,但会造成混淆和诊断故障水平的降低。由于在正常的测试向量中,输入端会有大量的X值,因此EDT压缩逻辑采用的是空间压缩结构。空间压缩结构属于组合电路,故其相对较容易实现。通常所说的奇偶校验电路具有良好的错码转播特性,可把无数个输入转换成单个输出,且对逻辑结构的固定故障覆盖率较高,但其压缩向量的混效率很高,因此常见的改进后的压缩电路有:单错码校正、双错码校正和奇偶错码检测。第二章测试压缩及EDT的核心思想2.2.1零混淆线性压缩与X-压缩由表达式2.3可知,若对输入施加两个不同的向量Do,D₁,输出产生两个不同的值Co和C₁,即(Do)≠0(D₁),则称该空间压缩器是透明的。若Do是电路无故障时的激励,而D₁是产生故障并导致故障效应成功传播的激励,则对透明空间压缩器施加这两个输入值时,相应的输出值总是不同的,这种情况称为零混淆。对于一个空间压缩函数,若要对全部的输入向量空间保证零混淆,则压缩器的输出位数必须等于或大于输入位数,而测试响应压缩的原理是将多输入的测试向量压缩成尽量少输出的向量,故完全的零混淆空间压缩器不可能实现空间压缩。实际上,空间压缩器并不是对所有可能的错误都是零混淆的,而是对一些故障集F产生的错误能够零混淆。零混淆压缩方法存在的问题是未知的测试响应可能会妨碍误码检测水平,容忍未知测试响应的故障树可解决此问题。若扫描链中具有双稳态单元,模拟过程中不能对这些单元确切地赋以值“0”或“1”,则这些单元的赋值称为未知逻辑值。实际上,未初始化或不可控制的双稳态、多时钟域和模拟模型不准确等,都可能造成未知逻辑值[13]。未知逻辑值可能使得MISR压缩方法失效,而X-压缩是一种可容忍未知测试响应的压缩方法,它可以无混淆地发现一个、两个及任意奇数个错误位。12输入1输出的X-压缩示意图如下:扫描链1扫描链2扫描链3扫描链4扫描链5扫描链6扫描链7扫描链8扫描链9扫描链10扫描链11扫描链12XORXORXORXORXORXORXORXORXORXORXOR输出1图2.712输入1输出的X-压缩器结构示意图X-压缩器可用二进制矩阵表示,矩阵中的行代表扫描链,列代表的是X-压缩器的一个输出。假设X-压缩器的第k个输出与第1条扫描链相关,此时矩阵O中单元(1,k)的值为1,否则为0。图2.7中的X-压缩器的压缩矩阵为:2.2.2X-隔离与X-屏蔽在扫描设计过程中,为了防止未知的X值影响扫描结构,继而传播到测试压缩结构,最终导致设计规则违例,我们常采用X-隔离技术将其隔离,即:对X产生源进行隔离,具体过程如下图所示:00压缩器UX图2.8X源隔离原理图由图2.8可知,隔离点可以是X源的输出与压缩器之间的传播路径上的任意点,但该处不能有观察点。在实际的测试响应中,25%以上的响应都包含X项,上述X隔离方法的硬件开销和延迟对设计的影响较大,而基于X-屏蔽方法的编码器具有高的X容忍性,故可很好的解决上述问题。该方法的隔离点可选在压缩器的输入端,屏蔽控制单元可在合适的时间产生逻辑值1,以屏蔽掉包含X的扫描输出,即X-compactor的实现原理。X屏蔽电路的原理图如下:扫描链1扫描链2扫描链3扫描链4输出通道屏蔽控制单元图2.9X屏蔽电路图第二章测试压缩及EDT的核心思想2.3EDT逻辑的核心思想EDT逻辑是一种根据缩减每个测试失量的数据量,从而来节省测试所需的数据总量和测试时间的压缩逻辑。与传统的确定性ATPG技术相比,EDT技术可在使用相同的故障模型下,获得相近的测试覆盖率,并降低芯片测试所需的时间,从而降低芯片测试所需的成本,且是目前最有效的针对大规模SoC(SystemonChip,系统级芯片)的测试方法。基于TessentKompress工具的EDTlogic的核心思想是:在获得更高的数据压缩率的情况下,用尽可能少的扫描通道来控制内部尽可能多的扫描链。对于已加入压缩逻辑的设计,测试人员能像操作传统的扫描链一样直接操作扫描通道,对于测试人员而言,扫描通道相当于一种虚拟的扫描链,因此可用较少数目的扫描通道来控制内部较多数目的扫描链,这样就可达到节省测试I/O端口的目的,如图2.10所示[14]。随着设计变得越来越复杂,其内部的扫描链数目将迅速增加,所生成的测试向量数据量也急剧增加,且可用的测试端口是有限的,因此必须利用压缩技术来解决存储器的容量和测试端口等不够用的难题。图2.10EDT与传统的ATPG结构示意图基于TestKompress的测试压缩逻辑EDT的设计和ATE之间的关系如图2.11所图2.11ATE和有EDT的设计间的连接对于ATE而言,主要将压缩测试向量输入IC设计,再将期待的响应与从实际设计输出的响应相比较,来判断芯片是否能在相应的工作频率正常工作,从而来筛选芯片。对于内嵌式确定性(EDT)逻辑而言,主要完成将ATE输入的压缩测试向量解压缩,送给内部的coredesign,再将得到的数据响应压缩后送给测试机。其中,压缩器由一系列XOR阵列组成,故其对测试时间不会产生影响,而解压器中包含一定的时序逻辑,会增加少量测试时间,所增加的测试时间可由式(2-5)来进行估算:其中,c表示增加的时钟cycle数,s表示解压器大小,n表示扫描通道个数。2.4基于TestKompress与DFTMAX的压缩逻辑对比基于业界主流的Mentor和Synopsys两家EDA厂商,在对设计加入扫描链,并基于故障模型生成测试向量的过程中,有两种不同的工作流程。一种是用Synopsys的DFTMAX工具加入压缩的扫描结构,再用Synopsys的TetraMAX工具产生向量;另一种是用Synopsys的DFTcompiler工具加入普通的未压缩的扫描结构,接着用Mentor的TestKompress工具生成EDT压缩结构,最后再基于TestKompress生成向量。在两套不同的工作流程中,尽管都能实现测试压缩逻辑,并生成测试向量,但它们测试压缩的实现方式不同。第一种方式的压缩结构是在插入扫描链的过程中进行的,而基于TestKompress工具的EDT压缩逻辑是与插入扫描链并行进行的,且生成的压第二章测试压缩及EDT的核心思想缩结构不仅能集成到硬件语言描述的代码中,还可集成到综合后生成的门级网表中,且对压缩逻辑的配置较灵活。基于两种不同的测试压缩技术所实现的设计能获得的压缩技术所实现的设计能获得的压缩率、测试覆盖率及测试所能达到的最高频率等差别2.4.1基于DFTMAX压缩逻辑的工作原理DFTMAX工具的测试压缩技术是基于自适应扫描结构实现的,且它的解压逻辑是基于组合逻辑来完成的,工作原理为:测试压缩向量先送入串行转换器再经过组合解压缩逻辑解压缩后最后再送到内部扫描链,测试响应数据先经过压缩逻辑再经过并行转换器以后最后再送到自动测试设备。最基本的串行转换自适应扫描结构如图2.12scanlnscanlndeserializer(&bits)5MHZntenaldckcompressorserializer(8bits)图2.12串行转换自适应扫描结构根据图2.12可知,串行转换的自适应扫描技术包括:(1)串行转换的时钟控制器,由FSM的计数器和时钟门控单元组成,计数器用来生成时钟使能信号和选通信号,且计数器由外部的时钟来驱动;(2)串-并转换寄存器,用来从扫描输入端串行加载测试数据,再经过解压缩逻辑将数据送到内部扫描链;(3)并-串转换寄存器,用来捕获压缩逻辑输出的测试数据,并将其串行移出。由4-bit的串并转换寄存器实现的压缩过程如下所示:FSMcounter0ScanenableenableStrobeenableTesterstrobecapturedecompressor.Atthesametime,serializercapturecompressoroutputdata7.Deseralzercompletesshiftfor4.Firstshiftdataisthroughdecompressorstrobingcompressoroutputsforfirstshift5.Testerstartsstrobingcompressoroutputsforfirstshift2.Deserializerstarts3.Deserializercompletesshiftfor2由上图可知,串行转换的时钟控制器的行为类似于时钟分频器,内部所生成的时钟信号是外部时钟信号被S倍分频实现的,而S则是并-串转换寄存器的级数。假设并-串转换寄存器由8个寄存器组成,且测试系统外部时钟的频率为10MHz,由于内部时钟是被8分频实现的,故内部的时钟频率会降低到1.25MHz。因此,利用DFTMAX的压缩逻辑所实现的测试压缩中,内部扫描链的时钟频率只有外部扫描通道时钟频率的S分之一,而利用TestKompress工具的EDT结构实现的压缩能保证内部扫描链的时钟频率与外部扫描通道的时钟频率相同,这才是我们设计中实际期望的。基于DFTMAX工具的解压缩逻辑是由可重构的选择网络实现的,对于一定数目的输入通道而言,它只能驱动内部较少数目的扫描链,因此基于DFTMAX设计的压缩逻辑的压缩率较低。其电路结构可举例如图2.14所示:第二章测试压缩及EDT的核心思想0101010scanchain410图2.14基于DFTMAX的解压缩逻辑2.4.2基于DFTMAX压缩逻辑的不足的自适应扫描技术实现的测试压缩存在以下问题:(1)生成的测试向量所能实现的压缩率较低,一般只有几十,若想提高压缩率,则会造成走线拥挤等问题;(2)压缩模式生成的测试矢量对其下一个向量的依赖性比较大,因此我们不能重新排序ATPG所生成的向量来实现用最少的测试数据来覆盖设计中最多的故障; (3)自适应扫描技术不能实现扫描输入通道的共享,因此其无法较好地解决测试端口不够用的问题;(4)利用DFTMAX的压缩逻辑所实现的测试压缩中,内部扫描链的时钟频率只有外部扫描通道时钟频率的S分之一。由于DFTMAX的测试压缩逻辑存在以上问题,而TestKompress的EDT结构在以上方面较有优势,因此我们常用TestKompress的EDT结构来实现测试压缩。与压缩结构利用时序线性解压器来实现,从而能获得较高的测试压缩率;利用可容忍X值的空间压缩结构来实现压缩,从而有较强的防混淆和容纳不确定值X的能力;除此之外,TestKompress工具可与通道共享技术相结合来解决对测试端口不够用的难题。本章详细介绍了测试向量压缩的分类,再依次介绍常见的压缩方法及其压缩原理,接下来介绍了基于TestKompress工具的EDT逻辑的核心思想及其基本组成部分,为下一章介绍EDT逻辑各组成部分的工作原理打下基础,最后从基于DFTMAX的测试压缩原理出发,简单对比了基于国内主流的ATPG工具Mentor的TestKompress与Synopsys的TetraMAX的设计所能获得的压缩率,故障覆盖率等方面的差异。第三章EDT的组成部分、工作原理及相关的DRC第三章EDT的组成部分、工作原理及相关的DRC对于EDT逻辑而言,其端口信号包括:扫描输入通道(edt_channels_in),扫描输出通道(edt_channels_out),edt_update,edt_clock,edt_bypass及edt_reset。在扫描测试信号的变换如下所示:在scantest过程中,EDT结构的工作流程可概括为如下几部分:1)load_unload阶段:EDT逻辑工作在复位状态,此时测试数据还未经扫描链加载到扫描电路中,且在该过程中各信号状态如下:edt_clock信号应有效,标志EDT逻辑更新的端口信号edt_update为高电平,而扫描时钟(scanclock)此时无效;2)shift阶段:在该过程中,测试数据需经扫描链加载到扫描电路,故此时扫描时钟和edt_clock必须有效,且标志扫描移位过程的扫描使能信号(scanenable)有效,3)capture阶段:在该阶段,加载到扫描链上的测试数据在扫描时钟的作用下应用到设计中其他的组合逻辑部分,此时各信号状态如下:edt_clock信号无效,扫描使能信号scan_enable和EDT逻辑更新信号(edt_update)可为任意值,但实际项目中常取值0。以项目中的某个EDT为例,其输入通道51个,输出通道1个,输入/输出扫描链均为450条,该模块相关的EDT逻辑的结构图如下所示:dt_chennea_nrdt_chcut图3.2某个EDT模块的结构图由图可知,EDT逻辑主要由decompressor,compactor和bypass三部分组成,具体功能如下:1)Decompressor:用来将来自于ATE的测试数据解压,并分配到SoC设计内部的扫描链上,该过程是无损压缩2)Compactor:主要用来将设计中扫描链的实际响应数据压缩后再送给ATE,此时能进行有损压缩;3)Bypass:用来旁路EDT逻辑,让我们在外部可直接访问设计内部的扫描链,而不需通过扫描通道来访问,此功能可方便我们调试由于EDT逻辑本身的问题而导致的芯片测试失败。除了上述三部分以外,EDT逻辑还包括提供每个EDT模块正常工作所需的控制信号和mask信号的控制电路部分。控制电路主要用来产生EDT逻辑正常工作所需的控制信号和mask信号,mask信号用来决定在压缩器中哪些扫描链是被掩盖的,哪些是可观测的。最基本的控制电路的结构如图3.3所示:第三章EDT的组成部分、工作原理及相关的DRCedtedt_maskMUXedt_updateedt_channels_inedt_codes图3.3控制电路结构图在控制电路中,常见的译码电路有:One-Hotdecoder和XORdecoder,不同的译码电路对应着扫描链不同的掩盖形式。对于One-Hotdecoder而言,在某个扫描输出通道上,只有一条扫描链是被掩盖的,不可见的,而其他所有的扫描链都是可观测的;对于XORdecoder而言,在某个扫描输出通道上,是所有扫描链经过异或逻辑后再压缩到同一条扫描输出通道的,当此种译码方式下扫描输出通道上有mismatch时,想要调试找出有问题的扫描链是相当不方便的。3.1.1控制电路的工作原理控制单元包括以下部分:maskhold及maskshiftregisters,XOR及One-Hotdecoder和选择结构。在每个EDT模块中,maskhold/shift寄存器的个数取决于内部扫描链的数目。在采用通道共享的EDT逻辑里,每个EDT模块都需要一个单独的控制通道来产生自身EDTlogic正常工作所需的控制信号和掩盖信号,因此从测试机的输入通道输送的测试数据会先经过控制单元里maskshift寄存器处理后,再送给解压缩器,并产生用于压缩器扫描链压缩方式选择的控制信号。对于控制单元里不同的译码器,会产生不同的编码信号。在该EDT模块中,maskhold/shift寄存器均为20bits,则由TestKompress工具生成的该EDT模块的控制电路其他各部分的比特分布情况如图3.4所示:图3.4控制电路里各组成部分的比特分布在load_unload阶段,控制电路会根据输入通道里的测试数据和掩盖移位寄存器来产生控制信号(control_bit)和相应的mask信息,并将其送给压缩逻辑。control_bit主要用来在控制电路里选择用One-Hot译码器还是XOR译码器产生mask信号。对于不同的译码器,其掩盖信息是不同的,且这些信息均在控制电路里生成。其具体过程可如图3.5的代码所示:update_or_shift_masking_regs:PROCESS(edt_clock)BEGINIF(edt_clock='1')AND(edt_masks_hold_reg_0<=masks_shift_reg_0;masks_shift_reg_0<=(OTHERS=>'O');ENDPROCESSupdate_or_shift_masking_regs;edt_channels_out_from_controller(0)<=masks_shift_reg_0(0);edt_channels_out_from_controller(1)<=edt_channels_in(1);edt_channels_out_from_controller(2)<=edt_channels_in(2);edt_channels_out_from_controller(3)<=edt_channels_in(3);control_bit<=masks_hold_reg_0(19);xor_encoded_masks<=masks_hold_reg_0(0masks_hold_reg_0(3)&masks_hold_reg_0(4)&masks_hold_reg_0(5)&masks_hold_reg_0(6)&masks_hold_reg_0(7)&masks_hold_reg_0(8)&masks_hold_reg_0(9)&masks_hold_reg_0(10)&masks_hold_reg_0(11)&masks_hold_reg_0(12)&masks_hold_reg_0(13)&masks_hold_reg_0(14)&masks_hold_reg_0(15)&masks_hold_reg_0(16)&masks_hold_reg_0(17)&masks_hold_reg_0(18);onehot_encoded_masks_0<=masmasks_hold_reg_0(16)&masks_hold_reg_0(15)&masks_hold_reg_0(14)&masks_hold_reg_0(13)&masks_hold_reg_0(12)&masks_hold_reg_0(11)&masks_hold_reg_0(10);xor_decoded_masks_0;图3.5控制电路的关键代码第三章EDT的组成部分、工作原理及相关的DRC3.1.2XOR译码器的工作原理由控制电路所产生的控制信号可知,当controlbit为0时,将选择XOR译码器来进行后续的扫描链压缩,此时对于某个扫描输入通道所映射的扫描链中,同一时刻将有多条扫描链经异或后再压缩到同一条扫描通道,若此时该扫描通道上的测试数据出现mismatch,则该种情况下无法直接推断是哪条扫描链上的数据出现问题。在实际电路中,XOR译码器和One-Hot译码器的个数取决于该模块中输出通道的个数。XORdecoder会根据掩盖信号选择在每个压缩器里掩盖或观测多条扫描链,且其maskcode将严格与在生成EDTIP的过程中所生成的edt_ip_setting文件里的内decoded_masks_0(0)<=encoded_masks(0)XORencoded_masks(1)XORencoded_masks(2);decoded_masks_0(1)<=encoded_masks(0)XORencoded_masks(1)XORencoded_masks(3);decoded_masks_0(351)<=encoded_masks(2)XORencoded_masks(7)XORencoded_masks(11);decoded_masks_0(352)<=encoded_masks(2)XORencoded_masks(4)XORencoded_masks(16);decoded_masks_0(353)<=encoded_masks(1)XORencoded_masks(11)XORencoded_masks(12);set_mask_decoder_connection-xor_decoderchainset_mask_decoder_connection-xor_decoderchain35311711513图3.6XOR译码器的代码举例当控制信号(controlbit)为1时,将选择One-Hot译码器来进行后续的扫描链压缩,此时对于某个输出通道所映射的扫描链中,同一时刻只有一条扫描链是被掩盖的,而其他的扫描链均是可观测的。One-Hotdecoder电路由经典的二进制译码器和或门组成,即:假设该电路有m个信号输入,那么经过One-Hotdecoder以后会有2m个信号输出,且所有的输出信号2'"2'"bitsoutOne-Hotdecoderdecodesto1-hotoutof2mmaskshiftregisteredt_mask图3.7One-Hot译码器结构图对于某个给定的EDT模块而言,其设计中的扫描链数目是一定的,如:前文所讨论的该模块中有450条扫描链,若利用One-Hot译码器进行译码,而利用9输入的信号就可产生512个输出,则有62个译码器的输出是未使用的。所有使用的输出组信号将与扫描输出链作与运算后再送到压缩器里。对于masked测试向量,译码器只会让usedgroup里某一个输出为高,因而使能相应的与门,再让其对应的扫描链在扫描输出端是可观测的。所有unusedgroup的输出将或在一起,再与控制信号(control_bit)相或以后,最后再作为控制每个usedgroup的或门的另一个输入端,进而再控制相应的扫描链。对于non-maskingpattern,只要有一个unusedgroup的输出为高,则让所有的扫描链都是可在One-Hot译码器电路中,译码器的输入encoded_masks的比特数取决于该模块里扫描链的数目。对于某个给定的EDT模块,利用One-Hot译码器以后会有很多未使用的译码器的输出信号,因此在后期ATPG生成EDTchainpatterns时,若想得到所有的测试向量,可用-typeall的命令实现,即:此时工具除了生成non-masking和masking(One-Hot和XOR)的向量以外,还会生成向量去测试所有未使用的One-Hot译码器的值,因此用该命令所生成的总的向量会比单独所存的non-masking和masking的向量要多。3.1.4低功耗控制单元的工作原理在上述所讨论的EDT模块的控制单元中,并没有加入低功耗模块。但随着芯片的工艺愈来愈先进,IC的结构愈来愈复杂,SoC设计所存在的显著的问题就是:被测电路测试过程中的开关活动过于频繁,导致测试功耗较大,而过高的的测试功耗会导第三章EDT的组成部分、工作原理及相关的DRC致被测电路过热,从而影响待测电路的使用寿命,降低芯片生产的良品率和正常工作的可靠性,甚至使芯片烧毁。因此在设计过程中采用低功耗的测试压缩逻辑是很有必要的,它允许你在一定程度上降低测试图形的转换密度,生成翻转次数较少的测试向量来降低功耗,从而节省能源,还能提高测试系统的稳定性和性能116),并降低芯片的测试成本。低功耗电路的结构图如下所示[171XPXPedt_channelsinXPedt_update0图3.8低功耗控制逻辑由图3.8可知,与普通的控制逻辑相比,低功耗的控制逻辑将多一组lowpowershift的控制单元。扫描输入管脚将压缩后的测试数据送到解压缩逻辑的同时,也将各管脚携带的屏蔽使能信息传入低功耗扫描输入控制模块。低功耗控制模块由控制寄存器和组合异或逻辑阵列组成,其工作原理为:当将被使能,并根据输入的流水线级的信息生成控制信号。该控制信号将被加载到保持寄存器,并应用到XORexpander去控制与门是否被使能。若控制信号为高电平1,则该与门是enabled,并由decompressor逻辑去驱动扫描链;若控制信号为0,则该与门打开,并由逻辑值0去驱动扫描链。当low_power_shift_en无效时,powercontroller将是无效的,此时输入的流水线级被旁路,holdregister里全是逻辑值1,则一直由解压缩逻辑去驱动扫描链。这样就可以在需要加载扫描链信息时由解压缩逻辑驱动内部扫描链,而在捕获阶段则由逻辑值0驱动扫描链,此时就可以节省由于捕获测试响应而带来的额外功耗。在测试过程中,每个测试向量经解压缩逻辑解压后送给内部扫描链,因此除了描链,故这种lowpower的控制单元会节省芯片在测试时的功耗。解压缩电路位于扫描输入通道和输入扫描链之间,主要用来解压来自于ATE的测试数据,再将数据送给内部的扫描链。它能将较少数量的输入扫描通道的数据解压缩到内部较多的扫描输入链上,基本能实现测试数据的无损压缩。Decompressor电路主要包括LFSM(LinearFiniteStateMachine,线性有限状态机)及phaseshifter(移相器),其结构图如下所示:fromExtfsm_vet_Jochupupdarte图3.9解压缩电路的结构示意图在生成EDTlogic时,TK工具会根据该模块内部扫描链的数目将decompressor逻辑分成多个segments,再根据需输送数据的扫描链数目确定每个segment中LFSM的数目,而LFSM的数目则决定了整个解压缩逻辑的大小。LFSM是一种基于LFSR形式的可自动产生测试矢量的电路结构,具有较少的内部散出和较小的传播延迟特性。它包括大量的D触发器和少量的异或门,且是BIST结构的根基。phaseshifter用于控制各扫描链信号与相应扫描时钟之间的同步。而测试压缩结构中的效率取决于decompressor电路,较好的设计需符合如下标准:产生的测试向量之间最好为线性无关、解压逻辑能高速工作、面积开销尽可能少大部分解压缩器都由伪随机序列生成电路组成,且该类序列的位具有重复性和不可消除的特点,因此会降低所生成的测试矢量的质量。若测试中使用具有以上特点的序列,则会导致设计的故障覆盖率相当低119]。基于EDT结构的解压缩器以序列发生器为核心,其测试输入端口连接到ATE的各输入通道,其输出端口经过phaseshifter来驱动设计内部的扫描电路。与普通的LFSR相比,基于该类结构的序列发生器有如下特点:工作速度更快、扇出更少,且能较容易达到后端各种时序等约束要求。第三章EDT的组成部分、工作原理及相关的DRC由LFSR及XOR组成的序列发生电路,可按如下表达式产生测试向量120:2的k个逻辑变量的加法。若某个LFSR电路有k位,则由其至多能生成不重复的2k-1种状态。最大长度的序列发生器是指恰好在生成2K-1种不重复的状态以后再重复生成该序列的电路EDT压缩结构中的解压缩逻辑的LFSR单元由XOR门外接的LFSR实现,如Cm-1a1a2a3am图3.10线性反馈移位寄存器图3.10所产生的函数可用多项式表达:式中ci的取值与图中相同,xi表示i个时钟的延迟。若解压缩电路不能生成最大长度的伪随机序列,则用该电路实现的压缩结构将明1,显然该表达式能再分解的,而本原多项式是指不能再分解的表达式。有数据表明,只有当电路的反馈是基于不可分解的表达式的系数组成时,该电路产生的伪随机序列根据以上分析可知,基于本原多项式的系数所连接成的LFSR电路能达到相对更高的故障覆盖率。总的来说,LFSM单元主要用来在扫描移位阶段产生伪随机测试码,并在捕获阶段经移相器将测试向量并

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论