Por favor, use este identificador para citar o enlazar este ítem: http://repositoriodigital.uns.edu.ar/handle/123456789/2560
Título : Verificación de circuitos digitales descritos en HDL
Autor(es) : Francesconi, Juan I.
Director(es) : Julián, Pedro
Rodríguez, Agustín
Palabras clave : Ingeniería; ASIC; FPGA; Verificación; Cobertura; Testbench
Fecha de publicación : 2015
Resumen : En el ámbito del diseño de circuitos integrados, el proceso de asegurar que la intención del diseño es mapeada correctamente en su implementación se denomina verificación funcional. En este contexto, los errores lógicos son discrepancias entre el comportamiento previsto del dispositivo y su comportamiento observado. La verificación funcional es hoy en día el cuello de botella del flujo de diseño digital y la simulación de eventos discretos sigue siendo la técnica de verificación más utilizada, principalmente debido a que es la única aplicable a sistemas grandes y complejos. En este trabajo se aborda, mediante un enfoque teórico práctico, dos de los conceptos más relevantes de la verificación funcional de hardware basada en simulación, esto es, la arquitectura de los testbenches, los cuales le dan soporte práctico a dicha técnica y los modelos de cobertura funcional, los cuales definen las funcionalidades y escenarios que deben ser probados guiando de esta forma la creación de pruebas y el respectivo progreso del proceso de verificación. En primer lugar, se encara la temática de la arquitectura de los testbenches modernos identificando las propiedades deseadas de los mismos, reusabilidad y facilidad para aumentar el nivel de abstracción. En función de estas dos propiedades se selecciona la metodología de Universal Verification Methodology (UVM) para el diseño, análisis e implementación de dos testbenches. En segundo lugar, dada la problemática del crecimiento del espacio de prueba de los diseños modernos y la subsecuente dificultad para generar modelos de cobertura adecuados para los mismos a partir de sus especificaciones, se introduce un método empírico de caja negra para derivar un modelo de cobertura para diseños dominados por el control. Este método está basado en la utilización de un modelo abstracto de la funcionalidad del dispositivo bajo prueba (DUV, sigla en inglés de Device Under Verification). Este modelo facilita la extracción de conjuntos de secuencias de prueba, los cuales representan el modelo de cobertura funcional. Dada la complejidad de los posibles espacios de prueba generados, las conocidas técnicas de Testing de Software, partición en clases de equivalencia y análisis de valores límites, son aplicadas para reducirlos. Adicionalmente, se desarrolla una notación formal para expresar las secuencias de prueba equivalentes extraídas del modelo. Por ultimo se aplica el método de derivación de modelo de cobertura funcional presentado para obtener casos de prueba relevantes para un modulo de buffer FIFO, y se utiliza el testbench implementado para darle soporte a la ejecución de dichos casos de prueba, implementando las pruebas derivadas y los correspondientes puntos de cobertura, combinando de esta forma los dos conceptos abordados.
In the integrated circuit design field, the process of assuring that the design intent is properly mapped in its implementation is known as functional verification. In this context, logic errors are discrepancies between the device’s expected behavior and its observed behavior. The functional verification of a design is now a days the bottleneck of the digital design flow and discrete event simulation still is the most used verification technique, mostly because it is the only technique which is applicable to big and complex systems. In this work, through a theoretical and practical approach, two of the most relevant simulation based hardware functional verification concepts are addressed. Those concepts are, the testbench architecture, which gives practical support to the simulation technique, and the functional coverage model, which defines the functionalities and scenarios that should be tested, guiding the creation of tests and the measurement of the verification process’s progress. In first place, modern testbench architectures are studied identifying their desired properties, which are reusability and the facility to raise the level of abstraction. According to these properties the Universal Verification Methodology (UVM) is chosen for the design, analysis and implementation of two testbenches. In second place, given the test space growth challenge of modern designs and the subsequent difficulty for generating their appropriate coverage models from their specifications, an empirical black box method is introduced for the creation of coverage models for control dominated designs. This method is based in the definition of a functional model of the DUV (Design Under Verification) which facilitates the extraction of sets of test sequences which define a functional coverage model. Given the complexity of the test space, the well known software testing techniques, equivalence class partition and limit value analysis, are applied to reduce it. A formal notation is developed in order to express equivalent test sequences. Lastly, the presented functional coverage creation method is applied to a FIFO (First Input First Output) buffer module in order to obtain relevant test sequences, and one of the previously implemented testbench is used to give support to the execution of those test cases, implementing the test sequences and its corresponding coverage points, combining in this manner both of this work addressed concepts.
URI : http://repositoriodigital.uns.edu.ar/handle/123456789/2560
Aparece en las colecciones: Tesis de postgrado

Ficheros en este ítem:
Fichero Descripción Tamaño Formato  
UNSTesisMaestriaFrancesconi.pdfTesis magíster - Texto completo1,53 MBAdobe PDFVisualizar/Abrir


Este ítem está sujeto a una licencia Creative Commons Licencia Creative Commons Creative Commons