SLoT: A supervised learning model to predict dynamic timing errors of functional units

Dynamic timing errors (DTEs), that are caused by the timing violations of sensitized critical timing paths, have emerged as an important threat to the reliability of digital circuits. Existing approaches model the DTEs without considering the impact of input operands on dynamic path sensitization, resulting in loss of accuracy. The diversity of input operands leads to complex path sensitization behaviors, making it hard to represent in DTE modeling. In this paper, we propose SLoT, a supervised learning model to predict the output of functional units (FUs) to be one of two timing classes: {timing correct, timing erroneous} as a function of input operands and clock period. We apply random forest classification (RFC) method to construct SLoT, by using input operands, computation history and circuit toggling as input features and outputs' timing classes as labels. The outputs' timing classes are measured using gate-level simulation (GLS) of a post place-and-route design in TSMC 45nm process. For evaluation, we apply SLoT to several FUs and on average 95% predictions are consistent with GLS, which is 6.3X higher compared to the existing instruction-level model. SLoT-based reliability analysis of FUs under different datasets can achieve 0.7–4.8% average difference compared with GLS-based analysis, and execute more than 20X faster than GLS.

[1]  Jing Xin,et al.  Identifying and predicting timing-critical instructions to boost timing speculation , 2011, 2011 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[2]  Michael Kharitonov,et al.  Cryptographic hardness of distribution-specific learning , 1993, STOC.

[3]  Yu Jiang,et al.  System reliability calculation based on the run-time analysis of ladder program , 2013, ESEC/FSE 2013.

[4]  Yu Jiang,et al.  Bayesian-Network-Based Reliability Analysis of PLC Systems , 2013, IEEE Transactions on Industrial Electronics.

[5]  Rajesh K. Gupta,et al.  Supervised learning based model for predicting variability-induced timing errors , 2015, 2015 IEEE 13th International New Circuits and Systems Conference (NEWCAS).

[6]  Florent de Dinechin,et al.  Designing Custom Arithmetic Data Paths with FloPoCo , 2011, IEEE Design & Test of Computers.

[7]  David R. Kaeli,et al.  Multi2Sim: A simulation framework for CPU-GPU computing , 2012, 2012 21st International Conference on Parallel Architectures and Compilation Techniques (PACT).

[8]  David Blaauw,et al.  Razor: A Low-Power Pipeline Based on Circuit-Level Timing Speculation , 2003, MICRO.

[9]  Gaël Varoquaux,et al.  Scikit-learn: Machine Learning in Python , 2011, J. Mach. Learn. Res..

[10]  John Sartori,et al.  Slack redistribution for graceful degradation under voltage overscaling , 2010, 2010 15th Asia and South Pacific Design Automation Conference (ASP-DAC).

[11]  Sanghamitra Roy,et al.  Predicting timing violations through instruction-level path sensitization analysis , 2012, DAC Design Automation Conference 2012.

[12]  Andreas Peter Burg,et al.  Exploiting dynamic timing margins in microprocessors for frequency-over-scaling with instruction-based clock adjustment , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[13]  Luca Benini,et al.  Application-Adaptive Guardbanding to Mitigate Static and Dynamic Variability , 2014, IEEE Transactions on Computers.

[14]  John Sartori,et al.  Graph-based dynamic analysis: Efficient characterization of dynamic timing and activity distributions , 2015, 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[15]  Paolo A. Aseron,et al.  A 45 nm Resilient Microprocessor Core for Dynamic Variation Tolerance , 2011, IEEE Journal of Solid-State Circuits.

[16]  Pietro Perona,et al.  Caltech-UCSD Birds 200 , 2010 .