Construcción
El Hardware Reconfigurable Libre es aquel que se construye tomando por un lado los lenguajes HDL y por otro las FPGAs. Un lenguaje HDL, (Hardware Description Language, lenguaje de descripción hardware) especifica con todo detalle la estructura y funcionalidad del hardware y a partir del código programado se generan unos ficheros de configuración (bitstreams) para que los dispositivos del tipo FPGA se reconfiguren, funcionando según lo descrito.
Su naturaleza es completamente diferente a la del hardware estático. Se desarrolla de una manera muy similar a como se hace con el software. Se les puede aplicar directamente una licencia libre, como la GPL.
Estructura
El Hardware Reconfigurable libre comprende como se menciono anteriormente dos partes:
Lenguajes HDL
El hardware se puede describir utilizando un lenguaje HDL, como por ejemplo VHDL, Verilog, Handel C, etc. De esta forma, los diseños se convierten en ficheros de texto ASCII (``código fuente''), que describen tanto la estructura del diseño como el comportamiento de las partes integrantes. Se pueden crear librerías de componentes que luego se usan en diseños más complejos.
Inicialmente estos lenguajes se empleaban para describir de una forma no ambigua el hardware y poder realizar simulaciones.
FPGAs
Las FPGAs son dispositivos que nos permiten implementar circuitos digitales. Están compuestos por bloques iguales, configurables, llamados CLBs, que se unen dinámicamente según cómo se especifique en la memoria de configuración. De esta forma, cambiando el contenido de la esta memoria, se establecen unas uniones diferentes entre los CLBs, obteniéndose un dispositivo u otro. La características fundamental de las FPGAs es que son Dispositivos universales. Se pueden ``convertir'' en cualquier diseño digital, según el bitstream que se cargue en su memoria de configuración. En la siguiente figuras se puede ver el detalle de circuitos FPGA de diferentes fabricabtes.
El Hardware Reconfigurable Libre es aquel que se construye tomando por un lado los lenguajes HDL y por otro las FPGAs. Un lenguaje HDL, (Hardware Description Language, lenguaje de descripción hardware) especifica con todo detalle la estructura y funcionalidad del hardware y a partir del código programado se generan unos ficheros de configuración (bitstreams) para que los dispositivos del tipo FPGA se reconfiguren, funcionando según lo descrito.
Su naturaleza es completamente diferente a la del hardware estático. Se desarrolla de una manera muy similar a como se hace con el software. Se les puede aplicar directamente una licencia libre, como la GPL.
Estructura
El Hardware Reconfigurable libre comprende como se menciono anteriormente dos partes:
Lenguajes HDL
El hardware se puede describir utilizando un lenguaje HDL, como por ejemplo VHDL, Verilog, Handel C, etc. De esta forma, los diseños se convierten en ficheros de texto ASCII (``código fuente''), que describen tanto la estructura del diseño como el comportamiento de las partes integrantes. Se pueden crear librerías de componentes que luego se usan en diseños más complejos.
Inicialmente estos lenguajes se empleaban para describir de una forma no ambigua el hardware y poder realizar simulaciones.
FPGAs
Las FPGAs son dispositivos que nos permiten implementar circuitos digitales. Están compuestos por bloques iguales, configurables, llamados CLBs, que se unen dinámicamente según cómo se especifique en la memoria de configuración. De esta forma, cambiando el contenido de la esta memoria, se establecen unas uniones diferentes entre los CLBs, obteniéndose un dispositivo u otro. La características fundamental de las FPGAs es que son Dispositivos universales. Se pueden ``convertir'' en cualquier diseño digital, según el bitstream que se cargue en su memoria de configuración. En la siguiente figuras se puede ver el detalle de circuitos FPGA de diferentes fabricabtes.
Los FPGA Altera Flex EPF10K20 20000 y el Xilinx Spartan
Funcionamiento
El fichero que contiene la configuración se denomina bitstream. A partir de los ficheros fuente, se realiza una simulación, lo que nos permite comprobar si nuestro diseño cumple las especificaciones. Por otro lado, podemos obtener el bitstream, que al descargarlo en una FPGA conseguimos que nuestro diseño hardware se .materialice. Esta fase se denomina genéricamente síntesis, aunque internamente consta de dos fases: síntesis e implementación. En la figura se ha esquematizado.
Funcionamiento
El fichero que contiene la configuración se denomina bitstream. A partir de los ficheros fuente, se realiza una simulación, lo que nos permite comprobar si nuestro diseño cumple las especificaciones. Por otro lado, podemos obtener el bitstream, que al descargarlo en una FPGA conseguimos que nuestro diseño hardware se .materialice. Esta fase se denomina genéricamente síntesis, aunque internamente consta de dos fases: síntesis e implementación. En la figura se ha esquematizado.
Lo anterior se indica por medio del siguiente diagrama:
Diseño
El procedimiento diseño del Hardware Reconfigurable Libre esta definido por el lenguaje HDL empleado y el FPGA.
Asi tenemos que por ejemplo para el VHDL hay varias formas con las que podemos diseñar el mismo circuito y es tarea del diseñador elegir la más apropiada.
Funcional: describimos la forma en que se comporta el circuito. Esta es la forma que más se parece a los lenguajes de software ya que la descripción es secuencial. Estas sentencias secuenciales se encuentran dentro de los llamados procesos en VHDL. Los procesos son ejecutados en paralelo entre sí, y en paralelo con asignaciones concurrentes de señales y con las instancias a otros componentes.
Flujo de datos: describe asignaciones concurrentes (en paralelo) de señales.
Estructural: se describe el circuito con instancias de componentes. Estas instancias forman un diseño de jerarquía superior, al conectar los puertos de estas instancias con las señales internas del circuito, o con puertos del circuito de jerarquía superior.
Mixta: combinación de todas o algunas de las anteriores.
En VHDL también existen formas metódicas para el diseño de máquinas de estados, filtros digitales, bancos de pruebas etc.
Fabricantes
Existen varios diseños y fabricantes que se pueden encontrar en la web que emplean Hardware Reconfigurable a continuación presentamos algunos:
Construcción del prototipo Cube Revolutions, constituido por 8 Módulos Y1 conectados en fase
Tesis doctoral en la Escuela Politécnica Superior de la Universidad Autónoma de Madrid.
Se proponen y evalúan dos alternativas de control basadas en FPGA. Una mediante lógica combinacional y secuencial, y otra usando una CPU empotrada
Diseño y síntesis de un modulador BPSK, QPSK Y FSK Reconfigurable.
Departamento de Física Fundamental y Experimental, Electrónica y Sistemas Universidad de La Laguna. España.
El sistema propuesto, con su correspondiente programa de control, posibilita la modulación en las técnicas digítales anteriormente reseñadas. Al realizarse el mismo mediante VHDL hace que el sistema tenga independencia tecnológica, aunque éste finalmente se sintetizó en una FPGA de la casa Altera.
Siemens
Muchas empresas piensan que la iniciación de actividades de desarrollo ASIC – circuito integrado específico del usuario – o en el mundo FPGA implica una utilización excesiva de tiempo o costes. Pero son justo estos componentes los que hacen que sus productos sean más innovadores. ¿Qué más se puede ofrecer que la colaboración con un socio sólido?
Por ultimo podemos mencionar que el hardware reconfigurable se puede compartir exactamente igual que el software, se pueden ofrecer las mismas libertades del software libre a los ficheros en HDL (por ejemplo distribuyéndolos bajo licencia GPL), ademas, aparecen comunidades hardware que comparten información, como OpenCores y OpenCollector y se pueden crear repositorios hardware, lo que permite que muchas personas puedan participar en el desarrollo y pueden aparecer distribuciones que recopilen todo el hardware libre existente.
No hay comentarios:
Publicar un comentario