FPGA
description
Transcript of FPGA
Sistemi Elettronici Programmabili
3-1
FPGA
Sistemi Elettronici Programmabili
Sistemi Elettronici Programmabili
3-2
FPGA: Architettura
LE LE LE LE
LE LE LE LE
LE LE LE LE
LE LE LE LE
VRC
VRC
VRC
HRC
HRC
HRC
IO
IO
IO IO
IM IM IM
IM IM IM
IM IM IM
Sistemi Elettronici Programmabili
3-3
FPGA: Logic Element (Block)
CLR
IN[3:0]
Q
QSET
CLR
D
CLK
S
LUTOUT
Sistemi Elettronici Programmabili
3-4
FPGA: LUT – Look Up Table (2 Ingressi)IN[0] IN[1]
OUT
0 0
0 1
1 0
1 1
0
0
0
1
ADD[0] ADD[1] OUT
0
1
1
1
0
1
1
0
OUT
AND OR XOR
Memory Words1 Bit
Q
QSET
CLR
DCDI CDO
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
IN[1:0]
CLK
OUT
Sistemi Elettronici Programmabili
3-5
FPGA LUT 2 INGRESSI
NOTAL’esempio è una LUT a due ingressi e quattro bit
di memoria. In ogni cella di memoria si può inserire il valore di una funzione di 2 bit – OR, AND, NOR, NAND, XOR, …- in funzione degli ingressi. Al momento del funzionamento IN [0,1] sceglie la cella di memoria – i quattro FF D – corrispondenti alla funzione desiderata
Sistemi Elettronici Programmabili
3-6
FPGA: Programmazione
Q
QSET
CLR
DCDI CDO
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
IN[1:0]
CLK
OUT
CLK
CDI(AND)
CDI(OR)
CDI(XOR)
Sistemi Elettronici Programmabili
3-7
FPGA: Programmazione (2)
CLK
CDI
LUT LUT LUT
Sistemi Elettronici Programmabili
3-8
FPGA: LUT
CDI
IN[3:0]
Q
QSET
CLR
D
CLK
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
Q SET
CLR
D
Q
Q SET
CLR
D
Q
Q SET
CLR
D
Q
Q SET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
Q SET
CLR
D
Q
Q SET
CLR
D
Q
Q SET
CLR
D
Q
Q SET
CLR
DCDO
OUT
Sistemi Elettronici Programmabili
3-9
FPGA: Routing (VRC)
LE LE
IN0
IN1
IN2
IN3
OUT
Sistemi Elettronici Programmabili
3-10
FPGA: Routing (IM)
Sistemi Elettronici Programmabili
3-11
FPGA: Programmazione (2)
CDI LUT LUT LUT LUT CDO
Q
QSET
CLR
DCDI
CLK
CDO
Sistemi Elettronici Programmabili
3-12
FPGA: Market
SRAM Based
Fuse Based
Sistemi Elettronici Programmabili
3-13
FPGA: Logic Element (Block) - ALTERA
Sistemi Elettronici Programmabili
3-14
ALTERA – Stratix: Architecture
Sistemi Elettronici Programmabili
3-15
Stratix: Logic Array Blocks
• 10 LEs per Logic Array Block (LAB)• Local Interconnect Drives LE Inputs• LAB-Wide Control Signals
LE14
4
4
4
4
4
4
4
4
4
Control Signals
LocalInterconnect
LE2
LE3
LE4
LE5
LE6
LE7
LE8
LE9
LE10
LogicElement
Logic ArrayBlock
Sistemi Elettronici Programmabili
3-16
FPGA: Progettazione
DescrizioneHDL Simulazione
IP
Library
SM
BlockDiagram
Sintesi
Place & Route
Simulazione
Simulazione
HardwareModel
HardwareModel
Configuration
Sistemi Elettronici Programmabili
3-17
FPGA: Programmazione (3)
FPGA
FPGA Configuration Device
AdapterJTAG
DataCTRL
FPGA
μC RAMDecoder
DataADD