Unit 13: Chapter 3 - Combinational Logic Design
Unit 13: Chapter 3 - Combinational Logic Design
Unit 13: Chapter 3 - Combinational Logic Design
Unit 13
Logic and Computer Design Fundamentals
• Programmable Logic
Chapter
(Section 6-8)
3 – Combinational
Logic Design
• Memory Devices: RAM and ROM
Part 1 – Implementation Technology and Logic
(Supplementary notes:Design
lesson 6_2)
Charles Kime & Thomas Kaminski
© 2004 Pearson Education, Inc.
Terms of Use
(Hyperlinks are active in View Show mode)
Programmable Implementation Technologies:
Overview
Why programmable logic?
Programmable logic techniques and
technologies
Programmable Logic Devices:
• Read-Only Memory (ROM)
• Programmable Array Logic (PAL)
• Programmable Logic Array (PLA)
• VLSI Programmable Logic Devices
(Field Programmable Gate Arrays- FPGA)
Chapter 3 - Part 1 2
Why Programmable Logic?
Facts:
• It is most economical to produce an IC in large volumes
• But:
Many situations require only small volumes of ICs
Many situations require changes to be done in the
field, e.g. Firmware of a product under development
Chapter 3 - Part 1 3
Programmable Logic - Additional Advantages
Concept of
Logic Programming
Locations of connections
determine the logic function implemented
Chapter 3 - Part 1 4
Hardware Programming Technologies
In the Factory - Cannot be erased/reprogrammed by user
• Mask programming (changing the VLSI mask) during
manufacturing
Programmable only once
• Fuse
• Anti-fuse
Reprogrammable (Erased & Programmed many times)
• Volatile - Programming lost if chip power lost
Single-bit storage element
• Non-Volatile - Programming survives power loss
UV Erasable
Electrically Erasable
• Flash (as in Flash Memory)
Chapter 3 - Part 1 5
Programmable Logic Configurations:
All use AND-OR structure- differ in which is programmable
Chapter 3 - Part 1 7
Wiring Conventions
for Programmable Logic
Inputs 1 wire X X
Output = ?
Chapter 3 - Part 1 8
Read Only Memory (ROM)
Data stored in a ROM is non-volatile
i.e. Once written, this data is permanently stored
until erased or changed through re-programming
(if applicable)
The ROM has n input lines for the address and m
output data lines
So, Total memory capacity of a ROM is 2n x m bits
ROMs do not have input lines as a write operation
does not exist in them
Programmable ROMs receive data to be
programmed on the output lines
Generally, system-level programs that need to be
accessed frequently and at power up access are
stored in the computer’s ROM, e.g. the BIOS
firmware
1. Read Only Memory (ROM)
Programmable sum of (fixed) minterms
Example: 8 X 4 PROM (n = 3 input lines, m = 4 output lines)
The fixed "AND" array is a 8 X 3-input fixed ANDs give all 8 minterms
m0
“decoder” with 3 inputs and 8 D0 X X X
outputs implementing minterms D1
8 Minterms
D2 X X
The programmable "OR“ D3 X
Advantages:
• Can implement any function (all the minterms are available)
• Program is derived directly from the truth table
(uses the canonical form)
Disadvantages:
• Becomes complex for a large number of inputs n
(# of ANDs = 2n, each n-input wide)
• Does not support multi-level circuits (no outputs brought
back as inputs)
Chapter 3 - Part 1 12
Types of ROM Devices
Simply ROM: Programmed only once and by the
manufacturer (in factory), based on the client’s truth table
PROM: A ROM programmable only once by the user
(in the field). The user blows fuses to remove unwanted
connections. This process is irreversible and hence
device is programmed only once
EPROM: Erasable, Programmable ROMs. Can have their
data erased using Ultraviolet light and reprogrammed.
The user can then reprogram the ROM many times using
special programmers Off- situ.
Chapter 3 - Part 1 15
ROM-based Designs
Combinational Circuits:
ROMs can be used to implement combinational circuits
from their truth tables
(i.e. SOm form, without the need for minimization to SOP)
Sequential Circuits:
Use ROMs to design the combinational part of the
sequential circuit
ROM-based Designs:
Combinational Circuits
Example 1: Implement the following two combinational functions using a
ROM
F1 (X,Y) = ∑ m (1,2,3)
F2 (X,Y) = ∑ m (0,2)
Solution:
Specifying the ROM required:
ROM has n = 2 inputs ( 22 = 4 locations)
and m = 2 outputs ( Each location has 2 bits) … 4 x 2 bit ROM
Specifying the ROM data content (to be programmed into the ROM):
Directly from the truth table of the two functions
Index
0
1
2
3
ROM-based Designs:
Combinational Circuits
Example 2: X2 look-up table, X is 3-bit binary number
Formulation:
8 x 6 bits ROM, Truth Table
8
Observations on the truth table:
Locations
1. Output B0 = Input A0
2. Output B1 = Always 0
6 bits
No need to ‘store’ data for B0 and B1
This reduces the size of the ROM required from 8 x 6 bits to 8 x 4 bits
ROM-based Designs:
Combinational Circuits
Example 2, Continued
8
Locations
4 bits
Implementations of the X2 Look-up Table:
ROM-based Designs:
Sequential Circuits
Conventional Design Individual FFs
ROM-Register
Based Design
ROM-based Designs:
Sequential Circuits
Example: Design a sequential circuit that has the following
State Transition Table Using a ROM and a Register
Q1+ = Σm (1, 2, 5, 6)
Q2+ = Σm (4, 6)
Y: (Q1, Q2, X) = Σm (3, 7)
8
Locations
3 bits 3 bits
ROM-based Designs:
Sequential Circuits
The ROM Required
Organization
Truth Table
ROM-based Designs:
Sequential Circuits
Implementation
:
2. Programmable Array Logic (PAL)
Sum of a fixed number of products
AND gates inputs
Programmable
4-input, 4-output PAL 0 1 2 3 4 5 6 7 8 9
X
Product 1
with fixed, 3-input OR term
X
Fixed
X
2 F1
terms 3
F4 = 8
X X
F3
X
9
level
X
12
I4
0 1 2 3 4 5 6 7 8 9
Chapter 3 - Part 1 24
Programmable Array Logic (PAL)
Disadvantages
• Has only a limited number of products (= # of ANDs = # of
inputs to an OR). If function needs more product terms it can
not be implemented directly in 2-level logic
Chapter 3 - Part 1 25
Programmable Array Logic (PAL), Contd.
(Sums) 3 X
A A B B C C D D W W
Factor out
See next slide
4 1 0 0 — — F1 = X = A B C
5 0 1 0 — —
+ABC + W
last two 6 — — — — 1
terms as W 78 1
—
1
1
—
1
—
—
—
—
F2 = Y
9 1 — 1 — — = AB + BC +AC
PAL comes with all
Connections made. 10 — — — — —
Connections that are 11 — — — — —
12 — — — — —
not needed must be
removed How many connections are removed for productChapter
1?, for 3product
- Part 1 3? 27
Programmable Array Logic
Example
AND gates inputs
Product A A B B C C D D W W
term
1 X X X
Why? A
All fuses intact
4 X X X (always =5 0)
5 X X X F1
6 X
Opposite of ROM:
B
ANDs: programmable
7 X X ORs: not
8 X X F2
9 X X
10
11
12
X Fuse intact
D
1 Fuse blown
A A B B C C D D W W Chapter 3 - Part 1 28
3. Programmable Logic Array (PLA)
Programming at both the product and the sum levels
A
What are the equations for F1 and F2?
n inputs Could the PLA implement the
B
(3)
functions without the XOR gates?
C
X X 1 X X AB k products
(4)
Programmable X X 2 X BC X Fuse intact
Connections,
Fuse blown
X X 3 X AC
Get expressions
for each group for Programming
a PLA with:
X X 4 X AB the Output inversions
n inputs, k products, C C B B A A X 0
m outputs X 1
F1
PLA with 3-inputs, 4 product terms, m outputs
2-outputs, + programmable output (2)
F2
inversions Chapter
Express F2 as a SOP and3POS
- Part 1 29
Programmable Logic Array (PLA)
Compared to ROMs and PALs, PLA is the most flexible
economical device: having programmable ANDs,
programmable ORs, and programmable output inversions
Advantages
• PLA can have large numbers of inputs N and outputs M, permitting
implementation of optimized functions that are impractical for
a ROM (because of the large number of inputs N required)
• A PLA has all of its product terms available for connecting to all
outputs, overcoming the problem of the limited number of inputs
to each PAL OR
• Any product can be shared by all output functions (sums)
• Some PLAs have outputs that can be complemented, to give
F expressions in terms of product of sum (POS) (inverted SOP of F)
Disadvantage
• Often the # of product terms limits the application of a PLA.
Solution: Use two-level multiple-output optimization to reduce
the number of product terms required, thus fittingChapter
it into3 -the PLA.30
Part 1
Using Programmable Logic Array (PLA)
B
Good sharing
of products! The 4 products
C
X X 1 X X AB
X X 2 X X AC X Fuse intact
1 Fuse blown
X X 3 X X BC
But we actually
X X X 4 X ABC need F1 as an O/P,
not F1- So invert F1
Give algebraic expressions C C B B A A X 0
With the XOR
of F1 and F2 X 1
F1
F2 F1
We inclement F1 F2
Unit 13
• Programmable Logic