Добавил:
Студент, если у тебя есть завалявшиеся работы, то не стесняйся, загрузи их на СтудентФайлс! Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы / Tdu_6

.pdf
Скачиваний:
10
Добавлен:
10.12.2021
Размер:
823.96 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ»

Кафедра «Автоматика и телемеханика на железных дорогах»

СИНТЕЗ СИНХРОННЫХ АВТОМАТОВ ПО ЗАДАННЫМ ТАБЛИЦАМ ПЕРЕХОДОВ

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

к практическому занятию № 6

по дисциплине

«Теория дискретных устройств»

САНКТ-ПЕТЕРБУРГ

ПГУПС

2013

1

Цель работы

Работа посвящена изучению метода синтеза синхронных конечных автоматов, заданных таблицами переходов и выходов.

1 Основные понятия

1.1 Структура синхронных автоматов

Синхронные конечные автоматы представляют собой многотактные схемы, в которых критические состязания исключаются за счет синхронизации внешних и внутренних сигналов [1].

Особенностью синхронных автоматов по сравнению с асинхронными является наличие тактовых генераторов, определяющих дискретные промежутки времени переключения автомата – такты его работы. Рассмотрим схему синхронного автомата, приведенную на рис. 1. В ней выделяется четыре функциональных блока:

1.БП – блок памяти – содержит элементы памяти.

2.ЛП – логический преобразователь – вычисляет функции управления триггерами.

3.ВП – выходной преобразователь – вычисляет выходные функции.

4.СС – схема синхронизации.

В качестве элементов памяти в синхронном автомате могут быть использованы JK-, T- и RS-триггеры. В данной практической работе применяется синхронный RS-триггер (рис. 2). Он имеет три входа и два выхода.

Временная диаграмма работы триггера показана на рис. 3. Сигнал 1 на входе S переключает триггер в состояние «1», сигнал 1 на входе R – в состояние «0». Вход C является входом синхронизации. Если триггер

находится в состоянии «0», то значение сигналов y y 01, если триггер

находится в состоянии «1» – y y 10. Когда сигналы SR = 00, триггер не

изменяет своего состояния. Значения SR = 11 являются запрещенными, так как состояние триггера при этом не определено. Как следует из рис. 3, сигналы S и R являются асинхронными, то есть могут изменяться в произ-

вольный момент времени, сигналы y и y являются синхронными, так как

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

В качестве схемы синхронизации в блоке СС используются схемы, представленные на рис. 4.

2

 

c1

 

 

 

c2

 

x1(t) x2(t)

xn(t)

 

СС

 

ЛП

t

 

БП

ВП

 

x1

x1(t)

 

YS1

S

T

y t 1

 

 

x2(t)

 

 

 

1

 

x2

 

 

 

 

 

 

 

 

 

 

 

C

 

 

 

 

 

 

 

t

 

 

 

 

 

 

YR1

R

 

y1 t 1

 

 

xn(t)

 

 

 

 

 

xn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y1 t 1

YS 2

t

S

T

y2 t 1

z1(t)

 

 

 

 

 

C

 

 

z2(t)

 

y2 t 1

 

t

 

 

 

 

YR 2

R

 

y2 t 1

 

 

 

 

 

 

 

zq(t)

 

 

 

 

 

 

 

 

 

yk t 1

YSk t

S

T

yk t 1

 

 

YRk t

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R

yk t 1

 

 

 

 

 

 

 

 

 

Рис. 1

Структурная схема синхронного автомата

 

 

 

 

S

 

T

y

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

 

 

 

 

 

 

R

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2

RS-триггер

 

 

Рассмотрим работу синхронного автомата (см. рис. 1). Имеются две последовательности импульсов синхронизации с1 и с2 (рис. 5). Они вырабатываются специальным тактовым генератором синхроимпульсов. Время считается дискретным, то есть делится на такты длительностью t. Начало

иконец такта определяются передним фронтом синхроимпульса с1.

Вмомент времени ti по переднему фронту с1 (с1 = 1) срабатывают схемы синхронизации в блоке СС и на вход ЛП одновременно поступают

