SOC芯片设计与测试
引言
以往的系统设计是将CPU,DSP,PLL,ADC,DAC或Memory等电路设计成IC后,再加以组合变成完整的系统,但现今的设计方式是将上述的电路直接设计在同一个IC上,或购买不同厂商的IP(intellectual property),直接加以整合,此方式称为单晶片片上系统(SOC)设计方法。SOC方式大大降低了昂贵的设计和制造成本,但对于测试来说却变得更为复杂,测试成本也越来越高,测试问题已不容忽视。面向测试设计(DFT)及面向生产设计(DFM)已越来越得到高度重视。因此,在SOC设计时,必须考虑产品测试。
复杂SOC器件是对测试经济学的挑战。随着工艺进步,器件越来越小;而随着功能增加,测试复杂度却不断上升。SOC产品在生产测试时对测试仪的要求也越来越高,昂贵的测试成本已在制造过程中占很大的比例。考虑成本要求,一般只允许在几秒或更少的时间内完成测试。由于典型的DRAM都有比较长的测试时间,因此嵌入式的DRAM测试更具挑战性。设计时除了考虑测试成本,还要求必须便于测试分析。
DFT是基于IEEE1149.1的JTAG控制。除了专门的存储器测试和ATPG扫描测试,JTAG控制器还针对产品中的不同单元模块提供各种不同的试模式。这里介绍的DFT和DFM包括用于加速设计分析和合格率研究的面向测试设计及用于降低测试成本的并行测试设计。
单芯片系统介绍
微控制器CPU:是C163系列的16位控制器,此外还带有累加器(MAC)、通用定时器(GPT)、同步与异步序列控制器(ASC,SSC)和脉冲宽度调制器(PWM)等。为便于从一种应用转为其他应用,整个控制器由逻辑综合完成。硬盘控制器HDC:HDC大约由250K的“与非门”组成。HDC的主要特点在于有强大的省电模式,即每一功能块可被独立地切换或将时钟降低8倍。根据ATA规范,HDC有不同的省电模式:运行、空闲模式1、空闲模式2、待机、休眠等。这使SOC的功耗从270mW下降到54mW。大容量SRAM:片内集成了80K字节的程序SRAM、8K字节的数据SRAM和直接与微处理器相连的2K字节的双端口SRAM。
缓冲存储器DRAM:整个芯片的中心部分是嵌入式DRAM,是一个8兆位的缓冲存储器。片上DRAM不需要外部数据总线即能存取程序和数据,而功耗只是最大运行模式下的十分之一。
PLL:片上所有的时钟频率是由400MHz的PLL产生的。PLL为全定制单元,测试模式由JTAG控制器控制。
PVT单元:用于指示环境温度,监视动态环境(温度和电压)变化及HDC逻辑,并自动调整ATA的端口参数。PVT单元是全定制的,测试模式由JTAG控制。
电源管理:SOC内集成了电压调整的控制电路。调节器可以提供从核心电路所需的1.8V到I/O口所需的3.3V电压。一个外部晶体管用于处理所有核心逻辑所需的电流。片内包含一个驱动外部晶体管的整流控制电路。整流器是全定制的,其测试模式由JTAG控制。
测试设计分析
由于存储器占了45%的芯片面积、86%的晶体管数,同时由于DRAM的时序特性,既便单个存储器单元比逻辑门小得多,测试一个DRAM单元也要比测试一个“与”门需要更多的时间。因此需要特别关注存储器测试,这也是业界聚焦和努力的方向。根据SRAM在系统中的不同作用,可以利用微控制器测试或通过MBIST电路完成测试。SOC上的DRAM可通过一个BIST控制器测试,而DRAMBIST电路自身则通过“扫描”和ATPG进行测试。大部分的数字逻辑是综合而成,因此均可通过ATPG扫描进行测试。为了有效降低测试时间,改善DRAM的DFT测试开发是最有益处的,设计时尽量考虑并行测试。同时,像振荡器和PLL等模拟单元也应在一个合理的时间内完成测试。另外,当进行ATPG或扫描测试时,测试还受到自动测试设备(ATE)内部的测试向量存储器容量的制约,设计时需事先考虑。
DFT和DFM的测试实现
由于器件比较复杂,对于不同的功能模块采用了不同的测试结构。
ATPG扫描测试
扫描结构如图2所示。为了可在ATE测试仪上进行多器件并行扫描测试,扫描链的输入端被设计在芯片相对的两边。器件的特殊之处在于它包含了多路的级敏扫描(LSSD)电路。DRAM的BIST就是LSSD扫描,由工艺厂家提供,而其余的设计尽量使用标准的多路扫描触发器。在LSSD扫描电路和多路扫描逻辑中,没有插入隔离逻辑。由于LSSD与多路扫描之间不同的时序,在设计时,LSSD与多路扫描的合成可能会遇到问题,即可能出现对某些触发器采样时,数据不确定性而导致失现以某一SOC产品为例进行介绍。器件由0.18m的铜工艺制造,有很好的性能和极低的功耗。芯片系统主要部分组成见图1。
图1 芯片版图
图2 扫描模式结构
效覆盖率的损失。因此在设计时应特别关注两者的匹配。
考虑到在进行扫描测试时,某些不需要的模式可能会激活,而逻辑电路只占用整个芯片面积的很小部分,因此经过折中后,考虑了增加电路部分的成本与测试覆盖率之间的关系,有一小部分电路没有被扫描。由于逻辑电路只占用整个芯片面积的很小部分,因此,对于整个器件来说,减小逻辑的失效覆盖率是可以接受的。经验证,逻辑的单固定型故障覆盖率在95%。
SRAM测试
片内有两种SRAM:一是与微处理器(数据,代码存储器)紧密联系的CPUSRAM;另一种是硬盘控制使用的HDCSRAM,不能被微控制器直接读取,为双端口SRAM。两者分别采用了不同的测试策略。
CPUSRAM测试策略
如密集SRAM一样,SRAM宏单元的版图也是用手工优化完成,这样可以不断接近工艺极限,节省空间和能耗。为了获得更高的产出率,密集的SRAM中加入了冗余单元。为了降低测试成本,尽量减少了插入电路。大部分的测试由片上DRAM存储器激励,可在存储器测试仪上直接测试。考虑到SRAM测试要在存储器测试仪上运行,因此,在设计时把微控制器读取存储器模块SRAM的测试算法存储在一个叫MSIST(存储器自检软件)的ROM里。这个程序不仅可以很容易被存储器测试仪控制,而且很容易通过单层掩膜重设计完成更改变动。测试结构见图3。HDC中的小模块无法被微处理器核测试,必须用图4中的MBIST(存储器内建自测试)的结构测试。通过这样的DFT设计,就可以在一个专用存储器测试仪上完成所有的存储器测试,继而进行冗余存储器的熔断。MSIST和MBIST可以执行march-14,棋盘测试和反棋盘等测试。
图3 MSIST 结构
图4 MBIST 结构
双端口SRAM的BIST软件测试:
芯片内不能被CPU直接读取的HDC双端口SRAM,则通过CPU运行BIST算法由下载软件完
成测试。由于采用软件测试方法,需要花精力准备软件测试向量,在设计时,应考虑SRAM的版图及片上MBIST逻辑的建立。
对大多数SRAM来说,MBIST运行速度与功能存储采用同样的方法和速度,而硬件MBIST常常在较低速度或修改访问后综合而成。因此用软件方法不会出现在测试时RAM通过,而在实际应用时失效等现象。
DFM:
测试时应考虑为所有的SRAM创建一张位失效图(BFM),可通过CPU的数据线输出。这些位失效图对生产制造很重要,在合格率研究和改善方面,可以给工艺工程师提供极其重要和必要的信息。
DRAM测试
在过去的几年里,嵌入式DRAM的测试是关注的焦点。熔断前测试是通过特殊的逻辑从引脚加入的。外部ATE存储器提供所有的激励和期望结果比较,并由ATE对失效单元建立BFM及计算最佳修复方案。DRAMBIST有能力自建冗余计算,也就是BISR(内建自修复),但为了减少测试时间,本案不使用此功能。BIST逻辑自身用ATPG和LSSD扫描寄存器测试。
高并行测试的DRAM结构
通常,DRAM占用的测试时间比逻辑测试长。因此为了降低单个器件的有效测试时间,设计时考虑了高并行测试。
嵌入式DRAM的熔断前测试是在一个专用存储器测试仪上进行,使用BIST的直通模式(图5)。这样,通过降低冗余修复的计算时间及高并行测试减少了测试时间。一个专用存储器测试仪的优点是:硬件支持存储器测试算法、能对一个完整的多兆位存储器进行位失效信息的存储和分析,以及并为高并行测试提供大量的供电电源。
本器件选用存储器ATE进行测试。因此,需要一个最小测试模式导入(准备序列)来构造存储器。一旦存储器构造好,还需提供一个典型的存储器接口,包括冗余数据输入和输出的导入。通过限制地址和数据输入的数量,并且将所需的引脚分列在芯片的两相对边沿,可以实现高并行测试。
带有BIST的DRAM测试
有BIST控制器的DRAM模块,能在IEEE1149.1指令合理配置后被激活(图5)。一旦熔丝开始,DRAM测试就不需要专门考虑存储器的修复,而可在标准的逻辑ATE上进行。因为BIST由片上产生地址和控制信号,并只送出一个通过/失效结果。所以,用于连接的端口数将大大减少。
DFM
可制造性设计的原则引导着DRAM的分析设计开发。焦点不是在限制引脚的数量和位置,而在于尽量为嵌入式存储器提供尽量多的可控制性和可观察点。通过JTAG控制器,可以选择一个最小测试模式导入序列,使用更多的控制线和数据线,包括芯片上所有边缘的引脚。这种模式是用于失效分析而不用于生产测试。像SRAM一样,DRAM测试也应创建位失效图,并传送到ATE做近一步分析。
独特的DFM特点:环形振荡器
芯片内设计了两个在生产时用于加速测量的环形振荡器。这些环形振荡器有2ns的自然周期,每个与32分频的逻辑相连。典型的对外周期是64ns,用标准ATE就可以产生适于测量的频率。为了比较连线和门延时的影响,用了两种版图布线方法。一个环形振荡器用密集布线;另一个用人工布线。环形振荡器的测量结果反映了硅片速度,可以用来跟踪工艺变化,以消除器件太快或太慢。
结论
本芯片系统包含了嵌入式DRAM、大容量的SRAM、模拟模块、专用数字逻辑,因此生产测试面临着极大挑战。在设计时根据具体情况,通过面向测试设计DFT和面向可生产性的设计DFM,针对各模块得出一个多样化的解决策略。最终,用标准的IEEE1149.1接口构造器件进入不同的测试模式
图5 DRAM测试结构