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

4) Граф состояний (Пример)

Граф автомата Мили отличается от графа автомата Мура тем, что его вершины обозначаются одной буквой, а рёбра – двумя, первая из которых обозначает верхний сигнал под действием которого осуществляется переход, выходной сигнал – который вырабатывает автомат при соответствующем переходе; петля на графе соответствует устойчивому состоянию автомата.

По полученному графу состояний составляется таблицы переходов и выходов автомата

При таком способе задания автоматов каждая строка таблицы переходов соответствует определённому состоянию входов автомата. Каждый столбец – внутреннему состоянию. На пересечении столбца аi и строки xk в таблице переходов ставятся состояния в которое автомат переходит из аi под воздействием xk.

Таблица 3 -Таблица переходов (Пример)

 

a0

a1

a2

a3

a4

a5

a6

a7

a8

x0

a0

a1

a0

a3

a4

а5

а6

a7

a0

x1

a1

а2

 

a2

а5

а6

 а2

а8

 

x2

а3

а2

 

а5

а2

 а2

 а7

а2

 

x3

а4

а5

 

a2

а7

 а8

 а2

a2

 

x4

 

a2

 

a2

a2

 а2

 а2

a2

 


Таблица 4 -Таблица выходов

 

y0

y0

y2

y0

y0

Y0

Y0

y0

y1

x0

a0

a1

a0

a3

a4

а5

а6

a7

a0

x1

a1

а2

 

a2

а5

а6

 а2

а8

 

x2

а3

а2

 

а5

а2

 а2

 а7

а2

 

x3

а4

а5

 

a2

а7

 а8

 а2

a2

 

x4

 

a2

 

a2

a2

 а2

 а2

a2

 


Если в таблице переходов не все клетки заполнены, то такой автомат называется не полностью определённым или частичным.

Минимизация числа внутренних состояний.

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

Безразличному состоянию выхода « – » может соответствовать любое значение «Y».

Две последовательности не противоречивы, если в них не содержаться ни одной пары xi yj у которых одному и тому же состоянию входа соответствуют различные состояния выхода.

Два автомата реализующие одни и те же заданные условия работы называются эквивалентными.

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

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

Q=E[logB].

Q – количество элементов памяти.

B – количество внутренних состояний автомата.

E – округлить до ближайшего большего целого.

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

Составим треугольную таблицу, строки и столбцы, которой соответствуют внутренним состояниям автомата. На пересечении строки со столбцом ставится знак «V», если обозначающие строку и столбец состояния эквивалентны или псевдоэквивалентны. Если эти состояния неэквивалентны (т.е. имеют противоречивые выходы), то в этой клетке проставляется знак «Х». В остальных клетках таблицы указываются все внутренние состояния, которые необходимо объединить, чтобы рассматриваемые внутренние состояния могли быть совместимы.

Таблица 5 - Треугольная таблица

a 1

a0a1 a1a2 a3a2 a4a5

 

 

 

 

 

 

 

a2

 

 

 

 

 

 

 

 

a3

a0a3 a1a2 a3a5

a4a2

a 1a3 a2a5 a5a2

 

 

 

 

 

 

a4

a0a4 a1a5 a3a2

a4a7

a 1a4 a2a5 a5a7

 

a3a4 a2a5 a5a2

a2a7

a5

a0a5 a1a6

a3a2

a4a8

a1a5 a2a6

a5a8

 

a3a5 a2a6

a5a2

a2a8

a4a5 a5a6 a7a8

 

 

 

a6

a0a6 a1a2

a3a7

a4a2

  a1a6 a2a7

a5a2

 

 a3a6 a5a7

a4a6 a5a2

a2a7

a7a2

a5a6 a6a2

a2a7

a8a2

 

 

a7

a0a7 a1a8

a3a2

a 4a2

a 1a7 a2a8 a5a2

 

a 3a7 a2a8 a5a2

a4a7 a5a8

a7a2

a5a7 a6a8

a8a2

a6a7 a2a8

a7a2

 

a8

 

 

 

 

 

 

 

 

 

