DFT 三月算法?棋盘式 2

5.为什么从内存结构的角度看 March 似乎很直观 5.1 如何访问 SRAM 考虑一个银行: 因此,测试的基本单元自然是这样的。 "选择一个地址 → 执行读/写序列 → 移动到下一个地址" 这个流程本身与 March 元素 的定义几乎以 1:1 的比例重叠。 5.2 如何捕获地址解码器故障?...

DFT 三月算法?棋盘式 2
Photo by Tamanna Rumee on Unsplash

5.为什么从内存结构的角度看 March 似乎很直观

5.1 如何访问

SRAM 考虑一个银行:

  • 使用地址总线选择特定行(字行)
  • 通过连接到该行的 位线读取或写入单元格的值
  • 每次只能确定控制 "一个地址"

因此,测试的基本单元自然是这样的。

"选择一个地址 → 执行读/写序列 → 移动到下一个地址"

这个流程本身与 March 元素的定义几乎以 1:1 的比例重叠。


5.2 如何捕获地址解码器故障?

例如,在一个地址:

  • 解码器故障导致 两行同时亮起
  • 在此地址,w1可能会导致预期单元格为 1,以及相邻行中的单元格

现在在另一个地址:

  • 我们预期相邻单元格为r0,但我们读取了1

如果您多次重复 r0, r1, 像三月 C- 一样上上下下,您肯定会在某一时刻读到 "非预期单元格一起打开并覆盖 "的值。

这就是 March C- 检测 地址解码器故障的机制。


5.3 如何捕捉耦合故障:

耦合故障是指以下情况。

当在攻击单元上执行特定操作(写入、切换)时,相邻单元(受害者)的值不被更改或保持的故障

March C- 是:

  • 在对任何单元格执行 w1 操作后,我们立即使用 r0r1 检查其相邻单元格,重复多次,上下方向相反。

在这个过程中:

    • 为了找到 "只有当相邻单元格的图案处于某种状态时才会显示的故障",我们强制进行了各种相对排序。
  • 这比简单地编写/读取一次棋盘模式要花费更多时间,但却能提供更高的故障覆盖率。
  • 现在,让我们将我们在实践中经常听到的棋盘放到上下文中。
  • 让我们从单行定义开始。
  • 按位计算:
    • 图案 A:0x55...(...0101 0101)
    • 图案 B:0xAA... (...1010 1010)
  • 按地址,这通常是:
    • 偶数地址 → 0x5555_5555
    • 奇数地址 → 0xAAAA_AAAA
  • 或者您可以反过来,这样 0 和 1 就会像棋盘一样在 水平(按位) 和垂直(按地址) 方向交替出现。
  • 相反的模式称为反棋盘。
  • All-0、All-1 模式当然很重要。
    • w0 → r0w1 → r1足以覆盖Stuck-at 故障。
      • 位线/字线之间的短路/桥
      • 耦合故障
      • 邻近模式敏感故障 (NPSF)
      • 当两个单元具有不同的值(0/1)
      • 当邻区具有特定的模式(例如 010/101)
      • 如果两个单元都为 0,短路可能不明显,因为它是 0,只有当一个单元为 0 而另一个单元为 1 时,电流才会使值失真。
      • March 算法 =
        ↑, ↓ + (r0, w1, r1, w0 ...)=
        操作序列
      • 棋盘式 =
        数据背景
      1. 将数据背景设置为 solid 0 / solid 1 / checkerboard / inverse-checkerboard 中的一种
      2. 在该状态下执行 March 算法序列
      • 第 1 步:用棋盘格填充整个内存。
      • 第 2 步:在该状态下执行 March C-↑(rX, wY) 元素。
      • 第 3 步:切换到反棋盘并再次行进。
      • 消费类 SoC:
        • March C- @ solid 0/1
        • 必要时添加一个简短的棋盘序列
      • 汽车/服务器级 SoC:
        • March C- @ solid 0/1
        • March C- @ checkerboard / inverse-checkerboard
        • 添加面向 NPSF 的 March SS 算法,以实现诊断覆盖目标。
      1. 产品性质
        • 消费电子 SoC → "中等质量 + 较短测试时间"
        • 汽车/安全关键型 → "极高可靠性 + 可接受较长测试时间"
      2. 目标 DPPM/PPM、标准要求
        • ISO 26262 诊断覆盖范围
        • 晶圆厂/客户覆盖范围指南
      3. 存储器特性
        • 单端口/双端口/多端口 SRAM
        • 寄存器文件、CAM、ROM、eDRAM、eFlash 等:eFlash/eFuse/NVM 包括程序/擦除/保持测试
        • 多端口 SRAM 使用 March 变体,端口之间的读/写组合用于端口交互故障
      • 检查其是否符合公司标准/客户要求
        • 示例)March C- + March LA + Checkerboard
        • 新项目的DFT 工程师将这些算法作为默认设置,仅针对不寻常的内存(eFlash、特殊 SRAM 等)进行调整
        1. 逻辑测试和存储器测试在理念上是不同的:
          • 逻辑:扫描 + ATPG,以门级故障为重点
          • 存储器:逐地址顺序访问,以单元/邻域/解码器故障为重点
        2. 行进算法是一种通过行进地址来重复读/写序列的测试。
          • 方向(↑/↓)+操作(r0/r1/w0/w1)的组合是关键
        3. 基本概念是 March X,实际操作以 March C- 为基础
        4. 棋盘不是一种算法,而是一种背景。
          • March C- @ solid 0/1 表示单元格本身,
          • March C- @ checkerboard/inverse-checkerboard 表示相邻交互。
        5. 算法的选择由 MBIST 插入步骤中的工具选项决定。
          • 这并不像阅读论文和选择一个漂亮的 March,然后在创建向量时将其穿上,
          • 它是在 DFT 架构/MBIST 插入时通过查看测试要求、内存特性和测试时间来确定的。

