Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КП_Комп'ютерна схемотехніка_2011.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.83 Mб
Скачать

3.4 Проектування керуючих автоматів

Цифровий автомат – це пристрій для перетворення і збереження двійкових змінних.

Автомати можна розглядати на абстрактному і структурному рівнях. На абстрактному рівні

розглядається взаємодія автомата з зовнішнім середовищем. На структурному рівні, крім

взаємодії з навколишнім середовищем, розглядається внутрішня структура автомата, способи

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

У загальному випадку абстрактний автомат може бути заданий множиною з п'яти елементів

A = { X , Y , Z , δ , λ} ,

де X - вхідний алфавіт;

Y - вихідний алфавіт;

Z - алфавіт внутрішніх станів;

δ- функція переходів;

λ - функція виходів.

За способом формування функції виходів розрізняють два типи автоматів: автомат Милі й

автомат Мура.

Якщо вихідні сигнали залежать тільки від стану, в якому знаходиться автомат, його

називають автоматом Мура. Закон функціонування такого автомата визначається виразами

t 1

 +

Z

= δ(Z t,X t )

,

t 1

 +

Y

= λ(Z t )

де t=0, 1, 2,...– моменти автоматного (дискретного) часу.

Автомат, вихідні сигнали якого залежать як від стану, так і від вхідних сигналів, називають

автоматом Мілі. Його функціонування визначається виразами:

t +1

Z

= δ ( t

Z ,

t

X )

.

t + 1

Y

= λ( t

Z ,

t

X )

На абстрактному рівні множини X, Y, Z складаються з абстрактних букв, на структурному

рівні це - реальні сигнали.

Результатом абстрактного синтезу автомата є формальний опис автомата. На цьому етапі

одержують таблиці переходів і виходів і граф автомата, що і будуть вихідними даними для

структурного синтезу автомата. Структурний синтез дозволяє одержати логічну схему автомата в

заданому елементному базисі. Один зі способів структурного синтезу автомата є метод

22

декомпозиції тригерів. Узагальнена структура керуючого автомату показана на рисунку 3.4.1. В

даному випадку автомат розглядається як декомпозиція елементарних автоматів (тригерів).

Автомат містить комбінаційну схему (КС) і пам'ять (П), що складається з тригерів Тi.

Входами КС є виходи Q 1,...,Q m тригерів і вхідні сигнали (логічні умови) х 1,..., хk. КС виробляє

керуючі сигнали y 1,..., yp і функції збудження тригерів φ 1,..., φ m, що визначають перехід автомата

з одного стану в інший. Кожному з безлічі станів {z1,...,z m} відповідає визначений набір значень

Qi. Автомат змінює свій стан під дією синхронних сигналів С. Такі автомати називають

синхронними. Синхросигнал генерує генератор G.

x

y

1

1

x

y

2

2

xk

КС

П

Q

φ

1

1

T1

Q

φ

2

2

T2

∙ ∙

Qm

φm

T m

G

C

Рисунок 3.4.1 - Структурна схема

автомата

Для реалізації заданого мікроалгоритму перетворення інформації потрібен операційний

пристрій, що дозволяє виконувати необхідні мікрооперації. Керуючий автомат забезпечує

формування керуючих сигналів для операційного пристрою.

Синтезові автомата передує побудова операційного пристрою і розробка мікроалгоритму

заданого перетворення інформації. Вихідними даними для синтезу автомата є схема

операційного пристрою і змістовний мікроалгоритм операції, що включає описи мікрооперацій і

логічних умов.

Синтез автомата включає наступні етапи:

• розробка змістовного алгоритму функціонування автомата;

• складання списку керуючих сигналів, що забезпечують виконання кожної мікрооперації;

• визначення тривалості кожного керуючого сигналу (в числі тактів) і періоду тактуючих

сигналів автомата;

• описування алгоритму за допомогою мови описування алгоритмів ГСА (закодований

алгоритм);

• розмітка станів автомата;

• складання графу автомата;

• кодування станів автомата;

• складання структурної таблиці автомата;

• одержання МДНФ функцій збудження тригерів і вихідних керуючих сигналів;

23

• представлення функцій збудження тригерів і вихідних керуючих сигналів в операторній

формі (елементному базисі);

• побудова схеми керуючого автомата.

Розглянемо приклад синтезу автомата Мілі. У даному прикладі вихідною інформацією для

побудови автомата буде служити схема ГСА, що описує функціонування автомата. В

операторних вершинах ГСА записуються елементи вихідної множини Y, у логічних вершинах –

елементи вхідної множини X. Закодований алгоритм керуючого автомата представлений на

рисунку 3.4.2.

Наступним етапом синтезу автомата є розмітка станів автомата й побудова графа автомата.

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

Розмітка станів автомата Мілі здійснюється таким чином: символом а1 позначається вхід

