Vous êtes sur la page 1sur 9

Direccin General de Educacin Superior Tecnolgica

Instituto Tecnolgico de Mazatln


Departamento de Ingeniera Elctrica y Electrnica

Ingeniera Elctrica
IELC-2010-211

Diseo Digital Con VHDL

ETF-1015

M.I. Jos Manuel Pastrano Balderas


Docente

Tarea 1
Caractersticas de los FPGA

Bernal Morales Jess David


Nombre del alumno

MAZATLN, SINALOA, SEPTIEMBRE 2014


Introduccin

En la electrnica digital existen muchas formas de obtener el mismo resultado.


Empezamos siempre por aprender el sistema numrico de base dos o binario y
luego saltamos a ver los tipos de compuertas lgicas y comportamiento y
funcionamiento para comenzar a hacer circuitos usando lgica combinacional.

Hacemos uso de las distintas formas existentes para controlar el funcionamiento de


nuestro arreglo de compuertas, hablamos de herramientas como el lgebra de
booleana, tablas de verdad, mapas de Karnaugh.

El siguiente paso sera trabajar con lgica secuencial y es aqu cuando pasamos de
trabajar slo con compuertas lgicas a comenzar a usar flip-flops para hacer
contadores ascendentes, descendentes y hacerlos funcionar a nuestro gusto.

Si seguimos subiendo en la escalera nos damos cuenta de que existen muchas ms


cosas que nos faltan por aprender y usar, y es aqu cuando conocemos los PLD y
sus distintas variedades. Es aqu cuando la cosa se pone ms interesante y en lugar
de pasar unas cuantas horas haciendo ecuaciones y otras cuantas ms armando un
circuito inmenso con una cantidad igual de grande de alambres que cruzan de un
lado a otro pasamos a sentarnos unas cuantas horas (o minutos dependiendo de la
habilidad) a describir el comportamiento de un circuito en una serie de lneas de
cdigo que posteriormente se insertar en una de las variaciones de las PLD y
luego armar un circuito mucho ms pequeo y que se comporte exactamente igual
como el otro que dijimos antes.

Este es el punto en el que podemos decir que estamos listos para dar los primeros
pasos para trabajar en el siguiente nivel de la escalera, las FPGA.
Qu es una FPGA?

Las FPGA son dispositivos semiconductores programables que estn basados en


una matriz de Bloques Logicos Configurables (CLB) que estn conectados por
interconexiones programables. Opuesto a las ASIC (Circuitos Integrados para
Aplicaciones Especficas), construidos especficamente para lo que fueron
diseados, las FPGA pueden programarse para funcionar tal y como se requiera.
Aunque existen FPGAs que pueden programarse slo una vez, la tendencia es
utilizar aquellas que pueden reprogramarse en la medida en que el diseo cambie.

Las FPGA permiten a los diseadores cambiar estos diseos an en las ltimas
partes del periodo de diseo, incluso si el producto final ya ha sido manufacturado y
puesto en marcha.

La siguiente figura es un diagrama a bloques de la estructura bsica de una FPGA.

Caractersticas comunes de las FPGA

Las FPGA han evolucionado ms all de las capacidades presentes en sus


predecesores y han incorporado bloques slidos tipo ASIC comnmente usados
como RAM, reloj y DSP (procesador digital de seales), por ejemplo. Los
componentes bsicos en una FPGA son los siguientes:

Bloques Lgicos Configurables (CLB): Son las unidades lgicas bsicas en


las FPGA. Los nmeros exactos y sus caractersticas varan en cada
dispositivo pero cada CLB consiste en una matriz configurable de switches
con 4 o 6 inputs, algunos circuitos de seleccin (MUX), y flip-flops. La matriz
de interruptores es altamente flexible y puede ser configurada para manejar
lgica combinacional, registradores de cambio o RAM. Como en cada caso,
se puede encontrar ms informacin en las hojas tcnicas de cada
dispositivo.

Interconexiones: Mientras que los CLB proveen la capacidad lgica, las


interconexiones envan la seal entre los CLB y los inputs y outputs.
SelectIO (IOBs): Actualmente las FPGA tienen soporte para docenas de
estndares I/O por lo que proporcionan la interfase ideal en un sistema. Los
inputs y outputs en las FPGA estn agrupados y cada grupo es independiente
y capaz de soportar distintos estndares I/O.
Memoria: Cuentan con un Bloque de RAM Embebida que permite tener
memoria dentro de un chip para nuestros diseos. Algunas cuentan con hasta
10Mbits de memoria repartida en bloques de 36Kbits.
Gestin Completa de Reloj: Esta caracterstica est presente en la mayora
de los FPGA.
Aplicaciones de las FPGA

Debido a su naturaleza programable, las FPGA son ideales para trabajar en distintos
tipos de mercado. A continuacin se muestran algunos mbitos en los que pueden
ser usadas:

Industria automotriz Medicina Audio


Transmisin de Comunicaciones Seguridad
radio/TV inalmbricas Video y
Electrodomsticos Comunicaciones produccin digital
Computacin de alto almbricas de imagenes
rendimiento
Considera que con un FPGA eres capaz, en teora, de reinventar todo tipo de
dispositivos de cmputo. Incluso hacerlos trabajar en un mismo espacio y de forma
paralela.

Por supuesto, en la prctica la creacin est limitada por las capacidades de cada
tarjeta FPGA, y tambin por la plataforma. Para trabajar con un FPGA debes contar
con un software especial creado por el fabricante. En Windows la experiencia es
completa, pero en Linux puede presentar inconvenientes.

Por cierto, FPGA Libre impulsa "el desarrollo con dispositivos FPGA utilizando
herramientas de software libre u open source". Adems, fomenta "el intercambio y
desarrollo de cores IP con licencias que posean el mismo espritu que las del
software libre".

Los FGPA comerciales tienen unos 25 aos entre nosotros. Cada vez poseen ms
reas de aplicacin (radioastronoma, emulacin de hardware, bioinformtica,
criptografa). Las universidades estn extendiendo su uso como excelente
herramienta didctica y de prototipado.

Cmo se programa una FPGA?

Como dijimos anteriormente, las FPGA cuentan con otros dispositivos cuya
configuracin es con una funcin especfica (flip-flops, MUX, etc), por lo que el
programador tiene que describir el hardware que tendr la FPGA en cuestin. Por
ende, su tarea es definir la funcin lgica que realizar cada uno de los CLB y
seleccionar el modo de trabajo de cada IOB e interconectarlos.

Para esto el diseador cuenta con herramientas especializadas en el diseo de


sistemas a implementarse en una FPGA. Esto se puede hacer de distintas maneras,
usando el modo esquemtico o haciendo uso de un lenguaje de programacin
especial. Para este caso hablamos de un lenguaje HDL (Hardware Description
Language). Los lenguajes ms usados son:

VHDL
Verilog
ABEL

En un intento de reducir la complejidad y el tiempo de desarrollo en fases de


prototipaje rpido, y para validar un diseo en HDL, existen varias propuestas y
niveles de abstraccin del diseo. Los niveles de abstraccin superior son los
funcionales y los niveles de abstraccin inferior son los de diseo al nivel de
componentes hardware bsicos. Entre otras, National Instruments LabVIEW FPGA
propone un acercamiento de programacin grfica de alto nivel.

Quin fabrica las FPGA?

Desde 2007 existen dos grandes productores de FPGA de propsito general,


adems de un conjunto de otros competidores que se diferencian por ofrecer
dispositivos con caractersticas nicas.

Xilinx es uno de los grandes lderes en la fabricacin de FPGA.


Altera es el otro gran lder.
Lattice Semiconductor lanz al mercado FPGA con tecnologa de 90nm. Es
proveedor lder en tecnologa no voltil, FPGA basadas en tecnologa Flash.
Actel tiene FPGAs basados en tecnologa Flash reprogramable. Tambin
ofrece FPGAs que incluyen mezcladores de seales basados en Flash.
QuickLogic tiene productos basados en antifusibles (programables slo una
vez)
Atmel es uno de los fabricantes cuyos productos son reconfigurables. Se
enfocaron en proveer microcontroladores AVR con FPGAs, todo dentro del
mismo encapsulado.
Achronix Semiconductor a travs de tecnologa de Intel de 22nm, su
catlogo incluye dispositivos FPGA de hasta 1.5GHz.

FPGA ALTERA
SPARTAN de XILINX
Conclusiones

Despus de investigar y escribir acerca de las FPGA tuve una transformacin total
de mi forma de ver la electrnica digital y de cmo se logra obtener algo tan
complejo como una computadora.

Me doy cuenta de que, relativamente, es muy sencillo desarrollar sistemas digitales


de gran complejidad tan solo sabiendo un poco de programacin y el conocimiento
necesario para entender cmo funcionan estas tarjetas y saber describir el
comportamiento que debern tener.

Tambin es importante tener conocimientos previos para hacer el diseo del sistema
deseado de la manera ms ptima posible y tener la capacidad (o habilidad) lgica
para que la descripcin del hardware sea ms sencilla.

Algo que debo destacar es la principal ventaja de las FPGA, estoy hablando de su
naturaleza reprogramable y el hecho de poder modificar su comportamiento en la
medida en que las necesidades del sistema cambien, o incluso iniciar el diseo
desde cero si as fuese requerido; y lo mejor de todo esto es que esto podra
hacerse en tan solo unos minutos una vez identificado el segmento que debera
modificarse.

Sin duda las FPGA ofrecen un universo de posibilidades y aplicaciones que de


hecho ya ayudan a resolver problemas en la vida actual. Estoy seguro que en un
futuro prximo saldr al mercado algo mucho ms poderoso que las FPGA y que
expandan el universo que estas nos han trado y ser muy interesante aprender a
trabajar con ese sucesor cuando llegue a nosotros.
Referencias

Field Programmable Gate Array (FPGA)


http://www.xilinx.com/training/fpga/fpga-field-programmable-gate-array.htm
What is a FPGA?
http://www.xilinx.com/fpga/
FPGA y el sorprendente poder del hardware reconfigurable
http://alt1040.com/2010/09/fpga-y-el-sorprendente-poder-del-hardware-
reconfigurable
Programmable logic device (PLD)
http://en.wikipedia.org/wiki/Programmable_logic_device
Field Programmable Gate Array
http://es.wikipedia.org/wiki/Field_Programmable_Gate_Array
Circuito integrado de aplicacin especfica (ASIC)
http://es.wikipedia.org/wiki/Circuito_integrado_de_aplicaci%C3%B3n_espec%
C3%ADfica