Цифровая логическая головоломка, логика «2 из 10 голосов» - PullRequest
1 голос
/ 20 апреля 2011

Я пытаюсь реализовать своего рода логику "2 из 10 голосов".Эта логика просто говорит, что если по крайней мере 2 входа из заданных 10 входов включены, то только выход должен быть включен.

Итак, у меня есть 10 цифровых входов, которые должны быть смешаны с логическими вентилями ИЛИ, И, вентилями NAND и т. Д., Триггерами RS, SR, инверторами ..., так что вышеупомянутая логика работает для 1 цифрового выхода.

Один прямой способ реализации этого состоит в том, чтобы взять комбинации 10C2, то есть 45 'И', которые затем будут забиты в 1 'ИЛИ', чтобы получить желаемый результат.

Однако япросто интересно какое-то хитрое решение, может кто-нибудь предложить, пожалуйста ...

1 Ответ

1 голос
/ 20 апреля 2011

11 5 input OR ворота, 5 2 input AND ворота. Разделите ваши входные данные следующим образом:

12345   67890
12340   67895
12390   67845
12890   67345
17890   62345

Для каждой строки введите левый набор входов в один вентиль ИЛИ, а справа - в другой. И эти выходы вместе, а затем возьмите ИЛИ из этих 5 И в качестве результата.

Идея состоит в том, чтобы для любой пары входов одна из приведенных выше строк всегда имела одну из них слева, а другую - справа.

...