Skip to main content

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 respective IDE frameworks and can be combined with a growing set of emerging technologies and extensions (IoT, language IDEs, reports, CM… ).

The client-server architecture enables the workload and resources to be divided between signal providing tasks (on a simulation or application server) and analyzing tools on a local computer.
Use your favourite web ide to analyse your logs, traces and simulation data. No need to transfer large amounts of data or use local tools

Open extension mechanisms offer various possibilities for adapting impulse to particular user requirements. You can define your own data formats, implement acquisition interfaces, create your own specific diagrams, carry out special data analysis or integrate a 3D chart engine.
A lightweight frontend and a powerful Java backend enable the creation of high-performance and complex analysis applications.

Attach

Get Data from Anywhere

A growing set of data formats and external interfaces (signal adaptors) provide a common transparent view of different sources. In the simplest case, the signals to be analysed are read from a log, wave or trace file. Instead of using files, signal adaptors can read the data directly from streams such as TCP, pipes, applications, interfaces, external networks, serial interfaces, data acquisition units 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 adaptors 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.


Read

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

Combine

Combine and synchonize multiple adapters into one port. Combine and synchonize multiple adapters into one port.

Read

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

Read

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

Signals and Samples

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.

Multiple Domains

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 signal or any other signal. Labels may also be attached to a sample.

Source Graph

A graphical representation of the source signals and scopes makes it easy to navigate, find and understand. 

Grouped Samples

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

Signal Types

Event/ Enumeration

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

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

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.

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.


View

Present Your Way

Easy-to-use visualisation elements let you design informative views. Use a variety ofdiagram types to display signals based on multiple domains (time and frequency, etc.) or use charts to display statistical information.

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, not the tool.

Views

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

Diagrams

Diagrams are easily configurable specific representations of signal data. Diagrams can have a common zoomable and scrollable axis (e.g. trace time), or they can be resized to fit the window (charts).

Domains, Axes and Cursors

impulse can display signals using multiple domains (e.g. time and frequency) in a single view. Cursors allow navigation and measurement within signals. Users can define any number of cursors. A dedicated detail area shows the current position and delta distances.


Read

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

Combine

Combine and synchonize multiple adapters into one port. Combine and synchonize multiple adapters into one port.

Read

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

Read

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

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

Incoming signal values from the data stream are continuously updated. Start analysing signals while streams are still loading.

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.

Combine

You can combine or separate signals in diagrams with a single click.

Standard Plots (Diagrams/Charts)

Line

Gantt

Logic

Vector

Event

Area

Table

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.

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

Analyse

Explore In Depth

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.

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

Signal Processors

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

Deducer

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.

Analysis

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.

Read

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

Combine

Combine and synchonize multiple adapters into one port. Combine and synchonize multiple adapters into one port.

Read

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

Read

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

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 Processors

Expression

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 from logic type signals.

Logic Combine

Combines multiple logic (1-dimensional or vectors) signals into one logic vector containing all bits. The bits of first input signal will start at pos 0, all following signals will be added after (to the left).

Member Extract

Extracts a member of a struct or an array, identified by the member name or id/index and creates a new signal of a given signal type.

Array Combine

The Array Combine production combines multiple signals into one array. The value of first input signal will start at index 0, all following signals will be added after.

Expression Filter

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

Value Extract

Filters all non-relevant samples and extract textual information from the relevant ones. This 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.