Section 7.6  Programmable Logic Array    323
The product terms generated in each AND gate are listed along the output of the gate 
in the diagram. The product term is determined from the inputs whose crosspoints are 
connected and marked with a    *.    The output of an OR gate gives the logical sum of 
the selected product terms. The output may be complemented or left in its true form, 
depending on the logic being realized. 
The fuse map of a PLA can be specified in a tabular form. For example, the program-
ming table that specifies the PLA of  Fig.   7.14    is listed in  Table   7.5   . The PLA programming 
table consists of three sections. The first section lists the product terms numerically. The 
second section specifies the required paths between inputs and AND gates. The third 
section specifies the paths between the AND and OR gates. For each output variable, 
we may have a T (for true) or C (for complement) for programming the XOR gate. The 
product terms listed on the left are not part of the table; they are included for reference 
only. For each product term, the inputs are marked with 1, 0, or — (dash). If a variable 
in the product term appears in the form in which it is true, the corresponding input vari-
able is marked with a 1. If it appears complemented, the corresponding input variable 
is marked with a 0. If the variable is absent from the product term, it is marked with a 
dash. 
The paths between the inputs and the AND gates are specified under the column head 
“Inputs” in the programming table. A 1 in the input column specifies a connection from 
the input variable to the AND gate. A 0 in the input column specifies a connection from 
the complement of the variable to the input of the AND gate. A dash specifies a blown 
fuse in both the input variable and its complement. It is assumed that an open terminal 
in the input of an AND gate behaves like a 1. 
The paths between the AND and OR gates are specified under the column head 
“Outputs.” The output variables are marked with 1’s for those product terms which 
are included in the function. Each product term that has a 1 in the output column 
requires a path from the output of the AND gate to the input of the OR gate. Those 
marked with a dash specify a blown fuse. It is assumed that an open terminal in the 
input of an OR gate behaves like a 0. Finally, a T (true) output dictates that the other 
input of the corresponding XOR gate be connected to 0, and a C (complement) 
specifies a connection to 1. 
Table 7.5 
PLA Programming Table 
Outputs  
Inputs  
(T)    (C)  
Product Term  
A  
   C  
F 
1
    F 
2
  
AB    
 — 
— 
AC 
—  1 
BC 
— 
 1 
— 
ABC    
 0 