входные сигналы x(t) и сигналы по обратной связи y(t–1). В ЛП вычисляются значения функций управления триггерами YS(t) и YR(t). Сигналы YS(t) и YR(t) появляются на выходе ЛП не одновременно, поскольку проходят через разное количество элементов. Для примера на рис. 6 приводится возможная структура ЛП с двумя выходами y1 и y2. Сигнал y2 появляется позже, чем сигнал y1.

3

 

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

R

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

Y

0

 

 

 

 

1

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

Рис. 3

Временная диаграмма работы RS-триггера

c1

x

1

S

T

 

 

x t

C

 

 

 

 

 

 

 

 

R

 

 

 

x t

 

 

 

 

 

 

 

 

 

 

Рис. 4

Схемное включение триггера

ti

 

ti+1

ti+2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

t

c1

c2

Δτ

 

Рис. 5 Синхронизирующие импульсы

4

1

1

x

 

1

1

 

y1

1

y2

 

Рис. 6 Схема, демонстрирующая эффект неодновременного появления выходных сигналов

Однако в момент времени ti сигнал с2 = 0, и поэтому триггеры в БП не переключаются. Время Δτ должно быть больше времени прохождения сигнала по самому длинному пути в ЛП. Поэтому, когда приходит сигнал с2 = 1, все сигналы YS(t) и YR(t) установятся и произойдет переключение триггеров в блоке БП. Сигналы y(t1) на выходе БП формируются неодновременно, так как триггеры имеют разное время переключения. Эти сигналы поступают по обратным связям на входы блока СС. Но так как с1 = 0, их неодновременность не влияет на работу ЛП.

Время Δτ должно быть больше, чем время переключения самого медленнодействующего триггера, поэтому, когда начинается новый такт ti+1 и поступает синхроимпульс с1 = 1, все сигналы y(t1) устанавливаются и срабатывают схемы синхронизации. Таким образом, за счет синхронизации сигналов исключаются критические состязания в схеме автомата.

Из достоинств синхронных автоматов отметим следующие:

проблема исключения критических состязаний решается за счет синхронизации сигналов при любом варианте кодирования состояний автомата;

для синтеза схем требуется меньшее количество элементов памяти, поскольку не нужно вводить избыточность для исключения критических состязаний;

отсутствуют многотактные переходы, что повышает быстродействие самого автомата.

Недостатком всего класса синхронных автоматов является необходимость использования схем синхронизации и тактовых генераторов.

1.2 Алгоритм синтеза синхронных автоматов

Будем рассматривать алгоритм на примере синтеза автомата по заданной совмещенной таблице переходов и выходов (табл. 1). В клетках такой таблицы записываются номера состояний синхронного автомата, а через запятую указываются значения выходов.

5

Таблица 1

Совмещенная таблица переходов и выходов

S

 

x

 

 

 

0

 

1

 

 

 

 

 

 

 

 

 

 

1

5, 1

 

1, 0

 

 

 

 

2

3, 1

 

2, 1

 

 

 

 

3

4, 0

 

3, 1

 

 

 

 

4

4, 0

 

1, 0

 

 

 

 

5

5, 1

 

2, 1

 

 

 

 

Шаг 1. Кодирование состояний синхронного автомата двоичным кодом.

Кодирование состояний синхронного автомата (другими словами, кодирование строк таблицы переходов) позволяет решить задачу исключения критических состязаний [1]. Чтобы закодировать состояния синхронного автомата, требуется определить необходимое число внутренних элементов памяти, для чего применяется формула

m log2 S ,

(1)

где m – число внутренних элементов памяти, необходимых для реализации автомата;

S – число состояний автомата;

a – ближайшее целое, превосходящее a (целое сверху от a). Пользуясь формулой (1), получаем:

m log2 5 2,322 3.

Таким образом, для кодирования состояний синхронного автомата, заданного табл. 1, требуется три внутренних элемента памяти Y1, Y2 и Y3. Кодирование может осуществляться произвольными двоичными векторами; закодируем строки в порядке возрастания двоичных чисел (табл. 2).

Таблица 2

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

S

y1

y2

y3

 

 

 

 

1

0

