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)
- Шаблон A:
- По адресу это обычно выглядит так:
- Четный адрес →
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 ...)=
Последовательность операций - Чекерборд =
Фон данных
- Алгоритм Марча =
- Иными словами, проще смотреть на структуру так.
- Установите фон данных в одно из значений solid 0 / solid 1 / checkerboard / inverse-checkerboard
- Выполните последовательность алгоритма 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-ориентированные алгоритмы для достижения целей диагностического покрытия.
- Потребительские SoC:
- Ну а теперь, наконец, давайте подведем итог вопросу:
"Когда принимается решение по этому тестовому вектору/алгоритму в потоке проектирования?".<Здесь важно не путать алгоритм марта с вектором ATPG. - В реальном мире процесс выбора алгоритма обычно можно свести к следующему.
- Природа продукта
- Потребительская электроника SoC → "Умеренное качество + короткое время тестирования"
- Автомобильная промышленность / критическая безопасность → "Очень высокая надежность + допустимо большее время тестирования"
- Целевой DPPM/PPM, Требования стандартов
- ISO 26262 диагностическое покрытие
- Foundry / customer coverage guideline
- Характеристики памяти
- Однопортовая / двухпортовая / многопортовая SRAM
- Регистровый файл, CAM, ROM, eDRAM, eFlash и др: eFlash/eFuse/NVM включает тест на программирование/стирание/задержку
- Многопортовая SRAM использует вариант March с комбинациями чтения/записи между портами для выявления ошибок взаимодействия портов
- Природа продукта
- На практике компилятор памяти/производитель IP часто поставляется с рекомендуемым набором March.
- Как инженер DFT, вы берете это и
- проверяете, соответствует ли оно стандартам вашей компании / требованиям заказчика
- Пример)
March C- + March LA + Checkerboard - ИнженерыDFT в новых проектах используют их по умолчанию и настраивают только для необычной памяти (eFlash, специальная SRAM и т. д.)
- Пример)
- Логические тесты и тесты памяти отличаются по философии:
- Логические: сканирование + ATPG, ориентированы на неисправности на уровне затвора
- Память: последовательный доступ по адресам, ориентированы на неисправности ячеек/соседей/декодеров
- Алгоритм марша - это тест, повторяющий последовательность чтения/записи путем марша по адресам.
- Комбинация направления (↑/↓) + операции (r0/r1/w0/w1) является ключевой
- Основной концепцией является March X, а реальная практика основана на March C-.
- Checkerboard - это не алгоритм, а фон.
March C- @ solid 0/1для самой ячейки иMarch C- @ checkerboard/inverse-checkerboardдля соседних взаимодействий.
- Выбор алгоритма определяется опциями инструмента на шаге вставки 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 или руководства литейных заводов.А когда придет время разрабатывать собственный настроенный март + фон, этот кадр станет хорошей отправной точкой.Кроме того, вы сможете создать свой собственный март и фон.