ELEC-2005
Electronics in High Energy Physics
Winter Term: Introduction to Electronics in HEP
Field Programmable Gate Arrays
Part 1
Stefan Haas
[email protected]
CERN Technical Training 2005
Stefan Haas, 1 F
eb. 2005
ELEC-2005 2
Part 2
•
VHDL
–
Introduction
–
Examples
•
Design Flow
–
Entry Methods
–
Simulation
–
Synthesis
–
Place & Route
•
IP Cores
•
•
Advantages (compared to an ASIC):
–
Low development costs
–
Short development cycle
–
Device can (usually) be reprogrammed
•
Types of programmable logic:
–
Complex PLDs (CPLD)
–
Field programmable Gate Arrays (FPGA)
CPLD
Architecture and Examples
Stefan Haas, 1 F
eb. 2005
ELEC-2005 6
PLD - Sum of Products
A B C
CBACBAf ••+••=
1
CBABAf ••+•=
2
AND plane
Programmable AND array followed by fixed fan-in OR gates
Programmable switch or fuse
Stefan Haas, 1 F
eb. 2005
Interconnection Matrix
Interconnection Matrix
I/O Block
I/O Block
I/O Block
I/O Block
PLD
Block
PLD
Block
PLD
Block
PLD
Block
I/O Block
I/O Block
I/O Block
I/O Block
•
•
•
Interconnection Matrix
Interconnection Matrix
•
•
•
Programmable logic blocks
Implement combinatorial and
sequential logic
•
Programmable interconnect
Wires to connect inputs and
outputs to logic blocks
•
Programmable I/O blocks
Special logic blocks at the
periphery of device for external
connections
I/O
I/O
Logic block
Interconnection switches
I/O
I/O
Stefan Haas, 1 F
eb. 2005
ELEC-2005 13
Other FPGA Building Blocks
•
Clock distribution
•
Embedded memory blocks
•
Special purpose blocks:
–
Clock
Stefan Haas, 1 F
eb. 2005
ELEC-2005 15
Look-Up Tables (LUT)
•
Look-up table with N-inputs can be used to implement any
combinatorial function of N inputs
•
LUT is programmed with the truth-table
LUT
LUT
A
B
C
D
Z
A
B
C
D
Z
Truth-table Gate implementation
LUT implementation
Stefan Haas, 1 F
eb. 2005
ELEC-2005 16
LUT Implementation
•
Example: 3-input LUT
eb. 2005
ELEC-2005 17
Programmable Interconnect
•
Interconnect hierarchy (not shown)
–
Fast local interconnect
–
Horizontal and vertical lines of various lengths
LE
LE
LE
LE
LE
LE
LE
LE
LE
LE
LE
LE
Switch
Matrix
Switch
Matrix
Stefan Haas, 1 F
eb. 2005
ELEC-2005 18
Switch Matrix Operation
•
DSP blocks
Stefan Haas, 1 F
eb. 2005
ELEC-2005 20
Configuration Storage Elements
•
Static Random Access Memory (SRAM)
–
each switch is a pass transistor controlled by the state of an SRAM bit
–
FPGA needs to be configured at power-on
•
Flash Erasable Programmable ROM (Flash)
–
each switch is a floating-gate transistor that can be turned off by
injecting charge onto its gate. FPGA itself holds the program
–
reprogrammable, even in-circuit
•
Fusible Links (“Antifuse”)
–
Forms a forms a low resistance path when electrically programmed
–
one-time programmable in special programming machine
–
radiation tolerant
Example: Altera Stratix Series
Stefan Haas, 1 F
eb. 2005
ELEC-2005 22
ELEC-2005 25
Embedded Memory
Dual-Port RAM
–
M512 – 512 x 1
–
M4K – 4096 x 1
–
M-RAM – 64K x 8