扫描压缩 Scan Compression
扫描压缩 Scan Compression
概念解析
定义与起源
术语定义:扫描压缩(Scan Compression)是DFT的核心技术——通过减少扫描测试的数据量和测试时间来降低测试成本。未经压缩的扫描测试:每条扫描链需要N个shift cycle来移入测试向量和移出测试响应——N=扫描链长度×2。压缩技术把N降到N/10到N/100。
扫描压缩包含两个方向:输入压缩——把少量外部测试引脚上的数据解压成全扫描链宽度的测试向量;输出压缩——把全扫描链宽度的测试响应压缩成少量外部引脚的观测数据。压缩的代价是增加片上解压/压缩逻辑的面积。
核心要义
第一,扫描压缩=减少测试成本。 测试成本=ATE使用时间×ATE每小时费用。更少的测试数据=更短的测试时间=更低的测试成本。对于百万级产量的芯片——测试成本节省远超压缩逻辑的硅面积成本。
第二,压缩效率和扫描链架构强相关。 扫描链长度均匀→压缩效率高。长度参差不齐→短链浪费压缩能力。DFT Compiler的扫描链平衡功能确保所有链长度接近——最大化压缩效率。
第三,X-tolerant压缩是工业标准。 芯片内的未初始化状态、模拟IP输出、浮动节点在测试时产生X(未知值)。压缩逻辑必须能处理X——否则X会污染压缩后的观测数据——导致故障覆盖率降低。
实践应用
* 压缩比选择是经济决策:10x压缩→面积+1%→测试成本降90%。100x压缩→面积+5%→测试成本降99%。找最优平衡点。 * 扫描链长度平衡很重要:所有扫描链长度在100-120范围内→压缩效率>90%。如果有的链30、有的链200→压缩效率<70%。 * 压缩+ATPG联合优化:TetraMAX知道压缩结构后可以生成更适合压缩的测试向量。
实战案例
某手机AP的压缩节省$2M:测试时间从12秒降到1.5秒(8x压缩)。年产量5000万颗→每年节省测试时间5.25亿秒=14.6万小时×$15/h=$2.2M。
压缩比贪心的教训:某芯片追求100x压缩——扫描链极不平衡——覆盖率从99%降到93%——field return率翻倍。降到40x压缩——覆盖率恢复——field return恢复。
X-tolerant的边界case:某芯片有5%的scan cells产生X——非X-tolerant压缩覆盖率从99%降到88%。X-tolerant保持99%。
常见误区
误区一:压缩=无损。 任何压缩都有损失。好的压缩设计让覆盖率损失<0.5%。差的压缩设计可能损失>5%。
误区二:压缩比越高越省钱。 压缩比80x→100x的边际收益很小(测试时间再降20%)但面积增加更大(压缩逻辑从3%→5%)。最优压缩比通常在20-50x之间。
误区三:压缩=FPGA上的概念。 片上压缩是硬件——不是软件。解压逻辑在芯片上物理存在——消耗面积和功耗——不是免费的。