Файл: Баранов, С. И. Синтез микропрограммных автоматов.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.10.2024

Просмотров: 127

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

С т р у к т у р н а я

Исходное со­ стояние

Код исход­ ного состоя­ ния

аі.

ООО

öl

ООО

а2

001

 

 

001

»3

011

оз

011

ПЛ

101

 

«4

101

 

а4

101

04

101

а 5

0 1 0

«5

010

 

ах

000

 

 

000

°2

001

 

f l2

001

 

а3

011

 

»4

101

 

«4

101

 

«5

010

«7

п о

о2

001

а 2

001

 

Я2

001

 

Ох

000

 

Ох

000

 

Яо

001

 

«4

101

п о

о7

б72

001

“4

101

 

0(1

100

Таблица 6-5

т а б л и ц а а в т о м а т а М и л и , п о с т р о е н н а я п о р и с . 6-1

Состояние перехода

Ох

«з

Оз

а4

аъ

Я(і

а1

состояперехо­

Входной сигнал

К.ОД ння да

 

'

 

000

Yl.V0Y4.Y7

 

Y1Y0.V4.Y7

 

Y3.V2.V4Y5.Y1.V7

 

Y3.V2Y4Y5YJ.V7

 

Y<sY7

 

YqY7

 

Y8Yi Y7

 

Y8-V1Y7

 

-V8Y4Y5V1Y7

 

Y8-V4Y5.V1.V7

 

Y1Y7

 

Y1.V7

001

Yl

 

YlYßYo

 

Y3Y2Y7

 

Y3.V2Y4Y0.V1

 

•Vß

 

Y8.V4Y5.V1

 

-YgYl

 

Yl

 

Y3-V4

011

Y3.V2

101Y3.V2.V7

-V3-V2

010

Yl Vg.V-2

 

Y1.V6.V4

 

Y3.V2.V4

y8y4

Y3.V4

100Y3Y2.V4.V5

Ys-Vx-Vä

п о

1

Выходной сигнал

Уі Ув

УіУв

УіУ8

УіУв

Уі Ув

Уі Ув

Уі Ув

Уі Ув

Уі Ув

УіУв

УіУв

Уі Ув

УіУв. УіУв

УіУі УіУі УіУі

УіУі

УіУі

УіУі

Уі Уі

Уз

УьУй

УэУб

УіУв

УіУв

УіУв

УіУв

Ув

Уз

Ув

У1

Обязательные

функцпн

возбуждения

Фз

фз

ФзФз

W s

W s

W s

W s

W s

Фз

Ф2

Фз

Фз

Фз

Фх

Фх

ФзФз

Ш з

фо

Фх

Фх

Фа

Фз

ФаФз

ФхФзФз

Фх

фі"Ѵ|’з

Фз

Фа

97


табл. 6-5 рТ уТ 2 Т 3 хЗх іхіхъхух1 может быть использована при построе­

нии

функций ijs, у8, фз,

из четвертой строчки р Т гТ 2 Т.лх.лх 2 хлхйх хх7 —

при

построении yit у9, ф3

и т. д.

Аналогично в схеме на рис. 2-8 выражение ХуХ^ХуХ» входило в функ­ ции уу, у 2, ср2. Учет только этого обстоятельства позволяет сократить

Рис. 6-2. Схема для переходов в состояние о5: а — без исполь­ зования преддешифратора; б с преддешифратором

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

Синтез схемы будем вести раздельно для переходов в каждое со­ стояние. В структурной таблице эти переходы отделены друг от друга горизонтальной чертой. В пределах переходов в одно состояние по­ следовательно строим схему для каждой микрокоманды. Так, среди переходов в состояние аъ есть две микрокоманды: \у7, у8\ и (у8). Конъюнкции, соответствующие каждой строчке для одной микро­ команды, заводим на схему «ИЛИ», с которой и снимаем соответст­ вующие этой микрокоманде выходные сигналы — микрооперации

98

(рис. 6-2, о)1. Если пересечение микрокоманд не пусто, можно по­ строить еще одну схему «ИЛИ», с которой снимаются входящие в пе­ ресечение выходные сигналы (ув снимается с «ИЛИ» 2, так как (г/8) = = 7 у8\ П {//в 1)- Цена схемы на рис. 6-2, а равна 48 [39 входов в схемы «И», «ИЛИ» плюс девять отметок функции возбуждения и вы­ ходов (кроме //-), встречающихся на переходах в другие состояния и, следовательно, требующих построения схем «ИЛИ», на которые и бу­ дут поданы эти сигналы].

6-3. Преддешифратор обратной связи

Из формул (6-1) видно, что каждая компонента функций возбужде­ ния и выходных сигналов, соответствующая некоторому пути пере­ хода, получается как конъюнкция переменных, которыми закодиро­ ваны состояния, тактирующего сигнала р и входного сигнала, входя­ щего в путь перехода. С кодом каждого состояния автомата можно соотнести клетку карты Карно на соответствующее число перемен­ ных и тем самым представить состояние в виде конъюнкции наборов значений триггеров столбца и строки, на пересечении которых нахо­ дится рассматриваемое состояние.

Предположим для определенности, что длина кода равна 5. Как видно из карты Карно на 5 переменных (табл. 6-6), конъюнкция Т (а,„), соответствующая коду К (ат) состояния ат, разделяется на две ча­

сти: Т (а,„) =

Т ХТ„ТВ T J \

= а :Рз.

 

 

 

 

 

 

 

 

Рз

 

 

 

 

 

 

 

 

 

Карта Карно на 5 переменных

 

 

Таблица 6-6

 

 

 

 

 

T xT s T a

 

 

 

 

T t T t

0 0 0

0 0 1

0 1 1

0 1 0

1 1 0

11 1

101

1 0 0

 

 

« 0

« 1

a 3

CU

« s

OL-

« 5

« 4

0 0

.

ß ö

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

01

 

р ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

ß â

a m

 

 

 

 

 

 

10ß 2

1Для микрокоманды (i/s) схема «ИЛИ» не строится, так как ей соответст. вует одна строчка таблицы на переходе в состояние а5.

99


Положим ß,. = pßi {i = О, 1, 2, 3), где p — тактирующий импульс. Очевидно, что если построить схемы, на выходах которых опреде­

ляются

значения

а ;- — Т ^ Т ^ Т У 3

(/

=

0,

1, . . . ,

7)

и

ß(- =

=

р Г и Т ,у (і =

0,

1,

2, 3),

где ejk

£

{0,

1);

eir

£ {0, 1);

Т% =

Т,г;

Т{

=

Г*;

Т° =

Тг;

Т‘

= 7 Г (/г =

1,

2,

3;

г =

4,

5),

то для

а,„

из

табл.

6-6 рТ (а,„) = ajßg.

и ß,-,

назовем преддешифратором обратной

 

Схему, реализующую а/

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

восстановить

код

состояния.

В тех же случаях,

когда

кон­

кретный

код

состояния

а,п не

важен, а необходимо лишь

под­

черкнуть,

что

речь

идет

о

коде

 

 

_./П пі71

 

 

а

р

Рис. 6-3. Преддешифратор для че­

Рис. 6-4. Схемы для

одного

тырех триггеров

обобщенного

пути: а — с ис­

 

пользованием

преддешифрато­

 

ра, б без

использования

преддешифратора

именно этого состояния, мы будем использовать обозначения вида

a mßm, где верхние индексы при ос и ß означают, что а" 1 и ß"‘ отмечают столбец и строку карты Карно, на пересечении которых стоит состоя­

ние ат.

На рис. 6-2, б приведена схема, эквивалентная рис. 6-2, а, но по­

строенная

с учетом

преддешифратора: a 0 =

Т гТ 2', сс3 =

Т гТ 2;

а 3 =

= Т г7Ѵ,

ßo = рТ 3\

ßx = рТ 3. Преддешифратор для четырех тригге­

ров с раздельными входами изображен на рис. 6-3.

состояние as

Пусть в автомате имеется переход из состояния а,п в

под действием входного сигнала X (am, as),

что

соответствует

пути

перехода

в граф-схеме алгоритма атХ (ат ,

as)

Y (ат ,

as) а5.

Тогда

схема для этого перехода будет иметь вид рис. 6-4, а, где F (ат , as) — множество компонент обязательных функций возбуждения, выдавае­

100


мых на переходе (ат, as), а а ши |ѴПснимаются с выходов преддешифра­ тора.

Может показаться более целесообразной полная расшифровка ко­ дов состояний (построение полного дешифратора). В этом случае схема для того же перехода будет иметь вид рис. 6-4, б, где «И»т — второй (последний) каскад дешифратора. Подсчитаем — оборудование, идущее на построение сигналов обратной связи при таком способе построения (без учета входных сигналов вида X (ат, as)). Количество

схем «И»,п,

очевидно, равно М — числу состояний автомата,

а коли­

чество схем

«И»/г — числу переходов N (точнее, обобщенных

путей)

в автомате. Тогда

= 2М + N.

 

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

перехода

из состояния в состояние соответствует 2 входа (без учета

X (ат, as)) в схему

«И»* (рис. 6-4, а), поэтому оборудование при этом

способе

Ѵо = 2N.

Метод преддешифратора с точки зрения оборудо­

вания выгоднее, если V2 < .Vlt т. е. если УѴ<2уИ. Сточки зрения бы­ стродействия использование преддешифратора всегда лучше, так как при построении полного дешифратора число каскадов в схеме увели­ чивается на единицу (для построения схемы «И»т на рис. 6-4, б).

6-4. Доопределение функций возбуждения

Рассмотрим подграф графа автомата, изображенный на рис. 6-5. На переходе (а£, ак) второй триггер меняет свое состояние с нуля на единицу, состояние остальных триггеров не меняется, т. е. множество обязательных функций возбуждения на этом

переходе F (а£, ак) = |ср.2). Точно так же на пе­

реходе (оу,

а к) F (а ,, а к) =

( Ф і ,

ф 2).

Ясно,

что

 

 

функционирование автомата не нарушается,

 

 

если на переходе (а,-, ак) выдавать те же ком­

 

 

поненты функций

возбуждения,

что

и на пере­

 

 

ходе (cij,ak). Действительно,

если на переходе

Рис. 6-5.

Подграф ав’

(а;, а к ) на

нулевой вход

первого

триггера,

томата,

иллюстриру­

установленного в

состояние

нуль,

придет сиг­

ющий доопределение

функций

возбужде­

нал единица (фх =

1), то этот сигнал не изменит

 

ния

его состояния.

 

 

 

 

 

 

G (as) =

[aml, . . . ,

Обобщим приведенные рассуждения. Пусть

amn . . . ,

amR) — подмножество множества

состояний,

из которых

есть переходы в состояние

as. Обязательными для этих переходов бу­

дут функции возбуждения F (amr, as), г = 1, . . . , R. Под доопределе­ нием функций возбуждения на переходах из состояний ат1,

amR в as будем понимать выдачу на всех этих переходах одного и того же множества компонент функций возбуждения

( G («s)>

a s ) U • • •

а ) = и £ ( а п

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

101


Функции возбуждения, вырабатываемые на некотором переходе (о,„, as), в одних случаях рассматриваются как множество сигналов,

поступающих на единичные и нулевые входы триггеров

памяти, а

в других — как булевы функции входных сигналов автомата и сигиа-

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

вом случае будет использоваться обозначение F (ат , as), а

во втором—■

F (ат, а,).

 

Доопределяя, например, функции возбуждения на всех переходах

в состояние я5 (табл. 6-5), получим:

 

 

 

G(o6)=(fli, а2. «4- «?)'. F(G(ab),

ab) = F(au

о5) U

U f ( n 2, a5) U Ä ( a 4,

«5) 1 1 ^ ( 07,

й5) =

(ф2) U {фа.

Фзіи

Щ фі. ф2.

Фзі U (Фі) =

{фі.

фа, Фзі-

 

Эти функции после доопределения можно снять со схемы «ИЛИ»2, в результате чего цена схемы уменьшится на 5 единиц и появится до­ полнительная возможность для минимизации (см. ниже «Задача фак­ торизации»).

6-5. Узлы на граф-схеме алгоритма. Сокращение структурной таблицы

Рассмотрим подграф ГСА, приведенный на рис. 6-6, а. Вход услов­ ной вершины ,ѵр1, отмеченный символом Q, соединяется с выходом двух

условных вершин: xmR и xnL. Из состояний

ат и ап в as есть пути пе­

рехода

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а X тх

х*"]? х * р 1 . . . x*pJ Y

а

 

и а

n

х * * 1 .

. .

x ‘l Lx e ? 1 .

. . x epTTY a

и т л т 1

m R

pi

p T

g s

 

 

n\

 

nL

p\

pT

g s

соответственно

(emr, enh

e ,

£

(0,

1}; r =

1,

. . . , R\

l =

1, . . . ,

L\ t =

1...........T). Входной сигнал на

 

переходе (am, as) — конъюнк­

цию X (am, as) разобьем

на

две

 

конъюнкции: X (а,п,

as) =

X (а,п,

Q) X (Q, as). Аналогично

Х ( а п ,

a s)

=

 

X ( а п ,

Q)X(Q, a s), где

 

 

Х(а„„ <2) =

Л ^ Г ;

 

*(<■„, Q) =

Â

Д?';

 

 

X ( Q , a , ) K=

/ , r -

 

Условное изображение подграфа рис. 6-6, а приведено на рис. 6-6,6.

Логическая схема для переходов

(o m, as) и (ап, a s) изображена

на

рис. 6-7, а .

 

as:

Доопределим функции возбуждения на переходах из а,п и ап в

F (апѵ as) U F ( ß n > a s) = F (G (Q), as), где G (Q) — множество состоя­ ний, из которых есть пути перехода в as, проходящие через точку Q.

После доопределения множество функций возбуждения F (G (Q), as) можно снять вместе с Y e, йто позволяет вынести за скобки общий член X (Q, as) (рис. 6-7, б). Со схемы «ИЛИ» снимается функция

Ф (Q) = ccmßmX (am, Q)\/anßnX (ап, Q).

102