Presentation is loading. Please wait.

Presentation is loading. Please wait.

Multiplexers, Decoders, and Programmable Logic Devices

Similar presentations


Presentation on theme: "Multiplexers, Decoders, and Programmable Logic Devices"— Presentation transcript:

1 Multiplexers, Decoders, and Programmable Logic Devices
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices

2 Outlines 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 (PLD) Programmable Logic Arrays (PLA) Programmable Array Logic (PAL) 9.7 Complex Programmable Logic Devices (CPLD) 9.8 Field Programmable Gate Arrays (FPGA) ,, Unit 09

3 Integrated Circuits (1/2)
Integrated Circuits (IC) are classified by # of gates Small-scale integration (SSI) NAND, NOR, AND, OR, inverter, Flip-Flop 1-4 gates, 6 inverters, 1-2 Flip-flops Medium-scale integration (MSI) Adder, multiplexer, decoder, register, counter gates Large-scale integration (LSI) Memories, microprocessors 100- a few thousand gates ,, Unit 09

4 Integrated Circuits (2/2)
Integrated Circuits (IC) are classified by # of gates Very-large-scale integration (VLSI) Microprocessors, FPGA, Application-specific integrated circuit (ASIC),… Several thousand gates or more Ultra Large-scale integration (ULSI) Memories, microprocessors More than 109 transistors The cost of wiring, designing and maintaining of digital system is lower when LSI and VLSI functions are used. ,, Unit 09

5 Topics 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 (PLD) Programmable Logic Arrays (PLA) Programmable Array Logic (PAL) 9.7 Complex Programmable Logic Devices (CPLD) 9.8 Field Programmable Gate Arrays (FPGA) ,, Unit 09

6 Multiplexers (1/4) Multiplexers (MUX, or data selector)
A MUX has a group of data inputs and a group of control inputs. The control inputs are used to select one of the data inputs and connect it to the output terminal. 2-to-1 MUX A=0, Z=I0 A=1, Z=I1 Z=A’I0+AI1 Unit 09

7 Multiplexers (2/4) 4-to-1, 8-to-1, 2n-to-1 MUX
Logic equation for 8-to-1 MUX Unit 09

8 Multiplexers (3/4) Logic Diagram for 8-to-1 MUX Unit 09

9 Multiplexers (4/4) Logic equation for 2n-to-1 MUX
where is a minterm of the n control variables and is the corresponding data input Unit 09

10 DE-MUltipleXer (DEMUX)
DEMUX takes a single input and direct it to one of several outputs. DEMUX S0 S1 P0 P1 P2 P3 P0 P1 P2 P3 A A A A A S0 S1 Unit 09

11 Usage of Multiplexers (1/3)
Quad Multiplexer Used to Select Data A=0, (z0z1z2z3)=(x0x1x2x3) A=1, (z0z1z2z3)=(y0y1y2y3) Unit 09

12 Usage of Multiplexers (2/3)
Figure in page Block diagram for binary divider Unit 09

13 Usage of Multiplexers (3/3)
Use a 4-to-1 MUX to be an XOR gate Use an 8-to-1 MUX to generate f(a,b,c)=Σm(1,3,4,7) Use an 8-to-1 MUX to generate f(a,b,c,d)=Σm(0,1,3,6,7,8,11,12,14) Multiplexed Transmission System Unit 09

14 Topics 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 (PLD) Programmable Logic Arrays (PLA) Programmable Array Logic (PAL) 9.7 Complex Programmable Logic Devices (CPLD) 9.8 Field Programmable Gate Arrays (FPGA) ,, Unit 09

15 Three-State Buffers (1/5)
A gate output can only be connected to a limited number of other device inputs without degrading the performance of a digital system. A buffer may be used to increase the driving capability of a gate output. Unit 09

16 Three-State Buffers (2/5)
Three-state buffer (Tri-state buffer) B=1, C=A. (C=0 or 1) B=0, C=Z. C acts like an open circuit. C is effectively disconnected from the buffer output so that no current can flow. This is referred to a Hi-Z (high-impedance) state of the output because the circuit offers a very high resistance or impedance to the flow of current. Unit 09

17 Three-State Buffers (3/5)
Four kinds of Three-State Buffers Unit 09

18 Three-State Buffers (4/5)
Data Selection Using Three-State Buffers D=B’A+BC Unit 09

19 Three-State Buffers (5/5)
Circuit with Two Three-State Buffers Unit 09

20 Usage of Three-State Buffers (1/2)
4-Bit Adder with four sources for one operand Use a 4-to-1 MUX to select one of several sources Set up a three-state bus: A bus is driven by three-state buffers Unit 09

21 Usage of Three-State Buffers (2/2)
Bi-directional I/O Pin Buffer is enabled, Output pin Buffer is disabled, Input pin Unit 09

22 Topics 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 (PLD) Programmable Logic Arrays (PLA) Programmable Array Logic (PAL) 9.7 Complex Programmable Logic Devices (CPLD) 9.8 Field Programmable Gate Arrays (FPGA) ,, Unit 09

23 Decoders To generates all of minterms: yi=mi 3-to-8 Decoder: Unit 09

24 4-to-10 Line Decoder (1/2) 4-to-10 Line Decoder with Inverted Output
yi=mi’=Mi Unit 09

25 4-to-10 Line Decoder (2/2) Unit 09

26 Usage of Line Decoder Realize the following functions using a decoder.
Unit 09

27 Encoders The inverse function of a decoder 8-to-3 Priority Encoder
Unit 09

28 Topics 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 (PLD) Programmable Logic Arrays (PLA) Programmable Array Logic (PAL) 9.7 Complex Programmable Logic Devices (CPLD) 9.8 Field Programmable Gate Arrays (FPGA) ,, Unit 09

29 Read-Only Memories (1/3)
Consists of semiconductor devices that interconnected to store binary data Unit 09

30 Read-Only Memories (2/3)
A ROM consists of a decoder and a memory array. The basic architecture of ROM Unit 09

31 Read-Only Memories (3-1/3)
A=0 B=0 C=0 A=B=C=0: F=1010 A=B=C=1: F=0101 1 1 Unit 09

32 Read-Only Memories (3-2/3)
A=1 B=1 C=1 1 A=B=C=0: F=1010 A=B=C=1: F=0101 1 1 Unit 09

33 Usage of ROM (1/4) A ROM can realize m functions (F1,F2,…Fn) of n variables. Multiple-output combinational circuits can be realized using ROMs. Realize the following functions using ROM. Unit 09

34 Usage of ROM (2/4) Unit 09

35 Usage of ROM (3/4) Design a code converter that converts a 4-bit binary number to a hexadecimal digit and outputs the 7-bit ASCII code. Unit 09

36 Usage of ROM (4/4) Because , the ROM needs only five outputs. The ROM size is 16 words by 5 bits. The decoder is a 4-to-16 decoder. Unit 09

37 Type of ROMs Mask-programmable ROMs Programmable ROMs (PROMs)
Electrically Erasable Programmable ROMs (EEPROMs, E2PROMs) Flash memories Flash memory has built-in programming and erase capability so that data can be written to it while it is in place in a circuit without the need for a separate programmer. Unit 09

38 Topics 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 (PLD) Programmable Logic Arrays (PLA) Programmable Array Logic (PAL) 9.7 Complex Programmable Logic Devices (CPLD) 9.8 Field Programmable Gate Arrays (FPGA) ,, Unit 09

39 Programmable Logic Devices
Programmable Logic Device (PLD) is a general name for a digital integrated circuit capable of being programmed to provide a variety of different logic functions. Lower cost Design a larger circuit Changing the programming of PLD Without having to change the wiring Programmable logic arrays (PLAs) Programmable array Logic devices (PALs) Complex programmable logic devices (CPLDs) Field-programmable gate arrays (FPGAs) Unit 09

40 PLA Perform the same basic function as a ROM
A PLA with n inputs and m outputs can realize k products of n variables then generate m functions . Unit 09

41 Example 1 of PLA (1/4) Realize the following functions using PLA.
Using a PLA with 4 inputs, 4 outputs and 5 internal product terms. AND Array Ex: A=1, B=0, C=1  m5=1  AC=1, others =0 F0=F1=F2=0, F3=1 Unit 09

42 Example 1 of PLA (2/4) Construct the PLA table. Unit 09

43 Example 1 of PLA (3/4) AND-OR equivalent circuit Unit 09

44 Example 1 of PLA (4-14) AND Array OR Array Unit 09

45 Example 1 of PLA (4-2/4) 1 1 1 1 1 Unit 09

46 Example 2 of PLA (1/2) Use PLA to realize f1,f2, and f3.
Using a PLA with 4 inputs, 3 outputs and 6 internal product terms. Construct the PLA table Unit 09

47 Example 2 of PLA (2/2) Unit 09

48 PAL (1/2) A special case of the PLA in which the AND array is programmable and the OR array is fixed. Less expensive than the more general PLA Easier to program Unit 09

49 PAL (2/2) Unit 09

50 Example of PAL Implement a full adder using a PAL. Unit 09

51 Topics 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 (PLD) Programmable Logic Arrays (PLA) Programmable Array Logic (PAL) 9.7 Complex Programmable Logic Devices (CPLD) 9.8 Field Programmable Gate Arrays (FPGA) ,, Unit 09

52 CPLD (1/3) Architecture of Xilinx XCR3064XL CPLD Unit 09

53 CPLD (2/3) 4 function blocks (FBs)
Each FB has 16 associated macrocells (MC1, MC2,…). Each macrocell contains a flip-flop and multiplexers that route signals from the FB to the I/O block or to the interconnect array (IA) Each FB is a programmable AND-OR array that is configured as a PLA. The IA selects signals from the macrocell outputs or I/O blocks and connects them back to FB inputs. A signal generated in one FB can be used as an input to any other FB. The I/O blocks provide an interface between the bi-directional I/O pins on the IC and the interior of the CPLD. Unit 09

54 CPLD (3/3) Data Flow in XCR3064XL CPLD Unit 09

55 Topics 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 (PLD) Programmable Logic Arrays (PLA) Programmable Array Logic (PAL) 9.7 Complex Programmable Logic Devices (CPLD) 9.8 Field Programmable Gate Arrays (FPGA) ,, Unit 09

56 FPGA An FPGA is an IC that contains an array of identical logic cells with programmable interconnections. The interior of the FPGA consists of an array of logic cells, called configurable logic blocks (CLBs). The array of CLBs is surrounded by a ring of input-output interface blocks (I/O blocks). The I/O blocks connect the CLB signals to IC pins. The space between the CLBs is used to route connections between the CLB outputs and inputs. The user can program the functions realized by each CLB and connections between CLBs. Unit 09

57 Layout of a Typical FPGA
Unit 09

58 Configurable Logic Block (CLB)
A simplified CLB 2 Function generators ( implemented as lookup tables, LUTs) 2 Flip-flops (D-FFs) 5 MUXs for routing signals within CLB. Unit 09

59 Lookup Table (LUT) A reprogrammable ROM
Stores the truth table for a function Unit 09

60 Decomposition of Switching Functions
In order to implement a switching function of more than n variables using n-variable function generators (in FPGA), the function must be decomposed into subfunctions where each subfunctions requires only n variables or less. Shannon’s Expansion Theorem Unit 09

61 Example 1 of Decomposition
Realization of Five-Variable Function with 4-input Function Generators Unit 09

62 Example 2 of Decomposition
Unit 09


Download ppt "Multiplexers, Decoders, and Programmable Logic Devices"

Similar presentations


Ads by Google