Синтезировать автомат для последовательного преобразования числа X, подаваемого на вход автомата последовательно старшими разрядами, представленного в q-ичной системе СС, в n-разрядный двоичный код Грея. По окончании переработки двоичного числа автомат должен устанавливаться в начальное состояние.
Вариант q n
20.1 2 4
Решение
Код Грея - двоичный код, в котором две «соседние» (в упорядоченном наборе) кодовые комбинации различаются только цифрой в одном двоичном разряде. Значения разрядов yi кода Грея yn-1, …, y1, y0, могут быть определены по правилу:
yi = xi xi+1,
y3 = x3,
где xi – значения разрядов двоичного числа xn-1, …, x1, x0 для i = 0, 1, …, n-1.
Двоичное число последовательно поступает на вход автомата, начиная со старшего разряда xn-1(x3). Соответствие двоичного кода числа X и его представления в 4-разрядном коде Грея отражено в таблице 1.
Таблица 1
№ Число X в двоичной СС 4-разрядный двоичный код Грея
x3 x2 x1 x0 y3 y2 y1 y0
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1
2 0 0 1 0 0 0 1 1
3 0 0 1 1 0 0 1 0
4 0 1 0 0 0 1 1 0
5 0 1 0 1 0 1 1 1
6 0 1 1 0 0 1 0 1
7 0 1 1 1 0 1 0 0
8 1 0 0 0 1 1 0 0
9 1 0 0 1 1 1 0 1
10 1 0 1 0 1 1 1 1
11 1 0 1 1 1 1 1 0
12 1 1 0 0 1 0 1 0
13 1 1 0 1 1 0 1 1
14 1 1 1 0 1 0 0 1
15 1 1 1 1 1 0 0 0
Для абстрактного синтеза используем дерево управления.
Входные последовательности: X = {0, 1}.
Выходные последовательности: Y = {0, 1}.
Базис: {V0, V1, V2, V3, V4, V5, V6}.
Каждой вершине базиса ставим в соответствие состояние автомата Мили
. Составим граф автомата Мили, вершины которого соответствуют состояниям, а дуги – переходам между ними. Дугам приписывается входной сигнал, обеспечивающий данный переход и выходной сигнал, который вырабатывается на данном переходе (рис. 1).
Рисунок 1
Определим число триггеров, необходимое для синтеза автомата:
log2N = log27 = 3, где N-число состояний автомата, следовательно, потребуется три разрядных триггера с выходами Q2, Q1 и Q0.
Закодируем состояния автомата (табл