KEMBAR78
Programmable array logic | PPT
Programmable Array Logic
Presentation By:
Fareed Yousuf
Jawwad Khatri
Muhammad Afnan
SMI University
 PLDs
 Programmable Logic Devices (PLD)
 General purpose chip for implementing circuits
 Can be customized using programmable switches
 Main types of PLDs
 PLA
 PAL
 ROM
 CPLD
 FPGA
 Custom chips: standard cells, sea of gates
 PLD as a Black Box
Logic gates
and
programmable
switches
Inputs
(logic variables)
Outputs
(logic functions)
 Programmable Logic Array (PLA)
 Use to implement
circuits in SOP form
 The connections in
the AND plane are
programmable
 The connections in
the OR plane are
programmable
f1
AND plane OR plane
Input buffers
inverters
and
P1
Pk
fm
x1 x2 xn
x1 x1 xn xn
 Programmable Array Logic (PAL)
 Also used to implement
circuits in SOP form
 The connections in
the AND plane are
programmable
 The connections in
the OR plane are
NOT programmable
f1
AND plane OR plane
Input buffers
inverters
and
P1
Pk
fm
x1 x2 xn
x1 x1 xn xn
fixed connections
 Limitations of PLAs
 PLAs come in various sizes
 Typical size is 16 inputs, 32 product terms, 8 outputs
 Each AND gate has large fan-in  this limits the number of
inputs that can be provided in a PLA
 16 inputs  316
= possible input combinations; only 32
permitted (since 32 AND gates) in a typical PLA
 32 AND terms permitted  large fan-in for OR gates as well
 This makes PLAs slower and slightly more expensive than
some alternatives to be discussed shortly
 8 outputs  could have shared minterms, but not required
 Example Schematic of a PAL
f1
P1
P2
f2
x1 x2 x3
AND plane
P3
P4
f1 = x1x2x3'+x1'x2x3
f2 = x1'x2'+x1x2x3
 Comparing PALs and PLAs
 PALs have the same limitations as PLAs (small
number of allowed AND terms) plus they have a
fixed OR plane  less flexibility than PLAs
 PALs are simpler to manufacture, cheaper, and
faster (better performance)
 PALs also often have extra circuitry connected to the
output of each OR gate
 The OR gate plus this circuitry is called a macrocell
 Macrocell
f1
back to AND plane
D Q
Clock
Select
Enable
Flip-flop
OR gate from PAL 0
1
 Macrocell Functions
 Enable = 0 can be used to allow the output pin for f1
to be used as an additional input pin to the PAL
 Enable = 1, Select = 0 is normal
for typical PAL operation
 Enable = Select = 1 allows
the PAL to synchronize the
output changes with a clock
pulse
 The feedback to the AND plane provides for multi-
level design
f
1
back to AND plane
D Q
Clock
Select
Enable
0
1
 Multi-Level Design with PALs
 f = A'BC + A'B'C' + ABC' + AB'C = A'g + Ag'
 where g = BC + B'C' and C = h below
D Q
Clock
Sel = 0
En = 0
0
1
D Q
Clock
Select
0
1
D Q
Clock
Sel = 0
En = 1
0
1
A B
h
g
f
 ROM
 A ROM (Read Only Memory) has a fixed AND plane
and a programmable OR plane
 Size of AND plane is 2n
where n = number of input
pins
 Has an AND gate for every possible minterm so that all
input combinations access a different AND gate
 OR plane dictates function mapped by the ROM
 Programming SPLDs
 PLAs, PALs, and ROMs are also called SPLDs –
Simple Programmable Logic Devices
 SPLDs must be programmed so that the switches
are in the correct places
 CAD tools are usually used to do this
 A fuse map is created by the CAD tool and then that map is
downloaded to the device via a special programming unit
 There are two basic types of programming techniques
 Removable sockets on a PCB
 In system programming (ISP) on a PCB
 This approach is not very common for PLAs and PALs but
it is quite common for more complex PLDs
 An SPLD Programming Unit
 The SPLD is removed from the PCB, placed into the
