Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
31
Добавлен:
02.02.2015
Размер:
646.14 Кб
Скачать

9.3. Синтез автомата Мура

Розглянемо синтез автомата Мура на прикладі 2.

Приклад 2.

Побудувати операційний автомат, який знаходить максимальний парний елемент у кожному стовпці масиву (A[n,n]). Автомат реалізувати за схемою алгоритму у вигляді автомата Мура. Функціональну схему автомату синтезувати на елементах І, АБО, НІ та RS-тригерах, доповнюючи її необхідними за алгоритмом функціональними автоматами.

9.3.1. Побудова змістовної схеми алгоритму. Будуємо змістовну схему алгоритму (рис. 9.10).

Рисунок 9.10 – Змістовна схема алгоритму

9.3.2. Побудова таблиці кодування операційних та умовних вершин

Кожна вершина, чи то операційна, чи то умовна, кодується. Причому, якщо операційна або умовна вершини повторюються, то кожній з них далі присвоюється її попередній код. У даній змістовній схемі алгоритму (рис. 9.11) вершини, які повторюються, відсутні. Кодування вершин наведене у табл. 9.5.

Таблиця 9.5 – Таблиця кодування вершин

Код

Зміст

Примітка

mY1

j = 1

mY2

i = 1

mY3

max = 0

mY4

A[i,j]

Введення A[i,j]

mY5

max = A[i,j]

mY6

i = i + 1

mY7

max

Виведення max

mY8

j = j + 1

X1

A[i,j] mod 2 = 0

так – 1, ні – 0

X2

A[i,j] > max

так – 1, ні – 0

X3

i n

так – 1, ні – 0

X4

j m

так – 1, ні – 0

9.3.3. Побудова закодованої мікроопераційної схеми алгоритму.Закодована мікроопераційна схема алгоритму (рис. 9.12) будується на основі змістовної схеми алгоритму (рис. 9.11) і таблиці кодування операційних та умовних вершин (табл. 9.5), шляхом заміни вмісту блоків змістовної схеми алгоритму на відповідні коди мікрооперацій.

Рисунок 9.11– Закодована мікроопераційна схема

алгоритму

9.3.4. Побудова таблиці кодування операційних та умовних вершин. Складаємо таблицю кодування мікрокоманд (табл. 9.6). Кожна мікрокоманда кодується своєю мікрооперацією, але мікрооперації, які виконуються одна за одною послідовно на протязі одного такту, об’єднуються в одну мікрокоманду. У даному прикладі по дві мікрооперації (mY2 і mY3) та (mY7 і mY8) виконуються одна за одною послідовно. Тому вони об’єднані в одну мікрокоманду, відповідно Y2 і Y5.

Таблиця 9.6 – Таблиця кодування мікрокоманд

Мікрокоманда

Мікрооперація

Y1

mY1

Y2

mY2, mY3

Y3

mY4

Y4

mY5

Y5

mY6

Y6

mY7, mY8

Соседние файлы в папке Пособие