Tải bản đầy đủ (.ppt) (37 trang)

Bài giảng điện tử môn tin học: Field Programmable Gate Arrays doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (921.08 KB, 37 trang )

ELEC-2005
Electronics in High Energy Physics
Winter Term: Introduction to Electronics in HEP
Field Programmable Gate Arrays
Part 1
Stefan Haas

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


CERN Tools & Support
Part 1

Programmable Logic

CPLD

FPGA

Architecture

Examples

Features

Vendors and Devices
coffee break
Outline
Programmable Logic
Stefan Haas, 1 F
eb. 2005
ELEC-2005 4
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)
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

ELEC-2005 7
PLD - Macrocell
Can implement combinational or sequential
logic
A
B
C
Flip-flop
Select
Enable
D Q
Clock
AND plane
MUX
1
f
Stefan Haas, 1 F
eb. 2005
ELEC-2005 8
CPLD Structure
Integration of several PLD blocks with a programmable
interconnect on a single chip
PLD
Block
PLD
Block
PLD
Block
PLD
Block

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



















Stefan Haas, 1 F
eb. 2005
ELEC-2005 9
CPLD Example - Altera MAX7000
EPM7000 Series Block Diagram
Stefan Haas, 1 F
eb. 2005
ELEC-2005 10
CPLD Example - Altera MAX7000
EPM7000 Series Device Macrocell
FPGA Architecture
Stefan Haas, 1 F
eb. 2005
ELEC-2005 12
FPGA - Generic Structure
FPGA building blocks:


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:


DSP blocks:

Hardware multipliers, adders and registers

Embedded microprocessors/microcontrollers

High-speed serial transceivers
Stefan Haas, 1 F
eb. 2005
ELEC-2005 14
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
LUT
LUT
Out
Select
D Q
A
B
C
D

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


Based on multiplexers
(pass transistors)

LUT entries stored in
configuration memory
cells
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
X1
X2
X3
F
Configuration memory
cells
Stefan Haas, 1 F

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


6 pass transistors per switch
matrix interconnect point

Pass transistors act as
programmable switches

Pass transistor gates are driven
by configuration memory cells
After Programming
Before Programming
Stefan Haas, 1 F
eb. 2005
ELEC-2005 19
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
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

Floorplan
Stefan Haas, 1 F
eb. 2005
ELEC-2005 23
Logic Element
Stefan Haas, 1 F
eb. 2005
ELEC-2005 24
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
Stefan Haas, 1 F
eb. 2005

ELEC-2005 25
Embedded Memory
Dual-Port RAM

M512 – 512 x 1

M4K – 4096 x 1

M-RAM – 64K x 8

×