impulse

The signal Workbench.
Understand - Debug - Analyse -- from inside of your IDE.

impulse is a powerful visualization and analysis workbench which helps engineers to comfortably understand and debug complex semiconductor and multi-core software systems.
All impulse components are fully integrated into the Eclipse framework (Windows, Linux and OSX/Mac) and can be combined with a growing set of emerging Eclipse technologies and extensions (IoT, language IDEs, reports, CM, etc.).

Attach

A growing array of data formats and external interfaces (signal ports) provide a common transparent view of different sources. 
Read and combine multiple signal sources (traces, logs, waveforms, databases, etc.) from local resources or external networks, serial interfaces, data acquisition units and debug adapters.

View

Easy-to-use visualization elements enable the design of informative views. 
Use a variety of diagram types to display signals based on multiple domains (time and frequency etc.) or utilize charts to display statistical information.

Analyse

A wide range of signal calculation tools make it possible to combine, compare and extract signal information. 
Combine signals using mathematical operations, generate references, implement protocol parsers, compare logs, extract statistical informations or search for conflicts automatically.

Attach

Get Data from Anywhere

In the simplest case, the signals to be analysed are read from a log, wave or trace file. Instead of creating a file, signal ports can read the data directly from streams such as TCP, pipes, applications, interfaces or debug adapters. If more than one signal source is present (e.g., log data from a serial interface and trace over TCP), these signals can be merged and synchronized.

Read from a Workspace Resource

A simple double-click on a workspace resource selects the corresponding reader and opens the viewer.

Read from Data Interface, Application or External HW

With the expandable concept of signal ports any signal source can be connected. This can be simple data connections with a configurable reader, external libraries or complex hardware interfaces.

Combine and Synchronize Multiple Inputs

Multiple signal ports of varying types can be combined into one, synchronizing the received signals.


Signals

Signals are value changes (samples) in relation to a specific domain (e.g., time), which can be represented in a real application as log or trace data over time, a transformation result over frequency or statistical data over an index.

Discrete or Continuous

Value changes (samples) can be at any point (discrete), even several at one point, or continuously at a fixed rate.

Domain

This could be time, date, frequency, index, voltage, current or generic etc.

Streams

Signals may grow over time to support online data visualization.

Relations and Labels

Signal samples may have a relation to a position in the same way as any other signal. Labels may also be attached to a sample. 

Grouped Samples

Samples may be grouped, for example, transactions where at least two samples (start and end) cover a period. 

Markers

Signals may contain markers (Eclipse bookmarks, tasks and annotations).

Signal Types

  • Logic

    Logic values consist of 1...N bits. The bits are stored as 2-, 4- or 16-state data (normally nine states are used).

    Typical uses cases: Digital simulation, logic analyzers.

  • Enumeration

    Enumeration values consist of an integer value and its text representation.

    Typical uses cases: Digital simulation, logic analyzers, logs and traces.

  • Integer

    Integer value of any size.

    Typical uses cases: Digital simulation, scopes, logs and traces.

  • Float

    32- or 64-bit real values.

    Typical uses cases: Analouge simulation, scopes, logs and traces.

  • Text

    Text values of any size.

    Typical uses cases: Logs.

  • Arrays

    Arrays of Text, Integer, Float and Enumeration.
  • Struct

    Structured data with elements of type Text, Integer, Float, Binary and Enumeration.

    Typical uses cases: Logs , traces.

  • Binary

    Binary data of any size.

    Typical uses cases: Image data.


Read

Read the data from streams such as TCP, pipes, applications, interfaces or debug adapters.

Combine

Combine and synchonize multiple adapters into one port.

Configure

There is comfortable configuration UI for all interfaces.

Standard Ports and Readers

Compressed/Uncompressed Record Format Reader(recML/recMZ)

The structure of the record (record/scopes/signals) is encoded as XML. The actual signal data are attributes in the form of packed binaries. These binaries include samples of the signal as well as timing information, so it is possible to edit the xml and put together different fragments of the xml file.

VCD Reader

Value Change Dump (VCD) is an ASCII-based format for dump files, generated by EDA logic simulation tools. The reader additionally supports the VCD string extension.

flux Reader (recTr)

flux trace format is an open waveform/trace format targeting semiconductor and multicore embedded system use cases. The trace data are packed into a binary format, allowing scalable compression.

Script Record Format Reader (recJs)

RecJs files are wave files based on scripts. You can create signal references, define test vectors for your design, or script a custom reader. Everything is based on the same simple API used in signal scripts and serializers.

