Синтез конечного автомата Мили. Программная реализация автомата

Страницы работы

Фрагмент текста работы

Министерство общего и профессионального образования Российской Федерации

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра РП РПУ

Проектирование элементов ЭВУ

Пояснительная записка к курсовой работе по дисциплине “Цифровые устройства и микропроцессоры”

Проверил:                                    Составил:

  преподаватель                              студент гр.         РТ5-03

_____________  (Сажнев А.М.)   _____________  Березовский П.А.

(подпись)                                        (подпись)

_____________                              _____________

(дата)                                              (дата)

Новосибирск

1998

Содержание курсовой работы

1.  Введение

2.  Задание

3.  Синтез конечного автомата Мили

a.  Построение графа конечного автомата

b.  Определение количество элементов памяти

c.  Составление таблицы переходов и выходов конечного автомата

d.  Составление таблицы возбуждения элементов памяти

e.  Синтез комбинационной части конечного автомата

f.  Реализация конечного автомата на микросхемах.

g.  Составление полной логической схемы автомата

Программная реализация автомата

Задание на курсовую работу

1  Синтезировать граф конечного автомата Мили

1.1  Построить граф конечного автомата для заданного варианта.

1.2  Определение структурной схемы автомата Мили (тип элемента памяти задан)

1.3  Составить таблицы переходов и выходов конечного автомата.

1.4  Составить таблицу возбуждения элементов памяти.

1.5  Синтезировать комбинационную часть конечного автомата.

1.6  Реализовать конечный автомат на микросхемах одной из серий: К155, К176, К351, К555, К561, К564. Составить полную логическую схему автомата.

2  Программная реализация автомата

2.1  Путем Эквивалентного преобразования исходного автомата Мили в автомат Мура построить граф и таблицу переходов автомата Мура.

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

1.  Синтезировать граф конечного автомата Мили

1.1  Построить граф конечного автомата для  варианта №21.

Имея обобщенный граф автомата с четырьмя внутренними состояниями, составим граф для заданного варианта. Для этого необходимо оставить только необходимые ветви обобщенного графа (рис.1), которые указаны в задании (табл.1).

Вершина графа

a1

a2

a3

a4

Сигнал

Zi

Wj

Zi

Wj

Zi

Wj

Zi

Wj

Номер выходящей из вершины ветви

1234

1234

1234

1234

1234

1234

1234

1234

вариант

Индексы сигналов

21

2004

2002

0100

0300

3000

4000

2410

1230

Табл. 1 Нумерация внутренних состояний

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

Рис. 1 Обобщенный граф автомата

Рис. 2 Граф автомата Мили

За начальное состояние принято состояние а1.

1.2  Определение структурной схемы автомата Мили

Определим недостающие данные структурной схемы автомата:

По заданию в качестве запоминающего устройства нам дан             Т- триггер. Составим структурную схему устройства.

Рис. 3 Структурная схема автомата Мили

 


1.3  Составить таблицы переходов и выходов конечного автомата.

Составим таблицу переходов и выходов по заданному графу.

 

a1

а2

a3

a4

Z1

-

a1

-

а2

Z2

a1

-

-

a4

Z3

-

-

a3

-

Z4

a4

-

-

a1

Табл. 2 таблица переходов d

 

a1

а2

a3

a4

Z1

-

w3

-

w3

Z2

w2

-

-

w1

Z3

-

-

w4

-

Z4

w2

-

-

w2

Табл. 3 таблица выходов l

Q1

Q2

a1

0

0

a2

0

1

a3

1

0

a4

1

1

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

Y1

Y2

w1

0

0

w2

0

1

w3

1

0

w4

1

1

Z1

Z2

z1

0

0

z2

0

1

z3

1

0

z4

1

1

Табл. 4 таблицы кодировки  входного, выходного алфавита и внутренних состояний

Q1Q2

X1X2

00

01

10

11

00

-

00

-

01

01

00

-

-

11

10

-

-

10

-

11

11

-

-

00

С учетом введенных кодов, переведем таблицы выходов и переходов в двоичный алфавит.

Табл. 5 закодированная таблица переходов d

Q1Q2

X1X2

00

01

10

11

00

-

00

-

01

01

00

-

-

11

10

-

-

10

-

11

11

-

-

00

Q1Q2

X1X2

00

01

10

11

00

-

10

-

10

01

01

-

-

00

10

-

-

11

-

11

01

-

-

01

Табл. 6 закодированная таблица выходов l

1.4 Составить таблицу возбуждения элементов памяти

Как уже отмечалось, в нашем автомате используются синхронные Т-триггеры (счетные триггеры). Его таблица истинности представлена в Табл.7. Для составления таблицы возбуждения памяти необходимо так преобразовать таблицу переходов автомата, так чтобы она показывала, какие сигналы необходимо подать на входы триггеров, чтобы перевести триггер в нужное состояние.

