SlideShare une entreprise Scribd logo
1  sur  30
PROGRAMMABLE
LOGIC DEVICES
(PLD)
PLD
• Problems by Using Basic Gates
• Many components on PCB:
– As no. of components rise, nodes interconnection
complexity grow exponentially
– Growth in interconnection will cause increase in
interference, PCB size, PCB design cost, and
manufacturing time
PLD
• The purpose of a PLD device is to permit elaborate digital logic
designs to be implemented by the user in a single device.
• Can be erased electrically and reprogrammed with a new design,
making them very well suited for academic and prototyping
• Types of Programmable Logic Devices
• SPLDs (Simple Programmable Logic Devices)
– ROM (Read-Only Memory)
– PLA (Programmable Logic Array)
– PAL (Programmable Array Logic)
– GAL (Generic Array Logic)
• CPLD (Complex Programmable Logic Device)
• FPGA (Field-Programmable Gate Array)
PLD
• The first three varieties are quite similar to each
other:
– They all have an input connection matrix, which connects
the inputs of the device to an array of AND-gates.
– They all have an output connection matrix, which connect
the outputs of the AND-gates to the inputs of OR-gates
which drive the outputs of the device.
• The gate array is significantly different and will be
described later.
PLD
• The differences between the first three categories
are these:
– 1. In a ROM, the input connection matrix is hardwired.
The user can modify the output connection matrix.
– In a PAL/GAL the output connection matrix is
hardwired. The user can modify the input connection
matrix.
– In a PLA the user can modify both the input connection
matrix and the output connection matrix.
General structure of PLDs.
(a) Symbol. (b) Logic equivalent.
Buffer/inverter
(a) Before programming. (b) After programming.
Programming by blowing
fuses.
OR - PLD Notation
AND - PLD Notation
PROM Notation
Using a PROM for logic design
(a) Truth table. (b) PROM realization.
A simple four-input, three-output PAL device.
An example of using a PAL device to realize two
Boolean functions. (a) Karnaugh maps. (b) Realization.
(a) Circuit diagram. (b) Symbolic representation.
Exclusive-or-gate with a
programmable fuse
FPGA AND CPLD
1. FPGA - Field-Programmable Gate
Array.
2. CPLD - Complex Programmable Logic
Device
3. FPGA and CPLD is an advance PLD.
4. Support thousands of gate where as
PLD only support hundreds of gates.
What is an FPGA?
• Before the advent of programmable logic, custom logic circuits were built
at the board level using standard components, or at the gate level in
expensive application-specific (custom) integrated circuits.
• FPGA is an integrated circuit that contains many (64 to over 10,000)
identical logic cells that can be viewed as standard components. Each logic
cell can independently take on any one of a limited set of personalities.
• Individual cells are interconnected by a matrix of wires and programmable
switches. A user's design is implemented by specifying the simple logic
function for each cell and selectively closing the switches in the
interconnect matrix.
• Array of logic cells and interconnect form a fabric of basic building blocks
for logic circuits. Complex designs are created by combining these basic
blocks to create the desired circuit
FPGA architecture
What does a logic cell do?
• The logic cell architecture varies between different device families.
• Each logic cell combines a few binary inputs (typically between 3 and 10)
to one or two outputs according to a Boolean logic function specified in the
user program .
• In most families, the user also has the option of registering the
combinatorial output of the cell, so that clocked logic can be easily
implemented.
• Cell's combinatorial logic may be physically implemented as a small look-
up table memory (LUT) or as a set of multiplexers and gates.
• LUT devices tend to be a bit more flexible and provide more inputs per cell
than multiplexer cells at the expense of propagation delay.
what does 'Field Programmable' mean?
• Field Programmable means that the FPGA's function is defined by a user's
program rather than by the manufacturer of the device.
• A typical integrated circuit performs a particular function defined at the
time of manufacture. In contrast, the FPGA's function is defined by a
program written by someone other than the device manufacturer.
• Depending on the particular device, the program is either 'burned'
in permanently or semi-permanently as part of a board assembly process,
or is loaded from an external memory each time the device is powered up.
• This user programmability gives the user access to complex integrated
designs without the high engineering costs associated with application
specific integrated circuits.
How are FPGA programs created?
• Individually defining the many switch connections and cell logic functions
would be a daunting task.
• This task is handled by special software. The software translates a user's
schematic diagrams or textual hardware description language code then
places and routes the translated design.
• Most of the software packages have hooks to allow the user to influence
implementation, placement and routing to obtain better performance and
utilization of the device.
• Libraries of more complex function macros (eg. adders) further simplify
the design process by providing common circuits that are already optimized
for speed or area.
FPGA
 FPGA applications:-
