ПРОЕКТИРОВАНИЕ ПОЛУЗАКАЗНЫХ ИС
Л Е К Ц И И 15-17
Л И Т Е Р А Т У Р А
Р.Дж.Беннеттс. "Проектирование тестопригодных логических схем".
Тестопригодность Терминология, классификация.
Тестовое диагностирование – обнаружение неисправностей элементов ИС вследствие дефектов производства, эксплуатации или старения . Тестирование происходит по результату: проходит или не проходит сигнал.
Ремонтопригодность схем – это характеристика схем, включающая в себя диагностирование вида «поиск дефекта»: проверка исправности и локализация неисправности.
Неисправность может быть вызвана физическим дефектом, например, обрывом. Проявление неисправности характеризуется логическим состоянием схемы, например, типа зависания логического состояния. Поведение неисправностей адекватно отображается моделированием по логическим функциям: короткое замыкание (КЗ), проводное И, ИЛИ, обрыв (ХХ).
Первичные входы. (ПВх) – входы, чьими логическими состояниями можно непосредственно упрвлять.
Первичные выходы (Пвых) - выходы, которые можно непосредственно наблюдать.
Тест (тестовый набор) - определенное множество сигналов на ПВх и ожидаемых реакций на Пвых. Покрытие неисправностей – характеризует множество неисправностей, обнаруживаемых либо отдельным тестом либо их множеством.
Исправность ИС проверяется автоматическими диагностирующими устройствами, тестерами. Они действуют в соответствии с программой.
Программное тестирование состоит из 3-х процедур:
генерация тестов;
оценка эффективности тестов;
реализация тестового диагностирования.
1.Генерация тестов – процедура нахождения множества тестовых входных наборов и ожидаемых реакций исправного устройства, обеспечивающего покрытие неисправностей из заданного списка. Цели такой процедуры:
изменение сигнала в определенном узле схемы,
установление активизированного пути для определенной неисправности (по узлам),
испытание подсхемы во всех ее состояниях.
Облегчение или усложнение процесса генерации тестовых наборов связано с управляемостью и наблюдаемостью схемы. Чем выше значения этих параметров, тем проще нахождение, проявление и транспортировка неисправностей.
2. Эффективность тестов – процедура для количественного определения степени покрытия множеством тестов заданного списка неисправностей (множества одиночных неисправностей вида «неконтролируемый «0» [н.к.0]) и н.к.1 на всех соединениях схемы. Уровень покрытия можно оценить моделированием.
Метод физического моделирования при помощи стендовых электрических испытаний ограничен возможностями доступа к элементам внутри ИС и особенностями схемы. Пример: для моделирования неисправности типа н.к.0 можно заземлить выход ТТЛ- схемы, но нельзя для случая н.к.1 соединить выход схемы с шиной питания, даже через резистор, - повреждения в схеме могут быть необратимы, вместо тестирования получим разрушение.
Практически задача решается логическим моделированием неисправности, неисправности из списка вводятся в модель схемы последовательно или комбинациями (параллельно).
3. Реализация тестового диагностирования - физический процесс тестирования. Проблемы могут быть связаны с ограничениями возможностей аппаратуры (скорость подачи тестов, ограниченность технических приспособлений…). Поиск неисправностей затруднен в цепях с обратными связями, если элементы замкнуты друг на друга и т.п.
Перечисленные процедуры требуют больших затрат на ЭВМ, специальные программы, обучение персонала, обслуживание стендов тестеров и т.д. Затраты можно снизить, если проектировать схемы с улучшенной тестопригодностью.
Тестопригодность – приспособленность схемы к обнаружению неисправностей, их локализации и реализации тестового диагностирования в пределах допустимых финансовых затрат. Нужно сокращать затраты в любом их перечисленных разделов: на ЭВМ, программы, время тестирования, обучения, обслуживания и т.д.
Различают три подхода к проектированию тестопригодных схем:
численная оценка управляемости и наблюдаемости, количественная мера тестопригодности;
структурное проектирование (иногда самотестируемых) схем с использованием свойств сканируемого пути с простотой доступа к внутренним точкам устройства. Эффективные методы генерации тестов, реализующих методы сканирования;
разработка практических указаний для сокращения затрат на процедуры генерации тестов и реализацию тестирования.
Анализ тестопригодности. Сиcтема CAMELOT.
Количественные оценки тестопригодности могут быть проведены до генерации тестов и могут быть сделаны счетным или алгоритмическим способом.
Счетные оценки. Главное – идентифицировать особенности схемы, характеризующие тестопригодность. Эти характеристики задаются набором показателей. Подсчитывают показатели, ухудшающие и улучшающие тестопригодность, их комбинации дают оценку тестопригодности. В этой методике не обязательно использовать ЭВМ, возможно дать рекомендации на последнем этапе проектирования схемы, например, по секционированию, расположению контактных площадок, разъемов и т.д. Оценки достаточно грубые.
Алгоритмические оценки - реализуются программно, в основе лежит анализ топологии. Анализируется каждый узел, строятся сечения схемы по уровню тестопригодности (гистограммы), находят слабые места. Основными параметрами такого анализа являются управляемость и наблюдаемость.
Управляемость (CY) - это простота решений задач подачи теста в определенный узел.
Наблюдаемость (OY) – это реагирование на выходах подсхемы в заданном состоянии окружения/
Тестопригодность любого узла есть функция управляемости и наблюдаемости этого узла:
TY(узла) = CY(узла)OY(узла).
Управляемость.
В системе CAMELOT управляемость CY принимает относительные значения от 0 до 1.
Значение CY = 1 – максимальная величина параметра соответствует первичному входу: можно установить любое логическое состояние.
Значение CY = 0 - узел не может быть установлен в одно из двоичных состояний.
Остальные узлы характеризуются значениями CY между этими границами.
Теория передачи значений CY через элементы устройства.
Рассмотрим устройство.
Е



