Алгоритм DFT March? Шахматная доска 2

Алгоритм DFT March? Шахматная доска 2
Photo by Clem Around The Corner on Unsplash

5. Почему март кажется интуитивным с точки зрения структуры памяти

5.1 Как получить доступ

SRAM Рассмотрим банк:

  • Выбор конкретной строки (wordline) с помощью шины адреса
  • Считывание или запись значения ячейки через битную линию, подключенную к этой строке
  • В один момент времени можно с уверенностью контролировать только "один адрес"

Так что основная единица теста естественно такая.

"Выберите один адрес → выполните последовательность чтения/записи → перейдите к следующему адресу"

Этот поток сам по себе почти 1:1 пересекается с определением элемента марша.


5.2 Как поймать ошибку дешифратора адреса?

Например, по адресу:

  • Неисправность дешифратора приводит к тому, что одновременно загораются две строки.
  • По этому адресу w1 может привести к тому, что предполагаемая ячейка будет 1, а также ячейка в соседнем ряду.

Далее по другому адресу:

  • Мы ожидаем, что соседняя ячейка будет r0, но читаем 1.

Если вы повторите r0, r1 несколько раз, поднимаясь и опускаясь, как мартовские C-, то в какой-то момент обязательно прочитаете значение "непредусмотренная ячейка включилась вместе и переписала".

Таков механизм, с помощью которого March C- обнаруживает неисправность декодера адреса.


5.3 Как выявить неисправность муфты:

Неисправность муфты - это следующая ситуация.

Неисправность, при которой значение соседней ячейки (жертвы) не изменяется или не поддерживается при выполнении определенной операции (запись, переключение) на ячейке-агрессоре

Март C- это:

  • сразу после выполнения w1 с любой клеткой
  • шаблон проверки соседней клетки с r0 или r1 повторяется многократно, меняя направление вверх/вниз.

В процессе:

    • Для того чтобы найти "дефекты, которые проявляются только тогда, когда паттерн соседней клетки находится в определенном состоянии", мы заставляем различные относительные упорядочения.
  • Это занимает немного больше времени, чем простое однократное написание/чтение шаблона Чекерборд, но дает значительно большее покрытие ошибок.
  • Ну а теперь давайте добавим Чекерборд, о котором мы часто слышим на практике.
  • Начнем с однострочного определения.
  • В побитовом выражении:
    • Шаблон A: 0x55... (...0101 0101)
    • Шаблон B: 0xAA... (...1010 1010)
  • По адресу это обычно выглядит так:
    • Четный адрес → 0x5555_5555
    • Дополнительный адрес → 0xAAAA_AAAA
  • Или вы можете перевернуть его, чтобы 0s и 1s чередовались как шахматная доска в обоих горизонтальном (побитовом) и вертикальном (адресном) направлениях.
  • Противоположная схема называется инверсной шахматной доской.
  • Узоры All-0, All-1, конечно, важны.
    • w0 → r0, w1 → r1 достаточно для того, чтобы покрыть недостаток Stuck-at.
    • Недостаток перехода также покрывается в некоторой степени.
  • Проблема заключается в взаимодействии между соседними клетками.
    • Короткое замыкание/мост между битовой линией/словом
    • Неисправность сопряжения
    • Неисправность, чувствительная к соседству (NPSF)
  • Эти неисправности часто видны только в следующих ситуациях.
    • Когда две ячейки имеют разные значения (0/1)
    • Когда соседство имеет определенный рисунок (например, 010/101)
  • Например, если две ячейки слабо закорочены:
    • Если они обе равны 0, короткое замыкание может быть незаметным, поскольку оно равно 0, а значение может быть искажено током, протекающим только тогда, когда одна из них равна 0, а другая - 1.
  • Так вот, с точки зрения тестирования:
  • Самый простой способ сделать это - использовать паттерн Шахматная доска.
  • Здесь есть момент, в котором легко запутаться.
    • Алгоритм Марча =
      ↑, ↓ + (r0, w1, r1, w0 ...) =
      Последовательность операций
    • Чекерборд =
      Фон данных
  • Иными словами, проще смотреть на структуру так.
    1. Установите фон данных в одно из значений solid 0 / solid 1 / checkerboard / inverse-checkerboard
    2. Выполните последовательность алгоритма March в этом состоянии
  • Например:
    • Шаг 1: заполните всю память шашкой.
    • Шаг 2: Выполните элемент ↑(rX, wY) March C-, находясь в этом состоянии.
    • Шаг 3: Переключитесь на Inverse-checkerboard и повторите марш.
  • Такую конфигурацию вы часто видите в скриптах инструментов MBIST.
  • Мы определили алгоритм и фон ортогонально, и эта комбинация улучшает покрытие дефектов.
  • В реальной спецификации продукта это выглядит примерно так.
    • Потребительские SoC:
      • March C- @ solid 0/1
      • Добавьте короткую шашечную последовательность, если необходимо
    • Автомобильные / серверные SoC:
      • Март C- @ solid 0/1
      • Март C- @ checkerboard / inverse-checkerboard
      • Добавить март SS, NPSF-ориентированные алгоритмы для достижения целей диагностического покрытия.
  • Ну а теперь, наконец, давайте подведем итог вопросу:
    "Когда принимается решение по этому тестовому вектору/алгоритму в потоке проектирования?".<Здесь важно не путать алгоритм марта с вектором ATPG.
  • В реальном мире процесс выбора алгоритма обычно можно свести к следующему.
    1. Природа продукта
      • Потребительская электроника SoC → "Умеренное качество + короткое время тестирования"
      • Автомобильная промышленность / критическая безопасность → "Очень высокая надежность + допустимо большее время тестирования"
    2. Целевой DPPM/PPM, Требования стандартов
      • ISO 26262 диагностическое покрытие
      • Foundry / customer coverage guideline
    3. Характеристики памяти
      • Однопортовая / двухпортовая / многопортовая SRAM
      • Регистровый файл, CAM, ROM, eDRAM, eFlash и др: eFlash/eFuse/NVM включает тест на программирование/стирание/задержку
      • Многопортовая SRAM использует вариант March с комбинациями чтения/записи между портами для выявления ошибок взаимодействия портов
  • На практике компилятор памяти/производитель IP часто поставляется с рекомендуемым набором March.
  • Как инженер DFT, вы берете это и
    • проверяете, соответствует ли оно стандартам вашей компании / требованиям заказчика
      • Пример) March C- + March LA + Checkerboard
      • ИнженерыDFT в новых проектах используют их по умолчанию и настраивают только для необычной памяти (eFlash, специальная SRAM и т. д.)
      1. Логические тесты и тесты памяти отличаются по философии:
        • Логические: сканирование + ATPG, ориентированы на неисправности на уровне затвора
        • Память: последовательный доступ по адресам, ориентированы на неисправности ячеек/соседей/декодеров
      2. Алгоритм марша - это тест, повторяющий последовательность чтения/записи путем марша по адресам.
        • Комбинация направления (↑/↓) + операции (r0/r1/w0/w1) является ключевой
      3. Основной концепцией является March X, а реальная практика основана на March C-.
      4. Checkerboard - это не алгоритм, а фон.
        • March C- @ solid 0/1 для самой ячейки и
        • March C- @ checkerboard/inverse-checkerboard для соседних взаимодействий.
      5. Выбор алгоритма определяется опциями инструмента на шаге вставки MBIST.
        • Это не то же самое, что прочитать статью, выбрать красивый марш и надеть его потом при создании вектора,
        • Это определяется на этапе создания архитектуры DFT / вставки MBIST с учетом требований к тесту, характеристик памяти и времени тестирования.
