Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
METODIChESKIE_MATERIAL___PO.doc
Скачиваний:
1
Добавлен:
12.09.2019
Размер:
463.87 Кб
Скачать

Автоматы Мили.

В основном картина здесь аналогична вышерассмотренной. В тоже время в УА Мили функции выходов как и функции возбуждения реализуются на БИС ПЛМ. В связи с этим процедура кодирования состояний несколько изменяется по сравнению с используемой для УА Мура и приобретает следующий вид.

  1. Сначала предполагаем, что функции возбуждения как и в автомате Мура, реализуются отдельно и выполняем частичное кодирование состояний так, чтобы получить склеивание конъюнкций в функциях возбуждения. Действия на этом этапе ничем не отличаются от тех, что выполняются с автоматами Мура.

ПРИМЕР.

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

S0 P1P0 Y14

S10 P1 Y13 Y11

S12 P1 S0 Y2

S14 P1 Y5

S16 P1 Y2 Y5

S0 P1 S1 Y1 Y2

S1 1 S2 Y7

S2 1 Y2 Y10

S20 1 S3 Y5

S3 X1 Y1

S5 X1 Y2

S6 1 S4 Y7

S40 P1 Y1 Y2

S3 X1 Y1

S19 X1 S5 Y5

*

*

Отмеченные подчеркиванием слева группы строк задают состояния, кодирование которых соседними кодами позволяет получить склеивающиеся конъюнкции при реализации функций возбуждения. С учетом того, что, кодируя 60 состояний, нужно использовать 6-ти разрядный двоичный код, и что S0 обычно задается кодом 00…00, можно осуществить частичное кодирование так.

S0: 000000

S 10: 001000

00100-

S12: 001001

0010--

S14: 001010

00101-

S16: 001011

S2: 000010

00001-

S20: 000011

S3: 000100

00010-

S5: 000101

S3: 000100

0001-0

S19: 000110

Если mплм – число выходов ПЛМ больше mф– числа функций возбуждения, то к выделенной для отдельной реализации подсистеме бф,содержащей функции возбуждения, добавляются (mплм– mф) функций выходов. При этом целесообразно добавлять функции, имеющие максимальное число конъюнкций (строк или групп строк), совпадающих с ранее отнесенными к формируемой подсистеме. Преположим, что в нашнем примере к таким бф оказались отнесены функции y1 и y5. В представленном фрагменте y1 имеет 2 строки, совпадающие с ранее отнесенными к подсистеме (отмечены в таблице справа меткой *), а y5 не имеет ни одной строки.

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

Из рассматриваемых бф выходов формируются отдельные подсистемы для последующей независимой реализации. В отдельную подсистему выделяется такая совокупность бф, которая содержит «близкие» бф (имеющие большое число одинаковых конъюнкций) с числом бф не более числа выходов у ПЛМ, как описано в разделе «Синтез КС на БИС ПЛМ» данных методических материалов.

Предположим, что в примере, который мы начали рассматривать, всего было 16 бф выходов:y1-y16. Бф y1 и y5, как как указано выше, реализуются совместно с функциями возбуждения, а оставшиеся бф разбиваются на подсистемы, например, (y2,y3,y4,y6,y10,y12,y15,y16) и (y7,y8,y9,y11,y13,y14). Далее будут отрабатываться эти подсистемы.

3)Поочередно рассматривая каждую из подсистем бф, продолжаем выполнять частичное кодирование незакоди-рованных ранее состояний. Делается это так.

По обратной таблице переходов строится таблица зависимости наборов значений реализуемых бф от состояний и значений входных переменных. В этой таблице выделяются группы строк с одинаковыми условиями переходов, представляющие одинаковые наборы значений реализуемых бф, при числе строк 2,4,8,16,… . Далее фиксируются коды состояний для этих групп строк так, чтобы конъюнкции, соответствующие группам строк, склеивались в одну. При невозможностим обеспечения однозначности кодирования, некоторые выделенные группы строк будут вновь разгруппированны и станут рассматриваться как меньшие группы или даже отдельные строки.

ПРИМЕР 1.

Обращаясь к рассматривавшемуся ранее примеру можно пред-ставить фрагменты таблиц зависимостей для (y2,y3,y4,y6,y10, y12,y15,y16) и (y7,y8,y9,y11,y13,y14) по заданному фрагменту обратной таблицы переходов в виде

S5 X1 S10 P1 Y11 Y13

S12 P1 S0 P1P0 Y14

S16 P1 Y2 S1 1

S0 P1 S6 1 Y7

S40 P1

S2 1 Y2 Y10

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

Из таблиц видно, что целесообразно соседнее кодирование для состояний S12, S16, S0 и S40 при котором 4 конъюнкции заменяются на одну, но поскольку коды для S12, S16, и S0 были уже зафиксированны можно задать соседнее кодирование лишь для S0 и S40, например, при S40:100000. В результате мы получим две группы по две строки, что даст y2 = … S5x1 S12  S16)p1 S0  S40)p1… = … S5x1 Q5Q4Q3Q2Q0)p1Q4Q3Q2Q1Q0)p1

Из таблиц видно также, что соседнее кодирование выгодно взять и для состояний S1 и S16 с целью упрощения выражения y7.

ПРИМЕР 2.

Sa 1

Sb x1

Sc x1

Sd x1 YpYq

Sk x1

Зафиксируем Sb:00100 Sc:00101 Sd:00110 Sk:00111.

Тогда в дальнейшем это даст

yp = yq = … Sa (Q4Q3Q2)x1 …

Получается это из-за склеивания конъюнкций для состояний

Sb:00100

0010-

Sc:00101

001--

Sd:00110

0011-

Sk:00111

  1. Чтобы завершить кодирование, нужно зафиксировать коды для всех оставшихся нерассмотренными состояний. Их коды можно взять произвольно.

  1. Имея кодирование состояний и зная для каждой подсистемы бф какие группы строк (конъюнкций) следует представлять одной конъюнкцией, полученной в результате склеивания, можно переходить к реализации сбф в ПЛМ.

В заключение отметим, что построенную в итоге схему на БИС ПЛМ целесообразно попытаться улучшить. С этой целью в ПЛМ, имеющие неиспользованные конъюнкторы или выходы, нужно при возможности переносить из других ПЛМ части функций в расчете на сокращение в конечном счете числа используемых БИС.

Так например, в автоматах Мура можно пытаться переносить функции выходов из БИС ПЗУ в БИС ПЛМ, если последние имеют неиспользованные выходы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]