06 Programmable Logic Devices
06 Programmable Logic Devices
- 83 -
06 Programmable Logic Devices
The buffer/inverter provides two logic state simultaneously which are true and
its complement. The AND and OR arrays contain AND gates and OR gates
where their inputs have fuse link connection which can be programmed to
disconnect by blowing the fuse. An AND gate showing the fuse link and its
n
blown.
(a) (b)
Figure 6.2: (a) An AND gate with fuse link and (b) its notation of link
Figure 6.3(a) illustrates that the fuse link of input A is blown and Fig. 6.3(b)
shows the notation.
(a) (b)
Figure 6.3:
As mentioned earlier, there are three types of programmable logic device. They
are programmable ready-only-memory PROM, programmable logic array PLA,
and programmable array logic PAL. The differences between them are listed in
Fig. 6.4.
- 84 -
06 Programmable Logic Devices
Taking 3 input lines as an example, the AND array, which basically containing
decoder of the PROM is shown in Fig. 6.6.
A two output OR-array of the three input PROM is shown in Fig. 6.7. Note that
the fuse link is at the input of the OR array. To disconnect a particular minterm
to the OR array is by blowing the fuse link.
The circuits mentioned in Fig. 6.6 and 6.7 can be simplified to a single line print
instead drawing multiple lines. The simplified circuits of Fig. 6.6 and Fig. 6.7
are shown in Fig. 6.8 and Fig. 6.9 respectively.
- 86 -
06 Programmable Logic Devices
Example 6.1
If the engineer would like to program to the PROM to get the follow result
shown in the truth table, How should be be done? And what is the logic
equation of F1 and F2 after programmed?
- 87 -
06 Programmable Logic Devices
Address Ouput
A1 A0 F1 F0
0 0 1 0
0 1 0 1
1 0 0 1
1 1 1 0
Solution
The fuse link as shown in the figure are blown to show the required output.
- 88 -
06 Programmable Logic Devices
Example 6.2
Implement the following functions using harded wired diode logic ROM.
Solution
The block diagram and truth table of the function are shown below.
- 89 -
06 Programmable Logic Devices
Input Output
A B C F0 F1 F2 F3
0 0 0 1 0 1 0
0 0 1 1 0 1 0
0 1 0 0 1 1 1
0 1 1 0 1 0 1
1 0 0 1 1 0 0
1 0 1 0 0 0 1
1 1 0 1 1 1 1
1 1 1 0 1 0 1
Input
A B C
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
- 90 -
06 Programmable Logic Devices
- 91 -
06 Programmable Logic Devices
- 92 -
06 Programmable Logic Devices
Fig. 6.10. Any combinational logic function can be implemented using the
programmable array logic PAL device.
- 93 -
06 Programmable Logic Devices
Example 6.3
The implementation of function stated in example 6.2 using programmable
array logic device that used hard wired diode is shown in below.
- 94 -
06 Programmable Logic Devices
- 95 -
06 Programmable Logic Devices
Example 6.4
Use PLA to program the output using the following truth table.
Input Output
Term
A B C F1 F2
1 0 - 1 -
1 - 1 1 1
- 1 1 - 1
0 1 0 1 -
- 96 -
06 Programmable Logic Devices
Solution
The corresponding PLA implementation of outpu shown in truth table is
Example 6.5
Use PLA to program the output for a one-bit comparator.
Solution
The truth table for a one-bit comparator is shown below.
Input Output
A B EQ NE LT GT
0 0 1 0 0 0
0 1 0 0 1 0
1 0 0 0 0 1
1 1 1 0 0 0
- 97 -
06 Programmable Logic Devices
Diode ROM has default logic 0 at bit line. When the word line of ROM is
selected, it provides logic 1 at bit line due low forward voltage of the diode.
- 98 -
06 Programmable Logic Devices
The MOS ROM 1 has default logic 0 at bit line. When the word line is selected,
the n-MOS transistor switches on and provides logic 1 at bit line. The MOS
ROM 2 has default logic 1. When the word line is selected, it provides logic 0 at
bit line.
The ROM has data value WORD 0 = 0001, WORD 1 = 1000, WORD 2 =
0010, and WORD 3 = 0100.
- 99 -
06 Programmable Logic Devices
Instead of having the pull-up p-MOS transistor, ROM design with pull-down n-
MOS transistor and n-MOS transistor cell tied to VDD is called OR ROM. Figure
6.16 shows a 4x4 bit OR ROM.
The background bit of the OR ROM is logic 0. When a word line is selected, the
bit that has an n-MOS transistor would provide logic 1 at the bit line.
The 4x4 MOS NAND ROM is shown in Fig. 6.17. The background of the
ROM is logic 1. All the n-MOS transistors in the column have to be switched on
in order logic 0 is shown in bit line.
ROM also can be designed using pseudo n-MOS gate both for the decoder and
the memory cell design, which is basically the n-MOS design technique. The
logic to row or word is provided by the pseudo n-MOS transistor, which act as
decoder.
- 101 -
06 Programmable Logic Devices
This memory device has 128 row addresses and 8 column addresses. The
memory has 8 matrix blocks and each block has 128x8 cells. The other main
parts of the memory are the sense amplifier, control unit, input/output data
control, output data control, address bus, and data bus.
We shall discuss the approaches used to design memory cell static and
dynamic cell, the sense amplifier, and the address decoders row and column
decoders, and I/O data control circuits.
The six-transistor static memory cell is shown in Fig. 6.19. MOS transistor M1,
M2, M3, and M4 forms the bi-stable memory element, whilst n-MOS transistor
M5 and M6 are served as pass-transistors.
During the write cycle, the desired logics are placed on bit line and line.
When the WORD line is asserted, the desired data will be latched into the bi-
stable memory element. For an example, to write logic 1 into the memory, the
BIT line is set at logic 1, whilst the line is at logic 0.
However, due to high pack density of the memory cell whereby many
column memory cells are connected in the same bit line, the total drain-bulk
capacitance of the pass-transistors is sufficiently large that the charging and
discharging of the bit lines would take long time. Thus, during the read cycle,
the BIT and lines are pre-charged to the pre-defined level, which is usually
0.5 of VDD voltage level. These lines are then allowed to float. When the
WORD line is asserted, the BIT line and line begin to charge or discharge
that reflect the logic level stored in memory cell. The small change in voltage
level is passed to the sense amplifier for output user. The read cycle is a
destructive cycle whereby the data stored in the memory can be erased.
Therefore, it is necessary to refresh the memory. Other mean to prevent the bit
data being erased is to design the pass-transistor to have large width and length.
But this is not desired because in the modern design, scale down is necessary to
save cost and fast access time.
- 103 -
06 Programmable Logic Devices
The BIT value is logic 0 then the gate voltage shall be 0V. If the BIT value is at
logic 1 then the gate voltage will be at logic 1 that has voltage (V Write Vtn(M2)).
This voltage is held on as long as the Read transistor M3 is not switched on.
During the read cycle, transistor M3 is switched on and if the BIT value is
logic 1 then the line would turn logic 0. Likewise, if the BIT value is logic
0 then upon reading the line would turn to logic 1 that has maximum value
(VRead Vtn(M3)).
- 104 -
06 Programmable Logic Devices
One-transistor dynamic RAM cell uses capacitor to temporarily store the charge
on a memory capacitor CM. A simple 1-bit dynamic RAM cell is shown in Fig.
6.21.
During the write cycle, the logic level is placed on the BIT line. The
WORD line is then asserted to charge or discharge the memory capacitor C M.
The capacitor is leaky and will not hold the charge for long time. Thus, it is
necessary to refresh it periodically.
During the read cycle, the BIT line is pre-charged and placed in tri-state
mode. When the WORD line is asserted, the BIT capacitor CBIT is either
charging or discharging depending on the charge stored in memory capacitor
CM. The sense amplifier is then used to detect small change in voltage level and
output the appropriate logic level.
Read cycle is a destructive operation. Thus, the data must be re-written into the
memory capacitor CM.
- 105 -
06 Programmable Logic Devices
- 106 -
06 Programmable Logic Devices
Each function block contains several macrocells, which will vary for products
from different manufacturers. A typical macrocell will have an AND array, a
product select matrix, an OR gate, and a programmable register. A simplified
macrocell is shown in Fig. 6.25. Company lie Altera, Cypress, Lattice, and
Xilinx make CPLDs.
- 107 -
06 Programmable Logic Devices
Each logic block contains several logic elements a shown in Fig. 6.27. Note
that LUT is look-up table, which in general terms is basically a table that
determines what the output is for any given input. Like in combinational logic,
it is the truth table. This truth table effectively defines how your combinatorial
logic behave.
The look-up table LUT is a 16-word x 1-bit ROM that can be used to
implement logic functions of 4 variables. Suppose the combinational logic
function is then only the locations 0011 and 1100 will
rest of the 14 locations in the The outputs
from the logic elements can be taken directly out of the LUTs or can be stored
in a flip-flop before being accessed.
- 108 -
06 Programmable Logic Devices
Tutorials
6.1. Describe the difference between three classes of programmable logic
devices.
6.3. Using hard-wired diode, construct the circuit for a 2-input AND gate, a 2-
input OR gate and logic function .
6.4. From the design of logic fucntion of Q6.3, explain how the
6.6. Using the PAL device shown in Fig. 6.10, implement logic function O 1 =
m(1, 2, 4, 5, 7).
6.7. Use the programmable logic array device shown in Fig. 6.11 to design a
4-bit binary to gray code converter.
6.9. A 4x4 ROM designed using pseudo n-MOS transistor concept is shown
in the figure below.
(i). Derive the logic functions for the rows and output D3, D2, D1, and
D0.
(ii). Write down the content of the memory.
- 109 -
06 Programmable Logic Devices
References
1. Donald D. Givone, "Digital Principles and Design", McGraw- Hill 2003.
2. Thomas L. Floyd, "Digital Fundamentals", Seventh Edition, Prentice-Hall
International, Inc., 2000.
3. Victor P. Nelson, H. Try Nagle, Bill D. Carroll, and J. David Irwin, "Digital
Logic Circuit Analysis & Design", Prentice-Hall Englewood Cliffs.NJ,
1995.
- 110 -