6.2 为什么是棋盘格(不能是 All-0/All-1)


Checkerboard pattern = 一种数据背景,其中存储单元的排列方式使相邻单元格总是具有相反的值,例如
010101... / 10101010...

6.1 什么是棋盘格图案:

6. 棋盘背景和三月算法


如果不符合,则可以通过添加更多 March 元素、添加背景等方式对其进行定制。此外,许多公司在 BU / 公司层面都有一套标准的 MBIST 算法:在实践中,单个工程师从头开始设计 March 算法的情况非常罕见标准模板 + 一些定制是更常见的情况。


요약:供 DFT/ATPG 工程师牢记的要点

总而言之,以下几点对 DFT/ATPG 工程师非常有用。有了这些知识,您就能更好地了解如何在芯片设计会议上控制 DFT 团队,而且在阅读 MBIST 规范或代工厂指南时也会更加得心应手。当您需要设计自己的 定制 March + 背景时,这个框架将是一个很好的起点。

过渡故障也在一定程度上得到了覆盖。这些故障通常只在以下情况下可见。例如,如果两个单元发生弱短路:因此,从测试的角度来看:

我们希望创建一种 "相邻单元始终具有相反值 "的情况,以尽可能多地刺激
bitline / cell / wordline 之间的干扰。

最简单的方法是使用棋盘模式。


6.3 西洋跳棋和三月棋的关系

这里有一点很容易混淆。换句话说,这样的结构更容易理解。例如:这就是您经常在 MBIST 工具脚本中看到的配置。

算法:行进 C-
背景:实心 0/1棋盘式反棋盘式

我们正交地定义了算法和背景,这种组合提高了故障覆盖率。在实际产品规格中,它看起来像这样。


7.从 MBIST 的角度来看,何时以及如何决定 March/Checkerboard?"

最后,让我们来总结一下
"在设计流程中何时决定该测试向量/算法?"这个问题。

7.1 算法选择标准

在现实世界中,选择算法的过程通常可以总结如下。

测试要求 + 存储器特性 + 测试时间(ATE 成本) + 工具/库默认值

在实践中,内存编译器/IP 供应商通常会提供推荐的 March 集。

"This SRAM macro achieves XX% fault coverage based on March C- + Checkerboard"

作为 DFT 工程师,您可以使用这些信息并

글 참여 도구

Share Join discussion
How did this article help? Used only as a private quality signal.

Private note

Spot an error or need clarification?

Send a private correction, question, or topic request directly to the editor.

VLSI Korea

Send a private note

Your message will be delivered to [email protected].

How should we receive it?

Anonymous mode omits your name and email. The delivery provider may still process technical data such as an IP address, so absolute anonymity cannot be guaranteed.

ENGINEER DISCUSSION

What are you seeing in practice?

Add evidence, a counterpoint, or experience from the field. Reply notifications keep the thread moving.

VLSI KOREA BRIEFING

Keep the signal. Lose the noise.

Semiconductor engineering and industry intelligence from a practicing engineer. Free, with no paywall.

FOR BUSINESS

Need this level of technical content?

Technical content, sponsored deep-dives and private team briefings—with clear scope and pricing.

Work with VLSI Korea →
VLSI Korea Free forever · No paywall · Weekly semiconductor insights from practicing engineers
MY VLSI

내 읽기 보관함

저장한 글과 읽던 글을 한곳에서 이어보세요.