Professional Documents
Culture Documents
Each of the input variables, both in its uncomplemented and complemented form, are inputs to
AND gates through fuses. (The S-shaped lines in the circuit diagram represent fuses.) The fuses
can be “blown” or left in place in order to program each AND gate to output a product. Since
every input, plus its complement, is input to each AND gate, any of the AND gates can be
programmed to output a minterm.
The products produced by the array of AND gates are all connected to OR gates, also through
fuses. Thus, depending on which OR-gate fuses are left in place, the output of each OR gate is a
sum of products. There may be additional logic circuitry to select between the different outputs.
We have already seen that any Boolean function can be expressed as a sum of products, so this
logic device can be programmed by “blowing” the fuses to implement any Boolean function.
PLDs come in many configurations. Some are pre-programmed at the time of manufacture.
Others are programmed by the manufacturer. And there are types that can be programmed by a
user. Some can even be erased and reprogrammed. Programming technologies range from
specifying the manufacturing mask (for the pre-programmed devices) to inexpensive electronic
programming systems. Some devices use “antifuses” instead of fuses. They are normally open.
Programming such devices consists of completing the connection instead of removing it.
Figure 7.2.2. The horizontal lines to the AND gate inputs represent multiple wires—one for each
input variable and its complement. The vertical lines to the OR gate inputs also represent
multiple wires—one for each AND gate output. The dots represent connections.
The dots at the intersections of the vertical and horizontal line represent places where the fuses
have been left intact. For example, the three dots on the topmost horizontal line indicate that
there are three inputs left connected to that AND gate. The output of the topmost AND gate is:
w′⋅y⋅zw′⋅y⋅z
Referring again to Figure 7.2.1, we see that the output from each AND gate is connected to each
of the OR gates. Therefore, the OR gates also have multiple inputs—one for each AND gate—
and the vertical lines leading to the OR gate inputs represent multiple wires. The PLA
in Figure 7.2.2 has been programmed to provide the three functions:
F1(w,x,y,z)=w′⋅y⋅z+w⋅x⋅z′F2(w,x,y,z)=w′⋅x′⋅y′⋅z′F3(w,x,y,z)=w′⋅y⋅z+w⋅x⋅z′(7.2.1)(7.2.
2)(7.2.3)(7.2.1)F1(w,x,y,z)=w′⋅y⋅z+w⋅x⋅z′(7.2.2)F2(w,x,y,z)=w′⋅x′⋅y′⋅z′(7.2.3)F3(w,
x,y,z)=w′⋅y⋅z+w⋅x⋅z′
Figure 7.2.3. Eight-byte Read Only Memory (ROM). The “××” connections represent
permanent connections. Each AND gate can be thought of as producing an address. The eight
OR gates produce one byte. The connections (dots) in the OR plane represent the bit pattern
stored at the address.
You can see from this that the terminology “Read Only Memory” is perhaps a bit misleading. It
is actually a combinational logic circuit that has been hard wired. Strictly speaking, memory has
a state that can be changed by inputs. (See Section 7.3.)
Figure 7.2.4. Two-function Programmable Array Logic (PAL). The “××” connections represent
permanent connections. Each AND gate can be thought of as producing an address. The eight
OR gates produce one byte. The connections (dots) in the OR plane represent the bit pattern
stored at the address.
Programmable Logic Devices (PLDs) are the integrated circuits. They
contain an array of AND gates & another array of OR gates. There are three
kinds of PLDs based on the type of array(s), which has programmable
feature.
PROM is a programmable logic device that has fixed AND array &
Programmable OR array. The block diagram of PROM is shown in the
following figure.
Here, the inputs of AND gates are not of programmable type. So, we have
to generate 2n product terms by using 2n AND gates having n inputs each.
We can implement these product terms by using nx2n decoder. So, this
decoder generates ‘n’ min terms.
Example
Let us implement the following Boolean functions using PROM.
A(X,Y,Z)=∑m(5,6,7)A(X,Y,Z)=∑m(5,6,7)
B(X,Y,Z)=∑m(3,5,6,7)B(X,Y,Z)=∑m(3,5,6,7)
The given two functions are in sum of min terms form and each function is
having three variables X, Y & Z. So, we require a 3 to 8 decoder and two
programmable OR gates for producing these two functions. The
corresponding PROM is shown in the following figure.
Here, 3 to 8 decoder generates eight min terms. The two programmable OR
gates have the access of all these min terms. But, only the required min
terms are programmed in order to produce the respective Boolean functions
by each OR gate. The symbol ‘X’ is used for programmable connections.
Here, the inputs of OR gates are not of programmable type. So, the number
of inputs to each OR gate will be of fixed type. Hence, apply those required
product terms to each OR gate as inputs. Therefore, the outputs of PAL will
be in the form of sum of products form.
Example
Let us implement the following Boolean functions using PAL.
A=XY+XZ′A=XY+XZ′
A=XY′+YZ′A=XY′+YZ′
The given two functions are in sum of products form. There are two product
terms present in each Boolean function. So, we require four programmable
AND gates & two fixed OR gates for producing those two functions. The
corresponding PAL is shown in the following figure.
The programmable AND gates have the access of both normal and
complemented inputs of variables. In the above figure, the inputs X, X′X′,
Y, Y′Y′, Z & Z′Z′, are available at the inputs of each AND gate. So, program
only the required literals in order to generate one product term by each
AND gate. The symbol ‘X’ is used for programmable connections.
Here, the inputs of OR gates are of fixed type. So, the necessary product
terms are connected to inputs of each OR gate. So that the OR gates
produce the respective Boolean functions. The symbol ‘.’ is used for fixed
connections.
Here, the inputs of OR gates are also programmable. So, we can program
any number of required product terms, since all the outputs of AND gates
are applied as inputs to each OR gate. Therefore, the outputs of PAL will be
in the form of sum of products form.
Example
Let us implement the following Boolean functions using PLA.
A=XY+XZ′A=XY+XZ′
B=XY′+YZ+XZ′B=XY′+YZ+XZ′
The given two functions are in sum of products form. The number of
product terms present in the given Boolean functions A & B are two and
three respectively. One product term, Z′XZ′X is common in each function.
So, we require four programmable AND gates & two programmable OR
gates for producing those two functions. The corresponding PLA is shown in
the following figure.
The programmable AND gates have the access of both normal and
complemented inputs of variables. In the above figure, the inputs X, X′X′,
Y, Y′Y′, Z & Z′Z′, are available at the inputs of each AND gate. So, program
only the required literals in order to generate one product term by each
AND gate.
All these product terms are available at the inputs of each programmable
OR gate. But, only program the required product terms in order to produce
the respective Boolean functions by each OR gate. The symbol ‘X’ is used
for programmable connections.