53
Tema II Circuitos Integrados Programables; CPLDs y FPGAs Roberto Gutiérrez Mazón 1 The Design Warrior’s Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright © 2004 Mentor Graphics Corp. (www.mentor.com)

CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Tema II Circuitos Integrados Programables;

CPLDs y FPGAs Roberto Gutiérrez Mazón

1

The Design Warrior’s Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright © 2004 Mentor Graphics Corp. (www.mentor.com)

Page 2: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

3.a Full Custom y Semi-Custom. 3.b Mask-Programmable Gate Arrays (MPGA). 3.c PLDs

i. SPLDs (PLD simples) ii. CPLDs (PLD complejos) iii. FPGAs

2

Page 3: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Familias Lógicas

ASIC Lógica Standard

PLDs

SPLDs (PALs)

Arrays Puertas Semi Custom Full Custom

CPLDs FPGAs Standard Cell

3

Page 4: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

¨  Nos surge una pregunta

¿Qué plataforma es la mejor?

¨  Y la respuesta

Depende de los requerimientos de la aplicación

4

Page 5: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

¨ Consideraciones a tener en cuenta para la elección de una familia u otra:

Ø  Retardo Propagación. Ø  Cantidad de Lógica empleada. Ø  Volatibilidad. Ø  Tiempo de Diseño Ø  Tiempo empleado en modificaciones. Ø  Posibilidades de I/O.

5

Page 6: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Full Custom y Semi-Custom

¨  ICs construidos completamente por el diseñador: transistores, conexiones, etc.

¨  Emplea máscaras personales para definir cada una de las capas en el proceso de fabricación. El usuario controla la densidad del chip con lo que se puede conseguir una alta utilización del mismo.

¨  Ventajas: ¤  Máxima flexibilidad en el diseño. ¤  Alto rendimiento: Es posible optimizar las partes criticas del diseño

consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD.

¨  Inconvenientes: ¤  Diseño complejo y altamente especializado (mucho cuidado con los errores). ¤  Tiempo de desarrollo muy alto. ¤  Coste de desarrollo alto.

¨  Esta alternativa es interesante para producciones de elevado volumen, donde se consiguen amortizar los costes de desarrollo y test.

6

Page 7: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

7

Materiales de silicato forman el 90% de la corteza terrestre.

Sílice (Dióxido de Silicio), se extrae sobre todo para su utilización e n e l h o r m i g ó n . Refinado al 95% de pureza es utilizado para la fabr icac ión de l aluminio.

El silicio para uso electrónico requiere el 9 9 . 9 9 9 9 9 9 9 % d e pureza.

Full Custom y Semi-Custom

Page 8: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

8

Page 9: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Full Custom y Semi-Custom 9

Page 10: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

10

Full Custom y Semi-Custom

Page 11: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Full Custom y Semi-Custom (MEMS)

Caja Cambios

11

Page 12: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

¨  Cuando se utiliza una metodología de diseño de tipo Semi-custom, los diseños se realizan a partir de un conjunto de módulos, Standard Cells, ya diseñados y caracterizados, que se utilizaran como elementos mínimos del diseño.

Memoria SRAM 0.25 um

Intel Itanium 2 (Montezito)

12

Full Custom y Semi-Custom

Page 13: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

v  Matrices de puertas ¨  Utiliza patrones predefinidos de

transistores y contactos de transistores. La plantilla con los transistores puede fabricarse antes de tener el diseño. El circuito se personaliza con el proceso de metalización.

¨  Los transistores y sus contactos se agrupan en células y estas células se ordenan en filas separadas por canales fijos.

¨  Características: ¤  Mas fácil que el Full Custom. ¤  Tiempos de desarrollo mas cortos. ¤  Costes de Desarrollo mas bajos. ¤  Solo es necesaria una mascara de

rutado.

Mask-Programmable Gate Arrays (MPGA): Matrices de puertas y mar de puertas

13

Page 14: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

¨  Una clase especial de las matrices de puertas son los Sea-of-Gates. Estos, al contrario que las matrices de puertas no tienen contactos prefabricados, por ello no son necesarios los canales y los transistores pueden llenar todo el chip. El rutado se realiza sobre los transistores no usados.

¨  El diseño de Sea-of-Gates solo necesita máscaras para contactos y rutado.

¨  Inconvenientes: ¤  Utilizan más silicio y tienen peor

velocidad que los diseños Full Custom y Standard Cell.

Mask-Programmable Gate Arrays (MPGA): Matrices de puertas y mar de puertas

14

Page 15: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Array de Puertas Array de Puertas (conectado)

Mask-Programmable Gate Arrays (MPGA): Matrices de puertas y mar de puertas

15

Page 16: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Array de Puertas Rutado Sea of Gate

2.4 Mask-Programmable Gate Arrays (MPGA): Matrices de puertas y mar de puertas

16

Page 17: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Dispositivos Logicos Programables (PLDs).

¨  Son circuitos integrados programables por el usuario y empleados para implementar hardware digital.

¨  Igual que los Arrays de Puertas son elementos prefabricados. Las funciones lógicas se implementan programando eléctricamente las interconexiones y personalizando las células básicas.

¨  Ventajas: ¤  Rápida programación y borrado (excepto OTP). ¤  Tiempo de desarrollo más corto. ¤  Facilidad para realizar cambios. ¤  Costes de desarrollo mas bajos.

¨  Inconvenientes: ¤  Limita la flexibilidad del diseño. ¤  No aprovecha área de silicio. ¤  Más lento.

¨  El sector de los CPLDs y FPGAs representa uno de los segmentos con crecimiento más rápido en la industria de semiconductores.

17

Page 18: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

PLD Simples

¨  Las PLDs sencillas ó SPLDs : ¤  Tienen una estructuras lógicas de planos AND/OR. ¤  Se dispone de un numero de macrocélulas inferior o igual a 16. ¤  La mayoría son PAL, también hay PLA y PLE. ¤  Son dispositivos de baja densidad.

¨  Los diseñadores tienden a dejar los SPLDs que venían usando para trabajar con CPLDs que aportan más velocidad, más densidad, son más fáciles de usar y cuentan con mejores herramientas CAD de diseño electrónico.

PLDs

SPLDs CPLDs

PLAsPROMs PALs GALs etc.

18

Page 19: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

PLD Simples

aFat

Logic 1

y = 0 (N/A)&

Faf

bFbt

Fbf

Pull-up resistors

NOT

NOT

AND

Fuses

Dispositivo sin programar

aFat

Logic 1

y = a & !b&b

Fbf

Pull-up resistors

NOT

NOT

AND

Dispositivo programado

19

Page 20: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

PLD Simples

PLA: Programmable Logic Array ¨  Estos dispositivos fueron los primeros

chips desarrollados específicamente para implementar circuitos lógicos (Philips 1975).

¨  Su estructura dispone de un plano AND programable seguido de un plano OR también programable.

¨  Esta estructura es ideal para implementar funciones lógicas como sumas de productos.

¨  El hecho de tener ambas matrices programables hace que el dispositivo tenga mayor tamaño y menos velocidad.

¨  Existen variantes de la estructura PLA: ¤  Sólo plano AND u OR ¤  Plano AND con realimentación ¤  Plano AND+OR con realimentación ¤  Con registros o registros programables.

20

Page 21: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

PLD Simples

a b c

&

&

&

a !a b !b c !c

a cb& &

a c&

!b !c&

Predefined AND array

Prog

ram

mab

leOR

arra

y

Predefined linkProgrammable link

l l l

w x y

w = (a & c) | (!b & !c)x = (a & b & c) | (!b & !c)y = (a & b & c)

a b c

&

&

&

a !a b !b c !c

N/A

Predefined AND arrayPr

ogra

mm

able

OR

arra

y

Predefined linkProgrammable link

l l l

w x y

N/A

N/A

PLA sin programar PLA programada

21

Page 22: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

22

PAL: Programmable Array Logic

¨  Son los dispositivos SPLDs mas extendidos y variados del mercado. Los primeros dispositivos PAL fueron fabricados por MMI (actual AMD).

¨  Solo el plano AND es programable, por lo que son circuitos con mayor velocidad de operación a menor coste. Hay versiones OTP (Programables una vez) y RP (Reprogramables EEPROM).

¨  Se dispone de series de 20,24 y 28 pines, con versiones combinacionales y secuénciales.

PLD Simples

a b c

l l l

&

&

&

&

&

&

a !a b !b c !c

ProgrammableAND array

Pred

efin

ed O

R a

rray

w x y

Predefined linkProgrammable link

Page 23: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

PLD Simples

PAL Genericas o universales ¨  Son las PAL con registros mas flexibles que las vistas anteriormente puesto que

disponen de una circutería especial conocida con el nombre de Macrocélula.

23

Page 24: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

PLD Simples

PAL 22VP10

24

Page 25: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

25

PLD Simples

¨  GAL: Generic Array Logic (Lattice, 1984) ¨  Son dispositivos borrables eléctricamente

diseñados para sustituir a la mayoría de las PALs de la serie general manteniendo la compatibilidad pin a pin.

¨  Todos los pines de I/O tienen una macrocélula. Los fusibles de las macrocélulas permiten configurar la GAL en tres modos distintos: ¤  En modo registro puede emular a la PAL16R8, PAL

16R6, etc. ¤  En modo complejo puede sustituir a la PAL16L8,

PAL16H8, etc. ¤  En modo simple puede funcionar como PAL10L8,

PAL16L2, PAL14H4, etc. ¨  Reducción del numero de productos del

inventario de una empresa. ¨  Normalmente es el compilador el que selecciona

el modo de funcionamiento elegido en cada diseño.

25

Page 26: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

26

PLD Simples

¨  Todos los pines son bidireccionales. ¨  Versiones RP y OTP dependiendo del

encapsulado. ¨  Flip flops programables como tipo D,

T, JK y RS con control individual de reloj y clear

¨  Los FF pueden puentearse y se resetean automáticamente cuando se alimenta el circuito.

¨  Bit de seguridad programable. ¨  El clear de cada FF puede controlarse

independientemente y de forma asíncrona con un producto.

¨  Como reloj se puede tomar el reloj global del sistema o una señal proveniente de la matriz AND.

Familia EPLD de Altera

26

Page 27: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

PLD Simples - Programación

¨  Lenguajes Programación ¤ PALASM ¤ ABEL ¤ CUPL

Host computer Device programmer

Unprogrammeddevice

Programmeddevice

27

Page 28: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Complex PLDs - CPLDs

¨  Un CPLD extiende el concepto de un PLD a un mayor nivel de integración ya que permite implementar sistemas más eficientes porque utiliza menos espacio, mejoran la confiabilidad en el circuito y reducen costos.

¨  Un CPLD se forma de múltiples Bloques lógicos, cada uno similar a un SPLD. Los Bloques lógicos se comunican entre sí utilizando una Matriz Programable de Interconexiones lo cual hace más eficiente el uso del silicio y conduce a un mejor desempeño.

¨  En los CPLDs el retardo de propagación es predecible debido a la regularidad de su estructura de interconexiones.

¨  Podemos encontrar dispositivos basados en EPROM,E2PROM,SRAM o FLASH.

28

Page 29: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Complex PLDs - CPLDs

Matriz de interconexiones Programables (PIM)

¨  Permite unir los pines de I/O a las entradas de los Bloques lógicos, o las salidas del Bloque lógico a las entradas de otro Bloque lógico o inclusive a las entradas del mismo bloque.

Bloques Lógicos ¨  Un bloque lógico es muy similar a un SPLD, cada uno

de ellos poseen generalmente una matriz de puertas AND, una matriz de puertas OR y una configuración para la distribución de los productos en las diferentes macroceldas del bloque.

¨  El tamaño del bloque lógico es una medida de la capacidad del CPLD, ya que de esto depende el tamaño de la función booleana que pueda ser implementada dentro del bloque.

¨  Los bloques lógicos usualmente tienen de cuatro a veinte macroceldas.

29

Page 30: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Complex PLDs - CPLDs

Macroceldas ¨  Las macroceldas son similares a las

de un SPLD. Estas también están provistas con registros, control de polaridad y buffers para utilizar salidas Triestado.

Celdas I/O ¨  La función de una celda de entrada/

salida es permitir el paso de la señal hacia dentro o hacia el exterior del dispositivo.

¨  Cada celda I/O dispone de un registro con estada de habilitación de reloj. Puede ser empleado como registro de entrada o salida.

30

Page 31: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

31

FPGAs - Field Programmable Gate Array

¨  Combina la Arquitectura de los Gate-Arrays con la programabilidad de los PLDs.

¨  Están constituidas por tres elementos configurables: Bloques Lógicos (CLBs) que se comunican mediante Recursos de Interconexión entre si y con el exterior a través de los Bloques de I/O (IOBs)

¨  Gran parte del área ocupada en el dado contiene los recursos que permiten el rutado programable.

¨  Ventajas: ¤  Alta densidad de puertas. ¤  Ciclo de diseño corto. ¤  Bajo coste.

Programmableinterconnect

Programmablelogic blocks

31

Page 32: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

FPGAs - Field Programmable Gate Array

¨  Bloques lógicos Las FPGAs son dispositivos basados en el concepto de Bloques Lógicos Programables, los cuales están compuestos por una LUT de n-entradas, un F.F. , multiplexores y pequeños elementos adicionales. El diseñador configurara el comportamiento de cada Bloque para realizar diferentes funciones.

|

&ab

cy

y = (a & b) | !c

Required function Truth table

1011101

0000010100111001011101111

y

a b c y00001111

00110011

01010101

10111011

SRAM cells

Programmed LUT

8:1

Mul

tiple

xer

a b c

3-inputLUT

abc

flip-flop

clock

muxy

qd

Bloque Lógico

32

Page 33: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

FPGAs - Field Programmable Gate Array

¨  Criterios de clasificación: ¤  Técnica de Programación, tenemos,

FPGAs configurables por: n  SRAM, las mas extendidas. Se

caracterizan por ser Volátiles y Reconfigurables.

n  Antifusible. Son No-Volátiles y No-Reprogramables.

n  Flash o EEPROM, de reciente aparición, las ProASIC de Actel y las ispXPGA de Lattice, emplean estas memorias como fuente única o alternativa de configuración, respectivamente. Son No-Volátiles y Reprogramables.

33

Page 34: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

FPGAs - Field Programmable Gate Array

State-of-the-art

Feature

Technology node

SRAM Antifuse E2PROM /FLASH

One or moregenerations behind

One or moregenerations behind

FastReprogramming

speed (inc.erasing)

---- 3x slowerthan SRAM

YesVolatile (must

be programmedon power-up)

No No(but can be if required)

MediumPowerconsumption Low Medium

Acceptable(especially when usingbitstream encryption)

IP Security Very Good Very Good

Large(six transistors)

Size ofconfiguration cell Very small Medium-small

(two transistors)

NoRad Hard Yes Not really

NoInstant-on Yes Yes

YesRequires externalconfiguration file No No

Yes(very good)

Good forprototyping No Yes

(reasonable)

Yes(in system)Reprogrammable No Yes (in-system

or offline)

34

The Design Warrior’s Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright © 2004 Mentor Graphics Corp. (www.mentor.com)

Page 35: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Spartan III 35

Page 36: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Spartan III - Estructura 36

Page 37: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Spartan III – Bloque Lógico

16-bit SRA16x1 RAM4-input

LUT

LUT MUX REG

Bloque Lógico (LC)

16-bit SRA16x1 RAM4-input

LUT

LUT MUX REG

Bloque Lógico (LC)

Slice

37

Page 38: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Spartan III – Bloque Lógico

¨  Bloque Lógico

16-bit SRA

16 x 1 RAM

4-input LUT

16-bit SRA

flip-flop

clock

muxy

qe

abcd

16x1 RAM4-input

LUT

clock enable

set/reset

Diagrama Bloque Lógico Simplificado Distintos modos de funcionamiento LUT

38

Page 39: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Spartan III – Bloque Lógico

LUT4 configurado para implementar lógica combinacional.

LUT4 configurado para implementar un registro de desplazamiento direccionable (SRA).

39

Page 40: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Spartan III - Bloque I/O

¨  Bloque I/O

Bloque retardo dinámico

Registro DDR

40

Page 41: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Spartan III - Bloque I/O

¨  Standard I/O soportados

41

Page 42: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Spartan III – Bloque DSP48

Spartan 3A DSP

------------

Resto dispositivos únicamente multiplicador

42

x

+

x

+

A[n:0]

B[n:0] Y[(2n - 1):0]

Multiplicador

Sumador

Acumulador

MAC

