В проектируемое устройство так заводится сигнал.
Подробнее. Есть 6 состояний, расположенных "по кругу", и объект может переходить за один шаг из текущего состояния в любое соседнее (либо по часовой стрелке, либо против). Каждый шаг несёт 1 бит информации. Задача - закодировать маршрут движения объекта и вывести эту информацию в последовательный регистр (его длина наращивается по потребностям реализации).
Самый естественный способ задать двоичные координаты в шестиугольнике - вложить его в двоичный куб, у которого откушены 2 вершины (в 2 бита всё равно не уложиться, значит, придётся передавать 3 бита).
X, Y, Z - координаты вершин куба (могут быть 0 или 1)
Вершины шестиугольника (в порядке их обхода по часовой стрелке):
(1,0,0)
(1,1,0)
(0,1,0)
(0,1,1)
(0,0,1)
(1,0,1)
Итак, на устройство передаются три линии X,Y,Z, несущие координаты вершины куба, соответствующей текущей вершине шестиугольника. Сохранять все три бита расточительно, т.к. каждый шаг описывается всего одним битом (движение либо по часовой стрелке, либо против). Итак, Главная Хитрость: присвоим сторонам шестиугольника значения 0 и 1, так чтобы при обходе шестиугольника (напр., по часовой стрелке) они чередовались: 0,1,0,1,0,1. Тогда, имея список значений рёбер вдоль маршрута, и зная начальную вершину, можно однозначно восстановить весь путь объекта (из каждой вершины идёт одно ребро с нулём и одно ребро с единицей). Мы тратим всего один бит на запись одного движения объекта - оптимальное кодирование. Как из X,Y,Z получить значение ребра? Заметим, что каждое ребро меняет только одну координату куба, а остальные две координаты постоянны. Если вдоль ребра меняется координата X, то берём в качестве значения ребра значение Y, если меняется координата Y, то берём значение Z, если меняется Z, берём X. Проверьте - получается искомое чередование нулей и единиц!
Поэтому на схему подаём
FA = X
FB = Y
FC = Z
DA = Y
DB = Z
DC = X
и получаем в регистре сдвига последовательность значений рёбер.
Вот для чего нужна эта схема.
В задаче я не сформулировал дополнительное ограничение, что из чисел X, Y, Z одновременно только одно или два равны единице, это чуть упростит схему, но не намного.