Verificación de circuitos digitales descritos en HDL

Autores
Francesconi, Juan I.
Año de publicación
2015
Idioma
español castellano
Tipo de recurso
tesis de maestría
Estado
versión aceptada
Colaborador/a o director/a de tesis
Julián, Pedro
Rodríguez, Agustín
Descripción
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.
Fil: Francesconi, Juan I.. Universidad Nacional del Sur. Departamento de Ingeniería Eléctrica y de Computadoras; Argentina
Materia
Ingeniería
ASIC
FPGA
Verificación
Cobertura
Testbench
Nivel de accesibilidad
acceso abierto
Condiciones de uso
http://creativecommons.org/licenses/by/4.0/
Repositorio
Repositorio Institucional Digital de la Universidad Nacional del Sur (RID-UNS)
Institución
Universidad Nacional del Sur
OAI Identificador
oai:repositorio.bc.uns.edu.ar:123456789/2560

id RID-UNS_96e3d3e6dd57efcba22242607be553de
oai_identifier_str oai:repositorio.bc.uns.edu.ar:123456789/2560
network_acronym_str RID-UNS
repository_id_str
network_name_str Repositorio Institucional Digital de la Universidad Nacional del Sur (RID-UNS)
spelling Verificación de circuitos digitales descritos en HDLFrancesconi, Juan I.IngenieríaASICFPGAVerificaciónCoberturaTestbenchEn 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.Fil: Francesconi, Juan I.. Universidad Nacional del Sur. Departamento de Ingeniería Eléctrica y de Computadoras; ArgentinaJulián, PedroRodríguez, Agustín2015-11-30info:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_bdccinfo:ar-repo/semantics/tesisDeMaestriaapplication/pdfhttp://repositoriodigital.uns.edu.ar/handle/123456789/2560spainfo:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by/4.0/reponame:Repositorio Institucional Digital de la Universidad Nacional del Sur (RID-UNS)instname:Universidad Nacional del Sur2025-09-29T13:42:08Zoai:repositorio.bc.uns.edu.ar:123456789/2560instacron:UNSInstitucionalhttp://repositoriodigital.uns.edu.ar/Universidad públicaNo correspondehttp://repositoriodigital.uns.edu.ar/oaimesnaola@uns.edu.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:2025-09-29 13:42:08.994Repositorio Institucional Digital de la Universidad Nacional del Sur (RID-UNS) - Universidad Nacional del Surfalse
dc.title.none.fl_str_mv Verificación de circuitos digitales descritos en HDL
title Verificación de circuitos digitales descritos en HDL
spellingShingle Verificación de circuitos digitales descritos en HDL
Francesconi, Juan I.
Ingeniería
ASIC
FPGA
Verificación
Cobertura
Testbench
title_short Verificación de circuitos digitales descritos en HDL
title_full Verificación de circuitos digitales descritos en HDL
title_fullStr Verificación de circuitos digitales descritos en HDL
title_full_unstemmed Verificación de circuitos digitales descritos en HDL
title_sort Verificación de circuitos digitales descritos en HDL
dc.creator.none.fl_str_mv Francesconi, Juan I.
author Francesconi, Juan I.
author_facet Francesconi, Juan I.
author_role author
dc.contributor.none.fl_str_mv Julián, Pedro
Rodríguez, Agustín
dc.subject.none.fl_str_mv Ingeniería
ASIC
FPGA
Verificación
Cobertura
Testbench
topic Ingeniería
ASIC
FPGA
Verificación
Cobertura
Testbench
dc.description.none.fl_txt_mv 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.
Fil: Francesconi, Juan I.. Universidad Nacional del Sur. Departamento de Ingeniería Eléctrica y de Computadoras; Argentina
description 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.
publishDate 2015
dc.date.none.fl_str_mv 2015-11-30
dc.type.none.fl_str_mv info:eu-repo/semantics/masterThesis
info:eu-repo/semantics/acceptedVersion
http://purl.org/coar/resource_type/c_bdcc
info:ar-repo/semantics/tesisDeMaestria
format masterThesis
status_str acceptedVersion
dc.identifier.none.fl_str_mv http://repositoriodigital.uns.edu.ar/handle/123456789/2560
url http://repositoriodigital.uns.edu.ar/handle/123456789/2560
dc.language.none.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
http://creativecommons.org/licenses/by/4.0/
eu_rights_str_mv openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by/4.0/
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositorio Institucional Digital de la Universidad Nacional del Sur (RID-UNS)
instname:Universidad Nacional del Sur
reponame_str Repositorio Institucional Digital de la Universidad Nacional del Sur (RID-UNS)
collection Repositorio Institucional Digital de la Universidad Nacional del Sur (RID-UNS)
instname_str Universidad Nacional del Sur
repository.name.fl_str_mv Repositorio Institucional Digital de la Universidad Nacional del Sur (RID-UNS) - Universidad Nacional del Sur
repository.mail.fl_str_mv mesnaola@uns.edu.ar
_version_ 1844619085143343104
score 12.559606