Resumen En el presente documento analizaremos la teora
referente a los mdulos IP o tambin conocidos como IP cores y disearemos una aplicacin en base a estos mdulos apoyndonos del software ISE Project Navigator Xilinx, el cual nos ayudara a la simulacin y su diseo.
Palabras clave PicoBlaze, VHDL, FPGA, ASI C, I P, I SE. I. INTRODUCCIN En el diseo de aplicaciones sobre los CI tipo FPGA o ASIC podemos importar cdigo ya preestablecido, lo que se conoce como mdulos IP (Semiconductor intellectual property core, no confundir con el protocolo de internet). Estos mdulos son bloques con una funcionalidad particular, estos bloques son tanto facilitados por las mismas empresas que desarrollan estos CI como por personas aparte con el fin de colaborar en el desarrollo tecnolgico. Nosotros podemos disear nuestros propios mdulos para usarlos como plantillas en futuras aplicaciones o tambin para que los dems se ayuden del mismo.
II. DESARROLLO DEL ARTCULO
MODULOS IP (SEMICONDUCTOR INTELLECTUAL PROPERTY) Dentro de una FPGA se puede incluir la funcionalidad de varios CI. Esta funcionalidad es desarrollada tanto por uno mismo como a travs de terceros. Debido a que estas funcionalidades se parecen a componentes electrnicos sin su parte fsica tambin se les conoce como componentes virtuales.
Existen 3 tipos de mdulos IP: 1) Soft-core: Se habla de este tipo de mdulo cuando se trata de cdigo sintetizable, similar al cdigo fuente para software o tambin a descripcin a nivel de puerta (netlist). 2) Hard-core: Se entiende de este mdulo el caso de una descripcin fsica; estos presentan problemas a la hora de asociar diferentes procesos entre ellos o pasar de un fabricante a otro. 3) Firm-core: Por este mdulo de refiere a un diseo que puede ser modificado en trminos de placement and routing o en tecnologa de bibliotecas.
Los dispositivos que contienen procesadores integrados y otras funciones implementadas en forma de hard-core y soft-core se conocen con el nombre de dispositivos de plataforma FPGA porque pueden emplearse para implementar un sistema completo sin necesidad de dispositivos externos de soporte.
Los mdulos IP son usados para varias aplicaciones, las cuales la empresa Xininx ha dividido en los siguientes grupos:
Fig.1.Logo de la compaa XILINX
El hecho de ir agregando mdulos ya definidos en nuevos diseos forma parte de la tendencia System-on-Chip (SoC), en donde se trata de integrar la mayor cantidad de funcionalidades en un solo chip. Estos son altamente aplicados en los sistemas embebidos.
En la pgina oficial de esta compaa se puede encontrar varios mdulos IP descargables alguno son gratuitos y otro pagados (http://www.xilinx.com/ise/embedded/edk_ip.htm). Otro sitio web de gran importancia es Open cores (http://opencores.org/) aqu se puede descargar mdulos IP de gran utilidad.
ISE Proyect Navigator tiene tambin otra clasificacin para los IP cores, este los separa por su funcionalidad en diferentes reas:
Interfaz/Bus/Puen te Perifricos Procesadores Comunicacin Infraestructura Control de memoria Depuracin D.Martinez*1, A.Snchez*2, L.Barreno, R.Gualavisi*3 *Diseo de VLSI, Universidad de las Fuerzas Armadas, Sangolqu, Ecuador
Implementacin de mdulos IP 2
Fig.2.Clasificacion de IP cores segn ISE.
ISE nos da la opcin de utilizar IP cores disponibles en el programa, pero tambin podemos descargar ms desde el internet si lo deseamos.
En lo que a procesadores se refiere, Xilinx nos ofrece varias opciones junto con su respectiva documentacin (Datasheet, gua de usuario, etc) de entre las cuales en este caso se utilizar el procesador PicoBlaze.
Para utilizar PicoBlaze primero el mdulo debe ser descargado desde la pgina oficial de Xilinx de manera gratuita y luego buscamos software especial que nos faciliten la programacin como PBlaze de Mediatronix o KCPSM3 de Xilinx.
NUCLEO PROCESADOR PICOBLAZE. PikoBlaze es un microcontrolador de 8 bits que esta especficamente diseado y optimizado para las FPGA de Xilinx, el cual requiere solo una pequea parte de las FPGA.
Entre sus caractersticas tenemos:
PicoBlaze consiste en dos componentes. EL KCPSM3 (que contiene la ALU, los registros, la RAM, etc) y el bloque de memoria (programa).
Fig.3.- Componentes de PicoBlaze.
Algunas de las instrucciones de PikoBlaze son:
Tabla 1.-Instrucciones de PikoBlaze. RETURN SUBCY RETURN C INPUT sX,sY RETURN NC INPUT sX, kk RETURN Z OUTPUT sX,sY RETURN NZ OUTPUT sX, kk RETURNI ENABLE ENABLE INTERRUPT RETURNI DISABLE DISABLE INTERRUPT ADDCY COMPARE
El proceso de utilizacin de PicoBlaze tiene la siguiente secuencia: 1) Escribir el programa de PicoBlaze en assembler de la aplicacin requerida. 2) Ejecutar el archivo psm usando KCPSM3 o PBlaze, con esto se genera un mdulo IP exclusivo de la aplicacin que se est realizando. 3) Copiar los mdulos kcpsm3.vhd, rom_form.vhd y miprograma.vhd dentro de la carpeta del proyecto de ISE Project Navigator. 4) Se genera el modulo principal en ISE Project Navigator que va a requerir de los mdulos generados. 5) Programar el modulo principal. III. CONCLUSIONES - No es necesario empezar un cdigo desde 0 ya que existen mdulos definidos que simulan un procesamiento de datos. - Si no se dispone en el editor algn modulo necesario, se lo puede descargar desde el internet y no necesariamente de la pgina oficial. - Para utilizar mdulos ms complejos como microprocesadores se debe seguir una serie de pasos. - Cada mdulo posee su documentacin, as que es muy importante revisarla antes de realizar alguna accin,
16 registros de propsito general de 8 bits. ALU con bandera de acarreo y de 0. 64 bytes de memoria de datos. PikoBlaze 256 puertos de entrada y salida cada uno. Pila de 31 palabras. 57 instrucciones de 18 bits. PikoBlaze 3 IV. BIBLIOGRAFIA [1] Pong P. Chu (2008) version nmero 3, FPGA PROTOTYPING BY VHDL EXAMPLES, WILEY INTERSCIENCE, p. 320-343. [2] Xilinx TM. PicoBlaze 8-bit Microcontroller. http://www.xilinx.com/products/intellectual-property/picoblaze.htm. Extrado el 13 de junio del 2014. [3] Varios autores (2010). System on a chip. http://es.wikipedia.org/wiki/System_on_a_chip. Extrado el 13 de junio del 2014. [4] Varios autores (2005). Semiconductor intellectual property core. http://en.wikipedia.org/wiki/Semiconductor_intellectual_property_core. Extrado el 13 de junio del 2014. [5] Julian G. (2010). Soft-Core and Hard-Core Processors. http://fpgadomain.blogspot.com/2010/03/soft-core-and-hard-core- processors.html. Extrado el 13 de junio del 2014. [6] Margaret R. (2011). IP core (intellectual property core). http://whatis.techtarget.com/definition/IP-core-intellectual-property- core. Extrado el 13 de junio del 2014.
V. INFORMACION DE LOS AUTORES Diego Xavier Martnez Hidalgo naci en Quito, Ecuador, el 23 de agosto de 1991. Se gradu en el Colegio Tcnico Experimental Salesiano Don Bosco en el ao 2008 de bachiller Elctrico Electrnico. Actualmente estudia ingeniera Electrnica en Redes y comunicacin de datos en la Universidad de las Fuerzas Armadas ESPE. Actualmente debido a sus estudios no ejerce profesionalmente.
Andrs Ricardo Snchez Jcome naci en Quito, Pichincha, Ecuador, 31 de marzo 1990. Se gradu en el Instituto Tecnolgico Superior Central Tcnico en el ao 2008 de bachiller tcnico industrial en electrnica actualmente estudia ingeniera Electrnica en Telecomunicaciones en la Universidad de las Fuerzas Armadas ESPE. Actualmente no ejerce profesionalmente.
Ricardo Sebastin Gualavis Lamaico naci en Quito, Ecuador el 18 de Diciembre de 1991. Realiz sus estudios primarios en el Colegio Paulo VI y sus estudios secundarios en el Colegio Don Bosco, obteniendo su ttulo de bachiller en Tcnico Electrnico. Actualmente est cursando sexto nivel de Ingeniera Electrnica, Automatizacin y Control en la Universidad de las Fuerzas Armadas ESPE. Ha trabajado en empresa Elctrica, sin embargo hoy en da se dedica de lleno a sus estudios.
Luis Miguel Barreno Reyes naci en Latacunga, Ecuador, el 23 de Diciembre de 1991. Se gradu en el Colegio Fiscal Mixto Nicols Infante Diza en el ao 2009 de bachiller Fsico Matemtico actualmente estudia ingeniera Electrnica en Automatizacin y Control en la Universidad de las Fuerzas Armadas ESPE. Actualmente debido a sus estudios no ejerce profesionalmente.