Multi-File Comparison
This tutorial shows how to load and compare signals from multiple waveform files in NovyWave.
Scenario
Section titled “Scenario”You have two simulation results to compare:
baseline.vcd— known-good reference simulationcurrent.vcd— current design under test
Step 1: Load Multiple Files
Section titled “Step 1: Load Multiple Files”Method A: Multi-Select
Section titled “Method A: Multi-Select”- Click Load Files
- Navigate to your files directory
- Hold
Ctrl(orCmdon macOS) - Click both
baseline.vcdandcurrent.vcd - Click Load
Method B: Sequential Loading
Section titled “Method B: Sequential Loading”- Click Load Files > Select
baseline.vcd> Click Load - Click Load Files > Select
current.vcd> Click Load
Both files now appear in the Files & Scopes panel.
Step 2: Understand File Disambiguation
Section titled “Step 2: Understand File Disambiguation”If files have the same name from different directories, NovyWave adds path prefixes:
tests/pass/design.vcd → pass/design.vcdtests/fail/design.vcd → fail/design.vcdStep 3: Select Signals from Multiple Files
Section titled “Step 3: Select Signals from Multiple Files”From the First File
Section titled “From the First File”- Expand
baseline.vcd - Click the checkbox for the scope you want (e.g.,
TOP > dut) - In the Variables panel, click
clkanddata_out
From the Second File
Section titled “From the Second File”- Expand
current.vcd - Click the checkbox for the same scope (
TOP > dut) - In the Variables panel, click
data_out
Step 4: View Combined Signals
Section titled “Step 4: View Combined Signals”The Selected Variables panel shows signals from both files together:
baseline.vcd|TOP|dut|clk [1] [Bin]baseline.vcd|TOP|dut|data_out [0x42] [Hex]current.vcd|TOP|dut|data_out [0x42] [Hex]Step 5: Time Alignment
Section titled “Step 5: Time Alignment”Both files typically start at time 0, so they align automatically.
Press R to see the full combined timeline. The view extends to cover the longest file.
If your files have different durations (e.g., 100ns vs 150ns), signals from the shorter file show N/A outside their time range.
Step 6: Compare Signals
Section titled “Step 6: Compare Signals”Visual Comparison
Section titled “Visual Comparison”Look for differences in waveform patterns. Mismatches stand out when signals are adjacent.
Cursor-Based Comparison
Section titled “Cursor-Based Comparison”- Press
Rto see the full timeline - Click on an area that looks different
- Use
Q/Eto fine-tune cursor position - Compare values in the Value column
Jump to Differences
Section titled “Jump to Differences”Use Shift+Q and Shift+E to jump between transitions. If the files differ, one signal will transition while the other doesn’t.
Practical Tips
Section titled “Practical Tips”Compare Clock Signals
Section titled “Compare Clock Signals”Add clock signals from both files to verify time alignment. If clocks don’t match, there may be time scale differences.
Focus on Outputs
Section titled “Focus on Outputs”When debugging, compare output signals first — outputs show the final result of internal differences. Trace backward from output differences to find the root cause.
Use Consistent Formatting
Section titled “Use Consistent Formatting”Set the same format (Hex, Bin, etc.) for signals you’re comparing to make differences easier to spot.
Use Common Scope Level
Section titled “Use Common Scope Level”Select scopes at the same hierarchy level in both files for meaningful comparison.
Common Use Cases
Section titled “Common Use Cases”Design Partitioning
Section titled “Design Partitioning”Compare signals from separately simulated subsystems:
cpu_simulation.vcdmemory_simulation.vcdio_simulation.vcdRegression Testing
Section titled “Regression Testing”Compare known-good waveforms against current results:
test_pass.fst # Referencetest_current.fst # Under testMixed Language
Section titled “Mixed Language”Combine Verilog and VHDL simulation outputs:
verilog_top.vcd # Verilog wrappervhdl_core.ghw # VHDL implementationRemoving Files
Section titled “Removing Files”- Click X on individual files in Files & Scopes panel
- Or click Remove All to clear everything
Persistence
Section titled “Persistence”NovyWave automatically saves your multi-file setup — both loaded files, all selected signals, and your view settings. Reopen NovyWave later to continue your analysis.