Patent ID: 7671634

Claim:
A redundant clock switch circuit, comprising: a first delay circuit configured to delay a first clock signal to produce a first delayed clock signal; a second delay circuit configured to delay a second clock signal to produce a second delayed clock signal, wherein the first and second clock signals are provided by independent, redundant clock sources; control logic configured to control the first and second delay circuits to maintain phase alignment between the first and second delayed clock signals, and to select one of the first and second delayed clock signals as a first output clock signal; and a phase-locked loop circuit configured to generate a second output clock signal phase-locked to the first output clock signal, wherein the control logic comprises: a first clock detect circuit configured to generate a first clock status of the first clock signal; a second clock detect circuit configured to generate a second clock status of the second clock signal; a controller configured to select one of the first and second delayed clock signals based on the first and second clock status; a multiplexer configured to receive the first and second delayed clock signals and output the one of the first and second delayed clock signals selected by the controller as the first output clock signal; a phase detector configured to determine a relative phase between the first and second delayed clock signals; a first delay control circuit configured to maintain phase alignment between the first and second delayed clock signals by controlling the first delay circuit when enabled by the controller; and a second delay control circuit configured to maintain phase alignment between the first and second delayed clock signals by controlling the second delay circuit when enabled by the controller; wherein the controller is configured to enable the first delay control circuit while the second delayed clock signal is selected, and to enable the second delay control circuit while the first delayed clock signal is selected.