高度复杂的SoC设计正面临着高可靠性、高质量、低成本以及更短的产品上市周期等日益严峻的挑战。可测性设计通过提高电路的可测试性,从而保证芯片的高质量生产和制造。借助于EDA技术,可以实现可测试性设计的自动化,提高电路开发工作效率,并获得高质量的测试向量,从而提高测试质量、低测试成本。
半导体工艺的进步以摩尔定率的速度推动着集成电路产业的发展。随着芯片的工艺尺寸越来越细,集成度越来越高,半导体工艺加工中可能引入越来越多的各种失效。传统的利用功能仿真向量进行生产制造芯片的后期测试,虽然有的工程师认为由于充分测试过电路的功能,所以功能测试向量应该可以满足市场对产品质量的需求,然而实际上功能测试向量还很不完备,亚微米、深亚微米制造工艺条件下,功能测试向量所能达到的测试覆盖率只有50%到60%左右,测试的质量得不到充分保证;另外功能测试向量的产生和运行都十分昂贵;与此同时功能测试向量还不便于失效器件的故障诊断。
可测试性设计的内容与EDA技术
半导体工艺中可能引入各种失效,材料的缺陷以及工艺偏差都可能导致芯片中电路连接的短路、断路以及器件结间穿通等问题。而这样的物理失效必然导致电路功能或者性能方面的故障,对这些电学故障进行逻辑行为抽象就称为故障模型。例如,最常用的一种类型的电学故障可以抽象为单元中的信号状态被锁定在逻辑“0”或者逻辑“1”上(SA0或者SA1),这种类型物理失效的抽象模式被称为“Stuck-at”的故障模型;对于深亚微米制造工艺的芯片,其高性能的测试中还必须结合多种实速(at-speed)故障模型,包括跃迁故障模型、路径延时故障模型和IDDQ故障模型等。
Stuck-at故障模型示例如图1所示,其测试向量及测试结果的判断如该真值表所示。通常情况下,多数工艺失效问题都可以通过利用stuck-at故障模型测试到。
跃迁故障模型包括慢上升(Slow-to-Rise)和慢下降(Slow-to-Fall)两种类型。我们以慢上升故障模型为例来说明跃迁故障模型的测试。如图2所示,观测窗口是电路正常工作所允许的最大跃迁延迟时间,测试时如果在观测窗口时间段内扑获不到期望的输出,则认为被测试节点存在跃迁故障。
路径延时故障模型与跃迁故障模型类似,不同的是利用路径延时故障模型测试的电路的某一路径的集中延时情况。如图3所示,路径延时故障模型测试的对象是一条时序路径,通过对路径的输入端赋值进行触发,然后在特定的观测时间窗口内、在路径输出端捕获期望输出。
IDDQ故障模型利用在电路稳态情况下观测电源的静态漏电流的变化情况达到测试电路失效故障的目的。如图4所示,如果电路的B节点存在SA1故障,晶体管N1处于常开启状态,测试时会发现改变B节点的输入激励,电源的静态漏电流的变化不大。
可测性设计(DFT)就是确保设计的电路具备更高的可测试性并且自动产生高质量的测试向量集;其目的就是为了确保ASIC/SOC芯片在生产制造之后,通过测试的产品都能够正确无误地工作。可测性设计的内容主要包括:1. 测试综合:芯片设计过程中DFT在设计中自动插入测试结构,确保生产加工后的芯片易于测试。2. ATPG:利用EDA工具自动产生可以在ATE上运行的测试向量,利用EDA工具自动诊断导致元器件失效的故障产生的原因。3. BIST:利用EDA工具自动生成被测电路的测试用IP,完成测试序列生成和输出响应分析两个任务,通过分析被测电路的响应输出,判断被测电路是否有故障。
如图5所示是DFT解决方案:对全扫描逻辑电路的测试,设计者可以选用Fastscan,对部分扫描逻辑电路的测试,设计者可以选用Flextest,对IP或宏模块的内建自测试,设计者也可以选用LBISTArchitect。对Memory的测试,设计者可以选用MBISTArchitect,也可以选用fastscan的子模块功能Macrotest。采用边界扫描电路的设计,设计者可以选用BSDArchitect。
测试综合完成自动插入全扫描或部分扫描的测试逻辑,大大增强了IC和ASIC设计的可测试性。它在设计过程的早期阶段进行可测性分析,在测试向量生成和扫描自动综合之前发现并修改违反测试设计规则的问题,尽可能提高ATPG的效率并缩短测试开发的周期。
测试综合工具DFTAdvisor利用友好的图形用户界面引导完成可测性分析,执行全面的测试规则检查,完成并优化扫描逻辑插入,保证在ATPG之前不存在任何遗留的可测性问题。其主要特点如下:
支持智能化的、层次化的测试逻辑的自动化插入;
通过密集的基于仿真的测试规则检查(超过140条测试规则)来确保高效率的可测性分析;在设计的早期阶段,发现并纠正设计中影响可测性的问题;
支持Mux-DFF、Clocked-Scan和LSSD扫描结构;
同时支持全扫描与部分扫描的识别与插入;提供了多种可选的部分扫描插入方式,并可自动选择部分扫描方式;
通过自动测试点插入与综合来加强设计的可测性;
通过插入测试逻辑电路来自动纠正设计中违反可测性设计规则的部分;
支持版图层次上的扫描链单元的次序控制,以提高测试逻辑插入过程中的时序有效性;
为后续的ATPG过程提供充分支持,生成ATPG工具要求的全部SETUP文件,可直接调用ATPG 工具确保快速DFT流程;
支持UNIX平台(Solaris, HP-PA) 及LUNIX操作平台。
ATPG是指测试向量自动生成。它是可测试性设计的核心,因为生成测试向量的质量好坏直接关系到测试成本的高低。一方面ATPG工具针对Stuck-at故障模型、跃迁故障模型、路径延时故障模型、IDDQ模型生成高质量的测试向量,另一方面ATPG工具利用生成的测试向量进行故障仿真和测试覆盖率计算。ATPG算法又分为组合ATPG和时序ATPG两种。
FastScan测试向量自动生成工具可以针对全扫描IC设计或规整的部分扫描设计生成高质量的的测试向量。其主要特点如下:
支持对全扫描设计和规整的部分扫描设计自动生成高性能、高质量的测试向量;
支持多种故障模型:stuck-at、transition、critical path和IDDQ;
提供超过140条基于仿真的测试设计规则检查;
提供高效的静态及动态测试向量压缩性能;
FastScan CPA选项支持在速测试用的路径延迟测试向量生成;
FastScan MacroTest选项支持小规模的嵌入模块或存储器的测试向量生成;
FastScan Diagnostics选项可以通过分析ATE机上失败的测试向量来帮助定位芯片上的故障;
ASICVector Interfaces选项可以针对不同的ASIC工艺与测试仪来生成测试向量;
支持32位或64位的UNIX平台(Solaris, HP-PA)及LUNIX操作平台。
FlexTest的时序ATPG算法使它在部分扫描设计的ATPG领域拥有巨大的优势,它也可以显著提高无扫描或全扫描设计的测试码覆盖率;其内嵌故障仿真器可以估计功能测试码的故障覆盖率,然后在此基础上生成部分扫描并进行ATPG。其主要特点如下:
可以使用已有的功能测试向量进行故障仿真;计算测试覆盖率;
针对一般的时序电路或部分扫描电路的进行高效ATPG与故障仿真;
FlexTest Distributor选项提供的网络分布处理技术可以加速ATPG与故障仿真过程;
支持多种故障模型:stuck-at、transition和IDDQ;
提供超过140条基于仿真的测试设计规则检查;
与FastScan和DFTAdvisor共享数据库,使得DFT与ATPG流程效率更高。
基于嵌入式压缩引擎的ATPG算法是下一代ATPG工具的发展趋势。TestKompress提供的嵌入式压缩引擎可以作为通用的IP很方便地集成到用户的设计,EDT(Embedded Deterministic Test)算法在保证测试质量的前提下显著地(目前可达到100倍)压缩测试向量数目,同时大大提高了测试运行的速度。其主要特点如下:
在保证测试质量的前提下成百倍地减少测试向量的数目,成百倍地降低测试成本;
引入嵌入式压缩引擎IP不需要对系统逻辑进行任何更改,对电路的性能没有任何影响;
支持多种故障模型:stuck-at、瞬态和路径延迟、IDDQ;
支持多种测试向量类型:Basic、clock-sequential、RAM-Sequential、时钟PO和多负载;
与FastScan和DFTAdvisor共享数据库,使得DFT与ATPG流程效率更高。
广义的BIST技术包括LBIST、MBIST和边界扫描技术。LBIST技术是指在ASIC、IC或IP内核中自动插入内建自测试电路,以保证较高的故障覆盖率。由于它不需要在ATE机上加载测试向量,而且可以在芯片的工作频率下进行实速测试,所以它可以缩短测试时间,降低测试成本。LBIST工具可以自动生成BIST结构(BIST控制器、测试向量发生器和电路特征压缩器)的可综合RTL级HDL描述,并快速进行故障仿真以确定故障覆盖率。Mentor公司提供的LBIST工具BISTArchitect的主要特点如下:
内建自测试技术降低了芯片测试对ATE测试机memory容量的要求;
针对部件或系统进行内建自测试(BIST)的自动综合、分析与故障仿真,便于进行设计与测试的复用;
实速测试和多频率测试确保了高性能、高质量的测试设计;
全面的BIST设计规则检查确保了易用性、减少了设计时间、缩短了设计面市时间;
采用MTPI技术能够在获得最大故障覆盖率的同时将对设计的影响减至最低;
BIST部件的RTL综合和与工艺无关,可以保证设计复用;
配合BSDArchetect可实现层次化的LBIST电路连接关系。
MBIST技术可以自动实现存储器单元或阵列的RTL级内建自测试电路。MBIST的EDA工具一般支持多种测试算法,可以对一个或多个内嵌存储器自动创建BIST逻辑,并完成BIST逻辑与存储器的连接。它能够在多个存储器之间共享BIST控制器,实现并行测试,从而显著缩短测试时间和节约芯片面积。MBIST结构中还可以包括故障的自动诊断功能,方便了故障定位和开发针对性的测试向量。MBISTArchitect以其简捷、易用、支持用户自定义测试算法等技术优势而被推崇为业界市场份额最大的MBIST工具。其主要特点如下:
自动插入与连接BIST控制器到嵌入式存储器或外部存储器,缩短了设计与测试时间;
生成可综合的VHDL或Verilog描述、仿真用的测试基准和综合命令文件,保证通畅的设计流程和灵活的目标工艺映象;
支持对多种形式的存储单元测试,包括:SRAM、ROM、DRAM和多端口RAM;
支持多种存储器测试算法,包括:March C+、检查板、ROM、特定地址和数据保持等等;
支持用户自定义的存储器测试算法;
能够提供诊断信息以进行失效存储单元的定位;
提供可选择的存储单元自动修复功能,提高成品率。
边界扫描测试技术将输入输出单元置换为扫描单元,并且通过测试存储端口(TAP)来控制这些输入输出单元的移位输出从而实现芯片级互联测试以及实现所有测试技术的连接,创建边界扫描结构并且为设计中其它的测试方法包括扫描,存储器BIST和逻辑BIST提供芯片级的控制。
边界扫描EDA工具可以在逻辑综合之前的RTL设计阶段自动生成符合IEEE 1149.1定义的边界扫描电路结构,并将它插入到原来的设计中。BSDArchitect工具读入IC、ASIC或MCM设计的行为级VHDL或Verilog描述,生成符合IEEE1149.1边界扫描标准的VHDL或Verilog电路描述,并将它插入到原来的设计中;为实现自动验证,它还可以生成一个可用于任何VHDL或Verilog仿真器的测试基准文件;此外,BSDArchitect形成设计的BSDL模型,为生成测试向量做准备。为了实现更好的性能可预测性和设计复用,也可以直接插入实现在特定工艺上的边界扫描电路。在SOC测试中,BSDArchitect还利用IEEE 1149.1边界扫描结构中的自定义指令进行全片的测试管理。
DFT技术面临的挑战及其发展趋势
DFT技术面临的挑战主要体现在两个方面:一是SOC产品的可测试性设计需要ATPG和BIST技术相结合,二是0.13um以下的工艺制造工艺需要处理更多的失效故障模型,具体表现在(at-speed)实速测试。
当今超大规模的IC设计往往具有部分或全部SOC设计的特征:既存在逻辑电路,也存在存储器单元,甚至包括一些设计重用的宏模块和嵌入式的处理器内核。DFT是一种基于结构化的测试技术,针对这些不同的电路结构,对应的DFT技术也呈现多样化趋势。举例来说,通信类超大规模集成电路往往包含大量的、分布式的、小容量存储器阵列,如果利用MBIST技术进行测试,由于大面积MBIST电路的插入,往往会影响存储器阵列周围的布线通路,从而影响电路的时序特性。Mentor公司通过研究利用ATPG算法对存储器阵列进行测试,成功推出了Macrotest这样的EDA工具。如图6所示,工程师对存储器阵列的测试面临了更多的选择,同样也需要一种折中考虑。
深亚微米制造工艺0.13um和90nm以下的工艺加工线宽引发的失效故障往往与电路的工作速度相关。对深亚微米制造工艺的芯片必须生成实速测试向量进行测试,才能够保证芯片的质量。然而,实速测试向量的引入一方面增加了故障覆盖率,另一方面也增加了测试向量的数目。为了解决这个问题,可以采用嵌入式压缩引擎的ATPG工具,牺牲硅片面积,换取测试成本。如图7所示,去压缩器(Decompressor)和比较器(Compactor)可以作为通用的IP很方便地集成到用户的设计,引入嵌入式压缩引擎IP不需要对系统逻辑进行任何更改,对电路的性能没有任何影响;一方面利用片上压缩技术减少ATE机上存储的测试向量数目,另一方面利用片上压缩技术增加扫描链的个数以减少扫描链的长度,减少测试时间,从而成百倍地降低测试成本。