{"id":24806,"library":"vcdvcd","title":"vcdvcd","description":"A Python library for parsing Verilog Value Change Dump (VCD) files, with a built-in command-line viewer vcdcat. Current version 2.6.0, released 2024. Development is stable with occasional updates.","status":"active","version":"2.6.0","language":"python","source_language":"en","source_url":"https://github.com/cirosantilli/vcdvcd","tags":["vcd","verilog","parser","value change dump"],"install":[{"cmd":"pip install vcdvcd","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"Main parser class.","symbol":"VCDVCD","correct":"from vcdvcd import VCDVCD"}],"quickstart":{"code":"from vcdvcd import VCDVCD\n\n# Parse a VCD file\nvcd = VCDVCD('trace.vcd')\n\n# Iterate over signals\nfor signal in vcd.signals:\n    print(signal.reference, signal.times, signal.tv)\n\n# Get a specific signal by reference (hierarchical name)\nsignal_data = vcd.get_signal_data('top.clk')\nif signal_data:\n    print(signal_data.tv)","lang":"python","description":"Opens a VCD file, iterates over signals, and retrieves signal data."},"warnings":[{"fix":"Use vcd.signals to list available references and use the full dotted name.","message":"Signal hierarchy uses dots internally; signals are stored with full hierarchical reference (e.g., 'top.sub.sig') even if the VCD uses dollar var. Querying without the full path will return None.","severity":"gotcha","affected_versions":"all"},{"fix":"Convert times to int if needed: int(time_value).","message":"Time values are stored as strings by default. vcds and changes are lists with time as first element (also string).","severity":"gotcha","affected_versions":"all"},{"fix":"Change import to: from vcdvcd import VCDVCD","message":"The old import from vcdvcd import VCD is deprecated and may be removed. Use VCDVCD.","severity":"deprecated","affected_versions":">=2.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"pip install vcdvcd","cause":"Library not installed.","error":"ModuleNotFoundError: No module named 'vcdvcd'"},{"fix":"Ensure you are using from vcdvcd import VCDVCD and that the file is valid. Check vcd.signals is a list.","cause":"Using an old import or attribute name; signals may not be populated if VCD file has no signals, or incorrect version.","error":"AttributeError: 'VCDVCD' object has no attribute 'signals'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}