您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 可测试性设计与ATPG
Unit4VLSI设计方法Chap11可测试性设计与ATPGUnit1绪论Unit2CMOS电路设计基础Unit3CMOS电路的逻辑设计Unit4VLSI设计方法Chap8设计模式和设计流程Chap9RTL设计与仿真Chap10逻辑综合与时序仿真Chap11可测试性设计与ATPGChap12版图设计与验证3SpecificationExecutablemodelRTLcodeGate-levelnetlistCell/interconnectlevelpositionMask-levelgeometrySystem(Behavioral)levelRTLGate(Logic)levelLayout(Physical)Level设计阶段(设计抽象层)设计结果4RTLSourceCode设计验证:VCS、Modelsim逻辑综合:DCDFT:DFTC布局布线:Encounter、Astro版图验证(版图后分析)DRC/LVS:Calibre、Hercules参数提取:Star-RCXT静态时序仿真:PrimetimeATPG:TetraMaxTape-outTestPattern静态时序仿真:PrimetimeVLSI设计流程及典型EDA工具+常用的EDA工具•Cadence•Synopsys•Magma•MentorGraphics5WhyDFTandATPGneededinGate(Logic)Level?6WhyTesting因为:芯片在生产过程中会产生的电路结构上的制造缺陷!所以:我们需要通过测试来挑出那些有制造缺陷的成品芯片,防止其流入用户手中!7WhatisTesting测试(Testing)所要检查的不是设计的功能错误,而是芯片在生产过程中引入的电路结构上的制造缺陷(physicaldefects)测试并不关心设计本身具体实现了什么功能,而是要想办法测试其是否有制造缺陷。对一个测试工程师来说,一块MPEG解码芯片和一块USB接口芯片并没有太大的区别,因为芯片功能是设计过程应解决的问题了测试是向一个处于已知状态的对象施加确定的输入激励,并测量其确定的输出响应与“理想”的期待响应进行比较,进而判断被测对象是否存在故障类似以前讲过的RTL仿真(功能仿真)的过程8HowTesting:ProductTestingToday自动测试仪(AutomaticTestEquipment,ATE)上运行的测试程序通常包含如下信息:激励向量,响应向量,以及控制和确定ATE时序所需要的信息等9WhatisDFT在过去的设计流程中,设计队伍完成设计后将设计扔给专门的测试队伍,由他们完成剩下的测试工作。而测试队伍沿用功能仿真中的TestBench仿真向量进行故障测试,最多由于仿真向量比较庞大而做些裁剪借用功能仿真中的仿真向量进行故障测试,不能有效控制测试成本(cost-of-test)功能仿真不等于故障仿真,测试向量过大ATE资源有限在设计流程中尽早考虑测试的要求,在设计阶段就为将来的测试工作设计专门用于测试的硬件逻辑。这种通过增加额外的逻辑以增强设计的可测试性的工作就是可测试性设计(DFT,DesignforTestability)DFT是逻辑相关的工作,需在Gate(Logic)Level解决10DFT的作用提高产品质量降低测试成本11WhatisATPGDFT通过增加额外的专门用于测试的硬件逻辑,以增强设计的可测试性。但对于测试,最后是需要体现在由此可以产生的测试向量ATPG:自动测试向量生成测试是向一个处于已知状态的对象施加确定的输入激励,并测量其确定的输出响应与“理想”的期待响应进行比较,进而判断被测对象是否存在故障。测试向量:输入激励+“理想”的期待响应从DFT来自动产生测试向量ATPG工具可以满足大部分生产测试中所需的测试向量自动生成的要求,自动生成的测试向量提供改ATE测试程序用12FaultModelDFTATPGATE13WhatisaPhysicalDefect?14CMOS工艺中常见的制造缺陷或曰物理缺陷(PhysicalDefect)包括:对地和对电源的短路由尘粒引起的连线断路金属穿通(metalspike-through)引起的晶体管源或漏的短路等15PhysicalDefectsFaultModel不管是对封装好的成品还是对尚未封装的“裸片”(die),要将探针伸入芯片结构内部进行测试,无论从技术或是经济角度都是根本不可行的。对芯片的测试只有通过有限的输入/输出管脚(I/Opin)来完成需要通过对芯片内部制造缺陷引起的电路故障建立逻辑上的模型,从而通过测量电路在输入输出管脚上行为,来判断芯片内部是否存在制造缺陷PhysicalDefects(制造缺陷)FaultModel(故障模型)16故障模型由于引起芯片发生故障的制造缺陷原因多种多样,为了便于分析和判断故障,需要将故障的特征进行抽象和分类,把呈现同样效果的故障归并成同一种故障类型,并使用同一种描述方法,这种故障描述方式称为故障模型当前VLSI设计中常用的故障模型固定型故障模型(stuck-atfaultmodel):使用最多时延故障模型(delayfaultmodel)基于电流的故障模型(current-basedfaultmodel)…..FaultModel(故障模型)17FaultModelStuck-at故障模型时延故障模型跳变延时(transitiondelay)故障模型路径延时(pathdelay)故障模型基于电流的故障模型18Stuck-AtFaultModel19Single-Stuck-AtFaultModelStuck-AtFaultModel(SSA)的“单故障假设”:在每一个被测芯片DUT(deviceundertest)上最多只会出现一个故障实际上在一块芯片上同时出现多个故障的可能性非常小即使一块芯片出现了多个故障,那么它几乎不可能通过基于“单故障假设”的测试从工程角度考虑,如果不采用这个假设,会大大增加计算复杂度,远远超出目前可能的计算能力20基于Stuck-at故障模型的组合电路故障侦测/测试向量生成有了Stuck-at故障模型,如何通过IO端口来侦测到故障,生成测试向量(TestPattern)?ASA-Fault-DetectionAlgorithmforCombinationalLogicNetwork:DAlgorithm(CombinationalLogicATPG)算法步骤TargetaSAFaultActivatetheSAFaultPropagateFaultEffectRecordtheTestPattern21TargetaSAFault(1/4)22ActivatetheSAFault(2/4)23PropagateFaultEffect(3/4)24RecordtheTestPattern(4/4)AnatomyofaTestPattern25AreAllFaultsDetectable?26HowManyStuck-AtFaults?27EquivalentFaults(1/3)28EquivalentFaults(2/3)29EquivalentFaults(3/3)30FaultModelStuck-at故障模型时延故障模型跳变延时(transitiondelay)故障模型路径延时(pathdelay)故障模型基于电流的故障模型31跳变时延故障模型可以看作是对SA故障模型的增强,增加了对时域特性的约束在这种故障测试中,先强制驱动测试点电平到故障值,然后在输入点加上一个跳变的激励,经过给定时间后检测测试点是否跳变至正确值与stuck-at模型的静态检测不同,跳变延时可以检测出门级电路上的上升跳变过慢(STR,slow-to-rise)或者下降跳变过慢(STF,slow-to-fall)故障也称为门时延故障模型,因为这种模型的故障都可以归结于门输入/输出过慢32路径时延故障模型路径时延故障模型与跳变时延故障模型基本上类似,路径时延故障模型可以看作是对指定路径上所有组合门电路的跳变时延之和的故障判断33FaultModelStuck-at故障模型时延故障模型跳变延时(transitiondelay)故障模型路径延时(pathdelay)故障模型基于电流的故障模型34静态电流IddqIddq指CMOS电路在所有门处于静态下的电源总电流在CMOS逻辑中非翻转状态的门只消耗静态或者二极管反向(diodereverse)电流。由于静态时PMOS和NMOS管不会同时导通,流过它的仅是漏电流即静态电流Iddq,约为1nA。对于一块大规模集成电路,其Iddq应在uA级(Iddq大小与集成度有关)任何导通的桥接、短路和断路故障都将导致静态电流Iddq上升一个数量级以上35基于电流的故障模型可能会导致过大静态电流的故障不一定导致逻辑错误,但会导致潜在的错误行为和早期故障,出现可靠性方面问题的可能。比如一个尚能正常工作的电路将来可能由于金属迁移(metalmigration)等机制而逐渐失效在一些关键场合(如心脏起搏器),出现任何不正常的行为都应被认做是故障常见的两类基于电流的故障模型pseudo-stuck-at故障模型主要建立在SA故障模型上:在单纯的SA模型中,观察代表逻辑值1或者0的电压值;而在pseudo-stuck-at故障模型中,则是先将故障效应加到指定点,然后观察电源对整个芯片输出的电流大小toggle故障模型36FaultModelDFTATPGATE37几种常见的DFT技术扫描(SCAN)测试将电路中的存储单元(寄存器Register)转化成为可控制和可观察的存储单元(寄存器),将这些单元连接成一个或多个移位寄存器,即扫描链内建自测试(BIST)在电路内部增加测试电路结构,在测试时这个测试电路结构能够自己产生激励和比较响应静态电流(IDDQ)测试若存在电流性故障,会使电路在静态时产生一个高于正常值的电流。38扫描测试技术1基本原理和方法2扫描测试策略3基于扫描测试的芯片测试步骤39TestingSequentialLogic:SequentiallogicATPGbasedonDalgorithm40HandlingRegisterStages41TestPatternwithThreeCycles42AssessmentofSequentiallogicATPGThenhow?43TestingSequentialLogic:CombinationalLogicATPGwithhelpofFull-ScanDesignsScannableEquivalentFlip-Flop44TheFull-ScanStrategy45ScanChains46扫描测试Summarized(1)◆扫描测试的基本原理将一个集成电路内所有寄存器改成Scannable后串接起来,组成一个移位寄存器,使得从外部能容易地控制并直接观察这些状态存储单元中的内容扫描测试将时序电路测试转化为组合电路测试扫描测试的设计要保证各个寄存器可以和组合电路完全隔离开来,以便寄存器的状态可随意设置,同时保证寄存器的输出可观察47扫描测试Summarized(2)扫描测试的基本设计步骤将电路中的寄存器转化成为可控制和可观察的寄存器,一般是用带扫描功能的寄存器代替逻辑电路中的寄存器再把这些寄存器连接成一个或多个移位寄存器,即扫描链当电路处于扫描模式(测试模式)时,就可以向扫描链(扫描寄存器)中移入/移出数据,48扫描测试Summarized(3)扫描测试的缺点①每个寄存器的结构由于扫描测试模式与正常工作模式切换的需要,必然会复杂化;加上大量附加的内部互连线,使芯片面积增大②寄存器中增加的控制使电路速度降低,双稳的翻转时间可能增加1∽2ns;49扫描测试技术1基本原理
本文标题:可测试性设计与ATPG
链接地址:https://www.777doc.com/doc-5893552 .html