universidad tecnolÓgica de la mixteca instituto de ...fsantiag/sist_dig/03_cplds_fpgas.pdf ·...
TRANSCRIPT
S I S T E M A S D I G I T A L E S
3. CPLD’S Y FPGA’S
UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA
Instituto de Electrónica y Mecatrónica
M. C. Felipe Santiago Espinosa
Octubre / 2018
1
INTRODUCCIÓN
• Aplicaciones de los CPLDs y FPGAs:• Pegamento lógico.• Conversión de diseños basados en lógica discreta o múltiples SPLDs.• Sistemas completos con poco volumen de producción.
• Con los CPLDs es posible realizar diseños relativamente complejos, como:• Controladores de gráficos.• UARTs• Controladores de LAN• Control de caché, etc.
• Al emplear CPLD's, los fabricantes pueden manufacturar un número elevado de tarjetas, con la flexibilidad de actualizar el firmware si llega a haber cambios en algún protocolo.
2
INTRODUCCIÓN
• Las aplicaciones de los FPGAs en el área de procesamiento de señales incluyen:• Controladores de dispositivos• Sistemas de codificación y filtrado
• Los fabricantes de microprocesadores uti l izan FPGAs para la evaluación de prototipos, se evalúa la ejecución de instrucciones antes de fabricar el diseño final en un ASIC.
• Otras áreas de interés son el procesamiento de imágenes y visión por computadora. En el FPGA se implementan arquitecturas específicas que pueden paralelizarse para acelerar su rendimiento.
• En IA se han empleado FPGA's para implementar redes neuronalos o sistemas difusos.
3
ARQUITECTURA DE LAS CELDAS LÓGICAS
• Tanto CPLD’s como FPGA’s basan su organización en arreglos o matrices de celdas lógicas.
• En las celdas se implementa la lógica combinacional o secuencial.
• Una celda lógica puede ser tan simple como un transistor o tan compleja como un microprocesador.
• Las celdas lógicas de dispositivos comerciales están basadas en uno o mas de los siguientes elementos: • Un par de Transistores. • Arreglos de compuertas básicas, como NANDs y XORs de dos
entradas. • Multiplexores. • Tablas de búsqueda (LUT’s, Look-up tables). • Estructuras AND-OR con muchas entradas.
4
GRANULARIDAD DE UNA CELDA LÓGICA
Una celda lógica puede tener:
• Granularidad fina: La celda contiene pocos transistores, por lo que puede implementar solamente operaciones lógicas simples.
• Granularidad gruesa: La celda contiene un número grande de transistores, suficiente para implementar funciones lógicas complejas.
5
PAR DE TRANSISTORES
• Los FPGAs de Crosspoint Solutions utilizan un par de transistores como una celda lógica.
• Dado que los t rans i s tores están conectados en renglones, las compuertas se deben aislar apagando los transistores que las limitan.
6
PAR DE TRANSISTORES
7
LA CELDA PLESSEY
• Plessey ofrece un FPGA cuya celda básica consiste de una compuerta NAND de dos entradas
• Si el latch no es necesario, la configuración lo deja transparente.
8
LA CELDA PLESSEY
• Para la función f = ab + c’ se requieren dos celdas Plessey:
U1
AND_2
U2
OR_2U3
NOT
A
B
C
f
U4
NAND_2
U5
NAND_2
A
B
Cf
9
OTRAS CELDAS DE GRANO FINO
• A l g o t r o n i x u t i l i z a u n a c e l d a b a s a d a e n multiplexores, en donde se puede realizar cualquier función de dos entradas.
• • Concurrent Logic utiliza una celda que contiene
una compuerta AND de dos entradas y una compuerta XOR de dos entradas.
• Toshiba ofrece un FPGA donde la celda se basa en compuertas NAND de dos entradas.
10
CELDAS DE GRANO FINO
• La principal ventaja en las celdas de grano fino es que éstas son completamente utilizadas. Es más fácil usar eficientemente celdas lógicas pequeñas.
• La principal desventaja es que los FPGAs requieren un número grande de segmentos de alambre e interruptores programables. • Los recursos de ruteo tienen un costo en área y afectan el
tiempo de respuesta del dispositivo.
11
CELDAS BASADAS EN MUX
• La familia Act-1 de Actel usa una celda de 8 entradas y una salida que contiene tres multiplexores de 2 a 1 y una compuerta OR.
• En la celda se pueden implementar:• Todas las funciones de dos entradas.• Todas las funciones de tres entradas con una entrada positiva.• Muchas funciones de cuatro entradas.• Algunas de 5 a 8 entradas.
12
CELDAS BASADAS EN MUX
• En total se pueden implementar 702 funciones diferentes, en la celda Act-1.
• La función de la celda es:• f = (s3 + s4)’(s1’w + s1x) + (s3 + s4)(s2’y + s2z)
•
13
CELDAS BASADAS EN MUX
• Por ejemplo, la función f = ab + c’ se puede implementar como sigue:
14
CELDAS BASADAS EN MUX
f = (s3 + s4)’(s1’w + s1x) + (s3 + s4)(s2’y + s2z)
= (c + 0)’(0’ . 1 + 0 . 1) + (c + 0)(b’ . 0 + b . a)
= c’(1 + 0) + c(0 + ba)
= c’ + cab = c’ + c’ ab + cab
= c’ + (c’ + c) ab
= c’ + 1(ab)
= ab + c’
15
CELDAS BASADAS EN MUX
La celda lógica de los FPGAs de Quick Logic es similar a la de Actel en que usa tres multiplexores de 2 a 1, pero organizados como un mux de 4 a 1.
16
CELDAS BASADAS EN TABLAS
• Las celdas de Xilinx están basadas en el uso de SRAM como tablas de búsqueda (LUT, look-up table).
• Una función lógica de K-entradas está almacenada en una SRAM de 2K x 1.
Las líneas de dirección son las entradas y el dato almacenado es el valor de la función.
17
18
19
20
ALTERA FLEX 10KE
21
GRANULARIDAD Y DENSIDAD
• La función f = abd + bcd’ + a’b’c’ se puede implemen-tar con LUTs de diferentes dimensiones:
2-LUT3-LUT
4-LUT22
GRANULARIDAD Y BITS DE CONFIGURACIÓN
Dado que cada K-LUT requiere de 2K bits de configuración,
• La implementación en 2-LUT requiere 22 x 7 = 28 bits. • En 3-LUT se necesitan 23 x 3 = 24 bits. • En 4-LUT se requieren sólo 24 x 1 = 16 bits.
• Considerando los bits de configuración como una medida de área (costo en área), la implementa-ción en 4-LUT ocupa un área lógica mínima.
23
GRANULARIDAD Y NÚMERO DE BLOQUES LÓGICOS
24
GRANULARIDAD Y RETARDOS DE PROPAGACIÓN
• La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas NAND de dos entradas, como sigue:
La ruta más larga requiere 4 niveles lógicos.
Asumiendo un proceso CMOS a 1.2, una NAND de 2-entradas tiene un retardo de 0.7ns.
La ruta crítica tiene un retardo de 4 x 0.7 = 2.8ns
25
GRANULARIDAD Y RETARDOS DE PROPAGACIÓN
• La misma función f = abd’ + abc + acd’ también se puede implementar usando 3-LUTs como sigue:
• La ruta más larga requiere 2 niveles lógicos.
• Asumiendo un proceso CMOS a 1 .2 , un a 3 - L U T tiene un retardo de 1.4ns.
• La ruta cr í t ica t iene un retardo de 2 x 1.4 = 2.8ns
• Es el mismo retardo que con compuertas NAND.
26
NIVELES LÓGICOS Y RETARDOS DE PROPAGACIÓN
27
LÓGICA ALEATORIA EN FPGAS
LUT 1 LUT 2
LUT 3
LUT 4
Se considera el mapeo de un circuito cualquiera en LUT’s de 3 entradas.
28
LÓGICA ALEATORIA EN FPGAS
Al incrementar el tamaño de las LUTs (incrementando el número de entradas), el número de LUTs se reduce.Las LUTs son muy convenientes para la realización de lógica aleatoria.
LUT 1
LUT 2
Y en LUT’s de 5 entradas.
29
OPERACIONES ARITMÉTICAS EN FPGAS
Se considera el mapeo de un sumador completo de 2 bits en LUTs de 3 entradas.
Son necesarias 4 LUTs.
Con LUTs de más entradas no se reduce el número de LUTs requeridas.
Sin un cambio en el número de salidas, se desperdician recursos al emplear LUTs con más entradas.
LUT 1
LUT 2
LUT 3
LUT 4
30
ARQUITECTURAS DE RUTEO
• Los recursos de ruteo conectan a las celdas entre sí o con los bloques de entrada y salida.
31
CRITERIOS DE RUTEO
Para establecer los recursos de ruteo en un CPLD o FPGA se deben considerar dos aspectos importantes:
• Enrutamiento: La capacidad del dispositivo para acomodar todas las conexiones requeridas por una aplicación, considerando el hecho de que los segmentos de alambre son colocados durante la fabricación del circuito.
• Velocidad: Se debe minimizar el retardo de propagación debido a las conexiones programables entre segmentos de alambre. Este es un factor interno del rendimiento del CPLD o FPGA.
32
ARQUITECTURA GENERAL DE RUTEO
• Un segmento de alambre (wires egment) típicamente cuenta con un interruptor p r o g r a m a b l e e n c a d a extremo.
• Una pista (track) es una secuencia de uno o más segmentos de alambre en una línea.
• Un canal de ruteo es un grupo de pistas paralelas.
33
• Un bloque de conexión (connection block) enlaza las entradas y salidas de una celda lógica con los s e g m e n t o s d e a l a m b r e cercanos.
• Un bloque de interruptores (switch block) proporciona c o n e c t i v i d a d e n t r e s e g m e n t o s d e a l a m b r e horizontales y verticales, por sus cuatro lados.
34
ARQUITECTURA DE RUTEO EN EL XC3000
35
Por los cuatro lados del L B h a y b l o q u e s d e conexión que enlazan los 11 pines del bloque con l o s s e g m e n t o s d e alambre.
Cada salida del LB se conecta a dos o tres de l a s c i nc o p i s t a s q u e pasan frente a él.
Las entradas del LB se conectan por medio de m u l t i p l e x o r e s y l a s salidas con transistores d e p a s o . E l u s o d e MUXs reduce el número d e c e l d a s S R A M programables.
BLOQUE DE INTERRUPTORES EN EL XC3000
36
Un segmento de alambre que funciona como entrada se puede conectar con cinco o seis salidas de las 15 posibles, en los lados opuestos del bloque.
ARQUITECTURA DE RUTEO EN EL XC3000
Hay cuatro tipos de segmentos de alambres:
• Interconexiones de propósito general: Segmentos de alambre que se conectan por medio de los bloques de interruptores.
• Interconexión directa: Segmentos de alambre que conectan cada salida de un bloque lógico directamente con los bloques vecinos.
• Líneas largas: Líneas que se expanden a lo largo y ancho del chip, proporcionando conexiones con retardo uniforme.
• Línea de reloj: Una línea que se expande en el chip completo.
37
ARQUITECTURA DE RUTEO EN EL XC4000
38
ARQUITECTURA DE RUTEO EN EL XC4000
39
ARQUITECTURA DE RUTEO EN EL XC4000
40
ARQUITECTURA DE RUTEO EN EL XC4000
41
ARQUITECTURA DE RUTEO EN EL
XC4000
42
ARQUITECTURA DE RUTEO EN
EL XC5000
43
ARQUITECTURA DE RUTEO EN EL XC5000
44
ARQUITECTURA DE RUTEO EN
EL XC5000
45
ARQUITECTURA DE RUTEO EN
EL XC5000
46
ARQUITECTURA DE RUTEO ACT
47
La arquitectura de ruteo es asimétrica, hay más pistas horizontales que verticales.
ARQUITECTURA DE RUTEO ACT
• Cada entrada de un LB se puede conectar con todas las pistas del canal adyacente.
• Una salida se extiende a través de dos canales, por encima y debajo de su bloque lógico. Puede conectar a cada pista, en los cuatro canales que cruza.
• Todas las pistas verticales pueden hacer una conexión con cada pista horizontal incidente.
48
ARQUITECTURA DE RUTEO ACT
• Las pistas horizontales se particionan en segmentos de diferentes longitudes.
• Las longitudes van desde dos LB's hasta recorrer el dispositivo completo.
• También hay autopistas verticales (freeways) que viajan por el chip completo. Hay una por cada bloque lógico.
• Esta distribución ayuda a encontrar la ruta adecuada entre LB, es decir, con pocos interruptores programables en serie.
49
ARQUITECTURA DE RUTEO MAX
50
• El MAX5000 de Altera tiene dos niveles jerárquicos: Ruteo local y ruteo global.
• Un Arreglo de Interconexiones Programable (PIA, Programmable Interconnect Array) conecta las salidas de cada LAB con las entradas del mismo u otros LABs.
• Como un ejemplo, el EPM 5128 tiene 180 líneas de interconexión, actuando como un bloque grande de interruptores.
• Hay una conectividad completa entre las salidas y las entradas de los LAB dentro del PIA.
• El retardo a través del PIA es idéntico sin importar cual pista es usada, dado que todas las pistas tienen la misma carga.
51
• Un LAB (Logic Array Block) es un conjunto de 16 a 32 bloques lógicos.
• Cualquier pin de un bloque lógico se puede conectar a cualquier pista de interconexión local.
• El bus de interconexión local es un canal vertical que contiene:
• Conexiones de las salidas de los bloques lógicos.
• Conexiones para la expansión de lógica.
• Conexiones de las salidas de los bloques lógicos de otros LABs, a través de la interconexión global.
• Conexiones con los bloques I/O del chip.
ARQUITECTURA DE RUTEO MAX
CONSIDERACIONES EN LAS ARQUITECTURAS DE RUTEO
• En general, sin importar el dispositivo, se observan líneas de diferentes tamaños.
• El uso de un número grande de interruptores programables faci l i ta e l a lcance de un ruteo completo, pero es tos interruptores consumen área, y por lo tanto, es deseable minimizar su número.
• Se debe buscar un balance para cumplir con los criterios de ruteo: Enrutamiento al 100 % y alta velocidad.
52
CONSIDERACIONES EN LAS ARQUITECTURAS DE RUTEO
Dos parámetros para caracterizar una arquitectura de ruteo:
• Fc = Flexibilidad en el Bloque de Conexiones. Número de pistas en el canal adyacente al cual cada pin del bloque lógico puede ser conectado.
• Fs = Flexibilidad en el Bloque de Interruptores. Número de pistas a los cuales cada pista entrante al bloque puede ser conectado.
53
CONSIDERACIONES EN LAS ARQUITECTURAS DE RUTEO
54
CONSIDERACIONES EN LAS ARQUITECTURAS DE RUTEO
• Los bloques de conexión requieren flexibilidad, Fc debe ser mayor que cinco para que el ruteo del 100 % del dispositivo sea posible.
• Los bloques de interruptores requieren poca flexibilidad para alcanzar el 100 % del ruteo completo. Con Fs = 3 fácilmente se podrá completar el ruteo.
55
TOP-5 FPGA COMPANIES
By Jeff Johnson, FPGA Developerwww.fpgadeveloper.com
2016-12-2756
XILINX
• www.xilinx.com• Market share: 49%• The leader in FPGAs for many
years, Xilinx has a good range of FPGAs in terms of cost and performance.
57
ALTERA
• www.altera.com• Market share: 40% • The Altera FPGAs cover
the low, mid and upper end markets with the C y c l o n e , A r r i a a n d Stratix series respective-ly.
58
LATTICE SEMICONDUCTOR
• www.latticesemi.com• Market share: 6%• L a t t i c e S e m i c o n d u c t o r
tackles the low-power and low-cost market for FPGAs.
• They market their products as “high-value FPGAs” of the i n d u s t r y , p r o v i d i n g b e s t performance per cost.
• With the explosion in portable electronics, this has been a good strategy for Lattice.
59
MICROSEMI
• www.microsemi.com• Market share: 4%• Microsemi specializes in low-
p o w e r a n d m i x e d - s i g n a l FPGAs.
• Here are some of Microsemi’s claims: 1. The industry’s lowest power
FPGA: the IGLOO.2. The industry’s only FPGA with
hard 32-bit ARM Cortex-M3 m i c r o c o n t r o l l e r : t h e SmartFusion.
60
QUICKLOGIC
• www.quicklogic.com• Market share: 1%• QuickLogic’s focus is on
t h e m o b i l e d e v i c e s industry meaning ultra-low power, small form factor p a c k a g i n g , a n d h i g h design security.
• Rather than selling “FPGA”, they pitch “customizable semi-conductors”.
61