a0

a1

a2

a3

a4

a5

a6

a7

Из треугольной таблицы видно, что наш граф заведомо минимизирован.

Q = E ( log9 ) = 4

Исходя из заведомо минимизированного графа, закодируем внутренние состояния.

Кодирование смежных состояний соседними числами в нашем случае невозможно. Эта возможность ограничена тем, что из имеющихся в наличии двоичных чисел не удается подобрать соседние для всех смежных состояний. И поэтому мы воспользуемся схемным методом устранения состязаний элементов памяти, который заключается в тактировании входных сигналов автомата импульсами определенной длительности. Предполагается, что кроме входных каналов Х0, Х1,…, Хm имеется еще один канал С от генератора синхроимпульсов. Т.о., входным сигналом при переходе автомата из состояния ai в аj является не Хi, a CXi. В таком случае если длительность импульса tc меньше самого короткого пути прохождения тактированного сигнала обратной связи по комбинационной схеме, то к моменту перехода в промежуточное состояние сигнал С равен нулю и, следовательно, СХ=0, что исключает гонки.

Кодируем внутренние состояния с помощью кода Грея:

а0-0000

а1-0001

а2-0011

а3-0010

а4-0110

а5-0111

а6-0101

а7-0100

а8-1100

Cоставим таблицу кодировки внутренних состояний автомата (таблица 4)

Таблица 7 - Таблица кодировки внутренних состояний

Q1

Q2

Q3

Q4

а0

0

0

0

0

а1

0

0

0

1

а2

0

0

1

0

а3

0

0

1

1

а4

0

0

0

0

а5

0

0

0

1

а6

0

0

1

0

а7

0

0

1

1

а8

1

1

0

0


Элементарные автоматы используемые в качестве элементов памяти должны отвечать следующим требованиям:

1)Иметь 2 и более внутренних состояния.

2)Обладать 2 и более различными входными сигналами.

3)Обладать полной системой переходов.

3-е требование говорит о том, что автомат обладает полной системой переходов, если для каждой пары его внутренних состояний найдётся хотя бы один входной сигнал, который переводит автомат из состояния в состояние . Это условие должно соблюдаться при ij, т.к. при i=j. Требования полноты системы переходов фактически означает возможность управления элементом памяти, то есть возможность информации.

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

Для примера рассмотрим реализацию автомата на RS-триггерах. Работа триггера описана в таблице 8

Таблица 8.

(Такты)

Переходы

Выход триггера

t t+1

R

S

0 0

*

0

0 1

0

1

1 0

1

0

1 1

0

*

Перейдем от абстрактной таблицы переходов и выходов к структурным таблицам, в которых, расположим строки и столбцы, так, чтобы соседние клетки отличались значением только одной переменной, получим таблицы переходов и выходов (табл. 9-10). В ячейки ставим кодовые комбинации, соответствующие внутренним состояниям или выходам (из таблиц 3, 4)

Таблица 9 - Кодированная таблица переходов

а0

а1

а2

а3

а4

а5

а6

а7

а8

abc

0000

0001

0011

0010

0110

0111

0101

0100

1100

x0

000

0000

0001

0000

0010

0110

0111

0101

0100

0000

x1

010

0001

0011

-

0011

0111

0101

0011

1100

-

x2

001

0010

0011

-

0111

0011

0011

0100

0011

-

x3

100

0110

0111

-

0011

0100

1100

0011

0011

-

x4

110

-

0011

-

0011

0011

0011

0011

0011

-

Таблица 10. - Кодированная таблица выходов.

а0

а1

а2

а3

а4

а5

а6

а7

а8

Y0

Y0

Y2

Y0

Y0

Y0

Y0

Y0

Y1

abc

00

00

0011

0010

0110

0111

0101

0100

1100

x0

000

00

00

00

00

00

00

00

00

00

x1

010

00

01

-

01

00

00

01

10

-

x2

001

00

01

-

00

01

00

00

01

-

x3

100

00

00

-

01

00

10

01

01

-

x4

110

-

01

-

01

01

01

01

01

-

По структурной таблице переходов (табл. 9) и таблице работы триггера (табл. 8) строим таблицы возбуждения элементов памяти (табл.11-14) Опишем подробней, как это делается:

Берем столбец а0. Смотрим на младшие разряды т.е. на столбец Q (во вертикали сверху вниз): видим (0-0) т.е. состояние устойчивое. Смотрим в табл. 8: в строке (0-0) мы видим (*,0), записываем в рассматриваемую ячейку это значение. Смотрим младшие разряды строк х0 и х1: здесь состояние 0 переходит в состояние 1. Смотрим, что в табл.8 написано в строке (0-1 – (0,1) Записываем результат. И так строим всю таблицу .(Это будет таблица Q1)

Для таблицы Q2 берем второй столбец (считать с младшего разряда). Аналогично первой таблице строим остальные.

Таблица 11 - Для Q1

а0

а1

а2

а3

а4

а5

а6

а7

а8

Q Q Q Q

abc

0000

0001

0011

0010

0110

0111

0101

0100

1100

x0

000

*,0

0,*

1,0

*,0

*,0

0,*

0,*

*,0

*,0

x1

010

0,1

0,*

-

0,1

0,1

0,*

0,*

*,0

-

x2

001

1,0

0,*

-

0,*

0,*

0,*

1,0

0,1

-

x3

100

*,0

0,*

-

0,*

1,0

1,0

0,1

0,*

-

x4

110

-

0,*

-

0,*

0,1

0,1

0,*

0,*

-

Таблица 12 - Для Q2

а0

а1

а2

а3

а4

а5

а6

а7

а8

Q Q Q Q

abc

0000

0001

0011

0010

0110

0111

0101

0100

1100

x0

000

*,0

*,0

1,0

0,*

0,*

0,*

*,0

*,0

*,0

x1

010

*,0

0,1

-

0,*

0,*

1,0

0,1

*,0

-

x2

001

0,1

0,*

-

0,*

0,*

0,1

1,0

0,1

-

x3

100

0,*

0,*

-

1,0

1,0

1,0

0,1

0,*

-

x4

110

-

0,*

-

0,1

0,1

0,1

0,*

0,*

-

Таблица 13 - Для Q3

а0

а1

а2

а3

а4

а5

а6

а7

а8

Q Q Q Q

abc

0000

0001

0011

0010

0110

0111

0101

0100

1100

x0

000

*,0

*,0

*,0

*,0

0,*

0,*

0,*

0,*

1,0

x1

010

*,0

*,0

-

*,0

0,*

0,*

1,0

0, *

-

x2

001

*,0

* ,0

-

0,1

1,0

1,0

0,1

1,0

-

x3

100

0,1

0,1

-

1,0

0,1

0,1

1,0

*,0

-

x4

110

-

1,0

-

*,0

1,0

1,0

*,0

*,0

-

Таблица 14 - Для Q4

а0

а1

а2

а3

а4

а5

а6

а7

а8

Q Q Q Q

abc

0000

0001

0011

0010

0110

0111

0101

0100

1100

x0

000

*,0

*,0

*,0

*,0

*,0

*,0

*,0

*,0

1,0

x1

010

*,0

*,0

-

*,0

*,0

*,0

*,0

0,1

-

x2

001

*,0

*,0

-

*,0

*,0

*,0

*,0

1,0

-

x3

100

*,0

*,0

-

*,0

*,0

0,1

*,0

*,0

-

x4

110

-

*,0

-

*,0

*,0

1,0

*,0

*,0

-

На основе таблиц 11-14 составлю карты Вейче-Карно (на каждый вход).

Для составления карт необходимо входные сигналы и внутренние состояния дополнить по коду Грея. Далее выполняем минимизацию функций, представленных картами Вейче-Карно. В группы объединяем клетки, заполненные 1, т.к. это приведет к наиболее простому результату. Из выбранных клеток формируем наибольшие группы. Для выбранных групп выписываем соответствующие члены нормальной формы с учетом выполненных сокращений. (Таблицы 15-22)

Таблица 15.

Для Q1-R

а0

а1

а2

а3

а4

а5

а6

а7

а8

abc

0000

0001

0011

0010

0110

0111

0101

0100

1100

1101

1111

1110

1010

1011

1001

1000

x0

000

*

0

1

*

*

0

0

*

*

-

-

-

-

-

-

-

x1

010

0

0

-

0

0

0

0

*

-

-

-

-

-

-

-

-

x4

110

-

0

-

0

0

0

0

0

-

-

-

-

-

-

-

-

x3

100

*

0

-

0

1

1

0

0

-

-

-

-

-

-

-

-

101

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

111

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

011

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

x2

001

1

0

-

0

0

0

1

0

-

-

-

-

-

-

-

-

R1=

Таблица 16.

Для Q1-S

а0

а1

а2

а3

а4

а5

а6

а7

а8

abc

0000

0001

0011

0010

0110

0111

0101

0100

1100

1101

1111

1110

1010

1011

1001

1000

x0

000

0

*

0

0

0

*

*

0

0

-

-

-

-

-

-

-

x1

010

1

*

-

1

1

*

*

0

-

-

-

-

-

-

-

-

x4

110

-

*

-

*

1

1

*

*

-

-

-

-

-

-

-

-

x3

100

0

*

-

*

0

0

1

*

-

-

-

-

-

-

-

-

101

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

111

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

011

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

x2

001

0

*

-

*

*

*

0

1

-

-

-

-

-

-

-

-

Таблица 17.

Для Q2-R

а0

а1

а2

а3

а4

а5

а6

а7

а8

abc

0000

0001

0011

0010

0110

0111

0101

0100

1100

1101

1111

1110

1010

1011

1001

1000

x0

000

*

*

1

0

0

0

*

*

*

-

-

-

-

-

-

-

x1

010

*

0

-

0

0

1

0

*

-

-

-

-

-

-

-

-

x4

110

-

0

-

0

0

0

0

0

-

-

-

-

-

-

-

-

x3

100

0

0

-

1

1

1

0

0

-

-

-

-

-

-

-

-

101

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

111

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

011

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

x2

001

0

0

-

0

0

0

1

0

-

-

-

-

-

-

-

-

Таблица 18.

Для Q2-S

а0

а1

а2

а3

а4

а5

а6

а7

а8

abc

0000

0001

0011

0010

0110

0111

0101

0100

1100

1101

1111

1110

1010

1011

1001

1000

x0

000

0

0

0

*

*

*

0

0

0

-

-

-

-

-

-

-

x1

010

0

1

-

*

*

0

1

0

-

-

-

-

-

-

-

-

x4

110

-

*

-

1

1

1

*

*

-

-

-

-

-

-

-

-

x3

100

*

*

-

0

0

0

1

*

-

-

-

-

-

-

-

-

101

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

111

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

011

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

x2

001

1

*

-

*

*

1

0

1

-

-

-

-

-

-

-

-

Таблица 19.

Для Q3-R

а0

а1

а2

а3

а4

а5

а6

а7

а8

abc

0000

0001

0011

0010

0110

0111

0101

0100

1100

1101

1111

1110

1010

1011

1001

1000

x0

000

*

*

*

*

0

0

0

0

1

-

-

-

-

-

-

-

x1

010

*

*

-

*

0

0

1

0

-

-

-

-

-

-

-

-

x4

110

-

1

-

*

1

1

*

*

-

-

-

-

-

-

-

-

x3

100

0

0

-

1

0

0

1

*

-

-

-

-

-

-

-

-

101

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

111

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

011

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

x2

001

*

*

-

0

1

1

0

1

-

-

-

-

-

-

-

-

Таблица 20.

Для Q3-S

а0

а1

а2

а3

а4

а5

а6

а7

а8

abc

0000

0001

0011

0010

0110

0111

0101

0100

1100

1101

1111

1110

1010

1011

1001

1000

x0

000

0

0

0

0

*

*

*

*

0

-

-

-

-

-

-

-

x1

010

0

0

-

0

*

*

0

*

-

-

-

-

-

-

-

-

x4

110

-

0

-

0

0

0

0

0

-

-

-

-

-

-

-

-

x3

100

1

1

-

0

1

1

0

0

-

-

-

-

-

-

-

-

101

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

111

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

011

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

X2

001

0

0

-

1

0

0

1

0

-

-

-

-

-

-

-

-

Таблица 21.

Для Q4-R

а0

а1

а2

а3

а4

а5

а6

а7

а8

abc

0000

0001

0011

0010

0110

0111

0101

0100

1100

1101

1111

1110

1010

1011

1001

1000

X0

000

*

*

*

*

*

*

*

*

1

-

-

-

-

-

-

-

X1

010

*

*

-

*

*

*

*

0

-

-

-

-

-

-

-

-

X4

110

-

*

-

*

*

1

*

*

-

-

-

-

-

-

-

-

X3

100

*

*

-

*

*

0

*

*

-

-

-

-

-

-

-

-

101

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

111

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

011

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

X2

001

*

*

-

*

*

*

*

1

-

-

-

-

-

-

-

-

Таблица 22.Для Q4-S

а0

а1

а2

а3

а4

а5

а6

а7

а8

abc

0000

0001

0011

0010

0110

0111

0101

0100

1100

1101

1111

1110

1010

1011

1001

1000

x0

000

0

0

0

0

0

0

0

0

0

-

-

-

-

-

-

-

x1

010

0

0

-

0

0

0

0

1

-

-

-

-

-

-

-

-

x4

110

-

0

-

0

0

0

0

0

-

-

-

-

-

-

-

-

x3

100

0

0

-

0

0

1

0

0

-

-

-

-

-

-

-

-

101

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

111

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

011

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

x2

001

0

0

-

0

0

0

0

0

-

-

-

-

-

-

-

-

S4=

По структурной таблице выходов (табл. 10) строим таблицы возбуждения выходов (табл.23-24).

Для С1.

а0

а1

а2

а3

а4

а5

а6

а7

а8

abc

0000

0001

0011

0010

0110

0111

0101

0100

1100

1101

1111

1110

1010

1011

1001

1000

x0

000

0

0

0

0

0

0

0

0

0

-

-

-

-

-

-

-

x1

010

0

0

-

0

0

0

0

1

-

-

-

-

-

-

-

-

x4

110

-

0

-

0

0

0

0

0

-

-

-

-

-

-

-

-

x3

100

0

0

-

0

0

1

0

0

-

-

-

-

-

-

-

-

101

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

111

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

011

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

x2

001

0

0

-

0

0

0

0

0

-

-

-

-

-

-

-

-

С1= ;

Для С2.

а0

а1

а2

а3

а4

а5

а6

а7

а8

abc

0000

0001

0011

0010

0110

0111

0101

0100

1100

1101

1111

1110

1010

1011

1001

1000

x0

000

0

0

0

0

0

0

0

0

0

-

-

-

-

-

-

-

x1

010

0

1

-

1

0

0

1

0

-

-

-

-

-

-

-

-

x4

110

-

1

-

1

1

1

1

1

-

-

-

-

-

-

-

-

x3

100

0

0

-

1

0

0

1

1

-

-

-

-

-

-

-

-

101

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

111

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

011

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

x2

001

0

1

-

0

1

0

0

1

-

-

-

-

-

-

-

-

С2=

Теперь по полученным уравнениям необходимо построить функциональную схему.

Функции возбуждения триггеров получаем из табл.15-22 с применением правила де Моргана (Что бы перейти на логику И-НЕ):

R1=

R 1=

S 1=

S 1=

R 2=

R 2=

S 2=

S 2=

R 3=

R 3=

S 3=

S 3=

R 4=

R 4=

S 4=

S4=

С 1= ;

С 1= ;

С 2=

С 2=

Функциональная схема устройства реализующего автомат, реализованная в функционально полном базисе логических элементов И-НЕ по уравнениям , приводится на рисунке (формат А4-А3)