Template code generator for design verification based on universal verification methodology

In recent years, the semiconductor industry has been showing advanced growth driven by the increasing demand for electronic devices such as smartphones, laptops, tablets and other consumer electronics. Given their extensive applications, the need for higher performance and efficiency requirements ha...

Full description

Bibliographic Details
Main Author: Kahale, Theresa
Other Authors: Matemaattis-luonnontieteellinen tiedekunta, Faculty of Sciences, Fysiikan laitos, Department of Physics, Jyväskylän yliopisto, University of Jyväskylä
Format: Master's thesis
Language:eng
Published: 2023
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/89067
_version_ 1828193043444924416
author Kahale, Theresa
author2 Matemaattis-luonnontieteellinen tiedekunta Faculty of Sciences Fysiikan laitos Department of Physics Jyväskylän yliopisto University of Jyväskylä
author_facet Kahale, Theresa Matemaattis-luonnontieteellinen tiedekunta Faculty of Sciences Fysiikan laitos Department of Physics Jyväskylän yliopisto University of Jyväskylä Kahale, Theresa Matemaattis-luonnontieteellinen tiedekunta Faculty of Sciences Fysiikan laitos Department of Physics Jyväskylän yliopisto University of Jyväskylä
author_sort Kahale, Theresa
datasource_str_mv jyx
description In recent years, the semiconductor industry has been showing advanced growth driven by the increasing demand for electronic devices such as smartphones, laptops, tablets and other consumer electronics. Given their extensive applications, the need for higher performance and efficiency requirements has led to smart and innovative development of complex designs, resulting in a more challenging verification process. With the highest workload (around 70%) on verification, adopting tools and methodologies such as Universal Verification Methodology (UVM) is critical to enhance the quality of the design and increase the time-to-market with no defects. UVM is a SystemVerilog based architecture that provides a library to establish robust verification environments. It enables the use of customizable modular and reusable components and testbenches. To reduce the verification time and effort, this master thesis proposes a UVM code generator which instantiates the essential infrastructure for UVM verification components and creates the necessary directory structure for the codes and the files. Given the design input and UVM template files, the code generator will compose the building blocks such as the interfaces and UVM verification components (UVC), environments and testbenches that will connect the Design Under Test (DUT) to the UVCs. The UVM standard structure and proper encapsulation will be adopted to allow for flexible modification and reusability in top level verification environments. To ensure its correct functionality, the tool will be tested on a simple AHB SRAM Controller that manages access to a single port SRAM interface. Constrained random tests will be provided including the necessary checks to get full coverage on the design. Overall, the work on the template code generator enables the automation of block level verification using UVM by providing the verification engineers with the completed testbench and environment to test the DUT.
first_indexed 2023-09-14T20:13:14Z
format Pro gradu
free_online_boolean 1
fullrecord [{"key": "dc.contributor.advisor", "value": "Javanainen, Arto", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Kahale, Theresa", "language": "", "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2023-09-14T06:04:27Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2023-09-14T06:04:27Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2023", "language": "", "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/89067", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "In recent years, the semiconductor industry has been showing advanced growth driven by the increasing demand for electronic devices such as smartphones, laptops, tablets and other consumer electronics. Given their extensive applications, the need for higher performance and efficiency requirements has led to smart and innovative development of complex designs, resulting in a more challenging verification process. With the highest workload (around 70%) on verification, adopting tools and methodologies such as Universal Verification Methodology (UVM) is critical to enhance the quality of the design and increase the time-to-market with no defects. UVM is a SystemVerilog based architecture that provides a library to establish robust verification environments. It enables the use of customizable modular and reusable components and testbenches. To reduce the verification time and effort, this master thesis proposes a UVM code generator which instantiates the essential infrastructure for UVM verification components and creates the necessary directory structure for the codes and the files. Given the design input and UVM template files, the code generator will compose the building blocks such as the interfaces and UVM verification components (UVC), environments and testbenches that will connect the Design Under Test (DUT) to the UVCs. The UVM standard structure and proper encapsulation will be adopted to allow for flexible modification and reusability in top level verification environments. To ensure its correct functionality, the tool will be tested on a simple AHB SRAM Controller that manages access to a single port SRAM interface. Constrained random tests will be provided including the necessary checks to get full coverage on the design. Overall, the work on the template code generator enables the automation of block level verification using UVM by providing the verification engineers with the completed testbench and environment to test the DUT.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by Paivi Vuorio (paelvuor@jyu.fi) on 2023-09-14T06:04:27Z\nNo. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2023-09-14T06:04:27Z (GMT). No. of bitstreams: 0\n Previous issue date: 2023", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "45", "language": "", "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.language.iso", "value": "eng", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": null, "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.subject.other", "value": "UVM", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "template code generator", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "verification environment and testbenches", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "chip design", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Template code generator for design verification based on universal verification methodology", "language": "", "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "master thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-202309145089", "language": "", "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Master\u2019s thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Pro gradu -tutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Matemaattis-luonnontieteellinen tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Sciences", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Fysiikan laitos", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Department of Physics", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Elektroniikka", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Electronics", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "yvv.contractresearch.collaborator", "value": "business", "language": "", "element": "contractresearch", "qualifier": "collaborator", "schema": "yvv"}, {"key": "yvv.contractresearch.funding", "value": "0", "language": "", "element": "contractresearch", "qualifier": "funding", "schema": "yvv"}, {"key": "yvv.contractresearch.initiative", "value": "student", "language": "", "element": "contractresearch", "qualifier": "initiative", "schema": "yvv"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_bdcc", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.copyright", "value": "\u00a9 The Author(s)", "language": null, "element": "rights", "qualifier": "copyright", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": null, "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "masterThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.subject.oppiainekoodi", "value": "4022", "language": "", "element": "subject", "qualifier": "oppiainekoodi", "schema": "dc"}, {"key": "dc.subject.yso", "value": "verifiointi", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "mikroelektroniikka", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "simulointi", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "verification", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "microelectronics", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "simulation", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}]
id jyx.123456789_89067
language eng
last_indexed 2025-03-31T20:02:32Z
main_date 2023-01-01T00:00:00Z
main_date_str 2023
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/845317fd-d1d4-489c-81a1-426f82cffd71\/download","text":"URN:NBN:fi:jyu-202309145089.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2023
record_format qdc
source_str_mv jyx
spellingShingle Kahale, Theresa Template code generator for design verification based on universal verification methodology UVM template code generator verification environment and testbenches chip design Elektroniikka Electronics 4022 verifiointi mikroelektroniikka simulointi verification microelectronics simulation
title Template code generator for design verification based on universal verification methodology
title_full Template code generator for design verification based on universal verification methodology
title_fullStr Template code generator for design verification based on universal verification methodology Template code generator for design verification based on universal verification methodology
title_full_unstemmed Template code generator for design verification based on universal verification methodology Template code generator for design verification based on universal verification methodology
title_short Template code generator for design verification based on universal verification methodology
title_sort template code generator for design verification based on universal verification methodology
title_txtP Template code generator for design verification based on universal verification methodology
topic UVM template code generator verification environment and testbenches chip design Elektroniikka Electronics 4022 verifiointi mikroelektroniikka simulointi verification microelectronics simulation
topic_facet 4022 Electronics Elektroniikka UVM chip design microelectronics mikroelektroniikka simulation simulointi template code generator verification verification environment and testbenches verifiointi
url https://jyx.jyu.fi/handle/123456789/89067 http://www.urn.fi/URN:NBN:fi:jyu-202309145089
work_keys_str_mv AT kahaletheresa templatecodegeneratorfordesignverificationbasedonuniversalverificationmethodology