вершини (логічної або операторної), наступної за початковою, а також вхід кінцевої вершини;

входи всіх вершин, наступних за операторними, повинні бути позначені символами аn. Крім

станів, поначених таким чином, може виникнути необхідність введення додаткових станів.

Наприклад, якщо мікрооперація виконується по перепаду керуючого сигналу і мікроалгоритм

має петлю, яка охоплює операторну вершину з таким сигналом, або кілька вершин, що слідують

підряд, то для забезпечення перепадів керуючого сигналу при кожному черговому виконанні

мікрооперації необхідно вводити додаткові стани. В цих станах автомат не повинний виробляти

керуючі сигнали. Додаткові стани можуть знадобитися для забезпечення протигоночного

кодування, яке описане далі.

Початок

а1

0 2

x1

1

1 y1, y2

a2

3

y3

a3

1 4

x2

0

5

6

y2

y4, y5

a1

Кінець

Рисунок 3.4.2. Закодований алгоритм

керуючого автомата

Мікроалгоритм на рисунку 3.4.2 позначений трьома різними станами ( а 1, а 2, а 3). Граф

розглянутого автомата Мілі зображений на рисунку 3.4.3.

Число вершин графа дорівнює числу станів а i автомата. Кожному переходові автомата з

одного стану в інший відповідає дуга графа. Дузі приписується набір логічних умов, за яким

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

відповідають даному переходові.

24

x 1/ y 1 y 2

a1

a2

1

x /0

x 2 / y 4 y 5

–/ y 3

x 2 / y 2

a3

Рисунок 3.4.3. Граф автомата Мілі

Кількість тригерів, необхідних для організації пам'яті автомата (рисунку 3.3.1) визначається

із співвідношення m>]log М

2

[, де М – число станів автомата. Кожному станові аi повинна

відповідати одна визначена комбінація значень Q 1,..., Qm. Для розглянутого приклада вибираємо

коди станів відповідно до таблиці 3.4.1.

Для організації пам'яті будемо використовувати JK-тригери.

Таблиця 3.4.1

Таблиця

кодування станів

Стан Код стану

Q 1

Q 2

a 1

0

0

a 2

0

1

a 3

1

1

Відмітимо, що спосіб кодування впливає на правильність формування керуючих сигналів і

складність автомата. Можливість формування сигналів, не передбачених графом автомата при

неоптимальному кодуванні станів, обумовлена появою “гонок”, що пов'язано з розкидом часу

переключення окремих тригерів автомата. Наприклад, при переході автомата зі стану 10 у стан

10 під час переключення тригерів можлива поява станів 00 або 11 (залежно від того, який із

тригерів раніше переключається). Ці проміжні стани при використанні тригерів із внутрішньою

затримкою не впливають на правильність переключення автомата, однак можуть привести до

появи короткочасних помилкових керуючих сигналів. Для усунення цього недоліку можна

використовувати різні методи, наприклад, сусідне кодування станів або встановлення фільтрів

для вихідних сигналів.

Структурна таблиця автомата складається за його графом. Кожен рядок (таблиця 3.4.2)

відповідає визначеному переходові автомата з одного стану в інший.

Таблиця 3.4.2 Структурна таблиця автомата

Функції

Логічна

Керуючі

ПС Код ПС СП

Код СП

збудження

умова

сигнали

тригерів

Q 2

Q 1

Q 2

Q 1

x2

x 1 y 1 y 2 y 3 y 4 y 5 J 2 K 2 J 1 K 1

a 1

0

0

a 2

0

1

*

1

1

1

0

0

0

0

*

1

*

a 1

0

0

a 2

0

1

*

0

0

0

0

0

0

0

*

1

*

a 2

0

1

a 3

1

1

*

*

0

0

1

0

0

1

*

*

0

a 3

1

1

a 1

0

0

1

*

0

1

0

0

0

*

1

*

1

a 3

1

1

a 1

0

0

0

*

0

0

0

1

1

*

1

*

1

Примітка. ПС - початковий стан, СП - стан переходу.

У структурній таблиці записують початковий стан (ПС), стан переходу (СП), коди цих

станів, значення логічних умов, що забезпечують перехід, необхідні значення керуючих сигналів

25

і функцій збудження тригерів. В кожному рядку для i-го тригера розглядаються переходи

Q tt+1

i

Qi

. Значення функції збудження тригерів визначаються відповідно до таблиці переходів

тригера відповідного типу. Графічно таблиця переходів JK-, Т-, RS- і D-тригерів показана на

рисунку 3.4.4, де знаком ”∗” позначено довільне значення сигналу на інформаційному вході

тригера.

JK- тригер

T- тригер

RS- тригер

D- тригер

J = 0; K = *

Т

R = *; S = 0

= 0

D = 0

0

0

0

0

0

0

0

0

J = 1; K = *

Т = 1

R = 0; S = 1

D = 1

0

1

0

1

0

1

0

1

J = *; K = 1

Т = 1

R = 1; S = 0

D = 0

1

0

1

0

1

0

1

0

J = *; K = 0

R = 0; S = *

Т = 0

D =1

1

1

1

1

1

1

1

1

Рисунок 3.4.4. Таблиця переходів JK-, T-, RS-, D- тригерів

На підставі структурної таблиці автомата визначаємо МДНФ функцій і керуючих сигналів

Y та

i

збудження Ji, Ki. Аргументами цих функцій переключення є значення Q 1, Q 2, x 1 і x 2.

Для одержання МДНФ використовуємо діаграми Вейча (рисунок 3.4.5).

Q 1

y1

Q 1

y2

Q 2 0

0

*

*

Q 2 0

0

*

*

0

0

*

*

x 2

1

1

*

*

x 2

0

0

1

0

0

0

1

0

0

0

1

0

0

0

1

0

x 1

x 1

Q 1

y3

Q 1

y4= y5

Q 2 0

0

*

*

Q 2

1

1

*

*

0

0

*

*

x 2

0

0

*

*

x 2

1

1

0

0

0

0

0

0

1

1

0

0

0

0

0

0

x 1

x 1

Q 1

J2

Q 1

K2

Q

2

*

*

*

*

Q 2 1

1

*

*

*

*

*

*

x

2

1

1

*

*

x 2

1

1

0

0

*

*

*

*

1

1

0

0

*

*

*

*

x 1

x 1

Q 1

J1

Q 1

K1

Q2

*

*

*

*

Q 2 1

1

*

*

*

*

*

*

x 2

1

1

*

*

x 2

*

*

1

1

0

0

*

*

*

*

1

1

0

0

*

*

x 1

x 1

Рис. 3.4.5. Діаграми Вейча керуючих сигналів і функцій збудження

тригерів керуючого автомата

26

Одержуємо

y = Q x ;

1

1 1

y = Q x Q x ;

2

2

2

1 1

y = Q Q ;

3

1

2

y = y = Q x ;

4

5

2

2

J = Q ; K = 1 ;

2

1

2

J = 1; K = Q .

1

1

2

Функціональна схема автомата зображена на рис. 3.4.6, де УПС– установлення початкового

стану, С – тактуючі сигнали.

J TT

C

y

Q

x

&

4, y 5

2

2

“1”

K

R

& 1

2

x 2

y 2

x 1

&

“1”

J TT

&

y 3

C

Q1

K

R

&

y 1

1

x 1

C

УПС

Рис. 3.4.6. Функціональна схема керуючого автомату

Відмінність синтезу автомата Мура полягає в одержанні розміченого мікроалгоритму і графа

автомата.

Оцінка станів автомата в цьому випадку здійснюється так: символом а1 позначаються

початкова і кінцева вершини; всі операторні вершини позначаються різними символами аj.

У даному випадку, як і при оцінці станів автомата Мілі, може виникнути необхідність

введення додаткових станів.

На графі автомата Мура дугам приписують набори логічних умов, що забезпечують

відповідний перехід автомата. Керуючі сигнали записують у вершинах графа, оскільки вони не

залежать від логічних умов.

Відзначений мікроалгоритм і граф автомата Мура для розглянутого приклада показані

відповідно на рисунках 3.4.7 і 3.4.8.

27

Початок а1

0 2

x1

1

1 y1, y2 a2

3

y3

a3

1 4

x2

0

5

6

y2

a4

y4, y5

a5

Кінець

a1

Рисунок 3.4.7. Закодований алгоритм

керуючого автомата Мура

a1

x 1

-

-

-

1

x

a2

y1, y2

a5

a4

y4, y5

y 2

x

-

2

a3

2

x

y3

Рисунок 3.4.8. Граф автомата Мура

Кодування станів автомата Мура можна виконувати так само, як і для автомата Мілі. Однак

при відповідному кодуванні керуючі сигнали можна знімати і безпосередньо з виходів тригерів

автомата Мура (комбінаційна схема для формування функцій yj не потрібна). При цьому число

тригерів повинне бути не менше числа керуючих сигналів, які не повторюють один одного і не є

константами.

У процесі переключення автомата Мура в цьому випадку відповідний рівень керуючих

сигналів установлюється швидше, ніж в автомата Мілі. Крім того, при будь-якому переході

виключається можливість короткочасного формування помилкових керуючих сигналів.

Приклад кодування станів автомата, що відповідає графу на рисунку 3.4.8, приведений в

табл. 3.4.3. У даному випадку автомат має три тригери.

Таблиця 3.4.3 Таблиця кодування станів

автомата Мура

Стан

Код станів

Q 1

Q 2

Q 3

a1

0

0

0

a2

1

0

0

a3

1

0

1

a4

1

1

0

a5

1

1

1

28