ece 331 – digital system designece.gmu.edu/~clorie/spring11/ece-331/lectures/lecture_17.pdf ·...

31
ECE 331 – Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #17) The slides included herein were taken from the materials accompanying Fundamentals of Logic Design, 6 th Edition, by Roth and Kinney, and were used with permission from Cengage Learning.

Upload: dinhdieu

Post on 19-Mar-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

ECE 331 – Digital System Design

Tristate Buffers,Read-Only Memories

andProgrammable Logic Devices

(Lecture #17)

The slides included herein were taken from the materials accompanying

Fundamentals of Logic Design, 6th Edition, by Roth and Kinney,

and were used with permission from Cengage Learning.

Page 2: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 2

Tristate Buffers

Page 3: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 3

Tristate Buffer

● A tristate buffer can output 3 different values:

– Logic 1 (high)

– Logic 0 (low)

– High-Impedance

input output

control

Page 4: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 4

Tristate BuffersEnable

Page 5: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 5

Building a Mux with Tristate Buffers

Outputs can be “shorted” together

Only one buffer is enabled at a time

Page 6: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 6

IC Bi-directional I/O Pin

Page 7: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 7

Read-Only Memories

Page 8: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 8

A read-only memory (ROM) consists of an array of

semiconductor devices that are interconnected to store a set of binary data.

Once binary data is stored in the ROM, it can be read out

whenever desired, but the data that is stored cannot be changed under normal operating conditions.

ROM

● Data is written to the ROM once, and read from the ROM many times.

Page 9: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 9

ROM

address

data

Page 10: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

10

ROM – Basic Structure

address

data

Page 11: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 11

Building Logic Functions using ROM

F0 = Σm(0, 1, 4, 6)

F1 = Σm(2, 3, 4, 6, 7)

What functions are realized by the ROM for F2 and F3?

Page 12: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 12

Building Logic Functions using ROM

Page 13: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 13

Building Logic Functions using ROM

A5 = A4

A6 = A5'

Page 14: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 14

Programmable Logic Devices

Page 15: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 15

A programmable logic device (or PLD) is a general name for a digital integrated circuit capable of being programmed to provide a variety of different logic functions.

When a digital system is designed using a PLD, changes in

the design can easily be made by changing the programming of the PLD without having to change the wiring in the system.

Programmable Logic Device

● Programmable Logic Devices (PLDs) include:

– Programmable Logic Arrays (PLAs)

– Programmable Array Logic (PALs)

– Complex Programmable Logic Devices (CPLDs)

– Field Programmable Gate Arrays (FPGAs)

Page 16: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 16

Programmable Logic Array

● A Programmable Logic Array (PLA) performs the same basic function as the ROM.

● A PLA with n inputs and m outputs can realize

– m functions

– of n variables

● A PLA consists of

– An AND array to realize product terms

– An OR array to realize the output functions

● Thus, a PLA implements SOP expressions.

Page 17: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

17

PLA – Basic Structure

Page 18: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 18

Building Logic Functions with PLA

F0 = Σm(0, 1, 4, 6)

F1 = Σm(2, 3, 4, 6, 7)

What functions are realized by the PLA for F2 and F3?

Page 19: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 19

Building Logic Functions using PLA

Wired-AND

Wired-OR

same functions as previous slide

Page 20: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

20

Building Logic Functions using PLA

AND

OR

Page 21: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 21

Programmable Array Logic

● The Programmable Array Logic (PAL) is a special case of the PLA

– AND array is programmable

– OR array is fixed

● A PAL is less expensive than the more general PLA.

● A PAL is easier to program.

Page 22: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 22

Building Logic Functions using PAL

programmable

fixed

Page 23: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 23

Building Logic Functions using PAL

Page 24: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 24

Complex Programmable Logic Device

● A Complex Programmable Logic Device integrates many PLAs (or PALs) onto a single chip.

● In addition to the individual PLAs (or PALs) being programmable, the interconnection between these components is also programmable.

● A small digital system can be realized using

– A single CPLD

– Necessary memory elements (i.e. flip-flops)

Page 25: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 25

CPLD

Architecture of the Xilinx XCR3064XL CPLD (Figure based on figures and text owned by Xilinx, Inc., Courtesy of Xilinx, Inc. © Xilinx, Inc.

1999-2003. All rights reserved.)

Page 26: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 26

CPLD

CPLD Function Block and Macrocell (A Simplified Version of XCR3064XL)

Page 27: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 27

Field Programmable Gate Array

● A Field Programmable Gate Array consists of

– An array of identical logic cells

– An interconnection network between logic cells

● The logic cells, aka Configurable Logic Blocks (CLBs), are programmable.

● The interconnection between CLBs is also programmable.

● The CLBs are surrounded by a ring of I/O blocks

– which connect the CLBs to the I/O pins.

Page 28: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 28

Layout of a Typical FPGA

Page 29: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

29

Simplified Configurable Logic Block

Page 30: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 30

Implementation of a Lookup Table

● A 4-input Lookup Table (LUT) is, essentially, a reprogrammable ROM with 16 1-bit words.

Page 31: ECE 331 – Digital System Designece.gmu.edu/~clorie/Spring11/ECE-331/Lectures/Lecture_17.pdf · Spring 2011 ECE 331 - Digital System Design 3 Tristate Buffer A tristate buffer can

Spring 2011 ECE 331 - Digital System Design 31

Questions?