Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методич_Курс_Контр_А4.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
943.62 Кб
Скачать

Методические указания синтез автомата с памятью общие положения

Абстрактным конечным автоматом Мили называется ма­тематическая модель, поведение которой описывается урав­нениями:

S(t+1)=δ(s(t), x(t));

Y(t)=λ(s(t), x(t));

S(0)=s1,

где s(t)S, x(t)X, y(t)Y, t{0, 1, 2, . . .} (t — дискретное автоматное время; S X, Y—алфавиты (конечные множества) состояний, входных сигналов и выходных сигналов соответственно); s(t), x(t), y(t)—соответственно состояние, входной сигнал и выходной сигнал автомата в момент времени t; s1 — начальное состояние автомата; δ — функция переходов автомата; λ — функция выходов автомата.

Для автоматов Мура функция выходов имеет более простой вид:

Y(t)= λ(s((t))

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

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

Состояния автомата реализуются с помощью элементов памяти. Если требуемое число состояний синтезируемого автомата равно M, а число состояний элемента памяти θ, то требуется

N=] logθ M [

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

N=]log2M[.

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

МИНИМИЗАЦИЯ АБСТРАКТНЫХ АВТОМАТОВ

Рассмотрим минимизацию автоматов Мили. Сначала выявим тождественные состояния автомата и в таблицах переходов и выходов оставим только по одному представителю из каждого класса тождественных состояний. Два состояния автомата называются тождественными, если значения функций переходов и выходов для этих состояний совпадают при всех значениях входных сигналов. Затем выявим 1-эквивалентные состояния. Два состояния автомата называются 1-эквивалентными, если значения функций выходов для этих состояний совпадают при всех значениях входных сигналов. Объединение всех 1-эквивалентных состояний автомата образует 1-класс эквивалентности.

Два 1-эквивалентных состояния автомата называются 2-эквивалентными, если значения функции переходов для этих состояний принадлежат общему 1-классу для каждого значения входного сигнала; i-эквивалентные состояния и i-классы определяются по индукции. Следует обратить внимание на то, что необходимым условием (i+1)-эквивалентности состояний автомата является их i-эквивалентность (i=1,2, 3, ...).

Если разбиение на (i+1) -классы совпадает с разбиением на i -классы, то оно одновременно является разбиением на ∞-классы. Оставляя в каждом ∞-классе по одному представителю, получаем минимальное число состояний автомата Мили.

Пример. Автомат Мили задан таблицами переходов и выходов (табл. 6 а и б). Состояния s1 и s8 тождественны, поэтому заменяем везде s8 на s1 и столбец для s8 отбрасываем. Из табл. 6 б находим 1-классы: π1 = { А 1 А 2}, где А 1=

= {Sl, S2, S4, S5}, A2={S3, S 6, S 7}.

Таблица 6а

Входные символы

Состояния

Sl

S2

S3

S4

S5

S6

S7

S8

X1

S2

S5

S1

S5

S4

S8

S1

S2

X2

S1

S6

S2

S7

S6

S5

S4

S1

Таблица 6б

Входные символы

Состояния

S1

S2

S3

S4

S5

S6

S7

S8

X1

Y2

Y2

Y1

Y2

Y2

Y1

Y1

Y2

X2

Y1

Y1

Y2

Y1

Y1

Y2

Y2

Y1

1-классы

А1

А 1

А 2

А 1

А 1

А 2

А 2

-

Таблица 7

Входные символы

1-классы

А 1

А 2

Sl

S2

S4

S5

S3

S6

S7

X1

А1

А 1

А 1

А1

А1

А 1

А 1

X2

А 1

А 2

А 2

А 2

А 1

А 1

А 1

2-классы

B1

B 2

B 2

B 2

B 3

B 3

B 3

Таблица 8

Входные символы

2-классы

B1

B 2

B 3

Sl

S2

S4

S5

S3

S6

S7

X1

B 2

B 2

B 2

B 2

B 1

B 1

B 1

X2

B 1

B 3

B 3

B 3

B 2

B 2

B 2

3-классы

C1

C 2

C 2

C 2

C 3

C 3

C 3

С помощью табл. 7 находим разбиением на 2-классы: π2 = { B1 B2 B3 }где B1={ Sl }, B2 = {s2, s4, s5}, B3 = {s3, s6, s7}.

Далее с помощью табл. 8 определяем разбиением на 3-классы: π3 = {С1 С2, С3}, причем оказывается, что С1 = B1, С2 = B2 и С3 = B3,, т. е. мы получим ∞-классы, которым соответствует автомат Мили, описываемый табл. 9, а и б. Граф минимизированного автомата приведен на рис. 7.

Рис. 7.

СТРУКТУРНЫЙ СИНТЕЗ КОНЕЧНЫХ АВТОМАТОВ

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

Функции переходов элементарных двоичных автоматов Мура, которые будут использоваться при синтезе конечного автомата, приведены в табл. 10, а, б и в — входной двоичный сигнал автомата, v — выходной двоичный сигнал, совпадающий с состоянием автомата).

Таблица 9а

Входные символы

Состояния

Sl

S2

S3

X1

