资源描述
EDA技术及工具第八讲contents集成电路设计和EDAASIC设计流程前端设计工艺库HDL逻辑综合与优化各项设计指标的平衡(trade-off)测试设计(DFT)后端设计(layout)实体综合(physical compiler)ECO和Manual Editing动态时序仿真静态时序分析版图验证(Design Rule Checking)测试设计(DFT)感谢:Prof.Prof.Kurt Keutzerand Mukul Prasad of UC,BerkeleyProf.K-T Cheng of UC,BerkeleyProf.Srinivas Devadas of MIT参考书VLSI Test Principles and Architectures:Design for Testability 作者:Laung-Terng Wang,Cheng-Wen Wu,Xiaoqing WenTest and Design-for-Testability in Mixed-Signal Integrated CircuitsJos Luis HuertasSpringer,2004年10月18日-298 页参考书参考书System-On-Chip Test Architectures:Nanometer Design for TestabilityLaung-Terng Wang,Charles E.Stroud,Nur A.ToubaElsevier Science Limited,2008-856 页可可测测性性设计设计引言引言v微电子学迅速发展v集成电路规模迅速膨胀v电路结构越来越复杂v芯片管脚封装的密度越来越高可测性设计测试介绍n测试:就是检测出生产过程中的缺陷,并挑出废品的过程。n测试的基本情况:封装前后都需要进行测试。n测试与验证的区别:目的、方法和条件n测试的难点:复杂度和约束。n可测性设计:有利于测试的设计。可可测测性性设计简设计简介介v大量故障变的不可测,因此过去由设计人员根据所完成的功能来设计电路,而测试人员根据已经设计或研制完成的系统和电路来制定测试的方案的传统做法已不适应实际生产的要求。v功能设计人员在设计系统和电路的同时,必须考虑到测试的要求,即衡量一个系统和电路的标准不仅有实现功能的优劣,所用器件的多少,而且还要看所设计的电路是否可测,测试是否方便,测试码生成是否容易等问题。这就是所谓的可测性设计可测性设计测试(1-3)CMOS反相器中的物理缺陷测试(2-3)目前的产品测试方法测试(3-3)ATE可可测测性性设计设计的重要概念的重要概念v可测性 Testability=Controllable+Observable Controllable 可控性指能够对电路中每个内部节点进行复位和置位的能力Observable 可观性指不论用直接还是间接的方式都能观察到电路中任一个内部节点状态的能力可测性设计可测性设计举例n可控性:l可观性:可可测测性性设计设计的重要概念的重要概念v故障覆盖率 F(Fault Coverage)=检测到的故障数/2 内部节点数F是随不同的假定故障而变化的可测性设计DFT(Design For Test)controllabilityobservability可可测测性性设计设计的重要概念的重要概念v可测性设计 DFT(Design for Testability)有三类方法:a、Ad hoc 测试b、BIST(Built in Self Test)c、基于扫描的方法Ad hoc 测试:即专项测试,按功能基本要求设计电路,采取一些比较简单易行的措施,使他们的可测性得到提高内建自测试 BIST:是指利用设备内部具有自检能力的硬件和软件来完成对设备检测的一种方法,这些硬件和软件是设备的一个组成部分,称为机内自测试设备。SCAN扫描测试:Full Scan、Boundary Scan 和 Partial Scan 可测性设计DFT常用方法比较v功能点测试 需在每个测试点增加可控的输入和输出,I/O增加v扫描测试 结构化的DFT技术,全扫描和部分扫描v内建自测试 消除了对ATE的存储能力和频率的限制,更具发展潜力BISTn内置式自测(BIST)n将一个激励电路和一个响应电路加在被测电路(CUT)中。激励电路会产生大量激励信号,并将其应用于CUT中,响应电路就用来对CUT的响应进行评测。n与ATE不同,BIST的性能不受负载板或测试头电气特性的限制。RAMBIST图2显示了嵌入式SRAM典型BIST电路框图。主要模块有BIST选择器函数(FBS)、BIST接口控制器(BIC)、地址模型发生器(APG)、数据模型发生器(DPG)以及输出响应鉴别器(ORE)。故障模型物理故障逻辑故障封装引脚间的漏电或短路 单一固定故障芯片焊接点到管脚连线断裂延时故障表面玷污、含湿气静态电流故障金属层迁移、应力、脱皮 金属层开路、短路 单一固定故障等价故障(1/3)等价故障(2/3)等价故障(3/3)NAND的输入SA0和输出的SA1效果等效A SA0,B SA0,Y SA1是一个等效故障集故障压缩不可测故障U1是为了避免输出端的毛刺而加的,未改变实际电路的功能,为冗余电路,故不可测可可测测性性设计设计的重要概念的重要概念v测试矢量与测试码自动生成(ATPG)(Automatic Test Pattern Generation)测试矢量是每个时钟周期应用于管脚的用于测试或者操作的逻辑1和逻辑0的数据测试码生成方法穷举法、功能定义法、ATPG、人工编码、故障模拟等ATPG,即测试码自动生成,是根据逻辑电本身的结构用算法自动生成测试码可测性设计ATPGATPG Automatic Test Pattern GeneratorD算法PODEM(Goel)FAN(Fujiwara和Shimono)高级算法 可可测测性性设计设计的重要概念的重要概念v可测试性设计的目标无冗余逻辑:逻辑实现存在冗余会增加测试生成的复杂性增加集成电路的可控制性和可观性:随着集成度提高,晶体管数、引线数比例上升,这已成为提高电路可测试性的最根本措施使测试码生成更容易有利于提高测试集的质量:包括故障覆盖率、测试集规模、实际测试时间等电路的附加部分对原来电路的性能影响应尽可能少。可测试性设计都会增加额外测试电路,使芯片面积下降、速度下降,通常芯片面积可能会增加10%20%可测性设计边边界界扫扫描技描技术术v内部扫描设计技术有两种:全扫描技术,将电路中所有的触发器用特殊设计的具有扫描功能的触发器代替,使其在测试时链接成一个或几个移位寄存器;部分扫描技术,只选择一部分触发器构成移位寄存器,降低了扫描设计的硬件消耗和测试响应时间。v边界扫描测试方法于1990年成为IEEE的标准,即IEEE Std 1149.1-1990,目前最新的版本为IEEE1149.1-20012。该标准由JTAG(Joint Test Action Group)组织制订。边界扫描测试技术的基本思想是从集成电路本身的测试性设计入手,解决数字电路板的测试问题。可测性设计扫描测试(1/2)扫描测试(2/2)设计流程Test-Ready Compilationset_scan_configuration -style multiplexed_flip_flop -clock_mixing no_mix-chain_count 1set_dft_signal-view existing_dft-type ScanClock -port clk -timing 1 8.5set_dft_signal-view existing_dft-type Reset -port rst_n-active_state 0set_dft_signal-view spec-type ScanEnable -port se -active_state 1set_dft_signal-view spec-type ScanDataIn -port aset_dft_signal-view existing_dft -type ScanDataOut-port oTest DRCcheck_scan or check_test这两个命令检查以下四类可测性问题:模型问题,诸如是否缺少相应的扫描单元;拓扑结构问题,例如是否存在不受时钟控制的组合逻辑反馈回路;确定测试协议,如找出测试时钟端口,找出测试模式下固定电平的测试状态端口;测试协议仿真,检查扫描过程是否可以正确的进行。Preview Scan Architecturepreview_scan show allv预览将要生成的扫描链的大致情况,及时发现不合乎要求的地方。Scan Insertioninsert_scanv使扫描触发器串链,建立和排序扫描链,同时进行优化以去除违反的DRC规则。Reportreport_constraint-all_violatorsreport_scan_path-view existing_dft-chain report_scan_path-view existing_dft-cell estimate_test_coverageExport to TetraMAXwrite_test_protocol -output./report/add.spfwrite-f verilog-hie -output./report/add.v设计流程Read the NetlistBUILD read netlist mydesign.vv读入DFTC转交给TetraMAX的网表文件。Read Library ModelsBUILD read netlist library./simic18.vv必须读入所有和你的设计相关的verilog库模型,此库文件由工艺厂商提供。Build the ModelBUILD run build_model top_module Performing DRCBUILD run drc mydesign.spf v测试协议文件的DRC检查Preparing for ATPGTEST add faults-all v初始化故障列表以产生一份新的在ATPG设计模型中包含所有可能的故障点的故障列表 Run ATPGTEST run atpg random v默认情况下,TetraMAX先执行Basic-Scan ATPG,接着是Sequential ATPG,最后是Full-Sequential ATPG Review Test CoverageTEST report summariesTEST report patterns summaryv查看测试覆盖率和产生的矢量的数目,若测试覆盖率很低,则需要重新进行ATPG测试矢量生成,直到得到满意的测试覆盖率。Compress Test PatternsTEST run pattern_compress 99 v99指示按不同的顺序进行99次故障仿真Save Test PatternTEST write patterns patterns.stil-format stilTEST write faults faults.AU-class au v.stil文件与.spf文件的格式一样,都是采用stil语言描述,所不同的是增加了pattern部分,给出了各个测试pattern的具体细节。边边界界扫扫描技描技术术v边界扫描结构定义了4 个基本硬件单元:测试存取口(TAP)、TAP 控制器、指令寄存器和测试数据寄存器组。TAP 一般包括4 条测试总线:测试数据输入总线(TDI)、测试数据输出总线(TDO)、测试模式选择总线(TMS)和测试时钟输入总线(TCK)。还有一个可选择的测试复位输入端(TRST3)。TAP 控制器是边界扫描的核心部分,整个测试逻辑都是由它按一定顺序调用的。在测试时钟TCK的作用下,从TDI 加入的数据可以在移位寄存器链中移动进行扫描。可测性设计边边界界扫扫描技描技术术v边界扫描单元电路TDITDOTCKTMS可测性设计边边界界扫扫描技描技术术v边界扫描电路(Boundary Scan)可测性设计JTAGn目的:由于表面贴装技术以及高密度封装(BGA)的使用,使得PCB的密度越来越高,以往的针床测试法变得越来越不易使用。为了简化测试过程、统一测试方式,IEEE制订了边界扫描标准。n概念:利用四线接口扫描所有的管脚。JTAGJTAGJTAGJTAG边边界界扫扫描技描技术术v数字电路板使用边界扫描测试方法有三个前提条件:电路板上使用的集成电路(IC)支持边界扫描标准IEEE1149.1(目前ALTERA、XILINX和 LATTICE的主要系列的大规模可编程逻辑集成电路都支持IEEE1149.1)PCB上的IC按照测试性设计要求形成边界扫描链(即对数字电路板进行可测试性设计)有支持边界扫描测试功能的软件系统(用于建立边界扫描测试所需要的各种文件和执行边界扫描测试,比如ASSET InterTech公司的ScanWorks 和法国Temento公司的DiaTem)可测性设计边边界界扫扫描技描技术术v选择选择集成集成电电路路在设计数字电路板时,应尽可能选择支持IEEE1149.1标准的集成电路。优先选用同时支持IEEE1149.1和IEEE1532标准的可编程集成电路。IEEE1532标准能使来自不同厂家的可编程逻辑集成电路使用相同软件进行编程。可测性设计边边界界扫扫描技描技术术v设计边设计边界界扫扫描描链链由于LATTICE、XILINX、ALTERA、TI和AD公司的编程软件工具不兼容,因此,为了便于使用各自的编程软件工具进行编程,不同公司的可编程集成电路应放置在不同的扫描链上,每一个扫描链提供一个独立的用于编程和测试的JTAG接口。根据IEEE1149.1标准,JTAG测试接口包括TMS、TCK、TRST、TDI和TDO等5种信号。为了适应多JTAG接口的要求,边界扫描测试系统应提供多个JTAG接口,例如ScanWorks最多能提供16个JTAG接口。可测性设计边边界界扫扫描技描技术术如果不同公司的可编程集成电路支持IEEE1532标准,则可以把它们放置在同一扫描链上。此时,可以使用相同的编程软件对来自不同公司的集成电路进行编程。尽量把具有相同电压等级的集成电路放在同一条扫描链中。ScanWorks可以提供可编程的JTAG接口电平,以适应不同电压等级的集成电路测试需要。若要把不同电压等级的集成电路设置在同一个扫描链中,则需要进行电平转换。在下图所示的扫描链中,后一个集成电路的TDI、TMS、TCK、TRST和TDO需要进行电平转换。可测性设计边边界界扫扫描技描技术术可测性设计边边界界扫扫描技描技术术当把具有不同TCK的速度的集成电路设放置在同一个扫描链时,TCK速度必须设置为扫描链中最慢集成电路的TCK速度。可测性设计边边界界扫扫描技描技术术v边边界界扫扫描描测试测试接口信号的接口信号的连连接方法接方法边界扫描测试接口信号包括TMS、TCK、TRST、TDI和TDO。为了保证这些信号的完整性,需要对进入数字电路板的接口信号进行缓冲,特别是TCK和TMS。常用的缓冲集成电路有54LS244。若54LS244不能满足速度要求,则可以采用速度更快的FPGA作为缓冲器。TRST是复位信号,常用接法如图2所示。该接法可以提高驱动能力,解决因集成电路内部上拉电阻并联后阻值过小而引起的TRST不能驱动为低电平的问题。可测性设计边边界界扫扫描技描技术术 可测性设计边边界界扫扫描技描技术术v特殊功能引脚的特殊功能引脚的连连接方法接方法某些支持边界扫描测试的集成电路有一些特殊功能引脚,这些引脚影响边界扫描测试功能。当进行边界扫描测试时,需要将这些引脚设置到特定的状态。在使用集成电路之前,应仔细阅读该集成电路的BSDL文件,然后按照特殊功能引脚的使用要求进行合理的连接。BSDL文件是由集成电路制造商提供的描述该芯片边界扫描功能的一种文本格式的文件。可测性设计边边界界扫扫描技描技术术下面举例说明如何正确连接特殊功能引脚。Xilinx SPARTAN XC2S150 FPGA的BSDL文件中指出:当处于边界扫描测试模式时,该芯片的PROGRAM引脚应设置为1;当处于其它工作方式时,PROGRAM引脚应设置为0。为了保证在边界扫描测试模式时,PROGRAM引脚能设置为1,该引脚应连接到一个开关上,利用开关可以设置PROGRAM引脚为1或0。TI公司的TMS320C6701(DSP)芯片,当处于正常工作或仿真调试状态时,EMU0和EMU1引脚应设置为11,而处于边界扫描测试状态时,EMU0和EMU1引脚应设置为00。这两个引脚不能连接到固定信号上,应连接到开关上,利用开关设置EMU0和EMU1引脚的状态。可测性设计谢谢!
展开阅读全文