Programmable logic devices

Download Report

Transcript Programmable logic devices

Programmable logic devices
Outline
• PLAs
• PALs
• ROMs
CS 3402--Digital Logic
Programmable Logic Device
2
Programmable Logic Device
A programmable logic device (PLD) is an integrated
circuit with internal logic gates that are connected
through electronic fuses.
• Programming the device involves the blowing of fuses along
the paths that must be disconnected so as to obtain a particular
configuration.
• The word programming refers to a hardware procedure that
specifies the internal configuration device.
• The gates in a PLD are divided into an AND array and OR
array that are connected together to provide an AND-OR sum
of Product implementation.
• The initial state of a PLD has all the fuses intact.
CS 3402--Digital Logic
Programmable Logic Device
3
PLDs
There are three types of PLDs. They are
differ in the placement of fuses in the ANDOR array as shown below.
CS 3402--Digital Logic
Programmable Logic Device
4
Types of PLDs
CS 3402--Digital Logic
Programmable Logic Device
5
PLDs
The most flexible PLD is the programmable
logic array (PLA), where both the AND
and OR arrays can be programmed. The
product terms in the AND array may be
shared by any OR gate to provide the
required sum of products implementation.
CS 3402--Digital Logic
Programmable Logic Device
6
Programmable logic arrays
(PLAs)
A block diagram of the PLA shown below
consists of n inputs, m outputs, k product
terms, and m sum terms. The product terms
constitute a group of k AND gates and the
sum terms constitute a group of m OR
gates.
CS 3402--Digital Logic
Programmable Logic Device
7
PLAs
A typical PLA has 16 inputs, 48 product
terms, and 8 outputs. The number of
programmed fuses is 2n  k + k  m.
There two types of PLAs:
1) mask-programmable PLA -- custom-made
PLA
2) field-programmable PLA (FPLA) -programmed by a user
CS 3402--Digital Logic
Programmable Logic Device
8
Internal Construction of a PLA.
CS 3402--Digital Logic
Programmable Logic Device
9
Example
F1 = AB' + AC and F2 = AC + BC
A
B
C
F1
F2
0
0
0
0
0
0
0
1
0
0
Product
0
1
0
0
0
term
A
B
C
F1
F2
0
1
1
0
1
1
1
0

1

1
0
0
1
0
2
1

1
1
1
1
0
1
1
1
3

1
1

1
1
1
0
0
0
1
1
1
1
1
CS 3402--Digital Logic
Inputs
Programmable Logic Device
Outputs
10
CS 3402--Digital Logic
Programmable Logic Device
11
Examples
1) Implement the following Boolean
expressions:
F0 = A + B'C', F1 = B'C' + AB, F2 = AC' + AB,
And F3 = B'C + A
2) PLA implementation of a 2-bit multiplier.
3) Design a function generator of three inputs
that implements the logic functions AND,
OR, NAND, NOR, XOR, and XNOR:
CS 3402--Digital Logic
Programmable Logic Device
12
Programmable Arrays Logic
(PALs)
A programmable array logic (PAL) is a
programmable logic device with a fixed OR array
and a programmable AND array. The PAL is
easier to program but not as flexible as the PLA.
The typical PAL usually limits the number of
inputs to an OR gate to 2, 4, 8, or 16.
Examples:
– BCD to Gray-code converter
– Two-bit comparator
CS 3402--Digital Logic
Programmable Logic Device
13
Read-Only Memories (ROMs)
An read-only memory (ROM) is a device that
includes both the decoder and the OR gates within
a single IC package. The connections between the
outputs of the decoder and the inputs of the OR
gates can be specified for each particular
configuration.
The ROM is used to implement complex
combinational circuits within one IC package or as
permanent storage for binary information.
CS 3402--Digital Logic
Programmable Logic Device
14
Read-Only Memories (ROMs)
– ROMs come with special internal electronic fuses that
can be programmed for a specific configuration. Once
the pattern is established, it stays within the unit even
when power is turned off and on again.
– A ROM consists of n input lines and m outputs lines.
– Each bit combination of the input variables is called an
address.
– Each bit combination that comes out of the output lines
is called a word.
– The number of bits per word is equal to number of
output lines m.
CS 3402--Digital Logic
Programmable Logic Device
15
Read-Only Memories (ROMs)
– An address is essentially a binary number that denotes
one of the minterms of n variables.
– The number of distinct addresses possible with n input
variables is 2n.
– An output word can be selected by a unique address,
and since there are 2n distinct addresses in a ROM,
there are 2n distinct words that are said to be stored in
the unit.
– A ROM is characterized by the number of words 2n and
the number of bits per word m.
CS 3402--Digital Logic
Programmable Logic Device
16
ROMs
CS 3402--Digital Logic
Programmable Logic Device
17
Example
– A 328 ROM consist of 32 words of 8 bits each. This
means there are eight output lines and that there are 32
distinct words stored in the unit. The particular word
selected that is presently available on the output lines is
determined from the five inputs lines.
– A ROM is sometimes specified by the total number of
bits it contains, which is 2n  m. For example, a 2048bit ROM may be organized as 512 words of 4 bits each.
This means that the unit has four output lines and 9
input lines to specify 29 = 512 words. The total number
of the bits stored in the unit is 5124 = 2048.
CS 3402--Digital Logic
Programmable Logic Device
18
CS 3402--Digital Logic
Programmable Logic Device
19
Example
Design a combinational circuit using a ROM. This
circuit accepts a 3 bit number and generates an
output binary number equal to the square of the
input number.
Inputs
Outputs
A2
A1
A0
B5
B4
B3
B2
B1
B0
Decimal
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
4
0
1
1
0
0
1
0
0
1
9
1
0
0
0
1
0
0
0
0
16
1
0
1
0
1
1
0
0
1
25
1
1
0
1
0
0
1
0
0
36
1
1
1
1
1
0
0
0
1
49
CS 3402--Digital Logic
Programmable Logic Device
20
CS 3402--Digital Logic
A2
A1
A0
F3
F2
F1
F0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
Programmable Logic Device
21
Example
Design a one-bit full adder using ROM.
CS 3402--Digital Logic
Programmable Logic Device
22
Types of ROMs
• Mask programming
• Programmable read-only memory (PROM)
• Erasable PROM (EPROM)
CS 3402--Digital Logic
Programmable Logic Device
23
Exercises
p.380 5.1, 5.2, 5.3
CS 3402--Digital Logic
Programmable Logic Device
24