— 
Note: See text for meanings of dashes.  
Converting pdf to ppt - C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF in C#.net, ASP.NET MVC, WinForms, WPF
Online C# Tutorial for Creating PDF from Microsoft PowerPoint Presentation
adding pdf to powerpoint; add pdf to powerpoint
Converting pdf to ppt - VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to PDF in vb.net, ASP.NET MVC, WinForms, WPF
VB.NET Tutorial for Export PDF file from Microsoft Office PowerPoint
pdf to ppt converter; how to convert pdf into powerpoint presentation
324    Chapter 7  Memory and Programmable Logic
The size of a PLA is specified by the number of inputs, the number of product terms, 
and the number of outputs. A typical integrated circuit PLA may have 16 inputs, 48 
product terms, and eight outputs. For  n  inputs,  k  product terms, and  m  outputs, the inter-
nal logic of the PLA consists of  n  buffer–inverter gates,  k  AND gates,  m  OR gates, and 
m  XOR gates. There are    2*k    connections between the inputs and the AND array, 
*m    connections between the AND and OR arrays, and  m  connections associated 
with the XOR gates. 
In designing a digital system with a PLA, there is no need to show the internal con-
nections of the unit as was done in  Fig.   7.14   . All that is needed is a PLA programming 
table from which the PLA can be programmed to supply the required logic. As with a 
ROM, the PLA may be mask programmable or field programmable. With mask pro-
gramming, the customer submits a PLA program table to the manufacturer. This table 
is used by the vendor to produce a custom‐made PLA that has the required internal 
logic specified by the customer. A second type of PLA that is available is the field‐
programmable logic array, or FPLA, which can be programmed by the user by means 
of a commercial hardware programmer unit. 
In implementing a combinational circuit with a PLA, careful investigation must be 
undertaken in order to reduce the number of distinct product terms, since a PLA has a 
finite number of AND gates. This can be done by simplifying each Boolean function to 
a minimum number of terms. The number of literals in a term is not important, since all 
the input variables are available anyway. Both the true value and the complement of 
each function should be simplified to see which one can be expressed with fewer prod-
uct terms and which one provides product terms that are common to other functions. 
EXAMPLE7.2 
Implement the following two Boolean functions with a PLA: 
F
1
(AB, C) = g(0, 1, 2, 4)
F
2
(AB, C) = g(0, 5, 6, 7)   
The two functions are simplified in the maps of  Fig.   7.15   . Both the true value and the 
complement of the functions are simplified into sum‐of‐products form. The combination 
that gives the minimum number of product terms is 
F
1
= (AB AC +BC)′   
and 
F
2
ABACABC   
This combination gives four distinct product terms: ABACBC, and    ABC′.    The PLA 
programming table for the combination is shown in the figure. Note that output    F
1
is 
the true output, even though a C is marked over it in the table. This is because    F
1
is 
generated with an AND–OR circuit and is available at the output of the OR gate. The 
XOR gate complements the function to produce the true    F
1
output. 
Online Convert PowerPoint to PDF file. Best free online export
Creating a PDF from PPTX/PPT has never been so easy! Easy converting! We try to make it as easy as possible to convert your PPTX/PPT files to PDF.
pdf to ppt converter online for large; how to convert pdf to ppt online
How to C#: Convert PDF, Excel, PPT to Word
How to C#: Convert PDF, Excel, PPT to Word. Online C# Tutorial for Converting PDF, MS-Excel, MS-PPT to Word. PDF, MS-Excel, MS-PPT to Word Conversion Overview.
how to convert pdf to powerpoint; change pdf to powerpoint on
Section 7.7  Programmable Array Logic    325
The combinational circuit used in Example 7.2 is too simple for implementing with 
a PLA. It was presented merely for purposes of illustration. A typical PLA has a large 
number of inputs and product terms. The simplification of Boolean functions with so 
many variables should be carried out by means of computer‐assisted simplification pro-
cedures. The computer‐aided design (CAD) program simplifies each function and its 
complement to a minimum number of terms. The program then selects a minimum 
number of product terms that cover all functions in the form in which they are true or 
in their complemented form. The PLA programming table is then generated and the 
required fuse map obtained. The fuse map is applied to an FPLA programmer that goes 
through the hardware procedure of blowing the internal fuses in the integrated circuit.  
7.7    PROGRAMMABLE ARRAY LOGIC 
The PAL is a programmable logic device with a fixed OR array and a programmable 
AND array. Because only the AND gates are programmable, the PAL is easier to pro-
gram than, but is not as flexible as, the PLA.  Figure   7.16    shows the logic configuration of 
a typical PAL with four inputs and four outputs. Each input has a buffer–inverter gate, 
and each output is generated by a fixed OR gate. There are four sections in the unit, 
each composed of an AND–OR array that is  three wide the term used to indicate that 
there are three programmable AND gates in each section and one fixed OR gate. Each 
AND gate has 10 programmable input connections, shown in the diagram by 10 vertical 
lines intersecting each horizontal line. The horizontal line symbolizes the multiple‐input 
configuration of the AND gate. One of the outputs is connected to a buffer–inverter 
gate and then fed back into two inputs of the AND gates. 
Commercial PAL devices contain more gates than the one shown in  Fig.   7.16   . Atypical 
PAL integrated circuit may have eight inputs, eight outputs, and eight sections, each con-
sisting of an eight‐wide AND–OR array. The output terminals are sometimes driven by 
three‐state buffers or inverters. 
In designing with a PAL, the Boolean functions must be simplified to fit into each 
section. Unlike the situation with a PLA, a product term cannot be shared among two 
or more OR gates. Therefore, each function can be simplified by itself, without regard 
B
C
0
1
00
01
11
10
A
BC
A
1
m
0
m
1
m
3
m
2
m
6
m
7
m
5
m
4
1
0
1
1
0
0
0
B
A
m
0
m
1
m
3
m
2
m
6
m
7
m
5
m
4
0
1
00
01
11
10
A
BC
1
0
0
0
0
1
1
1
C
PLA programming table
Product
term
Inputs
A B C
Outputs
(C)
(T)
F
1
F
2
AB
1
1
1 1 –
1
AC
2
1
1 – 1
1
BC
3
1
– 1 1
ABC
4
0 0 0
1
FIGURE 7.15  
Solution to Example 7.2
VB.NET PowerPoint: Convert & Render PPT into PDF Document
This VB.NET PowerPoint to PDF conversion tutorial will illustrate our effective PPT to PDF converting control SDK from following aspects.
convert pdf to powerpoint using; and paste pdf into powerpoint
VB.NET PowerPoint: Customize PPT Document Rendering Options in VB.
to render and convert PPT slide to various formats, including PDF, BMP, TIFF, SVG, PNG, JPEG, GIF and JBIG2. In the process of converting PPT slide to any of
how to convert pdf to ppt; how to add pdf to powerpoint
326    Chapter 7  Memory and Programmable Logic
F
3
F
4
1
2
3
4
5
6
7
8
9
10
AND gates inputs
8
9
10
11
12
F
1
F
2
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
Product
term
I
1
I
2
I
3
I
4
FIGURE 7.16  
PAL with four inputs, four outputs, and a three‐wide AND–OR structure       
VB.NET PowerPoint: Complete PowerPoint Document Conversion in VB.
image or document formats, such as PDF, BMP, TIFF that can be converted from PPT document, please corresponding VB.NET guide for converting PowerPoint document
convert pdf pages to powerpoint slides; convert pdf to powerpoint presentation
VB.NET PowerPoint: Process & Manipulate PPT (.pptx) Slide(s)
control add-on can do PPT creating, loading controls, PDF document, image to pdf files and for capturing, viewing, processing, converting, compressing and
add pdf to powerpoint slide; convert pdf to ppt online
Section 7.7  Programmable Array Logic    327
to common product terms. The number of product terms in each section is fixed, and if 
the number of terms in the function is too large, it may be necessary to use two sections 
to implement one Boolean function. 
As an example of using a PAL in the design of a combinational circuit, consider the 
following Boolean functions, given in sum‐of‐minterms form: 
w(AB, CD) = g(2, 12, 13)
x(AB, CD) = g(7, 8, 9, 10, 11, 12, 13, 14, 15)
y(AB, CD) = g(0, 2, 3, 4, 5, 6, 7, 8, 10, 11, 15)
z(AB, CD) = g(1, 2, 8, 12, 13)
Simplifying the four functions to a minimum number of terms results in the following 
Boolean functions: 
=ABC′+ ABCD
=BCD
=A+CD BD
=ABC′+ ABCD′+ ACD′+ ABCD
=ACD′+ ABCD
Note that the function for  z  has four product terms. The logical sum of two of these terms 
is equal to  w . By using  w,  it is possible to reduce the number of terms for  z  from four to 
three. 
The PAL programming table is similar to the one used for the PLA, except that 
only the inputs of the AND gates need to be programmed.  Table   7.6    lists the PAL 
Table 7.6 
PAL Programming Table 
AND Inputs  
Product Term  
 
 
 
 
 
