read only memory (rom) - university of...
TRANSCRIPT
![Page 1: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/1.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 1
Read Only Memory (ROM)
Device that allows permanent storage of information.
Device has k input (address) lines and n output (data) lines.
We can store 2k £ n bits of information inside the device.
The address lines specify a memory location;
The data outputs at any time represents the value stored at the memory location specified on the address lines.
![Page 2: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/2.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 2
ROM Block Diagram
High level block diagram for a ROM:
k inputs n outputs2^k x nROM
![Page 3: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/3.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 3
ROM Block Diagram
Uses an address decoder such that the k address lines selects one word of the 2k
words of data stored in the ROM.
Each of the 2k £ n bits inside of the ROM are programmable via opening and/or closing switches.
A(k-1)
addressdecoder
0/1 0/10/1 0/1
0/1 0/10/1 0/1
0/1 0/10/1 0/1
A(2)
A(1)
A(0)
D(0)D(1)D(2)D(n-1)
read
![Page 4: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/4.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 4
Implementing Functions With ROM
Can implement multi-input/multi-output logic functions inside of ROM.
Data outputs are the logic functions and the address lines are the logic function inputs.
We create a ROM Table to store the logic functions.
When an input (or address) is presented, the value stored in the specified memory location appears at the data outputs.
Each data output represents the correct value for its logic function.
![Page 5: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/5.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 5
Implementing Functions With ROM
E.g., Implement the 3-input logics f0 = (0,1,5,7), f1 = (0,1,2,6) and f2 = (2,3,4) using a ROM.
c
b
a
1
A(0)
A(1)
A(2)
D(2) D(1) D(0)
READ EN
8 x 3 ROM
f2 f1 f0
011 (3)
011 (3)
110 (6)
100(4)
100(4)
001 (1)
010 (2)
001 (1)
0
1
6
7
5
4
3
2
3-to-8 decoder
![Page 6: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/6.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 6
Types of ROM
Several technologies for implementing ROM:
PROM (Programmable Read-Only Memory):
PROM contains fuses giving logic value of 1 to all bits in device. Programming means “blowing” fuses to give some bits a logic value of 0.
Once programmed, that‟s it – programming cannot be changed.
EPROM (Electrically Programmable Read-Only Memory):
Can be “erased” by exposure to UV light. Otherwise, same as PROM.
EEPROM (Electrically Erasable Programmable Read-Only Memory):
Can be “erased electrically”. Otherwise, same as a PROM.
In programming, these devices all have an extra pin (or extra pins) where the programming information (bit stream) is applied to do the programming.
![Page 7: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/7.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 7
Textbook
ROM are described in Chapter 7, Section 7.5 of the textbook.
![Page 8: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/8.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 8
Random Access Memory (RAM)
Storage device to which we can both read and write information.
data inputs
data outputs
address
read
write
k
n
n
2^k x nRAM
![Page 9: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/9.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 9
Random Access Memory (RAM)
S Q
R
output
read/write
select
input
Internally, we need to be able to both read and write to bits of memory.
Consider the following circuit that can function as a bit of memory:
1 bitmemory
read/write
select
outputinput
Note: circuit is not really made like this, but this will function correctly to explain the concept…
![Page 10: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/10.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 10
Random Access Memory (RAM)
Take 1-bit memory and connect them into an array:
1 bitmemory
read/write
select
outputinput
addressdecoder
A(2)
A(1)
A(0)
1 bitmemory
1 bitmemory
1 bitmemory
1 bitmemory
1 bitmemory
1 bitmemory
1 bitmemory
1 bitmemory
1 bitmemory
1 bitmemory
1 bitmemory
1 bitmemory
D(0)D(1)D(2)D(n-1)
D(0)D(1)D(2)D(n-1)
data outputs
data inputs
read/write
A(k-1)
![Page 11: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/11.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 11
Random Access Memory (RAM)
D(n-1) D(2) D(1) D(0)
read/write
dat
a in
put
dat
a in
put
dat
a in
put
dat
a in
put
data ouput
data ouput
data ouput
data ouput
Can also share data lines with both input and output data using tri-state buffers (enabled by the read/write signal):
1 bitmemory
read/write
select
outputinput
![Page 12: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/12.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 12
Textbook
RAM is described in Chapter 7, Sections 7.2 and 7.3 of the course textbook.
![Page 13: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/13.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 13
Programmable Logic Array (PLA)
Programmable device capable of implementing functions expressed in SOP.
Consists of input buffers and inverters followed by:
Programmable AND plane, followed by
Programmable OR plane.
![Page 14: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/14.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 14
Programmable Logic Array (PLA)
input buffers and inverters
AND plane OR plane
Can implement m logic functions of n variables. Limit is the number of product terms that can be generated inside of the device.
![Page 15: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/15.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 15
Programmable Logic Array (PLA)
f1 f2
x1 x2 x3
Example implementing 2 logic functions of 3 inputs using a 3-5-2 PLA.
![Page 16: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/16.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 16
Programmable Array Logic (PAL)
Similar to a PLA, but only has a programmable AND plane.
The OR plane is fixed.
Not as flexible as a PLA since only certain AND gates feed each OR gate, but has fewer things that need programming.
![Page 17: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/17.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 17
Programmable Array Logic (PAL)
f1
f2
x1 x2 x3
Example of a PAL:
![Page 18: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/18.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 18
Programmable Array Logic (PAL)
Sometimes the outputs are fed back internally and can be used to create product terms.
f2
x3x1 x2
f1
![Page 19: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/19.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 19
Programmable Logic Array (PLA)
PLA and PAL are described in Chapter 7, Sections 7.6 and 7.7 of the course textbook.
![Page 20: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/20.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 20
Simple Programmable Logic Device (SPLD)
To implement sequential circuits, take a PAL and add some flip-flops at the output of the OR plane.
For example…
D Q
R
S
from OR plane
to AND plane
Above circuit (plus SOP from the AND plane and OR gate) form a MacroCell.
Several MacroCells together in the same IC is called an SPLD.
![Page 21: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/21.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 21
Complex Programmable Logic Device (CPLD)
PLA, PAL and SPLD typically contain small number of outputs (e.g., 16 outputs) with many inputs (e.g., 36 inputs) and a fair number of product terms.
Therefore only good for simple circuits where each equation has a wide fanin.
Using a Complex Programmable Logic Device (CPLD) is the “next step” if we have a large complicated circuit…
CLPD consists of many SPLD connected together by a Programmable Routing Fabric all in the same IC.
![Page 22: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/22.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 22
Complex Programmable Logic Device (CPLD)
Typical architecture (each PAL-like block has many inputs – e.g., 36 - , many product terms – e.g., 80 – and several outputs – e.g., 16).
PAL-like
block
PAL-like
block
PAL-like
block
PAL-like
block
PAL-like
block
PAL-like
block
PAL-like
block
PAL-like
block
IO b
lock
IO b
lock
IO b
lock
IO b
lock
IO b
lock
IO b
lock
IO b
lock
IO b
lock
Inte
rco
nn
ectio
n w
ire
s
![Page 23: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/23.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 23
Complex Programmable Logic Device (CPLD)
Can “zoom in” around one of the PAL blocks:
Product
Term
Matrix
(PTM)
Product
Term
Array
(PTA)
MacroCell
1
2
3
36
MacroCell
MacroCell
MacroCell
MacroCell
MacroCell
MacroCell
MacroCell
MacroCell
interconnect wires routed
into PAL block using MUX
In addition to programming the AND plane and MacroCells, also need to program the multiplexer select lines to “route” the correct signals into the PAL block.
![Page 24: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/24.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 24
Types of PLA, PAL, SPLD and CPLD
Programming of these devices is similar to ROM; i.e., these devices are typically either PROM, EPROM or EEPROM.
Programming info is generated (perhaps with a software tool), and the bit stream of program info is provided to one (or a few) additional pins on the device.
Also possible (these days) to have SRAM-based PLDs…
In SRAM devices, the programming info is lost when power is turned off.
Necessary to re-program device every time the system is powered up.
Often to see a configuration EPROM beside an SRAM based PLD on a circuit board.
Two chip solution… The EPROM holds the program that gets applied to the PLD upon power up.
![Page 25: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/25.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 25
Textbook
SPLD and CPLD are described in Chapter 7, Section 7.8 of the textbook.
![Page 26: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/26.jpg)
Standard
Logic
Logic
ASIC
Full custom
ICs
Cell-Based
ICs
Gate
Arrays
Programmable
Logic Devices
FPGAsCPLDsSPLDs FPICs
![Page 27: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/27.jpg)
Introduction to FPGAs (1)
Field Programmable Gate Arrays
Back to basics: all programs are essentially a series of logic operations on bits
The key idea is that FPGAs are custom-designed like ICs (ASICs), but are also software-reprogrammable
![Page 28: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/28.jpg)
Introduction to FPGAs (2)
You can in some sense think of an FPGA as a grid of wires connecting together logic gates. The joints between the wires are defined when you „configure‟ the device.
These wires have “fuses” between them – and the “fuses” can be “blown” or connected in software.
At least, that was the original idea (Programmable Array Logic) – now they are far more sophisticated.
![Page 29: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/29.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 29
Field Programmable Gate Array (FPGA)
Another type of programmable device capable of handling large circuits.
Different from a CPLD:
Logic is not implemented in terms of Product Terms/MacroCells
Implemented using Lookup Table (LUT) which are like little memories
![Page 30: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/30.jpg)
![Page 31: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/31.jpg)
Introduction to FPGAs (3)
Instead of just AND/OR gates, FPGAs now use lookup table and flip-flop blocks, and include onboard memory (block RAM), hardware integer multipliers, fast I/O interconnects etc.
![Page 32: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/32.jpg)
What is a reconfigurable computer?
Idea whereby hardware can modify itself to suit executing program
„Reconfigurable computing‟ is sometimes used to refer to FPGAs alone.
We use the term to refer to hybrid computers that include both conventional microprocessors and FPGA reconfigurable logic.
![Page 33: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/33.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 33
Field Programmable Gate Array (FPGA)
Typical FPGA consists of many small logic blocks interconnected by programmable routing resources.
Logic Logic Logic Logic
Logic Logic Logic Logic
Logic Logic Logic Logic
Logic Logic Logic Logic
IO b
lock
IO b
lock
IO block
IO block
switch blockconnection block
![Page 34: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/34.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 34
Field Programmable Gate Array (FPGA)
Can “zoom in” around a logic block.
Logic Logic
IO IO IO IO
Routing resources around the logic blocks need to be programmed so signals get “routed” to where they are needed.
![Page 35: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/35.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 35
Field Programmable Gate Array (FPGA)
Can “zoom in” inside a logic block (e.g., 3-input logic block):
inputs fromrouting fabric
D Q
R
S
x1 x2 x3
output torouting fabric
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
Can implement any 3-input function by properly programming the configuration bits.
![Page 36: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/36.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 36
Types of FPGA
FPGA typically SRAM-based devices, but can be had in PROM, EPROM or EEPROM types.
![Page 37: Read Only Memory (ROM) - University of Waterloopami.uwaterloo.ca/~basir/ECE124/RAM_ROM_And_Plds.pdf · E&CE 223 Digital Circuits and Systems ... Page 1 Read Only Memory (ROM) Device](https://reader031.vdocument.in/reader031/viewer/2022021501/5ac4a1287f8b9a220b8cea30/html5/thumbnails/37.jpg)
E&CE 223 Digital Circuits and Systems (A. Kennings) Page 37
Summary of CPLD and FPGA
CPLD are:
Course-grained programmable architectures based on Product Term/MacroCell ideas (course-grained since each PAL-like block has many MacroCells, many inputs and many product terms).
Traditionally based on PROM, EPROM, EEPROM (but available SRAM-based).
Low to medium density - capable of implementing small to medium sized circuits.
FPGA are:
Fine-grained programmable architectures based on Lookup Table ideas (fine-grained since each logic block implements a function of few inputs).
Traditionally based on SRAM (but available in PROM, EPROM and EEPROM).
Medium to high density – capable of implementing medium to large sized circuits.