<< Volver atrás

Tesis:

Emulación en prototipos basados en fpgas: métodos de depuración mediante inserción de lógica compatible con el estándar ieee-1149.1


  • Autor: GARCIA VALDERAS, Mario

  • Título: Emulación en prototipos basados en fpgas: métodos de depuración mediante inserción de lógica compatible con el estándar ieee-1149.1

  • Fecha: 2004

  • Materia: Sin materia definida

  • Escuela: E.T.S. DE INGENIEROS INDUSTRIALES

  • Departamentos: AUTOMATICA, INGENIERIA ELECTRONICA E INFORMATICA INDUSTRIAL

  • Acceso electrónico:

  • Director/a 1º: TORRE ARNANZ, Eduardo de la

  • Resumen: El avance de las tecnologías para la fabricación de circuitos digitales ha hecho posible a lo largo de los últimos años la multiplicación de la capacidad de integración de los circuitos. Esta evolución ha provocado que el proceso de diseño se base más en la capacidad de desarrollar y gestionar diseños muy grandes que en la habilidad de realizar circuitos óptimos que utilicen la mínima cantidad de recursos. En la actualidad es posible integrar sistemas completos en un solo circuito (Systems on Chip) incluyendo los diferentes componentes, normalmente uno o varios microprocesadores, memorias, periféricos y lógica adicional bajo un solo encapsulado. Para el diseño de circuitos tan grandes, ha sido de vital importancia la aparición de técnicas de diseño basadas en lenguajes de descripción de hardware (VHDL, Verilog). Dado que un diseño descrito mediante un lenguaje de descripción de hardware es, desde un punto de vista funcional, independiente de la tecnología en la que se implemente, es posible realizar su implementación en circuitos programables (FPGAs) montados en placas diseñadas al efecto para verificar su correcto funcionamiento antes de llevar a cabo la implementación en la tecnología final. En sistemas basados en FPGAs, ya sean prototipos para emulación o sistemas implementados mediante FPGAs, las técnicas clásicas de depuración de circuitos resultan poco adecuadas. La posibilidad de uso de osciloscopios o analizadores lógicos es limitada, debido a dos causas principales. En primer lugar, la capacidad de los dispositivos puede llegar a ser tan grande que la inmensa mayoría de las señales del sistema estarán contenidas dentro de las FPGAs, de modo que no son observables. En segundo lugar, los encapsulados actuales tienen un gran número de terminales y, salvo en los modelos más pequeños, es físicamente imposible conectar sondas para su observación. Para afrontar estos inconvenientes, en la presente tesis se proponen técnicas para aumentar la observabilidad y la controlabilidad de los diseños implementados en FPGAs. El mecanismo que se propone es introducir lógica de depuración junto a la lógica del diseño, que sea compatible con el estándar IEEE-1149.1 (JTAG). Este método permite resolver varios problemas. Desde dentro del circuito, se tiene acceso a todos los terminales y señales, que se pueden monitorizar o trazar eliminándose el problema de la accesibilidad a los datos. Se puede procesar la información procedente de señales y terminales con el fin de extraer del circuito sólo la que sea necesaria y, si es necesario trazar, se pueden almacenar los resultados en la memoria interna de la FPGA. Los mecanismos que se proponen pueden actuar de un modo no intrusivo, sin parar el funcionamiento del sistema, resultando muy apropiado para la depuración de sistemas en tiempo real. En la presente tesis se hacen aportaciones en la fase de emulación, dentro de la metodología de diseño mediante lenguajes de descripción de hardware, en varios aspectos. Se propone el uso de módulos de depuración reutilizables, que realizan funciones de monitorización, procesamiento de la información, control y comunicación con un ordenador mediante la interfaz JTAG, que se ha convertido en los últimos años en el mecanismo estándar para la programación de dispositivos y para el control de dispositivos para la depuración. Se propone una filosofía de desarrollo de módulos de depuración con vistas a la creación de módulos altamente configurables que puedan ser adaptados a las necesidades y a la disponibilidad de hardware de cada caso, y que permiten la depuración remota Por último, se han desarrollado herramientas, a modo de demostración de la metodología, cuya función principal es la de automatizar en la mayor medida posible el uso de la lógica de depuración.