Supported Formats
NovyWave supports the three waveform formats most commonly encountered in open hardware development.
Extension: .vcd
VCD is the most portable option and is supported by most Verilog and SystemVerilog toolchains.
Strengths
Section titled “Strengths”- human-readable text format
- easy to inspect or diff during debugging
- broad simulator compatibility
Tradeoffs
Section titled “Tradeoffs”- large file sizes
- slower parsing than binary formats
Example Generation
Section titled “Example Generation”initial begin $dumpfile("output.vcd"); $dumpvars(0, top_module);endExtension: .fst
FST is a compact binary format optimized for waveform viewing and random access.
Strengths
Section titled “Strengths”- much smaller than VCD
- faster to load for large simulations
- a good default for Verilator-based flows
Example Generation
Section titled “Example Generation”Verilated::traceEverOn(true);VerilatedFstC* tfp = new VerilatedFstC;top->trace(tfp, 99);tfp->open("output.fst");Extension: .ghw
GHW is the native output format of the GHDL simulator. It preserves VHDL-specific type information — records, arrays, and enumerations — better than VCD, which flattens everything into bit vectors.
Strengths
Section titled “Strengths”- good fit for GHDL and VHDL projects
- preserves hierarchical and VHDL-oriented data cleanly
- retains VHDL-specific type information (records, arrays, enumerations) that other formats lose
- real-valued signals in GHW files are rendered as analog traces in NovyWave
NovyWave parses GHW files through the wellen library, which handles the binary format and exposes scopes, signals, and type metadata to the viewer.
Example Generation
Section titled “Example Generation”ghdl -r testbench --wave=output.ghwComparison
Section titled “Comparison”| Format | Best fit | File size | Parse speed |
|---|---|---|---|
| VCD | universal compatibility | large | slower |
| FST | Verilator and large traces | small | fast |
| GHW | GHDL and VHDL | medium | medium |
Recommendation
Section titled “Recommendation”- choose FST when your simulator supports it and performance matters
- choose GHW for GHDL-centered VHDL work
- choose VCD when portability matters more than file size