Logo Studenta

02-intro-FPGA

¡Este material tiene más páginas!

Vista previa del material en texto

Introducción a las FPGAs
Primer Cuatrimestre 2023
Diseño de Sistemas Digitales con FPGA
DC - UBA
1
En la clase de hoy
¿Qué es una FPGA?
Un poco de historia
Arquitetura básica de las FPGAs
FPGAs de verdad!
Toolchain
Boards
2
¿Qué es una FPGA?
¿Qué es una 1 FPGA?
1Según ChatGPT se utiliza art́ıculo femenino
3
Definición
Una definición:
Las FPGAs (Field Programmable Gate Arrays) son circuitos
integrados digitales que contienen bloques de lógica configurables
(programables) aśı como conexiones configurables entre estos
bloques
¿Qué las hizo tan populares?
Field Programmable Gate Arrays
4
Definición
Una definición:
Las FPGAs (Field Programmable Gate Arrays) son circuitos
integrados digitales que contienen bloques de lógica configurables
(programables) aśı como conexiones configurables entre estos
bloques
¿Qué las hizo tan populares?
Field Programmable Gate Arrays
4
Definición
Una definición:
Las FPGAs (Field Programmable Gate Arrays) son circuitos
integrados digitales que contienen bloques de lógica configurables
(programables) aśı como conexiones configurables entre estos
bloques
¿Qué las hizo tan populares?
Field Programmable Gate Arrays
4
Definición
Una definición:
Las FPGAs (Field Programmable Gate Arrays) son circuitos
integrados digitales que contienen bloques de lógica configurables
(programables) aśı como conexiones configurables entre estos
bloques
¿Qué las hizo tan populares?
Field Programmable Gate Arrays
4
Clasificación
5
Clasificación
PLDs
• SPLDs (Simple Programmable Logic Device)
• PALs (Programmable Array Logic)
• PLAs (Programmable Logic Array)
• GALs (Generic Array Logic)
• ...
• CPLDs (Complex Programmable Logic Device)
• FPGAs (Field Programmable Gate Array)
6
Un poco de historia
En un comienzo...PALs
7
PLAs
8
CPLDs
9
CPLDs (cont.)
10
FPGAs
11
FPGAs: caracteŕısticas
• Hardware Fabric1
• Permite la creación de lógica dedicada con ḿınimas
restricciones de diseño
• Bloques Configurables
• Contiene cientos de miles de unidades básicas programables
prefabricadas
• Interconexiones Configurables
• La estructura de interconexión es distribuida y flexible. Es
“barato” interconectar
• Configuración on Field
• La configuración es simple y no requiere dispositivos costosos
1Estructura, entramado
12
FPGAs: caracteŕısticas
• Hardware Fabric1
• Permite la creación de lógica dedicada con ḿınimas
restricciones de diseño
• Bloques Configurables
• Contiene cientos de miles de unidades básicas programables
prefabricadas
• Interconexiones Configurables
• La estructura de interconexión es distribuida y flexible. Es
“barato” interconectar
• Configuración on Field
• La configuración es simple y no requiere dispositivos costosos
1Estructura, entramado
12
FPGAs: caracteŕısticas
• Hardware Fabric1
• Permite la creación de lógica dedicada con ḿınimas
restricciones de diseño
• Bloques Configurables
• Contiene cientos de miles de unidades básicas programables
prefabricadas
• Interconexiones Configurables
• La estructura de interconexión es distribuida y flexible. Es
“barato” interconectar
• Configuración on Field
• La configuración es simple y no requiere dispositivos costosos
1Estructura, entramado
12
FPGAs: caracteŕısticas
• Hardware Fabric1
• Permite la creación de lógica dedicada con ḿınimas
restricciones de diseño
• Bloques Configurables
• Contiene cientos de miles de unidades básicas programables
prefabricadas
• Interconexiones Configurables
• La estructura de interconexión es distribuida y flexible. Es
“barato” interconectar
• Configuración on Field
• La configuración es simple y no requiere dispositivos costosos
1Estructura, entramado
12
FPGAs: caracteŕısticas
• Hardware Fabric1
• Permite la creación de lógica dedicada con ḿınimas
restricciones de diseño
• Bloques Configurables
• Contiene cientos de miles de unidades básicas programables
prefabricadas
• Interconexiones Configurables
• La estructura de interconexión es distribuida y flexible. Es
“barato” interconectar
• Configuración on Field
• La configuración es simple y no requiere dispositivos costosos
1Estructura, entramado
12
FPGAs: caracteŕısticas (cont.)
• Alto Paralelismo
• Alto throughput sin alto clocking
• Bajo costo de diseño
• Bajo tiempo de desarrollo, fácil prototipado y validación
• Amplio espectro de aplicaciones
• Signal Processing
• Video & Image Processing
• Cryptography
• Computer hardware emulation 1
• CPU design
• Machine Learning & Neural Networks
• Biologically Inspired hardware
• Telco & Networking
• Software Defined Radio
• Robotics
1Mr. FPGA: https://github.com/MiSTer-devel/Wiki_MiSTer/wiki
13
https://github.com/MiSTer-devel/Wiki_MiSTer/wiki
FPGAs: caracteŕısticas (cont.)
• Alto Paralelismo
• Alto throughput sin alto clocking
• Bajo costo de diseño
• Bajo tiempo de desarrollo, fácil prototipado y validación
• Amplio espectro de aplicaciones
• Signal Processing
• Video & Image Processing
• Cryptography
• Computer hardware emulation 1
• CPU design
• Machine Learning & Neural Networks
• Biologically Inspired hardware
• Telco & Networking
• Software Defined Radio
• Robotics
1Mr. FPGA: https://github.com/MiSTer-devel/Wiki_MiSTer/wiki
13
https://github.com/MiSTer-devel/Wiki_MiSTer/wiki
FPGAs: caracteŕısticas (cont.)
• Alto Paralelismo
• Alto throughput sin alto clocking
• Bajo costo de diseño
• Bajo tiempo de desarrollo, fácil prototipado y validación
• Amplio espectro de aplicaciones
• Signal Processing
• Video & Image Processing
• Cryptography
• Computer hardware emulation 1
• CPU design
• Machine Learning & Neural Networks
• Biologically Inspired hardware
• Telco & Networking
• Software Defined Radio
• Robotics
1Mr. FPGA: https://github.com/MiSTer-devel/Wiki_MiSTer/wiki
13
https://github.com/MiSTer-devel/Wiki_MiSTer/wiki
FPGAs: caracteŕısticas (cont.)
• Alto Paralelismo
• Alto throughput sin alto clocking
• Bajo costo de diseño
• Bajo tiempo de desarrollo, fácil prototipado y validación
• Amplio espectro de aplicaciones
• Signal Processing
• Video & Image Processing
• Cryptography
• Computer hardware emulation 1
• CPU design
• Machine Learning & Neural Networks
• Biologically Inspired hardware
• Telco & Networking
• Software Defined Radio
• Robotics
1Mr. FPGA: https://github.com/MiSTer-devel/Wiki_MiSTer/wiki
13
https://github.com/MiSTer-devel/Wiki_MiSTer/wiki
Arquitetura básica de las FPGAs
FPGA Internals
14
FPGA Internals
15
FPGA Internals
16
FPGA Internals
17
FPGA Internals
18
Logic Cell
19
Slice
20
Configurable Logic Block
21
Block RAMs
• Son SRAMs listas para usar
• Es posible cambiar el aspect ratio
• Usos
• simple/dual port RAM/ROM
• FIFOs
• RAM based FSMs
• Pueden combinarse para formar
memorias más grandes
22
Block RAMs Cascade
23
Ultra RAMs
24
Ultra RAMs
25
Ultra RAMs
• Mayor capacidad: 288K bits en un
single block
• Dual port, 32k x 9, 16k x 18, 8k x
36, y 4K x 72, memoria sincrónica
single clock.
• Sólo disponible en ĺınea
Ultrascale+ (Xilinx)
26
DSP blocks
• Tienen funciones aritméticas listas para usar
• Mejor performance que fabric logic
• Pueden cascadearse sin pasar por general fabric routing
• Usos
• Multiplicadores
• Sumadores
• MACs
• Barrel Shifter
27
DSP blocks
28
Clock Management
• Las señales de clock se rutean en forma separada
• Las FPGA poseen Digital Clock Managers que generan y
controlan las señales de clock
• Cada DCM tiene un PLL y permite sintetizar varias
frecuencias a partir un clock base
29
Clock Distribution
• Los clocks se distribuyen en una arquitectura de árbol (clock
tree)
• La idea es minimizar el clock skew
• En general conviven varios dominios de clock simultáneamente
• El ruteo de los diferentes clocks en un diseño complejo es una
de las tareas más dif́ıciles
30
I/O
• Se distribuyen en bancos
• Se puedecontrolar el estándar eléctrico
• Tensiones: 3.3V, 2.5V, 1.8V, 1.2V, ...
• Estándar: CMOS, LVDS, SSTL, ...
• Single Ended, Diferencial
• DCI: Se puede controlar la impedancia de salida digitalmente,
según el estándar
31
Cores
• Se denominan IP cores o simplemente cores
• Pueden ser hard o soft cores
• Licenciados bajo distintas modalides
Recursos
• https://www.fpga4fun.com
• http://fpgaer.tech/
• https://www.rocketboards.org Altera-ish
32
https://www.fpga4fun.com
http://fpgaer.tech/
https://www.rocketboards.org
FPGAs de verdad!
Evolución
33
Xilinx FPGAs
34
Artix 7
35
Xilinx SOCs: Familia Zynq
36
Xilinx SOCs: Zynq 7000
37
Zynq CG, EG, EV
38
Zynq CG
39
Zynq EG
40
Toolchain
Perspectivas
41
Flujo de trabajo con Vivado
42
Boards
Nexys 2
https://digilent.com/reference/programmable-logic/nexys-2/start
43
https://digilent.com/reference/programmable-logic/nexys-2/start
Atlys
https://digilent.com/reference/programmable-logic/atlys/start
44
https://digilent.com/reference/programmable-logic/atlys/start
Zybo
https://digilent.com/reference/programmable-logic/zybo/start
45
https://digilent.com/reference/programmable-logic/zybo/start
	¿Qué es una FPGA?
	Un poco de historia
	Arquitetura básica de las FPGAs
	FPGAs de verdad!
	Toolchain
	Boards

Continuar navegando

Contenido elegido para ti

9 pag.
Presentacion proyecto final

UV

User badge image

Leonel Argüelles Chimal

5 pag.
59 pag.
tema1

User badge image

Natii Peñarol