FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

30
FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K

Transcript of FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

Page 1: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA

ALTERA FLEX 10K

Page 2: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

Generalidades

Es el primer dispositivo industrial PLD embebido.

Incorpora todas las características necesarias para implementar megafunciones de Gate Array.

Provee hasta 250000 compuertas equivalentes, lo cual permite implementar sistemas completos incluyendo buses de 32 bits.

La arquitectura es similar a los gate array. Proveen un bloque de lógica de propósitos específicos para funciones de alta performance.

Page 3: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

Proveen además un array lógico destinado a la implementación de funciones lógicas de propósito general.

El mapa de conexiones se encuentra almacenado en una memoria SRAM.

Puede configurarse con los programadores usuales, desde un microprocesador o desde una memoria EEPROM en el momento del encendido.

Herramienta de desarrollo: las provistas por el mismo fabricante.

Generalidades

Page 4: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

Descripción funcional

Page 5: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

Descripción funcional

El array embebido

Está formado por un conjunto de bloques separados.

Cada bloque provee 2K bits de RAM para Implementar funciones lógicas en tablas de Look Up.

Estos bloques pueden ser utilizados para crear RAM, ROM, ETC.

Contribuye con aprox. 600 compuertas.

Permite implementar funciones de microprocesadores o procesadores digitales de señales.

Pueden utilizarse independientemente o agruparse para funciones complejas.

Page 6: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

El array lógico

Está formado por bloques denominados LABs.

Cada LAB está constituido por Elementos Lógicos.

Los elementos lógicos permiten la Implementación de funciones lógicas de 4 entradas

Se basan en tablas de Look Up.

Permiten la implementación de funciones de mediana complejidad.

Los LE pueden ser combinados para formar funciones complejas.

Los LABs pueden combinarse para implementar funciones complejas.

Page 7: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

Se dispone de un sistema de ruteo general denominado FAST TRACK INTERCONECT.

Los pines disponibles para el usuario pueden programarse como de entrada o salida, registradas o no.

Además…

Page 8: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

EL BLOQUE DE ARRAY EMBEBIDO (EAB)

Es un bloque de RAM flexible que puede ser utilizado para la implementación de megafunciones.

Las funciones lógicas son implementadas grabando el bloque con un patrón de sólo lectura durante la configuración del dispositivo.

De esta forma los resultados son buscados en una tabla y no computados, lográndose una gran velocidad.

La estructura FLEX otorga ventajas respecto de las FPGA basadas en RAM distribuida. Los resultados son más predecibles y los retardos son menores debido a que no es necesario linkear tramos de RAM físicamente distantes en el dispositivo.

Page 9: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

EL BLOQUE DE ARRAY EMBEBIDO (EAB)

El EAB puede ser utilizado para implementar RAM sincrónica.

Ésta puede ser ventajosamente utilizada en sistemas embebidos.

Puede ser configurado de diferentes formas cuando se lo utiliza como memoria.

Page 10: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

EL BLOQUE DE ARRAY EMBEBIDO (EAB)

Page 11: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

Ejemplos de configuración del EAB

Page 12: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

EL BLOQUE DE ARRAY LÓGICO (LAB)

Las salidas de cada LE pueden ser conectadas a la matriz de interconexión global

Cada LAB dispone de una matriz de interconexión local.

Está compuesto por ocho Elementos Lógicos (LE) y provee la estructura de granogrueso de la Flex 10K.

Las salidas de cada LE pueden ser conectadas a la matriz de interconexión local

Page 13: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

EL ELEMENTO LÓGICO (LE)

El LE está basado en una tabla de Look Up de cuatro entradas. Permite la implementación de una función lógica de cuatro entradas.

Dispone de un Flip Flop que puede ser configurado como D, T, JK o SR.Las señales de control del mismo pueden provenir de diferentes fuentes.

Page 14: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

EL ELEMENTO LÓGICO (LE)

Cada LE puede implementar una función combinacional y además se puede implementar una función registrada al mismo tiempo. DIFERENCIA CON 7128.

Las salidas del LE pueden ser conectadas a la matriz de interconexión global o a la local del LAB al que pertenece el LE.

Dispone de lógica para concatenar carry o para cascadear funciones lógicas.

Page 15: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

LA CADENA DE CARRY

Ejemplo para un sumadorde n bits

Page 16: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

LA CADENA PARA CASCADA

Page 17: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

LOS MODOS DE OPERACIÓN DEL ELEMENTO LÓGICO

MODO NORMAL

Se utiliza para la implementación de lógica de propósitos generales.

Permite utilizar las cadenas de cascada para implementar funciones de decodificación de muchas entradas.

La LUT y el registro pueden utilizarse para dos funciones diferentes.

Page 18: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

LOS MODOS DE OPERACIÓN DEL ELEMENTO LÓGICO

MODO ARITMÉTICO

La LUT se parte en dos partes de tres entradas cada una (ocho posiciones).

Una de las partes computa una función de tres entradas y la otra la lógica de carry.

Permite la utilización de las cadenas para cascada.

Page 19: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

LOS MODOS DE OPERACIÓN DEL ELEMENTO LÓGICO

MODO CONTADOR UP-DOWN

Permite disponer de: habilitación de contador, habilitación de clock, control sincrónico para el modo UP o DOWN, y opciones para la carga de datos.

Se utilizan dos tablas de Look Up: una para la generación del dato de cuenta y la otra para la generación de un carry rápido.

Page 20: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

LOS MODOS DE OPERACIÓN DEL ELEMENTO LÓGICO

MODO CONTADOR BORRABLE

Es similar al anterior pero soporta un clear sincrónico en vez de una señal de UP/DOWN.

Page 21: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

EMULACIÓN DEL TERCER ESTADO

Cuando se desea implementar un bus son necesarios buffers triestado para permitir la utilización del mismo por múltiples drivers.

Sin embargo son necesarios relojes sin solapamiento para evitar que dos señales manejen al mismo tiempo el bus y creen conflicto.

IMPLEMENTACIÓN POCO ROBUSTA

FLEX10K implementa buses mediante la utilización de árboles de multiplexores

Page 22: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

LÓGICA DE CONTROL DE CLEAR Y PRESET

Recordando la estructura del Elemento Lógico

La lógica para el control de clear y preset del registro son controladas por las entradas DATA3, LABCTRL1 Y LABCTRL2.El control de clear y preset carga datos asincrónicamente al registro.LABCTRL1 o LABCTRL2 pueden controlar el clear asincrónico.Alternativamente LABCTRL1 puede ser usado para una carga asincrónica. El dato en DATA3 se carga cuando LABCTRL1 es activada.Durante la compilación, la herramienta selecciona el mejor manejo de señales

Page 23: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

CONTROL DE LA LÓGICA DE CLEAR Y PRESET

El flip flop puede ser limpiado por LABCTRL1 o LABCTRL2. La señal de preset se conecta a Vcc para desactivarla

Un preset asincrónico puede ser implementado como un load o un clear asincrónico.

Si DATA3 se pone a Vcc, la activación de LABCTRL1 carga un 1 en el registro.

Si el registro es preseteado por sólo una de las dos señales LABCTRL, DATA3 no es necesaria y puede usarse como entrada para el elemento lógico

Page 24: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

CONTROL DE LA LÓGICA DE CLEAR Y PRESET

Cuando se implementa un clear y preset asincrónicos, LABCTRL1 controla el preset y LABCTRL2 controla el clear.En este modo DATA3 se pone a Vcc de tal forma que activando LABCTRL1 se logra la carga asincrónica de un uno, preseteando el registro. Si se activa LABCTRL2 se limpia el registro.

Cuando se implementa una carga asincrónica junto con un clear las señales se utilizan como sigue:

LABCTRL1 implementa la carga asincrónica de DATA3 mediante el control del clear y el preset.

LABCTRL2 implementa el clear mediante el control del clear del registro solamente. No se conecta al preset.

Page 25: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

CONTROL DE LA LÓGICA DE CLEAR Y PRESET

Se logra mediante la acción de LABCTRL1 que implementa la carga asincrónica de DATA3, controlando el preset y el clear del registro.

Activando LABCTRL 2 se presetea el registro.Activando LABCTRL 1 se carga el registro.DATA3 es requerido para implementar esteesquema.

Page 26: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

MATRIZ DE INTERCONEXIÓN GLOBAL (FAST TRACK)

Conexiones de los LABS a los recursos de interconexión de filas y columnas

En la arquitectura FLEX10K las conexiones entre los elementoslógicos y los pines se hace por una serie de canales horizontales y verticales que atraviesan todo el dispositivo.

El desempeño es más predecible

Una fila dedicada de interconexión le da servicio a cada fila de LABS. Esta fila de Interconexión puede manejar pines o conectarse a otros LABs.

Las columnas de interconexión rutean señales entre filas y también a pines.

Page 27: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

MATRIZ DE INTERCONEXIÓN GLOBAL (FAST TRACK)

Cada columna de LABs se sirve poruna columna de interconexión dedicada.

La columna puede manejar pines uotra fila para la conexión a otros LABs

Una señal desde una columna, ya seaproveniente de un pin o de la salida de un LE debe ser ruteada primero a una fila antes de ser conectadaa un LAB o EAB.

Un canal de fila puede ser alimentadopor uno de tres canales de columna o por la salida de un LE. Estas señales se conectan a dos multiplexores para conectarse a dos canales de filas.

Page 28: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

ELEMENTO DE ENTRADA / SALIDA

Page 29: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

TABLA RESUMEN DE CARACTERÍSTICAS (I)

Page 30: FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.

TABLA RESUMEN DE CARACTERÍSTICAS (II)