From WikiChip
Editing majority gate

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

This page supports semantic in-text annotations (e.g. "[[Is specified as::World Heritage Site]]") to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the getting started, in-text annotation, or inline queries help pages.

Latest revision Your text
Line 1: Line 1:
{{title|Majority Gate (MAJ)}}{{logic device
+
{{title|Majority (MAJ) Gate}}{{logic device
 
|title            = MAJ Gate
 
|title            = MAJ Gate
 
|symbol title    = Typical Symbol
 
|symbol title    = Typical Symbol
Line 7: Line 7:
 
}}
 
}}
 
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]].
 
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 ==
 
{{empty section}}
 
  
 
== MAJ3 ==
 
== MAJ3 ==
[[File:MAJ3 gate.svg|frameless|right|250px]]
+
<span style="display:inline-block;float: right; margin: 5px;">[[File:MAJ3 gate.svg|250px]]</span>
[[File:maj gate (cmos).svg|thumb|right|200px|Maj gate on CMOS (AOI222)]]
+
A 3-input MAJ gate (MAJ3) can be implemented as <math>(a \land b) \lor (a \land c) \lor (b \land 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 <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>.
A 3-input MAJ gate (MAJ3) can be implemented as <math>(a \land b) \lor (a \land c) \lor (b \land c)</math>.
 
===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 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 [[Wikipedia:AND-OR-Invert|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>
 
 
 
== MAJ5 ==
 
A MAJ5 can be naively described as the OR of 10 MAJ3 gates. It can be simplified down to 10 AND gates and 9 OR gates by rewriting the terms:<ref>Ralph L. DeCarli (2009). [https://www.sysmatrix.net/~omnivore/MajorityGate.html The Majority Gate]</ref>
 
:<math>\text{MAJ5}(A, B, C, D, E) = ( A \land ( ( B \land (C \lor D \lor E) ) \lor ( C \land (D \lor E) ) \lor (D \land E) ) ) \lor ( B \land ( C \land (D \lor E) ) \lor (D \land E) ) \lor ( C \land D \land E )</math>
 
 
 
This is probably optimal, since the optimal sorting network of 5 terms has 9 comparisons.
 
 
 
== See also ==
 
* [[logic gates]]
 
* [[compound logic gates]]
 

Please note that all contributions to WikiChip may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see WikiChip:Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)

This page is a member of 1 hidden category: