Thesis
Diseño de un coprocesador asíncrono que implementa el estandar IEEE 754 en simple precisión [recurso electrónico]
Autor
Delgado Angulo, Henry
Institución
Resumen
El presente trabajo de grado consiste en la concepción, diseño e implementación en hardware reprogramable, de un sistema que implementa el estándar para aritmética binaria en punto flotante IEEE 754 en simple precisión (32 bits) en sus operaciones básicas de suma/resta, multiplicación y división. Lo novedoso de esta propuesta es que la implementación en hardware se realiza utilizando especificación asíncrona de los módulos que conforman el sistema completo.
La descripción asíncrona del sistema se realizó utilizando la herramienta de especificación, síntesis, simulación e implementación comportamental conocida como Balsa System [1]. Esta herramienta se seleccionó teniendo en cuenta las siguientes consideraciones:
Actualmente es la herramienta de libre distribución más avanzada para la descripción de sistemas asíncronos.
Utiliza un lenguaje de alto nivel (también llamado Balsa).
Integra ambientes para especificación, síntesis, y simulación de circuitos asíncronos, además de herramientas que permiten generar archivos de implementación sobre hardware real.
El sistema Balsa fué desarrollado en el APT Group (The Advanced Processor Technologies Group) de la School of Computer Science, University of Manchester (Inglaterra). Balsa es el nombre de un conjunto de herramientas de síntesis de sistemas de hardware asíncrono y también el nombre del lenguaje para describir esos sistemas. Las herramientas pueden correr sobre cualquier ambiente POSIX con X11 que manejen enteros al menos de 32 bits (Linux, FreeBSD, MacOS X, Solaris). Sin embargo, para producir una implementación en hardware real, ya sea en Silicio o en FPGA, se requiere el complemento de herramientas comerciales específicas: por ejemplo el software de diseño de Xilinx, o el ambiente de diseño de Cadence con una apropiada tecnología de librería de celdas [11].
El desarrollo del sistema se hizo utilizando los dos estilos de diseño digital: síncrono y asíncrono. Los módulos que implementan las funciones aritméticas básicas fueron desarrollados de manera individual y luego se integraron en cada sistema como un circuito completo. La idea fundamental de realizar la implementación en ambos estilos de diseño es la de comparar las figuras de mérito de desempeño, área utilizada y consumo de potencia, cuyos resultados se consignan en el capítulo final del documento.
Se decidió no incluir los conceptos sobre sistemas asíncronos debido a la restricción sobre el número de páginas del informe final y por considerar de mayor prioridad la inclusión de los conceptos básicos sobre el estándar IEEE 754 y los detalles de implementación de los distintos módulos en ambos estilos de diseño.