Функциональное тестирование микросхем ОЗУ

15.02.2017

электронная компонентная базаМногие современные цифровые микросхемы большой степени интеграции, такие как микроконтроллеры и некоторые виды ПЛИС имеют оперативную память данных, которой зачастую не хватает для записи больших объемов информации. В современном мире микроэлектроники широкое распространение получили динамические и статические оперативные запоминающие устройства (ОЗУ). В динамических ОЗУ система хранения данных организована через заряды емкостей МОП-структур, которые необходимо с определенной периодичностью подзаряжать (регенерировать) для исключения саморазряда, ведущего к потере записанной информации. Архитектура построения статических ОЗУ более простая – она основана на триггерах, которые сохраняют свое состояние при поданном на микросхему питании. Современные наработки в технологии производства микросхем ОЗУ позволяют повышать степень интеграции, но и приводят к появлению большего количества дефектов. Поэтому на сегодняшний день остается актуальной задача тестирования микросхем ОЗУ как на этапе входного контроля на предприятиях, производящих устройства микроэлектроники, так и в компаниях, занимающихся поставками комплектующих.

Любая микросхема ОЗУ содержит шину управления, шину адреса и шину данных. Очевидно, что для функционального тестирования необходимо задавать воздействия на микросхему с учетом требования выявления дефектов. Самым очевидным способом проверки работоспособности ОЗУ является проверка режимов управления, записи и чтения данных. Т.е. функциональный контроль сводится к записи данных в память и чтение данных из памяти с последующим сравнением считанной и записанной информации. Очень важной особенностью данной операции является выбор какой код записывать и считывать для выявления неисправностей. Как показывает практика скрытые дефекты микросхем ОЗУ чаще всего бывают двух типов – сбой в ячейке по определенному адресу или адресам (в ячейке памяти хранится ошибочное значение, отличающееся от записываемого) и, так называемое, «залипание» бита памяти (когда значение определенного бита по данному адресу невозможно изменить). Одним из вариантов для проверки является комбинированный подход по тестированию, заключающийся в применении комплекса записываемых кодов, которые включают в себя «шахматные» и «переменные» коды. Для задания внешних воздействий на микросхему памяти используется внешний микроконтроллер или ПЛИС, порты ввода/вывода которых генерируют сигналы шины управления, шины адреса и шины данных необходимой размерности.

На первоначальном этапе в микросхему памяти последовательно записывается «шахматный» код 5516, далее производится считывание данных из ОЗУ с последующим сравнением с записанными значениями. Если сравнение проходит успешно (все считанные значения соответствуют записанным), то в микросхему записывается инверсный «шахматный» код АА16 и считывание с последующим сравнением. Данный комплекс операций проводится несколько раз с инвертированием кода после каждого «прохода». Далее тестирование проводится «переменным» кодом. В идеальном варианте в ячейки с соседними адресами записываются прямо противоположные псевдослучайные данные, однако это значительно увеличивает время тестирования, т.к. для получения наиболее полного тестирования необходимо достаточно большое число циклов с изменением данных после каждого цикла. Но если применять «переменные» коды в сочетании с «шахматными» кодами, то вполне достаточно ограничиться записью по каждому адресу значения, отличающегося от значения предыдущего адреса и последующего. В самом простом случае в ячейку памяти записывается ее адрес, что позволяет при наличии дефекта легко определить на каком адресе произошел сбой. После заполнения всех ячеек памяти следуют операции чтения и сравнения с записанными данными. В случае успешного завершения операции сравнения, можно произвести цикл еще раз с записью в ячейку инверсного значения адреса с последующим чтением и проверкой.

Вышеописанный комплекс функционального тестирования позволяет выявить дефекты микросхем памяти с большой достоверностью. Перечисленные алгоритмы «шахматных» и «переменных» кодов позволяют не только определить наличие дефектных ячеек или отдельных битов, но и определить их адреса. Однако, следует учитывать, что в случае, когда задающим (управляющим микросхемой памяти) устройством является микроконтроллер, есть ограничение по быстродействию тестирования. В случае высокоскоростных ОЗУ следует применять ПЛИС для достижения большей скорости обмена данными и тестирования микросхемы на максимально возможных частотах.