US7231009B2 - Data synchronization across an asynchronous boundary using, for example, multi-phase clocks - Google Patents

Data synchronization across an asynchronous boundary using, for example, multi-phase clocks Download PDF

Info

Publication number
US7231009B2
US7231009B2 US10/371,220 US37122003A US7231009B2 US 7231009 B2 US7231009 B2 US 7231009B2 US 37122003 A US37122003 A US 37122003A US 7231009 B2 US7231009 B2 US 7231009B2
Authority
US
United States
Prior art keywords
clock
clock signal
signal
phase
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US10/371,220
Other versions
US20040161067A1 (en
Inventor
Gyudong Kim
Min-Kyu Kim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
UNIVERSAL CONNECTIVITY TECHNOLOGIES INC.
Original Assignee
Silicon Image Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Silicon Image Inc filed Critical Silicon Image Inc
Priority to US10/371,220 priority Critical patent/US7231009B2/en
Assigned to SILICON IMAGE, INC. reassignment SILICON IMAGE, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KIM, MIN-KYU, KIM, GYUDONG
Publication of US20040161067A1 publication Critical patent/US20040161067A1/en
Application granted granted Critical
Publication of US7231009B2 publication Critical patent/US7231009B2/en
Assigned to JEFFERIES FINANCE LLC reassignment JEFFERIES FINANCE LLC SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DVDO, INC., LATTICE SEMICONDUCTOR CORPORATION, SIBEAM, INC., SILICON IMAGE, INC.
Assigned to LATTICE SEMICONDUCTOR CORPORATION reassignment LATTICE SEMICONDUCTOR CORPORATION MERGER (SEE DOCUMENT FOR DETAILS). Assignors: SILICON IMAGE, INC.
Assigned to LATTICE SEMICONDUCTOR CORPORATION reassignment LATTICE SEMICONDUCTOR CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JEFFERIES FINANCE LLC
Assigned to LATTICE SEMICONDUCTOR CORPORATION, SILICON IMAGE, INC., DVDO, INC., SIBEAM, INC. reassignment LATTICE SEMICONDUCTOR CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JEFFERIES FINANCE LLC
Assigned to WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT reassignment WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LATTICE SEMICONDUCTOR CORPORATION
Assigned to LATTICE SEMICONDUCTOR CORPORATION reassignment LATTICE SEMICONDUCTOR CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Assigned to UNIVERSAL CONNECTIVITY TECHNOLOGIES INC. reassignment UNIVERSAL CONNECTIVITY TECHNOLOGIES INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LATTICE SEMICONDUCTOR CORPORATION
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • H04L7/0012Synchronisation information channels, e.g. clock distribution lines by comparing receiver clock with transmitter clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines

Definitions

  • Embodiments of the invention relate to systems and methods for transferring synchronous digital signals across an asynchronous boundary.
  • Metastability generally refers to a circuit or system that has an unstable and transient, but relatively long-lived state. The problem of metastability is well known in the art, and can be illustrated, for example, by operation of a bistable latch.
  • a bistable latch requires the coincident occurrence of two pulses, e.g., a data pulse and a clock pulse, to change the state of the latch.
  • a bistable latch a “metastable” state can occur when the two actuating pulses do not overlap sufficiently in time to permit the bistable latch to completely switch from one stable state to the other.
  • setup time violation or hold time violation can occur when a clock pulse is poorly synchronized with a data pulse
  • the bistable latch output can move from one stable level to the other and then back again.
  • the metastable latch problem occurs when a clock pulse from one domain overlaps insufficiently with a data pulse synchronized to a clock pulse from another domain.
  • a clocked bistable latch can malfunction if the data input changes during the setup-time interval preceding a clock pulse. As long as the clocked bistable latch makes some decision upon receipt of the active edge of the clock pulse, the circuit incorporating the latch will operate properly. An incoming transition edge of a data signal should occur before a transition edge of a clock signal to the latch. However, if the input changes at a particularly bad time within the setup-time, the clocked bistable latch can hover at the logic threshold or the clocked bistable latch can go into one state and then switch back to the other state. Stated yet another way, a clocked bistable latch can malfunction if the data input changes during the hold-time interval following a clock pulse.
  • One method of determining whether a problem in data synchronization across asynchronous boundaries will occur is to employ a higher frequency clock.
  • the higher frequency clock may then determine the relationship between clocks in each of two asynchronous domains.
  • a higher frequency clock requires circuitry to have less margin of error, thereby making associated circuitry more difficult to design.
  • FIG. 1 is a circuit diagram of a retiming circuit according to one embodiment of the invention.
  • FIG. 2 illustrates the waveforms of external and internal clocks and of incoming data used as inputs by the retiming circuit of FIG. 1 .
  • FIG. 3 is a flow chart of one embodiment of a method according to the invention.
  • FIG. 4 is a flow chart of another embodiment of a method according to the invention.
  • FIG. 5 is a block diagram of a system for providing data synchronization under an embodiment of the invention.
  • This invention relates to systems and methods for transferring synchronous digital signals, such as across an asynchronous boundary.
  • Data transfer over a boundary separating an external clock domain and an internal clock domain can cause elements of the receiving circuit to enter a metastable state.
  • One embodiment of the invention provides a method of data synchronization across an asynchronous boundary with two non-synchronous clocks of the same frequency, using a system having multi-phase clock signals.
  • the method uses multi-phase clock signals to determine if the phase difference between an active edge of an external clock signal and the active edge of the 0 th phase of an internal sampling clock signal is less than a pre-selected value. If this phase difference is too small, the subsystem receiving data across the asynchronous boundary can experience metastability problems.
  • the method samples the incoming data with a second internal sampling clock signal, having a selected phase relationship to the first internal sampling clock signal. For example, if the system determines that the rising edge of the external clock signal is near to that of a first internal clock signal, then the system effectively latches data based on a falling edge of the external clock signal (based on a second clock signal 180° out of phase with the first internal clock signal). By maintaining sufficient phase difference between the active edge of the external clock and the active edge of the internal sampling clock, the system provides a sufficient setup/hold margin to avoid a metastability or other problem in the subsystem receiving data across an asynchronous boundary.
  • an embodiment according to the invention can avoid this metastability problem.
  • This embodiment uses two phases of multi-phase clock signals to obtain information about the phase of an external clock, and thereby determine whether a first 0 th clock signal, or a 180° out of phase second phase clock signal is to be used.
  • FIG. 1 Details regarding a specific circuit for implementing an aspect of the invention are first described with respect to FIG. 1 . Examples of signals employed by the circuit of FIG. 1 are then discussed. Thereafter, a block diagram illustrating a broad implementation of another aspect of the invention is described. Finally, two methods of performing data synchronization are discussed.
  • FIG. 1 shows a schematic diagram for a synchronization or retiming circuit 10 for transferring synchronous digital data over an asynchronous boundary.
  • FIG. 2 illustrates the waveforms of an external clock signal (“rckin”), of an incoming data signal (“rdi”) and of four internal clock signals each having a distinct phase (“p ⁇ 0 >” through “p ⁇ 3 >”).
  • the retiming circuit of FIG. 1 receives all six signals illustrated in FIG. 2 as inputs.
  • the illustrated scheme uses four internal clock signals each having a distinct phase, p ⁇ 0 >–p ⁇ 4 >, where the 1 st , 2 nd and 3 rd phase internal clock signals p ⁇ 1 >, p ⁇ 2 >, and p ⁇ 3 > are 90, 180 and 270 degrees, respectively, out of phase with the 0 th clock signal p ⁇ 0 >, but all clock signals have the same frequency.
  • the retiming circuit 10 may be placed at a boundary between two asynchronous clocks, such as at the boundary between one subsystem operating under an external clock signal, and a second subsystem operating under an internal clock signal.
  • the retiming circuit shown in FIG. 1 receives an external clock signal on a line “rckin.”
  • the external clock signal rckin cannot be used to latch data out of the retiming circuit 10 because a metastability condition could arise if the rising edge of this clock signal coincides with data transition and with the 0 th phase of the internal clock.
  • the line rckin couples to inputs of D flip-flops 12 and 13 .
  • the D flip-flop 12 receives the 1 st phase of the internal clock signal p ⁇ 1 > and samples the external clock signal rckin at the rising edge of the 1 st clock signal p ⁇ 1 >.
  • the D flip-flop 13 receives the 3 rd phase of the internal clock signal p ⁇ 3 > and samples the external clock signal rckin at the rising edge of the 3 rd clock signal p ⁇ 3 >.
  • the output of the D flip-flop 12 passes through an inverter 14 before coupling to a first input of a two input NAND gate 15 , while the output of the D flip-flop 13 couples directly to the other input of the NAND gate.
  • the D flip-flops 12 and 13 together with the first and third internal clock signals p ⁇ 1 > and p ⁇ 3 > sample the external clock signal, while the inverter 14 and NAND gate 15 determine where the rising edge of the external clock signal rckin occurs.
  • the output of the NAND gate 15 couples to the control input of a multiplexer (MUX) 16 , which has two data inputs and one output.
  • MUX multiplexer
  • the retiming circuit 10 receives an incoming data signal on a line “rdi.”
  • the line rdi couples to a first data input of the MUX 16 and to the input of a D flip-flop 17 .
  • the D flip-flop 17 receives the 2 nd phase of the internal clock signal p ⁇ 2 > and samples the incoming data signal at the rising edge of the 2 nd clock signal p ⁇ 2 >.
  • the output of the D flip-flop 17 couples to the second input of MUX 16 .
  • the 0 th phase internal clock signal p ⁇ 0 > is assumed to be synchronized with the incoming data, but if a possible metastability condition or other problem could exist, a clock signal out of phase with p ⁇ 2 > is used instead.
  • the D flip-flops 12 and 13 are triggered by the rising edges of the 1 st and 3 rd internal clock signals, p ⁇ 1 > and p ⁇ 3 >, respectively, of the multiple-phase clocks. Together with the inverter 14 and NAND gate 15 , the D flip-flops 12 and 13 effectively operate to detect the phase of the external clock signal rckin.
  • the MUX 16 selects the output of the D flip-flop 17 using the 2 nd internal clock signal p ⁇ 2 > for latching data. Alternatively, if the output of the NAND gate 15 is low, the MUX 16 selects the first input coupled directly to the rdi line. Finally, a D flip-flop 18 , triggered by the 0 th internal clock signal p ⁇ 0 > samples the output of the MUX 16 .
  • the rising edge of rckin and the rising edge of 0 th internal clock signal p ⁇ 0 > are close to each other.
  • the phase difference between the active edges of rckin and p ⁇ 0 > are less than a pre-selected value, as shown as a time difference tdiff between time t 0 and time t 1 .
  • the active edges of the external clock correlate with the transitions of the incoming data.
  • the retiming circuit uses the 2 nd internal clock signal p ⁇ 2 > (approximately 180° out of phase with p ⁇ 0 >) for latching the incoming data. If the phase difference between the active edges of the external clock and p ⁇ 0 >, tdiff in FIG.
  • the retiming circuit uses the 0 th internal clock signal p ⁇ 0 > for latching the incoming data rdi.
  • This embodiment gives setup/hold margin proportional to clock period, which is neither process nor technology dependent, and also more tolerant to relative jitter between two non-synchronous clocks, because the absolute amount of relative jitter is likely to increase at lower clock frequency.
  • retiming circuit As will be obvious to those of skill in the art, other embodiments of the retiming circuit are possible. For example, an alternative circuit could use or receive more than four phases of internal multi-phase clock signals, and have accompanying changes in circuitry. Also the NAND gate 15 could be replaced by more complicated logic to deal with the case where the phase difference between two non-synchronous clocks varies dynamically.
  • the retiming circuit 10 of FIG. 1 is only one example of an implementation of a broader retiming system 200 shown in FIG. 5 .
  • the retiming system 200 includes a clock signal comparator 202 that receives internal clock signals 1 through N, and compares them with an external clock signal.
  • a clock signal sample component 203 may form an input to the clock signal comparator 202 to periodically sample the external clock signal based on one or more of the internal clock signals.
  • the clock signal comparator may compare various features of the external clock signal with one or more internal clock signals, such as phase differences, timing between active/inactive clock edges, etc.
  • At least two of the internal clock signals 1 -N are input to a clock signal selector 204 .
  • the clock signal comparator 202 Based on a comparison between the external clock signal and one or more of the internal clock signals 1 -N, the clock signal comparator 202 generates an output signal on a line 205 , which is used to control the clock signal selector 204 and output or select one of the internal clock signals 1 -N as a selected clock signal on line 207 .
  • a sample and hold component 206 receives the inputting data, and samples and holds it based on the selected clock signal to provide synchronized output data. Examples of specific implementations of the various blocks and components in the retiming system 200 are shown with corresponding broken line boxes in FIG. 1 (where the sample and hold component 206 may be implemented by the D flip-flops 17 and 18 ).
  • aspects of the invention may be implemented as functionality programmed into any of a variety of circuitry, including programmable logic devices (PLDs), such as field programmable gate arrays (FPGAs), programmable array logic (PAL) devices, electrically programmable logic and memory devices and standard cell-based devices, as well as application specific integrated circuits (ASICs).
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays
  • PAL programmable array logic
  • ASICs application specific integrated circuits
  • microcontrollers with memory such as electronically erasable programmable read only memory (EEPROM)
  • EEPROM electronically erasable programmable read only memory
  • embedded microprocessors firmware, software, etc.
  • the software may be carried by any computer readable medium, such as magnetically- or optically-readable disks (fixed or floppy), modulated on a carrier signal or otherwise transmitted, etc.
  • aspects of the invention may be embodied in microprocessors having software-based circuit emulation, discrete logic (sequential and combinatorial), custom devices, fuzzy (neural) logic, quantum devices, and hybrids of any of the above device types.
  • MOSFET metal-oxide semiconductor field-effect transistor
  • CMOS complementary metal-oxide semiconductor
  • ECL emitter-coupled logic
  • polymer technologies e.g., silicon-conjugated polymer and metal-conjugated polymer-metal structures
  • mixed analog and digital etc.
  • one embodiment of a method 101 for transferring data across an asynchronous boundary includes sampling an external clock according to first and third phases of internal multi-phase clock signals under blocks 100 and 102 , respectively. The method then determines in block 104 if the active edge of the external clock occurs between the active edge of the first and third phases of the internal multi-phase clocks. If it does, then the method samples in block 110 an incoming data signal according to the 0 th phase of the multi-phase clock signals. If it does not, then the method first samples in block 106 the incoming data signal according to the second phase of the multi-phase clock signals. Thereafter, the method samples the previously sampled data signal according to the 0 th phase of the internal multi-phase clock signals in block 108 . The method continues then with each new input data pulse or other data signal.
  • FIG. 4 another embodiment employs a method 121 for transferring synchronous digital signals across an asynchronous boundary separating an external clock domain and an internal clock domain includes determining in block 120 whether the phase difference between the active edges of an external clock and the 0 th phase of the internal multi-phase clock signals is below a pre-selected value.
  • the method 121 includes sampling in block 110 an incoming data signal according to the 0 th phase of the internal multi-phase clock signal. If the phase difference is below the pre-selected value, then the incoming data signal is sampled in block 122 according to a delayed phase of the internal multi-phase clock signal. After sampling the incoming data signal according to the delayed phase, the method can include sampling in block 108 the incoming data signal according to the 0 th phase of the internal multi-phase clock signals.
  • the multi-phase clock signals are typically synchronized.
  • the clock signals need not be synchronized, but additional circuitry, such as buffering circuits, are provided to so compensate.
  • additional circuitry such as buffering circuits, are provided to so compensate.
  • the external clock signal may be substituted in certain environments. While the four phases of the multi-phase clock signals are described above as being 90° out of phase, different phase differences may be employed.
  • an alternative embodiment could sample a clock of the destination domain and delay the data signal in the source domain before exporting it to the destination domain.
  • the destination domain receives a data signal that has already been synchronized with the clock of the destination domain.
  • Embodiments of the invention may be employed in not only systems, but subsystems and even chips. Complicated semiconductor chips having multiple subsystems operating under several different clocks may often be required to transmit data across such chip subsystems. Embodiments of the invention permit data to be transferred across such asynchronous subsystem boundaries without loss in data, thereby reducing bit error rates in the chip. Embodiments of the invention allow one system to receive a data stream synchronized to an external clock and recover and synchronize to the incoming data based on a new or “recovery” clock signal in a quick manner, without losing data in the data stream.

Abstract

Additional information on the phase of an external clock signal is obtained by using clock signals to determine if a phase difference between an external clock signal and a first internal sampling clock signal is less than a pre-selected value. If the system determines that the phase difference is less than a pre-selected value, one embodiment samples the incoming data with a second internal sampling clock signal, having a selected phase relationship to the first internal sampling clock signal, such as ½ a clock period out of phase. By maintaining sufficient phase difference between the active edge of the external clock and the active edge of the internal sampling clock, the embodiment provides a sufficient setup/hold margin to avoid a metastability or other problem in a subsystem receiving data across an asynchronous boundary.

Description

BACKGROUND
1. Technical Field
Embodiments of the invention relate to systems and methods for transferring synchronous digital signals across an asynchronous boundary.
2. Description of the Background
In systems using digital circuitry, two functional blocks or subsystems operating in two different timing domains often communicate with one another. When these two blocks operate in synchrony with a single digital clock signal, transfer of digital data between the two blocks does not present a problem. However, when two digital subsystems operate in synchrony with different clock signals, any digital data signals traveling between the subsystems should be synchronized in some manner to avoid data errors.
If, for example, two digital subsystems operate in synchrony with different clocks, the system should resynchronize the digital data signals traveling from one subsystem to the other subsystem. In other words, if data signals travel from a first subsystem in an external clock domain to a second subsystem in an internal clock domain, the digital system should resynchronize the data signals with an internal clock signal at the asynchronous boundary. Similarly, if data signals travel an internal clock domain to an external clock domain, the digital system should resynchronize the data signals with an external clock signal at the asynchronous boundary. Without such resynchronization, a hardware “metastability” problem can result in clocked devices of the receiving subsystem, thereby producing invalid logic results. Metastability generally refers to a circuit or system that has an unstable and transient, but relatively long-lived state. The problem of metastability is well known in the art, and can be illustrated, for example, by operation of a bistable latch.
A bistable latch requires the coincident occurrence of two pulses, e.g., a data pulse and a clock pulse, to change the state of the latch. In a bistable latch, a “metastable” state can occur when the two actuating pulses do not overlap sufficiently in time to permit the bistable latch to completely switch from one stable state to the other. With insufficient overlap, such as setup time violation or hold time violation can occur when a clock pulse is poorly synchronized with a data pulse, the bistable latch output can move from one stable level to the other and then back again. In the context of two distinct clock domains, the metastable latch problem occurs when a clock pulse from one domain overlaps insufficiently with a data pulse synchronized to a clock pulse from another domain.
Stated another way, a clocked bistable latch can malfunction if the data input changes during the setup-time interval preceding a clock pulse. As long as the clocked bistable latch makes some decision upon receipt of the active edge of the clock pulse, the circuit incorporating the latch will operate properly. An incoming transition edge of a data signal should occur before a transition edge of a clock signal to the latch. However, if the input changes at a particularly bad time within the setup-time, the clocked bistable latch can hover at the logic threshold or the clocked bistable latch can go into one state and then switch back to the other state. Stated yet another way, a clocked bistable latch can malfunction if the data input changes during the hold-time interval following a clock pulse.
One method of determining whether a problem in data synchronization across asynchronous boundaries will occur is to employ a higher frequency clock. The higher frequency clock may then determine the relationship between clocks in each of two asynchronous domains. However, a higher frequency clock requires circuitry to have less margin of error, thereby making associated circuitry more difficult to design.
Thus, a need exists for systems and methods of transferring synchronous digital signals across an asynchronous boundary separating a transmitting subsystem and a receiving subsystem. A need exists for a system that avoids data transitions during the setup times for clocked devices within the receiving subsystem. Moreover, there is a need for systems and methods to compensate for clock/data synchronization errors in general.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a circuit diagram of a retiming circuit according to one embodiment of the invention.
FIG. 2 illustrates the waveforms of external and internal clocks and of incoming data used as inputs by the retiming circuit of FIG. 1.
FIG. 3 is a flow chart of one embodiment of a method according to the invention.
FIG. 4 is a flow chart of another embodiment of a method according to the invention.
FIG. 5 is a block diagram of a system for providing data synchronization under an embodiment of the invention.
The headings provided herein are for convenience only and do not necessarily affect the scope or meaning of the claimed invention.
DETAILED DESCRIPTION
The invention will now be described with respect to various embodiments. The following description provides specific details for a thorough understanding of, and enabling description for, these embodiments of the invention. However, one skilled in the art will understand that the invention may be practiced without these details. In other instances, well known structures and functions have not been shown or described in detail to avoid unnecessarily obscuring the description of the embodiments of the invention. For each embodiment, the same reference numbers and acronyms identify elements or acts with the same or similar functionality for ease of understanding and convenience.
This invention relates to systems and methods for transferring synchronous digital signals, such as across an asynchronous boundary. Data transfer over a boundary separating an external clock domain and an internal clock domain can cause elements of the receiving circuit to enter a metastable state. One embodiment of the invention provides a method of data synchronization across an asynchronous boundary with two non-synchronous clocks of the same frequency, using a system having multi-phase clock signals. The method uses multi-phase clock signals to determine if the phase difference between an active edge of an external clock signal and the active edge of the 0th phase of an internal sampling clock signal is less than a pre-selected value. If this phase difference is too small, the subsystem receiving data across the asynchronous boundary can experience metastability problems.
If the system determines that the phase difference between the edges of the clock signals is less than a pre-selected value, the method samples the incoming data with a second internal sampling clock signal, having a selected phase relationship to the first internal sampling clock signal. For example, if the system determines that the rising edge of the external clock signal is near to that of a first internal clock signal, then the system effectively latches data based on a falling edge of the external clock signal (based on a second clock signal 180° out of phase with the first internal clock signal). By maintaining sufficient phase difference between the active edge of the external clock and the active edge of the internal sampling clock, the system provides a sufficient setup/hold margin to avoid a metastability or other problem in the subsystem receiving data across an asynchronous boundary.
By obtaining information about the phase of the external clock, an embodiment according to the invention can avoid this metastability problem. This embodiment uses two phases of multi-phase clock signals to obtain information about the phase of an external clock, and thereby determine whether a first 0th clock signal, or a 180° out of phase second phase clock signal is to be used.
Details regarding a specific circuit for implementing an aspect of the invention are first described with respect to FIG. 1. Examples of signals employed by the circuit of FIG. 1 are then discussed. Thereafter, a block diagram illustrating a broad implementation of another aspect of the invention is described. Finally, two methods of performing data synchronization are discussed.
FIG. 1 shows a schematic diagram for a synchronization or retiming circuit 10 for transferring synchronous digital data over an asynchronous boundary. FIG. 2 illustrates the waveforms of an external clock signal (“rckin”), of an incoming data signal (“rdi”) and of four internal clock signals each having a distinct phase (“p<0>” through “p<3>”). In one embodiment, the retiming circuit of FIG. 1 receives all six signals illustrated in FIG. 2 as inputs. The illustrated scheme uses four internal clock signals each having a distinct phase, p<0>–p<4>, where the 1st, 2nd and 3rd phase internal clock signals p<1>, p<2>, and p<3> are 90, 180 and 270 degrees, respectively, out of phase with the 0th clock signal p<0>, but all clock signals have the same frequency.
Various circuits and methods are possible for creating such four clock signals. For example, four separate clocks may be provided, a single clock with several delays to provide clock signals of different phases may be provided, a phase locked loop (“PLL”) or a delay locked loop (“DLL”) could supply these multi-phase clock signals, etc. The four clock signals should be synchronized with each other. As will be obvious to those of skill in the art, other embodiments of the invention can use more or less than four phases, all depending upon other factors relevant to the particular implementation.
Details regarding the depicted retiming circuit 10 will be described first, followed by detailed discussions regarding its operation. The retiming circuit 10 may be placed at a boundary between two asynchronous clocks, such as at the boundary between one subsystem operating under an external clock signal, and a second subsystem operating under an internal clock signal. The retiming circuit shown in FIG. 1 receives an external clock signal on a line “rckin.” In this example, the external clock signal rckin cannot be used to latch data out of the retiming circuit 10 because a metastability condition could arise if the rising edge of this clock signal coincides with data transition and with the 0th phase of the internal clock.
The line rckin couples to inputs of D flip- flops 12 and 13. The D flip-flop 12 receives the 1st phase of the internal clock signal p<1> and samples the external clock signal rckin at the rising edge of the 1st clock signal p<1>. Similarly, the D flip-flop 13 receives the 3rd phase of the internal clock signal p<3> and samples the external clock signal rckin at the rising edge of the 3rd clock signal p<3>. The output of the D flip-flop 12 passes through an inverter 14 before coupling to a first input of a two input NAND gate 15, while the output of the D flip-flop 13 couples directly to the other input of the NAND gate. As explained more fully below, the D flip- flops 12 and 13, together with the first and third internal clock signals p<1> and p<3> sample the external clock signal, while the inverter 14 and NAND gate 15 determine where the rising edge of the external clock signal rckin occurs. The output of the NAND gate 15 couples to the control input of a multiplexer (MUX) 16, which has two data inputs and one output.
The retiming circuit 10 receives an incoming data signal on a line “rdi.” The line rdi couples to a first data input of the MUX 16 and to the input of a D flip-flop 17. The D flip-flop 17 receives the 2nd phase of the internal clock signal p<2> and samples the incoming data signal at the rising edge of the 2nd clock signal p<2>. The output of the D flip-flop 17 couples to the second input of MUX 16.
In operation, the 0th phase internal clock signal p<0> is assumed to be synchronized with the incoming data, but if a possible metastability condition or other problem could exist, a clock signal out of phase with p<2> is used instead. The D flip- flops 12 and 13 are triggered by the rising edges of the 1st and 3rd internal clock signals, p<1> and p<3>, respectively, of the multiple-phase clocks. Together with the inverter 14 and NAND gate 15, the D flip- flops 12 and 13 effectively operate to detect the phase of the external clock signal rckin. If the output of the NAND gate 15 is high, the MUX 16 selects the output of the D flip-flop 17 using the 2nd internal clock signal p<2> for latching data. Alternatively, if the output of the NAND gate 15 is low, the MUX 16 selects the first input coupled directly to the rdi line. Finally, a D flip-flop 18, triggered by the 0th internal clock signal p<0> samples the output of the MUX 16.
With reference to FIG. 2, assume the incoming external clock signal, rckin, sampled at the rising edge of the 1st internal clock signal p<1>, has a high or ‘1’ value, as shown at time t2. Also assume that the external clock signal rckin, sampled at the rising edge of the 3rd internal clock signal p<3>, has a low or ‘0’ value, as shown at time t4. Given these assumptions, the falling edge of rckin is therefore between the rising edges of the 1st and the 3rd internal clock signals, p<1> and p<3>. In such a case, the rising edge of rckin and the rising edge of 0th internal clock signal p<0> (time t0) are close to each other. Stated differently, the phase difference between the active edges of rckin and p<0> are less than a pre-selected value, as shown as a time difference tdiff between time t0 and time t1.
Designers want to avoid latching near the transitions of the incoming data because of the potential for a setup/hold-time violation, metastability problem, or other problem. In most systems or subsystems, the active edges of the external clock correlate with the transitions of the incoming data. As a result, when the phase difference between the active edges of rckin and p<0> are less than a pre-selected value, the retiming circuit uses the 2nd internal clock signal p<2> (approximately 180° out of phase with p<0>) for latching the incoming data. If the phase difference between the active edges of the external clock and p<0>, tdiff in FIG. 2, are larger than or equal to a pre-selected value (e.g., a quarter of a clock cycle), the retiming circuit uses the 0th internal clock signal p<0> for latching the incoming data rdi. This embodiment gives setup/hold margin proportional to clock period, which is neither process nor technology dependent, and also more tolerant to relative jitter between two non-synchronous clocks, because the absolute amount of relative jitter is likely to increase at lower clock frequency.
As will be obvious to those of skill in the art, other embodiments of the retiming circuit are possible. For example, an alternative circuit could use or receive more than four phases of internal multi-phase clock signals, and have accompanying changes in circuitry. Also the NAND gate 15 could be replaced by more complicated logic to deal with the case where the phase difference between two non-synchronous clocks varies dynamically.
The retiming circuit 10 of FIG. 1 is only one example of an implementation of a broader retiming system 200 shown in FIG. 5. Referring to FIG. 5, the retiming system 200 includes a clock signal comparator 202 that receives internal clock signals 1 through N, and compares them with an external clock signal. A clock signal sample component 203 may form an input to the clock signal comparator 202 to periodically sample the external clock signal based on one or more of the internal clock signals. The clock signal comparator may compare various features of the external clock signal with one or more internal clock signals, such as phase differences, timing between active/inactive clock edges, etc.
At least two of the internal clock signals 1-N are input to a clock signal selector 204. Based on a comparison between the external clock signal and one or more of the internal clock signals 1-N, the clock signal comparator 202 generates an output signal on a line 205, which is used to control the clock signal selector 204 and output or select one of the internal clock signals 1-N as a selected clock signal on line 207. A sample and hold component 206 receives the inputting data, and samples and holds it based on the selected clock signal to provide synchronized output data. Examples of specific implementations of the various blocks and components in the retiming system 200 are shown with corresponding broken line boxes in FIG. 1 (where the sample and hold component 206 may be implemented by the D flip-flops 17 and 18).
Aspects of the invention may be implemented as functionality programmed into any of a variety of circuitry, including programmable logic devices (PLDs), such as field programmable gate arrays (FPGAs), programmable array logic (PAL) devices, electrically programmable logic and memory devices and standard cell-based devices, as well as application specific integrated circuits (ASICs). Some other possibilities for implementing aspects of the invention include: microcontrollers with memory (such as electronically erasable programmable read only memory (EEPROM)), embedded microprocessors, firmware, software, etc. If aspects of the invention are embodied as software at at least one stage during manufacturing (e.g. before being embedded in firmware or in a PLD), the software may be carried by any computer readable medium, such as magnetically- or optically-readable disks (fixed or floppy), modulated on a carrier signal or otherwise transmitted, etc. Furthermore, aspects of the invention may be embodied in microprocessors having software-based circuit emulation, discrete logic (sequential and combinatorial), custom devices, fuzzy (neural) logic, quantum devices, and hybrids of any of the above device types. The underlying device technologies may be provided in a variety of component types, e.g., metal-oxide semiconductor field-effect transistor (MOSFET) technologies like complementary metal-oxide semiconductor (CMOS), bipolar technologies like emitter-coupled logic (ECL), polymer technologies (e.g., silicon-conjugated polymer and metal-conjugated polymer-metal structures), mixed analog and digital, etc.
With reference to FIG. 3, one embodiment of a method 101 for transferring data across an asynchronous boundary includes sampling an external clock according to first and third phases of internal multi-phase clock signals under blocks 100 and 102, respectively. The method then determines in block 104 if the active edge of the external clock occurs between the active edge of the first and third phases of the internal multi-phase clocks. If it does, then the method samples in block 110 an incoming data signal according to the 0th phase of the multi-phase clock signals. If it does not, then the method first samples in block 106 the incoming data signal according to the second phase of the multi-phase clock signals. Thereafter, the method samples the previously sampled data signal according to the 0th phase of the internal multi-phase clock signals in block 108. The method continues then with each new input data pulse or other data signal.
As will be obvious to those of skill in the art, other embodiments of a method according to the invention can use more or less than four phases to obtain information about the phase of the external clock. With reference to FIG. 4, another embodiment employs a method 121 for transferring synchronous digital signals across an asynchronous boundary separating an external clock domain and an internal clock domain includes determining in block 120 whether the phase difference between the active edges of an external clock and the 0th phase of the internal multi-phase clock signals is below a pre-selected value.
If the phase difference is above the pre-selected value, then the method 121 includes sampling in block 110 an incoming data signal according to the 0th phase of the internal multi-phase clock signal. If the phase difference is below the pre-selected value, then the incoming data signal is sampled in block 122 according to a delayed phase of the internal multi-phase clock signal. After sampling the incoming data signal according to the delayed phase, the method can include sampling in block 108 the incoming data signal according to the 0th phase of the internal multi-phase clock signals.
Various other alternatives are possible. For example, as described above, the multi-phase clock signals are typically synchronized. In an alternative embodiment, the clock signals need not be synchronized, but additional circuitry, such as buffering circuits, are provided to so compensate. Rather than employing a 0th phase internal clock signal, the external clock signal may be substituted in certain environments. While the four phases of the multi-phase clock signals are described above as being 90° out of phase, different phase differences may be employed.
Furthermore, while embodiments are described above as effectively synchronizing in external data signal from a source domain with one of several internal clock signals in a destination domain, an alternative embodiment could sample a clock of the destination domain and delay the data signal in the source domain before exporting it to the destination domain. Thus, under this alternative embodiment, the destination domain receives a data signal that has already been synchronized with the clock of the destination domain.
Embodiments of the invention may be employed in not only systems, but subsystems and even chips. Complicated semiconductor chips having multiple subsystems operating under several different clocks may often be required to transmit data across such chip subsystems. Embodiments of the invention permit data to be transferred across such asynchronous subsystem boundaries without loss in data, thereby reducing bit error rates in the chip. Embodiments of the invention allow one system to receive a data stream synchronized to an external clock and recover and synchronize to the incoming data based on a new or “recovery” clock signal in a quick manner, without losing data in the data stream.
Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense as opposed to an exclusive or exhaustive sense;
    • that is to say, in a sense of “including, but not limited to.” Words using the singular or plural number also include the plural or singular number respectively. Additionally, the words “herein,” “above,” “below,” and words of similar import, when used in this application, shall refer to this application as a whole and not to any particular portions of this application. When the claims use the word “or” in reference to a list of two or more items, that word covers all of the following interpretations of the word: any of the items in the list, all of the items in the list and any combination of the items in the list.
The above detailed descriptions of embodiments of the invention are not intended to be exhaustive or to limit the invention to the precise form disclosed above. While specific embodiments of, and examples for, the invention are described above for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize. For example, while steps are presented in a given order, alternative embodiments may perform routines having steps in a different order. The teachings of the invention provided herein can be applied to other systems, not necessarily the system described herein. These and other changes can be made to the invention in light of the detailed description. The elements and acts of the various embodiments described above can be combined to provide further embodiments.
These and other changes can be made to the invention in light of the above detailed description. In general, the terms used in the following claims, should not be construed to limit the invention to the specific embodiments disclosed in the specification, unless the above detailed description explicitly defines such terms. Accordingly, the actual scope of the invention encompasses the disclosed embodiments and all equivalent ways of practicing or implementing the invention under the claims.
While certain aspects of the invention are presented below in certain claim forms, the inventors contemplate the various aspects of the invention in any number of claim forms. For example, while only one aspect of the invention is recited as embodied in a semiconductor chip, other aspects may likewise be embodied in a chip. Accordingly, the inventors reserve the right to add additional claims after filing the application to pursue such additional claim forms for other aspects of the invention.

Claims (12)

1. A retiming circuit for transferring synchronous digital signals across an asynchronous boundary, the retiming circuit comprising:
a first flip-flop having a first data input, a first clock input, and a first output, the first data input coupled to an external clock line, the first clock input coupled to a first phase of an internal clock, the first flip-flop operative to sample a signal on the external clock line according to the first phase of the internal clock;
a second flip-flop having a second data input, a second clock input, and a second output, the second data input coupled to the external clock line, the second clock input coupled to a third phase of the internal clock, the second flip-flop operative to sample the signal on the external clock line according to the third phase of the internal clock;
an inverter having an input and an output, the input coupled to the output of the first flip-flop;
a NAND gate having at least one output providing an output signal and at least two inputs, a first input coupled to the output of the inverter, a second input coupled to the output of the second flip-flop,
a third flip-flop having a third data input, a third clock input, and a third output, the third data input coupled to receive an incoming data signal, the third clock input coupled to a second phase of the internal clock, the third flip-flop operative to sample the incoming data signal according to the second phase of the internal clock; and
a MUX having at least two data inputs, a control input, and an output, a first input coupled to directly receive the incoming data signal, while a second input is coupled to the output of the third flip-flop, and the control input is coupled to the output of the NAND gate, wherein the output of the MUX operative to produce an output signal as an unaltered incoming data signal or an incoming data signal sampled on a rising edge of the second phase of the internal clock depending on the output signal of the NAND gate.
2. The retiming circuit of claim 1, wherein the retiming circuit further comprises:
a fourth flip-flop having a data input, a clock input, and an output, the data input coupled to receive the output signal of the MUX, and the clock input coupled to the 0th phase of the internal clock, wherein the fourth flip-flop is operative to sample the output signal of the MUX according to the 0th phase of the internal clock.
3. A method for transferring synchronous digital signals across an asynchronous boundary separating an external clock domain and an internal clock domain, the method comprising:
sampling an external clock according to a first phase of internal multi-phase clock signals;
sampling the external clock according to a third phase of internal multi-phase clock signals;
determining if the active edge of the external clock is between the active edges of the first and third phases of the internal multi-phase clock signals by inverting the sampled external clock according to the first phase of internal multi-phase clock signal and performing a NAND logical operation on the inverted sample and the sample of the external clock according to the third phase of internal multi-phase clock signal;
sampling an incoming data signal according to the 0th phase of the internal multi-phase clock signals if the active edge of the external clock is between the active edges of the first and third phases of the internal multi-phase clock signals; and
sampling an incoming data signal according to the second phase of the internal multi-phase clock signals if the active edge of the external clock is not between the active edges of the first and third phases of the internal multi-phase clock signals.
4. A semiconductor chip, comprising:
a first subsystem providing a data signal and operating with respect to at least a first clock signal;
a second subsystem coupled to the first subsystem and having:
a clock signal comparator coupled to receive the first clock signal, wherein the clock signal comparator is configured to compare the first clock signal to at least a second clock signal and produce an output signal in response to the comparison;
a clock signal selector coupled to receive the output signal of the clock signal comparator, wherein the clock signal selector is configured to select one of two or more internal clock signals based on the output signal; and
a sampling component coupled to receive the data signal from the first subsystem and sample the data signal based on the selected clock signal
wherein the clock signal comparator includes an inverter that inverts at least a portion of the first clock signal with respect to the second clock signal, and a NAND gate coupled to receive an output of the inverter and at least a portion of the first clock signal with respect to a third clock signal, wherein the internal clock signals comprise the second and the third clock signals.
5. The semiconductor chip of claim 4, further comprising a clock signal sample component coupled to the clock signal comparator and configured to sample the first clock signal based on at least the second clock signal.
6. The semiconductor chip of claim 4, further comprising a clock signal sample component coupled to the clock signal comparator and configured to sample the first clock signal based on at least the second and the third clock signal, wherein the clock signal sample component includes at least first and second D flip-flops that each receive and output a sample of the first clock signal based on the second and third clock signals, respectively.
7. The semiconductor chip of claim 4 wherein the clock signal selector includes a multiplexer coupled to respond to the output signal of the clock signal comparator.
8. The semiconductor chip of claim 4 wherein the sampling component includes:
at least a first D flip-flop configured to receive and output the data signal based on the selected internal clock signal, and
at least a second D flip-flop configured to output either the data signal or an output of the first D flip-flop.
9. The semiconductor chip of claim 4 wherein the sampling component includes at least a first flip-flop configured to receive and output the data signal based on the selected internal clock signal.
10. The semiconductor chip of claim 4 wherein the clock signal comparator is configured to compare active or inactive clock edges of the first clock signal with at least the second clock signal and the third clock signal.
11. The semiconductor chip of claim 4 wherein the clock signal comparator or clock signal selector receive at least the second clock signal and the third clock signal, wherein the second and third clock signals have the same frequency but different phases, and are synchronized with each other.
12. The semiconductor chip of claim 4 wherein the clock signal comparator receives at least the second clock signal and a third clock signal, wherein the second and third clock signals are 180 degrees out of phase with each other.
US10/371,220 2003-02-19 2003-02-19 Data synchronization across an asynchronous boundary using, for example, multi-phase clocks Active 2024-12-06 US7231009B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/371,220 US7231009B2 (en) 2003-02-19 2003-02-19 Data synchronization across an asynchronous boundary using, for example, multi-phase clocks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/371,220 US7231009B2 (en) 2003-02-19 2003-02-19 Data synchronization across an asynchronous boundary using, for example, multi-phase clocks

Publications (2)

Publication Number Publication Date
US20040161067A1 US20040161067A1 (en) 2004-08-19
US7231009B2 true US7231009B2 (en) 2007-06-12

Family

ID=32850444

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/371,220 Active 2024-12-06 US7231009B2 (en) 2003-02-19 2003-02-19 Data synchronization across an asynchronous boundary using, for example, multi-phase clocks

Country Status (1)

Country Link
US (1) US7231009B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070053475A1 (en) * 2005-09-02 2007-03-08 Cypress Semiconductor Corp. Circuit, System, and Method for Multiplexing Signals with Reduced Jitter
US20080304599A1 (en) * 2004-12-23 2008-12-11 Nxp B.V. Interface Circuit As Well As Method For Receiving And/Or For Decoding Data Signals
US20090092214A1 (en) * 2007-10-08 2009-04-09 Bommareddy Srinivasa R Clock circuit with clock transfer capability and method
US7643593B1 (en) * 2005-10-14 2010-01-05 National Semiconductor Corporation System and method for read data recovery in a serial interface
US20100142419A1 (en) * 2001-11-20 2010-06-10 Silicon Image, Inc. Bi-directional bridge circuit having high common mode rejection and high input sensitivity

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7340021B1 (en) * 2003-11-13 2008-03-04 Altera Corporation Dynamic phase alignment and clock recovery circuitry
US20050254569A1 (en) * 2004-05-14 2005-11-17 Afshin Momtaz System and method for generating equalization coefficients
CN102457267B (en) * 2010-10-19 2015-08-05 中山市云创知识产权服务有限公司 Data synchronization processing system and method
GB2505002B (en) * 2012-08-17 2014-09-24 Broadcom Corp Method and apparatus for transferring data from a first domain to a second domain

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5432823A (en) * 1992-03-06 1995-07-11 Rambus, Inc. Method and circuitry for minimizing clock-data skew in a bus system
US5548622A (en) * 1995-03-24 1996-08-20 Sgs-Thomson Microelectronics, Inc. Method and structure for synchronization of asynchronous signals
US6008680A (en) * 1997-08-27 1999-12-28 Lsi Logic Corporation Continuously adjustable delay-locked loop
US20020131539A1 (en) * 2000-10-27 2002-09-19 Li Hung Sung Clock and data recovery method and apparatus
US20030141908A1 (en) * 2002-01-30 2003-07-31 Stong Gayvin E. Clock ratio dsta synchronizer
US6639956B1 (en) * 1999-12-31 2003-10-28 Intel Corporation Data resynchronization circuit
US6724683B2 (en) * 2002-03-06 2004-04-20 Applied Micro Circuits Corporation Transferring data between different clock domains
US6949958B2 (en) * 1997-10-10 2005-09-27 Rambus Inc. Phase comparator capable of tolerating a non-50% duty-cycle clocks

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5432823A (en) * 1992-03-06 1995-07-11 Rambus, Inc. Method and circuitry for minimizing clock-data skew in a bus system
US5548622A (en) * 1995-03-24 1996-08-20 Sgs-Thomson Microelectronics, Inc. Method and structure for synchronization of asynchronous signals
US6008680A (en) * 1997-08-27 1999-12-28 Lsi Logic Corporation Continuously adjustable delay-locked loop
US6949958B2 (en) * 1997-10-10 2005-09-27 Rambus Inc. Phase comparator capable of tolerating a non-50% duty-cycle clocks
US6639956B1 (en) * 1999-12-31 2003-10-28 Intel Corporation Data resynchronization circuit
US20020131539A1 (en) * 2000-10-27 2002-09-19 Li Hung Sung Clock and data recovery method and apparatus
US20030141908A1 (en) * 2002-01-30 2003-07-31 Stong Gayvin E. Clock ratio dsta synchronizer
US6724683B2 (en) * 2002-03-06 2004-04-20 Applied Micro Circuits Corporation Transferring data between different clock domains

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8116240B2 (en) 2001-11-20 2012-02-14 Silicon Image, Inc. Bi-directional bridge circuit having high common mode rejection and high input sensitivity
US20100142419A1 (en) * 2001-11-20 2010-06-10 Silicon Image, Inc. Bi-directional bridge circuit having high common mode rejection and high input sensitivity
US20080304599A1 (en) * 2004-12-23 2008-12-11 Nxp B.V. Interface Circuit As Well As Method For Receiving And/Or For Decoding Data Signals
US8811554B2 (en) * 2004-12-23 2014-08-19 Nxp B.V. Interface circuit as well as method for receiving and/or for decoding data signals
US7609799B2 (en) * 2005-09-02 2009-10-27 Cypress Semiconductor Corporation Circuit, system, and method for multiplexing signals with reduced jitter
US20100026345A1 (en) * 2005-09-02 2010-02-04 Cypress Semiconductor Corp. Circuit, system, and method for multiplexing signals with reduced jitter
US7899145B2 (en) * 2005-09-02 2011-03-01 Cypress Semiconductor Corporation Circuit, system, and method for multiplexing signals with reduced jitter
US20110176647A1 (en) * 2005-09-02 2011-07-21 Cypress Semiconductor Corporation Circuit, system and method for multiplexing signals with reduced jitter
US20070053475A1 (en) * 2005-09-02 2007-03-08 Cypress Semiconductor Corp. Circuit, System, and Method for Multiplexing Signals with Reduced Jitter
US8290109B2 (en) * 2005-09-02 2012-10-16 Cypress Semiconductor Corporation Circuit, system and method for multiplexing signals with reduced jitter
US7643593B1 (en) * 2005-10-14 2010-01-05 National Semiconductor Corporation System and method for read data recovery in a serial interface
US20090092214A1 (en) * 2007-10-08 2009-04-09 Bommareddy Srinivasa R Clock circuit with clock transfer capability and method
US8204166B2 (en) * 2007-10-08 2012-06-19 Freescale Semiconductor, Inc. Clock circuit with clock transfer capability and method

Also Published As

Publication number Publication date
US20040161067A1 (en) 2004-08-19

Similar Documents

Publication Publication Date Title
US5905766A (en) Synchronizer, method and system for transferring data
US7288973B2 (en) Method and apparatus for fail-safe resynchronization with minimum latency
US5623223A (en) Glitchless clock switching circuit
JP3990570B2 (en) Clock data recovery circuit coupled to programmable logic device circuit
US5539784A (en) Refined timing recovery circuit
US7609799B2 (en) Circuit, system, and method for multiplexing signals with reduced jitter
US7138837B2 (en) Digital phase locked loop circuitry and methods
EP2334003B1 (en) Asymmetrical i/o devices and system
US7482841B1 (en) Differential bang-bang phase detector (BBPD) with latency reduction
US8644439B2 (en) Circuits and methods for signal transfer between different clock domains
US7242737B2 (en) System and method for data phase realignment
US7231009B2 (en) Data synchronization across an asynchronous boundary using, for example, multi-phase clocks
US7519759B2 (en) Pipeline synchronisation device
US6982575B2 (en) Clock ratio data synchronizer
US7254205B2 (en) Signal processing method and apparatus for ensuring a desired relationship between signals
US7668272B1 (en) Method and apparatus for data transfer between mesochronous clock domains
KR20080102007A (en) System and method of communication using multi-phase clock signal
US6604203B1 (en) Arrangement and method for self-synchronization data to a local clock
US7023944B2 (en) Method and circuit for glitch-free changing of clocks having different phases
US8718215B2 (en) Method and apparatus for deskewing data transmissions
US6519301B1 (en) Circuits, systems, and methods for passing request information across differing clock domains
US6747490B1 (en) Sampling pulse generation

Legal Events

Date Code Title Description
AS Assignment

Owner name: SILICON IMAGE, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KIM, GYUDONG;KIM, MIN-KYU;REEL/FRAME:015166/0468;SIGNING DATES FROM 20040309 TO 20040310

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: JEFFERIES FINANCE LLC, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNORS:LATTICE SEMICONDUCTOR CORPORATION;SIBEAM, INC.;SILICON IMAGE, INC.;AND OTHERS;REEL/FRAME:035220/0226

Effective date: 20150310

AS Assignment

Owner name: LATTICE SEMICONDUCTOR CORPORATION, OREGON

Free format text: MERGER;ASSIGNOR:SILICON IMAGE, INC.;REEL/FRAME:036419/0792

Effective date: 20150513

AS Assignment

Owner name: LATTICE SEMICONDUCTOR CORPORATION, OREGON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JEFFERIES FINANCE LLC;REEL/FRAME:036905/0327

Effective date: 20151028

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12

AS Assignment

Owner name: DVDO, INC., OREGON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JEFFERIES FINANCE LLC;REEL/FRAME:049827/0326

Effective date: 20190517

Owner name: SILICON IMAGE, INC., OREGON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JEFFERIES FINANCE LLC;REEL/FRAME:049827/0326

Effective date: 20190517

Owner name: SIBEAM, INC., OREGON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JEFFERIES FINANCE LLC;REEL/FRAME:049827/0326

Effective date: 20190517

Owner name: LATTICE SEMICONDUCTOR CORPORATION, OREGON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JEFFERIES FINANCE LLC;REEL/FRAME:049827/0326

Effective date: 20190517

AS Assignment

Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINIS

Free format text: SECURITY INTEREST;ASSIGNOR:LATTICE SEMICONDUCTOR CORPORATION;REEL/FRAME:049795/0481

Effective date: 20190718

Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT, COLORADO

Free format text: SECURITY INTEREST;ASSIGNOR:LATTICE SEMICONDUCTOR CORPORATION;REEL/FRAME:049795/0481

Effective date: 20190718

AS Assignment

Owner name: LATTICE SEMICONDUCTOR CORPORATION, OREGON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT;REEL/FRAME:058067/0896

Effective date: 20211109

AS Assignment

Owner name: UNIVERSAL CONNECTIVITY TECHNOLOGIES INC., DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LATTICE SEMICONDUCTOR CORPORATION;REEL/FRAME:058979/0440

Effective date: 20211116