- •Проектирование полузаказных ис
- •Тестопригодность Терминология, классификация.
- •Анализ тестопригодности. Сиcтема camelot.
- •Вычисление управляемости.
- •Примеры. Переменные на входах a,b,c и т.Д., z – выход.
- •Методы структурного проектирования и самотестирования.
- •Топологические задачи при трассировке бмк.
- •Бмк д ля аналоговых ис
Анализ тестопригодности. Си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.
