Technical Report

An Executable Operational Semantics for SystemC using Abstract State Machines

A. Gawanmeh, A. Habibi, and S. Tahar


In this work, we use the Abstract State Machines (ASM) modeling language, AsmL, to define the semantics of the SystemC system level language. AsmL provides an efficient way for formally specifying computing systems. The SystemC semantics we defined includes SystemC FIFO channels, MUTEX channels, message queuing, request-grant protocol and SystemC FIFO hierarchical channels with handshake protocol. We also specified the semantics of design rules for SystemC channels including static and dynamic design rules checking. We then defined the operation of SystemC simulator in AsmL, where SystemC designs can be described in AsmL within our model, and run on the simulator we define. The simulator we defined provide the SystemC operational semantics by means of ASM transition rules that can be executed using supporting tools for AsmL, such as Microsoft Word, Microsoft .NET Visula Studio, and AsmL Tester. This allows the specification of SystemC designs in ASM and their execution, however, it lefts the level at which we describe the design from the implementation level (in SystemC) to a more abstract level (in ASM), where we define the behavior of our system as a set of  events and processes. We then describe this abstraction, and what features of the design can be modeled in order to be run on the simulator. We believe that this work reduces the learning time and effort for understanding SystemC by providing an abstract executable simulator.

Download PDF file: (PDF file
Send comments and suggestions to: