Трехконтактный тест — это реально!

№ 9’2011
Широко распространенные в настоящее время процессоры обработки видеосигналов имеют всего три стандартных цифровых контакта на корпусе микросхемы. Всего несколько лет назад те, кто искал решения, каким образом построить производственный структурный тест для подобных сложных СБИС, могли довольствоваться ответами типа «это невозможно» или «сделай сам». Компания STMicroelectronics (STM) тоже столкнулась с подобной проблемой, и для ее решения были мобилизованы значительные внутренние ресурсы, а также ресурсы партнеров компании. В статье говорится о достижениях компании STM, которая смогла добиться в этой области впечатляющего прогресса, снизив стоимость теста и накладные расходы на единицу площади кремния, улучшив дизайн и оптимизировав производственные процессы и т. д. За три года компания усовершенствовала тестопригодность и улучшила тестовые характеристики для всего диапазона выпускаемых датчиков с оптическим зумом от 25× до 30×. Сейчас, когда решение найдено и реализовано на производстве, нам хотелось бы обсудить перспективы тестового сканирования с использованием всего трех контактов.

Введение

На протяжении целого ряда лет общепринятый стандартный подход к структурному цифровому тестированию основывался на применении методологии сканирования. Реализация любого стандартного сканирования включает в себя определение сканируемых цепей (входные и выходные порты), наличие управляющих сигналов сканирования (scan-enable, scan-reset), а также синхронизацию сдвига и захвата. Чтобы обеспечить возможность доступа ко всем перечисленным сигналам, необходимо иметь как минимум один вход сканирования, один выход, один тактовый сигнал, один сигнал сброса сканирования, а также сигнал запуска сканирования со стороны системы автоматической генерации тест-векторов (АГТВ) через тестовые порты, напрямую связанные с автоматизированным тестовым оборудованием (АТО). Таким образом, тестируемый кристалл или корпус ИС должны иметь как минимум пять контактов или контактных площадок. Как реализовать тест сканирования, если число остающихся для этого (или предназначенных для этого) контактов меньше пяти, сохранив требуемый уровень тестового покрытия и объем данных, необходимых АТО?

В предлагаемой статье представлены результаты исследований и разработок в области тестопригодного проектирования (ТПП, или DFT) кристаллов и ИС с применением не более трех цифровых контактов, проведенных в компании STM (Гренобль, Франция). После краткого обзора сути проблемы и существующих ограничений для ее решения в статье предложены два подхода: первый из них базируется на архитектуре сжатия, разработанной компанией Synopsys, а второй — на архитектуре TestKompress, разработанной компанией Mentor Graphics. Оба решения уже доказали свою применимость при их воплощении на кремнии разнообразных СБИС.

Далее по тексту статьи приняты следующие определения:

  • Функциональный контакт или функциональная контактная площадка понимается как контакт или площадка на кремнии ИС, необходимые для нормального функционирования данной ИС.
  • Тестовый контакт или тестовая контактная площадка понимается как специальный контакт или площадка, необходимые исключительно для целей тестирования и не использующиеся при функционировании данной ИС.

Подразделение видеообработки компании STM занимается проектированием и внедрением в промышленность КМОП-датчиков и процессоров обработки видеосигналов (ПОВС, или ISP). ПОВС относятся к стандартным маломощным цифровым устройствам и также представляют интерес в контексте тестирования СБИС с ограниченным числом контактов. Однако основным объектом поиска тестовых решений являются КМОП-датчики изображения, которые далее мы будем называть просто датчиками. Датчики являются маломощными цифро-аналоговыми устройствами, состоящими в основном из аналоговой матрицы ячеек изображения (пикселей) и цифрового канала обработки видеосигналов, что позволяет их рассматривать в качестве СнК (SoC) среднего уровня сложности.

На рис. 1 показана типичная архитектура датчика и его интерфейсы.

Типичная архитектура датчика

Рис. 1. Типичная архитектура датчика

В статье рассматривается только цифровая часть датчика (голубые прямоугольники на рис. 1). Число вентилей здесь может варьироваться от 100 000 до 500 000, что примерно соответствует числу сканируемых триггеров от 8000 до 40 000.

Следующие внешние сигналы, как на уровне кристалла, так и на уровне корпуса, характерны для всех типов датчиков:

  • интерфейс I2C для связи с внешним миром (цепи SCL и SDA);
  • внешнее управление питанием, позволяющее включать или выключать всю систему;
  • внешний тактовый сигнал (CLK);
  • источники питания и заземление.

Для передачи видеоизображения применяется один из следующих интерфейсов:

  • последовательная высокоскоростная связь, использующая протоколы CCP-2 или CSI-2, для которой нужны как минимум две пары низковольтных дифференциальных сигналов на четырех контактах;
  • и/или 8-разрядный или 10-разрядный параллельный интерфейс.

При поиске тестовых решений для датчиков необходимо принять во внимание несколько следующих ограничений.

Ограничение 1

В большинстве случаев на кристалле доступны оба типа интерфейсов (параллельный или последовательный), но в некоторых случаях доступен только последовательный интерфейс. На корпусе ИС всегда доступен только один из интерфейсов — последовательный или параллельный.

Следствие 1. Тестовое решение должно соответствовать любой из имеющихся конфигураций интерфейса. В худшем случае конфигурация выглядит следующим образом:

  • интерфейс I2C (тактовый сигнал и последовательный интерфейс)

или

  • интерфейс I2C (тактовый сигнал и параллельный интерфейс).

Ограничение 2

Тестируемые объекты включают в себя готовые физические блоки с уже встроенным механизмом сканирования, длина цепочек сканирования которого равна 100 регистрам.

Следствие 2. В таком случае тестовое решение не может использовать цепи сканирования короче 100 регистров.

Ограничение 3

Если в тестируемом объекте доступен параллельный интерфейс, тестирование может выполняться на четырех-пяти цепочках сканирования, используя механизм сжатия Synopsys Adaptive Scan. Но как быть с устройствами, не имеющими параллельного интерфейса?

Для таких случаев примерно до 2006 года предусматривалось размещение нескольких тестовых контактов — как на самом кристалле, так и на корпусе ИС, которые использовались как для программирования теста, так и для выполнения сканирования. Это позволяло проводить тестирование по двум цепочкам сканирования без сжатия (тогда продукты компании Synopsys еще не поддерживали сканирование по двум цепочкам).

Однако эти тестовые контакты, добавленные к контактам ввода/вывода на кристалле и на корпусе СБИС, не нашли поддержки ни среди разработчиков, ни среди пользователей, поскольку создавали дополнительные сложности в условиях ограниченного количества контактов как корпуса СБИС, так и платы, на которой эта СБИС должна была быть смонтирована. Таким образом, возникла острая потребность в поиске тестовых решений, которые использовали бы только функциональные контакты. Отсюда вытекает следующее ограничение.

Следствие 3. На корпусе СБИС не допускается применение никаких тестовых контактов, что, в сущности, означает, что только функциональные контакты могут быть использованы для целей тестирования.

Ограничение 4

Это ограничение связано со спецификой технологии изготовления датчиков и применением специфических технологических процессов, необходимых для воспроизведения изображения. Эти технологические процессы являются производными стандартных КМОП-процессов, но количество слоев металла ограничивается четырьмя для минимизации высоты оптического стека. Это означает, что операции размещения и трассировки могут сильно осложниться из-за высокой плотности транзисторов, поэтому в датчиках она довольно невелика и равна примерно 50% стандартной плотности КМОП, равной, как правило, 80%. Как следствие этого, добавление на кристалл вентилей для обеспечения тестирования приводит к быстрому увеличению размеров кристалла, что не только отрицательно влияет на величину прибыли, но и вообще может убить бизнес. В аппликациях для мобильных телефонов, к примеру, размер СБИС диктуется самой конкретной аппликацией, так что кристалл должен строго соответствовать установленным размерам, что приводит к следующему условию.

Следствие 4. Число вентилей, добавленных на кристалл для целей тестирования, не должно превышать нескольких тысяч.

Ограничение 5

Специфика структуры используемого тестера также накладывает свои ограничения на ТПП. В процессе электрической сортировки пластин (EWS) или при финальном тестировании корпуса (FT) память тестера ограничена, как правило, объемом в 10 млн векторов (Mвекторов) при сканировании (для любых моделей неисправностей). При этом 5 Mвекторов выделяется для сканирования константных неисправностей (stuck-at fault) и еще 5 Mвекторов — для сканирования неисправностей перехода между логическими состояниями (transition-fault).

Следствие 5. Максимальный объем данных для сканирования не должен превышать 5 Mвекторов для модели константных неисправностей.

Ограничение 6

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

Следствие 6. Высокоскоростные последовательные интерфейсы нельзя использовать в тестовой аппаратуре, предназначенной для финального тестирования. Это означает, что для целей сканирования приемлем лишь интерфейс I2C плюс синхросигналы, то есть только три функциональных цифровых контакта. Это ограничение является, таким образом, более жестким, чем ограничение 1.

Ограничение 7

Подразделение видеообработки компании STM — весьма разветвленная структура с множеством центров проектирования, поэтому любое решение должно быть приемлемым с точки зрения его реализации и поддержки на всех производственных сайтах. Кроме того, среднее время полного цикла разработки датчиков составляет около шести месяцев: от постановки задачи до выхода готового продукта. В силу этих причин должна быть выработана единая стратегия тестирования независимо от характеристик конкретного продукта, так, чтобы его реализация и поддержка выполнялись с минимальными затратами, и это ограничение является наиболее существенным.

Следствие 7. Любое тестовое решение должно быть совместимо со всеми характеристиками имеющихся в наличии продуктов компании.

Все указанные выше ограничения, для проектирования как кристалла, так и его корпуса, должны быть приняты во внимание при разработке ТПП-стратегии, которая должна охватывать все возможные случаи. На рис. 2 приведен пример наихудшей конфигурации доступных контактов, когда только три функциональных контакта (они зеленого цвета) могут быть использованы для организации цифровых тестов. Выводы питания и управления по питанию (синие), а также выводы дифференциальных сигналов (розовые) не могут быть использованы для целей тестирования.

Пример наихудшего случая конфигурации

Рис. 2. Пример наихудшего случая конфигурации доступных контактов

Тестовое решение должно также соответствовать следующим общепринятым в компании задачам ТПП:

  • Покрытие более 99% константных неисправностей.
  • Использование модели константных неисправностей и модели неисправностей переходов с одного логического уровня на другой, а также метода тестирования, основанного на измерении тока покоя (IDDQ).
  • Возможность сжатия входных данных, содержащих определенные совокупности битов (Х-толерантные биты), которые не должны приниматься во внимание в выходном потоке данных.
  • Возможность диагностики как самого кристалла, так и корпуса СБИС.
  • Как можно более широкое использование идентичных тест-векторов для тестирования не только кристалла, но и корпуса СБИС с целью сокращения времени их разработки (предпочтительно использование одной и той же системы АГТВ).
  • Снижение затрат, связанных с тестированием.
  • Совместимость всех ТПП-решений с выпускаемыми моделями и минимизация времени проектирования.

Итак, достаточно полное описание поставленных задач может выглядеть следующим образом: как построить тест сканирования и управлять им, используя только три функциональных вывода, принимая во внимание все описанные выше ограничения при удовлетворении всех требований ТПП?

Не так давно появился ряд публикаций, посвященных теме сжатия [13], но ни в одной из них не уделяется достаточно внимания тем специфическим ограничениям, с которыми нам пришлось столкнуться. Сравнительно недавно общий подход к решению подобных проблем был довольно простым: системы АГТВ, выпускаемые компаниями Synopsys, Mentor Graphics, Cadence, не поддерживали никаких сканирующих методов тестирования в промышленных масштабах. Единственным приемлемым решением было встроенное тестирование логики (ЛВСТ, или LBIST), имевшее множество ограничений [4], а именно:

  • Требуемое количество вентилей слишком велико и обычно превышает несколько тысяч вентилей.
  • Не-Х-толерантный сигнатурный анализатор.
  • Невысокое тестовое покрытие, для реализации которого требовались дополнительные точки подключения, что приводило к увеличению числа вентилей в схеме.
  • Ограниченные диагностические возможности.
  • Протокол управления интерфейсом базировался, как правило, на JTAG-стандарте IEEE 1149.1, требующем более трех контактов для реализации интерфейса и предназначенном для целей тестирования.

Вследствие описанных выше недостатков встроенного самотестирования после некоторых колебаний было принято решение от него отказаться.

Единственной реальной альтернативой, таким образом, остался стандартный тест сканирования с использованием трех контактов, что означает использование одного входа сканирования, одного выхода сканирования и одного тактового сигнала. Но как при этом управлять сигналами запуска и сбросом сканирования? Как программировать режим сканирования? Как получить требуемое покрытие при одновременном соблюдении ограничений, накладываемых на память тестера?

Как показано на рис. 3, управление программированием режима сканирования представляет собой несложную задачу.

Управление программированием режима тестирования

Рис. 3. Управление программированием режима тестирования

Два контакта интерфейса I2C фактически используются для программирования тестовых режимов посредством несканируемых регистров, встроенных в контроллер режима тестирования (TMC). При переключении в режим тестирования эти контакты работают в качестве сканирующих входа и выхода.

В начале статьи было упомянуто о пяти контактах, необходимых для выполнения сканирования, то есть еще два контакта — запуск и сброс сканирования — необходимо сократить.

Далее будут детально описаны два решения, предложенные в последнее время, с помощью которых реализуется сканирование только по трем контактам. Первое из решений предложено компанией STM. Оно базируется на механизме сжатия, разработанном компанией Synopsys, который называется Adaptive Scan. Это решение обладает как преимуществами, так и недостатками. Появление Adaptive Scan, в свою очередь, привело к разработке другого решения в сотрудничестве с компанией Mentor Graphics. Далее будет представлен обзор различных результатов, полученных в течение трех лет благодаря реализации обоих решений для ограниченного числа контактов.

Мы рассмотрим три режима сканирования:

  • Стандартное: сканируются N внешних каналов (N ≥ 1), доступны все контакты всех управляющих сигналов, имеется возможность сжатия. Такой режим обычно используется при сканировании кристалла при наличии полного набора необходимых контактов.
  • Последовательное: используются только три контакта.
  • Bypass-сканирование: выполняется по одной цепочке сканирования, охватывающей все триггеры в схеме, сжатие не используется, имеется доступ к необходимым управляющим сигналам (как минимум — к запуску сканирования).

Решение, предлагаемое компанией STM

Архитектура тестового решения, разработанного в STM

В свете описанных выше проблем и ограничений специалисты компании STM осознали острую необходимость в создании альтернативного подхода, который смог бы полностью удовлетворить ее потребности. В рамках этих исследований был разработан механизм сериализации/десериализации, или СерДес (изображено оранжевым на рис. 4), позднее описанный в [5] и запатентованный в [67], который позволил преодолеть ограничения по количеству необходимых сигналов. Был также разработан некий конечный автомат, или машина состояний, для управления потоком данных и их пересылки либо в регистр управляющих сигналов, либо в регистр входных/выходных данных.

Архитектура тестового решения STM

Рис. 4. Архитектура тестового решения STM

Таким образом, вся информация (данные сканирования или биты управления конечного автомата) загружается через единственный входной порт test_in по сигналу синхронизации, управляемому тестером sys_clk. Блок преобразования последовательного кода в параллельный (десериализатор) захватывает последовательность тест-векторов на входе, преобразуя их в набор N векторов. И наоборот, блок преобразования параллельного кода в последовательный (сериализатор) захватывает N выходных реакций сканирования и выстраивает их в последовательность сигналов на одном выходном контакте. Такое решение обладает следующими преимуществами:

  • Используется только одна пара контактов для входа/выхода сканирования.
  • Позволяет реализовать конфигурацию с одним тактовым сигналом и одним каналом сканирования.
  • Позволяет осуществить сканирование без применения специальных тестовых контактов.
  • Имеет высокоскоростной интерфейс сканирования.
  • Предоставляет пользователю широкий выбор контроллеров в соответствии с необходимым ему тестовым режимом и числом имеющихся контактов.
  • Позволяет пользователю выбирать по желанию одну из нескольких конфигураций сканирования: параллельную, последовательную или обход (Bypass).
  • Позволяет использовать стандартный синтез, ТПП-вставки и стандартный режим использования АГТВ.
  • Имеет параметризованное число цепочек сканирования, доступ к которым обеспечивается при помощи интерфейса Adaptive Scan через тестовые контакты, что обуславливает его применимость при многоканальной электрической сортировке кремниевых пластин.
  • Использует простой алгоритм преобразования параллельного кода тест-векторов в последовательный.
  • Допускает простое моделирование и классификацию неисправностей при анализе тест-векторов.
  • Совместимо со всеми моделями неисправностей.
  • Имеет минимальные ограничения, связанные с интеграцией.
  • Минимизирует накладные расходы, связанные с длительностью испытаний.
  • Имеет очень невысокие суммарные накладные расходы.
  • Имеет высокий уровень покрытия неисправностей по всему кристаллу.
  • Все известные ограничения этого решения незначительны и приемлемы.

На структурной диаграмме (рис. 5) показана общая архитектура решения, используемого для сканирования с максимальным сжатием при минимальном количестве доступных контактов, называемого кратко XS2.

Cтруктурная диаграмма решения

Рис. 5. Cтруктурная диаграмма решения XS2 IP

На рис. 5 показаны регистр управления машиной состояний и два сдвиговых регистра — сдвиговый регистр данных (СРД, или SDR) и сдвиговый управляющий регистр (СУР, или SCR), используемые для ввода данных в ядро ИС и для создания выходного потока реакций сканирования функционального ядра.

Как показано на рис. 6, конечный автомат зацикливается между следующими состояниями: SCAN_DATA_SHIFT (СРД заполняется данными), APPLY (содержимое СРД поступает на тестируемое ядро ИС и активизируется синхросигнал) и, при необходимости, состояние LOAD_SCR, в котором происходит модификация содержимого СУР.

Схема управления конечным автоматом

Рис. 6. Схема управления конечным автоматом, реализованная в XS2

Регистр СУР был добавлен в структуру конечного автомата для того, чтобы свести к минимуму количество циклов, предназначенных для передачи информации, не связанной с процессом сканирования, например параметров протокола. В СУР хранятся биты управления запуском сканирования, сбросом сканирования, частотой стробирования ядра, активизации компрессора и разрешения захвата по двойному импульсу (rpt_vector). Каждый регистр при сбросе получает «лог. 1» в самый старший двоичный разряд, и эта единица в результате сдвига переходит в конце концов в самый младший двоичный разряд СУР в качестве флажка окончания (scan_end для СРД, ctrl_end для СУР) при последовательной загрузке регистров, указывая на смену состояния конечного автомата.

Для упрощения процесса генерации тест-векторов необходимо было создать такие тест-векторы для параллельного режима, которые могли бы быть использованы и при разработке тест-векторов для последовательного режима. Этот момент также был учтен при разработке кольцевого интерфейса ввода/вывода. Была добавлена и специальная ячейка для использования в блоке мультиплексирования ввода/вывода, что позволяло менять назначение контактов во время сканирования в зависимости от конфигурации выбранного теста.

В последовательной конфигурации конечный автомат управляет сигналами запуска и сброса сканирования, а также тактовым сигналом сдвига и захвата при сканировании ядра. Он также обеспечивает выдачу удвоенного тактового сигнала, который необходим для синхронизации захвата при тестировании неисправностей перехода между логическими состояниями.

Следует отметить, что поскольку в решении XS2 IP требуется постоянное использование тактовых импульсов для обновления состояний конечного автомата, эти синхросигналы также совместимы со стратегией тестирования в реальном времени с активизацией ФАПЧ (или PLL), однако эта стратегия пока еще не нашла широкого применения.

Последовательность разработки

Предложенное тестовое решение, как мы видим, характеризуется простотой и компактностью. Решение XS2 реализовано в виде специального IP, поставляемого наряду с документацией, включая раздел требований к интеграции. Это IP интегрируется в верхний уровень архитектуры (рис. 7), отдельно от функционального ядра, блока мультиплексирования сигналов ввода/вывода и контроллера тестового режима. На этом же уровне оно встраивается и в компрессор, если таковой имеется.

Типовой пример реализации XS2

Рис. 7. Типовой пример реализации XS2, основанного на механизме сжатия Adaptive Scan Synopsys

В остальных аспектах вся внутренняя ТПП-структура (DFT) ИС обычна, за исключением одного момента: если контакты параллельного интерфейса становятся недоступны после упаковки кристалла в корпус, требуется обеспечить список соединений (netlist) с указанием фиктивных контактов для АГТВ.

Проектирование внешнего интерфейса состоит из следующих этапов:

  • Создание IP, управляющего XS2 (при помощи Synopsys Design Compiler).
  • Создание ядра с блоком мультиплексирования ввода/вывода и контроллера режима тестирования.
  • Создание структур верхнего уровня.
  • Создание файла конфигурации для параллельной конфигурации в формате SPF (файл протокола STIL).
  • Введение сканирования и компрессора (с помощью ТПП-компилятора Synopsys).
  • Сохранение базы данных.

Необходимо отметить, что для удовлетворения требований высокоскоростного сканирования только XS2 IP, которое занимает небольшой объем, а также дерево управления синхронизацией должны быть высокоскоростными.

Последовательность генерации тест-векторов

Показанную на рис. 8 последовательность генерации тест-векторов можно описать следующим образом:

Последовательность генерации тест-векторов

Рис. 8. Последовательность генерации тест-векторов

  • Генерация стандартных тест-векторов параллельного доступа на основе списка соединений (netlist), включающего все доступные сигналы сканирования.
  • Сохранение результирующего тест-вектора в формате WGL или STIL.
  • «Спрямление» тест-векторов, то есть устранение вариантов при помощи специального транслятора, разработанного фирмой STM.
  • Пост-обработка тест-векторов с помощью специального скрипта для изменения фазы установки (в тест-векторах параллельного доступа, описанных в начале статьи, переворачивается один бит), преобразования параллельной загрузки цепочки сканирования в последовательный сдвиг и выполнение операций с XS2 IP.

Здесь используется специальный скрипт на языке Perl, применяемый преимущественно для обработки текстовых файлов, что делает его очень простым в использовании во время отладки.

Результаты

Все датчики, производимые компанией STM, снабжались встроенным механизмом XS2 IP примерно до конца 2008 года, пока не появилось стандартное промышленное решение, предложенное другими компаниями. С помощью механизма XS2 были достигнуты следующие результаты:

  • Оптимизация времени сканирования: благодаря механизму сжатия время сканирования одной цепочки уменьшено в 5 раз относительно сканирования без такого сжатия.
  • Простота реализации: для реализации решения и разработки тест-векторов требуется менее одной недели.
  • Время разработки трех образцов было сокращено с одного месяца до одной недели.
  • Решение стало частью производственного процесса тестирования, без него стало просто невозможно выполнять сканирование датчиков на этапе заключительного электрического тестирования.

