High-speed, zero-dependency CLI tool for converting massive IEEE 1364 VCD trace files (4GB+) into compact Tangram Waveform v1 (
.twv) binary files.
You can inspect, drag-and-drop, and interactively explore .twv and .vcd files directly in your web browser with zero installation:
👉 https://tangram.techarts.cn/wave
- 25x ~ 100x Lossless Compression: Converts a 1GB VCD file down to ~38MB without losing a single delta transition.
- Fast Execution: Written in pure Go with custom fast-path symbol hashing and zero heap allocations during trace scanning.
- Zero Dependencies: Pure static single binary (
CGO_ENABLED=0) with no glibc / dynamic library requirements. - Standardized Format: Fully documented open binary format specification in SPECIFICATION.md.
# Basic conversion (generates trace.twv)
./vcd-converter trace.vcd
# Custom output path
./vcd-converter -o custom_output.twv trace.vcdbuild.batchmod +x build.sh
./build.shGOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o dist/vcd-converter-linux-amd64 main.goset GOOS=windows
set GOARCH=amd64
set CGO_ENABLED=0
go build -ldflags="-s -w" -o dist/vcd-converter-windows-amd64.exe main.goGOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -ldflags="-s -w" -o dist/vcd-converter-darwin-arm64 main.goGOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o dist/vcd-converter-darwin-amd64 main.goGOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -ldflags="-s -w" -o dist/vcd-converter-linux-arm64 main.goDistributed under the MIT License.
Full binary format technical specification is available at SPECIFICATION.md.