DWFV

Build Status Crates.io Docs Status

A simple digital waveform viewer with vi-like key bindings.

shell $ dwfv sample.vcd

screenshot

The tool takes a Value Change Dump (VCD) file (as defined by IEEE Standard 1364-1995) as input and displays the waveforms using tui-rs.

The backend API which facilitates the manipulation of digital signals in Rust is also exposed and can be used independently of the TUI.

Installation

shell $ cargo install dwfv

From sources:

shell $ cargo install --path .

Key Bindings

Global

Cursor movement

Frame

Editing

Search

Visual mode

Mouse

Command-Line Interface

Show some stats about the VCD file

shell $ dwfv examples/sample.vcd stats test ! (value) - width: 8, edges: 37, from: 0, to: 1010 " (clk) - width: 1, edges: 102, from: 0, to: 1010 # (reset) - width: 1, edges: 5, from: 0, to: 620 c1 " (clk) - width: 1, edges: 102, from: 0, to: 1010 # (reset) - width: 1, edges: 5, from: 0, to: 620 $ (out) - width: 8, edges: 37, from: 0, to: 1010

Display values of the signal at a given time

shell $ dwfv sample.vcd at 42 test ! (value) = h07 " (clk) -> h0 # (reset) = h0 c1 " (clk) -> h0 # (reset) = h0 $ (out) = h07

Search in the waveforms

shell $ dwfv sample.vcd when '$! = 2' 310-330 650-670 $ dwfv sample.vcd when '$! <- 4' 350 690

LICENSE

MIT