Outputs  
—  — 
ABC′+ ABCD    
— 
—  —  —  —  — 
—  —  —  — 
=+BCD    
— 
— 
—  —  —  —  — 
—  —  — 
=ACD+BD    
—  — 
— 
— 
— 
— 
10 
—  —  —  — 
=ACD′+ ABCD    
11 
— 
— 
12 
— 
C# TIFF: Learn to Convert MS Word, Excel, and PPT to TIFF Image
doc.ConvertToDocument(DocumentType.TIFF, @"output.tif"); C# Demo for Converting PowerPoint to TIFF. Add references (Extra); Load your PPT (.pptx) document.
convert pdf back to powerpoint; export pdf to powerpoint
VB.NET PowerPoint: Convert PowerPoint to BMP Image with VB PPT
in VB class for rendering and converting PowerPoint presentations converters, such as VB.NET PDF Converter, Excel to the corresponding guide on C# PPT to BMP
adding pdf to powerpoint slide; conversion of pdf to ppt online
328    Chapter 7  Memory and Programmable Logic
w
x
y
z
A
A′ B
B′ C
C′ D
D′ w
w
AND gates inputs
1
2
3
4
5
6
7
8
9
10
11
12
Product
term
A
B
C
D
A
A′ B′ B′ C
C′ D
D′ w
w
Fuse intact
Fuse blown
All fuses intact
(always= 0)
+
FIGURE 7.17  
Fuse map for PAL as specified in  Table   7.6          
How to C#: Convert Word, Excel and PPT to PDF
How to C#: Convert Word, Excel and PPT to PDF. Online C# Tutorial for Converting MS Office Word, Excel and PowerPoint to PDF. MS Office
converter pdf to powerpoint; convert pdf to powerpoint online for
Section 7.8  Sequential Programmable Devices    329
programming table for the four Boolean functions. The table is divided into four sec-
tions with three product terms in each, to conform with the PAL of  Fig.   7.16   . The first 
two sections need only two product terms to implement the Boolean function. The 
last section, for output  z,  needs four product terms. Using the output from  w,  we can 
reduce the function to three terms. 
The fuse map for the PAL as specified in the programming table is shown in  Fig.   7.17   . 
For each 1 or 0 in the table, we mark the corresponding intersection in the diagram with 
the symbol for an intact fuse. For each dash, we mark the diagram with blown fuses in both 
the true and complement inputs. If the AND gate is not used, we leave all its input fuses 
intact. Since the corresponding input receives both the true value and the complement of 
each input variable, we have    AA′= = 0    and the output of the AND gate is always 0. 
As with all PLDs, the design with PALs is facilitated by using CAD techniques. The 
blowing of internal fuses is a hardware procedure done with the help of special elec-
tronic instruments.  
7.8    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. 
There are several types of sequential programmable devices available commercially, and 
each device has vendor‐specific variants within each type. The internal logic of these 
devices is too complex to be shown here. Therefore, we will describe three major types 
without going into their detailed construction: 
 
1.   Sequential (or simple) programmable logic device (SPLD)  
 
2.   Complex programmable logic device (CPLD)  
 
3.   Field‐programmable gate array (FPGA)   
The sequential PLD is sometimes referred to as a simple PLD to differentiate it from 
the complex PLD. The SPLD includes flip‐flops, in addition to the AND–OR array, 
within the integrated circuit chip. The result is a sequential circuit as shown in  Fig.   7.18   . 
A PAL or PLA is modified by including a number of flip‐flops connected to form a 
register. The circuit outputs can be taken from the OR gates or from the outputs of the 
AND–OR array
(PAL or PLA)
Flip-flops
Inputs
Outputs
FIGURE 7.18  
Sequential programmable logic device       
330    Chapter 7  Memory and Programmable Logic
flip‐flops. Additional programmable connections are available to include the flip‐flop 
outputs in the product terms formed with the AND array. The flip‐flops may be of the 
D  or the  JK  type. 
The first programmable device developed to support sequential circuit implementation 
is the field‐programmable logic sequencer (FPLS). A typical FPLS is organized around a 
PLA with several outputs driving flip‐flops. The flip‐flops are flexible in that they can be 
programmed to operate as either the  JK  or the  D  type. The FPLS did not succeed com-
mercially, because it has too many programmable connections. The configuration mostly 
used in an SPLD is the combinational PAL together with  D  flip‐flops. A PAL that includes 
flip‐flops is referred to as a  registered  PAL, to signify that the device contains flip‐flops in 
addition to the AND–OR array. Each section of an SPLD is called a  macrocell,  which is 
a circuit that contains a sum‐of‐products combinational logic function and an optional 
flip‐flop. We will assume an AND–OR sum‐of‐products function, but in practice, it can be 
any one of the two‐level implementations presented in Section 3.7. 
Figure   7.19    shows the logic of a basic macrocell. The AND–OR array is the same as 
in the combinational PAL shown in  Fig.   7.16   . The output is driven by an edge‐triggered 
D  flip‐flop connected to a common clock input and changes state on a clock edge. The 
output of the flip‐flop is connected to a three‐state buffer (or inverter) controlled by an 
output‐enable signal marked in the diagram as  OE . The output of the flip‐flop is fed 
back into one of the inputs of the programmable AND gates to provide the present‐state 
condition for the sequential circuit. A typical SPLD has from 8 to 10 macrocells within 
CLK OE
D
CLK
FIGURE 7.19  
Basic macrocell logic       
Section 7.8  Sequential Programmable Devices    331
one IC package. All the flip‐flops are connected to the common  CLK  input, and all 
three‐state buffers are controlled by the OE input. 
In addition to programming the AND array, a macrocell may have other program-
ming features. Typical programming options include the ability to either use or bypass 
the flip‐flop, the selection of clock edge polarity, the selection of preset and clear for the 
register, and the selection of the true value or complement of an output. An XOR gate 
is used to program a true/complement condition. Multiplexers select between two or 
four distinct paths by programming the selection inputs. 
The design of a digital system using PLDs often requires the connection of several 
devices to produce the complete specification. For this type of application, it is more 
economical to use a complex programmable logic device (CPLD), which is a collection 
of individual PLDs on a single integrated circuit. A programmable interconnection 
structure allows the PLDs to be connected to each other in the same way that can be 
done with individual PLDs. 
Figure   7.20    shows the general configuration of a CPLD. The device consists of mul-
tiple PLDs interconnected through a programmable 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. Each PLD typically 
contains from 8 to 16 macrocells, usually fully connected. If a macrocell has unused 
product terms, they can be used by other nearby macrocells. In some cases the macrocell 
flip‐flop is programmed to act as a  D  JK or  T  flip‐flop. 
Different manufacturers have taken different approaches to the general architecture 
of CPLDs. Areas in which they differ include the individual PLDs (sometimes called 
PLD
PLD
PLD
PLD
PLD
PLD
PLD
PLD
Programmable switch matrix
I/O
block
I/O
block
FIGURE 7.20  
General CPLD configuration       
332    Chapter 7  Memory and Programmable Logic
function blocks ), the type of macrocells, the I/O blocks, and the programmable intercon-
nection structure. The best way to investigate a vendor‐specific device is to look at the 
manufacturer’s literature. 
The basic component used in VLSI design is the  gate array,  which consists of a pattern 
of gates, fabricated in an area of silicon, that is repeated thousands of times until the entire 
chip is covered with gates. Arrays of one thousand to several hundred thousand gates are 
fabricated within a single IC chip, depending on the technology used. The design with 
gate arrays requires that the customer provide the manufacturer the desired interconnec-
tion pattern. The first few levels of the fabrication process are common and independent 
of the final logic function. Additional fabrication steps are required to interconnect the 
gates according to the specifications given by the designer. 
A field‐programmable gate array (FPGA) is a VLSI circuit that can be programmed 
at the user’s location. A typical FPGA consists of an array of millions of logic blocks, 
surrounded by programmable input and output blocks and connected together via pro-
grammable interconnections. There is a wide variety of internal configurations within 
this group of devices. The performance of each type of device depends on the circuit 
contained in its logic blocks and the efficiency of its programmed interconnections. 
A typical FPGA logic block consists of lookup tables, multiplexers, gates, and 
flip‐flops. A lookup table is a truth table stored in an SRAM and provides the com-
binational circuit functions for the logic block. These functions are realized from the 
lookup table, in the same way that combinational circuit functions are implemented 
with ROM, as described in Section 7.5. For example, a    16* * 2    SRAM can store the 
truth table of a combinational circuit that has four inputs and two outputs. The 
combinational logic section, along with a number of programmable multiplexers, is 
used to configure the input equations for the flip‐flop and the output of the logic 
block. 
The advantage of using RAM instead of ROM to store the truth table is that the table 
can be programmed by writing into memory. The disadvantage is that the memory is 
volatile and presents the need for the lookup table’s content to be reloaded in the event 
that power is disrupted. The program can be downloaded either from a host computer 
or from an onboard PROM. The program remains in SRAM until the FPGA is repro-
grammed or the power is turned off. The device must be reprogrammed every time 
power is turned on. The ability to reprogram the FPGA can serve a variety of applica-
tions by using different logic implementations in the program. 
The design with PLD, CPLD, or FPGA requires extensive computer‐aided design 
(CAD) tools to facilitate the synthesis procedure. Among the tools that are available 
are schematic entry packages and hardware description languages (HDLs), such as 
ABEL, VHDL, and Verilog. Synthesis tools are available that allocate, configure, and 
connect logic blocks to match a high‐level design description written in HDL. As an 
example of CMOS FPGA technology, we will discuss the Xilinx FPGA.  
1
1   See www.Altera.com for an alternative CMOS FPGA architecture. 
Documents you may be interested
Documents you may be interested