论文部分内容阅读
芯片复杂程度的上升,势必对芯片在制造和封装过程中可能产生的故障有更严格的要求。对于生产方来说,在芯片交付给客户前进行故障测试是必不可少的环节。传统测试方法依赖测试向量的人工编写,执行效率低,故障覆盖率低,这种方法对于小规模、结构简单的芯片还是适用的。但是近年来,随着集成电路的规模越来越大,集成度越来越高,早已经由千万门级进入亿万门级,在2008年早期,十亿晶体管级别的处理器已经得到商用。制造工艺也不断前进,20nm的芯片产品也已经商用化。同时电子设计自动化(EDA)工具也不断完善,大型芯片如片上系统(SOC)芯片逐渐流行起来,知识产权(IP)模块的重用也已经得到了业界的广泛认可和使用,这一切使得芯片复杂程度急速增加,生产制造过程中出现故障的概率也随之提高。这样就对芯片的测试和可靠性保证也相应提高了要求。测试成本已经占到总开发成本里面相当大的部分。可测试性设计(DFT)就是为了适应这种需求而产生的,通过在芯片中增加额外的逻辑电路实现对集成电路的控制和观察,为后期测试降低测试难度以及测试费用,提高测试效率等方面较传统方法有显著进步。本文首先对可测试性设计的原理以及主要方法进行介绍以及分析,对于常见方法的优势和劣势逐一介绍,针对不同的电路结构和特点分别对应不同的可测试性设计方法。然后重点基于一款8位单片机(MCU),针对数字逻辑,模拟模块和存储器单元进行可测试性设计的研究,提高了芯片故障覆盖率的同时相对传统方法减少了测试时间1.13s。最后通过仿真分析得出芯片故障覆盖率达到91.49%,存储器故障覆盖率达到100%。满足设计要求,而且没有改变原有逻辑功能。本文针对MCU的不同模块(数字模块、模拟模块、存储器模块)都进行了可测试性设计,这对于SOC芯片来说同样具有借鉴和参考价值。在文章的最后,针对已完成的可测试性设计提出了优化改良方法,以算数逻辑单元(ALU)为例,对比单一扫描链和多条扫描链的差别,同时考虑测试向量无损压缩的方法,提出了对测试向量的无损压缩方案。最后,通过比较优化前后的结构,选择最适合的方案,应用于该MCU的设计中。