DFT Compiler

类型: concepts
引用论文: 27 篇
DFT Compiler 概念

DFT Compiler

概念解析

定义与起源

术语定义:DFT Compiler是Synopsys的DFT综合工具——在RTL综合阶段自动插入扫描链、测试压缩逻辑、边界扫描等DFT结构。它与Design Compiler共享综合引擎,可以在综合的同时完成DFT插入——不需要单独的DFT插入步骤。

DFT Compiler的前身是BSD Compiler(1990s)。2000年代随着SoC复杂度爆炸,独立的DFT插入流程成为瓶颈——综合和DFT分离意味着两个工具维护两份网表、两次时序收敛。DFT Compiler将DFT插入融合进综合流程,在单次综合中同时完成功能逻辑综合和DFT结构插入。

核心要义

第一,DFT Compiler=综合+DFT一步到位。 传统流程:综合→导出网表→DFT插入→重新综合ECO。DFT Compiler的融合流程:综合时同步插入扫描链——扫描触发器替换、扫描链连接、压缩逻辑插入在一次综合中完成。关键好处:时序在综合时就把扫描链的MUX延迟考虑进去了,不会出现"DFT插入后时序恶化"的经典问题。

第二,自适应压缩(Adaptive Compression)是DFT Compiler的核心技术。 不是所有扫描链都需要相同的压缩比。DFT Compiler分析每条扫描链的长度、翻转率、测试时间约束——对长链用高压缩比(100x),对短链用低压缩比(10x),对关键路径上的链不压缩。自适应压缩比固定压缩节省30-50%的测试数据量。

第三,DFT Compiler与TetraMAX ATPG深度耦合。 DFT Compiler插入的扫描结构信息直接传给TetraMAX——不需要网表导出再导入。TetraMAX在生成ATPG向量时可以利用DFT Compiler的物理信息(扫描链走线长度、buffer位置)优化测试功耗和速度。

实践应用

* scan configuration是核心配置:每条扫描链多长、包含哪些触发器、压缩结构类型——在DFT Compiler中用TCL脚本配置。 * test point insertion需手动决策:DFT Compiler可以自动建议测试点位置,但最终插不插、插多少——需要DFT工程师判断。 * 与SpyGlass DFT协同:先用SpyGlass DFT做RTL级DFT检查→修复DFT违规→DFT Compiler做门级DFT插入——两个工具互补。

实战案例

  • 某GPU的DFT Compiler自适应压缩:传统固定压缩比100x导致短扫描链上压缩逻辑面积浪费。改用自适应压缩后,短链10x、长链100x——总面积节省15%,测试数据量仅增加5%。

  • DFT Compiler融合流程救回2周schedule:某5G芯片综合→DFT→ECO循环跑了5轮还没收敛。改用DFT Compiler融合流程——综合+DFT一步完成,时序在插入扫描链时就被考虑了——2轮收敛,省了2周。

  • TetraMAX+DFT Compiler联合优化测试功耗:某AI芯片测试时shift功耗过大(扫描链移位时280%功能功耗)。DFT Compiler重新配置扫描链——把高翻转率触发器分散到不同链、关键链加gating——测试功耗降到120%功能功耗。

常见误区

误区一:DFT Compiler=Design Compiler的DFT版本。 DFT Compiler与DC共享引擎但不是同一个工具。DC做功能综合,DFT Compiler在DC综合的基础上叠加DFT结构。如果已经用了DC,加DFT Compiler几乎不需要额外学习成本。

误区二:DFT Compiler自动配置就是最优配置。 自适应算法给的是"默认最优"——不是"全局最优"。不同芯片的测试需求不同(汽车芯片需要更高覆盖率、手机芯片需要更低功耗)。DFT工程师需要在自动配置基础上手动调优。

误区三:DFT Compiler只在tape-out前跑一次。 DFT插入后每次ECO都会影响扫描链——需要增量DFT Compiler重跑。好的DFT Compiler flow支持增量更新——只重跑变化的module。

思想演变

**1990s
BSD Compiler时代**:独立的DFT插入工具。综合和DFT分离——两套网表、两次时序收敛。
**2000s
DFT Compiler 1.0**:融合进DC综合引擎。扫描链插入和综合一步完成。
**2010s
自适应压缩**:分析扫描链特性自动选择压缩比。与TetraMAX深度耦合。
**2020s
AI辅助DFT配置**:ML模型预测最优扫描链长度和压缩比。DFT Compiler从"配置工具"走向"优化引擎"。

原话引用

"DFT Compiler把DFT从'综合后'变成了'综合中'——这是DFT流程最大的效率提升。"—— Synopsys DFT Compiler白皮书, 2018
"Adaptive compression is the difference between fitting your test vectors on the ATE or buying a bigger ATE."—— SNUG San Jose 2019
"DFT Compiler不是为了替代DFT工程师——是为了让DFT工程师不用把时间花在手工插扫描链上。"—— SNUG India 2020