High-level synthesis for reduction of WCET in real-time systems

The increasing design complexity of systems-on-chip (SoCs) requires designers to work at higher levels of abstraction. High-level synthesis (HLS) is one approach towards this. It allows designers to synthesize hardware directly from code written in a high-level programming language and to more quickly explore alternative implementations by re-running the synthesis with different optimization parameters and pragmas. HLS is particularly interesting for FPGA circuits, where different hardware implementations can easily be loaded into the target device. Another perspective on HLS is performance. Compared to executing the high-level language code on a processor, HLS can be used to create hardware that accelerates critical parts of the code. When discussing performance in the context or real-time systems, it is the worst-case execution time (WCET) of a task that matters. WCET obviously benefits from hardware acceleration, but it may also benefit from a tighter bound on the WCET. This paper explores the use of and integration of accelerators generated using HLS into a time-predictable processor intended for real-time systems. The high-level design tool, Vivado HLS, is used to generate hardware accelerators from benchmark code, and the system using the generated hardware accelerators is evaluated against the WCET of the original code. The design evaluation is carried out using the Patmos processor from the open-source T-CREST platform and implemented on a Xilinx Artix 7 FPGA. The WCET speed-up achieved is between a factor of 5 and 70.

[1]  Parameswaran Ramanathan,et al.  Real-time computing: a new discipline of computer science and engineering , 1994, Proc. IEEE.

[2]  Philippe Coussy,et al.  High-Level Synthesis , 2008 .

[3]  Martin Schoeberl,et al.  TACLeBench: A Benchmark Collection to Support Worst-Case Execution Time Research , 2016, WCET.

[4]  Yu Ting Chen,et al.  Automating the Design of Processor/Accelerator Embedded Systems with LegUp High-Level Synthesis , 2014, 2014 12th IEEE International Conference on Embedded and Ubiquitous Computing.

[5]  Yunmo Chung,et al.  Reducing the Overhead of Real-Time Operating System through Reconfigurable Hardware , 2007 .

[6]  Jason Cong,et al.  Accelerating vision and navigation applications on a customizable platform , 2011, ASAP 2011 - 22nd IEEE International Conference on Application-specific Systems, Architectures and Processors.

[7]  Yu Ting Chen,et al.  A Survey and Evaluation of FPGA High-Level Synthesis Tools , 2016, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[8]  Alain Darte,et al.  Optimizing remote accesses for offloaded kernels: Application to high-level synthesis for FPGA , 2012, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[9]  Hiroyuki Tomiyama,et al.  CHStone: A benchmark program suite for practical C-based high-level synthesis , 2008, 2008 IEEE International Symposium on Circuits and Systems.

[10]  Luca Benini,et al.  Energy and performance exploration of accelerator coherency port using Xilinx ZYNQ , 2013 .

[11]  Jason Cong,et al.  Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks , 2015, FPGA.

[12]  Kees G. W. Goossens,et al.  RTOS acceleration in an MPSoC with reconfigurable hardware , 2016, Comput. Electr. Eng..

[13]  Jens Knoop,et al.  The platin Tool Kit-The T-CREST Approach for Compiler and WCET Integration , 2015 .

[14]  Alan Burns,et al.  Guest Editorial: A Review of Worst-Case Execution-Time Analysis , 2000, Real-Time Systems.

[15]  Benedikt Huber,et al.  T-CREST: Time-predictable multi-core architecture for embedded systems , 2015, J. Syst. Archit..

[16]  Gianluca Palermo,et al.  A Pipelined Fast 2D-DCT Accelerator for FPGA-based SoCs , 2007, IEEE Computer Society Annual Symposium on VLSI (ISVLSI '07).

[17]  Benedikt Huber,et al.  Compiling for Time Predictability , 2012, SAFECOMP Workshops.

[18]  Christopher D. Gill,et al.  Improving System Predictability and Performance via Hardware Accelerated Data Structures , 2012, ICCS.

[19]  Jason Helge Anderson,et al.  LegUp: high-level synthesis for FPGA-based processor/accelerator systems , 2011, FPGA '11.

[20]  Yunmo Chung,et al.  Reducing the Overhead of Real-Time Operating System through Reconfigurable Hardware , 2007, 10th Euromicro Conference on Digital System Design Architectures, Methods and Tools (DSD 2007).

[21]  Peter Puschner Is Worst-Case Execution-Time Analysis a Non-Problem? — Towards New Software and Hardware Architectures , 2002 .