CSE231 Lecture 9

Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

CSE231 – Digital Logic Design

Lecture – 9 Lesson Outcomes

Programmable
After completing this lecture, students will be able to
• Describe the difference between an PAL and GAL
• Explain the principle of operation of PAL and PLA

Logic Devices
• Explain the difference of SPLD and CPLD
• Apply PAL and PLA for CPLDs, for example, PROM and
FPGA

CSE231 Lecture 9 Page 1/30


Digital Systems Family Tree

CSE231 Lecture 9 Page 2/30


Digital Systems Family Tree

TTL : Transistor Transistor Logic


CMOS: Complementary Metal-Oxide Semiconductor
ECL : Emitter Coupled Logic
SPLD : Simple Programmable Logic Device
CPLD : Complex Programmable Logic Device
HCPLD: High Capacity Programmable Logic Device
PAL : Programmable Array Logic
GAL : Generic Array Logic
PLA : Programable Logic Array
FPGA : Field Programable Gate Array
EPROM: Erasable Programmable Read Only Memory
EEPROM: Electrically Erasable Programmable Read Only Memory
SRAM : Static Random Access Memory

CSE231 Lecture 9 Page 3/30


PLDs (Programmable Logic Devices) – symbology

Programmable Logic Devices - example Simplified PLD Symbology

CSE231 Lecture 9 Page 4/30


PLAs – Programmable Logic Arrays

CSE231 Lecture 9 Page 5/30


PLAs – Example

CSE231 Lecture 9 Page 6/30


PAL AND PLA: basic difference

CSE231 Lecture 9 Page 7/30


Example

PROBLEM. Determine the Boolean output expression for the simple PAL array shown
in Figure. The Xs represent connected links.

CSE231 Lecture 9 Page 8/30


Example

PROBLEM. Show how


the PAL-type array in
Figure should be
programmed to
implement each of the
following SOP
expressions. Use an X to
indicate a connected
link.

CSE231 Lecture 9 Page 9/30


Example

PROBLEM. Determine the output of


the array in Figure. The Xs represent
connected links.

PROBLEM. Modify the array in Figure to


produce an output

CSE231 Lecture 9 Page 10/30


Example

PROBLEM. Determine
the output expressions
for X1 and X2 from
macrocells 1 and 2 in
Figure.

CSE231 Lecture 9 Page 11/30


PROM

(a) PROM architecture makes (b) fuses are blown to program A PROM used to generate a logic function on O3.
it suitable for PLDs outputs for given functions
CSE231 Lecture 9 Page 12/30
PROM – Programmable Logic Array

(a) Typical PAL architecture; (b) the same PAL programmed for the given functions.
CSE231 Lecture 9 Page 13/30
PAL / GAL – General Block Diagram

CSE231 Lecture 9 Page 14/30


Basic types of PAL / GAL macrocells

CSE231 Lecture 9 Page 15/30


Programmable AND matrix and OLMC in GAL devices
OLMC = Output Logic Macrocell

CSE231 Lecture 9 Page 16/30


CPLD – Complex Programmable Logic Device

 A CPLD (complex programmable


logic device) consists basically of
multiple SPLD arrays with
programmable interconnections.

PIA = programmable interconnect array

CSE231 Lecture 9 Page 17/30


Block diagram of a typical CPLD

CSE231 Lecture 9 Page 18/30


Simplified block diagram of a typical CPLD

CSE231 Lecture 9 Page 19/30


Shared expander

FIGURE. Example of how a shared expander can be used in a microcell to increase


the number of product terms
CSE231 Lecture 9 Page 20/30
CPLD producing SOP using shared expander

FIGURE. Simplified illustration of


using a shared expander term
from another macrocell to
increase an SOP expression. The
red Xs and lines represent the
connections produced in the
hardware by the software
compiler running the
programmed design

CSE231 Lecture 9 Page 21/30


CPLD producing SOP using parallel expander

Basic concept of the parallel expander

CSE231 Lecture 9 Page 22/30


FPGA – Field Programmable Gate Array

 An FPGA (field-programmable gate


array) differs in architecture, does
not use PAL/PLA type arrays, and has
much greater densities than CPLDs.
 A typical FPGA has many times more
equivalent gates than a typical CPLD.
 The logic-producing elements in
FPGAs are generally much smaller
than in CPLDs, and there are many
more of them.

CSE231 Lecture 9 Page 23/30


FPGA – Field Programmable Gate Array

 The three basic elements in


an FPGA are
 the configurable logic
block (CLB),
 the interconnections, and
 the input/output (I/O)
blocks

CSE231 Lecture 9 Page 24/30


Basic configurable logic blocks (CLBs)

CSE231 Lecture 9 Page 25/30


FPGA logic module and look-up table (LUT)

FPGA logic module

number of memory cells equal


to 2n, where n is the number of
input variables

CSE231 Lecture 9 Page 26/30


Possible look-up table (LUT) configuration in a logic module

FIGURE. Expansion of a logic module (LM) to produce


a 7-variable SOP function in the extended LUT mode

CSE231 Lecture 9 Page 27/30


Example

PROBLEM. A logic module is


configured in the extended LUT
mode, as shown in Figure 10–30.
For the specific LUT outputs
shown, determine the final SOP
output

CSE231 Lecture 9 Page 28/30


References

1. Digital Fundamentals by Thomas Floyd, Pearson International Edition,


11th Edition, Chapter 9, Page 561-627.

2. Digital Systems: Principles and Applications by Ronald Tocci, Neal


Widmer and Greg Moss, Pearson International Edition, 12th Edition,
Chapter 7, Page 941-961.

CSE231 Lecture 9 Page 29/30


Next ?

Final Exam

CSE231 Lecture 9 Page 30/30

You might also like