A Comparative Study of Majority / Minority Logic Circuit Synthesis Methods for Post-CMOS Nanotechnologies

The physical limitations of complementary metal-oxide semiconductor (CMOS) technology have led many researchers to consider other alternative technologies. Quantum-dot cellular automate (QCA), single electron tunneling (SET), tunneling phase logic (TPL), spintronic devices, etc., are some of the nanotechnologies that are being considered as possible replacements for CMOS. In these nanotechnologies, the basic logic units used to implement circuits are majority and/or minority gates. Several majority/minority logic circuit synthesis methods have been proposed. In this paper, we give a comparative study of the existing majority/minority logic circuit synthesis methods that are capable of synthesizing multi-input multi-output Boolean functions. Each of these methods is discussed in detail. The optimization priorities given to different factors such as gates, levels, inverters, etc., vary with technologies. Based on these optimization factors, the results obtained from different synthesis methods are compared. The paper also analyzes the optimization capabilities of different methods and discusses directions for future research in the synthesis of majority/minority logic networks.


Introduction
The complementary metal-oxide semiconductor (CMOS) technology has played a vital role in constructing integrated systems for the past four decades.This technology has provided the requirements of implementing high-density, high-A.Almatrood, H. Singh DOI: 10.4236/eng.2017.910054 891 Engineering speed and low-power very large scale integrated systems.However, the fundamental physical limits of this technology have been reached [1].Many researches have introduced different nanotechnologies such as quantum-dot cellular automate (QCA) [2]- [7], single electron tunneling (SET) [8] [9], tunneling phase logic (TPL) [10], spintronic devices [11], and many other nanotechnologies.
These nanotechnologies are being considered as possible replacements for CMOS technology and expected to provide further scaling down of feature sizes and other features of integrated systems.In CMOS technology, logic NAND, NOR and NOT gates are the basic units used to implement circuits.However, the post-CMOS nanotechnologies use logic majority and/or minority gates.
Traditional Boolean logic functions are simplified and expressed in two standard forms which are sum of products (SOP) and product of sums (POS) in terms of logic AND, OR and NOT gates.These standard forms are always produced using logic reduction methods that target CMOS technology.However, these methods are not efficient enough to produce simplified expressions in terms of logic majority or minority for post-CMOS nanotechnologies due to the complexity of multi-level majority and minority circuits.Since the function of minority gate is just the complement of majority gate, a minority logic network can be easily produced from its equivalent majority network.This process can be done by using De Morgan's theorem which is based on the use of inverters.
Thus, by having an efficient majority logic synthesis method, both majority and minority logic networks can be obtained.
The history of research in majority logic synthesis dates back to the 1960s.
Karnaugh-map (K-map) [12], reduced-unitized-table [13], and Shannon's decomposition principle [14] are some of these methods that were developed to synthesize majority logic network.However, these methods are suitable only for small networks because they are used to synthesize majority networks by hand.
Other majority synthesis methods were introduced based on geometric interpretation of the three-variable Boolean functions to convert sum of products expressions into optimal majority logic networks [15] [16].However, these methods can synthesize only up to three-variable Boolean functions.For synthesizing majority logic networks with more than three-variable, several approaches have been proposed based on different concepts [17]- [22].Methods in [17] [18] are developed based on genetic algorithm [23] [24] and the concept of Boolean disjointness, respectively.Other approaches described in [19] [20] [21] [22] use a standard logic synthesis tool which is sequential interactive synthesis (SIS) [25] to decompose Boolean functions into three-feasible or four-feasible networks.
The decomposed networks are then converted into their equivalent majority expressions based on different techniques.Recently, Wang et al. [26] have proposed a new comprehensive majority/minority synthesis method.This method also uses SIS tool.However, the decomposition methods used in this approach is developed to decompose input Boolean functions into both three-feasible and four-feasible networks.Based on a developed table that contains optimal equiva-A.Almatrood, H. Singh DOI: 10.4236/eng.2017.910054892 Engineering lent majority expressions for all four-variable Boolean functions, the decomposed networks are then converted into their corresponding majority expressions.
Even though many majority/minority logic network synthesis methods have been proposed, none of these methods can synthesize optimal majority/minority logic networks for all cases.As the purpose of this paper is to provide a review of the best synthesis methods, we only concentrate on the multi-input multi-output majority/minority logic networks synthesis methods and do not discuss the limited methods.
The rest of the paper is organized as follows.In Section 2, we discuss some of majority/minority-based post-CMOS nanotechnologies and the implementation of their logic devices.Section 3 describes the best available comprehensive majority/minority logic synthesis methods.Section 4 compares the synthesis methods described in Section 3 and discusses experimental results using these methods.The paper is concluded in Section 5.

