Skip to content

About

TWV Waveform format specification and VCD converter

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vcd-converter-cli

High-speed, zero-dependency CLI tool for converting massive IEEE 1364 VCD trace files (4GB+) into compact Tangram Waveform v1 (.twv) binary files.

License: MIT Specification: TWV v1 Live Demo


🌐 Live Web Viewer Demo

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


⚡ Highlights

  • 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.

🚀 Quick Usage

# Basic conversion (generates trace.twv)
./vcd-converter trace.vcd

# Custom output path
./vcd-converter -o custom_output.twv trace.vcd

🛠️ Cross-Compilation Instructions

1. Windows (PowerShell / CMD)

build.bat

2. Linux & macOS (Bash)

chmod +x build.sh
./build.sh

🖥️ Manual Go Build Commands

Linux Server (HPC / EDA Simulation Server x86_64)

GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o dist/vcd-converter-linux-amd64 main.go

Windows (64-bit)

set GOOS=windows
set GOARCH=amd64
set CGO_ENABLED=0
go build -ldflags="-s -w" -o dist/vcd-converter-windows-amd64.exe main.go

macOS Apple Silicon (M1 / M2 / M3 / M4)

GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -ldflags="-s -w" -o dist/vcd-converter-darwin-arm64 main.go

macOS Intel

GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o dist/vcd-converter-darwin-amd64 main.go

Linux ARM64 (Ampere / Graviton)

GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -ldflags="-s -w" -o dist/vcd-converter-linux-arm64 main.go

📄 License & Open Standard

Distributed under the MIT License.
Full binary format technical specification is available at SPECIFICATION.md.

About

TWV Waveform format specification and VCD converter

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages