Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 230
Текст из файла (страница 230)
Тестирование Тестирование цифровых схем осуществляется с помощью проверочных векторов (гезг»есгогз), представляющих собой комбинации входных сигналов и ожидаемые комбинации выходных сигналов. Схема «проходит проверку», если выходные сигналы соответствуют ожидаемым сигналам. В худшем случае для тестирования комбинационной схемы с и входами требуется 2' проверочных векторов. Но если мы кое-что знаем о том, как реализована схема, и делаем некоторые предположения относительно типа возможных отказов, то число векторов, необходимых для полной проверки схемы, можно значительно сократить. Наиболее обшее предположение состоит в том, что отказы носят характер одиночных залипаний (ила!е згисИ-дг~аи!ж), то есть их можно смоделировать в виде «залипания» на уровне логического 0 или логической 1 одного входного или вы- 11.2. Проектирование, предусматривающее теотируемость 1043 ходного сигнала.
Согласно этому предположению, 8-входовой вентиль И-НЕ можно полностью проверить лишь девятью векторами: 111111!1, О!111111, 10111111, ..., 11111110, тогда как в общем случае для его тестирования могло бы потребоваться 256 проверочных векторов. Для отдельных логических элементов легко составить проверочные векторы, если предполагать наличие одиночных неисправностей. Однако проблема состоит в том, что на практике для тестирования логических элементов, скрытых глубоко в схеме, проверочные векторы падаюгпся на входы схемы, а результаты наблюдаются на вв выходах. Предположим, например, что мы хотим проверить 8-входовой вентиль И-НЕ, между входами которого и внешними входами схемы имеется десяток комбинационных и последовательностных логических элементов.
Совсем не очевидно, какой входной вектор или последовательность входных векторов необходимо подать на внешние входы, чтобы получить проверочный вектор 11111111 на входах вентиля И-НЕ. Кроме того, не ясно, что еше может потребоваться для передачи выходного сигнала вентиля И-НЕ к внешнему выходу схемы. В таких сложных случаях изощренные программы генерирования тестов (!ев1-8«пега!!оп рго8гатв) пытаются создать полный набор тестов (сотр!е!в !вл ле!) для данной схемы, то есть последовательность тестовых конфигураций, которые полностью проверяют каждый логический элемент в схеме. Однако часто требуемый объем вычислений оказывается при этом столь огромным, что полный набор тестов просто невозможно получить.
Генерирование тестовых конфигураций пытаются упростить путем обеспечения в схеме большей «управляемости» и «наблюдаемости» отдельных логических элементов. В схеме с хорошей управляемостью (соп!го!1аЬ111уу) легко создать любые желаемые значения сигналов во внутренних точках схемы, подавая на внешние входы комбинацию входных сигналов, соответствуюшую тому или иному проверочному вектору. Говоря о хорошей наблюдаемости (оЬ|вгчаЬ!!!!у), имеют в виду, что любой внутренний сигнал можно легко передать на внешний выход для сравнения с ожидаемым значением при подаче соответствующей комбинации сигналов на внешние входы.
Наиболее общий метод улучшения управляемости и наблюдаемости состоит во введении контрольных точек (!ез! ро1п!л) и дополнительных внешних входов и выходов, которые используются в процессе тестирования. 11.2.2. Тестер с игольчатыми контактами и внутрисхемное тестирование В цифровой схеме, собранной на одной печатной плате, «максимальная» наблюдаемость достигается, когда в качестве контрольных точек используются все выводы всех ИС.
Для этой цели применяется специальное тестирующее приспособление (гел!Дх!иге), в котором имеются подпружиненные игольчатые контакты (па(6) на месте каждого вывода ИС в соответствии с разводкой печатной платы. Печатная плата помещается на это ложе из игольчатых контактов (Ьвс!о1 па!1в), а контакты соединены с автоматическим твствраи (аи!ота!!с !евит), который может наблюдать сигнал на каждом выводе согласно тестовой программе. Двигаясь еще на один шаг дальше, — применяя внутрисхемное тестирование (1п-с1гсий !евмп8), — мы получаем «предельно возможную» управляемость. 1044 Глава 11. Практические дополнения Этот метод позволяет не только наблюдать сигналы на игольчатых контактах, но, также подключать каждый игольчатой контакт к имеющемуся в тестере источнику с очень малым выходным сопротивлением.
Благодаря этому можно подменять (оиегги(е) любой сигнал, вырабатываемый в схеме, (принудите««- на задавать (аиегЬ те) его значениез и, тем самым, непосредственно генерировать любой желаемый проверочный вектор в виде внутренних сигналов печатной платы. Принудительное задание сигнала на выходе вентиля, вырабатывающего противоположное значение сигнала, вызывает протекание избыточного тока как в тестере, так и в преодолеваемом вентиле, но неприятностей удается избежать благодаря тому, что тестер выдает сигналы в течение коротких интервалов времени (миллисекунды). Чтобы проверить 8-в«адовой вентиль И-НЕ, внутрисхемный тестер должен сформировать только девять тестовых векторов, упомянутых выше, игнорируя значения сигналов, которые пытаются подать на эти восемь входов другие вентили внутри схемы.
Выходной сигнал вентиля И-НЕ, естественно, можно непосредственно наблюдать на его выходе При внутрисхемном тестировании каждый логический элемент можно проверить независимо от других. Хотя внутрисхемное тестирование значительно расширяет управляемость и наблюдаемость схемы, собранной на печатной плате, разработчики логических схем для большей эффективности по-прежнему должны следовать определенным принципам Ргр Е Часть из них перечислена ниже. ° Инициализация. Необходимо предусмотреть возможность устанавливать в из- вестное начальное состояние все последовательностные элементы схемы.
СОВМЕЩЕНИЕ ИГОЛОКСВЫВОДАМИ МИКРОСХЕМ Возрастающее применение микросхем в корпусах для поверхностного м онтажа с малыми расстояниями между выводами привело к тому, что тестирование с помощью игольчатых контактов значительно усложнилось по сравнению с тестированием схем в П!Р-корпусах, монтируемых на печатной плате в сквозные отверстия. Поскольку компоненты могут устанавливаться с обеих сторон печатной платы, для тестирования может понадобиться специальное приспособление, называемое грейферам (с1ат зйе(1), для подключения игольчатых контактов с обеих сторон печатной платы. Более того, выводы и расстояния между ними у многих микросхем, предназначенных для поверхностного монтажа, настолько малы (0.625 мм и меньше), что может оказаться невозможным точно попасть измерительным щупом на соответствующий вывод.
В этих случаях разработчик печатной платы может предусмотреть специальные контактные площадки в виде дополнительных участков, покрытых медью, имеющих размеры, достаточные лдя подключения измерительных щупов (например, диаметром 1.25 мм). Отлельную контактную площадку нужно обеспечить для каждого сигнала, который не подведен где-нибудь на печатной плате к выводу компонента ббльших размеров (например, к взяводу компонента, вставляемого в сквозное отверстие диаметром 1.55 мьг).
11 2 ПРоектирование, предусматривающее тестируемость 1046 Поскольку при внутрисхемном тестировании имеется возможность подать на входы регистров и триггеров сигналы установки в единипное состояние и сброса, можно подумать, что никакой проблемы не существует. Однако, на рис. 11.1(а) показан классический случай, когда схема (счетчик, считающий в коде Грея) не может быть инициал изирована, так как состояние триггера не предсказуемо, когда сигналы на входах Рй и С) В одновременно переходят на неактивный уровень На рис.
11.1(Ь) показано, как правильно решается проблема установки в единичное состояние и сброса «5В СЬОСК (а) +5В СЬОСК Рис. 11.1. Триггеры с резисторами, подключенными между шиной питания и неиспользуемыми входами: (а) не тестируемая схема, (Ь) тестируемая схема ° Геиерирование аактового сигнала. Тестер должен иметь возможность вырабатывать свой собственный тактовый сигнал, не задевая тактовых сигналов, имеюшихся на плате. Обычно по нескольким причинам требуется, чтобы тестер подменял тактовый сигнал, имеющийся на плате: скорость, с которой могут подаваться провергчные векторы, ограничена; необходимо дополнительное время, чтобы принудительно задаваемые сигналы приняли установившиеся значения; а иногда необходимо остановить тактовый сигнал.
Однако принудительное задание тактового сигнала совершенно недопустимо. В принудительно задаваемом сигнале может быть «звон», и такой сигнал может несколько раз перейти с низкого уровня на высокий и обратно перед тем, как примет установившееся значение, определяемое тестером. 1046 Глава 11. Практические дополнения Такие переходы в тактовом сигнале могут приводить к нежелательным изменениям состояния. На рис. 11.2 показана рекомендуемая схема источника тактового сигнала. Чтобы ввести собственный тактовый сигнал, тестер устанавливает на входе С~КЕМ низкий уровень и подает свой тактовый сигнал на вход ТЕЯТСЕК Е Поскольку никакие выходы вентилей тестером не преодолеваются, мы получаем чистый сигнал С1 ОС К. Вообще, из-за недопустимости появления паразит ных выбросов в сигнале, который используется в качестве сигнала на тактовом входе или на каком- либо асинхронном входе, тестер не должен принудительно задавать такой сигнал; с этими сигналами следует обращаться так, как показано на рис.
11.2. Это еще одна причина, по которой желательно, чтобы в синхронной системе был один тактовый сигнал. +5 В СсОСК Рис. 11.2. Схема источника тактового сигнала, поэвош а ~зя тестеру аккуратно подменить системный тактовый сигна ° Заземленные входы. В общем случае непосредственное заземление не сле- дует использовать в качестве источника логического О. Внутрисхемный те стер может принудительно задавать значения большинства с игналов, но он не может изменить значение сигнала на заземленном входе. Поэтому входы, на которые должен быть постоянно подан логический О во время нормальной работы схемы, нужно звземлять через резистор, что позволит тестеру устанавливать на этих входах логическую 1, если это потребуется при тестировании.