180 likes | 403 Views
Algoritmos genéticos: los beneficios en su implementación para la generación de patrones automáticos de pruebas en Microprocesadores. Protocolo de tesis para obtener el grado de Maestro en Tecnologías de la Información Hugo Aldo Soto López hugoaldosoto@hotmail.com Guadalajara, Jalisco, México.
E N D
Algoritmos genéticos: los beneficios en su implementación para la generación de patrones automáticos de pruebas en Microprocesadores Protocolo de tesis para obtener el grado de Maestro en Tecnologías de la Información Hugo Aldo Soto López hugoaldosoto@hotmail.com Guadalajara, Jalisco, México
Planteamiento del problema Justificación Cuadro de análisis de congruencia Marco teórico Métodos y técnicas de investigación Objetivos Cronograma Bibliografía Índice de contenido
Planteamiento del problema • La industria se ve afectada por el tamaño y la complejidad de la verificación funcional de microprocesadores [1] • Las pruebas de verificación representan cerca del 60% del costo total de desarrollo [6] • Desarrollar algoritmos para generar patrones de prueba no es una tarea fácil y se requiere que personas experimentadas los desarrollen [12]
Justificación • Los costos, el tiempo y dificultades en la validación de microprocesadores abren un área de oportunidad para la optimización de los modelos actuales de validación [6][1] • Las pruebas de verificación representan cerca del 60% del costo total de desarrollo [6]
Justificación • Las empresas no pueden darse el lujo de retrasar la salida de un nuevo microprocesador al mercado • El conocimiento que se obtiene con la realización de esta investigación favorecerá en la determinación de los casos donde es óptimo el uso de algoritmos genéticos para la generación de patrones de prueba en microprocesadores
Marco teórico • ¿Para qué validar microprocesadores? • Previene que circuitos defectuosos sean manufacturados y asegura que el diseño cumpla con los requerimientos de los desarrolladores [2][6] • ¿Qué es un patrón de pruebas? • Es la secuencia de entradas capaces de distinguir entre un comportamiento defectuoso y otro sin errores [13]
Marco teórico • ¿Qué es un algoritmo genético? • Son una técnica de optimización que simula el fenómeno de la evolución natural. En vez de optimizar una única solución, trabaja con una población de soluciones candidatas [8] Extraído de: Jones, M. T. (2003). Genetic algorithm high-level flow.. AI application programming (p. 116). Hingham, Mass.: Charles River Media. [8]
Marco teórico • ¿Por qué son útiles los ATPG? • La densidad de circuitos en un microprocesador está aumentando constantemente. Ley de Moore [1] • La densidad aumenta y con ello la cantidad de posibles defectos [5] • Los ATPG están basados en “Fault Models” que son abstracciones de posibles defectos en un microprocesador [14]
Marco teórico • ¿Cómo funciona un ATPG? • ¿Cómo funciona un ATPG? Extraído de: Pradhan, D. (2009) Closed-loop generation scheme. Practical design verification (p. 146). Cambridge: Cambridge University Press. [12]
Marco teórico • ¿Cómo implementar un algoritmo genético en ATPG? Extraído de: Corno, F., Squillero, G., & Reorda, M. S. (2003). Code generation for functional validation of pipelined microprocessors. Test Workshop, 2003. Proceedings. The Eighth IEEE European, 1, 114 [15]
Métodos y técnicas de investigación • Método experimental • Se investigarán los diferentes procesos y técnicas para el desarrollo de ATPG • Identificar un modelo y desarrollar una propuesta • Experimentar con el modelo • Medir el “fitness” de los algoritmos genéticos • Conclusiones
Objetivos • Objetivo general • Analizar los posibles beneficios que se obtienen al implementar algoritmos genéticos en un generador de patrones de prueba (ATPG) • Objetivos específicos • Investigar casos donde podrían ser utilizados los ATPG diseñados con algoritmos genéticos • Diseñar un circuito adecuado para llevar a cabo las pruebas de los ATPG con los algoritmos genéticos • Diseñar un algoritmo genético que optimice la generación de patrones de prueba respecto a los generadores aleatorios de patrones de prueba • Comparar la aplicación de un algoritmo genético versus un generador aleatorio de patrones de prueba
Bibliografía [1] Adir, A., Copty, S., Landa, S., Nahir, A., Shurek, G., Ziv, A., et al. (2011). A unified methodology for pre-silicon verification and post-silicon validation. Design, Automation & Test in Europe Conference & Exhibition (DATE), 1, 1-6. [2] Corno, F., Squillero, G., & Reorda, M. S. (2003). Code generation for functional validation of pipelined microprocessors. Test Workshop, 2003. Proceedings. The Eighth IEEE European, 1, 113-118. [3] Hurst, S. L. (1998). Test Pattern Generation and Design-for-Testability. VLSI custom microelectronics digital, analog, and mixed-signal (pp. 273-278). New York: Marcel Dekker. [4] Kirkland, T., & Mercer, M. R. (1988). Algorithms for automatic test-pattern generation. Design & Test of Computers, IEEE, 5(3), 43-55. [5] Wang, L. (2009). Fault Simulation and Test Generation. Electronic design automation synthesis, verification, and test (pp. 851-854). Burlington, MA: Morgan Kaufmann Publishers/Elsevier. [6] Corno, F., Sanchez, E., Reorda, M., & Squillero, G. (2005). Automatic test generation for verifying microprocessors. Potentials, IEEE, 24(1), 34-37. [7] Corno, F., Cumani, G., Reorda, M., & Squillero, G. (2003). Fully automatic test program generation for microprocessor cores. Design, Automation and Test in Europe Conference and Exhibition, 2003, 1, 1006-1011. [8] Jones, M. T. (2003). Introduction to Genetic Algorithms. AI application programming (pp. 115-149). Hingham, Mass.: Charles River Media.
Bibliografía [9] Eberhart, R. C., & Shi, Y. (2007). Evolutionary Computation Concepts and Paradigms. Computational intelligence concepts to implementations (pp. 51-68). Amsterdam: Elsevier/Morgan Kaufmann Publishers. [10] Cruzatti, I. (2008). Los experimentos. Tiempo de investigar, proyectos de ciencia (pp. 10-11). Quito: EDITEKA Ediciones. [11] Cruzatti, I. (2008). Diseño de proyectos experimentales y tecnológicos. Tiempo de investigar, proyectos de ciencia (pp. 74-90). Quito: EDITEKA Ediciones. [12] Pradhan, D. (2009). Stimuli Generation Methods. Practical design verification (pp. 145-151). Cambridge: Cambridge University Press. [13] Xiu, L. (2008). WHAT IS AUTOMATIC TEST PATTERN GENERATION (ATPG)?. VLSI circuit design methodology demystified: a conceptual taxonomy (pp. 182-184). Hoboken, N.J.: Wiley. [14] Crowell, G., & Press, R. (2004). Using Scan Based Techniques for Fault Isolation in Logic Devices. Microelectronics failure analysis desk reference (5th ed., pp. 133-139). Materials Park, Ohio: ASM International. [15] Corno, F., Squillero, G., & Reorda, M. S. (2003). Code generation for functional validation of pipelined microprocessors. Test Workshop, 2003. Proceedings. The Eighth IEEE European, 1, 113-118. [16] Squillero, G. (n.d.). µGP (MicroGP). µGP (MicroGP). Retrieved May 21, 2013, from http://ugp3.sourceforge.net/