S2

S2

S1

X2

Sl

S3

S2

Таблица 9б

Входные символы

Состояния

Sl

S2

S3

X1

Y2

Y2

Y1

X2

Y1

Y1

Y2

Таблица 10а

и

v

0

1

0

0

0

1

1

1

Таблица 10б

и

v

0

1

0

0

1

1

1

0

Табл. 10 а соответствует элементу задержки, осуществляющему задержку входного сигнала на один такт. Элемент задержки может быть выполнен в виде D-триггера. Табл. 10 б соответствует триггеру (Т-триггеру) со счетным входом.

Канонический метод структурного синтеза конечных автоматов сводится к синтезу 'комбинационных схем, реализующих логические функции возбуждения элементов памяти и логические функции структурного представления выхода автомата. На рис. 8 приведены обобщенные структурные схемы конечных автоматов на элементах задержки, триггерах со счетным входом и триггерах с раздельными входами. Для обеспечения устойчивости работы автоматов в этих схемах используется удвоение памяти (рис. 9) и синхронизация работы автомата.

На первом этапе структурного синтеза конечного автомата осуществляется двоичное кодирование алфавитов состояний, входных и выходных символов автомата; на втором — синтез комбинационной части автомата, обеспечивающей получение требуемых функций переходов и выходов. Кодирование состояний синхронного автомата влияет только на сложность комбинационной части автомата.

Пример. Осуществим структурный синтез минимизированного абстрактного автомата Мили, полученного в предыдущем примере.

Разрядность кода входного символа равна ]log22[=l, разрядность кода выходного символа — ]log22[=l, число элементов памяти ]log2 3 [=2.

Закодируем входные и выходные символы и состояния автомата так, как показано в табл. 11 а, и б. Используя эти коды, построим закодированные таблицы переходов и выходов структурного автомата (табл. 12, а, б). Их удобно строить в форме карт Карно Вейча.

Табл. 10 а соответствует элементу задержки, осуществляющему задержку входного сигнала на один такт. Элемент задержки может быть выполнен в виде D-триггера. Табл. 10 б соответствует триггеру (Т-триггеру) со счетным входом.

Канонический метод структурного синтеза конечных автоматов сводится к синтезу комбинационных схем, реализующих логические функции возбуждения элементов памяти и логические функции структурного представления выхода автомата. На рис. 8 приведены обобщенные структурные схемы конечных автоматов на элементах задержки, триггерах со счетным входом и триггерах с раздельными входами. Для обеспечения устойчивости работы автоматов в этих схемах используется удвоение памяти (рис. 9) и синхронизация работы автомата.

На первом этапе структурного синтеза конечного

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

Пример. Осуществим структурный синтез минимизированного абстрактного автомата Мили, полученного в предыдущем примере.

Разрядность кода входного символа равна ]log22[=l, разрядность кода выходного символа — ]log22[=l, число элементов памяти ]log2 3 [=2.

Закодируем входные и выходные символы и состояния автомата так, как показано в табл. 11 а, и б. Используя эти коды, построим закодированные таблицы переходов и выходов структурного автомата (табл. 12, а, б). Их удобно строить в форме карт Карно Вейча.

в ) б) а)

Р ис. 8

Рис. 9

Таблица 11а

Входной символ

Двоичный код z

X1

0

X2

1

Таблица 11б

Выходной символ

Двоичный код w

Y1

0

Y2

1

Функцию выхода w строим по табл. 12 б:

w = zv1 V zv1

Таблица 12а.

Входной ход (z)

Код состояния (v1 v2)

00

01

11

10

0

01

01

--

01

1

00

10

--

01

Таблица 12б.

Входной ход (z)

Код состояния (v1 v2)

00

01

11

10

0

1

1

-

0

1

0

0

-

1

Если в качестве элементов памяти использовать элементы задержки (см. функцию переходов в табл. 10 а), то функция возбуждения и1и2 совпадает с табл. 12 а. Если в качестве элементов памяти использовать триггеры со счетным входом, то при построении таблицы возбуждения элементов памяти необходимо учитывать, что сигнал 1 подается на вход счетного триггера тогда и только тогда, когда необходимо изменить его состояние (перейти из состояния 0 в состояние 1 или наоборот).

Предположим, что структурный автомат, рассмотренный выше, находится в состоянии v1 v2 = 00. При подаче входного сигнала z = 0 он должен перейти в состояние 01. В соответствии с табл. 10 6 на вход и1 надо подать 0, а на вход и2 — 1, т. е. и1и2 = 01

Пусть исходное состояние автомата v1 v2 = 01, входной сигнал z =1. Тогда автомат должен перейти в состояние 10. Для этого на оба счетных триггера надо подать 1, т. е. и1и2 = 11, и т. д. Результирующие значения кодов возбуждения и1и2 приведены в табл. 13.

Таблица 13

Входной код (z)

Код состояния (v1 v2)

00

01

11

10

0

01

00

--

10

1

00

11

--

11

Из табл. 13 находим функции возбуждения для Т-триггеров:

и1 = v1\/ z v2,

и2= zv1 v2\/ zv2 \/ zv1.

16