--- id: vcdvcd version: "2.6.0" license: unclear license_treatment: unclear maintenance: aging --- # vcdvcd — Python Verilog value change dump (VCD) parser library + the nifty vcdcat VCD command line viewer License: unclear · Maintenance: aging · Downloads: 132.7K/mo ## What it is and what it does vcdvcd is a parser for Verilog value change dump (VCD) files, the standard format used by digital simulation tools to record signal waveforms. It provides both a Python library and a command-line tool called vcdcat. The library parses VCD files into an in-memory structure that supports efficient random access to signal values at any point in time, or alternatively can operate in streaming mode with callbacks for memory-constrained applications. The command-line tool vcdcat formats VCD data for human inspection, with options to display all signals or filter to specific ones, show only signal changes (deltas mode), and view data in a tabular format. The package has no external runtime dependencies, making it straightforward to install and use in both scripting and embedded analysis workflows. Use it for: - Inspect and debug digital simulation waveforms from Verilog testbenches without specialized EDA tools. - Extract specific signal traces from large VCD files for analysis or reporting in automated test frameworks. - Stream-process VCD data in memory-constrained environments using callback-based parsing. - Filter and display only relevant signals during simulation result review to reduce output noise. - Programmatically query signal values at arbitrary time points for post-simulation verification scripts. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Parses Verilog value change dump (VCD) files and provides both a Python library API for programmatic access and a command-line tool (vcdcat) for viewing and filtering signal data. Yes, if you work with Verilog simulations and need to parse or inspect VCD files. The package is lightweight, dependency-free, and actively maintained. However, verify the license before use in proprietary projects, since the license treatment is unclear. The aging maintenance status (last release 299 days ago) is not a blocker for stable file format parsing, but check the repository for any open issues relevant to your use case. ## Install pip install vcdvcd uv add vcdvcd poetry add vcdvcd ## Installing vcdvcd Before you install: Low friction installation with no runtime dependencies. Last release was 299 days ago; repository is active but aging, with 69 stars and no known security issues. License in practice: License treatment is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license before use in proprietary or restricted contexts. Quickstart: pip install vcdvcd from vcdvcd import VCDVCD vcd = VCDVCD('counter_tb.vcd') signal = vcd['counter_tb.top.out[1:0]'] print(signal.tv) # List of (time, value) pairs Verify before relying: - Minimum Python version requirement is not specified in the fact sheet. - Whether the library handles large VCD files efficiently beyond the streaming callback mode mentioned in the description. ## Package facts - License: not declared (unclear) - Python support: unspecified - Install friction: low - Maintenance: aging - Downloads: 132.7K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags verilog vcd parser, value change dump reader, vcd file viewer, verilog simulation waveform, digital signal trace analysis, vcdcat command line tool, vcd to text converter, verilog-simulation, waveform-analysis, cli-tool [View on SkillFed](https://skillfed.io/packages/vcdvcd) · [View on PyPI](https://pypi.org/project/vcdvcd/)