Transcript Part 1

Electronics in High Energy Physics
Introduction to Electronics in HEP
Field Programmable Gate Arrays
Part 1
based on the lecture of S.Haas
Outline
Part 1
• Programmable Logic
• CPLD
• FPGA
–
–
–
–
Architecture
Examples
Features
Vendors and Devices
coffee break
Part 2
• VHDL
– Introduction
– Examples
• Design Flow
–
–
–
–
Entry Methods
Simulation
Synthesis
Place & Route
• IP Cores
• CERN Tools & Support
2
Programmable Logic
Programmable Logic
• Programmable digital integrated circuit
• Standard off-the-shelf parts
• Desired functionality is implemented by configuring
on-chip logic blocks and interconnections
• 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)
4
CPLD
Architecture and Examples
PLD - Sum of Products
Programmable AND array followed by fixed fan-in OR gates
A
B
C
Programmable switch or fuse
f1  A  B  C  A  B  C
f2  A  B  A  B  C
AND plane
6
PLD - Macrocell
Can implement combinational or sequential logic
Select
A
B
Enable
C
f1
Flip-flop
MUX
D
Q
Clock
AND plane
7
CPLD Structure
Integration of several PLD blocks with a programmable
interconnect on a single chip
PLD
Block
•
•
•
•
•
•
I/O Block
PLD
Block
I/O Block
I/O Block
•
•
•
Interconnection Matrix
I/O Block
•
•
•
PLD
Block
PLD
Block
8
CPLD Example - Altera MAX7000
EPM7000 Series Block Diagram
9
CPLD Example - Altera MAX7000
EPM7000 Series Device Macrocell
10
FPGA Architecture
FPGA - Generic Structure
FPGA building blocks:
Interconnection switches
I/O
I/O
I/O
• 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
Logic block
I/O
12
Other FPGA Building Blocks
• Clock distribution
• Embedded memory blocks
• Special purpose blocks:
– DSP blocks:
• Hardware multipliers, adders and registers
– Embedded microprocessors/microcontrollers
– High-speed serial transceivers
13
FPGA – Basic Logic Element
• LUT to implement combinatorial logic
• Register for sequential circuits
• Additional logic (not shown):
– Carry logic for arithmetic functions
– Expansion logic for functions requiring more than 4 inputs
Select
Out
A
B
C
D
LUT
D
Q
Clock
14
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
A
B
C
D
Z
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
0
Truth-table
A
B
C
D
LUT
Z
LUT implementation
A
B
Z
C
D
Gate implementation
15
LUT Implementation
• Example: 3-input LUT
• Based on multiplexers
(pass transistors)
• LUT entries stored in
configuration memory
cells
X1
X2
0/1
0/1
0/1
0/1
F
0/1
0/1
0/1
Configuration memory
cells
0/1
X3
16
Programmable Interconnect
• Interconnect hierarchy (not shown)
– Fast local interconnect
– Horizontal and vertical lines of various lengths
LE
LE
Switch
Matrix
LE
LE
Switch
Matrix
LE
LE
17
Switch Matrix Operation
Before Programming
After Programming
• 6 pass transistors per switch
matrix interconnect point
• Pass transistors act as
programmable switches
• Pass transistor gates are driven
by configuration memory cells
18
Special Features
• Clock management
– PLL,DLL
– Eliminate clock skew between external clock input
and on-chip clock
– Low-skew global clock distribution network
•
•
•
•
Support for various interface standards
High-speed serial I/Os
Embedded processor cores
DSP blocks
19
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
20
Example: Altera Stratix Series
Floorplan
22
Logic Element
23
Logic Array Block (LAB)
• LAB regroups 10 logic
elements with a fast
local interconnect
• Interconnect structure
– Direct link between LABs
and adjacent blocks
– Row interconnects
• 4, 8, and 24 blocks left or
right
– Column interconnects
• 4, 8, and 16 blocks up or
down
24
Embedded Memory
Dual-Port RAM
– M512 – 512 x 1
– M4K – 4096 x 1
– M-RAM – 64K x 8
25
Example: Xilinx Virtex-II Pro
Virtex II Pro Floorplan
Up to 16 serial transceivers
• 622 Mbps to 3.125 Gbps
PowerPCs
• 1 to 4 PowerPCs
• 4 to 16 multi-gigabit
transceivers
• 12 to 216 multipliers
• 3,000 to 50,000 logic
cells
• 200k to 4M bits RAM
• 204 to 852 I/Os
Logic
cells
27
Logic Slice Architecture
• Two 4-input LUT, can also
be used as:
– 16-bit synchronous RAM
– 16-bit shift register
• Two flip-flops/latches
• Carry logic for arithmetic
circuits (e.g. adder)
• Fast width expansion logic
– Implement logic functions with
more than 4 inputs
28
Configurable Logic Block (CLB)
• CLB regroups 4 logic
slices
• Fast connection to
neighbors
• Connections for carry
logic and shift register
mode
29
Xilinx: Embedded Multipliers
30
Altera: Embedded DSP Blocks
• Two DSP Block columns per device
• Number varies by height of column
• Can implement:
– Eight 9x9 multipliers
– Four 18x18 multipliers
– One 36x36 multiplier
• Contains adder/subtractor/accumulator
• Registered inputs can become shift register
31
Altera: Embedded DSP Block
32
Xilinx: Rocket I/O
3.125 Gb/s
per pair
32b @
78 MHz
32b @
78 MHz
Virtex-II Pro
Virtex-II Pro
Virtex 4: 11.1 Gbps !!!
33
FPGA Vendors & Device Families
• Xilinx
– Virtex-II/Virtex-4: Featurepacked high-performance
SRAM-based FPGA
– Spartan 3: low-cost feature
reduced version
– CoolRunner: CPLDs
• Altera
– Stratix/Stratix-II
• High-performance SRAMbased FPGAs
• Actel
– Anti-fuse based FPGAs
• Radiation tolerant
– Flash-based FPGAs
• Lattice
– Flash-based FPGAs
– CPLDs (EEPROM)
• QuickLogic
– ViaLink-based FPGAs
– Cyclone/Cyclone-II
• Low-cost feature reduced
version for cost-critical
applications
– MAX3000/7000 CPLDs
– MAX-II: Flash-based FPGA
34
State of the Art in FPGAs
• 90 nm process on 300 mm wafers
– Lower cost per function (LUT + register)
– Smaller and faster transistors: Higher speed
• System speed up to 500 MHz
– Mainly through smart interconnects, clock management, dedicated
circuits, flexible I/O.
– Integrated transceivers running at 10 Gigabits/sec
• More Logic and Better Features:
– >100,000 LUTs & flip-flops
– >200 embedded RAMs, and same number 18 x 18 multipliers
• 1156 pins (balls) with >800 GP I/O
– 50 I/O standards, incl. LVDS with internal termination
• 16 low-skew global clock lines
– Multiple clock management circuits
• On-chip microprocessor(s) and multi-Gbps transceivers
35
Latest Devices: Capacity & Features
Xilinx Virtex-4
Altera Stratix-II
•
•
•
•
90nm process
Up to 960 I/Os
>200000 logic cells
Up to 552 18kb block RAMs
(~10Mb RAM)
• 192 DSP slices (18x18
multiplier-accumulator)
• 20 digital clock managers
(DCM)
•
•
•
•
•
• 24 high-speed serial
transceivers (622Mb/s to
11.1Gb/s)
• Up to four PowerPC 405 cores
• Serial I/O up to 1Gb/s
90nm process
Up to 1170 I/Os
179000 logic elements
9.6Mb embedded RAM
96 DSP blocks: 380 18x18
multipliers
• 12 PLLs
• No hard processor cores
36