В стандартной реализации используется восемь параллельных цепочек сканирования (в логику Adaptive Scan и из нее), что позволяет выполнять процессы электрической сортировки пластин (EWS) в параллельной конфигурации, а также 48 внутренних цепочек сканирования (в функциональное ядро и из него) с коэффициентом сжатия 5. Несмотря на известные ограничения, которые будут описаны далее, инвестиции в это решение были полностью оправданы с точки зрения внутренних потребностей компании.

Преимущества и недостатки решения XS2

Решение XS2 полностью соответствует всем ограничениям и требованиям ТПП: оно позволяет осуществлять сканирование только по трем контактам и соответствует объему памяти тестера. Кроме того, связанный с этим решением алгоритм проектирования целиком основан на инструментах Synopsys, что гарантирует минимальное влияние на уже существующие алгоритмы. Решение XS2, тем не менее, имеет и ряд следующих ограничений:

  • В нем использован «собственный» алгоритм компании STM, который не поддерживается ни одним из поставщиков инструментальных средств САПР.
  • Вследствие использования « собственных» скриптов тест-векторы, генерируемые АГТВ, должны быть преобразованы в последовательную форму.
  • Процесс диагностики усложнен тем, что последовательные потоки данных необходимо преобразовывать в параллельный формат.
  • И последнее — величина максимального сжатия связана с архитектурой решения XS2, которая использует, как мы видели, сдвоенную структуру — сериализация плюс сжатие. Здесь, возможно, таится некоторый риск ограничений, которые могут проявиться в будущих решениях.

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

Для демонстрации этого факта рассмотрим симметричное сканирование с одинаковым количеством портов входов и выходов сканирования и с одинаковой длиной цепочки сканирования в обоих режимах — со сжатием и без него. Циклы захвата в расчет браться не будут:

Формула

Рис. 3. Управление программированием режима тестирования

где Nsc — число внутренних цепочек сканирования; Nch — число каналов сканирования; Cparallel — действительный объем сжатых данных в параллельном режиме; Cserial — действительный объем сжатых данных для одного канала; Npat — число тест-векторов в параллельном режиме; Npat_comp — число тест-векторов в сжатом параллельном режиме; Nff — число сканируемых триггеров в схеме; Lsc — длина сканируемых цепочек в режиме сжатия.

Для получения максимального сжатия для одной сканируемой цепочки следует получить максимальную степень сжатия, возможную для параллельного режима (независимо от числа внутренних цепей сканирования Nsc). Как было отмечено ранее, коэффициент сжатия может быть безопасно (без влияния на степень тестового покрытия) увеличен в результате увеличения числа каналов.

Чтобы лучше оценить возможность применения решения XS2 при увеличении числа каналов сканирования, был поставлен эксперимент. Авторы предприняли попытку оценки эффективности решения XS2 на примере некой имеющейся базовой схемы, содержащей 20 000 триггеров, путем изменения величины сжатия в качестве переменного параметра.

На рис. 9 приведен график зависимости объема данных и длины внутренней цепочки сканирования в режиме сжатия от реальной степени сжатия в параллельном режиме.

Результаты оценки эффективности сканирования

Рис. 9. Результаты оценки эффективности сканирования в функции величины сжатия

На поле графика можно выделить рабочую зону, ограниченную по объему данных (менее 5 Mвекторов), по длине цепи (более 100 регистров), с фактическим сжатием от 8,5 до 10. Для получения таких характеристик необходимо иметь 12 каналов сканирования и, соответственно, 24 контакта.

Для изделий, не имеющих параллельного интерфейса, можно определить некие фиктивные контакты и выполнять все тесты в последовательном режиме. Однако, поскольку рабочая область очень невелика, эта стратегия представляется ненадежной.

Для изделий, снабженных параллельным интерфейсом, имеется достаточно контактов для реализации восьми каналов сканирования. В этом случае используется либо только решение XS2 с неоптимизированным объемом данных, либо реализуется мультирежимное сканирование. При мультирежимном сканировании для восьми каналов назначается один режим — стандартное сканирование на уровне кристалла, а для 12 каналов назначается другой режим — последовательное сканирование на уровне корпуса с использованием фиктивных контактов. Для реализации такого решения требуются две схемы кодека и, таким образом, удвоение затрат времени и усилий на собственно тестирование и верификацию, то есть применение двух различных наборов тест-векторов: первого — для тестирования кристалла, а второго — на стадии финального тестирования. С точки зрения затрат такая стратегия представляется не особенно эффективной.

Для устранения описанных выше ограничений необходимо было срочно усовершенствовать рассмотренный подход, в частности — оптимизировать коэффициент сжатия. Было почти очевидно, что с увеличением размеров чипа можно очень скоро оказаться в тупике при использовании любых решений, основанных на XS2. В течение года не наблюдалось почти никакого прогресса в области встроенного тестирования логики. Затем мы обратились за поддержкой к различным поставщикам САПР. Компания Mentor Graphics положительно восприняла идею совместной разработки нового решения, базирующегося на TestKompress, которое будет рассмотрено в следующем разделе, вместе с его преимуществами и ограничениями.

Решение, найденное совместно с Mentor Graphics

Общий обзор

