Timing Speculation With Optimal In Situ Monitoring Placement and Within-Cycle Error Prevention

In this paper, a timing speculation technique with low-overhead <italic>in situ</italic> delay monitors placed along critical paths is presented. The proposed insertion of monitors enables timing error prevention within the same clock cycle. Compared to other techniques, the design cost per monitor in our technique is low because no additional gates for the guard banding, inspection window generation, and short path extension are required. We benchmarked our approach on an ARM Cortex M0. The insertion strategy reduces the number of monitors by up to <inline-formula> <tex-math notation="LaTeX">$\sim 23\times $ </tex-math></inline-formula>, power by <inline-formula> <tex-math notation="LaTeX">$\sim 5.5\times $ </tex-math></inline-formula>, and area by <inline-formula> <tex-math notation="LaTeX">$\sim 2.8\times $ </tex-math></inline-formula> compared to the traditional <italic>in situ</italic> monitoring techniques that insert monitors at the flip-flops. The timing error correction uses a global clock stretching unit to prevent errors within one cycle. With the proposed error prevention technique, ~22% more delay variation is tolerated with a negligible energy overhead of less than ~1%.

[1]  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).

[2]  Robert C. Aitken,et al.  TIMBER: Time borrowing and error relaying for online timing error resilience , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[3]  Ali Afzali-Kusha,et al.  Dynamic Flip-Flop Conversion: A Time-Borrowing Method for Performance Improvement of Low-Power Digital Circuits Prone to Variations , 2015, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[4]  Puneet Gupta,et al.  SlackProbe: A Flexible and Efficient In Situ Timing Slack Monitoring Methodology , 2014, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[5]  David Blaauw,et al.  In situ delay-slack monitor for high-performance processors using an all-digital self-calibrating 5ps resolution time-to-digital converter , 2010, 2010 IEEE International Solid-State Circuits Conference - (ISSCC).

[6]  Longxing Shi,et al.  A Low Overhead, Within-a-Cycle Adaptive Clock Stretching Circuit With Wide Operating Range in 40-nm CMOS , 2018, IEEE Transactions on Circuits and Systems II: Express Briefs.

[7]  Michael Nicolaidis Time redundancy based soft-error tolerance to rescue nanometer technologies , 1999, Proceedings 17th IEEE VLSI Test Symposium (Cat. No.PR00146).

[8]  N. Ranganathan,et al.  Dynamic clock stretching for variation compensation in VLSI circuit design , 2012, JETC.

[9]  Xin Liu,et al.  HEPP: A new in-situ timing-error prediction and prevention technique for variation-tolerant ultra-low-voltage designs , 2013, 2013 IEEE Asian Solid-State Circuits Conference (A-SSCC).

[10]  David M. Bull,et al.  RazorII: In Situ Error Detection and Correction for PVT and SER Tolerance , 2009, IEEE Journal of Solid-State Circuits.

[11]  Kwanyeob Chae,et al.  A Dynamic Timing Error Prevention Technique in Pipelines With Time Borrowing and Clock Stretching , 2014, IEEE Transactions on Circuits and Systems I: Regular Papers.

[12]  Ming Zhang,et al.  Circuit Failure Prediction and Its Application to Transistor Aging , 2007, 25th IEEE VLSI Test Symposium (VTS'07).

[13]  Kees G. W. Goossens,et al.  Effective In-Situ Chip Health Monitoring with Selective Monitor Insertion Along Timing Paths , 2018, ACM Great Lakes Symposium on VLSI.

[14]  José Pineda de Gyvez,et al.  A better-than-worst-case circuit design methodology using timing-error speculation and frequency adaptation , 2012, 2012 IEEE International SOC Conference.

[15]  J. Tschanz,et al.  Tunable replica circuits and adaptive voltage-frequency techniques for dynamic voltage, temperature, and aging variation tolerance , 2009, 2009 Symposium on VLSI Circuits.