2.3 可测试性设计DFT


2.3 可测试性设计 DFT

本节摘要:芯片内部状态默认看不见。DFT 在网表里植入可控制与可观测通路,让自动测试向量能把卡住故障和跳变故障赶到输出。扫描链是神经传导,ATPG 是出题引擎,BIST 把部分考场搬到片上。测试不是封装后的质检,是设计基因。

本节导读

阅读完本节,你应当能够:

  1. 用卡住和跳变故障说明测的是哪类缺陷
  2. 描述扫描替换、移位与捕获的时序
  3. 说明压缩器、隔离与测试时钟的代价
  4. 把 DFT 端口和复位纪律写进规格,而不是后端突击插入

一、先定义什么叫“坏”

原文把 DFT 的起点放在故障模型:物理缺陷必须映射成可计算的逻辑偏差,否则向量生成、覆盖率、良率归因都没有锚。卡住故障假设某根网被钉在 0 或 1,对应开路、对电源短路、栅氧击穿一类静态偏离。对每根网有 sa0 与 sa1。ATPG 问:是否存在一组输入,使故障电路与完好电路在输出上可区分。这是 SAT 式搜索,是工业 ATPG 的内核。

深亚微米后,稳态对了但翻转慢了,也会在采样窗口外到达。跳变故障描述 0 到 1 或 1 到 0 的延迟失效,检测需要一对紧邻向量,让该网在无故障时应在捕获沿前翻完。于是有了基于扫描的时序测试、双采样一类结构。卡住是跳变在无限慢时钟下的退化;再往上还有桥接、路径延迟。架构师按工艺与成本选粒度:欠建模会逃逸,过建模会让测试时间买不起。

可控性与可观测性是两个独立的穷。你控得住输入,却观测不到深埋触发器;你看得到输出,却到不了被组合逻辑挡住的节点。扫描把触发器串成移位寄存器,测试模式下降,把任意状态移进去,再回到功能时钟捕获一拍,再移出来看。内部节点被抬到与引脚同等的地位。

二、扫描链:怎么插,怎么付账

扫描替换把普通 D 触发器换成带扫描输入、扫描使能的版本。链长、条数、时钟域如何分链,都是物理问题:太长则移位时间贵、沿衰减;太碎则占用测试引脚和译码。压缩器在片上把多链 XOR 成较少输出,解压缩器把少量输入展开成多链。压缩省引脚,也带来未知值污染:一个 X 进 XOR,整组输出作废,于是要有 X-masking。

捕获周期必须满足扫描触发器自己的建立保持,还要满足组合云在测试时钟下的延迟。测试时钟常常低于功能时钟,否则时序测试太难;但过低又测不到跳变故障。两条时钟策略:功能捕获用接近额定的沿,移位用慢时钟。时钟门控在测试模式要被强制打开或旁路,否则一堆触发器移不动。

复位与扫描抢优先级。移位时若复位仍异步有效,链被不断清零。规格必须写:测试模式下降复位如何处理。边界扫描把芯片引脚也编进链,板级互连可测,和芯内扫描是不同层次,端口规划时一起留。

图:扫描链插入示意

图:扫描链插入示意

存储器通常不靠逻辑扫描穷举。内建自测用控制器在片上跑 March 类算法,覆盖固定、跳变、耦合故障。逻辑 BIST 用伪随机生成器加特征分析,省向量存储,对随机抗性差的逻辑覆盖不够,常与 ATPG 混用。

结构 测什么 面积与时序税 注意
扫描链 触发器与组合 多一档扫描单元、使能负载 链序影响布线
压缩解压 引脚与时间 XOR 树延迟 X 要掩蔽
存储器 BIST SRAM/DRAM 宏 控制器与比较器 测试时钟与修复熔丝
边界扫描 引脚互连 TAP 状态机 与功能复用脚冲突
逻辑 BIST 随机可测逻辑 LFSR 与 MISR 需测试点插入

⚠️ 常见坑:综合后再“顺便插扫描”,时钟门控、复位、异步口全没预留,覆盖率上不去还把功能时序打穿。
💡 关键直觉:可测性是可控加可观。扫描买的是把内部状态变成可移的比特流。

三、覆盖率与良率对话

ATPG 报告的覆盖率不是“芯片好的概率”。它是在选定故障模型下,可检测故障的比例。还有冗余故障:逻辑上不可测,可能来自多余逻辑或约束过死。可测但 ATPG 放弃的,叫 ATPG 不可测,往往因为 X 或约束。你要盯三类数:故障覆盖、测试覆盖、向量条数。向量条数决定测试机时间,也就是每片测试成本。

隔离很具体:模拟电路、PLL、高速 PHY 在数字扫描时要被钳位,免得模拟环被数字翻转踹死,也免得模拟输出把数字测试当 X。DFT 架构师的清单包括:哪些宏 bypass,哪些进入自测,哪些保持复位。

锁存器、时钟门控锁存、异步复位路径是扫描的三座坟。锁存透明期让 ATPG 很难;门控锁存要变成可扫描或旁路;异步复位要能在测试时同步化或隔离。这些回指第1章:RTL 少锁存、门控用标准使能、复位同步释放,DFT 才插得进去。

问题:覆盖率要多少才许流片?

没有万金油数字。消费类逻辑卡住覆盖通常被推到很高,汽车与安全芯片还要看诊断覆盖与路径延迟测试。把目标写进规格,和 Foundry 测试机能力对齐,不要在签核周才第一次跑 ATPG。

