- •Раздел 3. Основы теории конечных автоматов
- •3.1. Логические функции
- •3.2. Примеры логических функций
- •3.2. Связь логических функций и функциональных схем
- •3.3. Каноническое представление логических функций
- •3.4. Задача минимизации логических функций
- •3.5. Основные понятия теории конечных автоматов
- •1) Для любой входной буквы ai имеется ребро, выходящее из qi , на котором написано aj (условие полноты);
- •2) Любая буква aj встречается только на одном ребре, выходящем из qi (условие непротиворечивости или детерминированности).
- •1) ( Qi , aj ) задается автоматной таблицей s;
- •2) Для любого слова а* и любой буквы аj
- •3.6. Абстрактная и структурная теория конечных автоматов
- •3.6. Сопоставимость конечных автоматов
- •3.7. Синхронные сети из автоматов.
- •1. Параллельное соединение (рис. 3.11). Различаются соединения с общими и раздельными входами (алфавитами).
- •3.8. Пример синтеза конечного автомата
- •X(n) (состояние / выход)
- •Преобразуем исходную таблицу в специальную форму с выделением входных - выходных сигналов и внутренних состояний.
- •X1(n) Комб. Y(n)
- •3.9. Программная реализация логических функций и автоматов.
3.2. Примеры логических функций
Логических функций одной переменной всего четыре. Они приведены в таблице 3.2.
Таблица 3.2 – Логические функции одной переменной
-
x
0
1
2
3
0
0
0
1
1
1
0
1
0
1
Функции 0 и 3 – константы 0 и 1 соответственно; их значения не зависят от значения переменной, и , следовательно, переменная x для них несущественна. Функция 1 повторяет x. Функция 2 называется "отрицанием" или функцией "НЕ" и обозначается или. Ее значение противоположно значениюx.
Логических функций двух переменных – 16. Они приведены в таблице 3.3.
Таблица 3.3 – Логические функции двух переменных
x1 x2 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
|
15 |
0 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
0 1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
|
1 |
1 0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
|
1 |
1 1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
|
1 |
Функции 0 и 15 константы 0 и 1, т.е. функции с двумя несущественными переменными. Отметим, что эти функции отличаются от приведенных в таблице 3.2. Там они унарные, а здесь бинарные операции на В.
Функция 1 называется конъюнкцией х1 и х2; ее обозначают: или&. Во всех случаях знак конъюнкции аналогично знаку умножения часто опускают и пишут х1 х2 . Она равна 1, только если х1 и х2 равны 1, поэтому ее часто называют функцией И. Еще одно ее название – "логическое умножение", поскольку ее таблица действительно совпадает с таблицей обычного умножения для чисел 0 и 1.
Функция 7 называется дизъюнкцией х1 и х2; ее обозначают: или. Она равна 1, если х1 или х2 равен 1 ("или" здесь понимается в неразделительном смысле – хотя бы одно из двух). Поэтому ее часто называют функцией ИЛИ.
Функция 6 – это сложение по модулю 2. Ее обозначение х1х2. Она равна 1, когда значения ее аргументов различны, и равна 0, когда они равны.
Другие функции имеют название: 13 – импликация: х1х2; 8 – стрелка Пирса: х1х2; 14 – штрих Шеффера: х1 х2.
Остальные функции специальных названий не имеют и выражаются через перечисленные выше функции.
3.2. Связь логических функций и функциональных схем
Построение компьютерных вычислительных систем непосредственно связано с использованием различных логических функций. Из всех перечисленных логических функций аппаратно реализованы в различных сериях микросхем разного уровня интеграции логические операции "И", "ИЛИ", "НЕ", а также "И – НЕ" и "ИЛИ – НЕ".
Практическая реализация логических функций на аппаратном уровне производится в соответствии со следующей последовательностью:
<логическая функция> <функциональная схема> <принципиальная схема>.
Функциональные блоки логических схем будут в дальнейшем использованы при разработке схем конечных автоматов. Рассмотрим представление основных логических функций с помощью функциональных блоков (табл.3.4)
Таблица 3.4 – Представление логических функций
-
№ п/п
Функция
Функциональный блок
Пример
1
И
Х 1
... У
Х n
У = Х1Х2 ...Хn
1
2
ИЛИ
Х 1
... У
Х n
У = Х1Х2 ...Хn
1
3
НЕ
Х У
5
И - НЕ
Х 1
... У
Х n
1
6
ИЛИ - НЕ
Х 1
... У
Х n
Другие логические функции, представленные в таблице 3.3, могут быть выражены через приведенный набор простейших функций.
Рассмотрим пример представления некоторой логической функции с помощью функциональной схемы. Пусть задана логическая функция:
.
Для этой логической функции (знаки логического умножения опущены) функциональная схема будет иметь вид, показанный на рисунке 3.1.
В примере выходной сигнал У формируется тремя входными сигналами Х1, Х 2 и Х3. Такая функциональная схема получила название комбинационной схемы.
Обычно формирования логической функции при проектировании логического устройства предшествует разработка словесного описания необходимой функции. Примером правильного описания может служить следующее задание:
"Спроектировать устройство из элементов И, ИЛИ, НЕ с тремя входами Х1, Х2, Х3 на выходе которого появляется сигнал У = 1 в случае, если на вход устройства пода-
у У
х1 х2 х3 х3
Рис. 3.1 - Пример комбинационной схемы
ется нечетное двоичное число или число, кратное трем (Х3 соответствует двоичному разряду с меньшим весом)".