e=a1 v a3 d=x1(a0 v a2) f=a0x1
h=x2e g=a1x2 v a4x4 p=a8x7
r=f v h q=a7x6 n=h v q
M = n v px8 v a9x9
E+1 = d v x2e v a4 v a5 v a6 v a7x6 v px8
D1 = n
D4 = q
D8 = h
y1 = r
y2 = d
y3 = r v a3x2x3
y4 = g v a5x5
y5 = a6
y6 = g
y7 = a8x7
y8 =a9x9
Цена комбинационной схемы по Квайну составляет С=57.
Унитарный способ кодирования не может быть использован, так как n намного меньше N , где N наибольшее число ЭП (N=10), а n наименьшее число ЭП (n=log2 16).
Сравнивая относительно аппаратурных затрат варианты построения автомата Мили на RS, D, T- триггерах и на счетчике можно убедиться что цена логических выражений для функций возбуждения оказывается приблизительно равной: для RS цена - 59, для D цена – 59, для T цена 61, а для счетчика 57.
8 Синтез МПА в соответствии с моделью Мура
8.1 Построение графа автомата.
На основе отмеченной ГСА построен граф автомата Мура (рисунок 5).Граф автомата Мура имеет 11 вершин,соответствующих состояниямавтомата b0,b1,...,b10, каждое из которых определяет наборы выходныхсигналов, управляющего автомата, а дуги графа отмеченывходными сигналами, действующими на данном переходе.
8.2 Построение структурной таблицы переходов.
Из приведенного рисунка видно, что с увеличением количества состояний автомата наглядность графа теряется и больше удобств представляет табличный способ задания автомата.
Таблица 15. Прямая структурная таблица переходов и выходов автомата Мура.
Исходное состояние bm | Выходные сигналы | Код bm | Состояние перехода bs | Код bs | Входной сигнал | Функции возбуждения D-триггеров |
b0 | - | 0001 | b0 b1 | 0001 0111 | X1 X1 | D4 D2D3D4 |
b1 | y1,y2,y3 | 0111 | b2 b12 | 1110 0011 | X2 X2 | D1D2D3 D3D4 |
b2 | y4,y6 | 1110 | b3 b4 | 1010 0110 | X1 X1 | D1D3 D2D3 |
b3 | - | 1010 | b3 b4 | 1010 0110 | X1 X1 | D1D3 D2D3 |
b4 | y2 | 0110 | b5 b6 b7 b8 b12 | 1100 0101 0010 0000 0011 | X2X3 X2X3X4 X2X3X4X5 X2X3X4X5 X2 | D1D2 D2D4 D3 D3D4 |
b5 | y3 | 1100 | b6 b7 b8 | 0101 0010 0000 | X4 X4X5 X4X5 | D2D4 D3 |
b6 | y4,y6 | 0101 | b7 b8 | 0010 0000 | X5 X5 | D3 |
b7 | y4 | 0010 | b8 | 0000 | 1 | |
b8 | y5 | 0000 | b0 b7 b8 b9 b10 b11 | 0001 0010 0000 1001 0100 1000 | X6X7X8 X6X5 X6X5 X6X7 X6X7X8X9 X6X7X8X9 | D4 D3 D1D4 D2 D1 |
b9 | y7 | 1001 | b0 b9 b10 b11 | 0001 1001 0100 1000 | X7X8 X7 X7X8X9 X7X8X9 | D4 D1D4 D2 D1 |
b10 | - | 0100 | b10 b11 | 0100 1000 | X9 X9 | D2 D1 |
b11 | y8 | 1000 | b0 | 0001 | 1 | D4 |
b12 | y1,y3 | 0011 | b10 b11 | 0100 1000 | X9 X9 | D2 D1 |
8.3 Кодирование на D-триггерах
В таблице 15 представлена прямая структурная таблица переходови выходов автомата Мура. Так как каждому состоянию автомата Мурасоответствует свой набор выходных сигналов, то столбец выходныхсигналов в таблице помещен следом за столбцом исходных состоянийавтомата. Проанализируем синтез автомата Мура на D-триггерах.
При кодировании состояний автомата, в качестве элементов памяти которого выбраны D-триггеры, следует стремиться использовать коды с меньшим числом "1" в кодовом слове. Для кодирования 13 состояний (b0, b1, ... , b12) необходимо 4 элемента памяти и из множества 4-разрядных двоичных слов надо выбрать код каждого состояния, ориентируясь на граф и таблицу переходов: чем чаще в какое-либо состояние происходят переходы из других состояний, то есть чем чаще оно встречается в столбце bs таблицы, тем меньше в коде этого состояния следует иметь "1". Для этого построим таблицу, в первой строке которой перечислены состояния, в которые есть более одного перехода, а во второй - состояния, из которых осуществляются эти переходы.
Таблица 16
bs | b0 | b1 | b2 | b3 | b4 | b5 | b6 | B7 | ||
{bm} | b0b8b9b11 | b0 | b1 | b2b3 | b2b3 | b4 | b4b5 | b4b5b6b8 | ||
bs | b8 | b9 | b10 | b11 | b12 | |||||
{bm} | b4b5b6b7b8 | b8b9 | b8b9b10b12 | b8b9b10b12 | b1b4 |
Коды состояний автомата определим по выше описанному методу кодирования состояний при использовании D-триггеров.
Таблица 17
b | b0 | b1 | b2 | b3 | b4 | b5 | b6 |
K(b) | 0001 | 0111 | 1110 | 1010 | 0110 | 1100 | 0101 |
b | b7 | b8 | b9 | b10 | b11 | b12 | |
K(b) | 0010 | 0000 | 1001 | 0100 | 1000 | 0011 |
8.4 Получение логических выражений для функций возбуждения D-триггеров и функций выходов.
Далее коды состояний заносим в соответствующие столбцы прямойтаблицы переходов (таблица 15) и по известному правилу формируемлогические выражения для функций возбуждения.
D1= b1x2 v b2x1 v b3x1 v b4x2 v b8x6x7 v b8x6x7x8x9 v b9x7 v b10x9 v b12x9
D2= b0x1 v b1x2 v b2x1 v b3x1 v b4x2(x3 v x3x4) v b5x4 v b8x6x7x8x9 v b9x7x8x9 v b10x9 v
v b12x9
D3= b0x1 v b1 v b2 v b3 v b4x2x3x4x5 v b4x2 v b5x4x5 v b6x5 v b8x6x4
D4= b0 v b1x2 v b4x2x3x4 v b4x2 v b5x4 v b8x6(x7x8 v x7) v b9(x7x8 v x7) v b11
Так как для автомата Мура функции выходов не зависят от входныхсигналов, то в соответствии со вторым столбцом таблицы 15 записываемлогические выражения для управляющих сигналов.
y1= b1 v b12
y2= b1 v b4
y3= b1 v b5 v b12
y4= b2 v b6 v b7
y5= b8
y6= b2 v b6
y7= b9
y8=b11
Выделив общие части получаем:
d=b2 v b6
g=b0x1
h=b1x2
i=b4x2
j=x4x5
k=b4x2x3
m=b8x6
n=x7x8
r=b2 v b3
q=mvb9
D1= h v x1r v k v m(x7 v nx9) v b9x7 v b10x9 v b12x9
D2= g v h v x1r v i(x3 v x3x4) v b5x4 v nx9q v x9(b10 v b12)
D3= g v b1 v r v j(k v b5) v x5(b6 v b8x6)
D4= b0 v x2(b1 v b4) v x4(k v b5) v (x7x8 v x7)q v b11
y4= d v b7
y6= d
Цена комбинационной схемы по Квайну для автомата Мура,построенного на D-триггерах, равна С =109, причем в схеме предполагается использовать 4-входовойдешифратор.
8.5 Кодирование на RS-триггерах
Однаковкачествеэлементов памяти возможноиспользование нетолько D-триггеров, также используются RS-триггеры. Для этого сначала выпишем матрицу М - матрицу всехвозможныхпереходов автомата. Состояниям автомата b0 и b1 присвоим коды:К(b0)=0000,К(b1)=0001. Далее из матрицы М составим подматрицу М2, в которую запишем переходы из 2 состояния. В множество В2 выпишем коды уже закодированных состояний, а в множество C0 и C1 коды с кодовым расстоянием "1" от кодов В2. Для матрицы М2 не имеет значения какой из кодов выбрать, пусть кодом b2 будет 0011. Закодировав состояние b2, выпишем матрицу М3 для кодирования следующего состояния автомата.Кодирование состояния b3 аналогично b2, причем для определения наиболее выгодного кода будем находить суммы кодовых расстояний между множествами Вi и Di. Код с наименьшей суммой и является наиболееоптимальным, когда все суммы получились одинаковыми выбираем любой код и кодируем это состояние.
01
12 k1=0001
1 1223 12 B2 ={0001}
24 M2= 23 C1={0011,0101,1001}
M= 3324 D2={0011,0101,1001}
34 W0011=1
45 W0101=1
46 W1001=1
47 k2=0011
484 12 23 B3={0011}