Download presentation
Presentation is loading. Please wait.
Published byRose Butler Modified over 9 years ago
1
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University
2
22004/04/05Fundamentals of Logic Design Contents 9.1 Introduction 9.2 Multiplexers 9.3 Three-State Buffers 9.4 Decoders and Encoders 9.5 Read-Only Memories 9.6 Programmable Logic Devices 9.7 Complex Programmable Logic Devices 9.8 Field Programmable Gate Arrays
3
32004/04/05Fundamentals of Logic Design Programmable Logic Devices A general name for a digital integrated circuit capable of being programmed to provide a variety of different logic functions
4
42004/04/05Fundamentals of Logic Design Programmable Logic Arrays Performs the same basic function as a ROM n inputs and m outputs n inputs and m outputs m functions of n variables Differences in internal organization The decoder is replaced with an AND array The decoder is replaced with an AND array OR array OR array PLA : a sum-of-product expression ROM : truth table
5
52004/04/05Fundamentals of Logic Design PLA Structure
6
62004/04/05Fundamentals of Logic Design PLA with Three Inputs, Five Product Terms, and Four Outputs
7
72004/04/05Fundamentals of Logic Design AND-OR Array
8
82004/04/05Fundamentals of Logic Design PLA Table
9
92004/04/05Fundamentals of Logic Design PLA Realization f 1 = a’bd + abd + ab’c’ + b’c f 2 = c + a’bd f 3 = bc + ab’c’ + abd
10
102004/04/05Fundamentals of Logic Design PLA Structure
11
112004/04/05Fundamentals of Logic Design PLA Table v.s. Truth Table PLA Table Each row represents a general product term. Each row represents a general product term. 0, 1, or more rows may be selected. 0, 1, or more rows may be selected. ROM Truth Table Each row represents a minterm. Each row represents a minterm. Exactly one row will be selected. Exactly one row will be selected.
12
122004/04/05Fundamentals of Logic Design PLAs Mask-programmable PLAs Programmed at the time of manufacture Programmed at the time of manufacture Similar to mask-programmable ROM Similar to mask-programmable ROM Field-programmable PLAs (FPLAs) Use electronic charges to store a pattern in the AND and OR arrays Use electronic charges to store a pattern in the AND and OR arrays An FPLA with 16 inputs, 48 product terms and 8 outputs An FPLA with 16 inputs, 48 product terms and 8 outputs 8 functions of 16 variables Total number of product terms does not exceed 48
13
132004/04/05Fundamentals of Logic Design Programmable Array Logic PAL a special case of PLA a special case of PLA AND array is programmable OR array is fixed Less expensive Less expensive Easier to program Easier to program
14
142004/04/05Fundamentals of Logic Design PAL A buffer is used To drive many AND gate inputs To drive many AND gate inputs
15
152004/04/05Fundamentals of Logic Design PAL Connections to the AND gate inputs are represented by X’s
16
162004/04/05Fundamentals of Logic Design PAL segment
17
172004/04/05Fundamentals of Logic Design Full Adder The logic equations for the full adder are Sum = X’Y’C in + X’YC’ in + XY’C’ in + XYC in Sum = X’Y’C in + X’YC’ in + XY’C’ in + XYC in C out = XC in + YC in + XY C out = XC in + YC in + XY
18
182004/04/05Fundamentals of Logic Design Full Adder
19
192004/04/05Fundamentals of Logic Design Contents 9.1 Introduction 9.2 Multiplexers 9.3 Three-State Buffers 9.4 Decoders and Encoders 9.5 Read-Only Memories 9.6 Programmable Logic Devices 9.7 Complex Programmable Logic Devices 9.8 Field Programmable Gate Arrays
20
202004/04/05Fundamentals of Logic Design CPLDs As integrated circuit technology continues to improve, more and more gates can be placed on a single chip. Complex Programmable Logic Devices (CPLDs) Complex Programmable Logic Devices (CPLDs) When storage elements such as flip-flops are also included on the same IC, a small digital system can be implemented with a single CPLD.
21
212004/04/05Fundamentals of Logic Design Contents 9.1 Introduction 9.2 Multiplexers 9.3 Three-State Buffers 9.4 Decoders and Encoders 9.5 Read-Only Memories 9.6 Programmable Logic Devices 9.7 Complex Programmable Logic Devices 9.8 Field Programmable Gate Arrays
22
222004/04/05Fundamentals of Logic Design Field Programmable Gate Arrays FPGA An IC contains an array of identical logic cells with programmable interconnections An IC contains an array of identical logic cells with programmable interconnections The user can program Functions realized by each logic cell Functions realized by each logic cell Connections between the cells Connections between the cells
23
232004/04/05Fundamentals of Logic Design FPGA
24
242004/04/05Fundamentals of Logic Design Configurable Logic Block CLB Two function generators Two function generators Four inputs Can implement any function of up to four variables Implemented as lookup tables (LUTs) Two flip-flops Two flip-flops Various multiplexers for routing signals within the CLB Various multiplexers for routing signals within the CLB
25
252004/04/05Fundamentals of Logic Design Simplified CLB
26
262004/04/05Fundamentals of Logic Design Implementation of a LUT
27
272004/04/05Fundamentals of Logic Design Decomposition of Switching Functions To implement a switching function of more than four variables using 4-variable function generator The function must be decomposed into subfunctions The function must be decomposed into subfunctions Each subfunction requires only four variables Each subfunction requires only four variables
28
282004/04/05Fundamentals of Logic Design Shannon’s Expansion Theorem Expand a function of the variables a,b,c, and d about the variable a : f(a,b,c,d) = a’ f(0,b,c,d) + a f(1,b,c,d) f(a,b,c,d) = a’ f(0,b,c,d) + a f(1,b,c,d) = a’ f 0 + a f 1 = a’ f 0 + a f 1 f 0 = f(0,b,c,d): replace a with 0 in f(a,b,c,d) f 0 = f(0,b,c,d): replace a with 0 in f(a,b,c,d) f 1 = f(1,b,c,d): replace a with 1 in f(a,b,c,d) f 1 = f(1,b,c,d): replace a with 1 in f(a,b,c,d)
29
292004/04/05Fundamentals of Logic Design Expansion Example f(a,b,c,d) = c’d’ + a’b’c + bcd + ac’ = a’ (c’d’ + b’c + bcd) + a (c’d’ + bcd + c’) = a’ (c’d’ + b’c + cd) + a (c’ + bd) = a’ f 0 + a f 1
30
302004/04/05Fundamentals of Logic Design Expansion Example
31
312004/04/05Fundamentals of Logic Design Shannon’s Expansion Theorem General form : expanding an n-variable function about the variables x i : f(x 1, x 2,…, x i-1, x i, x i+1,…, x n ) f(x 1, x 2,…, x i-1, x i, x i+1,…, x n ) = x i ’ f(x 1, x 2,…, x i-1, 0, x i+1,…, x n ) + x i f(x 1, x 2,…, x i-1, 1, x i+1,…, x n ) = x i ’ f(x 1, x 2,…, x i-1, 0, x i+1,…, x n ) + x i f(x 1, x 2,…, x i-1, 1, x i+1,…, x n ) = x i ’ f 0 + x i f 1 = x i ’ f 0 + x i f 1
32
322004/04/05Fundamentals of Logic Design 5-variable function f(a, b, c, d, e) = a’ f(0, b, c, d, e) + a f(1, b, c, d, e) = a’ f 0 + a f 1 Any 5-variable function can be realized using two 4-variable function generators and a 2-to-1 MUX.
33
332004/04/05Fundamentals of Logic Design 5- and 6-variable functions
34
342004/04/05Fundamentals of Logic Design Supplement SIP Single In-line Package Single In-line PackageDIP Dual In-line Package Dual In-line PackagePGA Pin Grid Array Pin Grid ArraySIMM Single In-line Memory Module Single In-line Memory ModuleDIMM Dual In-line Memory Module Dual In-line Memory Module
35
352004/04/05Fundamentals of Logic Design Supplement IEEE Standard 1164 defines a std_logic type that has nine values: U : Uninitialized U : Uninitialized X : Unknown X : Unknown 0 : Logic 0 (driven) 0 : Logic 0 (driven) 1 : Logic 1 (driven) 1 : Logic 1 (driven) Z : High impedance Z : High impedance W : Weak 1 L : Logic 0 (read) H : Logic 1 (read) - : Don’t care
36
362004/04/05Fundamentals of Logic Design Homework #3 1.9.1 2.9.2 3.9.3 4.9.4 5.9.7 6.9.8 7.9.13 Paper Submission, due on April 8, 2004. Late submission will not be accepted.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.