"Этот макрос SRAM достигает XX% покрытия дефектов на основе March C- + Checkerboard"
Требования к тесту + характеристики памяти + время тестирования (стоимость ATE) + инструменты/библиотеки по умолчанию

7.1 Критерии выбора алгоритма

7. Когда и как принимается решение по March/Checkerboard с точки зрения MBIST?"


Алгоритм: March C-
Фон: solid 0/1, checkerboard, inverse-checkerboard

6.3 Взаимосвязь между шашкой и мартом


Мы хотим создать ситуацию, когда "соседние ячейки всегда имеют противоположные значения", чтобы стимулировать как можно больше помех между
битовой линией/ячейкой/словесной линией.

6.2 Почему шашка? (А разве не может быть All-0/All-1?)


Шаблон шахматной доски = фон данных, в котором ячейки памяти расположены так, что соседние ячейки всегда имеют противоположные значения, например
01010101... / 10101010....

6.1 Что такое шашечный узор:

6. Фон Чекерборд и алгоритм March


и, если нет, настраиваете его, добавляя больше элементов March, добавляя фон и т. д.Кроме того, многие компании имеют стандартный набор алгоритмов MBIST на уровне подразделения / компании:На практике индивидуальные инженеры редко разрабатывают алгоритмы March с нуля, и стандартные шаблоны + некоторая кастомизация - это скорее норма.


요약: Полезные моменты для инженеров DFT/ATPG

Подводя итог, можно сказать, что следующие моменты полезно иметь в голове инженерам DFT/ATPG.Получив эти знания, вы будете лучше понимать, как управлять командой DFT на совещаниях по проектированию микросхем, и вам будет гораздо удобнее читать спецификации MBIST или руководства литейных заводов.А когда придет время разрабатывать собственный настроенный март + фон, этот кадр станет хорошей отправной точкой.Кроме того, вы сможете создать свой собственный март и фон.

Enjoyed this article?

Get deep-dive semiconductor analysis and career insights delivered weekly. Free forever — no paywall, no upsell. Funded by sponsorships with a strict editorial firewall (Editorial Standards).

Work with me

Consulting · Collaboration · Support

Paid 1:1 technical consulting, speaker invitations, collaboration proposals, or just want to say thanks — all welcome.

View options →
VLSI Korea Free forever · No paywall · Weekly semiconductor insights from practicing engineers
Support