Este trabajo de título tiene como objetivo generar la capacidad de diseñar circuitos
integrados digitales desarrollando un dispositivo electrónico específico: un microprocesador
ARM7. Para ésto se utilizaron lenguajes de descripción de hardware que permiten utilizar
una metodología top-down, comenzando por un modelo comportamental de alto nivel del
circuito hasta obtener un modelo estructural.
El microprocesador ARM7 es un exitoso modelo diseñado por ARMTM, que a pesar
de no poseer la complejidad de otros procesadores, se destaca por ser el más utilizado
en la familia de dispositivos ARM, encontrándose en diversos dispositivos portables como
consolas de juegos, teléfonos celulares y reproductores multimedia. Su diseño simple
ofrece un alto rendimiento a muy bajo consumo y costo, por lo cual ha sido escogido para
desarrollar en este trabajo.
El desarrollo contempló la utilización inicial de la herramienta ArchC, la cual permite
obtener una descripción de un procesador de manera relativamente sencilla en lenguaje
SystemC. Con este modelo diseñado se pudieron realizar pruebas que para verificar el
funcionamiento del procesador y así continuar con su descripción en lenguaje Verilog. Este
último tiene la capacidad de describir circuitos a bajo nivel y posee la ventaja de encontrarse
en un estado más maduro por la cantidad de años que ha sido utilizado por ingenieros.
El diseño del microprocesador en Verilog se realizó programando cada módulo que
conforma el datapath junto al módulo de control que genera las señales necesarias para
ejecutar una instrucción. La programación de estos módulos se realizó considerando las
estructuras conocidas por la literatura relacionada al tema y diseñando secciones que no
se encontraron documentadas de forma libre. A partir de esta programación se generó un
modelo Verilog que combina descripciones comportamentales y estructurales.
Antes de realizar la síntesis del microprocesador, cada módulo fue probado de forma
individual, asegurando su funcionalidad de forma independiente y luego se realizó una
validación global del sistema. Finalmente se realizó la síntesis del dispositivo con el
programa Design CompilerTM imponiendo restricciones para obtener un procesador de
20 Mhz. Se comprobó por medio de una nueva verificación que la netlist obtenida es
satisfactoria según las especificaciones.
En conclusión se obtuvo un microprocesador funcional, con las instrucciones más
importantes implementadas. Las pruebas fueron satisfactorias logrando corregir muchos
errores a causa de desconocimiento y/o descuido. El objetivo principal se cumplió ya que
en el trabajo se debió aprender tanto acerca de sistemas digitales como de lenguajes
de descripción de hardware. Estos últimos requieren mucha experiencia en su uso, ya
que describen algoritmos de forma paralela y no secuencial como los típicos lenguajes de
software a los cuales la mayoría de los ingenieros están acostumbrados.
Finalmente queda a disposición el modelo del microprocesador para que pueda ser
utilizado con fines académicos y con la posibilidad de completar su funcionalidad y/o ser
usado como núcleo de un sistema sobre una FPGA.
Identifer | oai:union.ndltd.org:UCHILE/oai:repositorio.uchile.cl:2250/103202 |
Date | January 2008 |
Creators | Soto Kort, Patricio Isaías |
Contributors | Grimblatt Hinzpeter, Víctor, Facultad de Ciencias Físicas y Matemáticas, Departamento de Ingeniería Eléctrica, Thiemer Wilckens, Helmuth, Beltrán Maturana, Nicolás |
Publisher | Universidad de Chile |
Source Sets | Universidad de Chile |
Language | Spanish |
Detected Language | Spanish |
Type | Tesis |
Rights | Attribution-NonCommercial-NoDerivs 3.0 Chile, http://creativecommons.org/licenses/by-nc-nd/3.0/cl/ |
Page generated in 0.0016 seconds