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 (eclipse IDE, vscode and eclipse Theia) and can be combined with a growing set of emerging technologies and extensions (IoT, language IDEs, reports, CM...
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.
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.
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 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.
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 varying types can be combined into one, synchronizing the received 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.
Value changes (samples) can be at any point (discrete), even several at one point, or continuously at a fixed rate.
This could be time, date, frequency, index, voltage, current or generic etc.
Signals may grow over time to support online data visualization.
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.
Samples may be grouped, for example, transactions where at least two 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 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 tabular displays of signal data and are variously synchronizable with a main view (signals, cursor and data etc.).
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
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
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.
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.
The extension mechanism allow users and integrators to extend the functionality by developing/ installing additional plugins.
Platforms: |
|
|||
Requirements: |
|
|||
Known limitations: |
|
|||
Status: |
|
|||
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 |
|
|||
Requirements |
|
|||
Known limitations |
|
|||
Status |
|
|||
Operations |
|
|||
Default Parameters: |
|
|||
Configuration: |
|
Value Change Dump (VCD) is an ASCII-based format for dump files generated by EDA logic simulation tools.
Platforms |
|
|||
Requirements: |
|
|||
Known limitation:s |
|
|||
Status: |
|
|||
Operations: |
|
|||
Default Parameters: |
|
|||
Configuration: |
|
|||
Features: |
|
RecJs files are text files that contain a signal script to generate the resulting record.
Platforms |
|
|||
Requirements |
|
|||
Known limitations |
|
|||
Status |
|
|||
Operations |
|
|||
Default Parameters: |
|
|||
Configuration: |
|
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 |
|
|||
Requirements |
|
|||
Known limitations |
|
|||
Status |
|
|||
Operations |
|
|||
Default Parameters: |
|
|||
Configuration: |
|
The Multi Adapter Port and its derivatives "Multi Resource Port" and "Multi File/Pipe Port" combine multiple adapters into one port. You can present and analyze signals from multiple inputs inside of one view.
Platforms |
|
|||
Requirements |
|
|||
Known limitations |
|
|||
Status |
|
|||
Operations |
|
|||
Parameters: |
|
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 |
|
|||
Requirements |
|
|||
Known limitations |
|
|||
Status |
|
|||
Operations |
|
|||
Parameters: |
|
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 |
|
|||
Requirements |
|
|||
Known limitations |
|
|||
Status |
|
|||
Operations |
|
|||
Parameters: |
|
The File/Pipe adapter reads data from filesystem objects. The received data is forwarded to a configurable reader. Scripts are used to activate the streaming environment (stimulation).The adapter can be combined with other adapters using a multi-adapter port.
Platforms |
|
|||
Requirements |
|
|||
Known limitations |
|
|||
Status |
|
|||
Operations |
|
|||
Parameters: |
|
The Process adapter start a process and reads its output (stdout). The received data is forwarded to a configurable reader. Scripts are used to send data to the process (stdin) and activate the streaming environment (stimulation). The adapter can be combined with other adapters using a multi-adapter port.
Platforms |
|
|||
Requirements |
|
|||
Known limitations |
|
|||
Status |
|
|||
Operations |
|
|||
Parameters: |
|
The Resource adapter reads the content of a workspace resource. The received data is forwarded to a configurable reader. The adapter can be combined with other adapters using a multi-adapter port.
Platforms |
|
|||
Requirements |
|
|||
Known limitations |
|
|||
Status |
|
|||
Operations |
|
|||
Parameters: |
|
The TCP adapter (Transmission Control Protocol) acts as a TCP client or server. The received data is forwarded to a configurable reader. Scripts are used to send data to the TCP server/client and activate the streaming environment (stimulation). The adapter can be combined with other adapters using a multi-adapter port.
Platforms |
|
|||
Requirements |
|
|||
Known limitations |
|
|||
Status |
|
|||
Operations |
|
|||
Parameters: |
|
The UDP adapter (User Datagram Protocol) acts as a UDP client. The received data is forwarded to a configurable reader. Scripts are used to send datagrams and activate the streaming environment (stimulation). The adapter can be combined with other adapters using a multi-adapter port.
Platforms |
|
|||
Requirements |
|
|||
Known limitations |
|
|||
Status |
|
|||
Operations |
|
|||
Parameters: |
|
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.
Platforms: |
|
|||
Requirements: |
|
|||
Known limitations: |
|
|||
Status: |
|
|||
Input signals: |
|
|||
Output signal: |
|
|||
Parameters: |
|
|||
Operation: |
Logic Extract lets you extract ,swap and invert bits from logic type signals.
Platforms: |
|
|||
Requirements: |
|
|||
Known limitations: |
|
|||
Status: |
|
|||
Input signals: |
|
|||
Output signal: |
|
|||
Parameters: |
|
Combines multiple logic (1-dimensional or vectors) signals into one logic vector containing all bits.
Platforms: |
|
|||
Requirements: |
|
|||
Known limitations: |
|
|||
Status: |
|
|||
Input signals: |
|
|||
Output signal: |
|
|||
Parameters: |
|
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.
Platforms: |
|
|||
Requirements: |
|
|||
Known limitations: |
|
|||
Status: |
|
|||
Input signals: |
|
|||
Output signal: |
|
|||
Parameters: |
|
|||
Operation: |
The Array Combine production combines multiple signals into one array.
Platforms: |
|
|||
Requirements: |
|
|||
Known limitations: |
|
|||
Status: |
|
|||
Input signals: |
|
|||
Output signal: |
|
|||
Parameters: |
|
|||
Operation: |
|
Filters all samples that don't match a given expression.
Platforms: |
|
|||
Requirements: |
|
|||
Known limitations: |
|
|||
Status: |
|
|||
Input signals: |
|
|||
Output signal: |
|
|||
Parameters: |
|
Filters all non-relevant samples and extract textual information from the relevant ones. This information will be converted into a given output signal type.
Platforms: |
|
|||
Requirements: |
|
|||
Known limitations: |
|
|||
Status: |
|
|||
Input signals: |
|
|||
Output signal: |
|
|||
Parameters: |
|
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.
Platforms: |
|
|||
Requirements: |
|
|||
Known limitations: |
|
|||
Status: |
|
|||
Input signals: |
|
|||
Output signal: |
|
|||
Parameters: |
|