Resumen El empleo de FPGAs (Field Programmable Gate Arrays) tiene ciertas ventajas entre ellas la flexibilidad que se obtiene al desarrollar un prototipo. Un microprocesador microcontrolador comercial tiene ciertas funciones y al adquirirlo ya no es posible modificarlas. En cambio, un FPGA puede ser reprogramado, en poco tiempo con las funciones específicas que requiere un proyecto. Esto da lugar al cómputo reconfigurable que tiene ciertas ventajas sobre dispositivos con una función fija por ejemplo: reducción de costos mayor desempeño y confiabilidad además de implementación de interfaces especializadas y de alta velocidad. Así.podemos pensar que el desarrollar un sistema digital de esta manera puede ser útil con fines académicos y en algunas aplicaciones industriales. Para la descripción de procesos dentro del FPGA se requiere un lenguaje de alto nivel que permita varios niveles de abstración en el diseño tales como Verilog o VHDL. En este caso VHDL (VHSIC v,=ry High Speed se empleará Integrated Circuits Hardware Description Language) que desde 1987 se convirtió en un estándar de la IEEE. En términos generales podemos decir que VHDL es un lenguaje similar al C. pero que además permite la descripción de modelos de hardware. Un diseño puede dividirse en varios bloques especializados en cierta función y por medio de VHDL se detallará su comportamiento así como sus entradas y salidas que los interconectan. Al comprobar su funcionamiento pueden detectarse errores y corregirse todo desde un nivel alto. Todo esto le da a VHDL cierta facilidad de uso en el diseño de circuitos. Al desarrollar este trabajo de tesis se diseñó en VHDL un microprocesador RISC (Reduced Instruction Set Computer) y finalmente se simuló su comportamiento en un FPGA. La arquitectura en la que se basó este proyecto es la UAM-RISC cuyos fines son didácticos. En consecuencia uno de los objetivos de este proyecto es exponer detalladamente el ciclo de diseño de un RISC por medio del lenguaje VHDL. Este lenguaje de alto nivel permite describir el comportamiento de un sistema digital como una entidad con entradas y salidas. Posteriormente el diseño puede ser probado e implementado en un FPGA.
|
||||