Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В основном картина здесь аналогична вышерассмотренной. В тоже время в УА Мили функции выходов как и функции возбуждения реализуются на БИС ПЛМ. В связи с этим процедура кодирования состояний несколько изменяется по сравнению с используемой для УА Мура и приобретает следующий вид.
1) Сначала предполагаем, что функции возбуждения как и в автомате Мура, реализуются отдельно и выполняем частичное кодирование состояний так, чтобы получить склеивание конъюнкций в функциях возбуждения. Действия на этом этапе ничем не отличаются от тех, что выполняются с автоматами Мура.
ПРИМЕР.
Пусть УА Мили имеет 60 состояний и задан обратной таблицей переходов, фрагмент которой представлен ниже.
|
*
*
Отмеченные подчеркиванием слева группы строк задают состояния, кодирование которых соседними кодами позволяет получить склеивающиеся конъюнкции при реализации функций возбуждения. С учетом того, что, кодируя 60 состояний, нужно использовать 6-ти разрядный двоичный код, и что S0 обычно задается кодом 00…00, можно осуществить частичное кодирование так.
S0: 000000
S10: 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 не имеет ни одной строки.
2) Для продолжения кодирования нужно рассматривать бф выходов, не отнесенные ранее к отдельно реализуемой подсистеме бф.
Из рассматриваемых бф выходов формируются отдельные подсистемы для последующей независимой реализации. В отдельную подсистему выделяется такая совокупность бф, которая содержит «близкие» бф (имеющие большое число одинаковых конъюнкций) с числом бф не более числа выходов у ПЛМ, как описано в разделе «Синтез КС на БИС ПЛМ» данных методических материалов.
Предположим, что в примере, который мы начали рассматривать, всего было 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)p1 Ú … Q4Q3Q2Q1Q0)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
4) Чтобы завершить кодирование, нужно зафиксировать коды для всех оставшихся нерассмотренными состояний. Их коды можно взять произвольно.
5) Имея кодирование состояний и зная для каждой подсистемы бф какие группы строк (конъюнкций) следует представлять одной конъюнкцией, полученной в результате склеивания, можно переходить к реализации сбф в ПЛМ.
В заключение отметим, что построенную в итоге схему на БИС ПЛМ целесообразно попытаться улучшить. С этой целью в ПЛМ, имеющие неиспользованные конъюнкторы или выходы, нужно при возможности переносить из других ПЛМ части функций в расчете на сокращение в конечном счете числа используемых БИС.
Так например, в автоматах Мура можно пытаться переносить функции выходов из БИС ПЗУ в БИС ПЛМ, если последние имеют неиспользованные выходы.
Дата публикования: 2015-04-10; Прочитано: 319 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!