Está en la página 1de 7

PROCESADORES DE 32 BITS FPGAS Las FPGAs (Field Programmable Gate Array) son dispositivos lgicos de propsito general programable

por los usuarios, compuesto de bloques lgicos comunicados por conexiones programables. El tamao, estructura, nmero de bloques y la cantidad y conectividad de las conexiones varian en las distintas arquitecturas. Es un circuito integrado que contienen celdas lgicas idnticas (64 hasta 8000.000) que se puede ver como componentes estndar. Las celdas lgicas se interconectan por medio de una matriz de cables y switches programables.

ARQUITECTURA DE LA FPGA SPARTAN III DE XILINX Las FPGA Spartan III de Xilinx estn conformadas por un conjunto de Bloques Lgicos Configurables (CLBs) rodeados por un permetro de Bloques Programables de entrada/salida (IOBs). Estos elementos funcionales estn interconectados por una jerarqua de canales de conexin, la que incluye una red de baja capacitancia para la distribucin de seales de reloj de alta frecuencia; adicionalmente el dispositivo cuenta con 24 bloques de memoria RAM de 2Kbytes de doble puerto, cuyos anchos de buses son configurables, y con 12 bloques de multiplicadores dedicados de 18 X 18 bits. Los cinco elementos funcionales programables que la componen son los siguientes: 1. Bloques de entrada/salida (Input/Output Blocks IOBs): Controlan el flujo de datos entre los pines de entrada/salida y la lgica interna del dispositivo. Soportan flujo bidireccional ms operacin tri-estado y un conjunto de estndares de voltaje e impedancia controlados de manera digital. 2. Bloques Lgicos configurables (Configurable Logic Blocks CLBs): Contienen Look-Up Tables basadas en tecnologa RAM (LUTs) para implementar funciones lgicas y elementos de almacenamiento que pueden ser usados como flip-flops o como latches. 3. Bloques de memoria RAM (Block RAM): Proveen almacenamiento de datos en bloques de 18 Kbits con dos puertos independientes cada uno. 4. Bloques de multiplicacin que aceptan dos nmeros binarios de 18 bit como entrada y entregan uno de 36 bits. 5. Administradores digitales de reloj (Digital Clock Managers DCMs): Estos elementos proveen funciones digitales auto calibradas, las que se encargan de distribuir, retrasar arbitrariamente en pocos grados, desfasar en 90, 180, y 270 grados, dividir y multiplicar las seales de reloj de todo el circuito.
EIE CIERCOM MICROCONTROLADORES AVANZADOS 1

Los elementos descritos estn organizados como se muestra en la Figura 1. Un anillo de IOBs rodea un arreglo regular de CLBs. Atraviesa este arreglo una columna de Bloques de memoria RAM, compuesta por varios bloques de 18 Kbit, cada uno de los cuales est asociado con un multiplicador dedicado. Los DCMs estn colocados en los extremos de dichas columnas.

Figura 1: Arquitectura de la Spartan III.

BLOQUES DE ENTRADA/SALIDA IOB Los bloques de entrada/salida (IOB) suministran una interfaz bidireccional programable entre un pin de entrada/salida y la lgica interna de la FPGA. Un diagrama simplificado de la estructura interna de un IOB aparece en la Figura 2. Hay tres rutas para seales en un IOB: la ruta de salida, la ruta de entrada y la ruta triestado. Cada ruta tiene su propio par de elementos de almacenamiento que pueden actuar tanto como registros o como latches. Las tres rutas principales son como sigue: 1) La ruta de entrada, que lleva datos desde el pad, que est unido al pin del package, a travs de un elemento de retardo opcional programable, directamente a la lnea I. Despus del elemento de retardo hay rutas alternativas a travs de un par de elementos de almacenamiento hacia las lneas IQ1 e IQ2. Las tres salidas del IOB todas conducen a la lgica interna de la FPGA. 2) La ruta de salida, que parte con las lneas O1 y O2, lleva datos desde la lgica interna de la FPGA, a travs de un multiplexor y del driver tri-estado hacia el
EIE CIERCOM MICROCONTROLADORES AVANZADOS 2

pad del IOB. En suma a esta ruta directa, el multiplexor da la opcin de insertar un par de elementos de almacenamiento.

3) La ruta tri-estado determina cuando el driver de salida est en alta impedancia. Las lneas T1 y T2 llevan datos desde la lgica interna a travs de un multiplexor hacia el driver de salida. En suma a esta ruta directa, el multiplexor da la opcin de entregar un par de elementos de almacenamiento.

BLOQUES DE LGICA CONFIGURABLE (CLB) El bloque bsico de la red que compone la FPGA es la slice. Existen dos tipo de slice, stas se diferencian en algunos elementos, pero son muy parecidas. Luego estas slices se organizan en los bloques lgicos elementales, que son los que se describen a continuacin. Los Bloques de Lgica Configurable (CLBs) constituyen el recurso lgico principal para implementar circuitos sncronos o combinacionales. Cada CLB est compuesta de cuatro slices interconectadas entre si, tal como se muestra en la Figura 3. Las cuatro slices que componen un CLB tienen los siguientes elementos en comn: dos generadores de funciones lgicas, dos elementos de almacenamiento, multiplexores de funcin amplia, lgica de carry y compuertas aritmticas, tal como se muestra en la Figura 3. Los dos pares de slices usan estos elementos para entregar funciones lgicas y aritmticas de ROM. Adems de lo anterior, el par de la izquierda soporta dos funciones adicionales: almacenamiento de datos usando RAM distribuida y corrimiento de datos con registros de 16 bits.

