Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Digital Design: Combinational Logic Blocks Credits : Slides adapted from: J.F. Wakerly, Digital Design, 4/e, Prentice Hall, 2006 C.H. Roth, Fundamentals.

Similar presentations


Presentation on theme: "1 Digital Design: Combinational Logic Blocks Credits : Slides adapted from: J.F. Wakerly, Digital Design, 4/e, Prentice Hall, 2006 C.H. Roth, Fundamentals."— Presentation transcript:

1 1 Digital Design: Combinational Logic Blocks Credits : Slides adapted from: J.F. Wakerly, Digital Design, 4/e, Prentice Hall, 2006 C.H. Roth, Fundamentals of Logic Design, 5/e, Thomson, 2004 A.B. Marcovitz, Intro. to Logic and Computer Design, McGraw Hill, 2008 R.H. Katz, G. Borriello, Contemporary Logic Design, 2/e, Prentice-Hall, 2005

2 2 Multiplexers (Data Selectors) A multiplexer (MUX for short) is a digital switch: it passes (connects) one of its data inputs to the output. the data input selected is a function of a set of control inputs called selection inputs. Two alternative forms for a 2:1 Mux truth table AZ0I01I1AZ0I01I1 I1I0AZ I1I0AZ Z = A' I 0 + A I 1

3 3 Multiplexers (cont’d)

4 4 Gate level implementation of muxes 2:1 mux 4:1 mux

5 5 Control signals B and C simultaneously choose one of I0, I1, I2, I3 and one of I4, I5, I6, I7 Control signal A chooses which of the upper or lower mux's output to gate to Z alternative implementation C Z A B 4:1 mux 2:1 mux I4 I5 I2 I3 I0 I1 I6 I7 8:1 mux Cascading multiplexers Large multiplexers can be made by cascading smaller ones Z A B C I0 I1 I2 I3 I4 I5 I6 I7 4:1 mux 2:1 mux 8:1 mux

6 6 Multiplexers as general-purpose logic A 2 n :1 multiplexer can implement any function of n variables with the variables used as control inputs and the data inputs tied to 0 or 1 Example: F(A,B,C) = m0 + m2 + m6 + m7 = A'B'C' + A'BC' + ABC' + ABC = A'B'C'(1) + A'B'C(0) + A'BC'(1) + A'BC(0) + AB'C'(0) + AB'C(0) + ABC'(1) + ABC(1) C AB S2 8:1 MUX S1S0 Z F Z = A'B'C'I 0 + A'B'CI 1 + A'BC'I 2 + A'BCI 3 + AB'C'I 4 + AB'CI 5 + ABC'I 6 + ABCI 7

7 7 Multiplexers as general-purpose logic (cont’d) Generalization data inputs can also be tied to variables not just 0’s an 1’s four possible configurations of truth table rows can be expressed as a function of I n I 0 I 1...I n-1 I n F I n I n '1 n-1 mux control variables single mux data variable

8 8 Activity ABCDZ ABCDZ when B’C’ D’ when B’C A when BC’ 0 when BC Z = B’C’(0) + B’C(D’) + BC’(A) + BC(0) BC S1S0 F :1 MUX 0 D’ A 0 Realize F = B’CD’ + ABC’ with a 4:1 multiplexer

9 9 Multiplexer with bus inputs and outputs

10 10 Demultiplexers Route a single input to one of many outputs, as a function of a set of control inputs 3 x y0y0 y1y1 y2y2 y3y3 y4y4 y5y5 y6y6 y7y7 s[2:0] 1:8 demux

11 11 Three-State Buffers Normally, a logic circuit will not operate correctly if the outputs of two or more gates or other logic devices are directly connected to each other (multiple drivers conflict). Use of tri-state logic permits the outputs of two or more gates or other logic devices to be connected together 1 0 ?The two driving blocks fight with each other B1 B2 (buffers are a.k.a. drivers)

12 12 Tri-state Buffers (cont’d) When the enable B is 1, the output C equals A. When the enable B is 0, the output C acts like an open circuit. In this case the output C is effectively disconnected from the buffer output so that no current can flow. This is often referred as Hi-Z (high-impedance) state because the circuit offers a very high impedance to the flow of current.

13 13 Tri-state Buffers application examples

14 14 Tri-state Buffers application examples (cont’d)

15 15 Tri-state buffers application examples (cont’d)

16 16 Tri-state Buffers application examples (cont’d)

17 17 Decoders A decoder is a logic circuit that converts coded inputs into coded outputs. Each input code word produces a different output code word (there is a one-to-one mapping between inputs and outputs)

