Unitv-Memory Programmable Logic Devices
Unitv-Memory Programmable Logic Devices
• Memory
ROM RAM
Static Dynamic
Masked ROM PROM EPROM EEPROM
RAM RAM
Random Access Memory (RAM)
Can be written to or read from.
Read/Write memory
Reading from RAM is non-destructive.
Access time to read from any memory location is the same.
As compared to serial access memory.
Volatile
Information is lost when power is removed.
Random Access Memory (RAM)
Static Random Access Memory (SRAM)
Based on the Flip-Flop
Requires a large number of transistors
Fast
Dynamic Random Access Memory (DRAM)
Uses a single transistor to store charge
Requires very few transistors
Must be periodically refreshed
Slow(er)
SRAM- Memory Cell
Read Cycle
Random Access Memory
Write Cycle
Read Only Memory (ROM)
Can only be read from.
Memory is written (or “programmed”) once
Reading from ROM is non-destructive.
Access time to read from any memory location is the same.
As compared to serial access memory.
Non-Volatile
Information is retained even after power is removed.
Read Only Memory
• The inputs provide the address for memory, and the outputs give the data
bits of the stored word that is selected by the address.
• The number of words in a ROM is determined from the fact that k address
input lines are needed to specify 2k words.
• Note that ROM does not have data inputs, because it does not have a write
operation.
Eg:32x 8 ROM
• Here 2^k = 32 and n=8, Therefore 32 address locations and 8 output lines.
The 32 addresses are generated by a 5 x32 decoder.
• The PLA is similar in concept to the PROM, except that the PLA does not
provide full decoding of the variables and does not generate all the
minterms.
• The decoder is replaced by an array of AND gates that can be programmed
to generate any product term of the input variables.
• The product terms are then connected to OR gates to provide the sum of
products for the required Boolean functions.
Boolean Function Implementation in PLA
• Eg. Implement the following fn in PLA
PLA with three inputs, four product terms and two outputs
Boolean Function Implementation in PLA
(Contd.)
• PLA Programming Table
PLA Example
• Implement the following two Boolean functions with a PLA:
Programmable Array Logic(PAL)
w = ABC’+A’B’CD’
x = A+BCD
y = A’B+CD+B’D’
z = ABC’+A’B’CD’+AC’D’+A’B’C’D
• z can be written in terms of w as
z= w+ AC’D’+A’B’C’D
PAL Implementation Example(Contd.)
w = ABC’+A’B’CD’
PAL Programming table
x = A+BCD
y = A’B+CD+B’D’
z = w+ AC’D’+A’B’C’D
Sequential Programmable Devices
• Digital systems are designed with flip‐flops and gates. Since the
combinational PLD consists of only gates, it is necessary to include
external flip‐flops when they are used in the design.
• Sequential programmable devices include both gates and flip ‐flops. In this
way, the device can be programmed to perform a variety of sequential‐
circuit functions.
• Three types
switch matrix.
• The input–output (I/O) blocks provide the connections to the IC pins. Each I/O pin is
driven by a three state buffer and can be programmed to act as input or output.
• The switch matrix receives inputs from the I/O block and directs them to the
individual macrocells.
• Similarly, selected outputs from macrocells are sent to the outputs as needed.
• If a macrocell has unused product terms, they can be used by other nearby macrocells.