ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.10.2024
Просмотров: 107
Скачиваний: 0
Подобные соображения могут быть использованы н при кодирова нии выходных сигналов для минимизации функции выходов. Упоря дочим, например, выходные сигналы автомата S из таблицы выходов (табл. 2-5), которые в этой таблице встречаются:
ш3—3 раза; w.z—2 раза; агі— 1 раз; ад, — 1- раз; их—2 раза;
и*— 1 раз.
После кодирования выходных сигналов в соответствии с упорядо чиванием (табл. 3-12 и 3-13) таблица выходов автомата S примет вид табл. 3-14.
|
Таблица 3-12 |
|
Таблица 3-13 |
|
|
Кодирование выходных |
Кодирование выходных |
Ч |
|||
сигналов |
типа |
I |
сигналов типа 2 |
|
|
|
У і |
У і |
|
г |
|
|
|
|
|
||
щ |
0 |
0 |
» 1 |
0 |
|
0 |
1 |
|
|
||
W о |
t u |
1 |
|
||
W i |
1 |
0 |
|
|
|
W i |
1 |
1 |
|
|
|
|
|
|
|
Таблица 3-14 |
|
Таблица выходов после изменения кодов |
|
||||
|
|
выходных сигналов |
|
|
|
|
|
0 |
1 |
0 |
|
|
|
00 |
01 |
11 |
|
00 |
|
00 |
00 |
01 |
|
01 |
|
11 |
— |
|
|
10 |
|
01 |
10 |
00 |
|
Непосредственно из этой таблицы получаем выражения функций выходов:
У і — т і т а у д ' з V TiTo.i'i.Vo = 1 V 6 ;
У2 = TiToA'iA'o V TjToAVa V ТіТоЛ'іЛ'з = 1 V 2 \/ 12;
'■= Т]Т2-
Напомним, что аналогичные выражения при первом варианте ко дирования выходных сигналов имели вид:
у1 = т1тгх1,Го V ТхЪХхХъ V ХхЪХіХг V XiXzXiX2 = 0 \/ 5 V 6 \/ 14;
у2 ^=х1 т2 х1 х2 V ТіТа.ѵу.Ѵо '■/ ТчТоДдл'., у т^плул'о — 0 \/ 1 \/ 5 \/ 14;
Г = ТіТо \/ TjT2.
Большое число работ [25, 26, 28], начало которых было положено Хартманисом и Стирном [27, 291, посвящено получению такого ко
48
дирования, при котором уменьшается зависимость функций возбужде ния от переменных обратной связи т х, . . . , т; . Хартманне и Стирн показали, что этот подход тесно связан с существованием определен ныхразбиений множества состояний автомата. Как правило, нахож дение вариантов кодирования состояний, которые создают ослаблен ную функциональную зависимость для функций возбуждения, часто дает более экономичную схему, чем при других типах кодирования.
Упомянутый подход и развитые на его основе методы достаточно подробно изложены в литературе, в том числе и в монографиях [11, 18]. В то же время большинство авторов отмечают сложность этих методов кодирования при синтезе автоматов с большим числом состоя ний и переходов и при синтезе частичных автоматов, а также трудно
сти одновременного |
учета сложности функций возбуждения |
памяти |
и функций выходов. |
В связи с этим не будем останавливаться |
на этих |
методах, а рассмотрим эвристический алгоритм кодирования Состоя ний, предложенный в [19] и минимизирующий суммарное число из менений элементов памяти на всех переходах автомата. При таком критерии уменьшается сложность схем, реализующих дизъюнкции на входах элементов памяти, т. е. также минимизируется комбинационная схема автомата.
Введем весовую функцию W = h t ms, где tms— \Km — Ks |2 — расстояние между кодами состояний ат и as, равное числу элементов памяти, изменяющих свое состояние на переходе (ат, а„); суммирова ние производится по всем переходам автомата. Введенная функция W может служить одной из оценок сложности комбинационной схемы
автомата [19], |
при этом упрощение комбинационной схемы будет |
|
тем больше, чем меньше W. |
|
|
Алгоритм состоит из следующих шагов: |
||
1. Построим |
матрицу |
|
|
« 1 |
ß i |
|
|
|
|
м = а г |
ß , |
|
а н |
ß « |
состоящую из всех различных пар номеров (ar, ßr), таких, что в авто мате S есть переход из ааг в а^г.
2. Переставим строки в матрице так, чтобы выполнялось условие
К> ßr} П (аі> ßi, - • , a,_i, ß,_i)=A0, /- = 2, . . . , R. (3-1)
Условие (3-1) означает, что хотя бы один из элементов r-й строки содержится в какой-нибудь из предыдущих строк. Имеются в виду только связные автоматы [19], для которых такая перестановка всегда возможна.
3. Закодируем состояния из первой строки матрицы М следующим образом:
Ка, = (00 . . . 00); /Ср, = (00 . . . 01).
з З а к а з № 2225 |
49 |
4. Вычеркнем из матрицы М первую строчку, соответствующую закодированным состояниям аа и ар 4 Получим матрицу М ' .
5.В силу условия (3-1) в начальной строке матрицы М' закодиро ван один элемент. Выберем из первой строчки матрицы М' незакоди рованный элемент и обозначим его через у.
6.Построим матрицу М ѵ, выбрав из М ' строчки, содержащие у.
Пусть |
Вѵ = (y j , . . . , у{, ■■■, Yf ) |
— множество элементов |
|
из |
мат |
|||||||||||
рицы Му, которые уже закодированы. |
Их коды обозначим К у1, |
. . . , |
||||||||||||||
/Cvf, ■• ■, /<YF соответственно. |
|
|
|
|
|
|
|
|
|
|
||||||
7. |
Для |
каждого Kyf (/ = 1, . . . , |
F) |
найдем |
— множество |
|||||||||||
кодов, |
соседних с Kyf и еще не занятых для кодирования состояний |
|||||||||||||||
|
|
|
автомата. |
Построим |
множество |
1 |
F |
1 |
|
|
Если |
|||||
|
|
|
Dv = (J Сѵ . |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
f=i |
' |
|
|
|
|
|
|
D \ = 0 , т о строим |
|
|
|
|
|
F |
|
|
, где |
||||
|
|
|
новое множество Dy — (J |
|
‘ |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
f=i |
|
||
|
|
|
Су, — множество кодов, у которых кодовое |
рассто |
||||||||||||
|
|
|
яние с кодом Ку |
равно двум. Если |
и Dy = |
0 |
, |
стро |
||||||||
|
|
|
им аналогично D3V, |
. . . , Dy, до |
тех |
пор пока |
|
не най |
||||||||
Рис. 3-4. Граф |
дется Dy |
|
0 (п = |
1,2, 3, |
. . .). |
Пусть Dy = |
{/Сбх, • • •. |
|||||||||
K6g, . . |
. |
, Кбв}- |
|
|
|
|
|
|
|
|
|
|
||||
автомата с 5 со |
|
|
|
|
|
|
|
|
|
|
||||||
стояниями |
|
|
8. |
|
|
|
|
|
Для |
каждого |
Kög |
находи |
||||
|
|
|
— |
Kyf |2 — кодовые расстояния между |
К& |
|
и всеми |
|||||||||
использованными |
кодами |
Ку, (f = |
1, |
. . . , F). |
|
|
|
|
|
|
||||||
|
|
|
|
F |
|
|
|
|
|
|
|
|
|
|
|
|
9. |
Находим2 WB= 2 |
Weh g = 1, |
. . . , |
G. |
|
|
|
|
|
|
||||||
10. |
Из |
Dy |
выбираем |
|
Kv, у которого |
Wg = min Wg . Элемент у |
||||||||||
(состояние ау) кодируем кодом Ку- |
|
|
|
g e |
а |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
||||||||
W. |
Из |
матрицы М' |
вычеркнем строчки, в которых оба элемента |
закодированы, в результате чего получим новую матрицу, которую
также обозначим через М \ |
Если в матрице М' не осталось ни одной |
|||||
строчки, переходим к п. 12, |
иначе к п. 5. |
|
||||
12. |
Вычисляем функцию |
W = S fms, где fms= | К,п — Ks |2. |
||||
13. |
Конец. |
|
|
|
|
|
Оценкой качества кодирования по рассмотренному алгоритму мо |
||||||
жет служить |
число |
/г = |
W/p, где р — число переходов |
в автомате. |
||
Очевидно, что |
1 |
<<Д, |
причем чем меньше значение /г, |
тем ближе1 |
1Ниже вместо «элемент <хг, соответствующий закодированному состоянию
аа», будем говорить «закодированный элемент а Л». Кроме того, если вторая
строчка есть (ßj, а 4), то вычеркиваем и ее, таю как ее элементы уже закодиро ваны.
- Если в автомате имеется переход из |
в ау и из ау |
в о^, то \Vgj входит |
дважды в ll^g, см. ниже в примере переходы (а4, аъ) и (а6, |
а4). |
50
кодирование к соседнему, при котором к = 1. Эксперименты с про граммой на ЦВМ М220, проведенные для автоматов различной слож ности (число состояний М = 10-н 128), дали значения к в пределах
1,4 — 2,1 [19].
Без подробных пояснений приведем пример кодирования состояний авто мата, граф которого изображен на рис. 3-41:
12
24
25
|
|
|
М = |
32 |
• |
|
|
||
|
|
|
|
|
43 |
|
|
|
|
|
|
|
|
|
45 |
|
|
|
|
|
|
|
|
|
54 |
|
|
|
|
|
|
|
|
|
51 |
|
|
|
|
|
|
|
К1= 000; |
ЛГ2 = |
001. |
|
|||
Кодирование |
будем |
иллюстрировать |
картой |
|
Карно: |
||||
|
|
|
00 |
ТоТд |
И |
|
10 |
||
|
|
|
оГ |
|
|
||||
|
|
о |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
24 |
|
|
|
|
|
|
|
|
|
25 |
|
|
|
24 |
|
||
|
|
32 |
|
|
|
|
|||
М' |
= |
V= 4; |
М.і ■ |
43 |
В*= [2}. |
||||
43 |
|||||||||
45 |
|||||||||
|
|
45 |
|
|
|
|
|||
|
|
|
|
|
54 |
|
|||
|
|
54 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
||
|
|
51 |
|
|
|
|
|
|
|
|
|
С\ = {101, 011); |
D\ = С\ = |
{101, 011}. |
|||||
117101= I 101 — 001 |
1; |
117011 = |
I он — 001 |2= 1. |
||||||
Выбираем К, = |
101. |
|
Т-дТз |
|
|
|
|||
|
|
|
00 |
И |
|
10 |
|||
|
|
|
01 |
|
|
||||
|
|
0 |
1 |
'2 |
|
|
|
|
|
|
Ті |
|
|
|
|
|
|
I4
1Дугам графа ие приписаны входные и выходные сигналы, так как они не используются в алгоритме.
3* |
51 |
|
25 |
|
|
|
|
32 |
|
25 |
|
M ' |
43 |
Y = 5; |
Mr, = 45 |
ß 6= |2, 4, 1). |
|
45 |
|
54 |
|
|
54 |
|
51 |
|
|
51 |
|
|
|
|
СІ={011); C.‘ = [100, |
111); |
cj = |
{100, 010); |
|
||
|
D' = C\ U C.‘ U C\ = |
[Oil, |
100, 111, |
010}. |
|
||
r ou = |
|011 — 001 |з + I Oil — 101 141011 — 101 I- + |
I Oil — 000 p = |
|
||||
u + o o = |
I 100— 001 [2+1 100— 101 p + |
I 100— 101 p + |
|
= 1+ 2 + 2 + 2 = 7; |
|||
I 100 — 000 [2 = |
|
||||||
№nl = |
I 111 — 001 |2 + I 111 — 101 |2 + |
I 111 — 101 |2 + |
I 111 — 000 [2 = + |
' + |
|||
|
|
|
|
|
|
= 2 + 1 + |
1 + 3 = 7 |
U7„I0= |
1010— 001 | 2 + 1010— 101 |a + |
I 010 — 101 |2 + |
| 010 — 000 l2 = |
|
|||
|
|
|
|
|
|
= 2 + 3 + 3 + 1 = 9 . |
|
|
l^ioo = niin {U7он» Ч^юоі |
|
N^oiol- |
/ + = 100. |
|
||
|
|
TiT, |
|
|
|
|
|
|
00 |
01 |
|
11 |
|
10 |
|
32 |
Y = 3; |
32 |
Ba = (2, 4J. |
||
M ' |
43 |
||||
43 |
|
|
|
|
|
C' = {011); |
C*= |
{111}; |
D‘ = C' U C> = (Oil, |
111], |
|
И+и = |
1011— 001 |2 + |
I Oil -101 |2= |
1 + 2 = |
3; |
|
ll7m = |
}111 — 001 l3 + |
I 111 — 101 [2 = |
2 + 1 = |
3; |
|
|
r 0u = r m ; /Сз = 0ІІ. |
|
|
||
|
|
t2t3 |
|
|
|
|
00 |
01 |
11 |
10 |
|
1 2
CO
5 4
k = W/p = 10 : 8 = 1,25.
52