Automatic generation of Verilog designs for testing EDA tools

dc.creatorJoão Victor Amorim Vieira
dc.date.accessioned2025-08-11T20:00:18Z
dc.date.accessioned2025-09-09T00:09:42Z
dc.date.available2025-08-11T20:00:18Z
dc.date.issued2025-05-23
dc.description.abstractA valida¸c˜ao de ferramentas de Automa¸c˜ao de Projeto Eletrˆonico (EDA) depende do uso de benchmarks–projetos escritos em Linguagens de Descrição de Hardware (HDLs), como Verilog, SystemVerilog ou VHDL. Embora existam coleções de benchmarks para essas linguagens, elas são geralmente limitadas em tamanho e variedade. Essa escassez tem sido cada vez mais evidente, devido `a crescente demanda por conjuntos de dados para o treinamento de grandes modelos de linguagem voltados para esse domínio. Para lidar com essa limitação, este trabalho apresenta uma metodologia e uma correspondente ferramenta, para a geração de projetos realistas em Verilog. A ferramenta, chamada ChiGen, foi originalmente desenvolvida para testar a plataforma de Verificação Formal Jasper®, um produto da Cadence Design Systems. Atualmente disponibilizada como software de código aberto, ChiGen demonstrou capacidade para identificar bugs inéditos (zero-day) em diversas ferramentas, incluindo Verible, Verilator e Yosys. Este artigo descreve os princípios que orientam o design do ChiGen, com foco em três aspectos principais: (i) geração orientada por gramáticas probabilísticas, (ii) inferência de tipos baseada no algoritmo de Hindley-Milner, e (iii) injeção de código viabilizada por análise de fluxo de dados. Quando executado em hardware convencional, o ChiGen supera ferramentas de fuzzing existentes para Verilog, como Verismith, TransFuzz e VlogHammer, em aspectos como diversidade estrutural, cobertura de código e capacidade de detecção de bugs.
dc.identifier.urihttps://hdl.handle.net/1843/84320
dc.languageeng
dc.publisherUniversidade Federal de Minas Gerais
dc.rightsAcesso Aberto
dc.rights.urihttp://creativecommons.org/licenses/by/3.0/pt/
dc.subjectComputação - Teses
dc.subjectVerilog (Linguagem descritiva de hardware) - Teses
dc.subject.otherVerilog
dc.subject.otherSynthesis
dc.subject.otherTesting
dc.subject.otherFuzzing
dc.titleAutomatic generation of Verilog designs for testing EDA tools
dc.typeDissertação de mestrado
local.contributor.advisor1Fernando Magno Quintão Pereira
local.contributor.advisor1Latteshttp://lattes.cnpq.br/4608001746330875
local.contributor.referee1Luiz Humberto Rezende Barbosa
local.contributor.referee1Mateus Beck Rutzig
local.contributor.referee1John Wickerson
local.creator.Latteshttps://lattes.cnpq.br/9329962944063662
local.description.resumoTesting Electronic Design Automation (EDA) tools rely on benchmarks—designs written in Hardware Description Languages (HDLs) such as Verilog, SystemVerilog, or VHDL. Although collections of benchmarks for these languages exist, they are typically limited in size and variety. This scarcity has recently drawn more attention due to the increasing need for training large language models in this domain. To deal with such limitation, this paper presents a methodology and a corresponding tool for generating realistic Verilog designs. The tool, called ChiGen, was originally developed to test the Jasper® Formal Verification Platform, a product by Cadence Design Systems. Released as open-source software, ChiGen has been able to identify zero-day bugs in a range of tools, including Verible, Verilator, and Yosys. This paper outlines the principles behind ChiGen’s design, focusing on three aspects: (i) generation guided by probabilistic grammars, (ii) type inference using the Hindley-Milner algorithm, and (iii) code injection enabled by dataflow analysis. Once deployed on standard hardware, ChiGen outperforms existing Verilog Fuzzers such as Verismith, TransFuzz, and VlogHammer regarding structural diversity, code coverage, and bug-finding ability.
local.identifier.orcidhttps://orcid.org/0009-0001-6775-2579
local.publisher.countryBrasil
local.publisher.departmentICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
local.publisher.initialsUFMG
local.publisher.programPrograma de Pós-Graduação em Ciência da Computação

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
Master_Thesis.pdf
Tamanho:
3.99 MB
Formato:
Adobe Portable Document Format

Licença do pacote

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
2.07 KB
Formato:
Plain Text
Descrição: