Tickwerk: Design of a LET-Based SoC for Temporal Programming
Haizhao Luo,Bo Wan,Xi Li,Guixing Wu,Xianglan Chen,Chao Wang
DOI: https://doi.org/10.1109/ispa/iucc.2017.00110
2017-01-01
Abstract:In a hard real-time embedded system, time constraint is one of the most important features. However, to pursue the ultimate average performance, traditional architectures such as x86 and MIPS abandon the support for timing semantics. Although time-aware programming models can define the timing of I/O behaviors, but the programming models are still based on the traditional architectures. This paper presents the Tickwerk --- a SoC that can support temporal programming which including a Tickwerk Machine and a Tickwerk real-time executive. The Tickwerk machine is a MIPS processor that has a CP2 co-processor which has instruction-level access to cycle-accurate time service, time trigger assignment mechanism and time trigger task manager. Moreover, we also propose a Tickwerk real-time executive to provide a convenient LET-based temporal programming interface for the development of real-time embedded applications based on the Tickwerk Machine. We demonstrate the effectiveness of this Tickwerk Machine architecture through comparative experiment. The results show that the average output jitter of the Tickwerk Machine is about 1/20 of the traditional architecture, in spite that the Tickwerk Machine's frequency is 40Mhz while that of traditional architecture is 168Mhz.