0

0

 

 

 

 

2

0

0

1

 

 

 

 

3

0

1

0

 

 

 

 

4

0

1

1

 

 

 

 

5

1

0

0

 

 

 

 

6

Шаг 2. Составление кодированной совмещенной таблицы переходов и выходов.

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

Таблица 3

Кодированная совмещенная таблица переходов и выходов

S

 

x

 

 

 

0

 

1

 

 

 

 

 

 

 

 

 

000

100, 1

 

000, 0

 

 

 

 

001

010, 1

 

001, 1

 

 

 

 

010

011, 0

 

010, 1

 

 

 

 

011

011, 0

 

000, 0

 

 

 

 

100

100, 1

 

001, 1

 

 

 

 

Шаг 3. Составление таблицы истинности функций управления элементами памяти и выходной функции.

Рассмотрим составление таблицы истинности функций управления

RS-триггеров.

 

 

 

 

 

 

 

 

 

 

 

 

Правила определения функций YS

и Y

R

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Пусть в клетке x , y1

, y2

, y3 кодированной таблицы (см. табл. 3)

 

 

 

 

 

 

 

 

x

 

 

 

. Зна-

записан код y1, y2

, y3 на пересечении столбца

и строки y1

, y2

, y3

чение yi указывает на состояние триггера в предшествующий момент времени t1, а значение yi определяет состояние, в которое триггер дол-

жен переключиться в момент времени t.

2. Для определения функций YS и YR используются следующие пра-

вила:

если y(t –1) = 0, y(t) = 1, то YS = 1, YR = 0, так как триггер должен переключиться из состояния 0 в состояние 1;

если y(t –1) = 0, y(t) = 0, то YS = 0, YR = «~», так как триггер был в состоянии 0 и должен сохранить это состояние;

если y(t –1) = 1, y(t) = 0, то YS = 0, YR = 1, так как триггер должен переключиться из состояния 1 в состояние 0;

если y(t –1) = 1, y(t) = 1, то YS = «~», YR = 0, так как триггер был в состоянии 1 и должен сохранить это состояние.

7

Данные правила определения функций YS и YR могут быть сведены в табл. 4.

Таблица 4

Таблица определения значений функции YSYR

y(t–1)

 

y(t)

 

 

 

0

 

1

 

 

 

 

 

0

0 ~

 

1 0

1

0 1

 

~ 0

Из табл. 4 видно, что случая YSYR = 11 не существует.

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

Таблица 5

Таблица истинности функций включения элементов памяти и значений выходов

x

y1

y2

y3

YS1

YR1

YS2

YR2

YS3

YR3

z

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

0

1

0

0

~

0

~

1

 

 

 

 

 

 

 

 

 

 

 

 

1

0

0

0

1

0

~

1

0

0

1

1

 

 

 

 

 

 

 

 

 

 

 

 

2

0

0

1

0

0

~

~

0

1

0

0

 

 

 

 

 

 

 

 

 

 

 

 

3

0

0

1

1

0

~

~

0

~

0

0

 

 

 

 

 

 

 

 

 

 

 

 

4

0

1

0

0

~

0

0

~

0

~

1

 

 

 

 

 

 

 

 

 

 

 

 

5

0

1

0

1

~

~

~

~

~

~

~

 

 

 

 

 

 

 

 

 

 

 

 

6

0

1

1

0

~

~

~

~

~

~

~

 

 

 

 

 

 

 

 

 

 

 

 

7

0

1

1

1

~

~

~

~

~

~

~

 

 

 

 

 

 

 

 

 

 

 

 

8

1

0

0

0

0

~

0

~

0

~

0

 

 

 

 

 

 

 

 

 

 

 

 

9

1

0

0

1

0

~

0

~

~

0

1

 

 

 

 

 

 

 

 

 

 

 

 

10

1

0

1

0

0

~

~

0

0

~

1

 

 

 

 

 

 

 

 

 

 

 

 

11

1

0

1

1

0

~

0

1

0

1

0

 

 

 

 

 

 

 

 

 

 

 

 

12

1

1

0

0

0

1

0

~

1

0

