A command-line tool to merge and resynchronize VCD (Value Change Dump) files based on a common reset signal. This tool is designed to help engineers and developers working with digital circuits and hardware simulations to combine multiple VCD traces into a single, synchronized trace.
- Merge Multiple VCD Files: Combine multiple VCD files into a single output file.
- Resynchronize Traces: Align traces based on a common reset signal.
- Handle Duplicate Signals: Automatically rename duplicate signals to avoid conflicts.
- Flexible Command-Line Interface: Easily specify input files, reset signal, and output file.
- Rust (latest stable version)
- Cargo (Rust package manager)
-
Clone the repository:
git clone https://github.com/vertrex/vcd_sync.git cd vcd-sync -
Build the project:
cargo build --release
-
The compiled binary will be available in the
target/releasedirectory.
| Argument | Description | Required |
|---|---|---|
vcd_files |
Paths to the VCD files to merge | Yes |
--reset_signal |
Name of the reset signal to resynchronize on | Yes |
--output_file |
Path to the output merged VCD file | Yes |
-
Basic Usage:
./vcd_sync file1.vcd file2.vcd --reset_signal reset --output_file merged.vcd
-
Merging Multiple Files:
./vcd_sync file1.vcd file2.vcd file3.vcd --reset_signal reset --output_file merged.vcd
-
Specify Input Files: Provide the paths to the VCD files you want to merge.
-
Specify Reset Signal: Use the
--reset_signaloption to specify the name of the reset signal to resynchronize on (this signal name must be the same in every files). -
Specify Output File: Use the
--output_fileoption to specify the path to the output merged VCD file.
Contributions are welcome! Please fork the repository and submit a pull request with your changes. Ensure that your code adheres to the existing style and includes appropriate tests.
This project is licensed under the GPLv3 License.
For questions or feedback, please open an issue on the GitHub repository.