сли
входы управляются непосредственно,
входы
т
о
управляемость выходов должна отражать
с
пособность
устройства к установке на каждом
выходы
выходе 0 или 1 по логической передаточной функции.
В общем случае управляемость входов может быть не 100%-ной, поэтому управляемость выходов должна учитывать и способность выполнять логическую функцию и значения управляемости входов:
СY (вых.узла) = CTF f{ CY( вх. узлов)},
CTF – controlability transfer factor – коэффициент передачи управляемости устройства по данному выходу.
CTF – мера степени различия способности генерировать на данном выходе ” 1” от способности генерировать на данном выходе “ 0 “. Данный коэффициент зависит только от логической функции, реализуемой устройством:
![]()
N(0) – число всех способов установки “0” на данном выходе устройства,
N(1) - число всех способов установки “1” на данном выходе.
ПРИМЕРЫ.
При N(0) = N(1) CTF = 1, например, в схемах эквивалентности и неэквивалентности ().
При N(0) = 0, N(1) = 0 CTF = 0 - неуправляемость логическим состоянием, такое маловероятно.
Инвертор: N(0) = 1, N(1) = 1: CTF = 1.
Схема 2И-НЕ. N(0) = 1, N(1) = 3: CTF = 1-2/4 = 0.5.
Схема 2ИЛИ-НЕ. N(0) = 3, N(1) = 1: CTF = 1-2/4 = 0.5.
Схема 3И-НЕ. N(0) = 1, N(1) = 7: CTF = 1-6/8 = 1-0.75 = 0.25.
и т.д.
Вычисление CTF для схем с памятью.
Рассмотрим триггерную схему с синхронными и асинхронными управляющими логическими переменными JKT – триггер:

P


J
PR
![]()


T



K
![]()

CLR
C
Логическая функция JK- триггера Qn+1 = JQn + KQn.
C учетом сигналов предзаряда Р (PR), сброса С (CLR) и синхросигнала Т ( Т=1 – условие присутствия отрицательного фронта тактового сигнала) получим:

Составим карту Карно по полученной функции. Количество переменных – 6, число минтермов 26 = 64. Можно вычислить N(1), если рассчитать количество минтермов со значением Q+ = 1.
Главное, чтобы подмножества минтермов не пересекались друг с другом. По карте N(1) = 40.
C=0 C=1
CJK
|
TPQ+ |
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
|
000 |
1* |
1* |
1* |
1* |
1* |
1* |
1* |
1* |
|
001 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
011 |
|
|
|
|
1 |
1 |
1 |
1 |
|
010 |
|
|
|
|
|
|
|
|
|
110 |
|
|
|
|
1 |
1 |
|
|
|
111 |
|
|
|
|
1 |
|
|
1 |
|
101 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
100 |
1* |
1* |
1* |
1* |
1* |
1* |
1* |
1* |
Звездочками помечены запрещенные состояния.
Неустойчивые состояния выходов триггера возможны при следующих сочетаниях входных переменных:
P = 0 C = 1 Q = 0,
P = 1 C = 0 Q = 1,
P = 0 C = 0 Q = 0,
Итого 23 = 8 запрещенных наборов. Для 3-х сочетаний переменных всего 83 = 24 минтерма.
По карте Карно видно, что на 1- ные минтермы попало 16 запрещенных состояний, осталось
N(1) = 40 – 16 = 24. Запомним N(1) = 24.
{ Можно провести расчет единичных минтермов при помощи алгебраического выражения, воспользовавшись следующей теорией:
лемма. Если Q+ - функция n переменных, а i- й терм содержит j переменных (j n), то число значений функции Q+ = 1, представляемое i- м термом, равно 2n-j.
Перед расчетом по этой формуле необходимо проверить подмножества минтермов на непересечение, для чего проводится следующая процедура.
процедура. Пусть два конъюнктивных терма Т1 и Т2 не удовлетворяют условию непересечения, и пусть
RC = T1/T2 - разность множеств переменных из этих термов.
Разность множеств Т1/Т2 – множество элементов, принадлежащих Т1, но не принадлежащих Т2, например:
T1 = { a,b,c,d}, T2 = { b,c,e }, T1/T2 T2/T1.
Пусть RC – непустое множество переменных X1, X2…..Xn. Преобразование пары Т1 и Т2 в совокупность непересекающихся подмножеств описывается операцией расширения:
![]()
то есть мы вводим в один из термов недостающую переменную, при этом автоматически исключаются из него минтермы, входящие в другой терм.
Проанализируем логическое выражение для функции JKT- триггера по этой процедуре:
![]()
каждый терм – это блок разбиения ( сшивания, см. карту Карно ), таким образом, в терме

В сумме число единиц N(1) = 40, как и в расчете по карте Карно. }
Рассчитаем число нулей на выходе данной схемы с учетом известного числа разрешенных переходов и числа единичных состояний.
![]()
Рассчитаем теперь коэффициент передачи управляемости для триггерной схемы:

Схема симметрична, поэтому по другому выходу получим тот же результат для CTF.
Вычисление управляемости.
Пусть в нашем устройстве n входов и m выходов. Любой вход влияет на состояние любого выхода. Управляемость выхода может существенно отличаться от управляемости соседнего выхода, поэтому в общем виде можно записать:
![]()
где f(CY(ni)) –математическая функция, пропорциональная среднему арифметическому и/или среднему геометрическому значений управляемостей входных сигналов различных типов.
Для асинхронных сигналов функция f(CY(..)) – это среднее арифметическое управляемостей входных узлов, запитываемых асинхронными сигналами; для синхронных сигналов такая функция представляет собой произведение величины управляемости тактирующего сигнала (синхросигнала) на среднее значение управляемостей входных тактируемых сигналов.
В общем виде для схем с различными типами входных сигналов получаем:
CY(выходов) = CTF(выходов) f(CY(входов)),
![]()
Для предыдущего примера схемы JKT- триггера:
число асинхронных входов i = 2 (сигналы предзаряда или выборки PR и сброса CLR),
число синхронных входов j = 3 (тактовый сигнал Т и информационные сигналы J и K).
Рассчитаем управляемость схемы. Зададимся исходным состоянием: пусть на входы сброса и предзаряда ничего не подано, они пассивны: CY(PR) = CY(CLR) = 0, а синхронизирующий тактовый сигнал (отрицательный фронт) присутствует: CY(T) = 1. Коэффициент передачи управляемости триггера рассчитали ранее CTF() = 0.8,
CY(Q+) = CTF(выхода) f(CY(входов)) =
![]()
Логические состояния на входах фиксируются, при этом получим разные значения управляемости схемы для следующих сочетаний значений логических переменных:
CY(J) = CY(K) = 0 : CY(Q+) = 0.8 0.2 0 = 0,
CY(J) = 1, CY(K) = 0 : CY(Q+) = 0.8 0.2 1 = 0.16,
CY(J) = CY(K) = 1 : CY(Q+) = 0.8 0.2 2 = 0.32.
Управляемость в схемах с обратными связями.
Вычисление управляемости в таких схемах выполнять труднее, нужно решать систему уравнений. Рассмотрим пример простейшего RS- триггера.
СY=1
1





V1
CY=y
