{"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,"search_vec":"'2.6.0':25 '2024':27 'built':16 'built-in':15 'chang':9,38 'command':19 'command-lin':18 'current':23 'develop':28 'dump':10,39 'file':12 'librari':4 'line':20 'occasion':32 'pars':6 'parser':36 'python':3 'releas':26 'stabl':30 'updat':33 'valu':8,37 'vcd':11,34 'vcdcat':22 'vcdvcd':1 'verilog':7,35 'version':24 'viewer':21","created_at":"2026-05-01T08:15:01.123936+00:00","updated_at":"2026-05-01T08:15:01.123936+00:00","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,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"2.6.0","cli_name":"vcdcat","cli_version":"usage: vcdcat [-h] [--china] [-d] [-l] [-x | -r] [vcd-path] [signals ...]","type":"library","homepage":null,"github":"https://github.com/cirosantilli/vcdvcd","docs":null,"changelog":null,"pypi":"https://pypi.org/project/vcdvcd/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["data","serialization"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-29","last_verified":"2026-06-29","next_check":"2026-07-29","install_tag":null}}