Automatic generation of Verilog designs for testing EDA tools
Carregando...
Arquivos
Data
Autor(es)
Título da Revista
ISSN da Revista
Título de Volume
Editor
Universidade Federal de Minas Gerais
Descrição
Tipo
Dissertação de mestrado
Título alternativo
Primeiro orientador
Membros da banca
Luiz Humberto Rezende Barbosa
Mateus Beck Rutzig
John Wickerson
Mateus Beck Rutzig
John Wickerson
Resumo
Testing 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.
Abstract
A 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.
Assunto
Computação - Teses, Verilog (Linguagem descritiva de hardware) - Teses
Palavras-chave
Verilog, Synthesis, Testing, Fuzzing
Citação
Departamento
Endereço externo
Avaliação
Revisão
Suplementado Por
Referenciado Por
Licença Creative Commons
Exceto quando indicado de outra forma, a licença deste item é descrita como Acesso Aberto
