CheckerCore: enhancing an FPGA soft core to capture worst-case execution times

  • Authors:
  • Jin Ouyang;Raghuveer Raghavendra;Sibin Mohan;Tao Zhang;Yuan Xie;Frank Mueller

  • Affiliations:
  • The Pennsylvania State University, State College, PA, USA;North Carolina State University, Raleigh, NC, USA;University of Illinois at Urbana-Champaign, Urbana, IL, USA;The Pennsylvania State University, State College, PA, USA;The Pennsylvania State University, State College, PA, USA;North Carolina State University, Raleigh, PA, USA

  • Venue:
  • CASES '09 Proceedings of the 2009 international conference on Compilers, architecture, and synthesis for embedded systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Embedded processors have become increasingly complex, resulting in variable execution behavior and reduced timing predictability. On such processors, safe timing specifications expressed as bounds on the worst-case execution time (WCET) are generally too loose due to conservative assumptions about complex architectural features, timing anomalies and programmatic complexities. Hence, exploiting the latest architectures may not be an option for embedded systems with hard real-time constraints where deadline misses cannot be tolerated. This work addresses these shortcomings by contributing CheckerCore. CheckerCore is a mode-enhanced SPARC v8 soft core processor synthesized on an FPGA. During regular execution the core adheres to its original specifications. But when operating in a special time-checking configuration, CheckerCore executes programs irrespective of inputs and steers execution intentionally along selected control flow paths. Such execution allows systematic derivation of worst-case execution time (WCET) bounds. This paper presents the overall design and implementation of CheckerCore and also illustrates its use in deriving accurate WCET bounds for a set of embedded benchmarks. Overall, CheckerCore proposes a realistic processor core enhancement that encapsulate processor details without revealing them to users while supporting safe bounding of WCETs. To the best of our knowledge, this is the first contribution of a WCET-enhancing microarchitectural feature besides full processor encapsulations.