We describe a method for synthesizing SystemC-Code from high-level Petri nets. The synthesis method is part of a Petri net based methodology for the design of distributed embedded real-time systems [13]. The methodology leads through the complete design process from modelling on an abstract level using high-level Petri nets via analysis and partitioning of the model down to automatic synthesis of an implementation. Within the synthesis stage, we currently are able to automatically generate target code for different microcontrollers that are interconnected by a communication media, for instance a CAN bus. Such a software implementation is sufficient for many applications. In certain cases, however, it is necessary to realize components of an embedded system in hardware in order to meet real-time constraints.For realizing a component in hardware, a specification in a Hardware Description Language (HDL) has to be generated. Appropriate languages are * This work was supported by the German Science Foundation (DFG) project SFB-376 Abstract:
Keywords:The paper presents an approach for realizing high-level Petri net models in SystemC. The approach contributes to an existing methodology for the Petri net based design of distributed embedded real-time systems. It is intended to be a vehicle for realizing Petri net components in hardware. The paper describes the use of standard SystemC language constructs to realize the execution of a high-level Petri net, which is assumed to be separated into partitions. Besides techniques for realizing the mechanisms of Petri net execution, the integration of the code generation into the overall design flow is discussed. To demonstrate the effectiveness of our approach we use the inverse discrete cosine transformation (IDCT) that is part of the MPEG-2 algorithm.