Scripted Reader (any format)

If you are reading signal and trace data from a TCP, file, serial or other port input and with a format unknown to the impulse tool, you can get on the right track with a scripted reader.

Resource Adapter

The resource adapter uses a workspace resource as the input stream. The adapter can be combined with other adapters using a multi-adapter port.

File/Pipe Adapter

The File/Pipe adapter uses a filesystem resource as the input stream. The raw data is then processed by a configurable reader. The adapter can be combined with other adapters using a multi-adapter port.

TCP Adapter

The TCP adapter connects to a TCP server and reads its input. The raw data is then processed by a configurable reader. The adapter can be combined with other adapters using a multi-adapter port.

UDP Adapter

The UDP adapter lisents to incoming packets (automatic/ scripted) and reads its input. The raw data is then processed by a configurable reader. The adapter can be combined with other adapters using a multi-adapter port.

Process Adapter

The process adapter starts an application and reads its output (stdout). The raw data is then processed by a configurable reader. The adapter can be combined with other adapters using a multi-adapter port.

View

Present it Your Way

Every development is different, and every developer works differently. With impulse, users can define their views exactly the way they need them.

Simple and powerful user interfaces allow you to focus on signal data instead of the tool.

Views

A view combines a freely configurable set of plots organized in the form of a tree.  Users can define multiple views and choose between them at any time to get the information they need.

Plots

Plots are easily configurable specific representations of signal data.  Plots may have a common zoomable and scrollable axis (e.g. the time of the trace) or they may be adjusted into the window size (charts).

Cursors

Cursors allow navigation and measurement within signals.
Users can specify any number of cursors. A dedicated details area shows the current position and delta distances.


Domains and Axes

impulse can display waveforms using multiple domains (e.g., time and frequency) in one view. If your signals are using the same domain, it allows you to display them on multiple axes.

Online Display

In the online mode, incoming signal values are plotted on the moving axis. A simple click on the visualization stops the online mode and lets you analyze the signals normally.

Quick Measurements

With each of the cursors you can easily measure domain and value distances.

Value Formats

All textual values can easily be displayed using different formats, e.g., Decimal, Hexadecimal, Octal, Binary, ASCII or a specific decimal user format.

Standard Plots (Diagrams/Charts)

  • Line

  • Gantt

  • Logic

  • Vector

  • Event

  • Area

  • Log

  • Transaction

  • Charts

  • Image

Complementary Views

Sample Tables

Sample Tables allow tabular displays of signal data and are variously synchronizable with a main view (signals, cursor and data etc.).

Input Signal

The input signal is synchronized with the selection of the active viewer.

Position

The selected sample is synchronized with the cursor position of the active viewer.

Streams

Signal data in the case of streams (online data) are continuously refreshed.

Filter

Filters (text pattern or a value range) can be applied to all columns.

Combine

Multiple signals can be combined in one table.

Configurable Columns

All columns are configurable (style, alignment, format and visibility).

Sample Inspector


The sample instpector provides a deeper insight into every sample.

Filter

Filters can be applied to all columns.

Combine

Multiple signals can be combined along the index order.

Configurable Formats

A value representation can be configured for all types and members.

Input Signal

The input signal is synchronized with the selection of the active viewer.

Position

The selected sample is synchronized with the cursor position of the active viewer.

Streams

Signal data in the case of streams (online data) are continuously refreshed.

Analyse

Explore More Deeply

It is impossible to visually analyse large amounts of data manually. Easy-to-use tools allow you to automate specific analysis applications.

Signal Productions

Signal productions generate a new signal from a single signal, multiple signals or without a source. They allow you to combine signals with mathematical operations, implement protocol parsers, compare signals, extract statistical information or automatically detect problems.

Comparison Viewer

The comparison viewer can be used to compare simulation results, log files, traces or any other type of record file (collection of signals). With the help of a configuration dialogue, comparison parameters can be changed and the signals filtered.

Productions and Plots

Each plot can contain a signal production, which means that a resulting signal is generated from one or more input signals before the presentation.

Streams

Most signal productions allow the use of streamed signal data. A new output is created with each new input.

Interactive

As with other plot and view settings, changing a production setting or script immediately affects the presentation.

