Multiple-valued Function A multiple-valued function n f : P => {0,1,2} where P = X p i i = 1 each p i is a set of integers {1,2,...,p i } that the ith variable can assume. Ex : n = 3, (p 1 p 2 p 3 )= (3 5 2) V= (2 4 1) is a minterm V=(4 4 1) is illegal.
Multiple-valued Function To represent multiple valued variable using two-valued variables : one hot encoding For a variable which can take pi values, we associate pi Boolean variables. Ex: (p 1 p 2 p 3 ) = (3 5 2) ()()() Ex: n = 3 (p 1 p 2 p 3 ) = ( 3 5 2) V= ( ) will be represented (0 1 0)( )(1 0) This should be thought of as a “minterm”.
Product Term A general product term C = ( 1 1 0)( )(1 0) means (V 1 = 1 or 2)and (V 2 = 2, 3, or 5) and (V 3 =1) The problem of multi-valued logic minimization is to find an above form of minimized number of product term.
Multi-valued Logic Minimization Three questions to answer: 1. How to use a two-valued logic minimizer to minimize multiple valued logic. 2. When to use a multiple-valued logic? 3. How to realize a multiple-valued logic?
Multiple-valued Logic Minimization 3. How to realize a multiple-valued logic? –using decoder to generate multiple value logic Ex : using a two-bit decoder to generate 4-value logic two bit decoder AND x1x1 x2x2 x 1 ’x 2 ’ x 1 ’x 2 x1x2’x1x2’ x1x2x1x2 OR outputs
Multi-valued Logic Minimization x 0 x 1 f x 0 ’x 1 ’ m M 0 x 0 +x 1 x 0 ’x 1 m M 1 x 0 +x 1 ’ x 0 x 1 ’ m M 2 x 0 ’+x 1 x 0 x 1 m M 3 x 0 ’+x 1 ’ implement f use min-terms f = x 0 x 1 ’ = (m 2 ) use max-terms f’ = (x 0 ’x 1 ’)+(x 0 ’x 1 )+(x 0 x 1 ) f = (x 0 +x 1 ) (x 0 +x 1 ’) (x 0 ’+x 1 ’) = M 0 M 1 M 3 = (M 0, M 1, M 3 )
Example Ex : multiple output function f = (p 1 p 2 p 3 ) = (1110)(0011)(0111) p 1 p 2 p 3 {1,2,3,4} 2-bit decoder one product term AND plane OR plane 2-bit decoder 2-bit decoder
Example x1x1 x2x2 x3x3 x4x4 f0f1f2f0f1f2 PLA for ADR2(input variable assignment nonoptimized).
Multi-valued Logic Minimization 1. How to use a two-valued logic minimizer to minimize multiple valued logic? Ex: (1 0 0)( )(1 0) + (0 1 0)( )(1 0) => (1 1 0)( )(1 0) A product term involves both “AND” and “OR”. But in two-valued logic, a product term involves “AND” only.
Multi-valued Logic Minimization How to change “OR” relations to “AND” relations? solution => Don’t care Ex: Consider the second 4-valued variable V 2 = (1 0 10) means V 2 = 1 or V 2 = 3 use “AND” to represent the meaning “ V 2 not 2 and not 4” Two valued logic: ( ) don’t care ( ) ( ) ( ) don’t care => V 2 = ( )
Multi-valued Logic Minimization The Don’t care set? x 1 x 2 x 3 care set = don’t care: x 1 x 2 x No pair of two x i are both on and x i are never all off.
Multi-valued Logic Minimization Use two-valued logic minimizer to minimize a multi-valued logic: step (1) create Pi Boolean variables step (2) For each multi-valued variable, we associate the Don’t care set step(3) espresso step(4) convert the result back to multiple-valued function
Example | | | | | | | | | Multi-valued Input Version of PLA DK17(Don’t-cares not shown) 8-valued4-valued
Example | | | | | | | | Multi-valued Input Minimization of DK17
Example | | | | | | | | | | MINI Representation of Minimized DK17
Multi-valued Logic Minimization 2. When to use a multiple-valued logic ? –state assignment to find adjacency relations –allowing bit pairing to minimize logic
Example x 1 x 2 + x 3 x 4 f 0 f 1 f 2 Two-Bit ADDER(ADR2) x 1 x 2 x 3 x 4 f 0 f 1 f
Example x1x1 x2x2 x3x3 x4x4 f0f1f2f0f1f2
x 1 x 2 x 3 x 4 f 0 f 1 f TABLE IV Two-Bit ADDER(ADR2) pair X 1 =(x 1 x 2 ) X 2 =(x 3 x 4 )
Example(cont.) X 1 X 2 f 0 f 1 f
Example(cont.)