Chapter 3 - Combinational Logic Design
Chapter 3 - Combinational Logic Design
Chapter 3 – Combinational
Logic Design
Part 2 – Programmable Implementation
Technologies
Charles Kime & Thomas Kaminski
© 2004 Pearson Education, Inc.
Terms of Use
(Hyperlinks are active in View Show mode)
Overview
Part 1 - Implementation Technology and Logic Design
• Design Concepts and Automation
Fundamental concepts of design and computer-aided design techniques
• The Design Space
Technology parameters for gates, positive and negative logic and design
tradeoffs
• Design Procedure
The major design steps: specification, formulation, optimization,
technology mapping, and verification
• Technology Mapping
Mapping from AND, OR, and NOT to other gate types
• Verification
Does the designed circuit meet the specifications?
Part 2 - Programmable Implementation Technologies
• Read-Only Memories, Programmable Logic Arrays, Programmable
Array Logic
Technology mapping to programmable logic devices
Chapter 3 - Part 2 2
Overview
Why programmable logic?
Programmable logic technologies
Read-Only Memory (ROM)
Programmable Logic Array (PLA)
Programmable Array Logic (PAL)
VLSI Programmable Logic Devices -
covered in VLSI Programmable Logic Devices reading
supplement
Chapter 3 - Part 2 3
Why Programmable Logic?
Facts:
• It is most economical to produce an IC in large
volumes
• Many designs required only small volumes of ICs
Need an IC that can be:
• Produced in large volumes
• Handle many designs required in small volumes
A programmable logic part can be:
• made in large volumes
• programmed to implement large numbers of
different low-volume designs
Chapter 3 - Part 2 4
Programmable Logic - Additional Advantages
Chapter 3 - Part 2 5
Programming Technologies
Programming technologies are used to:
• Control connections
• Build lookup tables
• Control transistor switching
The technologies
• Control connections
Mask programming
Fuse
Antifuse
Single-bit storage element
Chapter 3 - Part 2 6
Programming Technologies
The technologies (continued)
• Build lookup tables
Storage elements (as in a memory)
• Transistor Switching Control
Stored charge on a floating transistor gate
• Erasable
• Electrically erasable
• Flash (as in Flash Memory)
Storage elements (as in a memory)
Chapter 3 - Part 2 7
Technology Characteristics
Permanent - Cannot be erased and reprogrammed
Mask programming
Fuse
Antifuse
Reprogrammable
• Volatile - Programming lost if chip power lost
Single-bit storage element
• Non-Volatile
Erasable
Electrically erasable
Flash (as in Flash Memory)
Chapter 3 - Part 2 8
Programmable Configurations
Read Only Memory (ROM) - a fixed array of AND
gates and a programmable array of OR gates
Programmable Array Logic (PAL) - a
programmable array of AND gates feeding a fixed
array of OR gates.
Programmable Logic Array (PLA) - a programmable
array of AND gates feeding a programmable array
of OR gates.
Complex Programmable Logic Device (CPLD) /Field-
Programmable Gate Array (FPGA) - complex enough
to be called “architectures” - See VLSI Programmable
Logic Devices reading supplement
Chapter 3 - Part 2
Read Only Memory
Read Only Memories (ROM) or Programmable Read Only Memories
(PROM) have:
• N input lines,
• M output lines, and
• 2N decoded minterms.
Fixed AND array with 2N outputs implementing all N-literal minterms.
Programmable OR Array with M outputs lines to form up to M sum of
minterm expressions.
A program for a ROM or PROM is simply a multiple-output truth table
• If a 1 entry, a connection is made to the corresponding minterm for the
corresponding output
• If a 0, no connection is made
Can be viewed as a memory with the inputs as addresses of data (output
values), hence ROM or PROM names!
Chapter 3 - Part 2
Read Only Memory Example
Example: A 8 X 4 ROM (N = 3 input lines, M= 4 output lines)
The fixed "AND" array is a
“decoder” with 3 inputs and 8 D7 X X X
outputs implementing minterms. D6
D5 X X
The programmable "OR“ D4 X
Chapter 3 - Part 2
Programmable Array Logic Example
AND gates inputs
2
X X
F1
terms 3
F4 = 8
X X
F3
X
9
I3 5 C
X X
10
X X
11 F4
X
12
I4
0 1 2 3 4 5 6 7 8 9
Chapter 3 - Part 2
Programmable Logic Array (PLA)
Compared to a ROM and a PAL, a PLA is the most
flexible having a programmable set of ANDs combined
with a programmable set of ORs.
Advantages
• A PLA can have large N and M permitting implementation of
equations that are impractical for a ROM (because of the number
of inputs, N, required
• A PLA has all of its product terms connectable to all outputs,
overcoming the problem of the limited inputs to the PAL Ors
• Some PLAs have outputs that can be complemented, adding POS
functions
Disadvantage
• Often, the product term count limits the application of a PLA.
Two-level multiple-output optimization reduces the number of
product terms in an implementation, helping to fit it into a PLA.
Chapter 3 - Part 2
Programmable Logic Array Example
A
What are the equations for F1 and F2?
B Could the PLA implement the
functions without the XOR gates?
C
X X 1 X X AB
X X 2 X BC X Fuse intact
Fuse blown
X X 3 X AC
X X 4 X AB
X 0
C C B B AA
X 1
3-input, 3-output PLA F1
with 4 product terms
F2
Chapter 3 - Part 2
Terms of Use
© 2004 by Pearson Education,Inc. All rights reserved.
The following terms of use apply in addition to the standard Pearson
Education Legal Notice.
Permission is given to incorporate these materials into classroom
presentations and handouts only to instructors adopting Logic and
Computer Design Fundamentals as the course text.
Permission is granted to the instructors adopting the book to post these
materials on a protected website or protected ftp site in original or
modified form. All other website or ftp postings, including those
offering the materials for a fee, are prohibited.
You may not remove or in any way alter this Terms of Use notice or
any trademark, copyright, or other proprietary notice, including the
copyright watermark on each slide.
Return to Title Page
Chapter 3 - Part 2