Я пытаюсь понять серый код и как он влияет на вывод. В принципе, конечной целью, которую я пытаюсь сделать, является создание схемы, основанной на таблице истинности. Я понимаю большую часть этого, за исключением части серого кода.Создать таблицу истинности на основе 3-битного серого кода
Предположим, что мне дана эта таблица истинности, где выход изменяется на каждом фронте нарастающего такта в соответствии с 3-битным серым кодом (последнее значение возвращается к первому значению). Как заполнить вывод? Должен ли я взять левое значение и выяснить его следующее значение в сером коде и заполнить его?
Inputs | Outputs
-------------------
S2 S1 S0 | N2 N1 N0
--------------------
0 0 0 | ? ? ?
0 0 1 |
0 1 0 |
0 1 1 |
1 0 0 |
1 0 1 |
1 1 0 |
1 1 1 |
Моя первая реакция: я вижу, что левые столбцы не имеют серого кода. Я бы просто заполнил его в соответствии с базовой серой кодовой последовательностью? 3-битная последовательность для серого кода 000, 001, 011, 010, 110, 111, 101, 100. Я бы просто заполнил правую сторону диаграммы, как 001, 011, 110, 010 и т. Д.?
Я думаю, что в вашей второй к последней строке ввода вы имеете в виду 1 1 1, и я думаю, что вы имели в виду, чтобы остановить после этого, не поставить 9-запись. –
см. Вторую таблицу в https://en.wikipedia.org/wiki/Gray_code для того, что я думаю, это ваш желаемый результат. Я мог бы вставить это как ответ, но, похоже, он отдает должное чужому делу. –
@JeremyKahan, вы правы, я внесла поправки –