1 / 82

Multiplexers Decoders ROMs (LUTs)

Multiplexers Decoders ROMs (LUTs). A Problem Statement. Design a circuit which will select between two inputs (A and B) and pass the selected one to the output (Q). The desired circuit is called a multiplexer or MUX for short. Multiplexer Symbols. Preferred symbol. A. A. 0 1. 0 1. Q.

Download Presentation

Multiplexers Decoders ROMs (LUTs)

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. MultiplexersDecodersROMs (LUTs) ECEn 224

  2. A Problem Statement Design a circuit which will selectbetween two inputs (A and B) and passthe selected one to the output (Q). The desired circuit is called a multiplexer or MUX for short ECEn 224

  3. Multiplexer Symbols Preferred symbol A A 0 1 0 1 Q Q B B S S “Select” input ECEn 224

  4. Data Steering A A A 0 0 0 Q Q Q B B B 1 1 1 1 S 0 Key idea: The select input wire selects one of the inputs and passes it out to the output. This is called a 2:1 MUX (pronounced “two-to-one”) ECEn 224

  5. Multiplexers ECEn 224

  6. Multiplexers ECEn 224

  7. Multiplexers Q = S’A + SB A S Q B ECEn 224

  8. Multiplexers  Z = A’B’I0 + A’BI1 + AB’I2 + ABI3 I0 I1 I2 I3 Data Inputs Z 4:1 MUX  A B Control Inputs ECEn 224

  9. 8 to 1 Multiplexer I0 I1 I2 I3 Z = A’B’C’I0 + A’B’CI1 + A’BC’I2 + … Data Inputs 8:1 MUX Z I4 I5 I6 I7 ABC Control Inputs ECEn 224

  10. A General MUX I0 I1 … IN-1 N Data Inputs N:1MUX Z Output … sk-1…..s0 log2(N) Control Inputs ECEn 224

  11. A 3:1 MUX? I0 I1 I2 Q = A’B’I0 + A’BI1 + AB’I2 3:1 MUX Q A B • What happens when AB = 11? • Often we just use a 4:1 MUX and leave I3 unconnected. ECEn 224

  12. Multiplexers In A Microprocessor • Each signal here is a 16-bit wide bus • A 16-bit wide MUX is simply16 1-bit wide MUXes all with common select inputs ECEn 224

  13. 00 01 10 11 16-bit 3:1 MUX Example BusA bit 0 bit 0 BusB Select control lines bit 0 BusC bit 0 ECEn 224

  14. 00 01 10 11 16-bit 3:1 MUX Example BusA bit 1 bit 1 BusB Select control lines bit 1 BusC bit 1 ECEn 224

  15. 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 16-bit 3:1 MUX Example BusA Output BusB bit 15 bit 2 bit 0 bit 1 BusC … s1 s0 They all use the same select control lines…One bit from each bus goes to each MUX The result is a 16-bit bus ECEn 224

  16. Implementing Logic with MUX Blocks ECEn 224

  17. 0 1 Example 1 Using A as the select input … A=0 part of the truth table … when A=0, F=0 0 F B+C A=1 part of the truth table … when A=1, F=B+C A ECEn 224

  18. 0 1 Example 2 Using B as the select input … B=0 part of the truth table … when B=0, F=AC AC F A B=1 part of the truth table … when B=1, F=A B ECEn 224

  19. 0 1 Example 3 Using C as the select input … C=0 part of the truth table … when C=0, F=AB AB F A C=1 part of the truth table … when C=1, F=A C All 3 of these examples are the same truth table… ECEn 224

  20. 00 01 10 11 Using a Bigger MUX Using AB as the select input … AB=00 part of the truth table … when AB=00, F=0 0 AB=01 part of the truth table … when AB=01, F=C’ C’ F 1 C AB=10 part of the truth table … when AB=10, F=1 AB=11 part of the truth table … when AB=11, F=C AB Can easily re-order truth table to use different MUX control inputs ECEn 224

  21. 00 01 10 11 Another 4:1 MUX Example 1 1 F 0 1 AB This shows that a large enough MUX can directly implement a truth table… ECEn 224

  22. Implementing Logic Functions With Muxes Implement: Z = A’B + BC’ I0 I1 I2 I3 4-to-1 MUX Z A B ECEn 224

  23. forAB=00, Z=0 Implementing Logic Functions With Muxes Implement: Z = A’B + BC’ I0 I1 I2 I3 0 4-to-1 MUX Z A B ECEn 224

  24. forAB=01, Z=1 Implementing Logic Functions With Muxes Implement: Z = A’B + BC’ I0 I1 I2 I3 0 1 4-to-1 MUX Z A B ECEn 224

  25. Implementing Logic Functions With Muxes Implement: Z = A’B + BC’ I0 I1 I2 I3 0 1 4-to-1 MUX Z 0 forAB=10, Z=0 A B ECEn 224

  26. forAB=11, Z=C’ Implementing Logic Functions With Muxes Implement: Z = A’B + BC’ I0 I1 I2 I3 0 1 4-to-1 MUX Z 0 C’ A B ECEn 224

  27. Implementing Logic Functions With Muxes An alternate method Z = A’B + BC’ Z = 1•0 + 0•C’ = 0 A=0 B=0 A=0 B=1 A=1 B=0 A=1 B=1 I0 I1 I2 I3 0 Z = 1•1 + 1•C’ = 1 1 4-to-1 MUX Z 0 Z = 0•0 + 0•C’ = 0 C’ Z = 0•1 + 1•C’ = C’ A B ECEn 224

  28. Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) 0 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 ECEn 224

  29. Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) X X 0 4 12 8 1 5 13 9 3 7 15 11 X 2 6 14 10 ECEn 224

  30. I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A B C Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) ECEn 224

  31. I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A B C Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) 0 ECEn 224

  32. I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A B C Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) 0 D ECEn 224

  33. Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) 0 D 1 I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A B C ECEn 224

  34. Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) 0 D 1 0 I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A B C ECEn 224

  35. Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) 0 D 1 0 0 I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A B C ECEn 224

  36. Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) 0 D 1 0 0 1 I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A B C ECEn 224

  37. Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) 0 D 1 0 0 1 D’ I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A B C ECEn 224

  38. Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) 0 D 1 0 0 1 D’ 1 I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A B C ECEn 224

  39. I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A C D Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) ECEn 224

  40. I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A C D Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) 0 ECEn 224

  41. I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A C D Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) 0 B ECEn 224

  42. I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A C D Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) 0 B 0 ECEn 224

  43. I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A C D Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) 0 B 0 B’ ECEn 224

  44. I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A C D Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) 0 B 0 B’ 1 ECEn 224

  45. I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A C D Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) 0 B 0 B’ 1 0 ECEn 224

  46. I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A C D Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) 0 B 0 B’ 1 0 1 ECEn 224

  47. I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A C D Implementing Logic Functions With Muxes Z (A,B,C,D) =  m(3,5,10,11,12,15) +  d (4,8,14) 0 B 0 B’ 1 0 1 1 ECEn 224

  48. I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A C D Implementing Logic Functions With Muxes An alternate method Z = AC + AD’ + A’BC’ + B’CD ECEn 224

  49. Implementing Logic Functions With Muxes An alternate method A C DZ = AC + AD’ + A’BC’ + B’CD 0 0 0 Z = (0)(0) + (0)(1) + (1)B(1) + B’(0)(0) = B 0 0 1 Z = (0)(0) + (0)(0) + (1)B(1) + B’(0)(1) = B 0 1 0 Z = (0)(1) + (0)(1) + (1)B(0) + B’(1)(0) = 0 0 1 1 Z = (0)(1) + (0)(0) + (1)B(0) + B’(1)(1) = B’ 1 0 0 Z = (1)(0) + (1)(1) + (0)B(1) + B’(0)(0) = 1 1 0 1 Z = (1)(0) + (1)(0) + (0)B(1) + B’(0)(1) = 0 1 1 0 Z = (1)(1) + (1)(1) + (0)B(0) + B’(1)(0) = 1 1 1 1 Z = (1)(1) + (1)(0) + (0)B(1) + B’(1)(1) = 1 ECEn 224

  50. I0 I1 I2 I3 I4 I5 I6 I7 8-to-1 MUX Z A C D Implementing Logic Functions With Muxes An alternate method B B 0 B’ 1 0 1 1 Z = AC + AD’ + A’BC’ + B’CD ECEn 224

More Related