Def === МАЖОРИТАРНЫЙ ЭЛЕМЕНТ - элемент производящий "голосование". Передает на выход величину соответствующую большинству из входных. Всегда имеет нечетное количество входов.
Пример мажоритарного элемента 2 из 3.
------------- F2 F1 F0 | F ---------+--- 0 0 0 | 0 0 0 1 | 0 0 1 0 | 0 0 1 1 | 1 1 0 0 | 0 1 0 1 | 1 1 1 0 | 1 1 1 1 | 1 ---------+--- F = F1F2 + F1F3 + F2F3 номер отказавшего канала: a0 = F1 (+) F3 a1 = F2 (+) F3 Результат моделирования:
Мажоритарный элемент 3 из 5.
---------------- A B C D E | M5 -----------+---- 0 0 0 0 0 | 0 0 0 0 0 1 | 0 0 0 0 1 0 | 0 0 0 0 1 1 | 0 0 0 1 0 0 | 0 0 0 1 0 1 | 0 0 0 1 1 0 | 0 0 0 1 1 1 | 1 0 1 0 0 0 | 0 0 1 0 0 1 | 0 0 1 0 1 0 | 0 0 1 0 1 1 | 1 0 1 1 0 0 | 0 0 1 1 0 1 | 1 0 1 1 1 0 | 1 0 1 1 1 1 | 1 1 0 0 0 0 | 0 1 0 0 0 1 | 0 1 0 0 1 0 | 0 1 0 0 1 1 | 1 1 0 1 0 0 | 0 1 0 1 0 1 | 1 1 0 1 1 0 | 1 1 0 1 1 1 | 1 1 1 0 0 0 | 0 1 1 0 0 1 | 1 1 1 0 1 0 | 1 1 1 0 1 1 | 1 1 1 1 0 0 | 1 1 1 1 0 1 | 1 1 1 1 1 0 | 1 1 1 1 1 1 | 1 ---------------- F = ABC + ABD + ABE + ACD +ACE + ADE + BCD + BCE + BDE + CDE
Создание мажоритарного элемента из сумматора:
Логика на мажоритарных элементах: +-----+ x --| M3 | y --| |-- OR 1 --| | +-----+ +-----+ x --| M3 | y --| |-- AND 0 --| | +-----+ +-----+ x --| M5 | y --| | z --| |--- M3 0 --| | 1 --| | +-----+ +-----+ x --| M5 | y --| | z --| |-- OR3 1 --| | 1 --| | +-----+ +-----+ x --| M5 | y --| | z --| |-- AND3 0 --| | 0 --| | +-----+
Триггеры на мажоритарных элементах: -------------- +-----+ x y | Q{n+1} x --| M3 | ------+------- y --| |---o--- Q 0 0 | 0 +--| | | 0 1 | Q{n} | +-----+ | 1 0 | Q{n} +------------+ 1 1 | 1 -------------- +-----+ x --| M5 | y --| | 0 --| |---o---- Q 1 --| | | +--| | | | +-----+ | | | +------------+ +-----+ ---------------- x --| M5 | x y z | Q{n+1} y --| | --------+------- z --| |---o---- Q 0 0 0 | 0 +--| | | 0 0 1 | Q{n} | | | | 0 1 0 | Q{n} o--| | | 0 1 1 | Q{n} | +-----+ | 1 0 0 | Q{n} | | 1 0 1 | Q{n} +------------+ 1 1 0 | Q{n} 1 1 1 | 1 ----------------
Мажоритарные элементы используется для голосования или для создания отказоустойчивых систем: +---------+ +----+ | Block A |-----| | +---------+ | | | | +---------+ | | | Block B |-----| M3 |------ Result +---------+ | | | | +---------+ | | | Block C |-----| | +---------+ +----+ Все блоки выполняют одно и тоже на одних и тех же данных паралельно. Если один блок выйдет из строя то результат все равно будет правильным.
С увеличением количества входов сложность мажоритарного элемента быстро и сильно увеличивается. Как правило мажоритарные элементы с числом входов более 7 не производят. (Потому что число перестановок очень быстро растет). Конечно есть микросхемы выполняющие функции мажоритарных элементов на 30-60 входов, но они организованы по другому принципу (входы открывают ключи, они заряжают конденсаторы - затем ключи закрывают, открывают внутренние связи и считаю время за которое весь набор конденсаторов будет разряжен).