Standard signal Productions

  • Signal Scripts

    Signal scripts allow the users to analyze and interpret signals in many ways. Combine signals using mathematical operations, generate references, implement protocol parsers, extract statistical informations or search for conflicts automatically.
  • Logic Extract

    Logic Extract lets you extract ,swap and invert bits
  • Logic Combiner

    Combines multiple logic signals into one

    If the following inputs are given:

    • in0: 4bits (aaaa)
    • in1: 2bits (bb)
    • in2: 1bits (c)
  • Member Extract

    Extract members from struct or array signals. Extract a member, identified by the member name or index and creates a new signal of a given signal type.
  • Expression Filter

    Filters all samples that don't match a given expression.

    • Filter samples using a text fragment
    • Filter samples using a regular expression
    • Filter samples using a numeric expression
  • Text Extract

    Extracts information from text samples.

    This production does 2 steps: Filters all non relevant samples and extract textual information from the relevant ones. Ths information will be converted into a given output signal type.

  • Diff

    Creates a "diff" signal from 2 input signals. The diff signal is identical with the input if both input are equal. Regions with non equal signal data are tagged.
  • Delta

    The delta production creates a mathematical delta of the 2 input signals.
Features
  • Plot Types

    • Logic
    • Vector
      • Decimal,Hexadecimal,Octal
      • Binary,ASCII,Text
      • Index,Value Delta,Domain Delta
    • Line
      • Combined (multiple lines in one row)
      • Annotated,Interpolated
      • Linear/Log10,XY Cursor
    • Transaction
      • Multiple layers
    • Log
    • Event
    • Image
    • Area
      • Combined, Stacked, Transparent
      • Annotated, Interpolated
      • Linear/Log10
    • Gantt
      • Multi-color
    • Charts
      • Combined
      • Javascript charts
  • Eclipse

    • eclipse 3.7+/4.2/4.3+ plugin

    • Installation / Update from within eclipse

    • Full UI integration

    • Multiple Viewers (editors)

    • Integration into content management

    • Signal structures visible in project explorer

    • Preferences Pages

    • Preference export/import (wallet)

    • Marker support

    • Team support (History)

    • Undo/Redo support

    • Diff Viewer

  • Axis & Cursors

    • Supports multiple domains
      • Time,Frequency
      • Index, Volts, Amps,...
    • Multiple axes in one view
    • Multiple cursors
    • Cursor details area shows deltas
    • Quick measurements (XY) & zoom
    • Linear/Log10 domain axis (e.g frequency)
  • Search & Filters

    • Signal search/filter

      • Regular expressions

      • Signal hierarchy

      • Deep filter

    • Signal pattern search (behaves similar like the eclipse find dialog)

      • Search expression management

      • js search expression

      • Forward/ Reverse

  • Standard Formats

    recMl/ recMZ

    impulse main xml based signal format (un-compressed/compressed).

    recJs (Script)

    recJs files are signal script files. You might prepare signal references, define test vectors for your design or script a custom reader. Everything is based on the same simple api that is used in signal scripts and serializer.

    recTr (flux trace)

    recTr (flux) is an open trace format. Emitters can be downloaded in source form from toem git hub or imported with from eclipse.

    Scripted Reader

    Use JS scripts to define your own stream reader.

    VCD

    The Verilog Value Change Dump can be seen as a standard format and is supported.

    Test Line Reader

    Reader for debugging purpose. Extract lines from the input stream.

    Test Block Reader

    Reader for debugging purpose. Extract bytes blocks from the input stream.

    This list contains the core file formats only. Browse the impulse extensions for more.

  • Standard Ports

    Multi Adapter Port

    The Multi Adapter Port allows to combine multiple adapters.

    Multi Resource Port

    The Multi Resource Port allows to combine multiple Resource adapters. A common resource root can be defined and used as base in all adapters.

    Multi File/Pipe Port

    The Multi File/Pipe Port allows to combine multiple File/Pipe adapters. A common filesystem root can be defined and used as base in all adapters.

    Pipe/File Adapter

    The File/Pipe adapter uses a filesystem resource as input stream. The adapter can be combined with other adapters using a multi adapter port.

    Resource Adapter

    The Resource adapter uses a workspace resource as input stream. The adapter can be combined with other adapters using a multi adapter port.

    TCP Adapter

    The Tcp adapter connect to a TCP server and reads its input. The adapter can be combined with other adapters using a multi adapter port.

    Process Adapter

    The Process adapter start an application and reads its output (stdout). The adapter can be combined with other adapters using a multi adapter port.

  • Extensibility

    The extension mechanism allow users and integrators to extend the functionality by developing/ installing additional plugins.

    • Uses eclipse extension mechanism
    • Serialisation extension (to support any file format) for
      • Reader,Writer
    • Port extension (e.g. to connect a data aquisition unit)
  • Platforms / Requirments / Limitations

    Platforms:
    32/64bit 32/64bit 32/64bit
    Requirements:
    • impulse 1.8.x : eclipse 4.2 +
    • impulse 2.0.x : eclipse 4.10 +
    Known limitations:
    • see extensions
    Status:
    • impulse 1.8.x : Stable
    • impulse 2.0.x : Beta
       
       
