New Tracing Library and Updated Scansion File Format

This tracing library offers a simple way for tracing TLM2 transactions or any higher level packet flow in your systems. This takes advantage of the newly modified SCNX file format already supported by Scansion.

When we first released Scansion we provided the LPSystemCUtility library as a proof-of-concept library for record transaction level traces. Tracer, our new library, replaces this and adds a variety of features for recording transaction traces viewable in Scansion. Tracer is included in the
SystemC Installer Suite distribution and includes all of the source code and Xcode project files as well. For full details on Tracer, visit its page here. Meanwhile, here are some highlights and notes.

Native TLM2 Transaction Support


With a single function call, you can record an event for a standard OSCI tlm_generic_payload object that will get stored in the trace file. Tracer will handle recording all of the property details for you, since it understands that packet’s members.

New File Format


With this release we are releasing the revised 0.7 version of the
DTD for the SCNX file format. Scansion supports this already, and will still support the previous 0.5 version for a while as well, but it will be phased out at some point in the near future.

Why change?

The changes address two short-comings in the previous format that were preventing us from extending its use as we wanted. First, the previous file format had difficulties streaming to a file in many cases, since it required all events for a trace to be included as sub-elements of that trace; this basically required the file to be written at the end of the simulation which doesn’t scale well. Second, the event types were previously sub-elements of particular modules, which was limiting us from easily being able to define re-usable categories of commonly used event types.


Open Source


As before, this is distribute as open source under the
MIT license. You may do whatever you like with the source code. If you have useful modifications, feel free to send us a note and we would be glad to consider rolling them into the distribution.
: