Optimization of Assertion Placement in Time-Constrained Embedded Systems

We present an approach for optimization of assertion placement in time-constrained HW/SW modules for detection of errors due to transient and intermittent faults. During the design phases, these assertions have to be inserted into the executable code and, hence, will always be executed with the corresponding code branches. As the result, they can significantly increase execution time of a module, in particular, contributing to a much longer execution of the worst case, and cause deadline misses. Assertions have different characteristics such as tightness (or "local error coverage") and execution latency. Taking into account these properties can increase efficiency of assertion checks in time-constrained embedded HW/SW modules. We have developed a design optimization framework, which (1) identifies candidate locations for assertions, (2) associates a candidate assertion to each location, and (3) selects a set of assertions in terms of performance degradation and assertion tightness. Experimental results have shown the efficiency of the proposed techniques.

[1]  Petru Eles,et al.  Scheduling with bus access optimization for distributed embedded systems , 2000, IEEE Trans. Very Large Scale Integr. Syst..

[2]  Changhong Dai,et al.  Impact of CMOS process scaling and SOI on the soft error rates of logic processes , 2001, 2001 Symposium on VLSI Technology. Digest of Technical Papers (IEEE Cat. No.01 CH37184).

[3]  Frank Ghenassia Transaction-Level Modeling with SystemC: TLM Concepts and Applications for Embedded Systems , 2010 .

[4]  Russell Tessier,et al.  Trading off transient fault tolerance and power consumption in deep submicron (DSM) VLSI circuits , 2004, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[5]  Martin Hiller,et al.  Executable assertions for detecting data errors in embedded control systems , 2000, Proceeding International Conference on Dependable Systems and Networks. DSN 2000.

[6]  Cristian Constantinescu,et al.  Trends and Challenges in VLSI Circuit Reliability , 2003, IEEE Micro.

[7]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[8]  Franco Fummi,et al.  HIFSuite: Tools for HDL Code Conversion and Manipulation , 2010, 2010 IEEE International High Level Design Validation and Test Workshop (HLDVT).

[9]  Yue Lu,et al.  Statistical-Based Response-Time Analysis of Systems with Execution Dependencies between Tasks , 2010, 2010 15th IEEE International Conference on Engineering of Complex Computer Systems.

[10]  Petru Eles,et al.  Scheduling of Fault-Tolerant Embedded Systems with Soft and Hard Timing Constraints , 2008, 2008 Design, Automation and Test in Europe.

[11]  James M. Bieman,et al.  Improving software testability with assertion insertion , 1994, Proceedings., International Test Conference.

[12]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[13]  Giovanni Squillero,et al.  RT-Level ITC'99 Benchmarks and First ATPG Results , 2000, IEEE Des. Test Comput..

[14]  S. Hessabi,et al.  Assertion-based debug infrastructure for SoC designs , 2007, 2007 Internatonal Conference on Microelectronics.

[15]  Viacheslav Izosimov,et al.  Scheduling and Optimization of Fault-Tolerant Distributed Embedded Systems , 2009 .

[16]  George Economakos,et al.  Behavioral synthesis with SystemC and PSL assertions for interface specification , 2006, 2006 IEEE International Symposium on Circuits and Systems.

[17]  S. Tahar,et al.  Assertion based verification of PSL for SystemC designs , 2004, 2004 International Symposium on System-on-Chip, 2004. Proceedings..

[18]  Frank Ghenassia,et al.  Transaction Level Modeling with SystemC , 2005 .

[19]  Massimo Violante,et al.  Soft-error detection using control flow assertions , 2003, Proceedings 18th IEEE Symposium on Defect and Fault Tolerance in VLSI Systems.

[20]  Jeffrey M. Voas,et al.  Putting assertions in their place , 1994, Proceedings of 1994 IEEE International Symposium on Software Reliability Engineering.

[21]  Jacob A. Abraham,et al.  CEDA: control-flow error detection through assertions , 2006, 12th IEEE International On-Line Testing Symposium (IOLTS'06).

[22]  Neeraj Suri,et al.  On the placement of software mechanisms for detection of data errors , 2002, Proceedings International Conference on Dependable Systems and Networks.

[23]  Pascal Fradet,et al.  Implementing fault-tolerance in real-time programs by automatic program transformations , 2008, TECS.

[24]  A. Cortes,et al.  A Transaction Level Assertion Verification Framework in SystemC: An Application Study , 2009, 2009 Second International Conference on Advances in Circuits, Electronics and Micro-electronics.

[25]  Roman Obermaisser,et al.  Out-of-norm assertions [diagnostic mechanism] , 2005, 11th IEEE Real Time and Embedded Technology and Applications Symposium.

[26]  Johan Karlsson,et al.  GOOFI: generic object-oriented fault injection tool , 2001, 2001 International Conference on Dependable Systems and Networks.