Digital Design: Combinational Logic Blocks

Slides:



Advertisements
Similar presentations
Lecture 11-1 FPGA We have finished combinational circuits, and learned registers. Now are ready to see the inside of an FPGA.
Advertisements

컴퓨터구조론 교수 채수환. 교재 Computer Systems Organization & Architecture John D. Carpinelli, 2001, Addison Wesley.
ECE 2110: Introduction to Digital Systems Chapter 6 Combinational Logic Design Practices Encoders.
Encoders Three-state devices Multiplexers
Overview Part 2 – Combinational Logic Functions and functional blocks
Documentation Standards
Programmable Logic PAL, PLA.
111 Basic Circuit Elements n Standard TTL Small-Scale Integration: 1 chip = 2-8 gates n Requires numerous chips to build interesting circuits n Alternative:
Decoders/DeMUXs CS370 – Spring Decoder: single data input, n control inputs, 2 outputs control inputs (called select S) represent Binary index of.
Henry Hexmoor1 C hapter 4 Henry Hexmoor-- SIUC Rudimentary Logic functions: Value fixing Transferring Inverting.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
Programmable Logic Devices
©2004 Brooks/Cole FIGURES FOR CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES Click the mouse to move to the next page. Use the ESC key.
CPEN Digital System Design
IV - Combinational Logic Technologies © Copyright 2004, Gaetano Borriello and Randy H. Katz 1 Combinational Logic Technologies Standard gates  gate packages.
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
Multiplexers, Decoders, and Programmable Logic Devices
Combinational Logic Building Blocks
ECE 331 – Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #16) The slides included herein were taken.
Multiplexer MUX. 2 Multiplexer Multiplexer (Selector)  2 n data inputs,  n control inputs,  1 output  Used to connect 2 n points to a single point.
Programmable Array Logic (PAL) Fixed OR array programmable AND array Fixed OR array programmable AND array Easy to program Easy to program Poor flexibility.
طراحی مدارهای منطقی نیمسال دوم دانشگاه آزاد اسلامی واحد پرند.
Figure to-1 Multiplexer and Switch Analog
Introduction to Digital Logic Design Appendix A of CO&A Dr. Farag
Combinational Logic Design
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices
MSI Devices M. Mano & C. Kime: Logic and Computer Design Fundamentals (Chapter 5) Dr. Costas Kyriacou and Dr. Konstantinos Tatas ACOE161 - Digital Logic.
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices Ku-Yaw Chang Assistant Professor, Department of Computer Science.
ROM & PLA Digital Logic And Computer Design
1 Lecture 9 Demultiplexers Programmable Logic Devices  Programmable logic array (PLA)  Programmable array logic (PAL)
Combinational Design, Part 3: Functional Blocks
CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES
1 CSE370, Lecture 11 Lecture 11  Logistics  HW3 due now  Lab4 goes on as normal next week  Tuesday review 6pm, place TBD  Last lecture  "Switching-network"
1 CSE370, Lecture 10 Lecture 10 u Logistics n HW3 due Friday (cover materials up to this lecture) n Lab3 going on this week n Midterm 1: a week from today.
Programmable Logic Devices (PLDs)
Computer Architecture From Microprocessors To Supercomputers
Chapter # 4: Programmable Logic
Programmable logic devices. CS Digital LogicProgrammable Logic Device2 Outline PLAs PALs ROMs.
CSE 370 Spring 2006 Introduction to Digital Design Lecture 10: Multiplexers and Demultiplexers Last Lecture Multilevel Logic Hazards Today Multiplexers.
CSI-2111 Structure of Computers Ipage Combinational Circuits  Objectives : To recognize the principal types of combinational circuits  Adders.
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
Binary Parallel Adders
CEC 220 Digital Circuit Design Decoders, Encoders, & ROM Wed, February 19 CEC 220 Digital Circuit Design Slide 1 of 18.
ACOE161 (Spring2007)MSI Devices1 Revision on MSI Devices M. Mano & C. Kime: Logic and Computer Design Fundamentals (Chapter 5)
MSI Circuits.
This chapter in the book includes: Objectives Study Guide
ETE Digital Electronics
Chapter # 4: Programmable Logic
This chapter in the book includes: Objectives Study Guide
Combinational Logic Circuits
Lecture 9 Logistics Last lecture Today HW3 due Wednesday
Dr. Clincy Professor of CS
This chapter in the book includes: Objectives Study Guide
ECE 434 Advanced Digital System L03
CPE/EE 422/522 Advanced Logic Design L02
Dr. Clincy Professor of CS
CSCE 211: Digital Logic Design
CSCE 211: Digital Logic Design
ECE434a Advanced Digital Systems L02
Lecture 8 Logistics Last lecture Last last lecture Today
Programmable Configurations
Lecture 10 Logistics Last lecture Today
Dr. Clincy Professor of CS
Lecture 11 Logistics Last lecture Today HW3 due now
CSCE 211: Digital Logic Design
CSCE 211: Digital Logic Design
Overview Last lecture Timing; Hazards/glitches
Digital System Design Combinational Logic
Presentation transcript:

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

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. I1 I0 A Z 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 A Z 0 I0 1 I1 Two alternative forms for a 2:1 Mux truth table Z = A' I0 + A I1