Details
  • Compressed/Uncompressed Record Format Reader(recML/recMZ)

    The Compressed/Uncompressed Record Format(recML/recMZ) is a signal record format ( scopes/signals) which is encoded as XML. The signal data are formed as packed binaries.

    recMZ uses the same format but the content is compressed.

    Both recML and recMZ support all signal and processtypes.

    Platforms
    32/64bit 32/64bit 32/64bit
    Requirements
    • None
    Known limitations
    • File size limited by virtual memory and temporary storage
    Status
    • Stable
    Operations
    • Load
    • Save
    Parameters:
    • None
    Configuration:
    • None
  • VCD Reader

    Value Change Dump (VCD) is an ASCII-based format for dump files generated by EDA logic simulation tools.

    Platforms
    32/64bit 32/64bit 32/64bit
    Requirements:
    • None
    Known limitation:s
    • File size limited by virtual memory and temporary storage
    Status:
    • Stable
    Operations:
    • Load
    • Stream
    Parameters:
    • SystemC Hierarchy Resolver: Enables to build scope hierarchy from SystemC names.
    Configuration:
    • Default Serializer Configuration with modified paramters
    Features:
    • Vector signals are getting combined (v[0], v[1] -> v[0,1])
    • 9 state logic supported (not just 4)
    • TIMEZERO command supported
    • String signal support (need to be defined as string (not real) in the vcd header)
  • Script Record Format Reader (recJs)

    RecJs files are text files that contain a signal script to generate the resulting record.


    Platforms
    32/64bit 32/64bit 32/64bit
    Requirements
    • None
    Known limitations
    Status
    • Stable
    Operations
    • Load
    Parameters:
    • None
    Configuration:
    • Can use an optional configration to define a set of parameters for the script.
  • flux trace (recTr) Reader

    flux trace (recTr) is an open waveform/trace format designed for semiconductor and multi-core embedded system applications. The trace data is packed in a binary format and enables scalable compression.

    Platforms
    32/64bit 32/64bit 32/64bit
    Requirements
    • None
    Known limitations
    Status
    • Stable
    Operations
    • Load
    • Stream
    Parameters:
    • None
    Configuration:
    • Uses an optional flux reader configuration to defines trace handlers.
  • Multi Adapter Port

    The Multi Adapter Port is a signal port that combines multiple adapters into one.

    Platforms
    32/64bit 32/64bit 32/64bit
    Requirements
    • None
    Known limitations
    • None
    Status
    • Stable
    Operations
    • Connect (delegating)
    • Read (delegating)
    • Sync (delegating)
    Parameters:
    • None
  • Multi File/Pipe Port

    The Multi File/Pipe Port makes it possible to combine several File/Pipe adapters. In addition to the Multi Adapter Port, a common file system root can be defined and used as a basis in all adapters.

    Platforms
    32/64bit 32/64bit 32/64bit
    Requirements
    • None
    Known limitations
    • None
    Status
    • Stable
    Operations
    • Connect (delegating)
    • Read (delegating)
    • Sync (delegating)
    Parameters:
    • Base: File/pipe base for all included adapters.
  • Multi Resource Port

    The Multi Resource Port makes it possible to combine several resource adapters. A common resource root can be defined and used as a base in all adapters.

    Platforms
    32/64bit 32/64bit 32/64bit
    Requirements
    • None
    Known limitations
    • None
    Status
    • Stable
    Operations
    • Connect (delegating)
    • Read (delegating)
    • Sync (delegating)
    Parameters:
    • Base: Resource base for all included adapters.
  • Pipe/file adapter

    The Pipe/file adapter uses a file system resource as the input stream. The raw data is processed by a configurable reader. The adapter can be combined with other adapters using a multi-adapter port.

    Platforms
    32/64bit 32/64bit 32/64bit
    Requirements
    • None
    Known limitations
    • None.
    Status
    • Stable
    Operations
    • Connect
    • Read
    • Sync
    • Stimulate
    Parameters:
    • Enable: Enables/disables the port adapter.
    • Path: Select the system file as the input.
    • Mode: Normal , Read until port stopped (no EoF handling)
    • Reader: Select the reader to parse the raw data stream.
    • Configuration: Optionally, a serialization configuration can be selected (depending on the reader).
    • Insert as root: If the adapter is included in a multi adapter port, the flag will force the adapter to add its signal hierarchy into the root of the combined record.
    • Synchronisation: Allows to define a script to do adapter synchronisation.
    • Stimulation: Allows to define a script to stimulate the connected pipe.
  • Process adapter

    The Process adapter start an application and reads its output (stdout).The raw data is processed by a configurable reader. The adapter can be combined with other adapters using a multi-adapter port.

    Platforms
    32/64bit 32/64bit 32/64bit
    Requirements
    • None
    Known limitations
    • None.
    Status
    • Stable
    Operations
    • Connect
    • Read
    • Sync
    • Stimulate
    Parameters:
    • Enable: Enables/disables the port adapter.
    • Comand: Comand to be executed.
    • Reader: Select the reader to parse the raw data stream.
    • Configuration: Optionally, a serialization configuration can be selected (depending on the reader).
    • Insert as root: If the adapter is included in a multi adapter port, the flag will force the adapter to add its signal hierarchy into the root of the combined record.
    • Log: Select a file to log the input stream.
    • Synchronisation: Allows to define a script to do adapter synchronisation.
    • Stimulation: Allows to define a script to stimulate the connected process.
  • Resource adapter

    The Resource adapter uses a workspace resource as input stream.The raw data is processed by a configurable reader. The adapter can be combined with other adapters using a multi-adapter port.

    Platforms
    32/64bit 32/64bit 32/64bit
    Requirements
    • None
    Known limitations
    • Resource adapters can only be used within multi adapter/resource ports.
    Status
    • Stable
    Operations
    • Read
    • Sync
    Parameters:
    • Enable: Enables/disables the port adapter.
    • Resource: Select the eclipse resource as the input.
    • Reader: Select the reader to parse the raw data stream. If not selected, the system selects the most appropriate one.
    • Configuration: Optionally, a serialization configuration can be selected (depending on the reader).
    • Insert as root: If the adapter is included in a multi adapter port, the flag will force the adapter to add its signal hierarchy into the root of the combined record.
    • Synchronisation: Allows to define a script to do adapter synchronisation.
  • TCP Adapter

    The TCP adapter connect to a TCP server and reads its input. The raw data is processed by a configurable reader. The adapter can be combined with other adapters using a multi-adapter port.

    Platforms
    32/64bit 32/64bit 32/64bit
    Requirements
    • None
    Known limitations
    • None.
    Status
    • Stable
    Operations
    • Connect
    • Read
    • Sync
    • Stimulate
    Parameters:
    • Enable: Enables/disables the port adapter.
    • Server: Select the tcp server as the input.
    • Socket: Select the socket number.
    • Mode: Normal (cancels if server not available), Wait for server to start
    • Reader: Select the reader to parse the raw data stream.
    • Configuration: Optionally, a serialization configuration can be selected (depending on the reader).
    • Insert as root: If the adapter is included in a multi adapter port, the flag will force the adapter to add its signal hierarchy into the root of the combined record.
    • Log: Select a file to log the input stream.
    • Synchronisation: Allows to define a script to do adapter synchronisation.
    • Stimulation: Allows to define a script to stimulate the connected server.
Selected Resources

01 At a glance

impulse is an easy to use waveform viewer and analyser tool. This chapter gives you a first insight. To open the viewer, select a wave file of a supported format in the Explorer or Navigator view, and use the context menu to open the file (as you...

02 Signal Basics

This chapter describes some basic principles of how signals are represented in impulse. These are not necessary for the use of impulse, but convey a better understanding. Independent from its source and type, impulse organizes all signal data...

03 Views and Plots

A view combines a set of plots, organized in the form of a tree. Users can define and select between multiple views to get the information they need. What are views? A view provides a presentation for a set of signals. You can switch between...

04 Plots and Cursors

The plot area contains three elements: an axis, the configured plots and cursors. Cursors are part of a view, like plots and folders, but they are not visible in the view configuration hierarchy. So, if you change the view, you also change to a different...

toem

technical software and tooling

Company

Contact Us

This email address is being protected from spambots. You need JavaScript enabled to view it.