首先说生产出的芯片可能会有什么问题,即故障类型有:逻辑值固定型故障(卡在VDD或GND)、桥接故障(类比短路)、开路故障。

对此有相关的检测技术,用以判断故障是否存在。例如,ATPG(Automatic Test Pattern Generation)自动测试向量生成,这是用于芯片内部故障检测的技术,属于自动测试,而不是功能测试。功能测试的前提是,测试图案设计者了解芯片功能,并且有针对性地进行测试向量的设计。但是功能测试的测试覆盖率难以达到100%。与之相对的,ATPF则可以有更高的测试覆盖率。但是当设计中有冗余逻辑,组合节点将不能被测试(暂时不太明白为啥);对于时序电路来说,ATPG使用了一种扫描插入的方式,此时,需要使用扫描触发器来代替常规的触发器。

stress io测试_触发器

扫描测试需要执行三个步骤:移入(数据移入扫描触发器)、转移/加载(触发器的输出进入组合电路,而后被触发器再次捕获)、移出(触发器中数据一次一位地输出)。另外,扫描也分为内部扫描和边界扫描,分别针对芯片内部故障和芯片之间的互联故障。

另外还有IDDQ测试,用于检测芯片中漏电电流的情况,其可以反映出是否存在制造缺陷,芯片内部是否存在短路。

SoC的测试策略,是与芯片的架构密切相关的。最好是在进行架构设计阶段就考虑其测试策略,即可测性设计(DFT)。(另有,可制造性设计(DFM))

对于典型的SoC的内部结构,包括SRAM、数字模块、PLL、模拟宏单元、IO、第三方IP等等,各有各的要点。针对可测性设计常用的方法有,结构化的DFT方法、Ad-hoc DFT方法。另外DFT的设计准则涉及到很多细节,暂时不作记录。