Multiplexers (cont’d)

Gate level implementation of muxes

Cascading multiplexers Large multiplexers can be made by cascading smaller ones I0 I1 I2 I3 I4 I5 I6 I7 4:1 mux 2:1 mux 8:1 mux alternative implementation 4:1 mux 2:1 mux I4 I5 I2 I3 I0 I1 I6 I7 8:1 mux Z Z B C A 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 C A B

Multiplexers as general-purpose logic A 2n: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 1 0 1 0 0 0 1 1 F C A B 0 1 2 3 4 5 6 7 S2 8:1 MUX S1 S0 Z = A'B'C'(1) + A'B'C(0) + A'BC'(1) + A'BC(0) + AB'C'(0) + AB'C(0) + ABC'(1) + ABC(1) Z = A'B'C'I0 + A'B'CI1 + A'BC'I2 + A'BCI3 + AB'C'I4 + AB'CI5 + ABC'I6 + ABCI7

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

Activity Realize F = B’CD’ + ABC’ with a 4:1 multiplexer 0 when B’C’ A B C D Z 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 0 when B’C’ D’ when B’C A when BC’ 0 when BC B C S1 S0 F 0 1 2 3 4:1 MUX 0 D’ A 0 Z = B’C’(0) + B’C(D’) + BC’(A) + BC(0)

Multiplexer with bus inputs and outputs

Demultiplexers Route a single input to one of many outputs, as a function of a set of control inputs 3 x y0 y1 y2 y3 y4 y5 y6 y7 s[2:0] 1:8 demux

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 B1 ? The two driving blocks fight with each other B2 (buffers are a.k.a. drivers)

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.

Tri-state Buffers application examples

Tri-state Buffers application examples (cont’d)

Tri-state buffers application examples (cont’d)

Tri-state Buffers application examples (cont’d)

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)

Decoders (cont’d) Decimal

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

Binary Decoders (cont’d)

Binary Decoders (cont’d)

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

Decoders as general-purpose logic n-to-2n 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 A B 0 1 2 3 4 5 6 7 S2 3:8 DEC S1 S0

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

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

Priority Encoders I7 I6 I5 I4 I3 I2 I1 I0 A2 A1 A0 IDLE 1 x

Priority Encoders (cont’d)

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

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) truth table A B C F0 F1 F2 F3 0 0 0 0 0 1 0 0 0 1 1 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 1 1 0 1 0 0 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'

Combinational logic using a ROM

ROM Structure 2n words

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

PLA (cont’d)

PLA short-hand notation

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

Activity (cont’d) 9 terms won’t fit in a 7 term PLA Manipulating logic functions so that they can use available resources is called Technology Mapping 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’ A B C W X Y ABC ABC’ A’C’ AB’ A’B BC B’C’

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

Implementation of a Full Adder Using a PAL

CPLDs and FPGAs The distinction between CPLD and FPGAs is blurred. 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 FPGAs contain a regular structure of programmable basic logic cells surrounded by programmable interconnect.

Example of CPLD Internal Structure

Example of FPGA Internal Structure