Lecture 7-2 Programmable Logic
Lecture 7-2 Programmable Logic
Lecture 7-2 Programmable Logic
Programmable Logic
Kyeongha Kwon
School of EE, KAIST
1
Review: Programmable Read-Only Memory (PROM)
Example: 32 x 8 PROM (32 words, 8 bit each)
32 X 8 = 256 interconnections
Each intersection could be
programmable if there’s a
switch (connected or not)
Address decoder
8 x 32-input OR
PLD : programmable gates (AND array + OR array) with undefined function (at the time of manufacture)
− Must be programmed (reconfigured) before use To provide an AND–OR SoP
− Build reconfigurable digital circuits AND array OR array
- 3 kinds of PLD:
- PROM : fixed AND, programmable OR
- PAL : programmable AND, fixed OR
- PLA : programmable AND , OR
3
Programmable Logic Array (PLA)
PROM’s decoder is replaced with AND array
- Does not provide full decoding of variables and
does not generate all minterms
- Programmable AND array:
- Programmed to generate any product term of input
variable
- Programmable OR array:
- The product terms are connected to OR gates to
generate sum of products
F1 = AB’ + AC + A’BC’
F2 = (AC + BC)’
4
Programmable Logic Array (PLA)
Fuse map (programming table)
1: Connect to the input line
0: Connect to the input’s complement line
F1 = AB’ + AC + A’BC’ Dash: No connection
F2 = (AC + BC)’
(PLA on slide #4)
Fixed outputs
- Each output consists of 3 programmable ANDs and
a fixed 3-input OR Handles a SOP up to 3 products
Each section
(3 products)
Feedback path from output F1
- Expand functionality a little bit (check next slide!)
6
Programmable Array Logic (PAL)
Example
Simplify
(∵AA’=0)
For each 1 or 0
For dash(-)
8
Simple Programmable Logic Device (SPLD)
SPLD: combinational PAL + D flip‐flops Options for FFs
- Bypass FF
− Registered PAL : a PAL that includes flip‐flops - Clock edge
− Macrocell: each section of an SPLD - Reset
- Complement out
A basic macrocell 9
Complex Programmable Logic Device (CPLD)
A collection of simple PLDs on a single integrated-circuit (IC) chip
- IO blocks are connected to IC chip pins CPLD
IC Chip
- Switch matrix allows macrocells to connect each other / I/O pins
- Each PLD usually consists of 8-16 macrocells (<1000 macrocells per CPLD)
IC chip pins
10
Field Programmable Gate Array (FPGA)
ICs that can be programmed following the user’s requirement
- An array of millions of programmable logic blocks + programmable IO blocks +
programmable interconnections
- Logic block = lookup tables, multiplexers, gates, and FFs
- Lookup table (LUT): a truth table stored in an SRAM (programmable unlike ROM)
- FPGA chips become more popular due to high IC fabrication costs / new applications (AI)
The two major FPGA companies, Altera and Xilinx, are acquired by Intel and AMD, respectively.
11
Field Programmable Gate Array (FPGA)
Xilinx FPGA
− The first FPGA XC2000 (1985) consists of 600~1500 logic
gates.
− Recent Virtex UltraScale+ (2019) consists of 35B transistors,
which build 9 million logic cells.
− AMD acquired Xilinx on Feb. 2022, paid $49B. The biggest
acquisition in the history of the chip industry.
Targets
- Level of integration
- Amount of embedded memory
- Performance (speed)
- Subsystem interfaces
13
FPGA Implementation Flow
Electronic design automation (EDA)
- Extensive computer-aided design (CAD) tools are required
- Synthesis: Converting high-level description of design into an optimized gate-level
representation
- Place & route (P&R): Decide where to place all logic components and how to connect
them efficiently
FPGAs contain a lot of logic blocks, small memories, and abundant wiring
resources for routing
Designs described using Verilog
- Translated to the physical circuit via CAD tools
15
Notice
The Last Homework
− HW#7 (for Chapter 7) will be posted this Friday – due: Next Friday
A brief survey!
− https://forms.gle/4tuVLSffqbdJTPym8
16