Generation of a fault-tolerant clock through redundant crystal oscillators

Abstract Having a precise and stable clock that is still fault tolerant is a fundamental prerequisite in safety critical real-time systems. However, combining redundant independent clock sources to form a unified fault-tolerant clock supply is non-trivial, especially when redundant clock outputs are required – e.g., for supplying the replicated nodes within a TMR architecture through a clock network that does not suffer from a single point of failure. Having these outputs fail independent but still keeping them tightly synchronized is highly desirable, as it substantially eases the design of the overall architecture. In this paper we address exactly this challenge. Our approach extends an existing, ring-oscillator like distributed clock generation scheme by augmenting each of its constituent nodes with a stable clock reference. We introduce the appropriately modified algorithm and illustrate its operation by simulation experiments. These experiments further demonstrate that the four clock outputs of our circuit do not share a single point of failure, have small and bounded skew, remain stabilized to one crystal source during normal operation, do not propagate glitches from one failed clock to a correct one, and only exhibit slightly extended clock cycles during a short stabilization period after a component failure. In addition we give a rigorous formal proof for the correctness of the algorithm on an abstraction level that is close to the implementation.

[1]  Changhong Yu A Clock Fault Detection Circuit for Reliable High Speed System by Time-to-Voltage Conversion , 2009, 2009 Second International Symposium on Electronic Commerce and Security.

[2]  Mónico Linares Aranda,et al.  Interconnected rings and oscillators as gigahertz clock distribution nets , 2003, GLSVLSI '03.

[3]  Nancy A. Lynch,et al.  A New Fault-Tolerance Algorithm for Clock Synchronization , 1988, Inf. Comput..

[4]  Chen Keming,et al.  A novel clock-fault detection and self-recovery circuit based on time-to-voltage converter , 2008, 2008 International Conference on Communications, Circuits and Systems.

[5]  Matthias Függer,et al.  Reconciling fault-tolerant distributed computing and systems-on-chip , 2011, Distributed Computing.

[6]  Andreas Steininger,et al.  A versatile and reliable glitch filter for clocks , 2015, 2015 25th International Workshop on Power and Timing Modeling, Optimization and Simulation (PATMOS).

[7]  Jie Chen,et al.  A clock-fault tolerant architecture and circuit for reliable nanoelectronics system , 2007, 2007 International Conference on Design & Technology of Integrated Systems in Nanoscale Era.

[8]  Jeonghun Cho,et al.  Automatic On-Chip Glitch-Free Backup Clock Changing Method for MCU Clock Failure Protection in Unsafe I/O Pin Noisy Environment , 2015 .

[9]  Matthias Függer,et al.  Fault-Tolerant Distributed Clock Generation in VLSI Systems-on-Chip , 2006, 2006 Sixth European Dependable Computing Conference.

[10]  Andreas Steininger,et al.  Merging Redundant Crystal Oscillators into a Fault-Tolerant Clock , 2020, 2020 23rd International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS).

[11]  Ivan E. Sutherland,et al.  Micropipelines , 1989, Commun. ACM.

[12]  Changhong Yu A Novel Clock-Fault Detection and Self-Recovery Circuit for Reliable Nanoelectronics System , 2009, 2009 International Workshop on Intelligent Systems and Applications.

[13]  Jeonghun Cho,et al.  On-chip glitch-free backup clock changer with noise canceller and edge detector for safety MCU clock system , 2015, 2015 IEEE 4th Global Conference on Consumer Electronics (GCCE).

[14]  Stéphane Meillére,et al.  A simple clock-fault detection analog circuit for high-speed crystal oscillators , 2015, 2015 38th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO).

[15]  Andreas Steininger,et al.  VLSI Implementation of a Distributed Algorithm for Fault-Tolerant Clock Generation , 2011, J. Electr. Comput. Eng..

[16]  Andreas Steininger,et al.  A Systematic Approach to Clock Failure Detection , 2019, 2019 Austrochip Workshop on Microelectronics (Austrochip).