UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf ·...

61
SISTEMAS DIGITALES 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

Transcript of UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf ·...

Page 1: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 2: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 3: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 4: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 5: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 6: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 7: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

PAR DE TRANSISTORES

7

Page 8: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 9: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 10: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 11: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 12: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 13: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 14: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

CELDAS BASADAS EN MUX

• Por ejemplo, la función f = ab + c’ se puede implementar como sigue:

14

Page 15: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 16: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 17: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 18: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

18

Page 19: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

19

Page 20: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

20

Page 21: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

ALTERA FLEX 10KE

21

Page 22: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 23: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 24: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

GRANULARIDAD Y NÚMERO DE BLOQUES LÓGICOS

24

Page 25: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 26: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 27: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

NIVELES LÓGICOS Y RETARDOS DE PROPAGACIÓN

27

Page 28: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 29: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 30: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 31: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

ARQUITECTURAS DE RUTEO

• Los recursos de ruteo conectan a las celdas entre sí o con los bloques de entrada y salida.

31

Page 32: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 33: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 34: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

• 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

Page 35: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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.

Page 36: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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.

Page 37: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 38: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

ARQUITECTURA DE RUTEO EN EL XC4000

38

Page 39: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

ARQUITECTURA DE RUTEO EN EL XC4000

39

Page 40: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

ARQUITECTURA DE RUTEO EN EL XC4000

40

Page 41: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

ARQUITECTURA DE RUTEO EN EL XC4000

41

Page 42: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

ARQUITECTURA DE RUTEO EN EL

XC4000

42

Page 43: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

ARQUITECTURA DE RUTEO EN

EL XC5000

43

Page 44: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

ARQUITECTURA DE RUTEO EN EL XC5000

44

Page 45: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

ARQUITECTURA DE RUTEO EN

EL XC5000

45

Page 46: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

ARQUITECTURA DE RUTEO EN

EL XC5000

46

Page 47: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

ARQUITECTURA DE RUTEO ACT

47

La arquitectura de ruteo es asimétrica, hay más pistas horizontales que verticales.

Page 48: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 49: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 50: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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.

Page 51: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 52: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 53: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 54: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

CONSIDERACIONES EN LAS ARQUITECTURAS DE RUTEO

54

Page 55: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 56: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

TOP-5 FPGA COMPANIES

By Jeff Johnson, FPGA Developerwww.fpgadeveloper.com

2016-12-2756

Page 57: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 58: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 59: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 60: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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

Page 61: UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Instituto de ...fsantiag/Sist_Dig/03_CPLDs_FPGAs.pdf · •La función f = abd’ + abc + acd’ se puede implementar usando únicamente compuertas

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