Так называемая «оболочка тестового контроллера» (Test Controller Wrapper, ОТК) представляет собой промышленное решение, разработанное совместно компаниями STM и Mentor Graphics [8]. Такое IP позволяет выполнять сканирование и сжатие для схем, имеющих жесткие ограничения на число контактов, предназначенных для тестирования. В качестве алгоритма сжатия здесь используется встроенный детерминированный тест (ВДТ, или EDT), описанный в [9]. Как правило, для использования логики ВДТ требуется восемь сигналов и, соответственно, восемь контактов, что не вписывалось в изначальную идею использовать только три контакта для целей тестирования. Тем не менее под управлением ОТК алгоритм сжатия позволяет запускать сжатые тест-векторы АГТВ, используя только три контакта вместо восьми.

Цели и задачи

Общая архитектура оболочки тестового контроллера (ОТК) и результаты, полученные благодаря использованию этого подхода, были призваны скомпенсировать недостатки и преодолеть ограничения, присущие решению XS2. Была поставлена задача разработать такой IP, который позволит использовать для теста сканирования только три функциональных цифровых контакта АТО (так называемая «стратегия отсутствия тестовых контактов») и при этом будет как можно более близок к алгоритмам XS2, чтобы минимизировать число возможных изменений. При использовании такого интерфейса объем сгенерированных тест-векторов должен был быть сжат как минимум десятикратно, чтобы достичь результатов, обеспечиваемых решением в XS2, и с той же полнотой тестового покрытия (99%), как при стандартном подходе фирмы Mentor Graphics. Результаты, получаемые при такой генерации теста, должны быть независимы от тех или иных средств разработки, а маршрут прохождения тест-векторов (от выхода с АГТВ и до тестера) должен остаться неизменным и совместимым с форматами и протоколом применяемого тестера. Все модели неисправностей должны поддерживаться на том же самом уровне диагностического разрешения.

Обзор архитектуры

На рис. 10 показана внутренняя структура IP ОТК, состоящая из пяти блоков:

Архитектура оболочки тест контроллера

Рис. 10. Архитектура оболочки тест контроллера

  • Интерфейс тестового контроллера.
  • Конечный автомат тестового контроллера.
  • Счетчик перенастройки тестового контроллера.
  • Механизм сброса.
  • Схема сжатия фирмы Mentor Graphics (ВДТ).

Сам тестовый контроллер не сканируется, его RTL-код полностью синтезируем. Подобно IP XS2, IP ОТК нуждается в подаче стробирующего импульса от внешнего опорного источника синхросигналов для выполнения каждого цикла. Тестовый контроллер не генерирует никаких тактовых сигналов сканирования, вместо этого он выдает сигналы управления на некоторую ячейку управления синхронизацией. К IP ОТК с помощью TestKompress должны быть добавлены декомпрессор и логика уплотнения, использующие один входной и один выходной канал. Реализация этого нового интерфейса, включающего логику ВДТ, предполагает добавление около тысячи дополнительных вентилей.

Блок интерфейса позволяет контроллеру взаимодействовать с верхним уровнем cтруктуры кристалла.

Блок конечного автомата отслеживает и определяет различные циклы тест-векторов, генерируемых АГТВ, таких как загрузка, выгрузка, сдвиг и захват. Он также генерирует все необходимые при тестировании сигналы (управление сканированием и ВДТ) для сканирующего тестирования с уплотнением.

Блок счетчика управляет количеством циклов сдвига. Здесь же находится механизм синхронизации, управляющий переходом от режима I2C к режиму сканирования. Роль такого механизма — обеспечить выполнение команд счетчика в правильном режиме независимо от каких-либо помех, вызванных различными внутренними или внешними условиями.

Встроенный детерминированный тест (ВДТ) — это технология сжатия, разработанная фирмой Mentor Graphics для сокращения объема данных и времени теста, увеличения коэффициента сжатия и обеспечения высокого уровня тестового покрытия. Этот алгоритм можно применять для одиночных каналов сканирования, и он обеспечивает X-толерантность.

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

Возможные конфигурации и режимы работы

Оболочка тестового контроллера (ОТК) может быть сконфигурирована тремя различными способами:

  • последовательный режим;
  • стандартный режим сканирования;
  • режим обхода Bypass.

В последовательной конфигурации оболочка тестового контроллера активизируется и сигналы, необходимые для выполнения сканирования, генерируются посредством IP в зависимости от состояний конечного автомата. Схема сжатия может быть активизирована (или не активизирована), поскольку сжатие используется только для одноканальных конфигураций. При такой конфигурации необходимо управлять только тремя сигналами: это один вход сканирования, один выход сканирования и один тактовый сигнал.

В стандартном режиме сканирования оболочка тестового контроллера отключена. Сжатие может использоваться только для одноканальных конфигураций. В подобной конфигурации требуется управление восемью сигналами посредством соответствующих контактов: один вход сканирования, один выход сканирования, один тактовый сигнал, один контакт для запуска сканирования, один контакт для сброса сканирования, плюс все остальные сигналы, необходимые для ВДТ.

В режиме обхода Bypass оболочка тестового контроллера всегда отключена и освобождена от управления всеми тестовыми сигналами. Схема сжатия всегда отключена, так что разрешается только режим, например, преобразованного сканирования посредством одной длинной цепочки. Такая конфигурация применяется главным образом для целей отладки, когда требуется управлять пятью сигналами: один вход сканирования, один выход сканирования, один тактовый сигнал, один контакт для запуска сканирования и один контакт для сброса сканирования.

Принцип работы конечного автомата

Блок конечного автомата, встроенный в оболочку тестового контроллера ОТК, строит различные циклы тест-векторов АГТВ (инициализации, загрузки, выгрузки, сдвига и захвата). Перечислим различные состояния конечного автомата:

  • IDLE — это начальное состояние автомата, вызванное выключением питания, соответствует сбросу всех внутренних сигналов и счетчика.
  • SCAN_LOAD_1 и SCAN_LOAD_2 — в этих состояниях определяется и устанавливается окно загрузки и все команды, необходимые для процедуры загрузки.
  • SCAN_SHIFT — в этом состоянии выполняется подготовка цикла сдвигов, необходимых для декомпрессора ВДТ.
  • CONDITION_CYCLE — это нерабочий цикл, используемый для установки условий различных циклов захвата.
  • CAPTURE_CYCLE_ (1 to 7) — здесь определяется глубина синхронизации (до 7). Для тест-векторов, не требующих синхронизации захвата, вызывается состояние CAPTURE_CYCLE_SPL.

