INVESTIGADORES
AGUILERA Facundo
congresos y reuniones científicas
Título:
Simulación Avanzada con TestBench en HDL
Autor/es:
ANDRÉS M. AIRABELLA; FACUNDO AGUILERA
Lugar:
San Justo, Buenos Aires
Reunión:
Congreso; Primer Congreso de Microelectrónica Aplicada 2010; 2010
Institución organizadora:
Universidad Nacional de La Matanza/Universidad Tecnológica Nacional, Facultad Regional Haedo
Resumen:
La simulación y validación de un módulo descripto en un lenguaje de descripción de hardware (HDL) es una tarea que debe llevarse a cabo en todas las etapas del flujo de diseño en lógica programable.Cuando un diseño es simple, es posible simularlo asignando manualmente los valores a las entradas y salidas con herramientas gráficas, y luego corroborar su funcionamiento viendo una forma de onda y comparando los resultados obtenidos con los esperados.Sin embargo, cuando la cantidad de entradas y salidas aumenta considerablemente, y el diseño requiere de un analisis exaustivo de las condiciones de las mismas, se torna prácticamente imposible escribir una por una las combinaciones.Por ejemplo, para simular un sumador completo que posee tres entradas y dos salidas llamadas: a_i, b_i y c_i, s_o y c_o, tenemos que la cantidad de combinaciones posibles para las entradas es: 2^3 =8 valores,mientras que para las salidas tendremos 8 valores posibles para cada una. Ahora, veamos que sucedería si quisiéramos simular un multiplicador de 32 bits. La cantidad de combinaciones posibles para las entradas es: 2^64= 18.446.744.073.709.551.616 valores. Es imposible generar manualmente e incluso simular todas estas combinaciones.Al igual que en este ejemplo, existen muchos otros diseños en los que hace falta poseer otras técnicas para poder evaluar el funcionamiento de los módulos de hardware.En este tutorial se mostrarán algunas técnicas para la generación de TestBenches y la automatización de la simulación para acelerar el proceso de validación del hardware diseñado, a la vez que se aumenta la confiabilidad en los resultados obtenidos.Se mostrará cómo generar vectores de prueba, cómo cargar datos para la simulación desde un archivo de texto, cómo imprimir un archivo de texto con los resultados e incluso qué técnicas podemos usar para simular entradas y salidas de gran tamaño.El tutorial está destinado a un público con conocimientos básicos o medios en algún lenguaje de descripción de hardware.