Majority/Minority-Based Post-CMOS Nanotechnologies
In this section, we review some post-CMOS nanotechnologies and the implementation of their majority and/or minority logic devices.

Quantum-Dot Cellular Automata Technology
Quantum-dot cellular automata (QCA) technology is one of nanotechnologies that provide a new technique of computation information transformation.This technology uses a QCA majority gate as the basic device along with QCA wire and QCA inverter to implement logic circuits.

QCA Cell
A QCA cell contains four quantum dots that are located at the corners of a square.By charging a cell with two free electrons, which tunnel between dots, there are only two states of electrons pairs that are energetically stable due to Coulombic interactions.The two configurations of electrical charges in a cell encode binary information.Each of these configurations has a different cell polarization.These polarizations are 1 P = + and 1 P = − which represent logic 1 and 0, respectively.Figure 1 shows a QCA cell and its two possible electron configurations.

QCA Devices
In QCA, a logic circuit is implemented using three primitive devices that are QCA wire, QCA inverter, and QCA majority logic gate.The construction of these devices is based on QCA cell which is the fundamental unit in QCA.
A QCA wire can be constructed by placing a group of cells next to each other as shown in Figure 2(a).The binary signal propagates from the leftmost cell which is the input along the wire to the rightmost cell which is the output [27].
The direction of signal flow can be determined by the QCA clocks [28].The function of a QCA majority gate is a three-input logic function given in (1).The majority function is to produce an output logic 1 if two or more of the three inputs ( ) , , x x x are 1.Otherwise, it produces an output logic 0. The layout of QCA majority gate is shown in Figure 2(c).As seen in the figure, a QCA majority gate is constructed of one cell surrounded by four cells, one in each side.Three of these cells are the gate inputs which are the upper, leftmost and lower cells.Based on the polarizations of the three input cells, the middle cell polarization is determined because it represents the lowest energy state.
Then, the signal propagates to the rightmost cell which is the output cell.
( ) By forcing one of the inputs ( ) , , x x x in a three-input majority gate to log- ic 0 or 1, the gate will perform as a two-input logic AND or a two-input logic OR function as given in (2) and (3), respectively.

Single Electron Tunneling Technology
In single electron tunneling (SET) technology, both majority and minority gates are used to implement logic circuits.A SET minority gate implements a threeinput logic function given in (4).Since the minority function is just the complementary of majority function, it produces an output 0 if one or more of its inputs are 1.Otherwise, it produces an output 1.
( ) By setting one of the three inputs of the minority gate as a logic 0 or 1, the gate implements a two-input logic NAND or two-input logic NOR gate, respectively [8].The obtained functions are given by ( ) ( ) , ,1 A SET majority gate is constructed of three input capacitors, a balanced pair of SEBs, three output capacitors as shown in Figure 3(b).When the bias voltage (Vdd) increases, the electron tunneling occurs and results in either (0, 1) or (1, 0) stable voltage state.The (0, 1) state occurs and produces a positive value at node B if the majority of the inputs are 1.Otherwise, the (1, 0) state will occur and produce a negative value at node B [9].  are different, they will neutralize each other and the reverse of the third waveform will be the output.However, if all input waveforms have the same phases, the output will be the reverse of these phases.

Spintronic Majority Gate
A spintronic majority gate (SMG) is a device that performs a three-input majority function.This device is implemented with a cross of ferromagnetic wires with a size of 140 × 140 nm [29] [30].Over the four ends of the cores, the three inputs