Последовательность проектирования

Приведем описание каждого из этапов проектирования [8]:

  • Синтез и присоединение структуры сканирования: на этом этапе уже имеющаяся структура чипа и оболочка тестового контроллера будут соединяться при помощи дизайн-компилятора Synopsys.
  • Генерация логики встроенного детерминированного теста ВДТ: на этом этапе логика ВДТ генерируется программой TestKompress.
  • Синтез логики встроенного детерминированного теста ВДТ: дизайн-компилятор Synopsys создает RTL-код вентилей логики ВДТ и вставляет его в список соединений. Этот же компилятор генерирует новый список соединений вентилей, содержащий логику теста ВДТ.
  • Автоматическая генерация тест-векторов: на этом этапе программа TestKompress уже в состоянии генерировать тест-векторы. Возможны два набора тест-векторов: с включенным тестом ВДТ или же без него.

Запуск тестового контроллера

Сигнал включения питания используется для общего сброса всей схемы кристалла, включая логику тестового контроллера. После сброса тестовый интерфейс ждет получения определенной последовательности сигналов, разрешающей переход в режим тестирования. Такая последовательность определяет программирование конкретного тестового режима, длину сдвига, количество тест-векторов, привязанных к архитектуре теста ВДТ, и, наконец, активизацию функции управления тестом ВДТ: включен или выключен. Последовательность событий при запуске тестового контроллера показана на рис. 11.

Последовательность запуска тестового контроллера

Рис. 11. Последовательность запуска тестового контроллера

Механизм синхронизации необходим для того, чтобы активизировать режимы, программируемые посредством интерфейса I2C. Это достигается простым использованием счетчика. В момент включения счетчика оболочка тестового контроллера (ОТК) входит в режим ожидания длиной в 31 цикл. После этой паузы длиной в 31 цикл синхронизации оболочка проверяет уровень напряжения на входе. Если на вход подан низкий уровень напряжения, ОТК ждет появления высокого уровня. Когда тест-вектор синхронизации обнаружен, блок интерфейса записывает следующую 33-битовую последовательность на входном контакте, понимая ее как данные конфигурации. Первые 24 бита последовательности при этом определяют длину сдвига, 8 следующих битов определяют число тестовых цепочек, а последний бит последовательности означает наличие или отсутствие режима обхода (Bypass). Теперь данные сканирования готовы для выполнения сдвига.

Результаты

Тестовая платформа

В качестве тестовой платформы для первой реализации оболочки тестового контроллера ОТК (рис. 12) был использован датчик с разрешением в 3,2 Мпикселя, выполненный в КМОП-технологии 65 нм. Такое цифро-аналоговое устройство содержит 21 000 триггеров, а общее число вентилей составляет около 500 000.

Общая структура топологии датчика

Рис. 12. Общая структура топологии датчика

Результаты проектирования

Стоимость проекта можно оценить по следующим показателям. Для реализации нового интерфейса с логикой ВДТ было добавлено около 700 вентилей (0,01% объема цифровой части). Триггеры функционального ядра были связаны между собой посредством 48 внутренних цепочек сканирования.

В такой конфигурации самый длинный сдвиг при сканировании, определяемый длиной цепочки сканирования плюс число циклов инициализации ВДТ, равен 475 циклам. Тестовое покрытие, достигаемое на уровне функционального ядра, составило 99,38% с использованием 2893 тест-векторов. Объем данных теста сканирования в режиме ВДТ определяется произведением числа тест-векторов сканирования на количество сканируемых ячеек в одной цепочке.

Используемый нами объем данных был равен 2893×475 = 1,4 Mвекторов. Объем данных в режиме обхода (Bypass) был равен 39 Mвекторов.

При помощи описанного интерфейса нам удалось добиться получения коэффициента сжатия 27,7 в последовательном режиме, без снижения уровня тестового покрытия, по сравнению со сканированием в режиме Bypass (один канал сканирования без сжатия). Это в пять раз превышает коэффициент сжатия, обеспечиваемый решением XS2.

Формы сигналов

На рис. 13 приведены формы тестовых сигналов при стандартном процессе генерации тест-векторов программой TestKompress вместе с оболочкой тестового контроллера ОТК.

Формы тестовых сигналов

Рис. 13. Формы тестовых сигналов

Преимущества и ограничения

В заключение можно сделать вывод, что полученные результаты полностью соответствуют всем поставленным целям и задачам. Все режимы сканирования успешно работают на уровне кристалла. Объем данных и время тестирования одной цепочки были уменьшены более чем в 20 раз по сравнению с аналогичными характеристиками сканирования без сжатия. Разработанные тест-векторы непосредственно совместимы с тестером, и использование описанного интерфейса не требует никакой дополнительной модификации тест-векторов. Основное ограничение, все еще остающееся на сегодня, состоит в том, что разработка требуемых алгоритмов не полностью автоматизирована.

Обзор результатов трехлетней работы и перспективы

В таблице представлены результаты, полученные с помощью обоих рассмотренных в статье решений. Мы оценили простоту их реализации по шкале от 0 (очень сложно) до 5 (реализуется нажатием кнопки); при определении простоты реализации рассматривались такие этапы, как интеграция отдельных частей, генерация тест-векторов и отладка на тестере. Главным недостатком решения XS2 является его невысокая степень сжатия. Кроме того, его «внутрифирменное» происхождение не допускает какой-либо поддержки стандартными средствами производителей САПР, подобно тем, которые существуют для контроллеров с ограниченным количеством контактов (LPCC). Стоит отметить, что новейшие версии Synopsys (начиная с 2009.06) поддерживают стандартный сериалайзер, однако запуск сканирования при этом все еще выполняется с контакта запуска, что приводит к использованию четырех контактов вместо трех и, таким образом, не вполне соответствует ограничению 6. Фирма Mentor Graphics также планирует осуществить полную автоматизацию проектирования с помощью своих собственных инструментов тестирования.

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

  XS2 LPCC
Соответствует ограничениям, изложенным выше Да Да
Соответствует задачам, сформулированным выше Да Да
Степень сжатия (кратность) 5 25
Простота реализации задачи (от 0 до 5) 2 4

На рис. 14 приведена эволюция основных характеристик методов сканирования по трем контактам. Оба решения позволили сократить число контактов сканирования до трех при соблюдении всех поставленных задач. Параллельно был сокращен объем данных (красная ломаная линия на графике рис. 14).

Основные характеристики решений тестирования

Рис. 14. Основные характеристики решений тестирования по трем контактам

Разработка решений, предназначенных вначале для датчиков, была продолжена для использования в СнК (SoC) процессора обработки видеосигналов, а также для конкретных «систем в одном корпусе» (System-in-package, SiP). В корпус такой ИС встраиваются одновременно датчик и процессор обработки видеосигналов (ПОВС). Обычно в структуре ПОВС имеется около 80 тысяч триггеров и большое количество входов/выходов на уровне кристалла, что позволяет запустить сканирование по десяти каналам и более. Однако число контактов корпуса, как обычно, весьма ограничено, так что снова приходится исходить из того, что в нашем распоряжении имеются только три контакта, предназначенных для тестирования обоих продуктов внутри модуля SiP. Чтобы оба кристалла были тестопригодны, в оба продукта в рамках ТПП было встроено решение, описанное выше, что позволило выполнять их последовательное сканирование непосредственно в общем корпусе. На рис. 15 приведена архитектура такой «системы в одном корпусе». Интерфейс I2C, используемый для входа/выхода сканирования в тестовом режиме, — общий для обоих продуктов. Этот подход был полностью апробирован на кремнии и сегодня находится в производстве.

Архитектура «системы в одном корпусе»

Рис. 15. Архитектура «системы в одном корпусе»

Последнее решение, разработанное нами, но еще не полностью проверенное, связано с реализацией сканирования при использовании очень недорогого тестера собственной разработки на основе FPGA. Сейчас мы заняты проверкой этого решения, и результаты будут вскоре опубликованы.

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

Оба рассмотренных в статье решения совместимы с моделью неисправностей перехода между логическими состояниями. Возможность использования этих решений в рамках стратегии ОСС (on-chip-clocking) в настоящее время проверяется. В будущем возможно проведение дальнейших исследований, например, тестирования посредством лишь двух контактов, но сейчас необходимость этого неочевидна.

Список сокращений

  • ATE — автоматизированное тестовое оборудование (АТО)
  • EDT — встроенный детерминированный тест (ВДТ)
  • LBIS — встроенное самотестирование логической части (ЛВСТ)
  • TCW — оболочка тестового контроллера (ОТК)
  • ISP — процессор обработки видеосигналов (ПОВС)
  • ATPG — система автоматической генерации тест-векторов (АГТВ)
  • SDR — сдвиговый регистр данных (СРД)
  • SCR — сдвиговый управляющий регистр (СУР)
  • DFT — тестопригодное проектирование (ТПП)

Заключение

В статье представлены два промышленных решения, предназначенных для выполнения сканирующего тестирования при использовании только трех функциональных контактов. Оба решения, основанные на сжатии данных сканирования (Synopsys или Mentor Graphics), экономически эффективны с точки зрения проектирования тестовых алгоритмов, они показали хорошие результаты в условиях разветвленного производства. Оба решения требуют небольшого времени для разработки и обеспечивают хорошее тестовое покрытие. С их помощью удалось увеличить коэффициент сжатия с 5 до 25 в одном канале по сравнению с обычным сканированием. Решение, найденное компанией STM, доказало свою жизнеспособность в производстве многих готовых СБИС компании. В статье описано самое первое решение со всеми его ограничениями и дальнейшее его развитие на базе механизма сжатия Mentor Graphics, полностью проверенное на кремнии. Показана важность использования подобных методов для «систем в одном корпусе» SiP, что открывает множество возможностей для снижения расходов, связанных с тестированием. n

Литература

  1. Khoche A. et. al. Test Vector Compression Using EDA-ATE Synergies. VTS, 2002.
  2. Kee-Sup Kim and Ming Zhang. Hierarchical Test Compression for SoC Designs. D&T, 2008.
  3. Chandra A., Kanzawa Y., Kapur R. Scalable Adaptive Scan (SAS). DATE, 2009.
  4. Heterington G. et al. Logic BIST for Large Industrial Designs: Real Issues and Case Studies / Proceedings IEEE International Test Conference, 1999.
  5. Armagnat P. Applying Scan Compression with One Single Test-Input/SNUG 2006. armagnat_paper.pdf — http://https://www.synopsys.com/news/pubs/eurosnug/2006/arm agnat_paper.pdf
  6. Armagnat P. USPTO Application # 20070260953.
  7. Armagnat P. European Patent # EP 1 813 952 A1.
  8. Droniou T., Moreau J., D’Souza J., Rhodes G., Mukherjee N., Mahadevan S. High Test Quality in Low Pin Applications / International Test Conference, 2008. Poster session P0021.
  9. Rajski J. et al. Embedded Deterministic Test for Low-Cost-Manufacturing-Test / Proceedings IEEE International Test Conference, 2002.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *