Method and apparatus for fail-safe resynchronization with minimum latency
First Claim
1. A synchronizer circuit for passing data from circuitry in a first clock domain clocked by a first clock signal to circuitry in a second clock domain clocked by a second clock signal, the first and second clock signals being mesochronous, comprising:
- a domain-crossing circuit including at least two parallel data paths and configured to receive an input data signal from the circuitry in the first clock domain and to output at least two data signals in the second clock domain from respective ones of the at least two parallel data paths;
a phase comparator circuit configured to generate an output based on a phase difference between the first and the second clock signals; and
a selecting circuit coupled to receive the at least two data signals and configured to select one of the at least two data signals to pass to the circuitry in the second clock domain based on the output of the phase comparator circuit.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and circuit for achieving minimum latency data transfer between two mesochronous (same frequency, different phase) clock domains is disclosed. This circuit supports arbitrary phase relationships between two clock domains and is tolerant of temperature and voltage shifts after initialization while maintaining the same output data latency. In one embodiment, this circuit is used on a bus-system to re-time data from receive-domain, clocks to transmit-domain clocks. In such a system the phase relationships between these two clocks is set by the device bus location and thus is not precisely known. By supporting arbitrary phase resynchronization, this disclosure allows for theoretically infinite bus-length and thus no limitation on device count, as well as arbitrary placement of devices along the bus. This ultimately allows support of multiple latency-domains for very long buses.
-
Citations
22 Claims
-
1. A synchronizer circuit for passing data from circuitry in a first clock domain clocked by a first clock signal to circuitry in a second clock domain clocked by a second clock signal, the first and second clock signals being mesochronous, comprising:
-
a domain-crossing circuit including at least two parallel data paths and configured to receive an input data signal from the circuitry in the first clock domain and to output at least two data signals in the second clock domain from respective ones of the at least two parallel data paths; a phase comparator circuit configured to generate an output based on a phase difference between the first and the second clock signals; and a selecting circuit coupled to receive the at least two data signals and configured to select one of the at least two data signals to pass to the circuitry in the second clock domain based on the output of the phase comparator circuit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of passing data from circuitry in a first clock domain clocked by a first clock signal to circuitry in a second clock domain clocked by a second clock signal, the first and second clock signals being mesochronous, comprising:
-
sampling an input data signal from the circuitry in the first clock domain according to the first clock to produce at least one sampled output; outputting at least two data signals in the second clock domain from at least two parallel data paths; and selecting one of the at least two data signals to be passed to the circuitry in the second clock domain according to a control signal, the control signal being dependent on a phase difference between the first and the second clock signals. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
Specification