- •И.И. Дзегеленок синтез управляющего автомата
- •«Теория автоматов»
- •И.И. Дзегеленок синтез управляющего автомата
- •«Теория автоматов»
- •Введение
- •1. Методы абстрактного синтеза
- •1.1. Использование алгебры регулярных событий
- •1.2. Синтез автомата по дереву управления
- •1.3. Завершающая стадия абстрактного синтеза
- •2. Методика структурного синтеза
- •3. Контрольный пример
- •4. Варианты типового задания
- •Заключение
- •Список использованных источников
- •Содержание
3. Контрольный пример
Задание. Построить логическую схему последовательного компаратора для сравнения 2 двоичных чисел А, В произвольной длины, поступающих на вход, начиная с младших разрядов. По окончании подачи чисел А, В на вход компаратора на его выходе должны появиться сигналы: y0, если А=В, y1 если A<B, у2 если A>B, у3.
Решение.
1. Введем в рассмотрение входные буквы: x00, х11, x01, х10, где нижний первый индекс соответствует значению текущего разряда числа А, а второй — числа В. С точки зрения сравнения чисел А, В действие букв x00, х11 равносильно, что позволяет их рассматривать как одну букву, обозначаемую в дальнейшем x0.
2. Формализуем условия работы искомого автомата на языке регулярных выражений, эти условия приобретают вид:
(3.1)
(3.2)
(3.3)
Здесь итерационные скобки { }+={ }*e, где е – пустая буква,
введена для сокращения длины записи регулярных выражений.
Полученный граф — рис. 3.1 содержит три финитные вершины 1, 3, 4, соответствующие выходным реакциям у0, y1, y2.
Рис. 3.1. Обобщенный граф регулярных выражений (3.1) – (3.3)
«Нейтральная» вершина 2 помечена пустой буквой е. Каждая финитная вершина с помощью пустой стрелки замыкается на начальную вершину, что соответствует воспроизведению итерационных скобок { }+. Номера вершин, «переносимых» по пустым стрелкам выписаны через запятую слева относительно вершин 0 и 2.
3. Переходим к построению обобщенного графа регулярных выражений (3.1) – (3.3).
4. Применяя методику детерминизации графа регулярных выражений (раздел 1.1), приходим к табл. 3 I.
Таблица 3.1
Вых. |
– |
|
|
|
Сост. |
0 |
1 2 |
2 3 |
2 |
x0 1 2 1 2 2 3 2 4
x01 2 3 2 3 2 3 2 3
x10 2 4 2 4 2 4 2 4
Отсутствие противоречий при определении дизъюнкций выходных сигналов в табл. 3.1 свидетельствует о том, что система регулярных выражений (3.1) – (3.3) является корректной.
В дальнейшем при определении реакций автомата y0, y1, y2 пустой символ, е можно не учитывать.
5. Переходим к эквивалентному автомату Мили, открывающему возможность получения абстрактной схемы наименьшей сложности (по числу состояний). Первоначальная модель содержит 4 состояния: . Так как разбиение не поддается расщеплению (совпадает с разбиением ), убеждаемся, что изображенный на рис. 1.2 – минимальный автомат.
6. Для проверки результатов абстрактного синтеза, а в случае неудачи (несоответствие поведения автомата техническому заданию, отсутствие видимых способов получения корректного описания), индуктивно воспроизводим дерево управления искомого автомата – рис. 1.1. Приняты следующие соглашения. Каждый «веер» ребер слева направо определяется входными буквами соответственно. Все ребра дерева помечены цифрами 0, 1, 2, соответствующими выходным реакциям . Дерево построено в предположении, что r=1, d=1, и потому имеет высоту h==3.
На дереве ясно просматриваются 3 различимые вершины базиса. Остальные зачеркнутые на рис. 1.1 вершины не отличимы от вершин базиса. Свертки дерева управления приводят к точной копии искомого автомата (рис. 1.2).
Заметим, что все дуги, входящие в каждое из его состояний, помечены одинаковыми реакциями. Следовательно, граф на рис. 1.2 можно также рассматривать и как автомат Мура (рис. 3.2), что может дать некоторые преимущества на этапе структурного синтеза.
Рис. 3.2. Кодированный граф переходов
7. В качестве элементарного автомата выбираем D-триггер. Минимально возможное число D-триггеров – ]log23[=2. Рассмотрим вариант неудачного кодирования состояний абстрактного автомата: , который приводит, во-первых, к усложнению КЛС, во-вторых, к возникновению состязаний ЭА. Так, при переключении из состояния в состояние под воздействием для промежуточного состояния на выходе автомата будет получен сигнал вместо требуемого сигнала . Значительно более удачным является вариант кодирования, представленный на рис. 3.2.
Каждому состоянию автомата приписано единичное значение одного из выходов . На рис. 3.2 также показаны: комбинации двоичных входов определяющие поразрядные значения чисел А и В; единичные значения функций возбуждения для 1-го и 2-го D-триггеров соответственно.
8. Как видно из кодированного графа переходов – рис. 3.2:
Нетрудно также получить функцию возбуждения
Функция V2 содержит 8 минитермов. Попытаемся ее минимизировать. Для этого воспользуемся диаграммой Вейча — рис. 3.3, где тонкими овалами выделены группы минитермов, образующих простые импликанты. В результате минимизации ФАЛ V2 получаем
9. Взяв за основу микросхемы серии К155 (см. [6] или рис, 2.2), обеспечивающие реализацию полученных в п. 8 функций, получаем один из вариантов логической схемы искомого автомата – рис. 3.4. Здесь для обозримости схемы принят графический прием вложения всех соединений в некоторую гипотетическую магистраль (жирная линия на рис. 3.4) с установлением строгого соответствия между одинаково пронумерованными входами и выходами. Как видно из рис. 3.4, для реализации последовательного компаратора требуется 5 корпусов или кристаллов.
Рис. 3.3. Диаграмма Вейча для функции V2
Рис. 3.4. Логическая схема компаратора (Вариант - 1)
10. Проверим возможность повышения качества синтеза за счет использования ПЛМ. Для реализации функций возбуждения необходимо пять вертикальных шин матрицы Ml (по общему числу минитермов). Выходную логику также выгодно вложить в ПЛМ. Для этого перейдем к автоматной модели Мили (рис. 1.2), принимая представленный на рис. 3.4 вариант кодирования состояний входных сигналов автомата. В соответствии с п. 5 раздела 3 убеждаемся в том, что функция в точности совпадает с функцией . В свою очередь каждая из функций содержит по 5 минитермов и после минимизации приобретает вид:
Для реализации всех полученных функций необходима ПЛМ со структурой , . В результате настройки ПЛМ на указанные функции получаем 2-й вариант логической схемы — рис. 3.5, который легко размещается на 2 кристаллах.
Рис. 3.5. Логическая схема компаратора (Вариант - 2)
Итак, мы раскрыли многие тонкости сквозного проектирования управляющего автомата с конечным числом состояний. Для того чтобы получить и обосновать Ваш проект управляющего автомата необходимо рассмотреть, по меньшей мере, 2 – 3 варианта его абстрактной и структурной реализации. Многоальтернативный синтез рекомендуется проводить с использованием пакета программ, именуемого SANAR [9] и разработанного студентами потока кафедры ВМСиС.