EIE CIERCOM MICROCONTROLADORES AVANZADOS

Figura 3: Arreglo de slices en un CLB. La Figura 3 es un diagrama de una slice del par del lado izquierdo, por lo tanto representa un sper conjunto de los elementos y conexiones que se encuentran el las slices. BLOQUES DEDICADOS DE MEMORIA RAM La Spartan III tiene 24 bloques de 18 Kbits de memoria RAM. El ancho del bus de datos versus el de direcciones (relacin de aspecto) de cada bloque es configurable y se puede combinar varios de stos para formar memorias ms anchas o de mayor profundidad. Tal como se muestra en la Figura 4, los bloques de RAM tienen una estructura de doble puerto. Dos puertos idnticos llamados A y B permiten acceso independiente al mismo rango de memoria, que tiene una capacidad mxima de 18.432 bits o 16.384 cuando no se usan las lneas de paridad. Cada puerto tiene su propio set de lneas de control, de datos y de reloj para las operaciones sncronas de lectura y escritura. Estas operaciones tienen lugar de manera totalmente independiente en cada uno de los puertos.

Figura 4: Diagrama de un bloque de RAM dedicado de la Spartan III


EIE CIERCOM MICROCONTROLADORES AVANZADOS 4

TIPOS DE MEMORIAS FPGA Entre sus fabricantes tenemos Xilinx, Actel, Altera, Atmel, Gatefield, Lattice, LucentTechnologies, Motorola, Orbit, QuickLogic, QuickTurn, etc. Las FPGAs tambin se pueden diferenciar por utilizar diferentes tecnologas de memoria: Voltiles: Basadas en RAM. Su programacin se pierde al quitar la alimentacin. Requieren una memoria externa no voltil para configurarlas al arrancar (antes o durante el reset). No Voltiles: Basadas en ROM. Hay de dos tipos, las reprogramables y las no reprogramables. Reprogramables: Basadas en EPROM o flash. stas se pueden borrar y volver a reprogramar aunque con un lmite de unos 10.000 ciclos. No Reprogramables: Basadas en fusibles. Solo se pueden programar una vez, lo que las hace poco recomendables para trabajos en laboratorios.

Por las formas de programacin: Static RAM, Antifusibles y (E)EPROM

Figura 6: Memorias FPGA

FASES DEL DISEO FISICO EN FPGAs


CAPTURA DISEO

EIE CIERCOM MICROCONTROLADORES AVANZADOS

MAPEADO

Agrupar o descomponer los simbolos lgicos en los elementos fsicos que componen la FPGA(CLBs, IOBs, etc.)

EMPLAZAMIENTO

Colocar los CLBs resultantes en los CLBs disponibles de la FPGA, atendiendo a criterios de proximidad para reducir el tiempo de propagacion de las seales en el interior del circulo.

CONEXIONADO

Gestionar los recursos de conexionado locales (vecino a vecino), de larga distancia (buses y matrices de conexion) o globales (relojes, resets, etc.)

CALCULO DE RETARDOS

Estimacin de tiempos de propagacion en funcion de las puertas usadas, su carga y sus interconexiones, para poder realizar simulaciones precisas

Generar la secuencia de bits que configura el dispositivo adecuadamente CONFIGURACION

PROGRAMACION

COMO SE CREAN LOS PROGRAMAS PARA FPGAs Hay software especial para definir las conexiones de los switches y las funciones de las celdas lgicas. El software traduce diagramas esquemticos del usuario o cdigo de lenguaje de descripcin de hardware, y luego valida el diseo traducido. El software permite al usuario influenciar una implementacin y validarla para obtener mayor eficiencia y utilizacin del dispositivo.

Figura 7: Software para FPGAs

COSTOS DE ALGUNAS FPGAs Varan entre 1 y 8000 dlares:


EIE CIERCOM MICROCONTROLADORES AVANZADOS 6

Spartan 2000 compuertas (1 dlar) Spartan 40000 compuertas (20 dlares) Virtex 300000 compuertas (300 dlares) Virtex II Pro 8 millones de compuertas (8000 dlares)

APLICACIONES Generador Arbitrario de Funciones: Desarrollo de un instrumento con la capacidad de generar no slo formas sencillas tales como senoidales, triangulares y cuadrada, sino tambin generar ondas arbitrarias y pulsos con la posibilidad de configurar incluso los tiempos de subida y bajada. Analizador de protocolos SPI e I2C: Desarrollo de un analizador de protocolos SPI e I2C en VHDL que analice y capture el trfico generado por los dispositivos bajo ensayo, posibilitando la deteccin de fallas en el clock y la prdida de datos. La implementacin se realiza sobre una FPGA. Sniffer USB: Diseo e implementacin de un sniffer USB desarrollado en un FPGA, que permite capturar toda la informacin que es transmitida en el bus, filtrarla y enviarla a una PC para ser analizada; como as tambin para detectar los distintos estados del bus diferencial, sin interferir con l. Esto nos permite incluso analizar la distribucin de los paquetes en la trama. Radio definido por software. Sistemas aeroespaciales y de defensa. Sistemas de imgenes para medicina. Sistemas de visin para computadoras, Reconocimiento de voz, Bioinformtica, Emulacin de hardware de computadora. Procesamiento de seales digitales. Mdulos de comunicacin. Sistemas aeronuticos. Formacin en el diseo de sistemas hardware.

EIE CIERCOM MICROCONTROLADORES AVANZADOS

También podría gustarte