Skip to content
| Marketplace
Sign in
Visual Studio Code>Data Science>EDA Waveform Extension for impulseNew to Visual Studio Code? Get it now.
EDA Waveform Extension for impulse

EDA Waveform Extension for impulse

toem GmbH

|
1 install
| (0) | Free
This package provides an extension for the impulse framework, focusing on the import and (optionally) export of Electronic Design Automation (EDA) waveform data. impulse is a powerful, extensible platform for signal analysis, visualization, and processing, widely used in engineering and scientific d
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info
EDA Waveform Extension Screenshot

EDA Waveform Extension for impulse

This package provides an extension for the impulse framework, focusing on the import and (optionally) export of Electronic Design Automation (EDA) waveform data. impulse is a powerful, extensible platform for signal analysis, visualization, and processing, widely used in engineering and scientific domains to handle a broad range of data formats.

About impulse

impulse is a modular, open-source framework designed to unify the handling of signal and measurement data from diverse sources. It provides a robust infrastructure for reading, writing, analyzing, and visualizing signals, supporting both simple and highly structured data. impulse's extensible architecture allows developers to add support for new data formats by implementing custom readers and writers, making it a versatile tool for engineers, scientists, and developers.

About EDA

Electronic Design Automation (EDA) refers to the category of software tools used for designing, simulating, and verifying electronic systems such as integrated circuits, FPGAs, and printed circuit boards. EDA tools generate waveform data during simulation and verification processes, which are essential for analyzing digital and mixed-signal designs. Common EDA waveform formats include VCD, FST, FSDB, and WLF, each associated with different simulation tools and workflows.

Purpose of this Extension

The EDA Waveform Extension integrates support for standard EDA waveform formats into impulse, enabling users to seamlessly import, analyze, and visualize simulation and measurement results from popular EDA tools. This extension is essential for anyone working with digital or mixed-signal simulation data, as it bridges the gap between EDA tool outputs and the advanced analysis capabilities of impulse.

Supported and Planned Formats

This package currently includes, or is planned to include, readers (and optionally writers) for the following EDA waveform formats:

  • VCD (Value Change Dump):
    The industry-standard text-based format for representing digital simulation waveforms, widely supported by Verilog and SystemVerilog simulators.

  • FST (Fast Signal Trace):
    A compact, binary waveform format developed by GTKWave, offering efficient storage and fast access for large simulation datasets.
    FST support is already implemented in this extension.

  • FSDB (Fast Signal Database):
    A high-performance, binary waveform database format used by several commercial EDA tools (e.g., Synopsys VCS, Novas Debussy).
    FSDB support is in preparation.

  • WLF (Waveform Log Format):
    The native waveform format for Mentor Graphics ModelSim and Questa simulators.
    WLF support is in preparation.

Additional formats may be added in the future as the needs of the EDA and impulse communities evolve.

Getting Started

To use this extension, install it into your impulse-enabled environment. Once installed, you can import supported EDA waveform files directly into impulse for analysis and visualization. For details on implementing or extending readers and writers, refer to the impulse documentation.

Status

  • VCD: Supported (reader implemented "stable")
  • FST: Supported (reader implemented "experimental")
  • FSDB: In preparation
  • WLF: In preparation

Contributions and feedback are welcome as this extension continues to evolve.

From extension: vcd

This folder contains the VCD (Value Change Dump) reader implementation, documentation, and sample data for validation inside the impulse framework.

Contents

  • VcdReader.java
    • The VCD reader implementation that parses VCD files into impulse records, sets up writers (logic/real/text), applies properties (include/exclude, time range, transforms), and integrates with logging/progress.
  • vcd-reader.md
    • Reader documentation covering capabilities, properties, implementation details, and known limitations.
  • vcd-format.md
    • Reference notes and guidance about the VCD file format as relevant to parsing.
  • vcd-reader-test.jx
    • A test scenario/workflow to exercise the reader against the provided sample data.
  • samples/
    • Example inputs and reference outputs for quick verification.
    • OVERVIEW.md: Describes the sample collection and intent.
    • ref_build.jx: Reference test/build configuration for running validations.
    • t0001.vcd … t0030.vcd: Input VCD files covering a range of features and edge cases.
    • tXXXX.recMl files: Expected impulse record outputs to compare against imports.
    • Variants like t0002_range.recMl, t0002_select.recMl: Expected outputs for specific property configurations (e.g., time range, include/exclude).

From extension: fst

This folder contains the FST (Fast Signal Trace) reader implementation, documentation, and sample data for validation inside the impulse framework.

Contents

  • FstReader.java
    • FST reader implementation that parses FST blocks (header, geometry, hierarchy, value changes) and writes impulse records.
  • fst-reader.md
    • Reader documentation: capabilities, properties, implementation details, limitations.
  • fst-format.md
    • Notes and specification details about the FST file format and block structures.
  • samples/
    • Example inputs and reference outputs for verification.
    • OVERVIEW.md: Summary of the sample collection.
    • ref_build.imp: Reference build/test configuration.
    • t0001.fst … t0030.fst: Input FST files covering features and edge cases.
    • tXXXX.recMl files: Expected impulse record outputs.
    • Variants (e.g., range/select/transform): Expected outputs for specific property configurations.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft