专利名称:用于芯片内系统的设计的分级内置自测试的制作方法
技术领域:
本发明总体涉及计算机芯片中的和用于计算机芯片的内置自测试(built-in-self-test)。
背景技术:
内置自测试(BIST)设计已经在存储器和微处理器新芯片中普遍实行。有些BIST设计只在晶片级或模块级测试期间使用一次,以筛选出坏芯片。其它BIST设计在芯片的整个生命期被用来在每次通电之后进行自检和修复。在当今的高密度、高性能芯片设计中,BIST已经变成一个决定产品的开发成本和上市时间的关键电路成分。
高密度动态随机存取存储器(DRAM)中的典型BIST电路包括控制器、高速缓存、模式发生器和数据比较器。(例如,参看JefferyDreibeibis等人的“Processor-based built-in Self-test forEmbedded DRAM”,IEEE Journal of Solid State Circuits,第33卷,第11号,1988年,1731-1739页。)控制器用信号位于外部测试器(tester)通信。诸如START、STOP、CONTINUE、REFRESH、READ和WRITE等不同测试方式,能通过对信号位的编程而被执行。一般来说,高速缓存能存储多个程序中的256个20位的指令字。在芯片被通电后,高速缓存将被装载(load)一个决定DRAM将如何被测试的测试程序集合。模式发生器能够生成诸如固态(solid)“1”、固态“0”、棋盘(checkerboard)、行条(row stripe)、列条(column stripe)和跨步(march)模式等普通测试模式。数据比较器将从DRAM读取的数据与预期被写到DRAM的数据比较,确定电路通过测试还是通不过测试。
更详细的分析可以在晶片烧入(burn-in)或模块烧入期间进行。在扫描DRAM阵列的每个行和列之后,一个内置的地址堆栈寄存器阵列将存储具有最高的故障计数(fail counts)的地址。这些地址将被用于通过借助于熔丝编程技术(fuse programming techniques)激活冗余(activating redundancies)的修复。
通过在单一芯片上设置许多不同的宏(macros),芯片内系统(system-on-chip,SOC)设计充分利用集成技术实现多功能操作。例如,无线通信芯片可以包含一个内置DRAM存储器宏、快闪存储器宏、微处理器内核、混合的信号宏和一些类似的宏。设计复杂的系统芯片的挑战之一是核查其设计。然而,由于每个宏的多数输入和输出引脚在集成后变得不可接触,难以对系统芯片进行高速度而低成本的测试。
由于多数现有的内置自测试电路都是针对个别宏专门制作的,用于单一存储器或处理器芯片的BIST设计不能被应用于包括存储器和处理器两种宏的系统芯片。用于存储器测试的BIST设计不能被直接用于处理器测试,反之亦然。此外,对于模拟的、射频(RF)的、和混合信号宏,没有已知的BIST设计。
于是,认识到需要提供一种高效的内置自测试方法来进行完整的芯片内系统测试,以保证芯片内系统设计的可靠性和性能。
发明内容
相应地,本发明一方面提供一种用于芯片内系统的分级内置自测试的装置,所述装置包含中央BIST控制器、至少一个本地BIST电路、至少一个设置在所述中央BIST控制器与所述至少一个本地BIST电路之间的通信介质。
最好,所述至少一个本地BIST电路与至少一个宏相关联。
最好,所述中央BIST控制器包含用于每个宏的硬编码(hard-coded)测试命令的存储器。
最好,所述中央BIST控制器包含至少一个为每个宏进行测试命令编程的可编程介质。
最好,所述中央BIST控制器包含一个状态机,每个宏的测试序列通过状态机被执行。
最好,所述中央BIST控制器包含一个处理外部测试程序的处理器。
最好,所述中央BIST控制器包含一个存储为随后的外部分析而从每个宏收集的数据的临时存储空间。
最好,所述临时存储空间包含一个动态随机存储器。
最好,所述中央BIST控制器包含一个执行分级测试算法的逻辑。
最好,所述逻辑适合在多于一个测试水平上执行测试。
最好,所述逻辑适合在执行至少一个较低水平的测试之前执行至少一个较高水平的测试。
最好,所述宏包含多个宏;且所述逻辑适合在每个宏内以及多个宏之间确定一个故障(failure)机制。
最好,所述逻辑适合检测到一个致命的或不可恢复的故障时中止(abort)测试程序。
最好,所述逻辑促使至少一个本地BIST电路修理(fix)至少一个宏中的可恢复故障。
最好,所述逻辑在给定水平的测试完成后启动不同的分级水平上的测试。
最好,所述中央BIST控制器包含一个存储为随后的外部分析而从每个宏收集的数据的临时存储空间;且所述逻辑适合在所述至少一个本地BIST电路完成最终水平的测试之后向所述中央BIST控制器传输数据并在所述临时存储空间中存储数据。
最好,所述逻辑适合在所述至少一个本地BIST电路对每个宏完成最终水平的测试之后发送测试完成信号。
最好,所述至少一个通信介质包含命令和数据位;以及引导所述命令和数据位到至少一个特定宏的地址位。
第一方面的装置最好进一步包含至少一个可以向所述中央BIST控制器转移以对测试程序编程的预定测试程序。
最好,所述中央BIST控制器包含一个DSP处理器。
第一方面的装置最好进一步包含至少一个冗余的、为修复目的而配备的本地电路。
本发明的第二方面是提供一种用于芯片内系统的分级内置自测试的方法,所述方法包含以下步骤提供一个中央BIST控制器,提供至少一个本地BIST电路,在所述中央BIST控制器与所述至少一个本地BIST电路之间通信。
第二方面的方法最好进一步包含提供与所述至少一个本地BIST电路相关联的至少一个宏的步骤。
最好,所述提供中央BIST控制器的步骤包含提供用于每个宏的硬编码测试命令的存储器。
最好,所述提供中央BIST控制器的步骤包含提供至少一个为每个宏进行测试命令编程的可编程介质。
最好,所述提供中央BIST控制器的步骤包含提供一个状态机,每个宏的测试序列通过状态机被执行。
最好,所述提供中央BIST控制器的步骤包含提供一个处理外部测试程序的处理器。
最好,所述提供中央BIST控制器的步骤包含提供一个存储为随后的外部分析而从每个宏收集的数据的临时存储空间。
最好,所述提供临时存储空间的步骤包含提供一个动态随机存储器。
第二方面的方法最好进一步包含执行分级测试算法的步骤。
最好,所述执行分级测试算法的步骤包含在多于一个测试水平上执行测试。
最好,所述执行分级测试算法的步骤包含在执行至少一个较低水平的测试之前执行至少一个较高水平的测试。
最好,所述宏包含多个宏;且所述执行分级测试算法的步骤包含在每个宏内以及多个宏之间确定一个故障机制。
最好,所述执行分级测试算法的步骤包含检测到一个致命的或不可恢复的故障时中止测试程序。
最好,所述执行分级测试算法的步骤包含促使至少一个本地BIST电路修理至少一个宏中的可恢复故障。
最好,所述执行分级测试算法的步骤包含在给定水平的测试完成后启动不同的分级水平上的测试。
最好,所述提供中央BIST控制器的步骤包含提供一个存储为随后的外部分析而从每个宏收集的数据的临时存储空间;且所述执行分级测试算法的步骤包含在所述至少一个本地BIST电路完成最终水平的测试之后向所述中央BIST控制器传输数据并在所述临时存储空间中存储数据。
最好,所述执行分级测试算法的步骤包含在所述至少一个本地BIST电路对每个宏完成最终水平的测试之后发送测试完成信号。
最好,所述通信步骤包含提供命令和数据位;以及提供引导所述命令和数据位到至少一个特定宏的地址位。
第二方面的方法最好进一步包含提供至少一个可以向所述中央BIST控制器转移以对测试程序编程的预定测试程序的步骤。
最好,所述提供中央BIST控制器的步骤包含提供一个DSP处理器。
第二方面的方法最好进一步包含提供至少一个冗余的、为修复目的而配备的本地电路的步骤。
在最佳实施例中,本发明提供一种机器可读的程序存储器,该存储器有形地体现可由机器执行的指令程序,用以执行用于提供一种用于芯片内系统的分级内置自测试的方法步骤,所述方法包含以下步骤提供一个中央BIST控制器,提供至少一个本地BIST电路,在所述中央BIST控制器与所述至少一个本地BIST电路之间通信。
按照本发明最少一个当前最佳实施例,提供一种分级内置自测试(BIST)设计方法,用于测试具有各种功能块和宏的集成系统芯片。
按照至少一个实施例,本发明也广泛地设想提供一个中央BIST控制器、对应每个宏的一个或多个本地BIST电路、以及数据/控制路径,以执行芯片内系统(SOC)测试操作。
本发明进一步所设想的是,提供一种允许对不同宏的不同水平的测试(一个或多个水平)的优选的分级测试方法。例如,最高水平的测试检测每个宏的不可恢复的错误。下一水平的测试检测宏接口的不可恢复的错误。随后的水平的测试可以包括自我修复(self-repairing)、自我调节(self-tuning)以及每个宏的参数调整,以保证其性能和功能。最后水平的测试进行接口调试和输出(yield)分析,并向外部测试器发送报告。
按照本发明最少一个当前最佳实施例,中央BIST控制器包含用于存储测试模式和为每个宏的测试命令编程的可编程器件;用于有序地执行每个宏的测试序列的状态机;用于从本地BIST电路收集反馈数据的动态随机存储器(DRAM);用于借助来自外部测试器的程序进行宏内(intra-macro)和宏间(inter-macro)测试的内置处理器。
本发明另外所设想的是,提供一种优选的测试算法,该算法为减少总测试时间而以分级的和并行的方式进行自我测试和设置停止条件。
总之,本发明的一个方面的最佳实施例提供一种用于芯片内系统的分级内置自测试的装置,该装置包含一个中央BIST控制器,至少一个本地BIST电路,在中央BIST控制器与至少一个本地BIST电路之间提供的至少一个通信介质。
本发明的另一个方面的最佳实施例提供一种用于芯片内系统的分级内置自测试的方法,所述方法包含以下步骤提供一个中央BIST控制器,提供至少一个本地BIST电路,在中央BIST控制器与至少一个本地BIST电路之间通信。
此外,本发明的另一个方面的最佳实施例提供一种机器可读的程序存储器,该存储器有形地体现可由机器执行的指令程序,用以执行用于提供一种用于芯片内系统的分级内置自测试的方法步骤,所述方法包含以下步骤提供一个中央BIST控制器,提供至少一个本地BIST电路,在中央BIST控制器与至少一个本地BIST电路之间通信。
附图简介现在将仅通过举例,参照附图来说明本发明的最佳实施例。
图1表示具有特定内置自测试(BIST)单元的芯片内系统(SOC)设计。
图2表示用于系统芯片及其子系统的总体分级内置自测试方案。
图3表示能被全局和本地BIST单元执行的测试程序的流程图。
最佳实施方式图1表示具有特定内置自测试(BIST)单元的芯片内系统(SOC)设计。具体来说,中央BIST控制单元10将包括地址位和命令位的信息分别发送到各个宏30、50、70、90、100的本地BIST单元30a、50a、70a、90a、100a,并最好以分级的方式进行以下测试-射频(RF)宏30、快闪存储器宏50、混合信号宏70、动态随机存储器宏90、以及处理器宏100的单元测试;-处理器宏100与DRAM宏90之间的接口测试,诸如从DRAM向处理器读数据,从处理器向DRAM写数据,以及执行来自DRAM宏的处理器测试程序;-RF宏30与外部天线之间的接口测试;-RF宏30与混合信号宏70的基带(base-band)部分之间的接口测试;-快闪存储器宏50与混合信号宏70的数字信号处理(DSP)单元之间的通信测试,例如在快闪存储器存储来自DSP的信息,执行块擦除;以及-DRAM宏90与快闪存储器宏50之间的数据传输性能测试,例如在这两个单元之间交换数据。
当中央BIST控制单元10检测到不可恢复的故障时,最好将测试序列立即存储器起来,以节省测试时间。所有其它可恢复的故障(如果可恢复的话)最好由本地BIST电路(30a、50a、70a、90a、100a)修理并报告给当中央BIST控制单元10供进一步分析。图2表示用于系统芯片及其子系统的总体分级内置自测试方案。(例如,膝上型系统可能有多媒体、视频、声频、调制解调器、接口等子系统。)特别地,图2表示按照本发明的至少一个当前最佳实施例可以采用的大体层次。如图所示,在全局或系统层200上,可以出现芯片外通信、全局BIST控制和全局BIST程序。另一方面,在层次中低一级的子系统层205上,可以把芯片上(on chip)通信、第二层(或中层)BIST控制和第二层(或中层)BIST编程与207a、207b、207c等处的各种子系统相关联。从那里起,在层次的“本地”层210上,最好可以把本地BIST控制和本地BIST编程与212a、212b、212c、212d等处的各种核(cores)和宏相关联。应当认识到,概括来说,最好有至少一个(但是通常多于一个)与子系统“层”205相关联的、从属于位于层200的全局系统的子系统,有至少一个(但是通常多于一个)与本地“层”210相关联的、从属于每个子系统的核或和宏。
在本发明的最佳实施例中,每个子系统最好有一个位于层次的“底”或“首”层的本地BIST单元,用于提供诸如READ(读)、WRITE(写)、EXECUTE(执行)和RETURN(返回)等标准测试功能。这样的一个本地BIST单元最好也提供特定于其驻留所在的子系统的测试功能。例如,在DRAM宏中的本地BIST单元可以有一个模式发生器,用于为存储阵列生成预定的测试模式。在处理器宏中的本地BIST单元最好有一个程序发生器,用于为中央处理请单元(CPU)核交付预定的程序。(注意,CPU核也可能是个DSP单元)。所有本地BIST电路都配备有一个公共接口,以方便在全局BIST单元与本地BIST单元之间的通信。这个通信通道可以是串行总线、并行总线、或者任何现有的标准总线。如果本地BIST电路没有公共接口,则最好要在全局BIST单元中实施对应于每个本地BIST电路的特定接口。
芯片上通信允许全局BIST单元执行对本地BIST单元的控制和数据传输操作。控制操作允许全局BIST单元启动本地BIST、停止本地BIST或者请求本地BIST的状态。数据传输操作允许全局BIST单元在本地BIST单元存储测试程序或者从本地BIST单元读测试结果。此外,芯片上通信允许全局BIST单元在两个或更多的本地BIST单元之间进行控制和数据传输操作。例如,控制操作可以启动多于一个的本地BIST、停止多于一个的本地BIST或者请求多于一个的本地BIST的状态。数据传输操作可以在多于一个的本地BIST单元存储测试程序,从多于一个的本地BIST读测试结果,或者借助指定的本地BIST单元进行宏-到-宏(macro-to-macro)测试。
全局BIST的一个更关键的特点是能确定本地宏是否在按设计说明书正常地工作。如果不是,则全局BIST最好用冗余的本地单元替换之。
图3表示能被全局和本地BIST单元执行的测试程序的流程图。
如图所示,最好首先加载分级BIST程序(302)。然后最好运行本地BIST程序n(304)。当发生与对应的本地BIST报告相关联的故障(306),过程结束(308)。否则,判断(310)n是否等于N,后者代表可用的本地BIST的总数。如果不相等,则将n递增1(312)并重新访问步骤(304)。如果相等,则在314运行一个第二层或中层BIST。这里,系统BIST最好也顺序地或者以另外定义的次序从子系统询问每个BIST。最后,最好在316运行全局或顶层BIST。当发生与顶层BIST报告相关联的故障(318),过程结束(320)。如果“通过”,则认为分级BIST在322完成。步骤322对应于过程的成功完成,步骤308和/320则可能或者在不可恢复故障的情况下促使过程的提前终止-为此将向外部测试器或操作者通知;或者在可恢复故障的情况下启动另外的测试程序甚至自修复程序。
按照本发明的至少一个当前最佳实施例,测试程序可以由全局BIST与定义,或者借助芯片外通信通道从外部加载。子系统的测试程序可以被本地BIST单元并行地执行,以减少测试时间。当本地BIST单元检测到不可恢复故障时,故障被通过芯片上BIST间通信通道报告给全局BIST单元。全局BIST单元随后终止测试,并且,如果没有准备好的用于在全局层替换的额外单元,则通过芯片外通信通道向外部测试器发出故障信号。另一方面,如果检测到本地可恢复的故障,则可在每个子系统上运行诸如冗预激活和性能调节的多个测试程序。为了提高测试效率,提供最高故障恢复的测试程序将首先被执行。在所有的本地BIST单元成功地执行它们各自的子系统测试之后,全局BIST单元将进行最后的系统测试。
应当理解,按照至少一个当前最佳实施例,本发明广泛地设想一种可以由两层、三层、四层或四层以上的多层构成的层次。就一层的BIST与层次中紧接着的较低层的一个或多个BIST之间的关系而言,类似原理适用于每种情形。
应当明白,按照至少一个当前最佳实施例,本发明包括一个中央BIST控制器、至少一个本地BIST电路、以及至少一个设置在该中央BIST控制器与该至少一个本地BIST电路之间的通信介质。中央BIST控制器、至少一个本地BIST电路、以及至少一个通信介质可以一起在至少一个运行适当的软件程序的通用计算机上实现。它们也可以在至少一个集成电路上或者至少一个集成电路的一部分上实现。所以应当明白,本发明可以以硬件、软件或者它们的组合的形式实现。
尽管本文已经结合各
了本发明的示例性实施例,应当明白,本发明并不限于这些具体实施例,本技术领域的熟练人员在不偏离本发明的范围的情况下可以做出各种变更和修改。
权利要求
1.用于为芯片内系统提供分级内置自测试的装置,所述装置包含中央BIST控制器;至少一个本地BIST电路;和至少一个设置在所述中央BIST控制器与所述至少一个本地BIST电路之间的通信介质。
2.权利要求1的装置,其中,所述至少一个本地BIST电路与至少一个宏相关联。
3.权利要求2的装置,其中,所述中央BIST控制器包含用于每个宏的硬编码测试命令的存储器。
4.权利要求2的装置,其中,所述中央BIST控制器包含至少一个为每个宏进行测试命令编程的可编程介质。
5.权利要求2的装置,其中,所述中央BIST控制器包含一个状态机,每个宏的测试序列通过状态机被执行。
6.权利要求2的装置,其中,所述中央BIST控制器包含一个处理外部测试程序的处理器。
7.权利要求2的装置,其中,所述中央BIST控制器包含一个存储为随后的外部分析而从每个宏收集的数据的临时存储空间。
8.权利要求7的装置,其中,所述临时存储空间包含一个动态随机存储器。
9.为芯片内系统提供分级内置自测试的方法,所述方法包含以下步骤提供一个中央BIST控制器;提供至少一个本地BIST电路;和在所述中央BIST控制器与所述至少一个本地BIST电路之间通信。
10.一种机器可读的程序存储器,该存储器有形地体现可由机器执行的指令程序,用以执行用于为芯片内系统提供分级内置自测试的方法步骤,所述方法包含以下步骤提供一个中央BIST控制器;提供至少一个本地BIST电路;和在所述中央BIST控制器与所述至少一个本地BIST电路之间通信。
全文摘要
用于验证系统功能的分级内置自测试的方法和装置。结果,提供一种用于进行完整的芯片内系统测试的有效的分级内置自测试的方法,以保证电路的可靠性和芯片内系统设计的性能。附加的优点是,芯片内系统应用的开发成本得到降低。
文档编号H01L27/04GK1511285SQ02810397
公开日2004年7月7日 申请日期2002年5月15日 优先权日2001年5月23日
发明者H·H·陈, L·L·-C·许, L·-K·王, -C 许, H H 陈, ね 申请人:国际商业机器公司