Limitations
This page documents important constraints that follow from the current implementation.
Supported HDL scope
hdltbgen currently supports only VHDL files with the extension .vhd. The CLI does
not accept Verilog, SystemVerilog, or alternate VHDL filename extensions.
Parser limitations
The parser is intentionally lightweight and uses regular expressions instead of a full VHDL grammar. That keeps the tool simple, but it also means:
the entity declaration must be written in a form the regex patterns can match
malformed or highly unusual formatting may not parse correctly
only the entity interface is analyzed, not behavioral code inside the architecture
support for advanced VHDL constructs is limited to what the current expressions capture
Generic values
If an entity contains generics and --ask is not used, generated generic constants
are populated with TODO placeholders. The generated VHDL is then a scaffold, not a
ready-to-compile artifact, until these values are replaced.
Clock and reset heuristics
Automatic classification is name-based. If your ports do not follow the expected
clk, rst, or reset naming patterns, hdltbgen may choose the wrong signals or may
insert a virtual clock. Explicit CLI arguments are recommended in such cases.
Excel portability
The Excel generator depends on:
openpyxl for workbook creation
xlwings for Excel automation and VBA insertion
a local Excel configuration that permits access to the VBA project model
The first two are optional Python dependencies and are installed via the
excel extra: pip install "hdltbgen[excel]".
This generator can therefore behave differently across environments even when the Python dependencies are installed.
Failure behavior
The CLI currently raises direct Python exceptions for many error cases. There is no custom error formatting layer, so failures are functional but not heavily user-friendly.
Project maturity
The tool is best understood as a code-generation utility that creates a solid starting point. Generated artifacts usually still require engineering review and project-specific refinement before they are used as part of a production verification flow.