Implementation Technologies Standard gates (pretty much done) gate packages cell libraries Regular logic (we are here) multiplexers decoders Two-level programmable logic (a little later) PLs, PLs, PLs ROMs FPGs utumn SE - VII - Multiplexer and ecoder Logic Regular logic Need to make design faster Need to make engineering changes easier to make Simpler for designers to understand and map to functionality harder to think in terms of specific gates easier to think in terms of larger multi-purpose blocks utumn SE - VII - Multiplexer and ecoder Logic
Making connections irect point-to-point connections using wires Route one of many inputs to a single output --- multiplexer Route a single input to one of many outputs --- demultiplexer control control multiplexer demultiplexer 4x4 switch utumn SE - VII - Multiplexer and ecoder Logic Mux and de (cont'd) Uses of multiplexers/demultiplexers in multi-point connections Sa MUX MUX Sb multiple input sources Sum Ss EMUX multiple output destinations S S utumn SE - VII - Multiplexer and ecoder Logic 4
Multiplexers/selectors Multiplexers/selectors: general concept n data inputs, n control inputs (called "selects"), output used to connect n points to a single point control signal pattern forms binary index of input connected to output = ' I + I functional form logical form I I two alternative forms for a : Mux truth table I I utumn SE - VII - Multiplexer and ecoder Logic Multiplexers/selectors (cont'd) : : = 'I + I 4: : = ''I + 'I + 'I + I 8: : = '''I + ''I + ''I + 'I + ''I 4 + 'I + 'I + I n - In general: = Σ (m k I k ) I I : k= in minterm shorthand form for a n : Mux I I I I 4: I I I I I4 I I I 8: utumn SE - VII - Multiplexer and ecoder Logic
Gate level implementation of es : 4: utumn SE - VII - Multiplexer and ecoder Logic Multiplexers as general-purpose logic n : multiplexer can implement any function of n variables with the variables used as control inputs and the data inputs tied to or in essence, a lookup table (LUT) Example: F(,,) = m + m + m + m = ''' + '' + ' + 4 8: MUX S S S = '''I + ''I + ''I + 'I + ''I 4 + 'I + 'I + I utumn SE - VII - Multiplexer and ecoder Logic 8
ascading multiplexers Large multiplexers can be made by cascading smaller ones I I I I I4 I I I 4: 4: : control signals and simultaneously choose one of I, I, I, I and one of I4, I, I, I control signal chooses which of the upper or lower 's output to gate to 8: I I I I I4 I I I : : : : alternative implementation 4: 8: utumn SE - VII - Multiplexer and ecoder Logic 9 Multiplexers as general-purpose logic (cont d) n- : multiplexer can implement any function of n variables with n- variables used as control inputs and the data inputs tied to the last variable or its complement Example: F(,,) = m + m + m + m = ''' + '' + ' + = ''(') + '(') + '() + () 4 8: MUX S S S F F ' ' ' ' 4: MUX S S F utumn SE - VII - Multiplexer and ecoder Logic
Multiplexers as general-purpose logic (cont d) Generalization n- control variables single data variable Example: G(,,,) can be realized by an 8: MUX choose,, as control variables I I... I n- I n F........ G I n I n ' 4 8: MUX S S S four possible configurations of truth table rows can be expressed as a function of I n utumn SE - VII - Multiplexer and ecoder Logic ' ctivity Realize F = + with a 4: multiplexer and a minimum of other gates: 4: MUX S S utumn SE - VII - Multiplexer and ecoder Logic
ctivity Realize F = + with a 4: multiplexer and a minimum of other gates: when when when when 4: MUX S S = () + () + () + () utumn SE - VII - Multiplexer and ecoder Logic emultiplexers/decoders ecoders/demultiplexers: general concept single data input, n control inputs, n outputs control inputs (called selects (S)) represent binary index of output to which the input is connected data input usually called enable (G) : ecoder: O = G S O = G S :4 ecoder: O = G S S O = G S S O = G S S O = G S S :8 ecoder: O = G S S S O = G S S S O = G S S S O = G S S S O4 = G S S S O = G S S S O = G S S S O = G S S S utumn SE - VII - Multiplexer and ecoder Logic 4
Gate level implementation of demultiplexers : decoders active-high enable G S O O active-low enable \G S O O :4 decoders G O \G O active-high enable O active-low enable O O O O O S S S S utumn SE - VII - Multiplexer and ecoder Logic emultiplexers as general-purpose logic n: n decoder can implement any function of n variables with the variables used as control inputs the enable inputs tied to and the appropriate minterms summed to form the function :8 E 4 S S S ''' '' '' ' '' ' ' demultiplexer generates appropriate minterm based on control signals (it "decodes" control signals) utumn SE - VII - Multiplexer and ecoder Logic
emultiplexers as general-purpose logic (cont d) F = '' + '' + F = '' + F = (' + ' + ' + ') Enable 4: E '''' ''' ''' '' 4 ''' '' '' ' 8 ''' 9 '' '' ' '' ' 4 ' F F F utumn SE - VII - Multiplexer and ecoder Logic ascading decoders : decoder x:4 decoder 4x:8 decoders F :4 E S S ''''E' :8 E 4 S S S :8 E 4 E S S S ''E' :8 E 4 S S S '''E' :8 E 4 'E S S S E E utumn SE - VII - Multiplexer and ecoder Logic 8