Unit11-Programmable Logic & Memory Devices
Unit11-Programmable Logic & Memory Devices
Unit11-Programmable Logic & Memory Devices
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: lesson 6_2)
Design
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
A programmable logic device can be:
• Produced in large volumes
• Programmed to implement many different low-volume
designs
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
Programmable Read Only Memory (PROM) -
fixed array of AND gates and a programmable
array of OR gates
Programmable Array Logic (PAL) -
programmable array of AND gates feeding a
fixed array of OR gates.
Programmable Logic Array (PLA) -
programmable array of AND gates feeding a
programmable array of OR gates.
How many
Possibilities?
Fixed or Programmable
Connections
Fixed or Programmable
Connections 6
ROM, PAL and PLA Configurations
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
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
Implement as multi-
X X
11 F4
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 WW
2 Take True. 1
terms (> 3) 3 Full gate not used.— 1— 1— — —
—
—
+ ABC
Factor out 4 See next slide 1 0 0 — — F1 = X = AB C
5 0 1 0 — —
+ AB C + 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
B Could the PLA implement the
(3)
functions without the XOR gates?
C
X X 1 X X AB k products
(4)
Programmable X X 2 X BC XFuse 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 fitting it into the PLA.
Chapter 3 - Part 1 30
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 XFuse 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
1
of F1 and F2 X
F1
F2 F1
We inclement F1 F2
Unit 13
• Programmable Logic