7. Операции кубического исчисления конъюнкция (and), дизъюнкция (or), исключающее или (xor)
Кубическое исчисление является математическим аппаратом, который используется при синтезе и анализе в большинстве современных систем автоматизированного проектирования (САПР) цифровых схем.
Кубическое представление логических функций наиболее пригодно для машинных методов их анализа, так как позволяет компактно представлять логические функции от большого количества переменных. Это свойство определило наибольшую распространенность кубического представления логических функций при создании САПР цифровой аппаратуры. Именно поэтому кубическое представление логических функций заслуживает более подробного рассмотрения.
Для представления логических функций в кубической форме используется четырехсимвольный теоретико-множественный алфавит, основанный на двух логических примитивах 0 и 1, т.е. кубический алфавит можно представить, как А = {0, 1, U, X}. Обычно в теоретико-множественном представлении символ U ассоциируется с понятием «пусто» (). Символ Х в этом алфавите может рассматриваться как унирверсум, т.е. Х = 0 1 U . В дальнейшем («пусто») и U («unrnown state») рассматриваются как синонимы.
На рисунке 2.43 показана графическая интерпретация кубического алфавита А = {0,1,U,X} с использованием диаграммы Венна.
Рисунок 2.43 – Графическая интерпретация кубического алфавита
Для логических функций, определенных для 0 и 1, символы {U, X} можно рассматривать как один символ X. Исходя из этого классический кубический алфавит имеет вид А = {0, 1, X}.
Любой набор переменных (pattern) в кубическом представлении логических функций принято называть кубом или вектором в n-мерном пространстве. Переменные куба принято называть координатами, а компоненты вектора - разрядами. Определения «куб» и «вектор» обычно используют в качестве синонимов.
Количество переменных в кубе определяет его мерность (разрядность вектора). Обычно мерность куба определяется числом переменных булевой функции или общим количеством линий анализируемой переключательной схемы (входных, выходных и внутренних).
Кодовым расстоянием d между двумя кубами называется количество отличающихся координат (разрядов). Например, если A = 0XX0 и B = 01X1, то кодовое расстояние между ними равно 2 ( d = 2 ).
Количество символов Х в кубе определяет его ранг. Например, куб 0011 имеет нулевой ранг, 0X11 - первый ранг, XX11 - второй ранг и т.д. При этом куб первого ранга «покрывает» 2 набора, второго ранга - 4 набора и т.д. Таким образом, можно определить, что куб ранга k «покрывает» 2k двоичных наборов.
Совокупность кубов, покрывающих все входные наборы функции, называется покрытием или кубическим покрытием (КП). Множество кубов, на которых функция равна 0, называют нулевым покрытием (C0), а на которых равна 1 - единичным покрытием (C1). Обозначение КП в виде C0 и C1 происходит от английского слова «Сover» - покрывать.
Способ кубического представления булевых функций и операции над кубами в этом представлении образуют кубическое исчисление.
Можно определить логические операции, которые по названиям аналогичны логическим функциям двух переменых. Правила выполнения этих операций соответствуют побитовым логическим операциям в языках программирования высокого уровня. Ниже рассмотрены основные из этих операций, а именно, конъюнкция (AND), дизъюнкция (OR), исключающее ИЛИ (XOR) .
Кубическая операция конъюнкции (И, AND, &) двух n-мерных кубов А = (а1,а2, ... аn) и B = (b1,b2, ... bn), где n - количество координат куба, обозначается C = A & B, где C = (c1,c2, ... cn), и определяется как C = ((a1 & b1), (a2 & b2), ... (an & bn)). Кубическая операция конъюнкции является покоординатной и правила ее выполнения в каждом разряде указаны в табл. 2.4. Достаточно часто в литературе эту операцию называют логическим умножением и обозначают точкой, «*» или не обозначают вовсе.
Таблица 2.4 - Кубическая операция И
& | 0 | 1 | X |
0 | 0 | 0 | 0 |
1 | 0 | 1 | X |
X | 0 | X | X |
Примеры выполнения:
0X01 & 11X1 = 0X01;
0110 & 01XX = 01X0 .
Кубическая операция дизъюнкции (ИЛИ, OR, v) двух n-мерных кубов А = (а1,а2,...аn) и B = (b1,b2, ... bn), где n - количество координат куба, обозначается C = A v B, где C = (c1,c2, ... cn), и определяется как C = ((a1 v b1), (a2 v b2), ... (an v bn)). Кубическая операция дизъюнкции является покоординатной и правила ее выполнения в каждом разряде указаны в табл. 2.5. Достаточно часто в литературе эту операцию называют логическим сложением и обозначают знаком «+».
Таблица 2.5 - Кубическая операция ИЛИ
v | 0 | 1 | X |
0 | 0 | 1 | X |
1 | 1 | 1 | 1 |
X | X | 1 | X |
Примеры выполнения:
0X01 v 11X1 = 1X01;
0110 v 01XX = 011X.
Кубическая операция исключающее ИЛИ (сумма по модулю 2, XOR, ) двух n-мерных кубов А = (а1,а2, ... аn) и B = (b1,b2, ... bn), где n - количество координат куба, обозначается C = A B, где C = (c1,c2, ... cn), и определяется как C = ( (a1 b1), (a2 b2), ... (an bn) ) . Кубическая операция «сумма по модулю 2» является покоординатной и правила ее выполнения в каждом разряде указаны в табл. 2.6. Иногда в литературе эту операцию называют арифметическим сложением в одном разряде без переноса (или функцией полусумматора).
Таблица 2.6 - Кубическая операция исключающая ИЛИ
Å | 0 | 1 | X |
0 | 0 | 1 | X |
1 | 1 | 0 | X |
X | X | X | X |
Примеры выполнения:
0X01 11X1 = 1XX0;
0110 0101 = 0011 .
Отметим, что все вышеперечисленные операции отвечают условиям ассоциативности и коммутативности.
- 1. Двоичные сигналы в цифровой технике
- 2. Интегральные технологии
- 3. Переключательные схемы. Логические элементы и (and), или (or), не (not)
- 4. Переключательные схемы. Логические элементы и-не (nand) или-не (nor) исключающее или (xor), эквивалентность (xnor), буфер
- 5. Ассоциативность функций и (and), или (or), и-не (nand) или-не (nor), xor, xnor.
- 6. Степени интеграции микросхем. Позитивная и негативная логика
- 7. Операции кубического исчисления конъюнкция (and), дизъюнкция (or), исключающее или (xor)
- 8. Операции кубического исчисления пересечение, объединение и дополнение
- 9. Кубические покрытия элементов и (and), или (or), и-не (nand) или-не (nor), xor, xnor (доделать!!!)
- 10. Два подхода в минимизации систем булевых функций
- 11. Автоматизация проектирования
- 12. Сумматоры
- 13. Мультиплексоры
- 14. Демультиплексоры
- 15. Дешифраторы
- 16. Шифраторы
- 17. Программируемые логические матрицы (плм или pla)
- 18. Программируемая матричная логика (пмл или pal)
- 19. Универсальные логические модули на основе мультиплексоров (lut)
- 20. Асинхронные триггеры: rs-триггер, r*s*-триггер
- 21. Асинхронные триггеры: jk-триггер, j*k*-триггер
- 22. Асинхронные триггеры: d-триггер, vd-триггер, т-триггер
- 23. Синхронные триггеры
- 24. Одноступенчатые и двухступенчатые триггеры
- 25. Параллельные регистры. Последовательные регистры
- 26. Последовательно-параллельные регистры
- 27. Синтез триггеров на базе других триггеров (доделать!!!)
- 28. Определение абстрактного цифрового автомата
- 29. Автомат Мили
- 30. Автомат Мура
- 32. Задание автомата графом переходов
- 33. Табличный способ задания автоматов
- 34. Автоматная лента
- 35. Задание автомата деревом функционирования
- 36. Матричный способ представления автомата
- 37. Алгоритм трансформации автомата Мура в автомат Мили
- 38. Алгоритм перехода от автомата Мили к автомату Мура
- 39. Концепция операционного и управляющего автомата
- 40. Принцип микропрограммного управления
- 41. Содержательные и закодированные гса
- 42. Канонический метод структурного синтеза сложного цифрового автомат
- 43. Канонический метод синтеза микропрограммных автоматов Мили
- 44. Кодирование состояний автоматов с целью минимизации аппаратурных затрат
- 45. Противогоночное кодирование состояний автоматов. Кодирование состояний автоматов, реализуемых на плис
- 46. Канонический метод синтеза микропрограммных автоматов Мура
- 47. Vhdl-модель управляющего автомата Мили
- 48. Vhdl-модель управляющего автомата Мура
- 49. Vhdl-модель операционного автомата
- 50. Синтез канонической структуры операционного автомата
- 51. Характеристики операционного автомата. Явление гонок в операционных автоматах
- 52. Эквивалентные операции и обобщенный оператор
- 53. Операционный автомат типа I
- 54. Операционный автомат типа м
- 55. Оа типа im с параллельной комбинационной частью
- 56. Оа типа im с последовательной комбинационной частью
- 57. Операционный автомат типа s
- 58. Дребезг механических переключателей и метод его устранения
- 59. Делитель частоты