introducci on clase 14: hardware...

16
Clase 14: Hardware programable Sistemas Embebidos Prof: Lic. Jos´ e H. Moyano Departamento de Ciencias e Ingenier´ ıa de la Computaci´ on 2019 Prof: Lic. Jos´ e H. Moyano (Departamento de Ciencias e Ingenier´ Clase 14: Hardware programable 2019 1 / 63 Introducci´on El hardware de los sistemas embebidos se compone de un CPU, memoria y dispositivos. Hasta el momento hemos considerado que dicho hardware era fijo, incluido en un SoC o mediante un conjunto de ICs conectados al microcontrolador. Sin embargo, actualmente existe una tendencia creciente en la utilizaci´on de hardware programable. Es cada vez m´ as com´ un el uso de dispositivos programables integrados en los microcontroladores (SoCs y boards). Prof: Lic. Jos´ e H. Moyano (Departamento de Ciencias e Ingenier´ Clase 14: Hardware programable 2019 2 / 63 Ventajas Muy ´ util para el prototipado de soluciones y para el an´ alisis de dise˜ nos alternativos (menores costos – non-recurring engineering (NRE) costs) Muy sencillo realizar actualizaciones Mayor flexibilidad y menores costos en cada iteraci´ on del proceso de dise˜ no Menor “time to market” para productos nuevos Mayor reuso de componentes La idea es dise˜ nar un circuito en software e implementarlo en hardware. Se tiene la flexibilidad del software y el desempe˜ no del hardware. Prof: Lic. Jos´ e H. Moyano (Departamento de Ciencias e Ingenier´ Clase 14: Hardware programable 2019 3 / 63 Introducci´on Sin embargo: I Dise˜ nar con HW programable es m´ as complejo I Mayor delay area, y peor desempe˜ no que un ASIC I Tienen mayor costo y consumo por unidad (que un ASIC) I No aptos para dise˜ nos simples que no aprovechan la flexibilidad Originalmente: I Se prototipaba con estas herramientas I Se encargaban ASICs en base a dichos prototipos Actualmente existe tendencia a incluir hardware programable en las soluciones finales a partir de cierto costo. Prof: Lic. Jos´ e H. Moyano (Departamento de Ciencias e Ingenier´ Clase 14: Hardware programable 2019 4 / 63

Upload: others

Post on 16-Aug-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducci on Clase 14: Hardware programablecs.uns.edu.ar/materias/se/2019/descargas/teoria/clase14...Hardware programable Prof: Lic. Jos e H. Moyano (Departamento de Ciencias e Ingenier

Clase 14: Hardware programableSistemas Embebidos

Prof: Lic. Jose H. Moyano

Departamento de Ciencias e Ingenierıa de la Computacion

2019

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 1 / 63

Introduccion

El hardware de los sistemas embebidos se compone de un CPU, memoria ydispositivos.

Hasta el momento hemos considerado que dicho hardware era fijo, incluido en unSoC o mediante un conjunto de ICs conectados al microcontrolador.

Sin embargo, actualmente existe una tendencia creciente en la utilizacion dehardware programable.

Es cada vez mas comun el uso de dispositivos programables integrados en losmicrocontroladores (SoCs y boards).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 2 / 63

Ventajas

Muy util para el prototipado de soluciones y para el analisis de disenos alternativos(menores costos – non-recurring engineering (NRE) costs)

Muy sencillo realizar actualizaciones

Mayor flexibilidad y menores costos en cada iteracion del proceso de diseno

Menor “time to market” para productos nuevos

Mayor reuso de componentes

La idea es disenar un circuito en software e implementarlo en hardware. Se tiene laflexibilidad del software y el desempeno del hardware.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 3 / 63

Introduccion

Sin embargo:I Disenar con HW programable es mas complejoI Mayor delay y area, y peor desempeno que un ASICI Tienen mayor costo y consumo por unidad (que un ASIC)I No aptos para disenos simples que no aprovechan la flexibilidad

Originalmente:I Se prototipaba con estas herramientasI Se encargaban ASICs en base a dichos prototipos

Actualmente existe tendencia a incluir hardware programable en las solucionesfinales a partir de cierto costo.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 4 / 63

Page 2: Introducci on Clase 14: Hardware programablecs.uns.edu.ar/materias/se/2019/descargas/teoria/clase14...Hardware programable Prof: Lic. Jos e H. Moyano (Departamento de Ciencias e Ingenier

Hardware programable

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 5 / 63

Hardware programable

Un dispositivo programable es un componente electronico que permite laimplementacion de funciones mediante la combinacion y reconexion de elementosmas simples.

Se compone de elementos discretos y de una logica de interconexion reconfigurable.

A diferencia del hardware fijo, no implementa una funcionalidad determinada. Lafuncion es programada en el dispositivo luego de fabricado.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 6 / 63

Hardware programable

En este contexto, para un diseno de sistema embebido hay que determinar quefuncionalidad:

I Se implementa en hardware fijoI Se implementa en hardware programableI Se implementa en software

La introduccion de hardware programable desdibuja los lımites entre el desarrollo desoftware y el desarrollo de hardware.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 7 / 63

Hardware programable

Estudiando ingenierıa en computacion ¿Vieron anteriormente hardwareprogramable?

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 8 / 63

Page 3: Introducci on Clase 14: Hardware programablecs.uns.edu.ar/materias/se/2019/descargas/teoria/clase14...Hardware programable Prof: Lic. Jos e H. Moyano (Departamento de Ciencias e Ingenier

Tecnologıas

Existen distintas tecnologıas de hardware programable que determinan como eldispositivo es configurado (como se interconectan sus elementos basicos):

Fusible-link

Antifuse technology

SRAM-based technology

EPROM/EEPROM/Flash-based technology

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 9 / 63

Fusible-link

No usado en actualmente en FPGA.

“Removiendo” los fusibles al aplicar alta tension, se selecciona que entradas serancomputadas (se programa el dispositivo).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 10 / 63

Fusible-link

¿Se podra reprogramar la tecnologıa de fusible-link si se eliminan losfusibles aplicando tension?

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 11 / 63

Antifuse technologyEn estado no programado: antifuse en alta impedancia (OC).Conforman dispositivos OTP (one-time programmable). Son rapidos y consumenmenos.

Se produce un enlace aplicando corrientes yvoltajes altos.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 12 / 63

Page 4: Introducci on Clase 14: Hardware programablecs.uns.edu.ar/materias/se/2019/descargas/teoria/clase14...Hardware programable Prof: Lic. Jos e H. Moyano (Departamento de Ciencias e Ingenier

SRAM-based

Utilizan una celda SRAM para determinar laprogramacion de la logica.

Cada celda ocupa una porcion considerable de silicio (varios transistores p/celdaSRAM + el transistor de control).

La programacion se pierde al cortar el suministro electrico. El dispositivo debereprogramarse en cada inicio.

Este tipo de dispositivos se programan rapida y facilmente (los mas utiles paraprototipado).

La tecnologıa SRAM mejora continuamente, se logran altos niveles de integracionya que sigue procesos de construccion estandar.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 13 / 63

EPROM/EEPROM/Flash-based

Utilizan celdas de memoria Flash para mantener la programacion.

Son no volatiles (al igual que los dispositivos antifuse), pero reprogramables (comolos SRAM-based).

Utilizan un proceso de fabricacion estandar (como los SRAM-based) y consumenpoco (como los antifuse).

Son dispositivos relativamente rapidos.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 14 / 63

Comparacion

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 15 / 63

Comparacion

¿Por que SRAM-based son los mejores para desarrollo y prototipado?

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 16 / 63

Page 5: Introducci on Clase 14: Hardware programablecs.uns.edu.ar/materias/se/2019/descargas/teoria/clase14...Hardware programable Prof: Lic. Jos e H. Moyano (Departamento de Ciencias e Ingenier

Categorıas de Hardware Programable

Simple Programmable Logic Devices(SPLDs)

Complex Programmable Logic Devices(CPLDs)

Field Programmable Gate Arrays(FPGAs)

Cierta funcionalidad es posible implementarla en mas de una de estas categorıas(solapamiento).

Los PLD mas complejos pueden implementar cualquier funcionalidad, pero nosiempre resulta conveniente.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 17 / 63

Comparando categorıas

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 18 / 63

Tecnologıas y categorıas

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 19 / 63

Escala de lo SPLDs

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 20 / 63

Page 6: Introducci on Clase 14: Hardware programablecs.uns.edu.ar/materias/se/2019/descargas/teoria/clase14...Hardware programable Prof: Lic. Jos e H. Moyano (Departamento de Ciencias e Ingenier

Escala de los CPLDs

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 21 / 63

Escala de los FPGAs

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 22 / 63

Simple Programmable Logic Devices (SPLDs)

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 23 / 63

SPLDsEn el extremo mas bajo del espectro tenemos los Arreglos Logicos Programables(PAL, PLA) o Arreglos Logicos Genericos (GAL).

Los SPLD constituyen elorigen del hardwareprogramable y surgieron paraimplementar la llamada “gluelogic “.

Ej: address decoding. . .

Estos dispositvos sedenominan (Simple)Programmable Logic Devices(PLDs).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 24 / 63

Page 7: Introducci on Clase 14: Hardware programablecs.uns.edu.ar/materias/se/2019/descargas/teoria/clase14...Hardware programable Prof: Lic. Jos e H. Moyano (Departamento de Ciencias e Ingenier

SPLDs

Cada SPLD define dos arreglos de compuertas: uno computa el AND y el otro elOR booleanos. Dichos arreglos conforman un conjunto de macroceldas.

Cada macrocelda implementa logica combinacional y opcionalmente flip flops, ypuede almacenar una ecuacion booleana simple que combina ciertas entradas conciertas salidas (suma de productos).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 25 / 63

SPLDs

Las ecuaciones se programan con unlenguaje particular (ej: ABEL,PALASM). A partir de allı se construyela imagen que luego es programada enel dispositivo (Programador de PLA –[E]PROM).

Otra alternativa es transferir el disenoa partir de la captura de esquematicos.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 26 / 63

SPLDs

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 27 / 63

Complex Programmable Logic Devices (CPLDs)

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 28 / 63

Page 8: Introducci on Clase 14: Hardware programablecs.uns.edu.ar/materias/se/2019/descargas/teoria/clase14...Hardware programable Prof: Lic. Jos e H. Moyano (Departamento de Ciencias e Ingenier

CPLDsEl siguiente escalon en hardware programable esta dado por los ComplexProgrammable Logic Devices (CPLDs).En su forma mas simple se componen de multiples bloques logicos (SPLDs)interconectados.

Permiten implementar disenos mascomplejos merced a una mayorcantidad de recursos.

Programables por JTAG.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 29 / 63

CPLDsAbarcan desde aplicaciones simples como decodificacion de direcciones hastaimplementaciones de logicas de control de alta performance y maquinas de estadosfinitos.

Los CPLD con mayor numero decompuertas comparten parte delcampo de aplicacion con los FPGAs,aunque presentan retardos menores ymas predecibles a raız de suarquitectura interna menos flexible.

Altera MAX 7000-series (2500 compuertas)Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 30 / 63

Field Programmable Gate Arrays (FPGAs)

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 31 / 63

FPGAs

El ultimo escalon en hardware programable viene dado por los Field ProgrammableGate Arrays (FPGAs).

Pueden utilizarse para implementar practicamente cualquier diseno de hardware(prototipos para ASICs o disenos finales dependiendo de los costos de desarrollo yproduccion para un proyecto vs la necesidad de actualizar el HW una vez lanzado elproducto).

Principales fabricantes (son fabless):

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 32 / 63

Page 9: Introducci on Clase 14: Hardware programablecs.uns.edu.ar/materias/se/2019/descargas/teoria/clase14...Hardware programable Prof: Lic. Jos e H. Moyano (Departamento de Ciencias e Ingenier

Diferencias con CPLD

Los FPGAs difieren estructuralmente de los CPLD en:

Bloques logicos

Interconexiones (canales de ruteo)

Bloques o elementos de I/O

Red de propagacion de la senal de clock

Pueden incluir multiplicadores

Pueden incluir elementos de memoria

Pueden incluir caracterısticas avanzadas

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 33 / 63

CPLD vs FPGA

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 34 / 63

CPLD vs FPGA

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 35 / 63

FPGAs

Los FPGAs siguen la idea de interconectar elementos basicos para lograrfuncionalidades mas avanzadas, pero son mas adecuados para aplicaciones quehacen uso intensivo de los registros y del pipelining.

Son muy utilizados como alternativa a soluciones de CPU + Software cuando elprocesamiento de datos requiere tasas elevadas (aceleracion por Hardware).

En general son mas densos que los CPLD lo que los convierte en la eleccionobligada ante niveles muy altos de integracion.

Numerosos MCUs y DSCs integran FPGAs en SoCs.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 36 / 63

Page 10: Introducci on Clase 14: Hardware programablecs.uns.edu.ar/materias/se/2019/descargas/teoria/clase14...Hardware programable Prof: Lic. Jos e H. Moyano (Departamento de Ciencias e Ingenier

Aplicaciones

ASICs/ASSPs: Cada dıa es mas comun el uso de FPGAs para aplicaciones antesdestinadas al uso de ASICs de manera dedicada (prototipado y desarrollo).

Digital Signal Processig (DSP): los FPGAs que integran MACs, grandes cantidadesde RAM, y proveen ruteo aritmetico dedicado simplifican las implementaciones enprocesamiento digital de senales. Si sumamos el alto nivel de paralelismo presenteen los FPGAs, se obtienen implementaciones DSP de altısimo desempeno.

Microncontroladores embebidos: A medida que decrecen los costos de los FPGAs,es cada vez mas comun el uso de procesadores soft-core que integran funciones deE/S personalizadas en aplicaciones embebidas.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 37 / 63

Aplicaciones

Comunicaciones: Historicamente se han utilizado para la interface (glue logic) entrela capa fısica y las capas de protocolos de red superiores. Actualmente los FPGAsde alta performance incorporan transceivers de alta velocidad, consolidando lascomunicaciones y las funciones de red en un unico dispositivo.

Computacion reconfigurable: Se trata de explotar la naturaleza paralela yreconfigurable de los FPGAs para acelerar por hardware algoritmos de software.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 38 / 63

FPGAsLos bloques logicos en un FPGA pueden ser tan simples como una macroceldaPLD, o mas complejos (nunca tan complejos como un PLD completo).

Se diferencian de los CPLD fundamentalmente en que estan basados enMUXes/Lookup Tables mientras que estos ultimos estan basados en suma deproductos.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 39 / 63

MUX/Lookup tablesSe diferencian de los CPLD fundamentalmente en que estan basados en MUXes/LookupTables mientras que estos ultimos estan basados en suma de productos.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 40 / 63

Page 11: Introducci on Clase 14: Hardware programablecs.uns.edu.ar/materias/se/2019/descargas/teoria/clase14...Hardware programable Prof: Lic. Jos e H. Moyano (Departamento de Ciencias e Ingenier

Ventajas LUT

Permite encadenar las celdas SRAM (programacion por JTAG)

Permite implementarse como un bloque de RAM/shift register.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 41 / 63

Combinando bloques logicosLos bloques logicos (celdas logicas/elementos logicos) se combinan para formarestructuras mayores.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 42 / 63

Combinando bloques logicos

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 43 / 63

Jerarquıa

En estos ejemplos, terminologıa XilinxI Un Configurable Logic Block (CLB) son 4 slicesI 1 slice son 2 celdas logicas

Interconexion entre LC en un slice rapida, un poco mas lenta entre slices en unCLB, mas lenta entre CLB.

Intentar obtener el trade-off optimo entre hacer facil la conexion de elementos, sinincurrir en delays excesivos producidos por la interconexion.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 44 / 63

Page 12: Introducci on Clase 14: Hardware programablecs.uns.edu.ar/materias/se/2019/descargas/teoria/clase14...Hardware programable Prof: Lic. Jos e H. Moyano (Departamento de Ciencias e Ingenier

FPGAs orientados a conexionLos FPGAs estan mas orientados a la interconexion que los CPLD:

Son mas flexiblesEs mas complejo disenar sobre ellos (ruteo)

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 45 / 63

Bloques de E/S

Los FPGAs poseen elementos o bloques de E/S.

Para interfacear elementos externos.

Los bloques de E/S proveen registros, senalesde control, multiplexores y senales de clock.

Entradas directas.

Salidas 3-state.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 46 / 63

Bloques de E/S

Tener en cuenta ciertos aspectos al momento deasignar pines de E/S:

Seleccion de salidas Pull-Up vs Pull Down

Estado de los pines no usados (dejarlosflotantes consume energıa)

Modos de operacion simple o diferencial.

Estandares de E/S.

Etc.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 47 / 63

Clock

Los FPGAs proveen recursos paragestionar la senal de clock.

Dispersar la senal de clock de maneracontrolada (minimizar el clock skew).

Clock globales y regionales (clockingdiferencial).

Ruteo de la senal de clock.

Ajuste de fases y frecuencias entre lasdiferentes regiones del dispositivo.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 48 / 63

Page 13: Introducci on Clase 14: Hardware programablecs.uns.edu.ar/materias/se/2019/descargas/teoria/clase14...Hardware programable Prof: Lic. Jos e H. Moyano (Departamento de Ciencias e Ingenier

Clock Trees

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 49 / 63

Repasando o aprendiendo algunos conceptos

Con respecto a una senal de clock

¿Que es jitter?

¿Que es el skew entre dos senales?

¿Que es frequency synthesis?

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 50 / 63

Clock ManagersEs un bloque especial de funcion cableada

Derivar senales de clock (daughter clocks)

Corregir jitter mediante PLL (phase lockedloop) o DLL (delay locked loop).

Sıntesis de frecuencias: Para crear daughterclocks divisores o multiplicadores de la senal deentrada.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 51 / 63

Clock Managers

Desplazamientos de fase (para disenosque lo necesiten)

Deskewing de senal de clock: Skew esel lag entre la senal de entrada y lasenal procesada.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 52 / 63

Page 14: Introducci on Clase 14: Hardware programablecs.uns.edu.ar/materias/se/2019/descargas/teoria/clase14...Hardware programable Prof: Lic. Jos e H. Moyano (Departamento de Ciencias e Ingenier

Unidades multiplicadoras

Los FPGAs incluyen regiones de memoria y unidadesmultiplicadoras entre otras unidades dedicadas:

Util para procesamiento DSP.

Ciertas funciones como sumadores, las unidadesde multiplicacion, o unidades MAC son lentas sise implementan interconectando elementoslogicos. . .

. . . entonces se proveen bloques multiplicadoresprecableados.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 53 / 63

Unidades multiplicadoras

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 54 / 63

Otros elementos en una FPGAAdicionalmente se cuenta con la posibilidad de:

Incluir Intellectual Properties (IPs), i.e. componentes de funcionalidadpre-implementada.

Contar con procesadores dedicados e interconectarlos a los demas elementos deprocesamiento.

Descargar procesadores completos sobre la matriz de elementos logicos del FPGA(soft-core CPUs).

Contar con bloques del FPGA optimizados para el procesamiento digital de senales.

Soporte para estandares de E/S (Ejemplo,transceivers Ethernet Gigabit de alta velocidad).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 55 / 63

Ej: Altera Cyclone II vs Altera Stratix V

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 56 / 63

Page 15: Introducci on Clase 14: Hardware programablecs.uns.edu.ar/materias/se/2019/descargas/teoria/clase14...Hardware programable Prof: Lic. Jos e H. Moyano (Departamento de Ciencias e Ingenier

FPGAs

Todo diseno basado en FPGAs debe mapearse teniendo en cuenta los recursosdisponibles (cantidad de bloques logicos, numero de interconexiones, etc).

La configuracion del FPGA se realiza mediante lenguajes de descripcion dehardware. La especificacion se sintetiza y se descarga en el dispositivo programable.

El diseno de hardware utiliza los mismos procesos y herramientas que el diseno desoftware.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 57 / 63

Esquema tıpico desarrollo para FPGA

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 58 / 63

Procesadores Soft Core

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 59 / 63

Procesadores Soft Core

Siguiendo la misma logica utilizada para implementar circuitos combinacionalessimples, circuitos secuenciales y elementos mas complejos como sumadores,multiplicadores, unidades multiply and accumulate, etc., el hardware programablepermite implementar procesadores completos.

Cuando se necesita un dispositivo adicional con un elevado grado de diversidadfuncional, lo usual es definir un instruction set e implementarlo como un procesadordentro del FPGA.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 60 / 63

Page 16: Introducci on Clase 14: Hardware programablecs.uns.edu.ar/materias/se/2019/descargas/teoria/clase14...Hardware programable Prof: Lic. Jos e H. Moyano (Departamento de Ciencias e Ingenier

Procesadores Soft Core

Los proveedores proveen nucleos de procesadores listos para ser descargados en susFPGAs.

El usuario selecciona las prestaciones del microprocesador e instala dicho hardwareen el FPGA.

Ejemplos:I Microblaze core de Xilinx.I NIOS core de Altera.

La funcionalidad y las prestaciones de cada core se pueden seleccionar en funcionde los recursos de hardware disponibles y de los requerimientos de la aplicacion.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 61 / 63

Resumen

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 62 / 63

Referencias

Barr, M., Massa, A. Programming Embedded Systems: With C and GNUDevelopment Tools, 2nd Edition. O’Reilly Media. 2006. ISBN: 978–0596009830.Capıtulo 13.

Cofer, R., Harding, B. Rapid System Prototyping with FPGAs: Accelerating thedesign process (Embedded Technology). Newnes. 2005. ISBN: 978–0750678667.Capıtulos 1 y 2.

Maxfield, C. FPGAs: World Class Designs. Newnes. 2009. ISBN: 978–1856176217.Capıtulos 1, 2 y 3.

Simon, D. An Embedded Software Primer. Addison-Wesley Professional. 1999.ISBN: 978–0201615692. Capıtulos 6 y 7.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 14: Hardware programable 2019 63 / 63