In synchronousdigitalelectronics, such as most computers, a clock signal is a signal used to coordinate the actions of two or more circuits. A clock signal oscillates between a high and a low state, normally with a 50% duty cycle. In other words, the signal is a square wave. The circuits using the clock signal for synchronization may become active at either the rising or falling edge, or both (see for example DDR SDRAM), of the clock signal.
Most integrated circuits of sufficient complexity require a clock signal in order to synchronize different parts of the chip and to account for propagation delays. As chips get more complex, the problem of supplying accurate and synchronized clocks to all the circuits becomes more and more difficult. The preeminent example of such complex chips is the microprocessor, the central part of modern computers.
The speed of a clock signal in a computer is called the clock rate or clock frequency.
This invention relates to circuits and methods for transferring signals across clock domains and particularly to input and output cells for a processor having a core that operates at a frequency that is a half-integer multiple of a bus clockfrequency.
Bus signals are commonly synchronized with the rising edges of the bus clock signal, but when the processor clockfrequency is a non-integer multiple of the bus clockfrequency, the rising edge of the processor clock signal that is closest in time to a rising edge of the bus clock signal may be significantly offset.
A higher-frequency clock signal clocks the latch, and a control circuit enables rising-edge or falling-edge latching depending on whether a rising edge or a falling edge of the higher-frequency clock signal is closest in time to a required edge of a lower-frequency clock signal.