18 18 Decoders (cont’d) Decimal

19 19 Binary Decoders The most common decoder circuit is an n-to-2 n decoder (or binary decoder)

20 20 Binary Decoders (cont’d)

21 21 Binary Decoders (cont’d)

22 22 active-high enable O0 G S O1 active-low enable O0 \G S O1 active-high enable S1 O2 O3 O0 G O1 S0 active-low enable S1 O2 O3 O0 \G O1 S0 Gate level implementation of decoders 1:2 decoders 2:4 decoders

23 23 Decoders as general-purpose logic n-to-2 n decoders can implement any function of n variables with the variables used as control inputs the appropriate minterms summed to form the function decoder generates appropriate minterm based on control signals (it "decodes" control signals) A'B'C' A'B'C A'BC' A'BC AB'C' AB'C ABC' ABC C AB S2 3:8 DEC S1S0

24 24 F1 F2 F3 Decoders as general-purpose logic (cont’d) F1 = A'BC'D + A'B'CD + ABCD F2 = ABC'D' + ABC F3 = (A' + B' + C' + D') AB 0A'B'C'D' 1A'B'C'D 2A'B'CD' 3A'B'CD 4A'BC'D' 5A'BC'D 6A'BCD' 7A'BCD 8AB'C'D' 9AB'C'D 10AB'CD' 11AB'CD 12ABC'D' 13ABC'D 14ABCD' 15ABCD 4:16 DEC CD

25 25 Encoders An encoder performs the inverse function as a decoder The simplest encoder to build is a 2 n -to-n (binary encoder)

26 26 Priority Encoders I7I6I5I4I3I2I1I0A2A1A0IDLE xxxxxxx xxxxxx xxxxx xxxx xxx xx x

27 27 Priority Encoders (cont’d)

28 28 Programmable Arrays ROM (read only memories) PLA (programmable logic array) PAL (programmable array logic) CPLD (complex programmable logic devices) FPGA (field programmable gate arrays)

29 29 Read-Only Memories (ROM) A ROM consists of a two dimensional array of semiconductor devices interconnected to store an array of binary data Two-level canonical form combinational logic can be implemented using a ROM as a look-up-table (LUT) F0 = A' B' C + A B' C' + A B' C F1 = A' B' C + A' B C' + A B C F2 = A' B' C' + A' B' C + A B' C' F3 = A' B C + A B' C' + A B C' truth table ABCF0F1F2F

30 30 Combinational logic using a ROM

31 31 ROM Structure 2 n words

32 32 PLA (Programmable Logic Arrays) A PLA performs the same basic LUT task as a ROM. A PLA with n inputs and m outputs can realize m combinational functions of n variables. The internal organization of a PLA is different from that of the ROM

33 33 PLA (cont’d)

34 34 PLA short-hand notation

35 35 Activity Map the following functions to the PLA below: W = AB + A’C’ + BC’ X = ABC + AB’ + A’B Y = ABC’ + BC + B’C’

36 36 Activity (cont’d) 9 terms won’t fit in a 7 term PLA can apply concensus theorem to W to simplify to: W = AB + A’C’ 8 terms wont’ fit in a 7 term PLA observe that AB = ABC + ABC’ can rewrite W to reuse terms: W = ABC + ABC’ + A’C’ Now it fits W = ABC + ABC’ + A’C’ X = ABC + AB’ + A’B Y = ABC’ + BC + B’C’ ABC ABC’ A’C’ AB’ A’B BC B’C’ Manipulating logic functions so that they can use available resources is called Technology Mapping

37 37 PAL (Programmable Array Logic) The PAL is a special case of the PLA in which the AND array is programmable and the OR array is fixed Figure. PAL Segment

38 38 Implementation of a Full Adder Using a PAL

39 39 CPLDs and FPGAs The distinction between CPLD and FPGAs is blurred. FPGAs contain a regular structure of programmable basic logic cells surrounded by programmable interconnect. CPLDs contain a matrix of logic macrocells that usually consist of programmable array logic followed by a flip-flop or latch. The macrocells are connected using a single large programmable interconnect block

40 40 Example of CPLD Internal Structure

41 41 Example of FPGA Internal Structure


Download ppt "1 Digital Design: Combinational Logic Blocks Credits : Slides adapted from: J.F. Wakerly, Digital Design, 4/e, Prentice Hall, 2006 C.H. Roth, Fundamentals."

Similar presentations


Ads by Google