- •Проектирование электронных устройств
- •Чернигов чгту 2012
- •Оглавление
- •2.4 Пример выполнения работы № 3 46
- •Введение
- •1Ргр №2. Реализация булевых функций на логических элементах
- •1.1Цель работы
- •1.2Теоретические сведения
- •1.3Способы представления булевых функций
- •Табличный способ представления
- •Матричный способ представления
- •Логические функции двух переменных
- •1.5Алгебра Буля
- •1.6Законы алгебры логики
- •1.7Переход от табличной формы представления логической функции к аналитической
- •1.8Импликанты и имплициенты булевых функций
- •1.9Сокращенные, минимальные и тупиковые формы
- •Метод карт Карно (диаграммы Вейча)
- •Минимизация функции трех переменных
- •Минимизация функции четырех переменных
- •Минимизация функции пяти переменных
- •Минимизация систем булевых функций по картам Карно
- •1.10Алгебра Жегалкина
- •Определение алгебры Жегалкина
- •Преобразование функций в алгебре Жегалкина
- •Переход от булевой алгебры к алгебре Жегалкина
- •1.11Задания, выполняемые в расчетно-графической работе
- •1.12Пример выполнения работы № 2
- •Выполнение задания 1
- •Выполнение задания 2
- •Выполнение задания 3
- •Цель работы.
- •2.3Запоминающие элементы триггеров
- •Запоминающие элементы триггеров, управляемые уровнем тактирующего сигнала
- •Запоминающие элементы триггеров, управляемые перепадом тактирующего сигнала - зэзэ триггеров, собранные по ms схеме
- •- Зэзэ по схеме трёх триггеров
- •Задания, выполняемые в расчетно-графической работе
- •2.4Пример выполнения работы № 3
- •Пример построения dv-триггеров по ms схеме на элементах и-не
- •Пример реализации т-триггера по ms схеме на элементах или-не
- •Пример реализации jk-триггера по схеме трех триггеров на и-не
- •Цель работы.
- •3.3Абстрактный синтез автомата
- •Минимизация числа состояний автомата
- •Кодирование состояний автомата
- •Получение функций возбуждения блока памяти и функций выхода
- •Задания выполняемые в расчетно-графической работе
- •3.4Пример выполнения работы № 4
- •3.5Выводы
- •3.6Содержание отчета
- •Цель работы.
- •4Рекомендованная литература
Минимизация числа состояний автомата
Некоторые состояния, полученные путём анализа реакции автомата на входные сигналы, могут оказаться избыточными. Это может усложнить комбинационную схему автомата, так как от числа состояний зависит число элементов, в которых хранится информация о текущем состоянии. Минимизация особенно важна, если число состояний переходит через степень 2.
Алгоритм минимизации основан на разбиении всех состояний исходного автомата на попарно непересекающиеся подмножества – классы эквивалентности состояний и замене каждого класса одним состоянием.
Определение. Два состояния as и am являются эквивалентными asam, если (as,)= (am, ), где — входное слово произвольной длины. Таким образом состояния будут эквивалентны в том случае, если при одном и том же входном слове произвольной длины , независимо от того в каком из состояний as или am автомат находился в начальный момент времени, вырабатывается одна и та же последовательность состояний.
Определение. Два состояния as и am являются k–эквивалентными, если (as, k)= (am, k), где k— входное слово длины k. То есть состояния будут k–эквивалентны, если при одном и том же входном слове длины k, независимо от того в каком из состояний as или am автомат находился в начальный момент времени, выработается одна и та же последовательность состояний. При прохождении k+1 слова состояния as и am могут оказаться не эквивалентными.
Для минимизации автомата производят последовательность разбиений П1, П2, П3,..., Пk состояний автомата пока на каком-то k+1 шаге не окажется, что Пk+1= Пk. В таком случае Пk=П k–эквивалентные состояния являются эквивалентными. Из каждого класса эквивалентности выбирается по одному состоянию, которое образует минимальное множество состояний автомата. Для определения таблиц переходов и выходов строки, соответствующие не вошедшим состояниям, вычёркиваются, а в оставшихся строках таблицы переходов все состояния заменяются на эквивалентные.
Вводится понятие 0–эквивалентных состояний, состояний которым соответствуют одинаковые выходные сигналы, так как состояния с разными выходными сигналами нельзя объединить в класс эквивалентности.
Проведём минимизацию автомата Мура, заданного выше.
Первое разбиение П1={A0, A1} производится по таблице выходов. В подмножестве A0 объединяются все состояния, которым соответствуют нулевой выходной сигнал, в A1 — единичный. То есть A0={ a0, a1, a2, a3 }, A1={ a4 }. Подмножество A1 состоит из одного элемента, следовательно, a4 обязательно войдёт в минимальную таблицу переходов автомата. Для последующих разбиений в строках, соответствующих состояниям из класса A0, состояния, в которые происходят переходы, заменим на классы 1–эквивалентности в таблице переходов состояния.
Таблица 4.4 - Таблица переходов на первом этапе минимизации.
|
А\х |
0 |
1 |
|
|
a0 |
A0 |
A0 |
|
A0 |
a1 |
A0 |
A0 |
B0 |
|
a2 |
A0 |
A0 |
|
|
a3 |
A0 |
A1 |
B1 * |
Одинаковые строки в таблице объединим в классы разбиения B0 и B1. П2={ B0, B1 }, где B0={ a0, a1, a2}, B1={ a3 }. Звёздочкой (*) отмечена строка, которая войдёт в минимальную таблицу переходов.
Таблица 4.5 - Таблица переходов на втором этапе минимизации.
|
А\х |
0 |
1 |
|
|
a0 |
B0 |
B0 |
|
B0 |
a1 |
B0 |
B0 |
C0 |
|
a2 |
B0 |
B1 |
C1 * |
П3={C0,C1}, где С0={ a0, a1 }, C1= { a2 }.
Таблица 4.6 - Таблица переходов на третем этапе минимизации.
|
А\х |
0 |
1 |
|
|
a0 |
С0 |
С0 |
D0 * |
С0 |
a1 |
С1 |
С0 |
D1 * |
Таким образом, мы получили последнее разбиение
П4={D0, D1}, где D0={ a0 }, D1= {a1 }.
В данном случае все классы разбиений состоят каждое из одного состояния. Значит, минимальная таблица переходов будет включать все состояния.
Выполним для автомата Мили минимизацию состояний.
Первое разбиение произведём по таблице выходов автомата Мили.
П1={A0, A1}, A0={ a0, a1, a2, a4 }, A1={ a3 }.
Таблица 4.7 - Таблица переходов на первом этапе минимизации.
|
А\х |
0 |
1 |
|
|
a0 |
A0 |
A0 |
|
A0 |
a1 |
A0 |
A0 |
B0 |
|
a2 |
A0 |
A1 |
B1 * |
|
a4 |
A0 |
A0 |
B0 |
П2={ B0, B1 }, где B0={ a0, a1, a4}, B1={ a2 }
Таблица 4.8 - Таблица переходов на втором этапе минимизации.
|
А\х |
0 |
1 |
|
|
a0 |
B0 |
B0 |
C0 |
B0 |
a1 |
B1 |
B0 |
C1* |
|
a4 |
B0 |
B0 |
C0 |
П3={C0,C1}, где С0={ a0, a4 }, C1= { a1 }.
Таблица 4.8 - Таблица переходов на третьем этапе минимизации.
|
А\х |
0 |
1 |
|
a0 |
С1 |
С0 |
С0 |
a4 |
С1 |
С0 |
В данном случае состояния a0, a4 являются эквивалентными. Удалим одно из состояний из таблицы переходов.
Таблица 4.9 - Минимальная таблица переходов.
А\х |
0 |
1 |
a0 |
a1 |
a0 |
a1 |
a2 |
a0 |
a2 |
a2 |
a3 |
a3 |
a1 |
a0 |
Анализируя первоначальную таблицу переходов и выходов, получим таблицу выходов:
Таблица 4.10 - Таблица выходов.
А\х |
0 |
1 |
a0 |
0 |
0 |
a1 |
0 |
0 |
a2 |
0 |
0 |
a3 |
0 |
1 |