unit and programmed there
 Removable SPLD Socket Package
 PLCC (plastic-leaded chip carrier)
Printed circuit board
PLCC socket soldered to
the PCB
 In System Programming (ISP)
 Used when the SPLD cannot be removed from the
PCB
 A special cable and PCB connection are required to
program the SPLD from an attached computer
 Very common approach to programming more
complex PLDs like CPLDs, FPGAs, etc.
 CPLD
 Complex Programmable Logic Devices (CPLD)
 SPLDs (PLA, PAL) are limited in size due to the
small number of input and output pins and the
limited number of product terms
 Combined number of inputs + outputs < 32 or so
 CPLDs contain multiple circuit blocks on a single
chip
 Each block is like a PAL: PAL-like block
 Connections are provided between PAL-like blocks via an
interconnection network that is programmable
 Each block is connected to an I/O block as well
 Structure of a CPLD
PAL-like
block
I/Oblock
PAL-like
block
I/Oblock
PAL-like
block
I/Oblock
PAL-like
block
I/Oblock
Interconnection wires
 Internal Structure of a PAL-like Block
 Includes macrocells
 Usually about 16 each
 Fixed OR planes
 OR gates have fan-in
between 5-20
 XOR gates provide
negation ability
 XOR has a control
input
D Q
D Q
D Q
PAL-like block
PAL-like block
 Programming a CPLD
 CPLDs have many pins – large ones have > 200
 Removal of CPLD from a PCB is difficult without breaking
the pins
 Use ISP (in system programming) to program the CPLD
 JTAG (Joint Test Action Group) port used to connect the
CPLD to a computer
 FPGA
 SPLDs and CPLDs are relatively small and useful for
simple logic devices
 Up to about 20000 gates
 Field Programmable Gate Arrays (FPGA) can handle
larger circuits
 No AND/OR planes
 Provide logic blocks, I/O blocks, and interconnection wires
and switches
 Logic blocks provide functionality
 Interconnection switches allow logic blocks to be connected
to each other and to the I/O pins
 Structure of an FPGA
I/O block
I/O block
I/Oblock
I/Oblock
logic block
interconnection
switch
 Thank you!
 

Programmable array logic

  • 1.
    Programmable Array Logic PresentationBy: Fareed Yousuf Jawwad Khatri Muhammad Afnan SMI University
  • 2.
     PLDs  ProgrammableLogic Devices (PLD)  General purpose chip for implementing circuits  Can be customized using programmable switches  Main types of PLDs  PLA  PAL  ROM  CPLD  FPGA  Custom chips: standard cells, sea of gates
  • 3.
     PLD asa Black Box Logic gates and programmable switches Inputs (logic variables) Outputs (logic functions)
  • 4.
     Programmable LogicArray (PLA)  Use to implement circuits in SOP form  The connections in the AND plane are programmable  The connections in the OR plane are programmable f1 AND plane OR plane Input buffers inverters and P1 Pk fm x1 x2 xn x1 x1 xn xn
  • 5.
     Programmable ArrayLogic (PAL)  Also used to implement circuits in SOP form  The connections in the AND plane are programmable  The connections in the OR plane are NOT programmable f1 AND plane OR plane Input buffers inverters and P1 Pk fm x1 x2 xn x1 x1 xn xn fixed connections
  • 6.
     Limitations ofPLAs  PLAs come in various sizes  Typical size is 16 inputs, 32 product terms, 8 outputs  Each AND gate has large fan-in  this limits the number of inputs that can be provided in a PLA  16 inputs  316 = possible input combinations; only 32 permitted (since 32 AND gates) in a typical PLA  32 AND terms permitted  large fan-in for OR gates as well  This makes PLAs slower and slightly more expensive than some alternatives to be discussed shortly  8 outputs  could have shared minterms, but not required
  • 7.
     Example Schematicof a PAL f1 P1 P2 f2 x1 x2 x3 AND plane P3 P4 f1 = x1x2x3'+x1'x2x3 f2 = x1'x2'+x1x2x3
  • 8.
     Comparing PALsand PLAs  PALs have the same limitations as PLAs (small number of allowed AND terms) plus they have a fixed OR plane  less flexibility than PLAs  PALs are simpler to manufacture, cheaper, and faster (better performance)  PALs also often have extra circuitry connected to the output of each OR gate  The OR gate plus this circuitry is called a macrocell
  • 9.
     Macrocell f1 back toAND plane D Q Clock Select Enable Flip-flop OR gate from PAL 0 1
  • 10.
     Macrocell Functions Enable = 0 can be used to allow the output pin for f1 to be used as an additional input pin to the PAL  Enable = 1, Select = 0 is normal for typical PAL operation  Enable = Select = 1 allows the PAL to synchronize the output changes with a clock pulse  The feedback to the AND plane provides for multi- level design f 1 back to AND plane D Q Clock Select Enable 0 1
  • 11.
     Multi-Level Designwith PALs  f = A'BC + A'B'C' + ABC' + AB'C = A'g + Ag'  where g = BC + B'C' and C = h below D Q Clock Sel = 0 En = 0 0 1 D Q Clock Select 0 1 D Q Clock Sel = 0 En = 1 0 1 A B h g f
  • 12.
     ROM  AROM (Read Only Memory) has a fixed AND plane and a programmable OR plane  Size of AND plane is 2n where n = number of input pins  Has an AND gate for every possible minterm so that all input combinations access a different AND gate  OR plane dictates function mapped by the ROM
  • 13.
     Programming SPLDs PLAs, PALs, and ROMs are also called SPLDs – Simple Programmable Logic Devices  SPLDs must be programmed so that the switches are in the correct places  CAD tools are usually used to do this  A fuse map is created by the CAD tool and then that map is downloaded to the device via a special programming unit  There are two basic types of programming techniques  Removable sockets on a PCB  In system programming (ISP) on a PCB  This approach is not very common for PLAs and PALs but it is quite common for more complex PLDs
  • 14.
     An SPLDProgramming Unit  The SPLD is removed from the PCB, placed into the unit and programmed there
  • 15.
     Removable SPLDSocket Package  PLCC (plastic-leaded chip carrier) Printed circuit board PLCC socket soldered to the PCB
  • 16.
     In SystemProgramming (ISP)  Used when the SPLD cannot be removed from the PCB  A special cable and PCB connection are required to program the SPLD from an attached computer  Very common approach to programming more complex PLDs like CPLDs, FPGAs, etc.
  • 17.
     CPLD  ComplexProgrammable Logic Devices (CPLD)  SPLDs (PLA, PAL) are limited in size due to the small number of input and output pins and the limited number of product terms  Combined number of inputs + outputs < 32 or so  CPLDs contain multiple circuit blocks on a single chip  Each block is like a PAL: PAL-like block  Connections are provided between PAL-like blocks via an interconnection network that is programmable  Each block is connected to an I/O block as well
  • 18.
     Structure ofa CPLD PAL-like block I/Oblock PAL-like block I/Oblock PAL-like block I/Oblock PAL-like block I/Oblock Interconnection wires
  • 19.
     Internal Structureof a PAL-like Block  Includes macrocells  Usually about 16 each  Fixed OR planes  OR gates have fan-in between 5-20  XOR gates provide negation ability  XOR has a control input D Q D Q D Q PAL-like block PAL-like block
  • 20.
     Programming aCPLD  CPLDs have many pins – large ones have > 200  Removal of CPLD from a PCB is difficult without breaking the pins  Use ISP (in system programming) to program the CPLD  JTAG (Joint Test Action Group) port used to connect the CPLD to a computer
  • 21.
     FPGA  SPLDsand CPLDs are relatively small and useful for simple logic devices  Up to about 20000 gates  Field Programmable Gate Arrays (FPGA) can handle larger circuits  No AND/OR planes  Provide logic blocks, I/O blocks, and interconnection wires and switches  Logic blocks provide functionality  Interconnection switches allow logic blocks to be connected to each other and to the I/O pins
  • 22.
     Structure ofan FPGA I/O block I/O block I/Oblock I/Oblock logic block interconnection switch
  • 23.