Skip to content
STIMSMITH

ChiGen

Tool
First seen 8/4/2026
Last seen 8/4/2026
Evidence 30 chunks

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

46 connections
TransFuzz compares with → 100% 6e
ChiGen is compared against TransFuzz in terms of structural diversity, code coverage, and bug-finding ability.
Verismith compares with → 100% 6e
ChiGen is compared against Verismith in terms of structural diversity, code coverage, and bug-finding ability.
VlogHammer compares with → 100% 6e
ChiGen is compared against VlogHammer in terms of structural diversity, code coverage, and bug-finding ability.
ChiBench uses → 100% 5e
ChiGen was trained on ChiBench, a collection of 50,000 Verilog designs.
Hindley-Milner Type Inference uses → 100% 5e
ChiGen applies the Hindley-Milner type inference algorithm to infer the types of variables in generated Verilog designs.
Jasper Formal Verification Platform evaluates → 100% 5e
ChiGen was originally developed to test and evaluate the Jasper Formal Verification Platform.
Yosys evaluates → 100% 5e
ChiGen was used in bug-finding campaigns on Yosys, revealing crashes and issues.
Fuzzing implements → 100% 4e
ChiGen is a fuzzer that generates random Verilog designs to test EDA tools.
Verilator evaluates → 100% 4e
ChiGen was used in bug-finding campaigns on Verilator, revealing crashes and issues.
Icarus Verilog evaluates → 100% 4e
ChiGen uncovered issues in Icarus Verilog through generated designs.
SystemVerilog mentions → 85% 3e
ChiGen generates some SystemVerilog syntax but does not support the full IEEE 1800-2017 SystemVerilog specification.
Classes (SystemVerilog) introduces → 100% 3e
ChiGen was enhanced to include the generation of SystemVerilog class constructs.
SystemVerilog Assertions introduces → 100% 3e
ChiGen was enhanced to generate SystemVerilog assertions and formal verification primitives.
Verible evaluates → 100% 3e
ChiGen was used to find and confirm bugs in Verible including crashes.
Module Injection uses → 98% 3e
ChiGen uses module injection to combine multiple Verilog modules into complex designs.
Code Injection uses → 100% 3e
ChiGen uses code injection to combine Verilog modules, functions, and references to achieve a predefined number of tokens.
Probabilistic Context-Free Grammar uses → 100% 3e
ChiGen uses a Probabilistic Context-Free Grammar to generate the skeleton of Verilog designs.
Packages (SystemVerilog) introduces → 100% 3e
ChiGen was enhanced to include the generation of SystemVerilog package constructs.
Electronic Design Automation uses → 90% 2e
ChiGen was developed to test EDA tools by generating Verilog designs.
Probabilistic Grammar implements → 100% 2e
ChiGen generates Verilog designs through skeleton generation using a probabilistic grammar.
n-gram Language Model uses → 100% 2e
ChiGen uses n-gram language models to guide synthesis of Verilog programs.
Scope Management uses → 100% 2e
ChiGen employs a dedicated scope management engine called the 'scope delimiter' to manage identifier visibility.
Abstract Syntax Tree Generation uses → 100% 2e
ChiGen produces abstract syntax trees during its generation process which are then refined.
Verible uses → 100% 2e
ChiGen uses Verible's grammar as the basis for its probabilistic context-free grammar.
Interfaces (SystemVerilog) introduces → 100% 2e
ChiGen was enhanced to include the generation of SystemVerilog interface constructs.
Verilog implements → 100% 2e
ChiGen generates Verilog designs as its core output.
SystemVerilog implements → 100% 2e
ChiGen generates SystemVerilog designs including modern constructs.
formal verification implements → 90% 2e
ChiGen implements generation of formal verification constructs like assertions and properties.
The paper presents and uses ChiGen as its primary tool for Verilog generation and EDA testing.
Bottom-Up Generation implements → 100% 2e
ChiGen is described as a 'bottom-up' fuzzer that generates Verilog designs using bottom-up generation methodology.
Variable Renaming and Scope Creation uses → 100% 2e
ChiGen replaces mock identifiers with names that respect scoping rules using variable renaming and scope creation.
Context-Sensitive Probabilities uses → 95% 2e
ChiGen uses context-sensitive probabilities in its probabilistic grammar to better model real Verilog syntax.
Skeleton Generation uses → 100% 2e
ChiGen first generates a skeleton of a Verilog design before filling in names and types.
Constraint Generation and Unification uses → 98% 2e
ChiGen uses constraint generation and unification as part of the Hindley-Milner type inference process.
Cadence Design Systems authored by → 90% 2e
ChiGen was originally developed to test Cadence's Jasper platform, with Cadence engineers as co-authors.
Code Coverage evaluates → 90% 2e
ChiGen is evaluated in terms of code coverage it achieves when its generated designs are used as input to EDA tools.
ChiBench ← part of 85% 2e
ChiBench is released alongside ChiGen as a companion training benchmark suite.
The paper introduces enhancements to ChiGen, a Verilog fuzzer.
Hardware Description Language implements → 100% 1e
ChiGen generates programs in Verilog and SystemVerilog, which are hardware description languages.
Fernando Magno Quintão Pereira authored by → 90% 1e
Fernando Magno Quintão Pereira is listed as one of the authors of the paper presenting ChiGen and is affiliated with UFMG.
Reaching Definition Analysis uses → 95% 1e
ChiGen uses reaching definition analysis to determine valid injection points for module injection.
UFMG authored by → 90% 1e
ChiGen was developed at UFMG in collaboration with Cadence Design Systems.
Cadence Design Systems ← uses 100% 1e
ChiGen has been integrated into Cadence Design Systems' development methodology.
Large Language Model ← compares with 90% 1e
ChiGen is compared with LLMs for Verilog code generation, highlighting its unique advantage of probabilistic grammar-based generation.
Abstract Syntax Tree uses → 90% 1e
ChiGen uses an abstract syntax tree during constraint generation for type inference.
AddressSanitizer uses → 85% 1e
ChiGen's bug-finding campaigns compiled EDA tools with AddressSanitizer to detect memory errors.