ABSTRACT
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: amjad@ece.concordia.ca |