i. DSP
ii. Software-defined radio
iii. Aerospace
iv. Defense system
v. ASIC Prototyping
vi. Medical Imaging
vii. Computer vision
viii. Speech Recognition
ix. Cryptography
x. Bioinformatic
xi. And others.
CPLD
1. Complexity of CPLD is between FPGA and PLD.
2. CPLD featured in common PLD:-
i. Non-volatile configuration memory – does not need an external
configuration PROM.
ii. Routing constraints. Not for large and deeply layered logic.
3. CPLD featured in common FPGA:-
i. Large number of gates available.
ii. Can include complicated feedback path.
4. CPLD application:-
i. Address coding
ii. High performance control logic
iii. Complex finite state machines
CPLD
5. CPLD architecture:-
LAB – Logic Array Block / uses PALs
PIA – Programmable Interconnect Array

Contenu connexe

Similaire à L12_PROGRAMMABLE+LOGIC+DEVICES+(PLD).ppt

Complex Programmable Logic Device (CPLD) Architecture and Its Applications
Complex Programmable Logic Device (CPLD) Architecture and Its ApplicationsComplex Programmable Logic Device (CPLD) Architecture and Its Applications
Complex Programmable Logic Device (CPLD) Architecture and Its Applicationselprocus
 
Fpga architectures and applications
Fpga architectures and applicationsFpga architectures and applications
Fpga architectures and applicationsSudhanshu Janwadkar
 
FPGA Architecture and application
FPGA Architecture and application FPGA Architecture and application
FPGA Architecture and application ADARSHJKALATHIL
 
Programmable Hardware - An Overview
Programmable Hardware - An OverviewProgrammable Hardware - An Overview
Programmable Hardware - An OverviewS Yousuf Imam
 
Programmable Logic Devices Plds
Programmable Logic Devices PldsProgrammable Logic Devices Plds
Programmable Logic Devices PldsGaditek
 
0.FPGA for dummies: Historical introduction
0.FPGA for dummies: Historical introduction0.FPGA for dummies: Historical introduction
0.FPGA for dummies: Historical introductionMaurizio Donna
 
Project report of 2016 Trainee_final
Project report of 2016 Trainee_finalProject report of 2016 Trainee_final
Project report of 2016 Trainee_finalAkash Chowdhury
 

Similaire à L12_PROGRAMMABLE+LOGIC+DEVICES+(PLD).ppt (20)

Fpg as 11 body
Fpg as 11 bodyFpg as 11 body
Fpg as 11 body
 
SoC FPGA Technology
SoC FPGA TechnologySoC FPGA Technology
SoC FPGA Technology
 
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
Complex Programmable Logic Device (CPLD) Architecture and Its ApplicationsComplex Programmable Logic Device (CPLD) Architecture and Its Applications
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
 
module7.pptx
module7.pptxmodule7.pptx
module7.pptx
 
Fpga architectures and applications
Fpga architectures and applicationsFpga architectures and applications
Fpga architectures and applications
 
FPGA Architecture and application
FPGA Architecture and application FPGA Architecture and application
FPGA Architecture and application
 
Introduction to FPGAs
Introduction to FPGAsIntroduction to FPGAs
Introduction to FPGAs
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
PLDs
PLDsPLDs
PLDs
 
Dr.D.RUKMANIDEVI PPT.ppt
Dr.D.RUKMANIDEVI PPT.pptDr.D.RUKMANIDEVI PPT.ppt
Dr.D.RUKMANIDEVI PPT.ppt
 
Convolution
ConvolutionConvolution
Convolution
 
Programable logic devices (1)
Programable logic devices (1)Programable logic devices (1)
Programable logic devices (1)
 
Programmable Hardware - An Overview
Programmable Hardware - An OverviewProgrammable Hardware - An Overview
Programmable Hardware - An Overview
 
Programmable Logic Devices Plds
Programmable Logic Devices PldsProgrammable Logic Devices Plds
Programmable Logic Devices Plds
 
0.FPGA for dummies: Historical introduction
0.FPGA for dummies: Historical introduction0.FPGA for dummies: Historical introduction
0.FPGA for dummies: Historical introduction
 
nios.ppt
nios.pptnios.ppt
nios.ppt
 
FIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONS
FIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONSFIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONS
FIELD PROGRAMMABLE GATE ARRAYS AND THEIR APPLICATIONS
 
Project report of 2016 Trainee_final
Project report of 2016 Trainee_finalProject report of 2016 Trainee_final
Project report of 2016 Trainee_final
 
Lecture syn 024.cpld-fpga
Lecture syn 024.cpld-fpgaLecture syn 024.cpld-fpga
Lecture syn 024.cpld-fpga
 
Fpga Knowledge
Fpga KnowledgeFpga Knowledge
Fpga Knowledge
 

Dernier

Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.MateoGardella
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Shubhangi Sonawane
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docxPoojaSen20
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 

Dernier (20)

Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 

