MajSynth An n -input Majority Algebra based Logic Synthesis Tool for QCA . Rajeswari Devadoss, Kolin Paul and M. Balakrishnan presented by M. Balakrishnan, Professor, CSE, IITD Department of Computer Science and Technology Indian Institute of Technology Delhi
A New Logic Gate The 3-input Majority Gate x • 2-AND : ⟨ x y 0 ⟩ = x · y . . . . . . . y M 3 ⟨ x y z ⟩ z • 2-OR : ⟨ x y 1 ⟩ = x + y More ‘1’s among inputs? • More : ⟨ x y z ⟩ = xy + yz + zx • Quantum-dot Cellular Automata • QCA Primary gate : 3-input Majority [1] • 5-input and 7-input Majority gates [2] • Other technologies : SET, TPL, STMG Majority Gate Introduction Slide 1 of 15
Tweaked Logic Synthesis Existing . . . . . . . Pre-processing Majority Boolean Synthesis Algebra 3-input for Logic Minimization Majority Patterns NOT & 2-AND, 2-OR 3/4-var k-Map[3][4] Post-processing Genetic Algorithm[5] XOR[6] & BDD[7] Introduction Logic Synthesis Slide 2 of 15
Tweaked Logic Synthesis Existing . . . . . . . Pre-processing Majority Boolean Synthesis Algebra 3-input for Logic Minimization Majority Patterns NOT & 2-AND, 2-OR 3/4-var k-Map[3][4] Post-processing Genetic Algorithm[5] XOR[6] & BDD[7] Introduction Logic Synthesis Slide 2 of 15
Tweaked Logic Synthesis Existing . . . . . . . Pre-processing Majority Boolean Synthesis Algebra 3-input for Logic Minimization Majority Patterns NOT & 2-AND, 2-OR 3/4-var k-Map[3] [4] Post-processing Genetic Algorithm[5] XOR[6] & BDD[7] Introduction Logic Synthesis Slide 2 of 15
Tweaked Logic Synthesis Existing . . . . . . . . Pre-processing Majority Boolean Synthesis Algebra 3-input for Logic Minimization Majority Patterns NOT & 2-AND, 2-OR n -input 3/4-var k-Map[3] [4] Majority Post-processing Genetic Algorithm[5] XOR[6] & BDD[7] Introduction Logic Synthesis Slide 2 of 15
MajSynth : n -input Majority Algebra based Synthesis Existing Graph Decomposition . . . . . . . . . . . Majority Boolean Pre-processing Symmetry Synthesis Algebra Need : Mathematics 3-input 3-input 3-input for Logic Minimization and Majority Majority Majority n -input Majority Methods Patterns Patterns Patterns NOT & for Majority n -input Majority 3/4-var k-Map[3][4] Post-processing Genetic Algorithm[5] Downsize Majority XOR[6] & BDD[7] Introduction Logic Synthesis Slide 3 of 15
MajSynth : n -input Majority Algebra based Synthesis Existing Graph Decomposition . . . . . . . . . . . Majority Boolean Pre-processing Symmetry Synthesis Algebra First step : 3-input 3-input 3-input for Logic Minimization Develop the Majority Majority Majority Mathematics n -input Majority Patterns Patterns Patterns NOT & of Majority n -input Majority 3/4-var k-Map[3][4] Post-processing Genetic Algorithm[5] Downsize Majority XOR[6] & BDD[7] n -input Majority Boolean Algebra Overview
The n -input Majority Function if at least n + 1 w 1 1 of { w 1 , w 2 , . . . , w n } are ‘1’s w 2 M n . . . . . . . . 2 M n = • • 0 otherwise w n Example : The 7-input Majority function ⟨ a b c d e f g ⟩ = 1 iff at least 4 of { a , b , c , d , e , f , g } are ‘1’s • ⟨ a b c d 2 1 0 ⟩ = abc + ( a + b + c ) d • ⟨ a b c d 0 3 ⟩ = abcd • ⟨ a b c d 3 1 ⟩ = abc + d • ⟨ a b c 2 d 2 1 ⟩ =( a + b )( c + d ) + cd • ⟨ a b c d 2 0 2 ⟩ =( ab + bc + ca ) d • ⟨ a b c d e 3 ⟩ = abcd + ( a + b + c + d ) e Duplicates, constants among inputs : Different functions n -input Majority Boolean Algebra Slide 4 of 15
Majority Law : Compaction Implement a single Majority term with fewer inputs ⟨ a b 2 c 3 d 5 ⟩ = . . . . ⟨ a b 2 c 3 d 5 e 6 e 6 ⟨ a b c d 2 ⟩ 0 1 ⟩ = ���� ���� � �� � Cancel Cancel Compact redundant inputs Conditions when term evaluates to ‘1’ ⟨ a b 2 c 3 d 5 ⟩ . . . . ⟨ a b c d 2 ⟩ At least 11 + 1 At least 5 + 1 2 = six ‘1’s 2 = three ‘1’s ad 5 , b 2 d 5 , c 3 d 5 , ab 2 c 3 ad 2 , bd 2 , cd 2 , abc Both implement ad + bd + cd + abc Solve ILP representing Majority term to minimize size Majority Laws Boolean Algebra Slide 5 of 15
Majority Law : Flatten AND ( a , b , AND ( c , d ) )= AND ( a , b , c , d ) � �� � Flatten OR ( OR ( a , b ) , OR ( c , d ) )= OR ( a , b , c , d ) � �� � � �� � Flatten Flatten Flatten singleton n -input Majority: n + 1 copies of other inputs 2 ⟨ 0 2 x y z ⟩ . . ⟨ 0 2 x y z ⟩ xyz + xyz ⇒ ⟨ 1 ⟩ � �� � � �� � Make 5 + 1 2 = 3 copies Flatten = ⟨ 1 3 ⟨ 0 2 x y z ⟩ 3 0 2 x y z ⟩ � �� � Compact = ⟨ 1 x y z ⟨ 0 2 x y z ⟩ 3 ⟩ Majority Laws Boolean Algebra Slide 6 of 15
Majority Law : Distributivity a · b · ( c + d + e ) = a · b · c + a · b · d + a · b · e � �� � Distribute Distribute at least n + 1 inputs of a n -input Majority term 2 0 2 x . . . . y z ⟩ 3 xyz + xyz ⇒ ⟨ 1 x y z ⟨ ⟩ � �� � Distr. All = ⟨⟨ 1 x y z 0 3 ⟩ 2 ⟨ 1 x y z x 3 ⟩ ⟨ 1 x y z y 3 ⟩ ⟨ 1 x y z z 3 ⟩ ⟩ � �� � � �� � � �� � � �� � Compact Compact Compact Compact ⟨ 0 2 x y z ⟩ 2 x ⟨ 1 x y 2 z ⟩ ⟨ 1 x y z 2 ⟩⟩ [ Distribute all inputs ] . . = ⟨ ⟨ 0 2 x y z ⟩ 2 x . . . . y z [ Distribute ( 5 + 1 ) / 2 = 3 inputs : 0 2 , x ] = ⟨ ⟩ ���� � �� � not distr. from distr. Rank and choose inputs to distribute to simplify expression Majority Laws Boolean Algebra Slide 7 of 15
Majority Law : Distributivity a · b · ( c + d + e ) = a · b · c + a · b · d + a · b · e � �� � Distribute Distribute at least n + 1 inputs of a n -input Majority term 2 0 2 x . . . . y z ⟩ 3 xyz + xyz ⇒ ⟨ 1 x y z ⟨ ⟩ � �� � Distr. 0 2 , x = ⟨⟨ 1 x y z 0 3 ⟩ 2 ⟨ 1 x y z x 3 ⟩ ⟨ 1 x y z y 3 ⟩ ⟨ 1 x y z z 3 ⟩ ⟩ � �� � � �� � � �� � � �� � Compact Compact Compact Compact ⟨ 0 2 x y z ⟩ 2 x ⟨ 1 x y 2 z ⟩ ⟨ 1 x y z 2 ⟩⟩ [ Distribute all inputs ] . . = ⟨ ⟨ 0 2 x y z ⟩ 2 x . . . . y z Distribute ( 5 + 1 ) / 2 = 3 inputs : 0 2 , x [ ] = ⟨ ⟩ ���� � �� � not distr. from distr. Rank and choose inputs to distribute to simplify expression Majority Laws Boolean Algebra Slide 7 of 15
Majority Law : Difference Exploit Common and Differing (Negated) elements ⇒ ⟨⟨ 0 2 . . y z ⟩ 2 . . . . . . y z ⟩ 2 . . . . . . x x y z ⟩ x y z ⟩ xyz + xyz = x ( yz + yz ) = ⟨⟨ 0 � �� � Diff : y , z ; Common : x Beyond sum/product forms of common, differing elements . . . . . . . . x y z ⟨⟨ 0 y z ⟩ 2 x y z ⟩ 3 ⟩ xyz + xyz + xyz ⇒ ⟨ 1 � �� � Diff : x, y ; Common : z = ⟨⟨⟨ . . y z ⟩ 2 x . . . . . . 0 y 1 ⟩ 2 x y z ⟩ � �� � Diff : 0; Common : y y 0 ⟩ 2 x y z ⟩ = ⟨⟨⟨ 1 x z ⟩ � �� � Flatten Majority Laws Boolean Algebra Slide 8 of 15
MajSynth : n -input Majority Algebra based Synthesis Existing Graph Decomposition . . . . . . . . . . . Majority Boolean Pre-processing Symmetry Synthesis Algebra Next step : 3-input 3-input 3-input for Use algebra Logic Minimization Majority Majority Majority to Minimize n -input Majority Patterns Patterns Patterns NOT & expressions n -input Majority 3/4-var k-Map[3][4] Post-processing Genetic Algorithm[5] Downsize Majority XOR[6] & BDD[7] Logic Minimization Iterative Method Overview
Iterative Minimization : x ⊕ y ⊕ z While reducible nodes available M 7 + M 4 = ⟨ 1 x y z ⟨ 0 2 x y z ⟩ 3 ⟩ � �� � Diff : y , z ; Common : x 1. Choose next node M 2 + M 7 , 4 = ⟨ 1 x y z ⟨⟨ 0 y z ⟩ 2 x y z ⟩ 3 ⟩ � �� � 2. Flatten if possible Diff : x, y ; Common : z = ⟨ ⟨⟨ 0 y z ⟩ 2 x y 1 ⟩ 2 x y z ⟩ 3. Else Diff. if possible � �� � Diff : 0; Common : y y 0 ⟩ 2 x y z ⟩ = ⟨⟨ ⟨ 1 x z ⟩ 4. Else Distr. if it simplifies � �� � Flatten : 2x = ⟨⟨ 1 x z y 2 0 2 ⟩ 2 x y z ⟩ 5. Compact node � �� � Compact = ⟨⟨ 0 x y 2 z ⟩ 2 x y z ⟩ Analysis � �� � Distr y 2, z = ⟨ 0 x ⟨ x y z ⟩ 2 ⟨ x y z ⟩ ⟩ • Start : Ordered minterms � �� � Flatten : 2x = ⟨ 0 2 x 2 ⟨ x y z ⟩ 4 x y z ⟩ • Low scalability as no. of � �� � Compact minterms grow M 1 + M 2 , 7 , 4 = ⟨ 1 x y z ⟨ 0 x y z ⟨ x y z ⟩ 3 ⟩ 3 ⟩ � �� � Diff : 0; Common : x , y ,z • Reduction : Unrestricted M 1 , 2 , 7 , 4 = ⟨ x y z ⟨ x y z ⟩ 2 ⟩ n -input Majority terms M 7 , 4 , 2 , 1 = ⟨ x y z ⟨ x y z ⟩ 2 ⟩ Logic Minimization Iterative Method Slide 9 of 15
MajSynth : n -input Majority Algebra based Synthesis Existing Graph Decomposition . . . . . . . . . . . Majority Boolean Pre-processing Symmetry Synthesis Algebra Next step : 3-input 3-input 3-input for Logic Minimization Apply Majority Majority Majority n -input Majority gate size Patterns Patterns Patterns NOT & constraints n -input Majority 3/4-var k-Map[3][4] Post-processing Genetic Algorithm[5] Downsize Majority XOR[6] & BDD[7] Downsize Majority Post-processing Overview
Recommend
More recommend