Digital System Design
Lecture – 6
Memory Device (ROM and PLA)
Memory Device
• Device to which binary information is transferred for storage
• And from which information is available for processing as needed
Memory Unit
• A collection of cells capable of storing a large quantity of binary
information
Prepared By - Mohsena Ashraf 2
Types of Memories
In digital systems, there are two types of memories:
1. RAM
2. ROM
Prepared By - Mohsena Ashraf 3
ROM (Read Only Memory)
• Non-volatile
• Retains its contents even when the computer is shut off
• Generally used to start the computer up and load the operating
system
• A memory device in which a fixed set of binary information is
stored
• The binary information must first be specified by the user
• Then embedded in the unit to form the required interconnection
pattern
Prepared By - Mohsena Ashraf 4
ROM (Contd.)
• Includes both the decoder and the OR gates within a single IC
package
• Particular function implementation is done by “programming”
• Very often used to implement complex combinational circuit in
one IC package
• Thus eliminates all interconnecting wires
• Once a pattern is established, it remains fixed even when the
power goes off
• ROM has special internal links that can be fused or broken
Prepared By - Mohsena Ashraf 5
ROM Structure (Contd.)
• Consists of n input lines and m output lines
• 2n distinct addresses possible with n inputs
• Each bit combination of the input variables called as address
• Each bit combination coming out of the output lines known as word
• Number of bits per word = number of output lines m
• So, a word equals m bits
• An output word can be selected by a unique address
• A ROM is defined by number of words (2𝑛) and the number
of bits (m) per word.
• 2𝑛 X 𝑚
Prepared By - Mohsena Ashraf 6
An Example of a ROM
• Consider a 32×8 ROM i.e, 256-bit ROM
• The unit consists of 32 words of 8 bits each
• Here 32=25,means 5 input lines
• Input 00000 means word number 0 will be selected
• Input 11111 means word number 31 will be selected
• Design a 2048-bit ROM having word size 8 bits each?
• Design a 2048-bit ROM having word size 4 bits each?
Prepared By - Mohsena Ashraf 7
Internal Logic Construction of a 32 X 4 ROM
The 32 outputs of the decoder are
connected through links to each OR
gate. Each link can be fused or
broken as desired.
Prepared By - Mohsena Ashraf 8
Combinational Logic Implementation Using ROM
For an n-input, m-output combinational circuit, we need 𝑎 2𝑛 X 𝑚 ROM
When a combinational circuit is implemented using
ROM, the functions must be expressed in sum of
minterms or by a truth table.
The truth table gives all the information for
programming a ROM.
Prepared By - Mohsena Ashraf 9
ROM with AND-OR Gates
ROM Size = 4 X 2
Number of Links = ?
(b) ROM with AND-OR Gates
Prepared By - Mohsena Ashraf 10
ROM with AND-OR-Invert Gates
Why Inverters:
Some ROM units come
with an inverter after
each OR gates.
(c) ROM with AND-OR-Invert Gates
Prepared By - Mohsena Ashraf 11
Example
Design a combinational circuit using a ROM. The circuit accepts a 3 bit
number and generates an output binary number equal to the square of
the input number.
Prepared By - Mohsena Ashraf 12
Example (Contd.)
The three inputs specify
eight words of 4-bits
each.
Prepared By - Mohsena Ashraf 13
Types of ROMs
ROMs may be programmed in two ways:
-mask programming
-programmable read only memory (PROM)
Mask Programming:
• Done by the manufacturer during the last fabrication process of the unit.
• The manufacturer makes the mask for the paths to produce 1’s or 0’s
according to the customers truth table.
• It is economical only if large quantities of the same ROM configuration are
to be manufactured.
Prepared By - Mohsena Ashraf 14
Types of ROMs (Contd.)
PROM (Programmable Read-Only Memory):
• Economical for small quantities of ROMs
• The links in PROM are broken as per application
• User can use his own laboratory to achieve the desired relationship
between input address and stored words
• Special units called PROM programmers are available commercially
to facilitate the procedure
• PROM is a hardware procedure.
• So, hardware procedure for ROM or PROM is irreversible
• Once programmed, permanent fixed pattern and cannot be altered
• Unit must be discarded if the bit pattern is to be changed
Prepared By - Mohsena Ashraf 15
Types of ROMs (Contd.)
ERASABLE PROM (EPROM):
• Can be restructured to the initial value even though it has been
changed previously
• When placed under a special ultraviolet light for a given period time,
the short wave radiation discharges the internal gates that serve as
constant
• After erasure, the ROM returns to its initial state and can be
reprogrammed
• Some ROMs can be erased with electrical signal instead of ultraviolet
light which are called Electrically Alterable ROMs (EAROMs)
Prepared By - Mohsena Ashraf 16
Why it is called Read-Only Memory?
• Memory Designates a storage unit
• Read signifies the contents of a word specified by an address in a
storage unit which is placed at the output terminals
• So, a memory unit with a fixed word pattern that can be read out
upon application of a given address
• The bit pattern in the ROM is permanent and cannot be changed
during normal operation
Prepared By - Mohsena Ashraf 17
Usage of ROM
• To implement complex combinational circuits from truth tables
• Converting from one binary code to another (e.g., ASCII to EBCDIC
and vice versa)
• For arithmetic functions such as multipliers
• For displaying characters in a cathode-ray tube
• For applications which require a large number of inputs and outputs
• In the design of control units of digital systems
• A control unit that utilizes a ROM to store binary control information
is called a microprogrammed control unit
Prepared By - Mohsena Ashraf 18
Programmable Logic Array (PLA)
• Programmable Logic Array(PLA) is a fixed architecture logic device
with programmable AND gates followed by programmable OR gates.
• More economical to use when the don’t care conditions are excessive
• Similar to ROM, but does not provide full decoding i.e., does not
generate all the minterms
• The decoder is replaced by a group of AND gates, where each can be
programmed to generate a product term of the input variables
• The AND and OR gates inside the PLA has links among them
• Functions are implemented in sum of products form by opening
appropriate links and leaving the desired connections
Prepared By - Mohsena Ashraf 19
Programmable Logic Array (Contd.)
• n inputs, m outputs, k product terms, m sum terms
• Product terms constitute a group of k AND gates
• Sum terms constitute a group of m OR gates
• The size of a PLA = n X m X k
• A typical PLA contains 16 inputs, 48 product terms and 8 outputs
• Number of programmed links = 2n X k + k X m + m, whereas that of a ROM is
2n X m
Prepared By - Mohsena Ashraf 20
An example of PLA
Inputs, n = 3
Product terms, k = 3
Outputs, m = 2
So, PLA size= ?
• As with ROM, PLA can be mask programmable and field programmable
• With a mask programmable PLA, customer must submit a PLA program
table to the manufacturer
• Field programmable PLA is called FPLA and it is like as PROM
Prepared By - Mohsena Ashraf 21
PLA Implementation Example
Consider the following combinational circuit as a truth table:
(b) Map Simplification
Prepared By - Mohsena Ashraf 22
PLA Implementation Example (Contd.)
T: if output inverter is to be bypassed
C: For complement
Prepared By - Mohsena Ashraf 23
PLA Implementation Example (Contd.)
(d)PLA Diagram
Prepared By - Mohsena Ashraf 24
Designing a Digital System with PLA
• Reduce the number of distinct product terms
• The number of literals in a product is not important since we
have all input variables
• Both the truth value and the complement value should be
simplified
• See which can be expressed with fewer product terms
• And which one provides product terms that are common to
other functions
Prepared By - Mohsena Ashraf 25
PLA Implementation Example - 2
A combinational circuit is defined by the functions:
Implement the circuit with a PLA having three inputs, four product terms
and two outputs.
Prepared By - Mohsena Ashraf 26
PLA Implementation Example – 2 (Contd.)
Prepared By - Mohsena Ashraf 27
PLA Implementation Example – 2 (Contd.)
***Draw the PLA Circuit Diagram.
Prepared By - Mohsena Ashraf 28
Applications of PLA
• PLA is used to provide control over datapath.
• PLA is used as a counter.
• PLA is used as a decoders.
• PLA is used as a BUS interface in programmed I/O.
• It defines various states in an instruction set, and produces the next state (by
conditional branching)
Prepared By - Mohsena Ashraf 29