1

 

 

 

 

 

 

 

 

 

 

 

 

13

1

1

0

1

~

~

~

~

~

~

~

 

 

 

 

 

 

 

 

 

 

 

 

14

1

1

1

0

~

~

~

~

~

~

~

 

 

 

 

 

 

 

 

 

 

 

 

15

1

1

1

1

~

~

~

~

~

~

~

 

 

 

 

 

 

 

 

 

 

 

 

В таблице первые пять строк получаются по результатам сравнения столбца x = 0 табл. 3 со столбцом кодов состояний, следующие строки 5, 6 и 7 соответствуют неиспользуемым состояниям, поэтому в них проставляется знак безразличного состояния «~» – автомат в них никогда не попада-

8

ет; строки 8–12 заполняются по результатам сравнения столбца

x = 1

табл. 3 со столбцом кодов состояний по аналогии со столбцом

x = 0;

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

Шаг 4. Получение функций управления элементами памяти и выходной функции, а также их минимизация.

Получим функции управления элементами памяти и выходную функцию в виде карт Карно (рис. 7) [1, 2]. В карте Карно проставим только единицы и знаки «~», поскольку последним можно придавать произвольные значения (0 или 1), сокращая тем самым искомую конъюнкцию в получаемой дизъюнктивной нормальной форме. Правила минимизации изложены в [1].

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

YS1 x y2 y3 ; YS 2 xy3 ;

YS 3 xy2 xy1;

YR1 x;

YR2 xy3 ;

YR3 x y2 xy2 ;

z y1 x y2 y2 y3 xy2 y3 y1 xy2 y3 y2 x y3 .

Шаг 5. Построение схемы синхронного автомата.

Схема синхронного автомата строится по функциям, полученным в конце выполнения предыдущего шага. Задача – получить уникальные для каждого варианта логические и выходные преобразователи. Для примера построим эти схемы в базисе {И, ИЛИ, НЕ} (рис. 8).

9

YS1

 

 

 

x

 

 

YR1

 

 

x

 

1

~

 

 

x y2 y3

 

 

 

1

~

x

 

 

 

 

 

 

 

 

~

 

~

 

 

 

~

~

~

~

 

 

 

 

 

y3

 

 

 

 

 

 

y3

 

~

 

~

 

 

 

~

~

~

~

 

y2

 

 

 

 

 

 

y2

 

 

 

 

 

~

 

~

 

 

 

~

~

~

~

 

 

 

y1

 

 

 

 

 

 

y1

 

 

YS2

 

 

 

x

 

 

YR2

 

 

x

 

 

 

 

 

 

xy3

 

~

~

~

~

xy3

 

 

 

 

 

 

 

1

~

 

~

 

 

 

 

~

~

~

 

 

 

 

 

y3

 

 

 

 

 

 

y3

~

~

 

~

 

 

 

 

~

~

1

 

y2

 

 

 

 

 

 

y2

 

 

 

 

~

~

 

~

 

 

 

 

~

~

 

 

 

 

y1

 

 

 

 

 

 

y1

 

 

YS3

 

 

 

x

 

 

YR3

 

 

x

 

 

 

 

1

 

xy1

 

~

~

 

~

x y2

 

 

 

 

 

 

 

 

 

 

~

~

 

 

1

~

~

 

 

 

 

 

 

y3

 

 

 

 

 

 

y3

~

~

 

~

 

 

 

 

~

~

1

 

y2

 

 

 

 

 

 

y2

 

 

 

xy2

1

~

 

~

 

xy2

 

 

~

~

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y1

 

 

 

 

 

 

y1

 

 

 

 

 

 

z

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y1

 

 

 

 

 

 

1

1

1

 

 

 

 

 

 

 

x y

2

1

~

~

1

 

y2 y3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y3

 

 

 

 

 

 

 

 

~

~

 

 

 

 

 

 

 

 

 

y2

 

 

 

 

 

 

 

 

 

 

 

 

~

~

1

 

 

 

 

 

 

 

 

 

 

y1

 

xy2 y3

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 7 Минимизация функций алгебры логики с использованием карт Карно

10

Соседние файлы в папке Методы