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

книги из ГПНТБ / Баранов, С. И. Синтез микропрограммных автоматов

.pdf
Скачиваний:
81
Добавлен:
19.10.2023
Размер:
6.76 Mб
Скачать

 

У і = ! / і ( И .

■ • ■> И *

х и

• • . - я ) ,

 

 

/Лѵ = УіѴ ( т 1 >

■ I

т />

Л'і> ■ • • . X L ) ,

 

 

ф і = ф і ( н >

■ • • I Т /T х 1’ • > x l )<

 

 

Ф / = Ф / ( П .

• • ■ > И ,

х і> ■ ■ ■ > X L ) ,

 

 

Г і = г 1 ( г 1, . . • .

и ) .

 

 

 

 

r D r D (Tl i

■ •

• >

T / ) ,

 

 

 

где T = (Xj,

. . . , X,) — функция

обратной связи от памяти автомата

к комбинационной схеме. Функция cp =

(cpx, . . . , cpt-, . . ,,ср;) носит

название функции возбуждения памяти автомата.

 

а)

 

 

 

 

 

5)

 

 

 

 

 

(fl,

 

Пі

Ч і

 

^

 

 

ftz

 

 

 

 

 

 

Рис.

2-2. Автомат памяти:

а — абстрактный, б — структур­

 

 

 

ный

 

 

 

Автомат памяти также можно рассматривать на абстрактном и струк­ турном уровнях. Абстрактный автомат памяти Я,-, заданный табл. 2-11, имеет один входной и один выходной каналы (рис. 2-2, а).

При переходе от абстрактного к структурному автомату Я,- его входные и выходные сигналы должны быть закодированы наборами сигналов на входных и выходных каналах. При двоичном структур­ ном алфавите автомат Я,- будет иметь 2 входных и 2 выходных канала (рис. 2-2, б). В общем случае, если абстрактный автомат памяти имеет

Іі состояний =

[blt . . . , Ьк}) и р входных сигналов (Q = \qly . . . ,

q }),

то число его входных К и выходных Т каналов должно быть

К >

1о§лр и Т >

logv/z, где л и V — число букв в структурных вход­

ных и выходных алфавитах автомата памяти Я,-. Таким образом, воз­

вращаясь к рис. 2-1, необходимо-заметить,

что сами

