DFT
1.Boundary scan
Boundary Scan就是我们俗称的边界扫描。Boundary Scan是上世纪90年代由 Joint Test Action Group(JTAG)提出的,它的初衷是为了解决在PCB上各个大规模集成电路间的信号互联测试需求,所以往往也被叫做JTAG(JTAG更是指由IEEE1149.1标准规定的4线接口极其控制逻辑如TAP、TDR等)。现在 JTAG / BScan 已被绝大多数芯片设计公司和系统厂商所采用,作为一种芯片 IO PAD connectivity测试、DC Characterization、内部逻辑电路debug、在线系统 PRGM 和系统级测试的一种高效手段和业界标准。
个人认知,JTAG/BScan 的实现主要有两种实现方式:一是RTL hand coding,一般从算法开始到系统的全系列公司常用;二是借助 EDA 厂商提供的 tools 来实现。这里要特别提及一下,非常佩服前任大牛老大,在项目间隙大家都在放羊的间隙,楞是用C写了一个 In-house BScan insertion 定制化工具。非常感慨:聪明的人不可怕,可怕的比我们聪明的人还比我们更勤奋!
JTAG/BScan 在DFT领域里面相对比较简单,所以没有多少挑战,作为新工程师了解和进入项目的初始工作任务是非常不错的一个task。 特别注意一些弯弯绕的地方,个人认为可能就在于:
-
越来越多的MCP产品测试需要,在die的不同阶段BScan的不同测试方法和pattern准备;
-
除了基本的In/Out/OEN的测试外,对PAD其他控制信号的测试实现。
-
2.MBIST
MBIST就是Memory Build In Test简称。随着集成电路规模和复杂程度的不断提高,在ASIC/SoC 中集成的 memory 数量和所占的die size比例非常高(例如>40% in AP),同时 memory 本身的 cell density 也比较高,那么相应地在 memory 上面的制造 defect 在SoC的比例也较大。
MBIST 从上世纪90年代末发展起来、为实现对IC 内部集成memory 的测试而生。
MBIST design 的实现,主要靠EDA工具来完成,最早做的很好的一家是 Syntest 的TurboBIST, 不过好像现在这家EDA公司日渐式微,奈何美人迟暮英雄末路。 目前EDA三巨头各家都有自己MBIST的解决方案。
对于MBIST design过程中和芯片测试过程中的挑战,个人认为还是在diagnosis, auto-repaire和FA了。
-
LBIST:
A:LBIST 顾名思义就是LogicBIST,实现靠Tool。挑战主要是LBIST design overhead, Test coverage 以及最终的测试时间等.
- Analog DFT:
Analog DFT,常常也把一些数模混合的IP归集到这一范畴,这部分基本不太可能依赖EDA tool来实现,往往都基于RTL coding 完成。Analog/IP DFT比较常用的架构有Internal/External Loopback, JTAG program test,IO pin test muxing, embedded reg/mem sampling 等等。这部分重点是需要和 Analog/IP designer 紧密合作,共同确定后续lab和量产测试的spec;还有就是因为包含了Analog部分,如何完成仿真验证需要特别注意。
scan chain,stuck-at跟at-speed test各是什么?分别如何实现?挑战是什么?
A:Scan chain即是由芯片中的寄存器串在一起组成的扫描链; stuck-at和at-speed指的是ATPG 当中的fault model。Scan chain insertion 同样是靠工具完成。
压缩/解压缩的概念是什么:
这里所说的压缩是专指 Scanchain 的压缩(Compressor)。由于集成电路规模的不断增大,内部的寄存器数量也越来越庞大,如果没有压缩技术, Scan chain会非常长,相应的在ATE 上的test time就长,而ATE test time是影响整个芯片成本的一个关键因素。
具体压缩比的定义,还是要看是用那种架构来实现。比如M的TK,由于它使用LFSM电路结构,所以它能够做到比较高的压缩如数百倍或更高,工具同时支持用户利用analyze方式来提前评估各压缩比例的优劣。近年来S和C家也改进了压缩解压缩的电路结构,加入了时序逻辑到压缩解压缩电路中,压缩比都能做到足够高。
ATPG是什么?用于DFT的哪个方面?在电路结构上如何体现?如今业界算法是否大同小异?最流行的算法是什么?
A:ATPG 是Auto Test Pattern generation即测试向量生成的简称,用于DFT Scan 设计的验证和测试pattern的产生阶段。由于Scan是基于基本的数字逻辑电路Flip Flop以及之间的datapath完成测试的,所以据个人认知,Scan的算法也是基于Digital 电路的基本测试原理,比如D算法, Fan算法等等,各家无出其右。
测试时间跟哪些因素相关?缩短测试时间的办法有哪些?
-
A:测试时间相关因素有:SoC的规模,Test Plan和DFT Spec的要求,DFT design实现架构,具体DFT各项实现方法,DFT mode SDC和 timing signoff,还有Physical floor plan和IR drop影响等等。
与此对应的,努力减少测试时间和陈本的关键就是首先case by case定义好该芯片的DFTSpec,然后基于芯片实际情况选择最合理的design flow和EDA tools, 与STA 攻城狮一起评估和定义高效而又合理的SDC,结合后端的情况和将来 ATEpattern program的考虑,调整DFT design 情况和后面的pattern生成等等。