impulse
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
Combine
Read
Read
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
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
Combine
Read
Read
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
Value Formats
Combine
You can combine or separate signals in diagrams with a single click.
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
Position
Streams
Filter
Combine
Configurable Columns
Sample Inspector
Input Signal
Position
Streams
Filter
Combine
Configurable Formats
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
Analysis
Read
Combine
Read
Read
Productions and Plots
Streams
Interactive
Standard signal Processors
- Expression
- Logic Extract
- Logic Combine
- Member Extract
- Array Combine
- Expression Filter
- Value Extract
- Diff