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... ).
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.
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.
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.
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.
A simple double-click on a workspace resource selects the corresponding reader and opens the viewer.
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.
Multiple signal ports of differnt type can be combined into one. The received signals can be synchronized.
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.
Value changes (samples) can be at any point (discrete), even several at one point, or continuously at a fixed rate.
Time, Date, Frequency, Index, Voltage, Current, Generic, ...
Signals may grow over time to support online data visualization.
Signal samples may have relation to a position in the same are any other signal. Also labels may be attached to a sample.
Samples may be grouped. An example are transactions where at least 2 samples (start and end) cover a period.
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 values consist of an integer value and its text representation.
Typical uses cases: Digital simulation, logic analyzers, logs and traces.
Integer value of any size.
Typical uses cases: Digital simulation, scopes, logs and traces.
32- or 64-bit real values.
Typical uses cases: Analouge simulation, scopes, logs and traces.
Text values of any size.
Typical uses cases: Logs.
Structured data with elements of type Text, Integer, Float, Binary and Enumeration.
Typical uses cases: Logs , traces.
Binary data of any size.
Typical uses cases: Image data.
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.
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 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 allow navigation and measurement within signals.
Users can specify any number of cursors. A dedicated details area shows the current position and delta distances.
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.
Sample Tables allow the tabular display of signal data and are variously synchronizable with a main view (signals, cursor, data)..
If the following inputs are given:
Filters all samples that don't match a given expression.
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.
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
Preference export/import (wallet)
Team support (History)
Signal pattern search (behaves similar like the eclipse find dialog)
Search expression management
js search expression
impulse main xml based signal format (un-compressed/compressed).
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.
Use JS scripts to define your own stream reader.
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.
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.
The File/Pipe adapter uses a filesystem resource as input stream. The adapter can be combined with other adapters using a multi adapter port.
The Resource adapter uses a workspace resource as input stream. The adapter can be combined with other adapters using a multi adapter port.
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.
The Process adapter start an application and reads its output (stdout). The adapter can be combined with other adapters using a multi adapter port.
The extension mechanism allow users and integrators to extend the functionality by developing/ installing additional plugins.