Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АВТОМАТ.doc
Скачиваний:
9
Добавлен:
30.04.2019
Размер:
1.1 Mб
Скачать

Самарский Государственный Технический Университет

Кафедра «Вычислительная техника»

Проектирование цифровых управляющих автоматов.

Методические указания

Самара 2005

Введение.

Микропрограммный автомат (МПА) - конечный автомат, обеспечивающий выполнение микропрограммы (МП) операционным устройством (ОУ), состоящим из операционного и управляющего автоматов (ОА и УА).

Микропрограмма описывает алгоритм выполнение какой-либо сложной операции в терминах микроопераций (МО).

К микрооперациям относятся простейшие действия, выполняемые элементами операционного автомата (инверсия слова, сложение двух слов, сдвиг влево или вправо). МП наглядно представляется в виде ГСА, в вершинах которой записываются микрооперации или логические условия. Идентификаторами этих операций, условий является обозначения элементов операционных автоматов.

Например:

RA - регистр A.

RA[0] - нулевой разряд регистра A.

СТ - содержимое счетчика и т.д.

В микрооперациях возможны следующие действия над переменными.

Присваивание: RA := A

RA := L1(RA).0 - сдвиг влево на 1 разряд

RA := 0.R1(RA) - сдвиг вправо на 1 разряд и т.д.

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

К аждая МО в операционном автомате инициируется микрокомандой, которую вырабатывает управляющий автомат в зависимости от значений логических условий. По МП может быть построена ГСА управляющего автомата. По топологии ГСА УА совпадает с МП ОА. Отличаем является дополнительная условная вершина в начале ГСА («Пуск автомата») и дополнительная операторная – «операция выполнена».

В операционных вершинах ГСА УА записываются Yi - микрокоманды, а в условных Xi - логические условия.

На практике наибольшее распространение получили автоматы двух типов: Мили и Мура.

Различие автоматов состоит в том, что выходная буква Wt автомата Мили зависит не только от его состояния am, но и от входной буквы zt. У автомата Мура выходная буква зависит только от am.

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

1. Синтез микропрограммных автоматов (мпа) с жесткой логикой.

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

1.1. Синтез автомата Мили по гса.

Порядок синтеза автомата рассмотрим на примере автомата заданного ГСА рис.1.

1) Разметка состояний автомата по гса.

Состояние:

a1 – начальное (оно же конечное) состояние, отмечается на входе вершины, следующей за начальной и на входе вершины «конец».

а2, а3,... - входы всех вершин, следующих за операторами.

Микрокоманда y6 вырабатывается УА при завершении его работы по ГСА. y6 — соответствует событию «операция выполнена». Искусственно введем y6 при любых переходах в начальное (конечное) состояние а0.

При разметке состояний автомата Мили можно использовать так называемые узлы . Их введение в ГСА, как правило, сокращает количество переходов в автомате Мили, упрощает функции переходов и выходов, а также — схему автомата. Использование узлов показано на примере в п. 1.2.

Рис. 1. Размеченная ГСА автомата Мили.

2) Прямая таблица переходов.

Прямая таблица переходов строится по размеченной ГСА (рис.1). В ней указываются все возможные пути переходов из состояния аm в состояние аs, условия при которых переход из аm в аs, происходит по данному пути (X(am,as)), микрокоманда (Y(am,as)), вырабатывается автоматом на данном переходе.

Таблица 1.

am

as

X(am,as)

Y(am,as)

1

a0

a0

y6

2

a1

y1y4y5

3

a2

y1y2y3

4

a3

y1y2y5

5

a3

y3y4y5

6

a1

a1

y1y4y5

7

a2

y1y2y3

8

a3

y1y2y5

9

a3

y3y4y5

10

a2

a3

y3y4y5

11

a3

y1y2y5

12

a3

a0

y6

13

a3

y3y4y5

14

a3

y1y2y5

3) Кодирование состояний автомата.

УА с жесткой логикой имеет память состояний, которая обычно выполнена на D- или RS- триггерах, синхронизируемых фронтом. Каждое состояние кодируется двоичным числом. Минимальное количество триггеров для памяти состояний должно быть больше или равно log2 (количество состояний автомата). В данном примере |А| - количество состояний автомата = 4, поэтому число элементов памяти = 2. Закодируем состояния автомата:

k(a0)=11

k(a1)=10

k(a2)=01

k(a3)=00