Back to the VDS Home Page
 

ISIS: Assertion-Based Verification of SoC's described in SystemC TLM




ISIS is devoted to the runtime Assertion-Based Verification of SystemC TLM platforms (untimed or timed, clocked or unclocked), for verifying transaction-oriented properties formalized in PSL (IEEE standard 1850). It automatically instruments the SoC description with assertion checkers associated with system-level requirements, such that the satisfaction of those requirements is checked during simulation.
For example, it can help answer questions like:

Methodology

Our methodology (IEEE TC paper, [PF08]) enables the automatic verification of temporal properties during simulation, for SystemC TLM LT or AT (or even CABA) descriptions. We can check the validity of PSL assertions that express properties regarding transactional operations i.e., requirements associated with the behaviour of some components of the SoC (DMA, interrupt controller,...) or with the interactions between hardware/software components.

In order to automatically produce SystemC monitors from PSL properties, we use a method inspired by the HORUS compositional technique. In this technology, the composite monitors are built as the interconnection of primitive components associated with the primitive operators of PSL.

For monitoring SystemC transactional descriptions, we adopt the following principle: the FL (Foundation Language) semantics of PSL is defined with regard to execution traces. At the synchronous RT level, the observations that constitute these traces are made on the clock edges. Transposing the interpretation at the TLM level, with the same PSL semantics, simply requires to identify the observation points at this level. We consider that observation points are when the assertion needs to be re-evaluated i.e., each time a variable of the assertion has possibly been modified (an appropriate event occurs in the corresponding channel). Hence, our traces are made of all the events that may enable the observation of updated values for the variables involved in the assertion. Technically, we use a model that allows to observe these transactional events in the system and to trigger the monitors when needed. This model is inspired by the well-known observer pattern.

The main advantages of this methodology are:

- Recent improvements and achievements

Implementation

ISIS inputs PSL assertions and performs the automatic construction of TLM-oriented SystemC monitors, built compositionally from primitive components. The monitors are automatically linked to the design, this instrumented design is compiled using the SystemC library of primitive monitors, and the SystemC simulator can be run on this combination of modules. The monitors inform about the satisfaction of the properties during simulation.

Example

Let us consider the example of a Motion-JPEG decoding platform described at the Transaction Accurate level (from P.Gerin, X.Guérin, and F.Pétrot, "Efficient implementation of native software simulation for MPSoC", Proc. DATE'2008). It embeds a configurable number of processors (here we use one processor), a global memory, a hardware semaphore RAM, and hardware terminals (TTY). The traffic generator takes its data from a MJPEG file, and RAMDAC is the viewer.


One of the properties that can be checked to verify the reliability of the communication channel is:
the data that are written on the RAMDAC are exactly the ones that have been transmitted by the EU.
The figure below gives a screenshot of a simulation instrumented with the corresponding ISIS monitor. For this simulation, design errors have purposedly been introduced in the communication channel: while the image on the RAMDAC is not as expected, our monitor reports errors when detected (on the left).

Some experimental results

In the table below, CPU times are taken on an Intel Core2 Duo (3 GHz) under Debian Linux. The first column gives SystemC simulation times without any monitoring. The second column gives CPU times for simulation instrumented with our checkers. The number of times the checker functions have been evaluated is reported in the third column. Checkers construction times are negligible.

Four examples are reported here (see details in [FP09], [PF10] and [FP11]). The verification of a modem SoC developed by Thales Communications and Security is also reported in [PF12].
Properties Simu. without monitoring Simu. + ISIS checkers # property evaluations
DMA, P1 4.97 s 5.18 s 1.4 millions
DMA, P2 4.97 s 6.21 s 6.4 millions
DMA, P3 4.97 s 5.54 s 4.2 millions
MJPEG platform, P4 18.67 s 21.64 s 13.7 millions (av.)
Packet switch, P5 8.94 s 9.56 s 4 millions (av.)
Packet switch, P6 8.94 s 15.81 s 1.6 millions (av.) + 60 millions (av.) of "eventually" sub-monitor
Packet switch, P7 8.94 s 10.03 s 1.8 millions (av.) + 2 millions (av.) for sub-monitors
SoC for space telemetry, P8 9.38 s 9.81 s 500000
SoC for space telemetry, P9 9.38 s 10.02 s 500000
SoC for space telemetry, P10 7.68 s 7.83 s 360000


References




Contact:
Prof. Laurence PIERRE
TIMA Laboratory
Laurence.Pierre@imag.fr
Tel. +33 (0)4 76 57 49 92