Unidad MAC utilizada para DSP

Page 43: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Spartan III – Gestión Reloj

¨  Gestión Reloj: ¤  Se han diseñado arboles de

distribución de reloj que nos permiten que el reloj llegue a todos los F.F. de la FPGA en el mismo instante.

¤  Se han añadido Bloques de Gestión de Reloj (DCM), el cual nos permite eliminar jitter, síntesis de frecuencias, desplazamientos de fase, correcciones automáticas de skew, etc.

43

Page 44: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

Clock signal (jitter)

clock pad

ClockManager

etc.

1.0 x original clk

2.0 x original clk

.5 x original clk

0o Phase shifted

90o Phase shifted

180o Phase shifted

270o Phase shifted

Main (mother) clock

Untreated daughter clock

De-skewed daughter clock

1 2 3 4

1 2 3 4

1 2 3

Clock signal fromoutside world

Special clockpin and pad

De-skewed daughterclocks used to driveinternal clock trees

or output pins

Daughter clock (monitoreddownstream of the clock manager)

fed back to special input

Spartan III – Gestión Reloj 44

Page 45: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

45

Spartan III – Block RAM

Modos Configuración BLOCK RAM

45

Page 46: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

¨  Proceso por el cual definimos la funcionalidad de la FPGA (SRAM) a partir de un fichero llamado configuration bitstream.

¨  Algunos dispositivos permiten la compresión, detección de errores (CRC) y encriptación (AES 256 bits) del archivo de configuración. Además se incluyen numerosas medidas de protección (autentificación, Identificador único (device DNA)).

¨  Las FPGAs pueden trabajar en diferentes modos de configuración, dependiendo de las necesidades del diseñador. Además permiten reconfiguraciones parciales, múltiples ficheros de configuración en una única memoria ROM, etc.

46

FPGAs - Programación

Configuration data in

Configuration data out

= I/O pin/pad

= SRAM cell

Celdas SRAM de configuración.

Page 47: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

47

Modos Configuración Virtex 5 Modos Configuración Spartan 3

FPGAs - Programación

Secuencias proceso Configuración.

Page 48: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

48

Modo Maestro Serie utilizando Platform FLASH.

Modo Serie Daisy-Chain multi-FPGAs.

Modo Ganged Serie multi-FPGAs.

FPGAs - Programación

¨  Modo Maestro Serie

Page 49: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

¨  Modo Esclavo Serie 49

FPGAs - Programación

Page 50: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

50

¨  Modo Maestro SPI ¤  Modo por el cual podemos

utilizar memorias SPI Flash PROM.

¤  La FPGA puede tener acceso una vez configurada a la memoria FLASH para leer/escribir datos.

¤  Puede trabajar con distintos fabricantes de memorias FLASH (VS[2:0]). Actualmente solo funciona con memorias de STMicro y Atmel (Impact).

Modo Master SPI

Acceso Memoria FLASH sistema Embebido FPGA

FPGAs - Programación

Page 51: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

¨  Modo Maestro SPI interno ¤  Solo únicamente disponible en la

familia de dispositivos Spartan 3AN (disponen de hasta 16 Mbits de memoria FLASH interna).

FPGAs - Programación 51

Page 52: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

¨  JTAG ¤  Estándar basado en la especificación

IEEE 1149.1 para implementar técnicas de boundary scan para testear IC y PCBs.

¤  Dispone de 4 o 5 pines: n  TDI: Pin entrada serie para todas las

instrucciones y datos. n  TDO: Pin de salida para todas las

instrucciones y datos. n  TMS: Pin para selección del modo de

funcionamiento del controlador JTAG. n  TCK : Pin entrada de reloj JTAG n  TRST: Pin Reset (opcional).

¤  Podemos encadenar múltiples dispositivos.

¤  Nos permite acceder a los nodos internos de la FPGA además de poder testear el dispositivo.

FPGAs - Programación

Modo JTAG

52

Page 53: CPLDs y FPGAs - UMHumh1759.edu.umh.es/wp-content/uploads/sites/783/2013/02/...consiguiendo un diseño más pequeño y más rápido que el obtenido con herramientas CAD. ! Inconvenientes:

FPGAs - Programación

Controlador JTAG Lógica Boundary-Scan incluida en los I/O.

53