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... ).

Attach

A growing set of data formats and external interfaces (signal ports) provides a common transparent view of different sources. 
Read and combine multiple signal sources (traces, logs, wave-forms, databases,..) 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, frequency,...) 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 analyzed 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 differnt type can be combined into one. The received signals can be synchronized.


Signals

Signals are value changes (samples) in relation to a specific domain (e.g. time).
This can be represented in a real application as log or trace data over time, a transformation result over frquency 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

Time, Date,  Frequency, Index, Voltage, Current, Generic, ...

Streams

Signals may grow over time to support online data visualization.

Relations and Labels

Signal samples may have relation to a position in the same are any other signal. Also labels may be attached to a sample. 

Grouped samples

Samples may be grouped. An example are transactions where at least 2 samples (start and end) cover a period.  

Markers

Signals may contains 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

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 form of packed binaries. These binaries include both the samples of the signal, as well as the timing information. So its 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 dumpfiles generated by EDA logic simulation tools. The reader additonally supports the vcd string extension.

flux Reader (recTr)

flux trace format is an open waveform/trace format targeting semiconductor and multi-core embedded system use-cases. The trace data is packed into a binary format and allows 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, you can get on the right track with a scripted reader.

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.

File/Pipe adapter

The File/Pipe adapter uses a filesystem resource as input stream. The raw data is then processed by a configurable reader. 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 connect 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.

Process adapter

The Process adapter start 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 the 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 be easily display 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 the tabular display of signal data and are variously synchronizable with a main view (signals, cursor, data)..

Input Signal

Synchronizes the input signal with the selection of the active viewer.

Position

Synchronizes the selected sample with the cursor position of the active viewer.

Streams

Continuously refreshes the signal data in case of streams (online data).

Filter

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

Combine

Can combine multiple signals in one table.

Configurable Colums

All columns are configurable (style, allignment, format, visibility).

Sample Inspector


The sample instpector provides a deeper insight into every sample.

Filter

Filters can be applied to all columns.

Combine

Can combine multiple signals along the index order.

Configurable Formats

Configure value represetation of all types and members.

Input Signal

Synchronizes the input signal with the selection of the active viewer.

Position

Synchronizes the selected sample with the cursor position of the active viewer.

Streams

Continuously refreshes the signal data in case of streams (online data).

Analyze

Look into

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

Signal Productions

Signal productions generate a new signal either from a single signal, multiple signals or without input. They make it possible 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 dialog, compare parameters can be changed and the signals to be used 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
       
       
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.