A compact playground to explore impulse core features: records, signals, expressions, processing, and views. It ships sample data in three formats plus ready-to-use starter views.
impulse is a visualization and analysis workbench for signals from logs, traces, and simulations. It helps you inspect large datasets efficiently and tailor presentations for your workflow.
- Records: Hierarchical containers with scopes and elements (signals, includes, analysis, interfaces).
- Signals: Sequences of samples along a domain (typically time). Supported types include logic, float, integer, enum/event, text, array, struct, and binary.
- Views: Reusable presentations that combine signals, folders, and diagrams (line, gantt, event, charts). Views support multiple axes and cursors. Processing is on demand—only visible parts are computed, and collapsed folders don't trigger processing.
- Processing & automation: Readers/producers build records; processors and expressions derive or filter signals; value formats and labels control textual rendering.
- 1 records (recMlMz): RTL/SystemC wave dumps as .recMl (XML) and .recMz (compressed) records.
- 2 traces (recTr): Flux SimpleC trace files showcasing all signal types and compression.
- 3 expressions (recJx): Records generated by expression producers (scripts).
- recMl: XML-based record files containing packed signal data (good for readability and diffs).
- recMz: Compressed binary variant of recMl (smaller, faster to load).
- recTr: Flux trace container from C examples (supports all types: integer/float/logic/enum/text/array/struct/event; can be compressed with LZ4 or FLZ→LZ4).
- recJx: Expression-based scripts that generate records on the fly via the impulse expression engine.
- Open any sample file (recMl/recMz/recTr/recJx) in impulse.
- Click Open Views and pick a matching starter view (see below).
- Need help? See the impulse manual for guided tours, feature deep-dives, and troubleshooting: https://toem.io/category/resources/impulse-manual/. Recommended sections: Introduction, impulse at a Glance, and Views.
-
First Startup: When first time opening impulse, it may take a few seconds to startup the impulse server, especially if you use a slower or loaded external server.
-
License Dialog: When opening a view for the first time, you may encounter a license dialog. During the BETA phase, this dialog informs you about the beta status and licensing information. Simply acknowledge the dialog to proceed with exploring the playground samples.
-
View Selection: When opening a record, impulse tries to find the best view based on the signals referred to. You can see this judgment in the view selection dialog (Good, Weak, Bad). In some cases, impulse does not find the correct view automatically but opens the view selection dialog for you to select.
-
Reader Configuration: In some cases, you may need to choose a reader configuration to add additional analysis or other record elements if you find something missing in the view.
All views include dual cursors (A, B) and dual axes (Primary, Secondary).
See: 1 records (recMlMz)/OVERVIEW.md
Waveform records with scopes and mainly logic signals.
1_simple.recMl → View: simple
- Signal grouping • Line diagrams (standard/interpolated/annotated) • Gantt with value labels (opcode mnemonics: A_LOAD, B_ADD, C_STORE, etc.) • Custom icons • Multi-axis • Entry-level demonstration
2_modplu.recMl → View: modplus
- Deep hierarchy navigation (68 scopes) • Folder organization • Logic combine/extract processors • Signal grouping • Expression filtering with domain ranges (1us-3us) • Combined signals from different scopes
3_scanio.recMl → View: scanio
- Phase duration analysis • Distribution binning • High/low separation • Pie/bar charts • Expression-based metrics (wire phase duration)
4_vortec.recMz → View: vortec
- Large-scale RTL (27k signals) • Logic extraction • Line diagrams with scaling • Expression conversion • Annotation
See: 2 traces (recTr)/OVERVIEW.md
Flux SimpleC trace files demonstrating: integers, floats, text, enums/events (Gantt), logic (bit/vector/scattered), arrays, structs. Typical set size: 50k samples..
1_numeric.recTr → View: numeric
- Line plots • Expression processors (integration, derivation, trapezoid) • Float statistics (RMS, energy, std, variance) • Signal combination • Domain-based aggregation • Integer/float signals (0-255, -10k-40k, 0-64k, 0-50k², doubles)
2_arrays.recTr → View: arrays
- Array member extraction • Array construction from components • Member distribution by sector • Filtered array analysis • State tracking • IntegerArray (2/4 elem), FloatArray (2 elem), EnumArray (8 elem)
3_event.recTr → View: event
- Gantt diagrams • Enum distribution (bar/pie charts) • Event filtering • Bandwidth analysis • Relations visualization • Count statistics • 3 enum types
4_corealt.recTr → View: corealt
- Comprehensive signal types (integers, floats, logic, text, enums, arrays, structs) • Expression filtering • Simple expressions/statements • LZ4 compression
See: 3 expressions (recJx)/OVERVIEW.md
Expression-based scripts that generate records on the fly: sine/cosine, random waveforms, buses/control, ISR/task Gantt patterns, event relations, structs/arrays, label/color mappings. Time base: ns/ms.
1_strctsin.recJx → View: strctsin
- Bar/line/pie/radar charts • Categorization • Stacked/transposed modes • Fill modes • Expression filtering • XY plotting • Legend/cutout options • Multiple chart types
2_strctevn.recJx → View: strctevn
- Struct member extraction • Integer/enum arrays • Event relations • Distribution analysis
3_corelabx.recJx → View: corelabx
- Dual-core task visualization • ISR tracking • Event relations • Load monitoring • Hierarchical scopes (Core 1/Core 2/ISR)
4_tracflow.recJx → View: tracflow
- Transaction flow • Struct filtering (by Data member) • Multiple data members • Sample kind variations (GO_INITIAL/INTER/FINAL)
5_sinextro.recJx → View: sinextro
- Multi-channel floats (8 channels) • Interpolation • Annotation • Combine mode • Color assignment • Statistics by sector (RMS/energy/std)
6_colevent.recJx → View: colevent
- Task/event coloring • Fixed color mapping • Label formats • Size customization • Color area properties • User formats
7_eccfmodx.recJx → View: eccfmodx
- State machines • Buffer management • Event sequences • Struct logs • Repeated patterns • Relations
8_log4mixr.recJx → View: log4mixr
- Log message simulation • Tag filtering (by tag==1 or tag==2) • Enum distribution by member • Struct signals
















