Beruflich Dokumente
Kultur Dokumente
FPGA Architecture
Dr. Song Fu song.fu@unt.edu http://www.cse.unt.edu/~song/csce3730
September 7, 2010
HD Memory Architecture
September 7, 2010
Memory operation
Address is divided into row, column.
Row may contain full word or more than one word.
Selected row drives/senses bit lines in columns. Amplifiers/drivers read/write bit lines.
September 7, 2010
Row Decoders
Decode row using NORs:
September 7, 2010
ROM
ROM core is organized as NOR gates pulldown transistors.
September 7, 2010
September 7, 2010
September 7, 2010
Write
set bit/bit to desired (complementary) values; set select line high; drive on bit lines will flip state if necessary.
September 7, 2010
Definitions
Field Programmable Device (FPD)
a general term that refers to any type of integrated circuit used for implementing digital hardware, where the chip can be configured by the end user to realize different designs. Programming of such a device often involves placing the chip into a special programming unit, but some chips can also be configured insystem. Another name for FPDs is programmable logic devices (PLDs).
Source: S. Brown and J. Rose, FPGA and CPLD Architectures: A Tutorial, IEEE Design and Test of Computer, 1996
September 7, 2010 CSCE3730 - FPGA Architecture 9
Classifications
PLA a Programmable Logic Array (PLA) is a relatively
small FPD that contains two levels of logic, an ANDplane and an OR-plane, where both levels are programmable
O4
X Y X X Y Y
September 7, 2010
XY+YZ XZ+XYZ
September 7, 2010
12
O1
O2
O3
O4
September 7, 2010
13
Logic expanders
September 7, 2010 CSCE3730 - FPGA Architecture 14
PLA vs PAL
PLAs are more flexible than PALs since both AND & OR planes are programmable in PLAs. Because both AND & OR planes are programmable, PLAs are expensive to fabricate and have large propagation delay. By using fixed OR gates, PALs are cheaper and faster than PLAs. Logic expanders increase the flexibilities of PALs, but result in significant propagation delay. PALs usually contain D flip-flops connected to the outputs of OR gates to implement sequential circuits. PLAs and PALs are usually referred to as SPLD.
15
Complex PLD
A CPLD comprises multiple PAL-like blocks on a single chip with programmable interconnect to connect the blocks. CPLD Architecture
I/O block I/O block
September 7, 2010
I/O block
PAL-like block
PAL-like block
PAL-like block
PAL-like block
16
Chip-wide interconnect
Macroccell
September 7, 2010
17
September 7, 2010
18
Logic cell
I/O Cell
September 7, 2010
19
FPGA vs CPLD
Capacitance
SPLDs Equivalent gates 0 ~ 200 CPLDs 200 ~ 12,000 FPGAs 1000 ~ 1,000,000
Applications
CPLDs
1. Implement random glue logics or 1. replace circuits previously implemented by multiple SPLDs Circuits that can exploit wide AND/OR gates, and do not need a very large number of flip-flops are good candidates for implementation in CPLDs.
FPGAs
FPGAs can be used in various applications: prototyping, FPGAbased computers, on-site hardware re-configuration, DSP, logic emulation, network components, etc.
20
2.
September 7, 2010
interconnect LE LE LE LE LE LE
September 7, 2010
21
Terminology
Configuration: bits that determine logic function + interconnect. Combinational logic block (CLB): logic element (LE). Lookup table (LUT): SRAM used for truth table. I/O block (IOB): I/O pin + associated logic and electronics.
September 7, 2010
22
IOB
IOB
IOB LE
LE
Logic Element
Programmable:
Input connections. Internal function. Typically 4 inputs.
LE
interconnect LE LE LE LE LE LE
Coarser-grained than logic gates. Generally includes register. May provide specialized logic.
Adder carry chain.
September 7, 2010 CSCE3730 - FPGA Architecture 23
LE Example
Lookup table:
a 0
a b
0010
b 0 1 0 1
out
0 0 1 0 1 0 0 1
24
0
out
memory
1001
1 1
September 7, 2010
Programmable Wiring
Organized into channels.
Many wires per channel.
September 7, 2010
25
September 7, 2010
26
Programming Technologies
SRAM
Can be programmed many times. Must be programmed at power-up.
Antifuse
Programmed once.
Flash
Similar to SRAM but using flash memory.
September 7, 2010
27