Смекни!
smekni.com

Построение кодопреобразователя (стр. 6 из 8)

Второй принцип кодирования соответствует противоположному подходу и ориентирован на возможность получения значительных упрощений ФАЛ в результате минимизации. Для кодирования выходных сигналов с максимальным количеством ссылок в таблице выходов используется код с максимальным количеством единиц, а для кодирования следующих по количеству ссылок в таблице выходных сигналов использовать коды с уменьшающимся количеством единиц в кодовых комбинациях. Этот принцип также без оговорок применим для кодирования состояний блока памяти на D триггерах для случая применения элементной базы, требующей минимизации для своей реализации. Минимальный по материальным затратам вариант кодирования выбирается из конечных результатов при использовании всевозможных вариантов кодирования.

Таблица состояний и выходов нормализованного автомата

Вх/сост G1 G2 G3 G4 G5 G6 G7 G8 G9 G10 G11 G12 G13
0 G2/0 G3/0 G4/0 G5/0 G10/0 G11/0 G12/0 G13/0 G16/0 G17/0 G18/0 G20/0 G21/0
1 G6/0 G7/0 G8/0 G9/0 -/- G14/0 -/- G15/0 -/- -/- -/- G19/0 -/-
Вх/сост G14 G15 G16 G17 G18 G19 G20 G21 G23 G24 G25 G26
0 G23/0 G26/0 G22/0 G1/0 G13/0 G16/0 G10/1 G17/1 G25/1 G26/1 G21/0 G22/1
1 -/- -/- -/- -/- G15/1 -/- -/- -/- G24/1 -/- -/- -/-

Закодируем состояния тремя разрядами:

Состояние/код Q4Q3Q2Q1Q0
G1 00000
G2 00001
G3 00010
G4 00011
G5 00100
G6 00101
G7 00110
G8 00111
G9 01000
G10 01001
G11 01010
G12 01011
G13 01100
G14 01101
G15 01110
G16 01111
G17 10000
G18 10001
G19 10010
G20 10011
G21 10100
G22 10101
G23 10110
G24 10111
G25 11000
G26 11001
Q Q* D
0 0 0
0 1 1
1 0 2
1 1 1

Таблица переходов D-триггера:


Для случая D-триггера кодированная таблица возбуждения блока памяти совпадает с кодированной таблицей переходов:

Состояние/код Q4Q3Q2Q1Q0 0 1
D4D3D2D1D0 D4D3D2D1D0
G1 00000 00001 00101
G2 00001 00010 00110
G3 00010 00011 00111
G4 00011 00100 01000
G5 00100 01001 00000
G6 00101 01010 01101
G7 00110 01011 00000
G8 00111 01100 01110
G9 01000 01111 00000
G10 01001 10000 00000
G11 01010 10001 00000
G12 01011 10011 10010
G13 01100 10100 00000
G14 01101 10110 00000
G15 01110 11001 00000
G16 01111 10101 00000
G17 10000 00000 00000
G18 10001 01100 01110
G19 10010 01111 00000
G20 10011 01001 00000
G21 10100 10000 00000
G22 10101 00000 00000
G23 10110 11000 10111
G24 10111 11001 00000
G25 11000 10100 00000
G26 11001 10101 00000

Выполним конкатенацию кодов входных сигналов и кодов состояний по порядку следования переменных xQ2Q1Q0 и заполним таблицу истинности для функций выхода и возбуждений.

Таблица истинности функций выходов и входов:

XQ4Q3Q2Q1Q0 D4D3D2D1D0 Y
000000 00001 0
000001 00010 0
000010 00011 0
000011 00100 0
000100 01001 0
000101 01010 0
000110 01011 0
000111 01100 0
001000 01111 0
001001 10000 0
001010 10001 0
001011 10011 0
001100 10100 0
001101 10110 0
001110 11001 0
001111 10101 0
010000 00000 0
010001 01100 1
010010 01111 1
010011 01001 1
010100 10000 1
010101 00000 1
010110 11000 1
010111 11001 1
011000 10100 1
011001 10101 1
100000 00101 0
100001 00110 0
100010 00111 0
100011 01000 0
100100 00000 0
100101 01101 0
100110 00000 0
100111 01110 0
101000 00000 0
101001 00000 0
101010 00000 0
101011 10010 0
101100 00000 0
101101 00000 0
101110 00000 0
101111 00000 0
110000 00000 0
110001 01110 1
110010 00000 1
110011 00000 1
110100 00000 1
110101 00000 1
110110 10111 1
1101111 00000 1
111000 00000 1
111001 00000 1

Поскольку числовая СДНФ форма ФАЛ имеет самую компактную запись и позволяет при необходимости перейти к любому другому описанию этой функции, по таблице истинности функций выходов и входов запишем именно в числовой форме функции выходов Y, D1, D2, D3, D4, D5от
xQ4Q3Q2Q1Q0.

Y = 010001v010010v010011v010100v010101v010110v010111v011000v011001v

v110001v110010v110011v110100v110101v110110v110111v111000v111001

D4 = 001001v001010v001011v001100v001101v001110v001111v010100v

v010110v010111v011000v011001v101011v110110

D3 = 000100v000101v000110v000111v001000v001110v010001v010010v

v010011v010110v010111v100011v100101v100111v110001

D2 = 000011v000111v001000v001100v001101v001111v010001v010010v

v011000v011001v100000v100001v100010v100101v100111v110001v110110

D1 = 000001v000010v000101v000110v001000v001011v001101v010010v

V100001v100010v100111v101011v110001v110110

D0= 000000v000010v000100v000110v001000v001010v001011v001110v

V001111v010010v010011v010111v011001v100000v100010v100101v110110

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

Минимизирующие карты

Одним из видов представления ФАЛ от небольшого числа переменных (как правило, не больше 5) являются диаграммы Карно или Вейча, которые строятся на развёртках многомерных кубов на плоскость. При этом вершины куба представляются клетками карты, координаты которых совпадают с координатами соответствующих вершин куба. Карта заполняется путём пометки кодов вершин, соответствующих наборам, на которых ФАЛ равна единице. Другими символами помечаются коды наборов, на которых ФАЛ не определена. Таким образом, диаграмма на карте Карно или Вейча соответствует представлению ФАЛ в СДНФ. Если строится карта Карно для нечётного количества переменных в наборе, то на расстоянии единицы слева от исходной карты для чётного количества переменных изображается повёрнутая на 180° вокруг оси, проходящей между исходной и новой картами, новая карта той же размерности. После этого в старшем разряде двоичных кодов наборов исходной карты добавляются незначащие нули, а в старшем разряде новой карты добавляются единицы. Эти две карты объединяются в одну большей размерности.

Если строится карта Карно для чётного количества переменных в наборе, то на расстоянии единицы снизу от исходной карты для нечётного количества переменных изображается повёрнутая на 180° вокруг оси, проходящей между исходной и новой картами, новая карта той же размерности. После этого в старшем разряде двоичных кодов наборов исходной карты добавляются незначащие нули, а в старшем разряде новой карты добавляются единицы. Эти две карты объединяются в одну большей размерности.