Курсовая работа: Синтез и анализ логической схемы при кубическом задании булевой функции
Вместо 19 элементов на рис. 2 стало 32 элемента на рис. 3.
5. СИНТЕЗ КОНТРОЛИРУЮЩЕГО ТЕСТА. КОНТРОЛЬ СХЕМЫ ТЕСТОМ
Синтезировать контрольный тест для логической схемы – найти множество кубов, которые позволяют выявлять неисправности схемы. Если в схеме нет неисправностей, то на каждом кубе получается так называемая эталонная реакция схемы. Множество кубов порождает множество эталонных реакций схемы.
При наличии неисправности в схеме реакция хотя бы на одном кубе должна измениться. В итоге множество реальных реакций не совпадает с множеством эталонных реакций. Это будет говорить о том, что неисправность выявляется. Если тест позволяет выявлять любую неисправность, то он обладает 100-процентной полнотой. Однако, это не всегда бывает так. Обычно тест не обеспечивает выявление всех неисправностей, его полнота менее 100%.
В данной курсовой работе рассматривается ограниченный класс неисправностей:
1). Выход элемента тождественно равен 0,
2). Выход элемента тождественно равен 1.
Считается, что в данный момент времени в схеме может быть только одна неисправность. Это означает, что схема является высоконадежной.
Синтез теста осуществляется по методу активизации пути. Сущность этого метода заключается в том, что, задав какую-либо неисправность на выбранном входе схемы, нужно обеспечить условия для беспрепятственного прохождения сигнала, связанного с заданной неисправностью, на выход схемы. Это означает, что при прохождении указанного сигнала через элемент ИЛИ-НЕ на всех других его входах надо обеспечить нули. В свою очередь обеспечение таких входных сигналов связано с выбором подходящей строки покрытия элемента, с которого снимается нужный сигнал.
Рис. 3
Процесс активизации путей схемы (рис.3) отображен в табл. 16. Всего оказалось 20 путей.
Контролирующий тест Таблица 16
1 2 3 4 5 6 7 | 8 9 10 11 12 13 14 | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | Пути |
1 0 0 0 1 1 0 | 0’1 1 1 0 0 1 | 1 0 1 0 0 0 1’ 0 1 0 0’ 0 0 0 1 0 1’ 0’ | 1, 8,21, 25, 31,32 |
1 0 1 1 0 1 0 | 0’1 0 0 1 0 1 | 0 1 1 0 0 1 0 0 1 0 0 1’ 0 1 0 0 0’ 1’ | 1, 8, 26, 31,32 |
1 1 0 0 1 0 1 | 0 0 1 1 0 1 0 | 1 0 0 1 0’ 0 1’ 0 1’ 1 0’ 0 0’ 0 1’ 0’ 1’ 0’ | 1, 19, 23, 27, 29, 30, 31, 32 |
1 1 1 0 0 1 0 | 0 0 0 1 1 0 1 | 1 0 1 0 0 0 0 1 1 0 0’ 0 0 1 0 0 1’ 0’ | 2, 25, 31, 32 |
1 1 1 0 0 1 0 | 0 0’ 0 1 1 0 1 | 1 0 1 0 0 0 0 1’ 1 0 0 0’ 0 1 0 0 1’ 0’ | 2, 9, 22,26, 31,32 |
0 1 1 0 1 0 1 | 1 0 0 1 0 1 0 | 1 0 0 1 0’ 0 0 0 1’ 1 0 0 0’ 0 1’ 0’ 1’ 0’ | 3, 19, 23, 27, 29, 30, 31, 32 |
0 1 1 0 1 1 0 | 1 0 0’ 1 0 0 1 | 1 0 1 0 0’ 0 0’ 1 1’ 0 0’ 0 0’ 1 0’ 1’ 0’ 1’ | 3, 10, 28, 29, 30, 31, 32 |
1 0 1 1 0 1 0 | 0 1 0’ 0 1 0 1 | 0 1 1 0 0 1 0 0 1 0 0 1’ 0 1 0 0 0’ 1’ | 3, 10, 26, 31, 32 |
0 1 0 1 1 0 1 | 1 0 1 0 0 1 0 | 0’ 1’ 0 1 0’ 0 0 0 1’ 1 0 0 0 0 1’ 0’ 1’ 0’ | 4, 15, 16, 19, 23, 29, 30, 31,32 |
1 0 0 1 0 1 0 | 0 1 1 0 1 0 1 | 0’ 1’ 1 0 0 1 0 0 1 0 0’ 0 0 0 1 0 1’ 0’ | 4, 15,16,25,31,32 |
0 0 1 1 1 1 0 | 1 1 0 0’ 0 0 1 | 0 1 1 0 0 1’ 0 0 1 0’ 0 0 0 1’ 0’ 1’ 0’ 1’ | 4, 11, 20, 24, 28, 29, 30, 31, 32 |
1 0 0 0 1 1 0 | 0 1 1 1 0’ 0 1 | 1 0 1 0 0 0 1’ 0 1 0 0’ 0 0 0 1 0 1’ 0’ | 5,12,21,25, 31,32 |
0 0 1 1 1 1 0 | 1 1 0 0 0’ 0 1 | 0 1 1 0 0 1 0 0 1 0 0 0 0 1 0 1’ 0’ 1’ | 5, 12, 30, 31, 32 |
0 1 0 0 1 1 1 | 1 0 1 1 0 0 0 | 1 0 0 1 0’ 0 0 0 1’ 1 0 0 0’ 0 1’ 0’ 1’ 0’ | 6,19,23,27,29,30,31,32 |
1 2 3 4 5 6 7 | 8 9 10 11 12 13 14 | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | Пути |
0 0 1 1 0 1 1 | 1 1 0 0 1 0’ 0 | 0 1 0 1 0 1’ 0 0 1 0’ 0 0 0 1’ 0’ 1’ 0’ 1’ | 6, 13, 20, 24, 28, 29, 30, 31, 32 |
1 0 1 1 0 1 0 | 0 1 0 0 1 0’ 1 | 0 1 1 0 0 1 0 0 1 0 0 1’ 0 1 0 0 0’ 1’ | 6, 13, 26, 31, 32 |
1 1 1 0 0 1 1 | 0 0 0 1 1 0 0 | 1 0 0’ 0’ 0 0 0 0’ 1 1 0 1’ 0 0 1 0 0’ 1’ | 7, 17, 18, 22, 26, 31, 32 |
0 0 1 0 1 1 1 | 1 1 0 1 0 0 0 | 1 0 0’ 1’ 0 0 0 0 1 1 0’ 0 0 0 1 0 1’ 0’ | 7,17,18,25,31,32 |
0 0 1 0 1 0 1 | 1 1 0 1 0 1 0’ | 1 0 0 1 0 0 0 0 1 1’ 0 0 0 0’ 1’ 0’ 1’ 0’ | 7, 14, 24, 28, 29, 30, 31, 32 |
0 1 0 0 1 0 1 | 1 0 1 1 0 1 0’ | 1 0 1 0 1 0 0 0 0 1 0 0 1’ 0 0’ 1’ 0’ 1’ | 7, 14, 27, 29, 30, 31, 32 |
После заполнения всех строк таблицы из нее следует выписать наборы входных переменных с соответствующими реакциями. При этом один набор с переменной 1’ распадается на два набора, в одном из них 1’ дает 1, а в другом – 0. В общей системе наборов обычно получаются одинаковые наборы. Лишние нужно удалить. Оставшиеся ( табл. 17 ) наборы с эталонными реакциями и являются тестом.
Таблица 17
Реакция | Наборы | Реакция | Наборы |
0 | 0 0 1 1 0 1 1 | 0 | 0 0 1 0 1 1 1 |
1 | 1 0 1 1 0 1 0 | 0 | 0 0 1 0 1 0 1 |
0 | 1 1 0 0 1 0 1 | 1 | 0 1 0 0 1 0 1 |
0 | 1 1 1 0 0 1 0 | 1 | 0 0 0 0 1 1 0 |
0 | 0 1 1 0 1 0 1 | 0 | 0 0 1 1 0 1 0 |
1 | 0 1 1 0 1 1 0 | 1 | 1 0 1 0 0 1 0 |
0 | 0 1 0 1 1 0 1 | 1 | 1 0 0 0 0 1 0 |
0 | 1 0 0 1 0 1 0 | 0 | 0 0 1 1 0 0 1 |
1 | 0 0 1 1 1 1 0 | 0 | 1 0 1 1 0 0 0 |
0 | 0 1 0 0 1 1 1 | 1 | 0 0 1 0 1 1 0 |
1 | 0 0 1 1 0 1 1 | 1 | 0 0 1 0 1 0 0 |
1 | 1 1 1 0 0 1 1 | 0 | 0 1 0 0 1 0 0 |
Всего получилось 24 набора.
Чтобы проверить схему, надо задать три неисправности: одна касается какого-либо элемента ближе ко входам схемы, другая – к середине схемы, третья – к выходу схемы.
Надлежит установить, обнаруживается или нет каждая заданная неисправность тестом. При этом нужно брать