问题:扫描会不会引入功能漏洞?

会,如果测试模式解码太弱,板级或攻击者能进入移位。安全芯片要把测试访问关进生命周期状态,熔丝烧掉后不可再扫。这是 DFT 与安全的交界,不是“测试端口无所谓”。

四、插入扫描时的物理与时序账

链序若按字母排序触发器,布线会满芯片拉锯。按层次和放置区域排序,移位线短,也减少天线。压缩 XOR 树不要放在芯片对角汇聚,否则测试模式自己成为关键路径。测试模式的 STA 必须跑,不能只跑功能。

隔离清单要在插入前冻结:PLL 输出在扫描时钳到安全值,模拟宏保持复位,存储器进 BIST 不进逻辑链。漏隔离的典型症状是 ATPG 出现大量 X,压缩后覆盖率崩。X 的来源要可追溯到具体宏,而不是“压缩器有问题”一句。

锁存推断会让 ATPG 痛苦。插入前用 lint 清锁存。时钟门控锁存要变成可扫描或测试旁路。异步复位在移位时必须可关。这三条过不了,覆盖率数字再好看也是功能覆盖,不是制造覆盖。

向量条数超预算时,先查是否测了很多冗余故障,再考虑压缩和测试点插入。盲目加测试点会破坏功能时序。测试点要当 ECO 级改动来做等价。量产测试时间是钱,DFT 架构师和产品经理要用同一张成本表,而不是用“覆盖越高越好”结束讨论。

五、覆盖率会议怎么开才不空

会上不要只报一个百分比。拆成卡住、跳变、冗余、ATPG 放弃、X 污染。冗余来自多余逻辑或约束过死,可能揭示功能里永远走不到的分支。ATPG 放弃常来自锁存和未知源。X 污染指向未隔离宏。每一类有不同的主人:RTL、DFT、模拟隔离。

测试时间超预算时,用同一张表看向量条数与压缩比。压缩提高后若覆盖掉下去,是 X 掩蔽没跟上。不要同时改链序、压缩和测试点,否则分不清谁救了谁。一次改一类,和时序收敛的“一次动一层”是同一纪律。

安全芯片的测试访问要进生命周期:熔丝后不可扫,或需认证。把测试口当普通 GPIO 留下,是把内部状态交给板级探针。这不是偏执,是 DFT 与安全的交界,规格里必须有一句。

六、一次只改一类 DFT 旋钮

同轮不要同时改链序、压缩和测试点。否则覆盖率回升也无法归因。安全芯片的测试访问写进生命周期,熔丝后的策略要有仿真。覆盖会议拆卡住、跳变、冗余、放弃、X 五列,各列不同主人。测试时间与覆盖在同一张成本表上谈判。

插入前三清:锁存、门控旁路、复位可关。插入后三看:链是否按区域排序、压缩 XOR 是否对角汇聚、测试模式 STA 是否独立跑。覆盖会议五列:卡住、跳变、冗余、放弃、X。X 追宏隔离。向量条数进成本表。安全访问进生命周期。存储器走 BIST 不幻想逻辑扫描穷举。DFT 端口在第1章接口表出现,封装才来得及。后插扫描是把神经通路当成创可贴,覆盖率与功能时序会同时裂开。测试时钟两套:移位慢、捕获接近功能。两套写进约束,不要靠口头。

案例:压缩器被 X 灌满

ATPG 覆盖从看起来很高掉到不可用,日志里压缩输出全 X。追到一块模拟宏未钳位,扫描翻转灌进模拟环再漏回数字。隔离清单补上后覆盖回升,但测试时间仍超。再查发现链按字母序拉满芯片。按区域重排链序,移位时间下降。同轮有人还想加测试点,被拦住:一次一类。安全侧同步规定熔丝后关掉 TAP。制造覆盖、测试成本、安全访问三张表第一次出现在同一次评审。后插扫描的项目没有这三张表,封装脚也来不及改。

再补一条出门检查:插入前锁存为零;测试模式 STA 独立文件;覆盖五列都有主人;存储器 BIST 端口接到顶层。四样没有,答题卡没装好。卡住与跳变都要,只有卡住会在快翻转上逃逸。压缩 X 掩蔽与隔离清单绑定。链序按区域。测试时钟两套写进约束。TAP 生命周期不是装饰。后插扫描禁止作为计划。

问题:哪项插入前不为零不许插链?

锁存不为零不许。门控不可旁路不许。复位不可关不许。模拟未钳位不许。存储器未列 BIST 不许。五零是插入门票。测试 STA 无独立文件不许签覆盖。五列覆盖无主人不许开会。链按字母序拉满不许作为终态。TAP 无生命周期不许给安全芯片。后插当计划不许。门票不齐插进去,覆盖率会用 X 和时序裂口同时报复。

一节小结

  • 故障先建模:卡住测静态钉死,跳变测翻转迟到。
  • 扫描抬内部:移位、捕获、再移位,把触发器变成可观测。
  • 压缩有 X 税:未知值要掩蔽,否则整组输出作废。
  • 存储器走 BIST:不要幻想用逻辑扫描穷举宏。
  • 测试时钟两套:移位慢、捕获接近功能,门控要旁路。
  • DFT 从规格预留:复位、模式、隔离清单与 RTL 一起冻。

下一章网表离开逻辑符号,进入坐标:布图、放置、时钟树、布线,寄生开始说话。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U