Добрый день можно поинтересоваться где брать литературу предложенную в курсе ?Большинство книг я не могу найти в известных источниках |
Система многозначных алфавитов и функций
В основе многозначных алфавитов, используемых в логическом моделировании и генерации тестов, лежит классический двоичный алфавит , образующий вместе с базисными логическими функциями булеву алгебру (далее, для простоты, двоичный алфавит и булеву алгебру будем обозначать как ). В данном алфавите достаточно хорошо моделируется статическое поведение логических схем для установившихся значений сигналов. Он используется в методах моделирования и генерации тестов, основанных на использовании конечных автоматов, некоторых ранних методах построения тестов, основанных на построении различающей функции и т.п. Однако двоичные модели не учитывают переходные процессы, возникающие при изменении значений входных сигналов и обусловленные временными характеристиками элементов. Кроме того, их использование вынуждает рассматривать отдельно исправную и неисправную схемы. В силу этого получили распространение алфавиты большей значности, некоторые из которых были рассмотрены в "Модели логических элементов" .
На данный момент существует несколько десятков различных и, как правило, не имеющих друг с другом взаимосвязи логик. В основе разработки большинства из них лежит эвристический подход. То есть, алфавит строится на основе отображения процессов, происходящих в схеме. Например, символы алфавита вводятся для отображения неопределенных значений, изменений сигналов при переходных процессах, условий распространения неисправностей и т.п. В терминах построенного алфавита определяют, как правило, исходя из здравого смысла, табличным способом основные логические функции. Такой подход является неэффективным, так как для каждого нового метода проектировщик вынужден строить свою систему многозначных моделей. Кроме того, это сдерживает разработку многозначных моделей для ДУ достаточно высокой сложности, реализованных на БИС и СБИС.
Как было показано выше в "Модели логических элементов" , моделирование в различных многозначных алфавитах, например, и требует разработки различных многозначных моделей логических элементов. То есть для каждого алфавита (и даже способа его кодирования) надо иметь свои модели логических элементов. Если мы хотим в системе иметь программы моделирования в различных алфавитах, то при таком подходе мы должны разработать для каждого алфавита свои модели всех логических элементов. Это создает серьезные проблемы при разработке систем моделирования и генерации тестов. Поэтому желательно построить единую систему многозначных моделей, которая позволяла бы проводить моделирование и генерацию тестов в основных многозначных алфавитах.
Универсальный 16-значный алфавит
Здесь используется более совершенная единая система многозначных алфавитов и функций, основанная на универсальной 16-значной логике . В [ 2.2 ] , [ 1.2 ] на основе синтеза систематического подхода к построению многозначных логик и 16-значной логической системы, предложенной в [ 1.2 ] , разработан единый подход, позволяющий на базе двоичного алфавита получить основные многозначные логики, применяемые в методах построения тестов и моделирования.
Пусть - произвольный k-значный алфавит; - множество k-значных функций переменных, где для является отображением Совокупность и образует k-значную логику. Предложено два способа получения новой многозначной логики путем расширения некоторой исходной логики до более мощной по значности логики . При первом способе новый алфавит получается как подмножество некоторого декартового произведения исходного алфавита Например, таким образом 4-значный алфавит , получен из двоичного алфавита Второй способ заключается в том, что новый алфавит является некоторым множеством подмножеств элементов исходного алфавита: Произвольный элемент алфавита образуется как неупорядоченное подмножество элементов алфавита , где Например, таким способом 5-значный алфавит получается из рассмотренного выше 4-значного алфавита При этом - статический ноль, - статическая единица, - изменение сигнала из в , - изменение сигнала из в , - неопределенное значение сигнала.
В качестве базового алфавита принимается 4-значный алфавит На его основе с помощью описанных выше методов строятся остальные многозначные алфавиты (причем не только большей значноcти). Элементы алфавита имеют следующую интерпретацию: – значения сигналов равны; – значения сигналов различны в разных технических состояниях ДУ или в различные моменты времени. Таким образом, на основе алфавита строится вторым способом 16-значный алфавит ( таблица 7.1). Данный алфавит является множеством всех подмножеств алфавита 16-значный алфавит является базовым для задач построения тестов и моделирования в логических схемах, так как его элементы отображают все основные возможные ситуации, возникающие на линиях схемы.
Важнейшей компонентой является способ кодирования элементов многозначных алфавитов. Символы алфавита кодируются при помощи четырех двоичных переменных ( таблица 7.1). При этом каждому элементу алфавита ставится в соответствие упорядоченная совокупность переменных , являющаяся его кодом.
Значение | Элемент | Подмножество | Кодирование | |||
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | ||
1 | 1 | {1} | 0 | 0 | 0 | 1 |
2 | D | {D} | 0 | 0 | 1 | 0 |
3 | G1 | 0 | 0 | 1 | 1 | |
4 | 0 | 1 | 0 | 0 | ||
5 | F1 | 0 | 1 | 0 | 1 | |
6 | 0 | 1 | 1 | 0 | ||
7 | D1 | 0 | 1 | 1 | 1 | |
8 | 0 | {0} | 1 | 0 | 0 | 0 |
9 | C | 1 | 0 | 0 | 1 | |
10 | F0 | 1 | 0 | 1 | 0 | |
11 | H | } | 1 | 0 | 1 | 1 |
12 | G0 | 1 | 1 | 0 | 0 | |
13 | E | 1 | 1 | 0 | 1 | |
14 | D0 | 1 | 1 | 1 | 0 | |
15 | u | 1 | 1 | 1 | 1 |
Любая из четырех переменных является признаком присутствия на линии соответствующего ей значения. Например, если переменная то линия может принимать значение , в противном случае - - не может. Поэтому эти переменные называют характеристическими переменными. Отсюда следует, что код произвольного элемента алфавита является характеристическим вектором Следует отметить, что данный способ кодирования многозначных алфавитов является обобщением дизъюнктивного метода кодирования троичного алфавита, представленного табл.4.6-4.7 в "Модели логических элементов" .
Многозначные функции
Очевидно, что при определении новой многозначной логики основной проблемой является построение системы многозначных функций в новом алфавите В том случае, если построенная система функций замкнута относительно , то в совокупности с алфавитом она образует новую многозначную логику
Логические функции в алфавите обычно описываются двумя способами. Первый способ - табличный. Он применяется для описания функционирования простых логических вентилей. Например, для вентилей табличные модели представлены в Табл.7.2 и Табл.7.3. При этом элементы алфавита кодируются целыми числами от до , которые соответствуют их двоичным кодам ( таблица 7.1). Табличные модели для других простых вентилей имеют аналогичную форму. Например, таблица 7.4 представляет многозначную модель элемента
Второй способ, как было показано в "Модели логических элементов" , заключается в задании многозначной функции с помощью нескольких двоичных компонент. Многозначная модель на основе кодирования 16-значного алфавита, которая использует 4-компонентное представление. Показано, что поведение многозначной функции для может быть описано с помощью четырех булевых функций Данные функции являются компонентами характеристического вектора , соответствующего коду значения многозначной функции Характеристические функции для базисных вентилей представлены в табл.7.5. Для произвольной логической функции они могут быть получены с помощью ориентированных булевых дифференциалов.
И | B | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
a | 1 | D | G1 | F1 | D1 | 0 | C | F0 | H | G0 | E | D0 | u | ||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | |
1 | 1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
2 | D | 0 | 2 | 2 | 2 | 8 | 10 | 10 | 10 | 8 | 10 | 10 | 10 | 8 | 10 | 10 | 10 |
3 | G1 | 0 | 3 | 2 | 3 | 12 | 15 | 14 | 15 | 8 | 11 | 10 | 11 | 12 | 15 | 14 | 15 |
4 | 0 | 4 | 8 | 12 | 4 | 4 | 12 | 12 | 8 | 12 | 8 | 12 | 12 | 12 | 12 | 12 | |
5 | F1 | 0 | 5 | 10 | 15 | 4 | 5 | 14 | 15 | 8 | 13 | 10 | 15 | 12 | 13 | 14 | 15 |
6 | 0 | 6 | 10 | 14 | 12 | 14 | 14 | 14 | 8 | 14 | 10 | 14 | 12 | 14 | 14 | 14 | |
7 | D1 | 0 | 7 | 10 | 15 | 12 | 15 | 14 | 15 | 8 | 15 | 10 | 15 | 12 | 15 | 14 | 15 |
8 | 0 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 |
9 | C | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
10 | F0 | 8 | 10 | 10 | 10 | 8 | 10 | 10 | 10 | 8 | 10 | 10 | 10 | 8 | 10 | 10 | 10 |
11 | H | 8 | 11 | 10 | 11 | 12 | 15 | 15 | 14 | 8 | 11 | 10 | 11 | 12 | 15 | 14 | 15 |
12 | G0 | 8 | 12 | 8 | 12 | 12 | 12 | 12 | 12 | 8 | 12 | 8 | 12 | 12 | 12 | 12 | 12 |
13 | E | 8 | 13 | 10 | 15 | 12 | 13 | 14 | 15 | 8 | 13 | 10 | 15 | 12 | 11 | 14 | 15 |
14 | D0 | 8 | 14 | 10 | 14 | 12 | 14 | 14 | 14 | 8 | 14 | 10 | 14 | 12 | 14 | 14 | 14 |
15 | U | 8 | 15 | 10 | 15 | 12 | 15 | 14 | 15 | 8 | 15 | 10 | 15 | 12 | 15 | 14 | 15 |
НЕ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
a | 1 | D | G1 | F1 | D1 | 0 | C | F0 | H | G0 | E | D0 | u | |||
0 | 8 | 4 | 12 | 2 | 10 | 6 | 14 | 1 | 9 | 5 | 13 | 3 | 11 | 7 | 15 |
Кроме прямых многозначных функций, описанных выше, в диагностике ДУ (прежде всего в генерации тестов) применяются также обратные многозначные функции. Обратные функции позволяют вычислить значение аргумента по заданным значениям функции и второго аргумента (как правило, их определяют для функций двух переменных). Для них, как и для прямых функций, существует две формы описания: табличная и покомпонентная. Пример табличной модели приведен в табл.7.6, где задана обратная функция для вентиля В табл.7.7 представлены обратные характеристические функции основных вентилей
В силу симметричности обратные функции для аргумента имеют идентичный вид и получаются заменой переменных на Пример использования обратных многозначных функций в генерации тестов представлен в "Построение тестов с использованием алфавитов большой значности" .
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | D | G1 | F1 | D1 | 0 | C | F0 | H | G0 | E | D0 | u | |||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
1 | 1 | 0 | 8 | 4 | 12 | 2 | 10 | 6 | 14 | 1 | 9 | 5 | 13 | 3 | 11 | 7 | 15 |
2 | D | 0 | 4 | 8 | 12 | 1 | 5 | 9 | 13 | 2 | 6 | 10 | 14 | 3 | 7 | 11 | 15 |
3 | G1 | 0 | 12 | 12 | 12 | 3 | 15 | 15 | 15 | 3 | 15 | 15 | 15 | 3 | 15 | 15 | 15 |
4 | 0 | 2 | 1 | 3 | 8 | 10 | 9 | 11 | 4 | 6 | 5 | 7 | 12 | 14 | 13 | 15 | |
5 | F1 | 0 | 10 | 5 | 15 | 10 | 10 | 15 | 15 | 5 | 15 | 5 | 15 | 15 | 15 | 15 | 15 |
6 | 0 | 6 | 9 | 15 | 9 | 15 | 9 | 15 | 6 | 6 | 15 | 15 | 15 | 15 | 15 | 15 | |
7 | D1 | 0 | 14 | 13 | 15 | 11 | 15 | 15 | 15 | 7 | 8 | 15 | 15 | 15 | 15 | 15 | 15 |
8 | 0 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
9 | C | 0 | 9 | 6 | 15 | 6 | 15 | 6 | 15 | 9 | 9 | 15 | 15 | 15 | 15 | 15 | 15 |
10 | F0 | 0 | 5 | 10 | 15 | 5 | 5 | 15 | 15 | 10 | 15 | 10 | 15 | 15 | 15 | 15 | 15 |
11 | H | 0 | 13 | 14 | 15 | 7 | 15 | 15 | 15 | 11 | 15 | 15 | 15 | 15 | 15 | 15 | 15 |
12 | G0 | 0 | 3 | 3 | 3 | 12 | 15 | 15 | 15 | 12 | 15 | 15 | 15 | 15 | 15 | 15 | 15 |
13 | E | 0 | 11 | 7 | 15 | 14 | 15 | 15 | 15 | 13 | 15 | 15 | 15 | 15 | 15 | 15 | 15 |
14 | D0 | 0 | 7 | 11 | 15 | 13 | 15 | 15 | 15 | 14 | 15 | 15 | 15 | 15 | 15 | 15 | 15 |
15 | u | 0 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 |
И | F | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A | 1 | D | G1 | F1 | D1 | 0 | C | F0 | H | G0 | E | D0 | u | ||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
1 | 1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
2 | D | 0 | 0 | 3 | 3 | 0 | 0 | 3 | 3 | 12 | 12 | 15 | 15 | 12 | 12 | 15 | 15 |
3 | G1 | 0 | 1 | 3 | 3 | 4 | 5 | 7 | 7 | 12 | 13 | 15 | 15 | 12 | 13 | 15 | 15 |
4 | 0 | 0 | 0 | 0 | 5 | 5 | 5 | 5 | 10 | 10 | 10 | 10 | 15 | 15 | 15 | 15 | |
5 | F1 | 0 | 1 | 2 | 3 | 5 | 5 | 7 | 7 | 10 | 11 | 10 | 11 | 15 | 15 | 15 | 15 |
6 | 0 | 0 | 3 | 3 | 5 | 5 | 7 | 7 | 14 | 14 | 15 | 15 | 15 | 15 | 15 | 15 | |
7 | D1 | 0 | 1 | 3 | 3 | 5 | 5 | 7 | 7 | 14 | 15 | 15 | 15 | 15 | 15 | 15 | 15 |
8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 |
9 | C | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 |
10 | F0 | 0 | 0 | 3 | 3 | 0 | 0 | 3 | 3 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 |
11 | H | 0 | 1 | 3 | 3 | 4 | 5 | 7 | 7 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 |
12 | G0 | 0 | 0 | 0 | 0 | 5 | 5 | 5 | 5 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 |
13 | E | 0 | 1 | 2 | 3 | 5 | 5 | 7 | 7 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 |
14 | D0 | 0 | 0 | 3 | 3 | 5 | 5 | 7 | 7 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 |
15 | u | 0 | 1 | 3 | 3 | 5 | 5 | 7 | 7 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 |