L12_PROGRAMMABLE+LOGIC+DEVICES+(PLD).ppt

  • 2. PLD • Problems by Using Basic Gates • Many components on PCB: – As no. of components rise, nodes interconnection complexity grow exponentially – Growth in interconnection will cause increase in interference, PCB size, PCB design cost, and manufacturing time
  • 3. PLD • The purpose of a PLD device is to permit elaborate digital logic designs to be implemented by the user in a single device. • Can be erased electrically and reprogrammed with a new design, making them very well suited for academic and prototyping • Types of Programmable Logic Devices • SPLDs (Simple Programmable Logic Devices) – ROM (Read-Only Memory) – PLA (Programmable Logic Array) – PAL (Programmable Array Logic) – GAL (Generic Array Logic) • CPLD (Complex Programmable Logic Device) • FPGA (Field-Programmable Gate Array)
  • 4. PLD • The first three varieties are quite similar to each other: – They all have an input connection matrix, which connects the inputs of the device to an array of AND-gates. – They all have an output connection matrix, which connect the outputs of the AND-gates to the inputs of OR-gates which drive the outputs of the device. • The gate array is significantly different and will be described later.
  • 5. PLD • The differences between the first three categories are these: – 1. In a ROM, the input connection matrix is hardwired. The user can modify the output connection matrix. – In a PAL/GAL the output connection matrix is hardwired. The user can modify the input connection matrix. – In a PLA the user can modify both the input connection matrix and the output connection matrix.
  • 7. (a) Symbol. (b) Logic equivalent. Buffer/inverter
  • 8. (a) Before programming. (b) After programming. Programming by blowing fuses.
  • 9. OR - PLD Notation
  • 10. AND - PLD Notation
  • 11.
  • 13. Using a PROM for logic design (a) Truth table. (b) PROM realization.
  • 14. A simple four-input, three-output PAL device.
  • 15. An example of using a PAL device to realize two Boolean functions. (a) Karnaugh maps. (b) Realization.
  • 16. (a) Circuit diagram. (b) Symbolic representation. Exclusive-or-gate with a programmable fuse
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. FPGA AND CPLD 1. FPGA - Field-Programmable Gate Array. 2. CPLD - Complex Programmable Logic Device 3. FPGA and CPLD is an advance PLD. 4. Support thousands of gate where as PLD only support hundreds of gates.
  • 23. What is an FPGA? • Before the advent of programmable logic, custom logic circuits were built at the board level using standard components, or at the gate level in expensive application-specific (custom) integrated circuits. • FPGA is an integrated circuit that contains many (64 to over 10,000) identical logic cells that can be viewed as standard components. Each logic cell can independently take on any one of a limited set of personalities. • Individual cells are interconnected by a matrix of wires and programmable switches. A user's design is implemented by specifying the simple logic function for each cell and selectively closing the switches in the interconnect matrix. • Array of logic cells and interconnect form a fabric of basic building blocks for logic circuits. Complex designs are created by combining these basic blocks to create the desired circuit
  • 25. What does a logic cell do? • The logic cell architecture varies between different device families. • Each logic cell combines a few binary inputs (typically between 3 and 10) to one or two outputs according to a Boolean logic function specified in the user program . • In most families, the user also has the option of registering the combinatorial output of the cell, so that clocked logic can be easily implemented. • Cell's combinatorial logic may be physically implemented as a small look- up table memory (LUT) or as a set of multiplexers and gates. • LUT devices tend to be a bit more flexible and provide more inputs per cell than multiplexer cells at the expense of propagation delay.
  • 26. what does 'Field Programmable' mean? • Field Programmable means that the FPGA's function is defined by a user's program rather than by the manufacturer of the device. • A typical integrated circuit performs a particular function defined at the time of manufacture. In contrast, the FPGA's function is defined by a program written by someone other than the device manufacturer. • Depending on the particular device, the program is either 'burned' in permanently or semi-permanently as part of a board assembly process, or is loaded from an external memory each time the device is powered up. • This user programmability gives the user access to complex integrated designs without the high engineering costs associated with application specific integrated circuits.
  • 27. How are FPGA programs created? • Individually defining the many switch connections and cell logic functions would be a daunting task. • This task is handled by special software. The software translates a user's schematic diagrams or textual hardware description language code then places and routes the translated design. • Most of the software packages have hooks to allow the user to influence implementation, placement and routing to obtain better performance and utilization of the device. • Libraries of more complex function macros (eg. adders) further simplify the design process by providing common circuits that are already optimized for speed or area.
  • 28. FPGA  FPGA applications:- i. DSP ii. Software-defined radio iii. Aerospace iv. Defense system v. ASIC Prototyping vi. Medical Imaging vii. Computer vision viii. Speech Recognition ix. Cryptography x. Bioinformatic xi. And others.
  • 29. CPLD 1. Complexity of CPLD is between FPGA and PLD. 2. CPLD featured in common PLD:- i. Non-volatile configuration memory – does not need an external configuration PROM. ii. Routing constraints. Not for large and deeply layered logic. 3. CPLD featured in common FPGA:- i. Large number of gates available. ii. Can include complicated feedback path. 4. CPLD application:- i. Address coding ii. High performance control logic iii. Complex finite state machines
  • 30. CPLD 5. CPLD architecture:- LAB – Logic Array Block / uses PALs PIA – Programmable Interconnect Array