- •И. В. Потапов элементы прикладной теории цифровых автоматов
- •Оглавление
- •Введение
- •1. Представление чисел в эвм
- •1.1. Позиционные системы счисления
- •1.2. Обоснование применения в эвм двоичной системы счисления
- •1.3. Представление двоичных чисел с фиксированной и плавающей запятой
- •1.4. Прямой и инверсные коды чисел
- •1.5. Двоично-десятичные коды чисел
- •Вопросы для самоконтроля
- •2. Арифметические операции в двоичных кодах
- •2.1. Сложение двоичных кодов
- •2.2. Вычитание двоичных кодов
- •2.3. Выполнение операции округления чисел
- •2.3.1. Округление прямых кодов
- •2.3.2. Округление инверсных кодов
- •2.4. Умножение двоичных кодов
- •2.4.1. Умножение прямых кодов чисел
- •2.4.2. Ускоренное выполнение операции умножения
- •2.4.3. Умножение инверсных кодов чисел
- •2.5. Деление двоичных кодов
- •2.5.1. Деление прямых кодов чисел
- •2.5.2. Ускоренное выполнение операции деления
- •2.5.3. Деление дополнительных кодов чисел
- •2.6. Извлечение квадратного корня
- •2.7. Выполнение арифметических операций в d-кодах
- •2.7.1. Сложение в d-кодах
- •2.7.2. Умножение в d-кодах
- •2.7.3. Деление в d-кодах
- •Вопросы для самоконтроля
- •3. Переключательные функции
- •3.1. Основные определения и способы задания пф
- •3.2. Элементарные логические функции
- •3.3. Основные законы алгебры логики
- •3.4. Полные системы переключательных функций
- •3.5. Канонические формы аналитического представления пф
- •3.6. Кубическое представление пф
- •3.7. Синтез комбинационных схем
- •3.7.1. Синтез кс на логических элементах
- •3.7.2. Синтез кс на дешифраторах
- •3.7.3. Синтез кс на мультиплексорах
- •3.7.4. Синтез многовыходных схем
- •3.8. Риски сбоя в комбинационных схемах
- •Вопросы для самоконтроля
- •4. Минимизация переключательных функций
- •4.1. Минимизация пф с помощью карт Карно
- •4.2. Минимизация пф методом Квайна
- •4.3. Минимизация методом Квайна – Мак-Класки
- •4.4. Минимизация пф методом Блейка – Порецкого
- •4.5. Минимизация пф, заданных в конъюнктивной форме
- •4.6. Минимизация не полностью определенных пф
- •4.7. Минимизация систем пф
- •4.8. Минимизация пф в универсальных базисах и-не, или-не
- •Вопросы для самоконтроля
- •5. Моделирование работы и синтез автоматов с памятью
- •5.1. Основные модели, понятия и определения
- •5.1.1. Общее понятие цифрового автомата с памятью
- •5.1.2. Основные модели цифровых автоматов
- •5.1.3. Описание функционирования цифровых автоматов
- •5.1.4. Задание цифровых автоматов
- •5.1.5. Правила перехода между моделями Мили и Мура
- •5.2. Минимизация числа состояний цифровых автоматов
- •5.2.1. Минимизация числа состояний синхронного автомата методом Полла-Ангера
- •5.2.2. Минимизация числа состояний автомата Мура методом l-эквивалентных разбиений
- •5.2.3. Минимизация числа состояний автомата Мили методом l-эквивалентных разбиений
- •5.3. Структурный синтез цифровых автоматов
- •5.3.1. Типы элементарных автоматов, обладающие полной системой переходов-выходов
- •5.3.2. Основные этапы структурного синтеза
- •5.4. Рациональный выбор варианта кодирования состояний синхронных автоматов
- •Вопросы для самоконтроля
- •Библиографический список
- •Задания для выполнения самостоятельных работ
- •Илья Викторович потапов, канд. Техн. Наук, доцент элементы прикладной теории цифровых автоматов
3.1. Основные определения и способы задания пф
Вектор входных переменных переключательной функции называется набором. Любой набор значений аргументов ПФ будем рассматривать как целое двоичное число, определяющее его номер при перечислении: – «ноль» (нулевой набор), – «один» (первый набор), – «два» (второй набор), и т.д.
Поскольку общее число наборов равно и на каждом из них ПФ может принимать одно из двух значений: 0 или 1, максимальное число различных переключательных функций, зависящих от n переменных, равно .
Любая ПФ, зависящая от n аргументов, может быть определена на наборах. Если для некоторой функции , то такая функция называется полностью определенной. В противном случае функция называется не полностью определенной.
Пусть s – число наборов, на которых значение функции не определено. Не полностью определенную функцию можно доопределить значениями 0 или 1 на всех s наборах, при этом выбор совокупности значений функции может определяться произвольно или исходя из каких-либо рациональных соображений. Таким образом, при произвольном доопределении не полностью определенной функции можно получить различных полностью определенных функций.
Переключательную функцию можно задать одним из трех способов: аналитическим, геометрическим или матричным [4]. Простейшей разновидностью матричного способа задания является составление таблицы истинности ПФ. Таблица истинности булевой функции представляет собой совокупность наборов входных аргументов и соответствующие этим наборам выходные значения задаваемой функции (табл. 3.1).
Таблица 3.1
№ набора |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
x1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
x2 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
x3 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
x4 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
f1(x1, x2, x3, x4) |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
f2(x1, x2, x3, x4) |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
f3(x1, x2, x3, x4) |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
Задание ПФ при помощи таблицы истинности не всегда удобно, так как размеры таблицы растут пропорционально , где n – количество входных переменных.
При аналитическом способе задания ПФ определяемая функция описывается выражениями с использованием последовательностей входных переменных и операций алгебры логики (более подробно этот способ задания ПФ рассматривается в разделе 3.5).
Рассмотрим геометрический способ задания ПФ. Каждый двоичный набор n переменных в геометрическом смысле можно интерпретировать как вектор единичной длины, определяющий точку n-мерного пространства. Таким образом, множество наборов определяет множество вершин n-мерного гиперкуба. Для на рис. 3.1 представлен трехмерный куб, где каждой вершине соответствует один из возможных наборов входных переменных. Для задания ПФ графическим способом необходимо определить ее значения в вершинах n-мерного гиперкуба.
Переключательная функция называется существенно зависящей от переменной , если хотя бы для одного набора переменных выполняется следующее соотношение:
.
Если такое соотношение не выполняется, то функция не зависит от переменной . В этом случае переменная называется фиктивной. Фиктивные переменные можно исключить, так как от этого значения функции не изменяются.
Один из способов определения фиктивных переменных заключается в следующем. Разобьем множество наборов входных переменных на два подмножества. В первое подмножество входят наборы, на которых функция принимает значение 1, а во второе подмножество входят наборы, на которых функция принимает значение 0. Для проверки фиктивности переменной необходимо вычеркнуть соответствующие ей столбцы из обоих подмножеств. Отсутствие в подмножествах одинаковых наборов указывает на фиктивность аргумента .
В качестве примера рассмотрим функцию f3, заданную табл. 3.1. Разобьем множество ее аргументов на два подмножества (табл. 3.2, 3.3). Вычеркнем в этих таблицах столбцы, соответствующие переменной x4. Поскольку в таблицах отсутствуют одинаковые наборы, можно сделать вывод, что переменная x4 является фиктивной.
Таблица 3.2 Таблица 3.3
-
x1
x2
x3
x4
x1
x2
x3
x4
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
1
1
1
1
f3(x1, x2, x3, x4) = 1 f3(x1, x2, x3, x4) = 0