Download tasking in esterel, using the multiclock facility of
Transcript
system. On the completion of the task, a special kind of signal, called a return signal, is sent back to the synchronous program. The synchronous program then gets results of the task execution. Possible (synchronous) preemptions make effective implementation of the Esterel tasking not easy. See reference [2] for detailed explanations and possible implementations based on so-called "Execution Machines" [3]. Esterel v7 [4] has introduced numerous enhancements: a better structuring of programs (units), arrays of signals, delayed emissions (next), exact arithmetics, and in the most recent release, a multiclock support. The simulation and verification environments have also to be improved with a better handling of data. Unfortunately the former Esterel tasking is no longer supported. So the following issues were handled in this internship period: • Understand the tasking of Esterel v5 • Get familiar with Esterel v7 • Analyze the support for tasking using the multiclock concept • Perform simulation and performance evaluation of multiclock-based multitask designs. Tasking is a restricted version of the Esterel V5's tasking. In this study, tasks will be synchronous programs with their own clock. These tasks will typically perform data processing, while the main Esterel program will act as a controller/supervisor for the associated tasks. 1.2 ORGANISATION OF THE REPORT In this report, we discuss the issues regarding the creation, implementation and to mimic the behavior of tasks. In the first section, we introduce the necessity of tasks and the semantics of old conventional task in Esterel v5. Then we discuss the Multiclock facility as it is in Esterel v7. Later on, we take a comparison of the tasks created using procedures and the Multiclock facility. Concluding this chapter, we discuss the importance and the need of synchronization. To better understand the Esterel C++ based simulation model, in the third chapter we explain the concepts of Execution Machine and how to implement it in software. It includes the explanation of various types of functions which were to be implemented by the users. We also take a brief look to the host procedure semantics in Esterel. Here we also explain the main concept of the tasking mechanism that how it will work and what sorts of signals will be used. Lastly, we discuss how different clock patterns can be produced under the clock generation mechanism. Finally, some example problems are considered. We discuss the multiple GCD -8-