580 likes | 682 Views
Regular Structures. Levelized Structures. Standard Lattice Diagrams for continuous, multiple-valued and binary logic. Lattice Structure for Multivalued and Binary Logic. Realizes every binary symmetric function Realizes every non-symmetric function by repeating variables
E N D
Standard Lattice Diagrams for continuous, multiple-valued and binary logic
Lattice Structure for Multivalued and Binary Logic • Realizes every binary symmetric function • Realizes every non-symmetric function by repeating variables • Realizes piece-wise linear multivalued functions Patented by Pierzchala and Perkowski 1994/1999
Lattice Structure for Multivalued and Binary Logic • Cell has three inputs and two outputs • Both outputs have the same function Multi-valued output variable red nose Binary input variables 0 1 beard red eyes Jeske Al-Rabadi Perkowski Zakrevskij Multivalued variables
Lattice Structure for Multivalued and Binary Logic binary Multi-valued output variable Redness of nose in interval [3,4] 0 1 Length of beard an odd number Redness of eyes in intervals [2,4] or [7,9] Jeske Al-Rabadi Perkowski Zakrevskij Multivalued variables
Lattice Structure for Multivalued and Binary Logic binary Multi-valued output variable A>B 0 1 Multivalued input variables C<D E=G Jeske Al-Rabadi Perkowski Zakrevskij Multivalued input variables
Lattice Structure for Multivalued and Binary Logic Cell has 4 inputs and 2 outputs Can we make the cell reversible? Multi-valued output variable A B A>B 0 1 Multivalued input variables C D C<D C>0 E G E<G and G<0 E<Gor G>0 E=G Jeske Al-Rabadi Perkowski Zakrevskij Multivalued input variables
Control left right output 0 value - value 1 - value value output Control left right right left Control We want to make this cell reversible 0 0 1 1 Values not separated 0 1 1 0 output
output output1 Let us try to repeat control variable in output Control left right right left Control 00 00 10 10 Still not separated 01 11 11 01 output1 output
output output1 Repeating variables will not help Control left right right left Control 000 001 101 100 Now it works! 010 110 111 010 output1 output2 output
output2 output output1 Control left right left right Control 000 001 101 100 This means that we added another MUX 010 110 111 010 output1 output
…. And we reinvented the Fredkin Gate ….!!! • But how to use it in a Lattice?
Lattice Structure for Binary Logic F = S 1,3 (A,B,C) A 0 1 B C 0 1 1 0 S0 S1 S2 S3
S P Q R Q R S (a) P 0 1 2 0 1 2 0 1 2 A (b) D C B C Q A D C A B B S (c) P D R
1 x1 2 3 4 x2 6 5 7 8 x3
8 x2 2 7 x3 x1 x3 x1 1 3 6 x2 C Q 4 5 A B S P D R
Notation for Fredkin Gates Q R P (a) Q R P 0 1 0 1 A 0 1 (b) A B C B C
g h A 0 1 g0A’+h1A Three Types of General Expansions g (a) f h A A 1 0 0 1 0 1 g1 ho (b) f0 f1 g1A+h0A’ g,h and A g1A+h0A’ f and A f0 and f1 Reverse Shannon Forward Shannon (c) g, h, and A g0A’+h1A and g1A+h0A’ Reversible Shannon g1A+h0A’
+ + + + * * * * Previous levels f4 f1 f2 f3 …... Other same level …... ci …... k4 k2 k1 k3 k5 k6 next levels
+ + + + * * * * Previous levels f4 f1 f2 f3 …... Other same level …... ci …... k4 k2 k1 k3 k5 k6 next levels
YZ X YZ - - - - 00 01 11 10 X - - - - 0 1 1 0 1 0 YZ YZ 0 1 1 1 X X 1 0 1 0 garbage - - - - g - - - - f 0 1 1 1 X garbage 0 1 garbage garbage h i fg gf garbage Y 0 1 0 1 garbage hfg fgh 1 Z garbage 1 0 1 0
1 0 1 0 - - 1 - - - - - 1 0 - - - - - - - - - - - - - - - - 1 0 - - - - - - - - - - - 0 1 0 1 0 - - - - - - - - - - - - 0 1 - - - - - - - - - - 0 1 1 1 - - - - - - - - - - - - 0 1 1 1 - - - - YZ X X Y - - - - - - 1 1 = 1 Z - 0 - - 1 - - - - 1 - - 0 - - - =1 =0 =1 =0
Reversible Lattice Structure for Binary Logic F = S 1,3 (A,B,C) G waste A F waste 0 1 F waste B F waste F waste C 0 1 1 0 S0 S1 S2 S3
Three Types of General Expansions f Forward Shannon A 0 1 f0 f1 f and A f0 and f1
Three Types of General Expansions g h A 1 0 0 1 g1 ho (b) g1A+h0A’ g,h and A g1A+h0A’ Reverse Shannon
g h A 0 1 g0A’+h1A Three Types of General Expansions Reversible Shannon g, h, and A g0A’+h1A and g1A+h0A’ g1A+h0A’
a a x c 0 c ab 1 b y + b + 0 cab 1 a a First stage of decomposition: Feynman gate Second stage of decomposition: Reversible Expansion for Fredkin gate Third stage of decomposition: Feynman gate Realization of Toffoli Gate from Fredkin and Feynman Gates
a a x c 0 c ab 1 b y + b + 0 cab 1 a a Third stage of composition: Feynman gate Second stage of composition: Reversible Expansion for Fredkin gate First stage of composition: Feynman gate Realization of Toffoli Gate from Fredkin and Feynman Gates
YZ X YZ - - - - 00 01 11 10 X - - - - 0 1 1 0 1 0 YZ 0 1 1 1 1 0 1 0 garbage g - - - - f X garbage garbage h gf Y garbage hfg fgh 1 Z garbage 1 0 1 0 YZ X X - - - - 0 1 1 1 garbage 0 1 i fg garbage 0 1 0 1
cofactor permuter To distinguish this new general decomposition from the well-known decompositions of Ashenhurst, Curtis or Shannon, we call it the Multi-purpose Portland Decomposition, the MP-decomposition for short.
Generalization • We mapped the logic function to a lattice structure of geometrical connections • there is nothing in our method to map to only this kind of structure • we can map to any selected regular structure • we can also map to a irregular structure with arbitrary connections
Generalizations of Fredkin gate • Observe, that this definition of the gate does not specify the type of signals. • Thus they can be binary, multi-valued, fuzzy, continuous or complex. • The only requirement is that the relation of order (<) is defined on them • It is interesting and important that a single reversible gate in binary logic has many generalizations in multiple-valued logic.
Generalizations of Fredkin gate • Because it has been shown in [1] that there are many multiple-valued and multi-output (k>3) generalizations of Fredkin gate, the name “modified” assigned by Picton is not correct. • The generalization invented by him we will call the Picton Gate, while generalization of Fredkin-like gates we call “new gates”.
Generalizations of Fredkin gate • The exhaustive list of families of all such permutative multi-valued gates (both Shannon-like and Davio-like) has been presented in [1] and even more families in [18]. • These of the “new gates” that use multiplexers only are similar to the original Fredkin gate but they use multiple-valued multiplexers. • Such multiplexers have been already realized in many technologies, including super-pass transistors [9], so building these new gates should be also possible.
Generalizations of Fredkin gate • We believe therefore that they are good candidates for future reversible multiple-valued nano-technologies. The new generalization of Fredkin gate using multi-valued logic has additional advantages and is simpler. Let us observe, that equations for the binary 4 * 4 binary Fredkin gate can be rewritten as follows: • P = A , Q = if A=1 then C else if A=0 then B , R = if A=1 then B else if A=0 then D , S = if A=1 then D else if A=0 then C • Now, it can be easily generalized to a 4 * 4 ternary gate as follows: P = A, Q = if A=2 then B else if A=1 then C else if A=0 then D, R = if A=2 then C else if A=1 then D else if A=0 then B, S = if A=2 then D else if A=1 then B else if A=0 then C
Reversible Lattice Structure for Binary Logic • Advantages • regular structure • binary Fredkin Gate • planar structure (good for Quantum Logic) • Easy algorithmic creation • Reasonable waste • Disadvantages • Variable ordering? • Symmetrization? • Waste still exist Should be patented!
Do you remember that there are other binary expansions? • Ideas • Fredkin = <Var, S, fS> • what about these? • <Var, pD, fpD> • <Var, nD, fnD> • <Var, nD, pD> • …. • All Binary Expansions • Shannon - S • Flipped Shannon - fS • Positive Davio - pD • Negative Davio - nD • Flipped Positive Davio - fpD • Flipped Negative Davio - fnD I checked some of them to work
Do you remember that there are other component functions of reversible gates • Ideas • Fredkin = <Var, S, fS> • what about these? • <N, pD, fpD> • <Var, M, fnD> • <Var, nD, L> • …. • All Binary Balanced Expansions: • ….. • Linear functions - L • Negations - N • Majorities - M I checked some of them to work
As you see, this opens a very broad area of research that will lead to invention of new reversible gates and regular structures that use them • Easy way to become a pioneer: • Investigate all combinations • Use genetic programming or other search methods to build structures and map functions to them • There is a place for many researchers • Nobody does this research But this was only for binary What about multivalued, fuzzy, arithmetic or other logics?
…. And we reinvented the Fredkin Gate ….!!! • But what about the variant with two control signals?
A B C D P Q R S >= Multi-valued Fredkin Gate • MVFG is described by equations: P = A Q = B R = C if A < B else R = D S = D if A < B else S = C A < B < A B C D P Q R S
Lattice Structure for Multivalued and Binary Logic Cell has 4 inputs and 4 outputs MV and Generalized MV Fredkin Cell is reversible! Multi-valued output variable waste A B waste 0 1 Multivalued input variables C D E G Jeske Al-Rabadi Perkowski Zakrevskij Multivalued input variables
Multi-valued logic generates less signals Hence it generates less waste Of course, it generates also less power, less connections and is easier to test
The main open research problem • The real-life functions are multi-output. • Thus, there exists an opportunity to re-use some waste functions in other output functions • This is a tough problem. • I do not know now how to solve it! We need some group creativity
Generalized Multi-valued Fredkin Gate Select other function of two variables A < B < Select other pairs of VAR-type and NOT-type functions A B C D P Q R S Select other pairs of MUX-type functions
Generalized Multi-valued Fredkin Gate • The number of these gates is astronomical • We need both computer generation and some intelligence, simply generating them all would be a nonsense • Very wide area of research • It will give hints to gate designers what to look for