1 / 46

ECE 331 – Digital System Design

Multiplexers and Demultiplexers, and Encoders and Decoders (Lecture #15). ECE 331 – Digital System Design. The slides included herein were taken from the materials accompanying Fundamentals of Logic Design, 6 th Edition , by Roth and Kinney,

Download Presentation

ECE 331 – Digital System Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Multiplexers and Demultiplexers, and Encoders and Decoders (Lecture #15) ECE 331 – Digital System Design The slides included herein were taken from the materials accompanying Fundamentals of Logic Design, 6th Edition, by Roth and Kinney, and were used with permission from Cengage Learning.

  2. ECE 331 - Digital System Design Supplemental Chapter 9: Sections 1 – 4 Material to be covered …

  3. ECE 331 - Digital System Design Multiplexers

  4. ECE 331 - Digital System Design Multiplexers • A multiplexer has • N control inputs • 2N data inputs • 1 output • A multiplexer routes (or connects) the selected data input to the output. • The value of the control inputs determines the data input that is selected.

  5. ECE 331 - Digital System Design Multiplexers Data inputs Z = A′.I0 + A.I1 Control input

  6. ECE 331 - Digital System Design MSB LSB Multiplexers Z = A′.B'.I0 + A'.B.I1 + A.B'.I2 + A.B.I3

  7. ECE 331 - Digital System Design MSB LSB Multiplexers Z = A′.B'.C'.I0 + A'.B'.C.I1 + A'.B.C'.I2 + A'.B.C.I3 + A.B'.C'.I0 + A.B'.C.I1 + A'.B.C'.I2 + A.B.C.I3

  8. ECE 331 - Digital System Design Multiplexers

  9. ECE 331 - Digital System Design 8-to-1 Multiplexer in VHDL

  10. ECE 331 - Digital System Design 8-to-1 Multiplexer in VHDL

  11. ECE 331 - Digital System Design Exercise: Design an 8-to-1 multiplexer using 4-to-1 and 2-to-1 multiplexers only. Multiplexers

  12. ECE 331 - Digital System Design Exercise: Design a 16-to-1 multiplexer using 4-to-1 multiplexers only. Multiplexers

  13. ECE 331 - Digital System Design Multiplexer (Bus)

  14. ECE 331 - Digital System Design Demultiplexers

  15. ECE 331 - Digital System Design Demultiplexers • A demultiplexer has • N control inputs • 1 data input • 2N outputs • A demultiplexer routes (or connects) the data input to the selected output. • The value of the control inputs determines the output that is selected. • A demultiplexer performs the opposite function of a multiplexer.

  16. ECE 331 - Digital System Design W W = A'.B'.I Out0 X Out1 X = A.B'.I I In Y Out2 Y = A'.B.I Z Out3 S1 S0 Z = A.B.I A B Demultiplexers

  17. ECE 331 - Digital System Design Decoders

  18. ECE 331 - Digital System Design Decoders • A decoder has • N inputs • 2N outputs • A decoder selects one of 2N outputs by decoding the binary value on the N inputs. • The decoder generates all of the minterms of the N input variables. • Exactly one output will be active for each combination of the inputs. What does “active” mean?

  19. ECE 331 - Digital System Design W = A'.B' W Out0 X = A.B' B I0 X Out1 Y A Out2 I1 Y = A'.B Z Out3 Z = A.B Decoders msb Active-high outputs

  20. ECE 331 - Digital System Design W = (A'.B')' W Out0 X = (A.B')' B I0 X Out1 Y A Out2 I1 Y = (A'.B)' Z Out3 Z = (A.B)' Decoders msb Active-low outputs

  21. ECE 331 - Digital System Design Decoders msb

  22. ECE 331 - Digital System Design 3-to-8 Decoder in VHDL

  23. ECE 331 - Digital System Design 3-to-8 Decoder in VHDL

  24. ECE 331 - Digital System Design W Out0 B I0 X high-level enable Out1 A I1 Y Out2 Z Out3 Enable En Decoder with Enable enabled disabled

  25. ECE 331 - Digital System Design W Out0 B I0 X low-level enable Out1 A I1 Y Out2 Z Out3 Enable En Decoder with Enable enabled disabled

  26. ECE 331 - Digital System Design 2-to-4 Decoder with Enable in VHDL

  27. ECE 331 - Digital System Design Exercise: Design a 4-to-16 decoder using 2-to-4 decoders only. Decoders

  28. ECE 331 - Digital System Design Encoders

  29. ECE 331 - Digital System Design Encoders • An encoder has • 2N inputs • N outputs • An encoder outputs the binary value of the selected (or active) input. • An encoder performs the inverse operation of a decoder. • Issues • What if more than one input is active? • What if no inputs are active?

  30. ECE 331 - Digital System Design Encoders D I0 Z Out0 C I1 Out1 Y B I2 A I3

  31. ECE 331 - Digital System Design Priority Encoders • If more than one input is active, the higher-order input has priority over the lower-order input. • The higher value is encoded on the output • A valid indicator, d, is included to indicate whether or not the output is valid. • Output is invalid when no inputs are active • d = 0 • Output is valid when at least one input is active • d = 1 Why is the valid indicator needed?

  32. ECE 331 - Digital System Design Priority Encoders msb Valid bit

  33. VHDL: 4-to-2 Priority Encoder LIBRARY ieee ; USE ieee.std_logic_1164.all ; ENTITY priority IS PORT ( w : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ; y : OUT STD_LOGIC_VECTOR(1 DOWNTO 0) ; z : OUT STD_LOGIC ) ; END priority ; ARCHITECTURE Behavior OF priority IS BEGIN y <= "11" WHEN w(3) = '1' ELSE "10" WHEN w(2) = '1' ELSE "01" WHEN w(1) = '1' ELSE "00" ; z <= '0' WHEN w = "0000" ELSE '1' ; END Behavior ; 4 input bits valid indicator 2 output bits Active-high inputs and outputs

  34. ECE 331 - Digital System Design Designing logic circuits using multiplexers

  35. ECE 331 - Digital System Design Using an n-input Multiplexer • Use an n-input multiplexer to realize a logic circuit for a function with n minterms. • m = 2n, where m = # of variables in the function • Each minterm of the function can be mapped to an input of the multiplexer. • For each row in the truth table, for the function, where the output is 1, set the corresponding input of the multiplexer to 1. • That is, for each minterm in the minterm expansion of the function, set the corresponding input of the multiplexer to 1. • Set the remaining inputs of the multiplexer to 0.

  36. ECE 331 - Digital System Design Example: Using an 8-to-1 multiplexer, design a logic circuit to realize the following Boolean function F(A,B,C) = Sm(2, 3, 5, 6, 7) Using an n-input Mux

  37. ECE 331 - Digital System Design Example: Using an 8-to-1 multiplexer, design a logic circuit to realize the following Boolean function F(A,B,C) = Sm(1, 2, 4) Using an n-input Mux

  38. Using an (n / 2)-input Multiplexer • Use an (n / 2)-input multiplexer to realize a logic circuit for a function with n minterms. • m = 2n, where m = # of variables in the function • Group the rows of the truth table, for the function, into (n / 2) pairs of rows. • Each pair of rows represents a product term of (m – 1) variables. • Each pair of rows can be mapped to a multiplexer input. • Determine the logical function of each pair of rows in terms of the mth variable. • If the mth variable, for example, is x, then the possible values are x, x', 0, and 1.

  39. ECE 331 - Digital System Design Example: F(x,y,z) = Sm(1, 2, 6, 7) Using an (n / 2)-input Mux

  40. ECE 331 - Digital System Design Example: F(A,B,C,D) = Sm(1,3,4,11,12–15) Using an (n / 2)-input Mux

  41. ECE 331 - Digital System Design The design of a logic circuit using an (n / 2)-input multiplexer can be easily extended to the use of an (n / 4)-input multiplexer. Using an (n / 4)-input Mux

  42. ECE 331 - Digital System Design Designing logic circuits using decoders

  43. ECE 331 - Digital System Design Using an n-output Decoder • Use an n-output decoder to realize a logic circuit for a function with n minterms. • Each minterm of the function can be mapped to an output of the decoder. • For each row in the truth table, for the function, where the output is 1, sum (or “OR”) the corresponding outputs of the decoder. • That is, for each minterm in the minterm expansion of the function, OR the corresponding outputs of the decoder. • Leave remaining outputs of the decoder unconnected.

  44. ECE 331 - Digital System Design Example: Using a 3-to-8 decoder, design a logic circuit to realize the following Boolean function F(A,B,C) = Sm(2, 3, 5, 6, 7) Using an n-output Decoder

  45. ECE 331 - Digital System Design Example: Using two 2-to-4 decoders, design a logic circuit to realize the following Boolean function F(A,B,C) = Sm(0, 1, 4, 6, 7) Using an n-output Decoder

  46. ECE 331 - Digital System Design Questions?

More Related