19.1.3. КОД ГРЕЯ
Во многих случаях необходим числовой код, построенный таким образом, чтобы при переходе от одного числа к следующему изменялся всегда только один двоичный разряд. Этим свойством, в противоположность всем рассмотренным ранее кодам, обладает код Грея. На рис. 19.10 он сопоставлен с двоичным
Рис. 19.10. Сравнение кода Грея с двоичным.
кодом. Для его получения следует при переходе к следующему по старшинству разряду числа оставить без изменения все младшие разряды и приписать спереди единицу. При этом количество записанных нулей не должно увеличиваться.
Код Грея не позволяет выполнять арифметические операции. Поэтому его используют только в тех случаях, когда это дает существенные преимущества, и после этого снова переходят к двоичному коду.
Как можно видеть из рис. 19.10, для преобразования двоичного кода в код Грея можно использовать следующие операции:
или в общем виде
Для старшего разряда
-разрядного числа эта операция упрощается, поскольку
. В данном случае
Эта зависимость следует также и из рис. 19.10.
Рис. 19.11. Преобразование двоичного кода в код Грея.
Рис. 19.12. Преобразование кода Грея в двоичный.
Таким образом, для преобразования АГ-разрядного двоичного числа требуется
элементов ИСКЛЮЧАЮЩЕЕ ИЛИ, включенных согласно рис. 19.11.
Преобразование кода Грея в двоичный также производится с помощью элементов ИСКЛЮЧАЮЩЕЕ ИЛИ. Однако оно выглядит несколько сложнее. Для
-разрядного числа
и
Простейшая реализация этого выражения возможна с помощью последовательного соединения элементов ИСКЛЮЧАЮЩЕЕ ИЛИ, как показано на рис. 19.12. Так же как и ранее, здесь используются
элементов. Правда, в этом случае время задержки схемы значительно больше. Для младшего разряда оно составляет
Поэтому в случае многоразрядных чисел целесообразно, насколько возможно, выполнять необходимые логические операции параллельно. Для этого следует входы схемы подключить попарно к элементам ИСКЛЮЧАЮЩЕЕ ИЛИ, а их выходы также попарно соединить с входами следующих элементов.