компоненты ср(-

и Tj (і = 1, . . . , I) векторов сигналов возбуждения

памяти ср и сиг­

налов обратной связи

от

памяти т также

могут

быть представлены

в виде векторов ср,- =

(сра ,

. . . , срІК), т{- =

(хп , .

. . ,

т(Т).

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

1 После отождествления выходного алфавита и алфавита состояний выход­ ными сигналами в абстрактном автомате Л; будут {blt Ь2, Ь3).

27

При построении функций возбуждения памяти автомата будем ис­

пользовать функцию входов элемента

памяти

р, (bin,

bs), ставящую

в соответствие каждой паре состояний

(bm, bs)

сигнал,

который дол­

жен быть подан на вход этого автомата для перевода его из состояния Ьт в состояние bs. Функцию входов также удобно задавать в виде таблицы. Для автомата памяти, функция переходов которого приве­ дена в табл. 2-1, функция входов задана табл. 2-2, в которой входной сигнал р (bm, bs) стоит во втором столбце между состояниями Ь т и bs. Из табл. 2-2 видно, что для перехода из Ьх в 62 необходимо подать входной сигнал q 2 , а из Ь3 в Ь3 — входной сигнал q x и т. д.

 

 

Таблица 2-2

 

 

Таблица 2-3

Функция

входов

абстрактного

Функция

входов

структурного

автомата памяти

автомата памяти.

 

Ьпг

я

bs

Л і ТІ2

'IYl ^ 2

Х І1

ТІ2

Ьі

Qi

bi

0 0

0 0

0 0

 

bl

Яі

b.

0 0

■ 01

10

 

bl

Яз

Ьз

0 0

10

11

 

b.

Яз

bl

10

10

0 0

 

ь»

Яі

bo

10

0 0

10

 

bi

Яг

Ьз

10

01

11

 

Ьз

Яг'

bl

11

01

0 0

 

Ьз

Яз

■ -b.

11

10

10

Ьз

Яі

Ьз

11

0 0

11

 

Если входные и выходные сигналы (они же состояния) автомата памяти закодированы наборами (сра , . . . , ср;к) и (та , . . . , хІТ) сиг­ налов на его входных и выходных каналах соответственно, то элемен­ тами таблицы, задающей функцию входов, вместо сигналов qlt . . . , qp будут соответствующие им наборы. Так, если для нашего примера (табл. 2-2) ввести кодирование

^ і —^ (00),

(72->(01),

<?з ^ (10);

& і-(00),

6а—(10),

Ь3->(П),

то соответствующая функция входов превратится в табл. 2-3, т. е. для перехода из состояния (00) в состояние (10) нужно подать нуль на первый входной канал и единицу на второй, а при переходе из (11) в (11) — два нуля на оба входных канала.

2-2. Пример канонического метода структурного синтеза

Пусть необходимо синтезировать частичный С-автомат 5, заданный таблицей переходов (табл. 2-4) и отмеченной таблицей выходов (табл. 2-5), используя в качестве элементарных автоматов логические элементы «И», «ИЛИ», «НЕ» и автомат памяти П, таблица переходов которого представлена в табл. 2-6.

28

Таблица 2-4

Таблица 2-5

Таблица 2-6

Таблица переходов

Отмеченная таблица

Таблица переходов

абстрактного С-автомата

выходов абстрактного

абстрактного

автомата

 

С-автомата S

памяти

П

 

a,

Q.:

ö.l

 

«i

»a

U\

 

ft,

ft.

 

 

fl,

а,

U.i

 

 

 

 

 

 

 

 

 

zL

«2

_

ai

Zi

w3

_

Wo

<7i

bi

b2

2.I

«3

«г

Zo

wA

w3

<?2

b2

bi

Z.T

Oo

0.1

Ol

 

W2

WL

 

 

Структурные входной и выходной алфавиты и алфавит состояний синтезируемого автомата и автомата памяти будем считать двоичными.

Перейдем к структурному представлению автоматов 5 и Я,

для чего

закодируем их входные и выходные сигналы и состояния.

 

Так

как в абстрактном автомате Я — два

входных и два выход­

ных сигнала, то в структурном автомате Я

будет один входной (ср)

и один

выходной (т) каналы. После кодирования входных

сигналов

(табл. 2-7) и состояний (табл. 2-8) абстрактного автомата Я таблица

переходов

структурного автомата

превратится в табл. 2-9. Функция

входов структурного

автомата Я

приведена

в табл. 2-10.

 

 

Таблица 2-1

 

 

Таблица 2-8

Кодирование входных

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

сигналов автомата П

 

автомата П

 

 

Ф

 

 

T

 

<7i

0

 

bi

0

 

?2

1

 

 

1

 

 

Таблица 2-9

 

 

Таблица 2-10

Таблица переходов структур­

Функция

входов

структурного

 

ного автомата П

 

автомата П

 

0

1

THCX

Ф

Tnep

0

0

1

0

0

0

0

1

1

1

1

0

1

1

0

 

\

 

1

0

1

Так как у абстрактного автомата 5 — три состояния, то структур­ ный автомат будет иметь два элемента памяти, П г и Я 2. Три абстракт­ ных входных (zx, z2, z3) и четыре выходных сигнала типа 1 (ю1, ш2, w3, ш4) требуют два входных (л^, х 2) и два выходных канала (у1, у„). Для реализации двух выходных сигналов типа 2 (ult и2) необходим

29

еще один выходной канал (г). Результаты кодирования состояний, входных и выходных сигналов автомата 5 представлены в табл. 2-11— 2-14.

 

Таблица 2-11

 

Таблица 2-12

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

Кодирование входных сигналов

автомата 5

автомата

S

 

Ті

То

 

А'і

Х2

 

0

0

г-2

0

0

£Ь

0

1

0

1

а3

1

1

 

1

0

 

Таблиц

 

Таблица 2-14

Кодирование

выходных сиг­

Кодирование выходных сигна­

налов типа

1 автомата S

лов типа 2 автомата S

 

Уі

Уі

 

 

Г

Ші

1

0

III

 

 

Wo

0

0

 

 

w3

1

1

u2

 

0

 

0

I

 

 

 

 

 

Заменив в табл. 2-4 и 2-5 состояния и соответствующие сигналы их кодами, получим таблицу переходов (табл. 2-15) и отмеченную таб­ лицу выходов (табл. 2-16) структурного автомата S, блок-схема ко­ торого приведена на рис. 2-3. Таким образом, после выбора элементов памяти и кодирования состояний синтез С-автомата сводится к син­ тезу двух комбинационных схем КС1 и КС2, реализующих функции:

l/i == 1/1 (Ti.

1/2 == 1/2 (Ті,

Фі == фі (Ті, CpО = = фе (ті.

г = г(тъ

т2. Хи Хп) :

Та, А'і, Х$) 1 Т2> А'і, Ао)

А'з, Л'2)

т2)

 

 

Таблица 2-15

 

 

Таблица 2-16

Таблица переходов структурного

Отмеченная таблица выходов

 

автомата

S

 

структурного

автомата

S

 

00

01

11

 

I

0

1

 

 

00

01

И

 

 

 

 

 

0 0

01

 

0 0

00

11

 

00

01

11

0 0

01

01

11

_

10

01

11

11

10

00

10

11

Функции г/х и у 2 можно получить непосредственно из табл. 2-16 как дизъюнкции конъюнкций, соответствующих наборам переменных т,, т 2, х 1г х 2, на которых эти функции принимают значение единицы.

30

Из табл. 2-16 имеем

 

 

 

[/j — Т]Т2ХхЛ'2\ /

т^То.^і-То \ /

ТіТгХіЛ'з \ /

ТхТ2х'хХ2',

Уг — ТхТ2Л"хА'2 \ /

ТхТ2А'хХ2 \ /

ТхТ^х-'-'г V

ТхТ2Л'хХ2.

Если каждый двоичный набор переменных Си, т 2, x lt х 2) отождест­ вить с его номером (например, набору 0001 соответствует 1, а набору 1100 — 12), то формулы (2-1) можно представить в виде

Уі = 0 Ѵ 5 Ѵ 6 Ѵ 14; у2 = 0 \ / \ V 5 V И.

(2-2)

Также непосредственно из табл. 2-16 получим выражения для

функции г = г (Тх, т 2):

 

г = гхТ2Ѵ тіт2-

(2-3)

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

Как видно из табл. 2-15

(второй

 

столбец, третья строка), автомат S

 

из состояния 01 перейдет в со­

 

стояние 11. Этот переход

склады­

 

вается из двух

переходов

элемен­

 

тарных автоматов памяти.

Первый

 

из

них (Ях) перейдет из состояния

 

0

в состояние

1,

а второй

(Л 2) —

 

из

состояния 1 в

состояние 1 (ос­

 

танется в том же состоянии).

 

 

Переходы

автоматов

памяти

Рис. 2-3. Блок-схема автомата S

происходят под действием сигналов

 

функций возбуждения, поступающих на их входы. Для определения

того,

что нужно подать на вход автомата П 1: чтобы

перевести его из

0 в 1,

обратимся к функции входов автомата памяти

(табл. 2-10). Как

видно из этой таблицы (вторая строка), на вход автомата Л х необхо­ димо подать сигнал 1. Аналогично для перехода автомата Л 2 из 1 в 1 на его вход должен быть подан сигнал 0 (четвертая строка). Таким об­ разом, при переходе автомата S из состояния 01 в состояние 11 на входы его памяти должен поступить векторный сигнал функции воз­ буждения 10. Занесем этот результат в соответствующее место таблицы функции возбуждения (табл. 2-17) — на пересечении второго столбца

и третьей строки.

Поскольку функция возбуждения памяти автомата

зависит от тех же

переменных Тх, т 2, х х, х 2, столбцы и строки табл.

2-17 и 2-15 отмечены одинаково.

Аналогично для остальных переходов в табл. 2-15 получим всю таблицу функций возбуждения памяти автомата S.

Непосредственно из

табл. 2-17 для единичных значений функций

срх и ср2 имеем:

 

 

 

‘ фх= TxT2.V'xX2V TxT2XxX2V TxT2XxX2=

1 V 6 V 12;

 

ф2 = TxT2A'xX'2 V ТхТоХхХ'г \ / ТхТ2,ѴхХ2\ /

XfaX^Xo \ / Т1Т2Х1Х2=

(2-4)

= 0 V 1 Ѵ 2 Ѵ 5

\Л 12.

 

 

31

Не останавливаясь здесь на вопросах минимизации комбинацион­ ной схемы автомата S, с помощью формул (2-1), (2-3) и (2-4) получим его логическую схему (рис. 2-4).

Заметим, что для минимизации полученных выражений можно было бы использовать наборы переменных, на которых соответствую­ щие функции не определены. Сформулируем правила учета неопреде­ ленности :

1. Если некоторый код ет1, . . . . ѵт[, . . . , етІ (е,„г ^ (0, 1)) не используется для кодирования состояний автомата, то на всевозмож­ ных наборах (ет1, . . . , еті, . . . , етІ, ед , . . . , efl...........efL) (efl £ (0,1)),

полученных из этого кода и всех кодов входных сигналов, все компоненты функций возбуждения памяти и функций выходов (типа 1)

 

 

 

 

не определены. В' нашем примере

 

 

Таблица 2-17

среди

кодов

состояний

не исполь­

Функция возбуждения памяти

зуется

код

10,

поэтому наборы

 

 

автомата S

 

 

 

/ 1

0

0

0

 

 

 

 

 

 

 

 

 

 

 

00

01

11

 

 

 

1 0

0

1

 

 

 

 

 

 

 

 

 

1 0

1 0

 

 

00

01

 

11

 

 

V 1

0

1

1

 

 

01

и

01

входят

в

область неопределенности

00

10

01

10

функций фц

 

фо,

у 1г у 2.

Точно

так

 

 

 

 

же функция

 

г

не

определена

при

2.

Если некоторый

код

ті — 1. to =

0.

efL)

(efl£ (0,1))

не

(еп , . . . ,

efh .

. . ,

используется для кодирования входных сигналов, то на всевозмож­ ных наборах {етХ, . . . , с,,,,, . . . , ст /, сд , . . . , в^, . . . , сд ) (<?,„£ ^

£ (0, 1)), полученных из всех кодов состояний и этого кода, все ком­ поненты функций возбуждения памяти и функций выходов (типа 1) не определены. В нашем примере среди кодов входных сигналов не используется код 11, поэтому наборы

 

 

/

0

0

1

1

 

 

 

 

[

0

1

1

1

 

 

 

 

I

1

0

1

1

 

 

 

 

V 1

1

1

1

 

 

входят в область неопределенности функций фх, ф2, у х, у ъ.

 

3.

Если на некоторой паре (ат, zf) функция переходов не опреде­

лена,

то на наборе (ет1, . . . ,

еті...........етІ, efl,

efl,

, efL)

(emi, efl£ (0, 11)

все компоненты

функции переходов не определены.

Таким образом,

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

с прочерками в таблице переходов. Непосредственно из табл. 2-17 имеем два таких набора:

0

1

1

1

32

г

Рис. 2--I. Логическая схема автомата S

4. Аналогично п. 3, если на некоторой паре (ат, zj) функция вы­

ходов (типа 1) не определена, то на наборе,

соответствующем этой паре,

все компоненты функции выходов (типа

1) не определены. Из табл.

2-16. имеем два набора:

 

 

 

__

1

0

0 \

 

VI

1

0

1 Г

 

2-3. Синтез автомата на задержках, триггерах со счетными и раздельными входами

Описанный в предыдущем параграфе процесс построения функций возбуждения памяти автомата может быть существенно упрощен для

некоторых наиболее распространенных на практике

 

 

элементов памяти. Мы остановимся здесь на син­

 

тезе автоматов на задержках-,триггерах со счетными

Зд

и раздельными входами. Рассмотренные методы

 

 

будут иллюстрированы примером синтеза автомата

Рис. 2-5. Элемент

S, заданного табл. 2-15 и 2-16.

Функции выходов во

'

задержки

всех случаях будут строиться

по формулам (2-1),

 

 

(2-3), поскольку таблица выходов синтезируемого автомата не зависит от выбора того или иного элемента памяти.

33

Элемент задержки (рис. 2-5) имеет один вход и один выход и осу­ ществляет задержку поступившего на его вход сигнала на один такт. Функция переходов и функция входов этого автомата приведены в табл. 2-18 и 2-19.

 

Таблица 2-18

 

 

Таблица 2-19

Функция

переходов

элемента

Функция

входов элемента

 

задержки

 

 

задержки

 

0

1

г м сх

ф

т л е р

0

0

0

0

0

0

0

1

1

1

1

1

1

0

0

1

1

1

Как видно из табл. 2-19, состояние, в которое переходит элемент задержки (правый столбец), совпадает с поступившим на его вход сиг­

 

налом (средний столбец). В связи

с этим

таблица

 

функций

возбуждения памяти

синтезируемого

 

автомата

5

будет полностью совпадать с таблицей

 

переходов этого автомата (табл. 2-15). Действи­

Рис. 2-6. Триггер

тельно,

строки и столбцы этих

таблиц отмечены

одинаково,

а на

пересечении

г-й

строки

и /-го

со счетным входом

столбца

в таблице

переходов стоит код состояния,

 

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

ражения для

функций

возбуждения

памяти

автомата,

построенного

на элементах

задержки:

 

 

 

 

 

Фі = TiT-jA^ V НТгЛ'і-Ѵг V

= 1 V 6 V 14;

 

 

ср2~-

\ / XiTqXlXq\ /

\ / т

(2-5)

= 0Ѵ1Ѵ2Ѵ6Ѵ14.

 

 

 

 

 

Таблица 2-20

 

IТаблица 2-21

 

Функция

переходов

триггера

Функция входов триггера

 

[со счетным входом

со счетным входом

 

 

0

1

0

0

1

1

1

0

Т!ІСХ

ф

т п е р

■ 0

0

0

0

1

1

1

1

0

1

0

1

34

Триггер со счетным входом имеет 1 вход и 1 выход (рис. 2-6). Функ­ ции переходов и выходов триггера со счетным входом приведены в табл. 2-20 и 2-21.

Как видно из

последней таблицы, входной сигнал, записанный

в среднем столбце,

равен сумме по модулю 2 кода исходного состоя­

ния (левый столбец) и состояния перехода (правый столбец). На ос­

новании этого при синтезе автомата на триггерах со счетным входом

таблицу функций возбуждения можно

 

 

 

Таблица 2-22

получить из таблицы переходов сле­

 

 

 

 

Функция

возбуждения памяти

дующим образом.

 

 

 

 

 

Элемент таблицы функций воз­

автомата S при синтезе на

триг­

 

 

герах со счетными входами

буждения, стоящий

в і-й

строке и

 

 

 

 

 

у'-м

столбце,

равен

покомпонентной

 

 

 

 

11

сумме по модулю 2 вектора кода

 

 

00

01

 

 

 

 

 

состояния, отмечающего у'-й

столбец,

 

 

 

 

 

и вектора кода состояния,

стоящего

 

0 0

0 1

0 1

11

на

пересечении

г-й

строки и у-го

 

0 1

11

 

 

 

 

 

 

 

 

 

 

столбца таблицы переходов, т. е.

 

1 0

0 1

1 0

0 0

покомпонентной сумме по

модулю 2

 

перехода. Полученная таким

кодов исходного состояния

и состояния

 

образом таблица

функций

возбуждения

для автомата

S приведена

в табл. 2-22.

Из

этой таблицы:

 

 

 

 

 

 

Фі= ГхТ2ХіХ2V ЪЪХіХг V W A = 1V 6 V 12

 

 

 

Фе = ХіЧХхХг V HTAА

V ТіТзЗ Д V т а з д

V х ^ х ^ =

(2-6)

= 0Ѵ 1Ѵ2 Ѵ5 V 12.

Триггер с раздельными входами приведен на рис. 2-7, а его таблица переходов — в табл. 2-23. Поскольку в триггере с раздельными вхо­ дами имеются два входных канала, возможны

J L '

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

Одна

из комбинаций

(11)

считается

запре­

Ф

 

 

щенной,

поэтому в табл. 2-23 всего три строчки.

 

 

Входы ф и ср называются соответственно

нулевым

 

 

и единичным,-Функция входов триггера с раздель­

Рис.

2-7. Триггер ными входами приведена в табл.

2-24.

 

с

раздельными

Из табл. 2-24 видно, что

при поступлении

 

входами

 

единицы

на нулевой вход триггер

переходит в со­

 

 

 

 

стояние

0 независимо от

того,

в

каком

состоя­

нии он до этого находился; при поступлении единицы на единичный вход триггер переходит в состояние 1. Другое представление функции входов дано в табл. 2-25.

В этой таблице переходу из 0 в 0 соответствует входной сигнал (—0), где черточка означает, что переход не зависит от сигнала на ну­ левом входе триггера. Аналогично для перехода из 1 в 1 имеем вход­ ной сигнал (0—).

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

35

мата S (табл. 2-15), для которого функции возбуждения определяются табл. 2-26.

 

Таблица 2-23

Функция

переходов

триггера

с раздельными входами

 

0

]

00

0

1

01

I

1

10

0

0

Таблица 2-25

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

T!1CX

ф Ф

Tnep

0

—0

0

0

01

1

I

10

0

1

0

1

Таблица 2-24

Функция входов триггера с раздельными входами

Tncx

Фq>

Tnep

0

00

10

0

0

01

 

1

1

10

 

0

1

00 , 01

1

Таблица 2-26

Функция возбуждения памяти авто­ мата S при синтезе на триггерах с раздельными входами

 

 

0 0

01

 

11

 

0 0

0 0 1

 

 

1 0 1 0

 

0 1

0 1 0 1

— 0 1 0

 

 

1 0

0 0 1

0 1 0

0

1 0

1

Рассмотрим в табл. 2-15 переход из состояния 00 в состояние 01 под действием входного сигнала 00. Этот переход складывается из пе­ реходов двух триггеров. Первый триггер переходит из 0 в 0, чему со­ ответствует подстановка (—0) (см. табл. 2-25). Запишем ее в табл. 2-26 в строчку 00 и,столбец 00. На этом же переходе под действием вход­ ного сигнала 00 второй триггер переходит из 0 в 1, чему соответствует подстановка (01) для второго триггера. Таким образом, сигналы воз­ буждения памяти определяются набором фх Фхф2ф2 = (— 001). Пере­ ход автомата 5 из состояния 00 в состояние 11 под действием входного сигнала 01 приводит к подстановкам (01) для первого триггера и (01) для второго, чему соответствует набор ФхФіФзФг = (0101) во второй строке первого столбца таблицы функций возбуждения (табл. 2-26). Аналогично для остальных переходов табл. 2-15 получим всю таблицу функций возбуждения (табл. 2-26) для автомата 5. Выписывая из этой таблицы наборы переменных тх, т 2, х 1г х2, соответствующие единицам на входах триггеров 1 и 2, получим выражения функций возбужде­ ния памяти автомата в дизъюнктивной нормальной форме:

Фі = тцтгХ'іХо = 12;

ф х = TxT2*X *2 V

1 \ / 6 ,

ijo :txt2XxX2 V TxT2XiX2 = 5 \y 12,

ф2 = TxT2a'xX2 V ТхТ2Л'і-Ѵ'2 V TxT2*i*a = о V 1 V 2.

36