Arreglo de CompuertasArreglo de Compuertas Proggpramables ...dea.unsj.edu.ar/sisdig2/FPGAs.pdf ·...
Transcript of Arreglo de CompuertasArreglo de Compuertas Proggpramables ...dea.unsj.edu.ar/sisdig2/FPGAs.pdf ·...
Arreglo de CompuertasArreglo de Compuertas Programables en el Campo g p
(Field Programmable Gate Array) FPGA
FGPAsFGPAsHasta 1200 E/SH t 40 t d d E/S t dHasta 40 estandares de E/S soportadosHasta 40.000 Flips-Flops y Look-Up-Tables (LUTs)Bloques de memoria hasta 18MbitsBloques multiplicadores Protocolo serial Gigabit High Speed Hard–Coded Procesador (Power PC) Soft-Coded ProcesadorPLL y DLL disponibles (2-8) por dispositivo. Hasta 550MHz.y p ( ) p pImpedancia de salida programableMuy usados en prototipos de ASICs debido a su altaMuy usados en prototipos de ASICs debido a su alta densidad y su re-programabilidad. Ayudan a solucionar errores de diseño sin modificar el Printed Circuit Board (PCB).
2Sistemas Digitales II / Electrónica Digital II
FPGA – Programacióng
P og amaciónProgramaciónSRAM (Static Random Access Memory)( y)
bits de configuración son almacenados en SRAMs cellsSRAMs cellspueden ser reprogramados infinitamenteconfiguración NO es retenida después deconfiguración NO es retenida después de remover Vcc
se usa una pequeña memoria no volátil quese usa una pequeña memoria no volátil que almacena los bits de configuración e inmediatamente después de alimentar el sistema con Vcc, el FPGA lee p ,la memoria y se auto-configuraExiste dos excepciones a esta regla:
3Sistemas Digitales II / Electrónica Digital II
FGPA Programacion (cont.)g ( )
Lattice XP FPGA, Actel IGLOO FPGAque usa una combinación de celdas de memoria FLASH (no volatil) que mantienen la configuración y las celdas SRAM ambas en el mismo chip (dice) Cuando el XP FPGA esambas en el mismo chip (dice). Cuando el XP FPGA es alimentado los bits de configuración son transferidos desde la FLASH a la SRAM en menos de 1ms, lo que se da a , qllamar instant-on FPGA. Además agrega un alto grado de seguridad al no haber un flujo de datos externos que pueden ser ‘leídos’pueden ser leídos .
Actel anti-fuse FPGAs. A tif l t i it bi t h tAntifuse es normalmente un circuito abierto hasta que una corriente de programación (~5mA) causa una gran potencia de disipación en un área muy pequeña, lo que provoca elde disipación en un área muy pequeña, lo que provoca el derretimiento de un aislante dieléctrico entre dos electrodos (metal-insulator-metal, MIM) formando una muy fina (20 ) ió t R di ti T l t(20nm) unión permanente. Radiation Tolerant.
4Sistemas Digitales II / Electrónica Digital II
Application Specific Integrated Circuit (ASIC)(ASIC)
PProsMuy alta velocidad/performanceMenor consumo Menor tamañoMenor tamaño
ConsóMuy alto costo de producción
Costo de NRE elevadoLargo tiempo de producción/diseñoNo se puede modificar una vez producido el chipNo se puede modificar una vez producido el chip
5Sistemas Digitales II / Electrónica Digital II
Xilinx Virtex II - Arquitecturaq
I/O Blocks (IOBs) Block SelectRAM™resourceresource
Programmable
Dedicated multipliers
interconnect
ConfigurableLogic Blocks (CLBs)
Clock ManagementClock Management (DCMs, BUFGMUXes)
6Sistemas Digitales II / Electrónica Digital II
Familia del Virtex 4
7Sistemas Digitales II / Electrónica Digital II
Familia del Virtex II
8Sistemas Digitales II / Electrónica Digital II
Altera Stratix III - Arquitecturaq
9Sistemas Digitales II / Electrónica Digital II
Lattice ECP ArquitecturaqProgrammable IO Cells (PIC)
sysMEMEmbedded Block
RAM (EBR)Including:•sysIO buffers that support over 20+ interfaces up to
RAM (EBR) 9kbit True Dual Port
275MHz
700Mbps•333Mbps DDR Memory Interfaces
JTAG PortsysCONFIGTM
Programming Port
(includes Programmable (includes dedicated and dual use pins)
Function unit Fast (PFF) – Logic
Without RAM, 75% of Blocks
DSP Bl k
Up to 4 sysCLOCKPLLs
sysDSP BlocksMultiply &
Accumulate Up to 36x36
PLLs
Programmable Functional Unit
250 MHz
4 Primary (Quadrant based) and 3Functional Unit
(PFU) – Logic + RAM, 25% of
Blocks
based) and 3 Secondary Clocks
250MHz10Sistemas Digitales II / Electrónica Digital II
Virtex II – Slices and CLBs XX
• Each Virtex�‐II CLB contains four slices BUFT
BUF T
COUTCOUT
– Local routing provides feedback between slices i th CLB d it
Slice S3
in the same CLB, and it provides routing to neighboring CLBs Switch
Slice S2SHIFTneighboring CLBs
– A switch matrix provides access
SwitchMatrix
Slice S1access to general routing resources
Slice S1
CIN
Slice S0 Local Routing
CINCIN CIN
11Sistemas Digitales II / Electrónica Digital II
Virtex II – Detalle de Mitad del Slice
12Sistemas Digitales II / Electrónica Digital II
Uso de la ‘Tabla de Búsqueda’q
• Combinatorial logic is stored in Look‐Up Tables (LUTs)
– Also called Function Generators (FGs)– Capacity is limited by the number of i b h l i
00000
ZDCBA
inputs, not by the complexity• Delay through the LUT is constant
11100
00100
01000
11010
10010
11100
Combinatorial Logic
AB 01011
00011
...
C
D
Z
11111
00111
01011
13Sistemas Digitales II / Electrónica Digital II
Implementación de SOPp
14Sistemas Digitales II / Electrónica Digital II
Uso de los MUXFx
MUXF8 combines the two (f
F5F8CLB
Slice S3
MUXF7 outputs (from the CLB above or below)
F5F6
Slice S2MUXF6 combines slices S2 and S3
Slice S1 5F7
MUXF7 combines the two MUXF6 outputs
Slice S0
Slice S1 F5F6
p
MUXF6 combines slices S0 and S1Slice S0
F5 MUXF5 combines LUTs in each slice
15Sistemas Digitales II / Electrónica Digital II
Clock Resources
16Sistemas Digitales II / Electrónica Digital II
Clock Reources and Routingg
• Sixteen dedicated global clock multiplexers– Eight on the top‐center of the die, eight on the bottom‐center
– Driven by a clock input pad, a DCM, or local routing• Global clock multiplexers provide the following:
– Traditional clock buffer (BUFG) function
– Global clock enable capability (BUFGCE) – Glitch‐free switching between clock signals (BUFGMUX)g g ( )
• Up to eight clock nets can be used in each clock region of the device
– Each device contains four or more clock regions
17Sistemas Digitales II / Electrónica Digital II
Digital Clock Manager (DCM)g g ( )
• Up to twelve DCMs per device– Located on the top and bottom edges of the die– Driven by clock input pads
• DCMs provide the following:
– Delay‐Locked Loop (DLL) – Digital Frequency Synthesizer (DFS) – Digital Phase Shifter (DPS)
• Up to four outputs of each DCM can drive onto global clock p p gbuffers
– All DCM outputs can drive general routing
18Sistemas Digitales II / Electrónica Digital II
Digital Clock Manager (DCM)g g ( )
DCM functionsDCM functionsEliminate clock skew using Delay-Locked Loop (DLL)
Monitors clock skew on output and correctsMonitors clock skew on output and correctsPerforms frequency doublingCreates multiphase clocksCreates multiphase clocks
Fractional Digital Frequency Synthesizer (DFS)fOUT = M/N fIN
Clock conditioningClock conditioningClock buffering and signal translation
19Sistemas Digitales II / Electrónica Digital II
Red de Relojj
20Sistemas Digitales II / Electrónica Digital II
Digital Clock Manager (DCM)g g ( )
21Sistemas Digitales II / Electrónica Digital II
Opciones de Configuración de Memoria RAMp g
22Sistemas Digitales II / Electrónica Digital II
Block RAM
• Up to 3.5 Mb of RAM in 18‐kb blocks
– Synchronous read and write18‐kb block SelectRAM memory
• True dual‐port memory– Each port has synchronous
DIADIPAADDRAWEA
18 kb block SelectRAM memory
read and write capability– Different clocks for each port
WEAENASSRA
CLKADOA
DOPA
• Supports initial values• Synchronous reset on output
DIBDIPB
WEBADDRB
latches• Supports parity bits
WEBENBSSRBCLKB DOPB
DOB
– One parity bit per eight data bits
23Sistemas Digitales II / Electrónica Digital II
Control de Impedancia p
• DCI (digital controlled impedance) provides– Output drivers that match the impedance of the traces– On‐chip termination for receivers and transmitters
• DCI advantagesg– Improves signal integrity by eliminating stub reflections– Reduces board routing complexity and component count byReduces board routing complexity and component count by eliminating external resistors
– Eliminates the effects of temperature, voltage, and process p , g , pvariations by using an internal feedback circuit
24Sistemas Digitales II / Electrónica Digital II
Otro modo de DCI
25Sistemas Digitales II / Electrónica Digital II
Switches de Conección SRAM
26Sistemas Digitales II / Electrónica Digital II
Multiplicadoresp2’s-complement multipliers distributed across fabricacross fabric
Primarily to support DSPCascade connectionsCascade connections
Pipeline registers on inputs and outputspCan do 2 small width op
Can also be used forBarrel shiftersData storage
Some shared connections with adjacent block RAM
Sistemas Digitales II / Electrónica Digital II 27
Bloque de E/Sq /
Sistemas Digitales II / Electrónica Digital II 28
E/S Estandards/
• Allows direct connections to external signals of varied voltages g gand thresholds
– Optimizes the speed/noise tradeoff– Saves having to place interface components onto your board
• Differential signaling standards– LVDS, BLVDS, ULVDS– LDTLVPECL– LVPECL
• Single‐ended I/O standardsLVTTL LVCMOS (3 3V 2 5V 1 8V d 1 5V)– LVTTL, LVCMOS (3.3V, 2.5V, 1.8V, and 1.5V)
– PCI‐X at 133 MHz, PCI (3.3V at 33 MHz and 66 MHz) GTL GTLP– GTL, GTLP
– and more!
29Sistemas Digitales II / Electrónica Digital II
E/S Estandares Soportados/ p
30Sistemas Digitales II / Electrónica Digital II
Configuration del FPGA
MethodsSlave – configuration controlled by external device
Serial, parallel, JTAGMaster – FPGA controls configurationMaster FPGA controls configuration automatically
Serial parallelSerial, parallel
31Sistemas Digitales II / Electrónica Digital II
Modo de Configuration EsclavoModo de Configuration Esclavo
32Sistemas Digitales II / Electrónica Digital II
Modo de Configuration MaestrogModes
33Sistemas Digitales II / Electrónica Digital II
Hard-Coded ProcessorPower PC 405 RISC Core
• Implementado en 0.13um• Puede procesar datos hasta
300MHz• Controlador de Memoria
(M i d d t(Memoria de datos e instrucciones separadas i l t d BRAM)implementeadas en BRAM)
• Logica de interface reloj/controlreloj/control
• CPU_FPGA interface
34Sistemas Digitales II / Electrónica Digital II
Soft-Coded Processor – Altera Nios
35Sistemas Digitales II / Electrónica Digital II
Virtex II – Dispositivos Comercialesp
36Sistemas Digitales II / Electrónica Digital II
CLBs & SlicesCLBs & Slices
Each slice has 2 LUTs & 2 storage elements& 2 storage elements
37Sistemas Digitales II / Electrónica Digital II
CLB Slice2 FFs or latches 2 LUTs for2 LUTs for combinational l ilogicSome LUTs can be used as distributed RAMdistributed RAM or ROM, or shift registersregistersCarry look-aheadyDedicated muxes 38Sistemas Digitales II / Electrónica Digital II
Xilinx Virtex-5
Xilinx’s top of the line FPGA65 t h l65nm process technology
550MHz RAM blocks6-input LUTs
Serial connectivitySerial connectivityEthernet MACsR k t I/O i l 3 2GBRocket I/O serial 3.2GBpsPCI Express endpoint
Enhanced DSP blocks (25x18, 48b accum)1760 pin BGA with 1200 I/O1760 pin BGA with 1200 I/OEasyPath 39Sistemas Digitales II / Electrónica Digital II
Xilinx Virtex 5 FamilyXilinx Virtex-5 Family
40Sistemas Digitales II / Electrónica Digital II
3.125 Gb/s Transceiver/
41Sistemas Digitales II / Electrónica Digital II