All Spin Logic
An all spin logic (ASL) device is also spin based device [31] [32].It constructed of copper wires and nanomagnets.To implement an ASL device that performs a three-input majority function, four nanomagnets, which represent the three inputs and one output, are placed over the ends of the copper wires as shown in

Spin Torque Oscillator Logic
A spin torque oscillator (STO) logic is a device that can perform a three-input majority function [34].This device consists of four nanopillars (three inputs and one output) with their own layers.Similar to SMG, the oscillators have a common ferromagnetic layer as shown in Figure 7.The input currents pass through nanopillars and exert spin torques that drive oscillators.Because of the driven oscillators, spin waves propagate in the common layer that make the oscillators signal coupled.Based on the majority of the inputs, the frequency of the output oscillator is determined.This can be sensed via the effect of giant magnetoresistance (GMR) or TMR.The frequency of the output serves in the circuit as the logic signal.

Spin Wave Device Technology
In spin wave device (SWD) technology, computation and information transfor-A.Almatrood, H. Singh DOI: 10.4236/eng.2017.910054897 Engineering mation occur via spin waves [11] [35] [36].SWD technology uses the majority gate as the logic primitive.A SWD majority gate is constructed of the symmetric merging of three waveguides [37] [38].Its operation is based on the interference of the input spin waves.The output is determined based on the interference of the three phases of the input spin waves via magneto-electron (ME) cells [39].
Another logic device in SWD technology is a SWD inverter which is implemented by a waveguide to deliver the inverse of spin wave signal to the output ME cell [38] [40].Figure 8(a) and Figure 8(b) show the areas and designs for a SWD majority gate and inverter, respectively.It can be seen that the length of waveguide in the inverter is 1.5× of the length of spin wavelength (λ SW ), while the length of each waveguide in the majority gate is 1.0× of the spin wavelength.

Nanomagnetic Logic
The process of computation and information transformation in nanomagnetic logic (NML) [42] is based on magnetization of patterned array of elongated nanomagnets.In NML, there are two stable magnetization states of magnets that are used to represent binary information.These states are commonly referred to as "up" or "down" which represent logic 1 or 0, respectively, as shown in Figure   As mentioned earlier, since minority logic is the complement of majority function, De Morgan's theorem can be used to drive a minority logic network from its equivalent majority network.This process results in a minority network with the same number of majority gates and levels as in its equivalent majority network.This means that an efficient majority network synthesis method can be used to obtain both majority and minority networks.The simplified Boolean functions expressed in standard forms SOP and POS can be directly converted into majority or minority logic networks by implementing the majority AND/ OR mapping method.This method is to map each logic gate in the simplified Boolean functions to majority AND/OR gates.However, in most cases, this method does not results in optimal majority/minority expressions.In other words, the number of gates, levels, etc., used in majority/minority expressions obtained from the AND/OR mapping method are not the optimal results.For example, consider the majority function . By using the AND/OR mapping method, it requires five majority gates, three levels as n n n = + , and 3 4 f n n = + , whereas it can be realized with only one majority gate in one level, i.e., ( ) . Therefore, an efficient majority/minority logic network synthesis is needed in order to generate optimal majority/minority logic networks.In the next section, we review the best existing comprehensive majority/minority logic synthesis methods in detail.

Majority/Minority Logic Synthesis Methods
Several researchers have proposed different techniques for majority/minority logic synthesis.However, none of these techniques are capable of generating optimal majority or minority expressions in terms of gates, levels, inverters and gate inputs for all cases.In addition, only a few of these methods can be used for synthesizing multi-input multi-output majority/minority logic networks.These methods are discussed in detail as follows:

Majority Logic Synthesis (MALS) [20]
MALS is the first proposed comprehensive majority/minority logic network synthesis method that is capable of synthesizing multi-level multi-output majority/ minority logic networks.The input to MALS is a minimized algebraically factored multi-output combinational network, and the output is an equivalent majority logic network.The method starts by preprocessing and decomposing the input network such that each node in the decomposed network has at most three input variables.This process is done by using preprocessing and decomposition methods in SIS.The next step is to check each decomposed node to see whether it is a majority function.If so, the node will be converted and the process will move to check the next node.Otherwise, the node function will be checked if there is any common literal.If this is the case, the literal will be factored out and an AND/OR mapping is then performed on the factored function.If the node function has no common literal and it can be realized with less than four majority AND/OR gates, an AND/OR mapping will then be performed.Otherwise, the node will be converted into its equivalent majority expression with at most four majority gates in two levels using K-map.This procedure is accomplished by first getting the K-map of the logic function of the node.Next, the first majority function f 1 is determined by finding the admissible pattern from the K-map of the node.Based on the K-map of the node and the first admissible pattern, the second admissible pattern is then found which gives the second majority function f 2 .Lastly, the third admissible pattern is found based on the K-map of the node and the first and the second admissible patterns.The third admissible pattern gives the third majority function f 3 .These three majority functions are determined such that the original node can be replaced with the majority function of these three functions as ( ) , , M f f f .

Kong's Synthesis [21]
Another comprehensive majority/minority logic network synthesis method was introduced by Kong et al. [21].The input to this methodology is an arbitrary multi-output Boolean function, and its output is an equivalent majority logic network.The method begins by preprocessing the input network and checking its correctness using SIS.If the input function is correct, multiple preprocessing scripts given in Figure 11 are applied to simplify and factor it algebraically, where all "(x)" are replaced with "3".Otherwise, error information will be shown and the process will be ended.After preprocessing, the factored functions are decomposed using SIS such that each node has at most three input variables.For decomposition, four different methods given in Figure 12 are performed in order to obtain the minimum number of three-feasible nodes.In these decomposition methods, all "(x)" are replaced with "3" to produce three-feasible decomposed networks.After decomposition, all nodes in the decomposed network are then checked to see if there is any node that can be collapsed into its fanout while retaining feasibility.This process can reduce further the number of nodes.
In the next step, each node in the decomposed network is then checked to see if it is a majority function.If so, the function is then converted into its corresponding majority expression based on forty primitive functions which are all the possible three-variable Boolean functions.Otherwise, all admissible expression groups are found from the forty majority expressions such that each group consists of three majority expressions ( ) , , f f f where the node is the majority function of these expressions, i.e., .Four decomposition methods scripts used in [21] and [26].
is to select the majority function with a minimum number of majority gates, gate inputs, and inverters from the selected majority functions that consist of expression groups and their complements.The last step is to check obtained majority expressions and see if there are repeated nodes.If so, these nodes will be removed and the majority network will be updated.This process keeps running until no repeated nodes exist.

Majority Expression Lookup Table (MLUT)-Based Synthesis [26]
One of the majority/minority logic network synthesis methods is MLUT-based method [26].The input to this method is an arbitrary Boolean functions network, and the output is an equivalent majority logic network.This method also starts by preprocessing and decomposing the input network using SIS as used in Kong's method.However, the preprocessing and decomposition methods used here are able to preprocess and decompose the input Boolean functions network up to four-feasible networks.In preprocessing, the input Boolean functions are simplified by algebraically factoring the common terms out and removing the repeated terms by applying the preprocessing script given in Figure 11, where all "(x)" are replaced with "4".For decomposition, the same four methods used in Kong's method are implemented in order to find the minimum number of decomposed networks.However, these four decomposition methods will decompose the network into two-feasible, three-feasible and four-feasible networks by replacing all "(x)" in Figure 12 with "2", "3", and "4" in order to find the best solution.In this method, a majority expression lookup

Comparison of the Comprehensive Synthesis Methods
The three majority/minority synthesis methods discussed in this paper differ from each other in their preprocessing methods, decomposition methods, conversion techniques, and optimization targets: gates, levels, inverters, and gate inputs.Table 1 gives a summary of these differences.These differences are discussed in detail as follows:

Preprocessing
The first step in all three synthesis methods is preprocessing.This process is . Then, the common terms are factored out and the function is simplified to ( ) . In all algorithms, this process is done by using the simplification and factorization methods in SIS.However, the preprocessing method used in MLUT is improved by performing the operations of kernel and cube extraction for four-feasible networks instead of three-feasible networks as used in MALS and Kong's method.Although, the preprocessing method provides simplified Boolean functions in terms of logic AND, OR and NOT, these functions are not expressed properly to be converted into their equivalent majority expressions for some cases.To demonstrate this point, consider the same function that we used for simplification.After removing the redundant term, the function is expressed by It can be seen that this function is expressed as a majority function which can be realized with only one majority gate in one level, i.e., ( ) , , F M x x x ′ = .However, if the common terms are algebraically factored out, i.e., ( ) , the function will have a different expression which can result in an equivalent majority expression with more than one majority gate and one level.This specific example may not fall in this category due to its simplicity.However, this case can occur especially while processing large circuits which can cause a large change in the final result.

Decomposition
For decomposition, MALS uses method 1 in Figure 12 to decompose the input network into smaller nodes such that each node in the network has at most three input variables which can be easily converted into its equivalent majority expression.In Kong's method, the decomposition process is also used to decompose the input networks into three-feasible networks.However, this method uses four different decomposition methods as given in Figure 12.Any function with three input variables can be realized with at most four majority gates in two levels [14] [56].Thus, the total number of majority gates in the synthesized majority network is between the number of nodes and the number of nodes multiplied by 4. Therefore, in order to reduce the number of majority gates in a synthesized majority network, the number of nodes must be reduced.None of the four decomposition methods used in Kong's method give the minimum number of nodes A. Almatrood, H. Singh DOI: 10.4236/eng.2017.910054 904 Engineering for all cases.Therefore, all four methods are applied to find out the best results.
In MLUT, the same four decomposition methods are used.However, these methods are improved to decompose the input network into two-feasible, threefeasible, and four-feasible networks.Based on the obtained networks from the four decomposition methods, the best solution is then chosen.The obtained decomposed networks from the four methods are not guaranteed to be optimal.
However, they provide a fundamental library of heuristic techniques for decomposition.In both Kong's method and MLUT, all nodes in the obtained decomposed networks are then checked to see if there are nodes that can be collapsed into their fanouts while retaining feasibility.This can provide further reduction in the number of gates, levels, inverters, and gate inputs.However, this process is not considered in MALS.

Converting Boolean Functions into Majority Expressions
For converting the decomposed networks into their equivalent majority expressions, each method uses a different technique.The MALS method uses K-map to obtain one-level majority functions 1 2 , f f and 3 f for each node, such that the function can be represented as ( ) , , M f f f .This method can generate only one admissible majority expression for a given Boolean function.This is considered as a drawback for this method.Therefore, this technique does not guarantee that it results in optimal majority expressions.In Kong's method, the process of converting the function of a node is based on forty optimal majority expressions.If the Boolean function belongs to these forty expressions, it is converted into its corresponding majority expression.Otherwise, all admissible three-expression groups from the forty expressions are found such that the function of the node can be represented as a majority function of the three expressions.This conversion technique is also used in MLUT.However, this method is based on ninety primitive functions instead of forty as used in Kong's method.These primitives are the equivalent majority expressions for all possible four-variable Boolean functions.Each node in the decomposed network is replaced with its equivalent majority expressions if it has a corresponding expression.Otherwise, a combination of three majority expressions is chosen from the ninety expressions such that the function of the node can be represented as the majority function of the chosen three expressions.

Optimization Targets
Since the gate count and level count determine the latency and the size of a majority/minority circuit, they are the most important factors that play an essential role in enhancing performance.Therefore, by reducing the number of gates and the number of levels, the performance can be improved.In the three comprehensive synthesis methods (MALS, Kong's, and MLUT), the optimization is targeted to reduce either the number of gates or levels.In MALS and Kong's method, the gate count reduction is taken as the first priority for optimization.However, in MLUT, either the number of gates or levels can be taken as the first A. Almatrood, H. Singh DOI: 10.4236/eng.2017.910054905 Engineering priority.In addition to the number of gates and level count, there are other factors that can play an essential role in providing further scaling down of feature sizes of a generated majority circuit.One of these factors is inverter count.In some nanotechnologies, the implementation of an inverter requires a larger area than a majority gate.For example, in QCA technology, the implementation of an inverter requires seven QCA cells as shown in Figure 2(b), whereas five QCA cells are required to implement a majority gate as shown in Figure 2(c).Another factor that can lead to additional optimization is the number of gate inputs.For example, consider the majority functions ( ) ( ) ( ) ( ) Both 1 F and 2 F are the equivalent majority ex- pressions to the Boolean function However, 1 F has four gate inputs and 2 F has three gate inputs.Since the logic 0 and 1 in QCA technology can be generated from external sources at their positions, the best majority expression to implement this circuit in QCA is 2 F .Therefore, by reducing the number of gate inputs of a circuit, the routing complexity can be reduced.The optimization of inverters and gate inputs are only considered in Kong's method and MLUT.

Comparison of Experimental Results
In this section, we demonstrate an overall comparison between the results obtained from the existing synthesis methods.In Table 2, the obtained equivalent majority expressions for eight standard three-variable Boolean functions [15] using the comprehensive synthesis methods discussed in this paper and other five three-variable synthesis methods [15] [16] [17] [18] [19] are given.In the same table, the numbers of majority gates, levels, inverters, and gate inputs used in each majority expression are given as well.From the table, it can be seen that MALS results in an optimal solution for some functions, whereas Kong's method and MLUT give the optimal expressions in terms of gates, levels and inverters for all Boolean functions.However, none of these methods result in the minimum number of gate inputs for all functions.For example, the equivalent majority expression for the Boolean function This expression requires four gates, two levels, one inverter and nine gate inputs.
From the AND/OR mapping method and methods in [15] [18] [20], the obtained majority expression is . This expression requires four gates, two levels, one inverter and eight gate inputs.
For Boolean functions with more than three variables, we compare the results of 40 Microelectronics Center North Carolina benchmark circuits [57] using the comprehensive synthesis methods in Table 3.The results obtained from each of the three methods are compared with the majority AND/OR mapping method.
In this
As a result, it can be observed from Table 2 and Table 3 that none of the comprehensive synthesis methods can generate the optimal majority/minority logic networks in terms of all optimization factors for all cases.However, some of these methods can result in best solutions in terms of some optimization factors for three-variable or multi-variable Boolean functions.Table 4 shows the capability of each synthesis method to optimize gates, levels, inverters and gate inputs for all cases of three-variable and multi-variable Boolean functions.From the table, it can be seen that Kong's method and MLUT can generate the optimal majority networks in terms of gates, levels and inverters for all cases of threefeasible networks.However, none of these methods can generate the optimal majority networks in terms of gate inputs for all cases.For Boolean functions with more than three variables, only the MLUT method can synthesize the optimized majority networks in terms of gates and inverters for all cases.Although these results are the best compared to other methods, they are not guaranteed to be optimal.For levels and gate inputs, none of the synthesis methods can give the optimal solutions in terms of these factors for all cases of multi-variable Boolean functions.
Even though these methods result in the best majority networks in terms of some or all optimization factors for all cases, these networks are not guaranteed to be optimal especially while synthesizing multi-output Boolean functions.The process of selecting the optimal majority network for multi-output Boolean functions is not considered in any of the three synthesis methods, which is a very Table 4. Optimization capability analysis for best comprehensive synthesis methods.Engineering serious drawback.For a multi-output Boolean function, by synthesizing the equivalent majority expression for each output separately, which is performed in the three methods, the obtained majority expression can be the optimal in terms of all optimization factors for this output.However, the final majority network realized from these expressions is only optimal in terms of levels, which is the maximum number of levels used in these expressions.For the number of majority gates, inverters, and gate inputs, the final network is not always the optimal solution in terms of these factors.In other words, the number of gates, inverters, and gate inputs used in a majority network obtained from one of these methods for a multi-output Boolean network can be further reduced.To clarify this point, consider a Boolean network N with two outputs, i.e., , F G has 6 gates, 2 levels, 3 inverters, and 16 gate inputs.From the two solutions, it can be seen that the number of levels is the only factor that does not change.However, the second network ( ) , F G has the minimum number of gates, inverters, and gate inputs.There- fore, the best solution for network N is ( ) 1 , F G .Consequently, it can be seen that this is an important process that can provide further reduction and give better results in terms of different optimization factors.
As discussed earlier, since the different characteristics of nanotechnologies and their logic devices implementations can affect the optimization priorities given to different factors such as gates, levels, inverters, etc., a majority/minority logic network generated from the existing synthesis methods is not guaranteed to be the best solution for all nanotechnologies.Therefore, there is a strong need for developing an efficient majority/minority logic synthesis method that can synthesize the optimal majority/minority networks in terms of all optimization factors for any majority/minority-based nanotechnology.

Conclusions
Due to the physical limitations of CMOS technology, many emerging nanoscale technologies such as quantum-dot cellular automate (QCA), single electron tunneling (SET), tunneling phase logic (TPL), spintronic devices, etc., have been proposed and considered as possible replacements for CMOS.As known, CMOS

Figure 1 .
Figure 1.The possible elctron configurations of a QCA cell.

Figure 3 (
Figure 3(a) shows a basic SET minority gate.It consists of three input capacitors, single-electron boxes (SEBs), and an output capacitor.The inputs of minority gate (V 1 , V 2 , and V 3 ) move through the input capacitors to form a voltage summing network.These capacitors produce the mean voltage of their inputs at node A. Based on the value of the mean voltage, an electron will tunnel through SEBs and make the voltage at node A negative.Otherwise, the voltage will remain positive.The negative and positive values represent logic 0 and 1, respectively.

A
Figure 3. (a) SET minority gate; (b) SET majority gate.

(
A, B, C) and output (Out) terminals are formed as nanopillars (20 × 20 nm each) with a separate ferromagnetic layer as shown in Figure 5(a) and Figure 5(b).Based on the polarity of the input voltage (either positive (+V) or negative (−V)) applied on each nanopillar, the current exerts spin torque in order to switch the magnetization of the common layer to a certain direction.The final direction of the magnetization (Iout) is determined by the majority directions of the inputs and sensed via the tunneling magnetoresistance (TMR) effect using a sense amplifier.Figure 5(b) shows the width and length of arms, the size of pillars, and distance between them (a = 20 nm).

Figure 6 (Figure 5 .
Figure 6(a).The input and output sides of each of these nanomagnets are separated by an insulator.Due to the current driven to the ground terminal from the voltage supplied to the top of each nanomagnets, spin polarized electrons accumulate in the two sides of each nanomagnet with different concentrations.This difference causes a diffusion spin current, which exerts torque on a nanomagnet and is able to switch its polarization.Based on the majority of input polarizations, the output is determined and delivered via the output nanomagnet as a logic value.The inverters also can be implemented based on the same properties of polarization changes as shown in Figure 6(b).

9
Figure 9(b).Based on the majority of magnetization of the three inputs, the output is calculated via magnetic interactions.
the input Boolean functions by removing the redundant terms and algebraically factoring the common terms out.For example, consider the Boolean function

Table 2 .
Comparison of 8 three-variable standard Boolean functions using exist synthesis methods.
table, only the number of majority gates and levels are considered for comparison.As shown in the table, when the MLUT method is targeted to reduce the number of gates, there is an average reduction of 36.1% in gate counts A. Almatrood, H. Singh DOI: 10.4236/eng.2017.910054906 Engineering

Table 3 .
Comparison of 40 Benchmarks using the best exist synthesis methods.9% in level counts, whereas Kong's method and MALS have an average reduction of 31.8% and 22.0% in the number of gates, respectively.When the MLUT method is targeted to optimize the level counts, there is an average reduction of 11.1% in the number of levels as well as 34.3% in the number of gates, whereas Kong's method and MALS have an average reduction of 5.7% and −7.5% in level counts, respectively.It can be noticed that all methods give better average reduction results for gates and levels except the MALS method which results in a worse average reduction for level counts as compared to the AND/OR mapping method.Even though the MLUT method results in the highest average reduction for gate and level counts compared to other methods, it It can be noticed that both majority expressions for the output G have the same number of gates, levels, inverters, and gate inputs as 3, 2, 2, and 9, respectively.Now, the final majority network for N can be realized by selecting either majority expressions () .However, these networks are different in terms of some optimization factors.For the network ( ) , it has 5 gates, 2 levels, 2 inverters, and 14 gate inputs, whereas the second network ( ) 2 , F G 1 , F G