Q(t)

T

Q(t+1)

0

0

0

0

1

1

1

1

0

1

0

1

Табл. 7 Таблица переходов синхронного Т-триггера

Составим таблицу возбуждения памяти:

Q1Q2

X1X2

00

01

10

11

00

-

01

-

10

01

00

-

-

00

10

-

-

00

-

11

11

-

-

11

Табл. 8 Таблица возбуждения памяти

1.5  Синтез комбинационной части конечного автомата

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

  (1)

Минимизируем систему уравнений (1) при помощи карт Карно. Каждый бит (0-1) характеризует один триггер, по этому необходимо составить карты Карно для каждого триггера в отдельности (см. табл. 9,10).

Q1Q2

X1X2

00

01

11

10

00

-

0

1

-

01

0

-

0

-

11

1

-

1

-

10

-

-

-

0

Q1Q2

X1X2

00

01

11

10

00

-

1

0

-

01

0

-

0

-

11

1

-

1

-

10

-

-

-

0

Табл. 9 Карта Карно для первого        Табл. 10    Карта Карно для триггера                                        второго триггера

Наименьшая цена будет при минимизации “по единицам”.

    (2)   

По кодированной таблице выходов (табл. 6) составить логические уравнения сигналов на каждом информационном входе (табл. 11, 12).

Q1Q2

X1X2

00

01

11

10

00

-

0

0

-

01

1

-

0

-

11

1

-

1

-

10

-

-

-

1

Q1Q2

X1X2

00

01

11

10

00

-

1

1

-

01

0

-

0

-

11

0

-

0

-

10

-

-

-

1

Табл.  11                                         Табл. 12

Самой компактной будет минимизация по единицам.

 (3)

1.6  Реализовать конечный автомат на микросхемах одной из серий: К155, К176, К351, К555, К561, К564. Составить полную логическую схему автомата.

По логическим уравнениям (1) и (3) составим комбинационную часть в произвольном базисе, т.к., скажем, в базисе И-НЕ получается примерно в два раза больше корпусов.

Реализуем автомат на микросхемах серии К555. Очевидно, что обязательно потребуются 2 триггера, а также логические элементы (И, ИЛИ, НЕ). Составим следующую таблицу.

Название

Логическая функция

Количество элементов в корпусе

Примечание

К555ЛР11

И-ИЛИ-НЕ

1

Номинальная нагрузочная способность, двухактный

К555ЛН1

НЕ

6

-

К555ЛЕ1

3-ИЛИ-НЕ

3

-

К555ТМ2

D-триггер

4

Двойной  D-триггер, с записью информации по переднему фронту

Табл.13  Используемые микросхемы

Ниже приведем условное обозначение элементов:

Рис. 4 Условное обозначение элементов

 a) К555ТМ1 б) К555ЛЕ1 в) К555ЛН1 г) К555ЛР11

Для реализации автомата нам необходимо всего лишь 4 корпуса.

 


Представим полную логическую схему автомата:

Рис. 5 логическая схема автомата

 


2.  Программная реализация автомата

2.1  Путем Эквивалентного преобразования исходного автомата Мили в автомат Мура построить граф и таблицу переходов автомата Мура

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

а) Количество двоичных разрядов, необходимое для кодирования всех входных сигналов:

б) Внутренних состояний (выходных сигналов):

2.  Кодируем автомат:

Состояние входа

Биты кода

0

0

0

1

1

0

1

1

Таблица 14. Коды входных сигналов

Внутреннее состояние

Биты кода

Биты кода

Выходной сигнал автомата Мили

0

0

0

0

1

0

0

1

1

0

0

1

0

1

0

0

1

1

1

1

1

0

0

0

0

1

0

1

0

1

Таблица 15 кодировка автомата

Теперь переведем таблицу переходов и выходов автомата в двоичный алфавит (Табл 16):

-

-

-

-

-

-

-

-

-

-

-

-

Таблица 16 Таблица переходов автомата Мура

3.  Обозначим  внутренне состояния автомата в последующем такте, как   и составляем для них логические уравнения «по единицам». Пусть характерезует  левый бит, - средний, а -правый. Составим ФАЛ (4).

(4)

Минимизирем выражения ,  и  .

a) Минимизируем E1:

1

0

1

0

1

0

1

0

-

-

-

-

0

-

-

0

-

-

0

-

-

-

0

-

б) Минимизируем E2:

0

0

0

0

0

0

0

0

-

-

-

-

1

-

-

0

-

-

1

-

-

-

1

-

в) Минимизируем E3:

1

0

0

0

1

0

0

0

-

-

-

-

1

-

-

1

-

-

0

-

-

-

0

-

4.  Принимаем, что входные выходные сигналы и внутренние состояния

Похожие материалы

Информация о работе