From WikiChip
Difference between revisions of "majority gate"

(CMOS)
Line 15: Line 15:
 
A 3-input MAJ gate (MAJ3) can be implemented as <math>(a \land b) \lor (a \land c) \lor (b \land c)</math>.
 
A 3-input MAJ gate (MAJ3) can be implemented as <math>(a \land b) \lor (a \land c) \lor (b \land c)</math>.
 
===CMOS===
 
===CMOS===
However the naive implementation will result in up to 30 transistors. Since <math>\text{MAJ}(a, b, c) = \overline{\overline{\text{MAJ}(a, b, c)}}</math>, we can defined as <math>\text{MAJ}(a, b, c) = \overline{\overline{(a \land b) \lor (a \land c) \lor (b \land c)}}</math> and that can be implemented using a single [[AOI|AOI222]] which is defined as <math>\text{AOI222}(a, b, c, d, e, f) = \overline{(a \land b) \lor (c \land d) \lor (e \land f)}</math> - i.e. <math>\text{MAJ}(a, b, c) = \overline{AOI222(a, b, c, a, b, c)}</math>. It can also be implemented using a [[OAI|OAI222]] gate the very same way. Since <math>\text{OAI222}(a, b, c, d, e, f) = \overline{(a \lor b) \land (c \lor d) \land (e \lor f)}</math>, then <math>\text{MAJ}(a, b, c) = \overline{OAI222(a, b, c, a, b, c)}</math>
+
However the naive implementation will result in up to 30 transistors. Since
 +
:<math>\text{MAJ}(a, b, c) = \overline{\overline{\text{MAJ}(a, b, c)}}</math>,
 +
we can define MAJ3 as
 +
:<math>\text{MAJ}(a, b, c) = \overline{\overline{(a \land b) \lor (a \land c) \lor (b \land c)}}</math>
 +
and that can be implemented using a single [[AOI|AOI222]] which is defined as
 +
:<math>\text{AOI222}(a, b, c, d, e, f) = \overline{(a \land b) \lor (c \land d) \lor (e \land f)}</math>
 +
note that by substituting ''a, b, and c'' for ''d, e, and f'' we get MAJ:
 +
:<math>\text{MAJ}(a, b, c) = \overline{AOI222(a, b, c, a, b, c)}</math>
 +
It can also be implemented using a [[OAI|OAI222]] gate the very same way. Since
 +
:<math>\text{OAI222}(a, b, c, d, e, f) = \overline{(a \lor b) \land (c \lor d) \land (e \lor f)}</math>,
 +
then
 +
:<math>\text{MAJ}(a, b, c) = \overline{OAI222(a, b, c, a, b, c)}</math>
 
[[File:maj gate (cmos).svg|left|200px]]
 
[[File:maj gate (cmos).svg|left|200px]]
 
{{clear}}
 
{{clear}}
 +
 
== MAJ5 ==
 
== MAJ5 ==
 
{{empty section}}
 
{{empty section}}

Revision as of 13:00, 18 February 2016

MAJ Gate
Typical Symbol
maj gate.svg
Functional
maj gate functional.gif
Truth Table
3-input Majority Gate
Inputs Outputs
A B C Q
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
Other Gates
Buffer TriBuffer NOT
AND OR XOR
NAND NOR XNOR
Trans AOI OAI
MAJ INH IMPLY
NIMPLY
Other Components
Plexers
MUX DEMUX Encoder
Decoder Pri-Encoder
ALU
Adder Subtractor Multiplier
Divider Shifter Rotator
MAC Comparator Negator
Memory
D latch D flip-flop SR latch
JK flip-flop T flip-flop Register
Register file SRAM Counter
ROM CAM DRAM
I/O
Shift register SIPO PISO
ADC DAC

The majority gate (MAJ gate) is a logic gate that implements the majority function - a device that outputs a HIGH when the majority of its inputs are HIGH, otherwise it outputs a LOW.

Applications

New text document.svg This section is empty; you can help add the missing info by editing this page.

MAJ3

MAJ3 gate.svg A 3-input MAJ gate (MAJ3) can be implemented as Equation left-parenthesis a logical-and b right-parenthesis logical-or left-parenthesis a logical-and c right-parenthesis logical-or left-parenthesis b logical-and c right-parenthesis .

CMOS

However the naive implementation will result in up to 30 transistors. Since

Equation MAJ left-parenthesis a comma b comma c right-parenthesis equals ModifyingAbove Above ModifyingAbove MAJ left-parenthesis a comma b comma c right-parenthesis With bar With bar ,

we can define MAJ3 as

Equation MAJ left-parenthesis a comma b comma c right-parenthesis equals ModifyingAbove Above ModifyingAbove left-parenthesis a logical-and b right-parenthesis logical-or left-parenthesis a logical-and c right-parenthesis logical-or left-parenthesis b logical-and c right-parenthesis With bar With bar

and that can be implemented using a single AOI222 which is defined as

Equation AOI 222 left-parenthesis a comma b comma c comma d comma e comma f right-parenthesis equals ModifyingAbove left-parenthesis a logical-and b right-parenthesis logical-or left-parenthesis c logical-and d right-parenthesis logical-or left-parenthesis e logical-and f right-parenthesis With bar

note that by substituting a, b, and c for d, e, and f we get MAJ:

Equation MAJ left-parenthesis a comma b comma c right-parenthesis equals ModifyingAbove upper A upper O upper I Baseline 222 left-parenthesis a comma b comma c comma a comma b comma c right-parenthesis With bar

It can also be implemented using a OAI222 gate the very same way. Since

Equation OAI 222 left-parenthesis a comma b comma c comma d comma e comma f right-parenthesis equals ModifyingAbove left-parenthesis a logical-or b right-parenthesis logical-and left-parenthesis c logical-or d right-parenthesis logical-and left-parenthesis e logical-or f right-parenthesis With bar ,

then

Equation MAJ left-parenthesis a comma b comma c right-parenthesis equals ModifyingAbove upper O upper A upper I Baseline 222 left-parenthesis a comma b comma c comma a comma b comma c right-parenthesis With bar
maj gate (cmos).svg

MAJ5

New text document.svg This section is empty; you can help add the missing info by editing this page.

See also