Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория автоматов для студ / Теория автоматов. МУ по курс.пр..doc
Скачиваний:
57
Добавлен:
27.04.2015
Размер:
294.91 Кб
Скачать

4.6. Уточнение структурной схемы оа

В соответствии со своим вариантом задания структурную схему ОА для выполнения заданной арифметической операции необходимо модифицировать. Например, в сумматор можно добавить дополнительные разряды для округления, знаковые разряды можно отделять от регистра и сумматора.

Обязательно также указать все необходимые для реализации заданной операции цепи передачи информации между устройствами. Кроме того, необходимо начертить, откуда подаются логические условия {x1, x2, …, xn} на вход ОА и в случае необходимости ввести в ОА для форматирования этих сигналов дополнительные схемы. Синтезировать эти схемы не требуется, надо только обозначить их условно и описать словесно их функции. Необходимо указать и распределить на устройствах ОА управляющих сигналов y1, y2, …, yn , формулируемых управляющим автоматом.

4.7. Синтез микропрограммного автомата.

На основе ГСА синтезируется микропрограммный автомат Мура или Мили.

Алгоритм синтеза следующий:

  1. Получение отмеченной ГСА (определение необходимого набора состояний автомата). Входы вершин, следующих за операторными, отмечаются символами а1, а2, …, аm по правилам (автомат Мили):

а) символом а1 отмечается вход вершины, следующей за начальной, а также вход конечной вершины;

б) входы всех вершин, следующих за операторными, должны быть отмечены;

в) если вход вершины помечается, то только одним символом;

г) входы различных вершин отмечаются различными символами, за исключением конечной.

При синтезе автомата Мура отмечаются не входы вершин, следующих за операторными, а сами операторные вершины (рис. 4.3).

Переход от отметки аm к отметке as в направлении ориентации дуг ГСА проходит через вершины ГСА. Записывая содержимое вершин, лежащих на пути от аm к as , каждому пути можно поставить в соответствие слово

аmm1mrYtas ,

где =х, если путь проходит через выход «1» условной вершины, и=х – если путь проходит через выход «0»;

Y – множество микроопераций, указанных в операторной вершине, через которую проходит путь;

r – число условных вершин на пути (am , as ).

Если путь не проходит через операторные вершины, то он обозначается так

аmm1mras

Все пути указанного вида определяют возможные переходы между состояниями am и as автомата Мили.

Для автомата Мура определяются пути второго вида.

      1. Построение графа автомата.

Состояниям а1, а2, …, аm ставятся в соответствие вершины графа, а путям от аm к as - дуги, направленные из вершины аm к вершине as и отмеченные наборами значений входных и выходных сигналов m1mr и Yt . В результате получаем граф автомата Мили.

При построении графа автомата Мура дуги, определяющие пути перехода, отличаются наборами входных сигналов m1mr , а выходные сигналы в каждом состоянии независимо от того, откуда произошел переход, соответствуют символам этих состояний и записываются в вершины графа.

Граф автомата Мура для операции сдвига приведён на рис. 4.5 Приложения 4.

При использовании графов для заданий автомата с большим числом состояний и переходов теряется наглядность, поэтому при выполнении курсовой работы удобнее пользоваться структурной таблицей автомата.

Структурная таблица автомата является расширением таблицы переходов за счёт появления трёх новых столбцов: коды исходного состояния am , коды состояний перехода ( as ) и функции возбуждения, вырабатываемые на переходе (am , as).

Кодировать состояния автомата можно двоичными кодами минимальной длины:

N  ] log2 M [,

где N – длина кода состояния (число триггеров);

M – число состояний автомата.

Каждому состоянию автомата ставиться в соответствие код, отличный от кодов всех других состояний.

Для рассматриваемого примера

N  ] log2 3 [ = 2.

Тип триггеров определяется самостоятельно из серии интегральных элементов, выбранных при синтезе автомата. Рекомендуется для борьбы с гонками при кодировании состояний автомата использовать двухтактные триггера [ I ].

Для упрощения комбинационной схемы автомата кодирование состояний при синтезе на D – триггере целесообразно выполнять по следующему алгоритму:

а) каждому состоянию автомата am ставится в соответствие число km равное числу переходов в состояние am;

б) числа k1, …, km упорядочиваются по умолчанию;

в) состояние ai с наибольшим ki кодируется набором 00…0;

г) следующие N состояний ( N – число элементов памяти), упорядоченные в п. б) , кодируются наборами 00…01, 00…10, …, 10…00;

д) для кодирования следующих N из ( M – N – I ) состояний используются все коды, содержащие две единицы, затем три и т.д., пока все состояния не будут закодированы.

Так как в рассматриваемом примере числа Кi для всех состояний одинаковы, то закодируем состояния так: а1 -00;а2 -01; а3 -10 (таблица 4.1 Приложения 4).

При использовании в качестве элемента памятиD-триггера построение функций возбуждения F (am , as) выполняется достаточно просто, поскольку таблица функций возбуждения полностью совпадает с таблицей переходов автомата. Код состояния, в которое осуществляется переход, совпадает с сигналами, потупившими на входы элементов памяти (ij). Поэтому единичное значение функции возбуждения Di триггера i (i=2) ставится в той строке структурной таблицы, которая соответствует переходу этого триггера в единичное состояние.

Кодирование состояний для других типов триггеров моно производить произвольным образом, т.к. алгоритмы оптимального кодирования для них довольно сложны.

По структурной таблице записываются аналитические выражения для функций выходов и функций возбуждения.

Для рассматриваемого примера функции выходов и возбуждения записываются так:

y2 = 12  12 ;

y1 = t1 t2;

y3 = 12 ;

D1 = B x1x2t1 t2  x1x2 t1t2  x1x2t1t2 ;

D2 = Bx1x2t1t2  x1x2t1t2  x1x2t1 t2 ;

Минимизация функций возбуждения и выходов должна обеспечить минимальное число корпусов интегральных схем, необходимых для реализации схемы автомата.

Чаще всего минимизацию производят по картам Карно (если число переменных не превышает 4) или методом Квайна-Мак-Класки, а также с помощью законов поглощения и склеивания для получения выражений, удобных для реализации на имеющихся логических элементах.

При наличии одинаковых выражений в различных функциях число корпусов можно сократить за счёт однократной схемной реализации их в автомате.

Работа элементов памяти автомата тактируется от генератора синхронизирующих импульсов. Кроме того, в автомате необходимо предусмотреть ещё дополнительный вход для сигнала «Установка начального состояния автомата». Считается, что синхроимпульсы и сигнал «Пуск» начинают поступать на автомат после подачи сигнала «Установка начального состояния». Синтез микропрограммного автомата заканчивается построением схемы автомата на выбранном базисе логических элементов.