USRE40990E1 - Data transmission across asynchronous time domains using phase-shifted data packet - Google Patents

Data transmission across asynchronous time domains using phase-shifted data packet Download PDF

Info

Publication number
USRE40990E1
USRE40990E1 US11/805,866 US80586607A USRE40990E US RE40990 E1 USRE40990 E1 US RE40990E1 US 80586607 A US80586607 A US 80586607A US RE40990 E USRE40990 E US RE40990E
Authority
US
United States
Prior art keywords
signal
data
data signal
selector
time domain
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
Application number
US11/805,866
Inventor
J. Zachary Gorman
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.)
Xylon LLC
Original Assignee
Null Networks LLC
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
Priority to US09/940,315 priority Critical patent/US6904537B1/en
Application filed by Null Networks LLC filed Critical Null Networks LLC
Priority to US11/805,866 priority patent/USRE40990E1/en
Assigned to TRIQUINT SEMICONDUCTOR, INC. reassignment TRIQUINT SEMICONDUCTOR, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NETWORK ELEMENTS, INC.
Assigned to NETWORK ELEMENTS, INC. reassignment NETWORK ELEMENTS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GORMAN, J. ZACHARY
Assigned to NULL NETWORKS LLC reassignment NULL NETWORKS LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TRIQUINT SEMICONDUCTOR, INC.
Publication of USRE40990E1 publication Critical patent/USRE40990E1/en
Application granted granted Critical
Assigned to XYLON LLC reassignment XYLON LLC MERGER (SEE DOCUMENT FOR DETAILS). Assignors: NULL NETWORKS LLC
Application status is Active legal-status Critical
Anticipated 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

Abstract

A method and apparatus is provided for transmitting multi-bit data across asynchronous time domains. In one embodiment, the apparatus includes a first delay circuit to generate a selector signal based upon an input reference signal of a first time domain, a second delay circuit to generate a delayed data signal based upon an input data signal, and selection logic coupled to the first and second delay circuits to select one of the data signal and the delayed data signal based upon the state of the selector signal in accordance with an input clock signal of a second time domain, such that at any given sampling point of the input clock signal, the selector signal indicates valid data.

Description

This application is a reissue application for U.S. Pat. No. 6,904,537 issued on Jun. 7, 2005.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to the field of electronic circuits. More specifically, the present invention relates to a method and apparatus for passing data across an asynchronous clock boundary.

2. Background Information

With advances in integrated circuit, microprocessor, networking and communication technologies, an increasing number of devices, in particular, digital computing devices, are being networked together. Such devices are often first coupled to a local area network, such as an Ethernet based office/home network. In turn, the local area networks are interconnected together through wide area networks, such as ATM networks, Frame Relays, and the TCP/IP based global inter-networks, Internet. In transmitting from one network to another, data typically flows through one or more devices functioning e.g. as a network bridge or router. During the transition between such devices, and even between components within a single device, data will often be driven by multiple asynchronous clock signals regulating the respective traffic flows.

Depending upon how the clocks vary with respect to one another, there is the risk that invalid data may be passed from one time domain to the next. More specifically, there may be a point in time when the second clock samples data as it is transitioning in accordance with the transition of the first clock. If two asynchronous clocks are operating at the same frequency but vary in phase, it is possible to align the clocks to be synchronous by adjusting the phase of one or both clocks. If, however, two asynchronous clocks are operating at different frequencies, the respective clock edges may drift relative to each other in non-integer multiples resulting in unpredictable and perhaps invalid data.

FIG. 1 is a timing diagram generated in accordance with the prior art illustrating the relationship between two asynchronous clock signals and a data signal to be passed from the first time domain to the second. As shown in FIG. 1, the data transitions at point (10b-10b)(10b- 14b) corresponding to the rising edges (10a-14a) of CLOCK A. Between each of these transition points the data is considered to be stable and valid. Clock B represents a clock signal from a second time domain operating asynchronously to CLOCK A. Each rising edge of clock signal B defines one of the eight time intervals indicated by dotted lines in FIG. 1. That is, each of the time intervals corresponds to one period of CLOCK B. If the data were to be sampled at clock interval t2, the data would be deemed stable resulting in valid data being returned. However, if the data were sampled at time interval t1 and/or t6, the data would be deemed unpredictable since the respective time intervals correspond to transition points of the data (e.g. 10b and 13b).

Although asynchronous buffers (e.g. FIFO) with separate read and write clocks have traditionally been utilized to transfer multi-bit data from one time domain to another, it is difficult to design a circuit to accurately handle multi-bit data transfers/transitions commonplace in today's high-speed networks and computing devices without such buffers. Therefore, a novel technique to pass data between time domains while overcoming the limitations of the prior art is desired.

BRIEF DESCRIPTION OF DRAWINGS

The present invention will be described by way of exemplary embodiments, but not limitations, illustrated in the accompanying drawings in which like references denote similar elements, and in which:

FIG. 1 is a timing diagram generated in accordance with the prior art illustrating the relationship between two asynchronous clock signals and a data signal to be passed from the first time domain to the second;

FIG. 2 is a block diagram illustrating an overview of the present invention;

FIG. 3 illustrates a more detailed view of stability logic 200 in accordance with one embodiment of the invention;

FIG. 4 is a timing diagram illustrating phase relationships between various input signals of selection logic 300, in accordance with one embodiment;

FIG. 5 illustrates a detailed view of one embodiment of selection logic 300;

FIG. 6 is a timing diagram illustrating an additional bus signal to be used for identifying duplicative output data; and

FIG. 7 illustrates an alternative embodiment of the selection logic of the present invention including additional valid data selection logic.

DETAILED DESCRIPTION OF THE INVENTION

In the following description, various aspects of the present invention will be described. However, it will be apparent to those skilled in the art that the present invention may be practiced with only some or all aspects of the present invention. For purposes of explanation, specific numbers, materials and configurations are set forth in order to provide a thorough understanding of the present invention. However, it will also be apparent to one skilled in the art that the present invention may be practiced without the specific details. In other instances, well-known features are omitted or simplified in order not to obscure the present invention. Further, the description repeatedly uses the phrase “in one embodiment”, which ordinarily does not refer to the same embodiment, although it may.

Overview

FIG. 2 is a block diagram illustrating an overview of the present invention. As shown, stability logic 200 of the present invention is coupled between data source 210 and data sink 220 by way of communication channels 205 and 215, respectively. Data source 210 represents any of a wide variety of digital computing devices and/or components to supply data and timing signals associated with a first time domain to stability logic 200. In contrast, data sink 220 represents any of a wide variety of digital computing devices and/or components to receive or consume data from stability logic 200 based upon a provided timing signal associated with a second time domain. Communication channels 205 and 215 each represent any of a wide variety of signaling transports to transmit data and timing signals between stability logic 200, and either data source 210 or data sink 220, respectively.

For example, in one embodiment, data source 210 may represent a network interface and data sink 220 may represent a microprocessor, while communication channels 205 and 215 may each represent a multi-bit bus architecture such as a universal serial bus (USB), a peripheral component interconnect (PCI) bus, an industry standard architecture (ISA) bus, and so forth. In an alternative embodiment, data source 210 and data sink 220 may represent independent devices interconnected with stability logic 200 by way of separate wire line and/or wireless network segments, each operating asynchronously with respect to the other. In one embodiment, communication channel 205 represents an Ethernet based network segment, whereas communication channel 215 represents a synchronous optical network (SONET) segment. Although in the illustrated embodiment data source 210, stability logic 200 and data sink 220 are depicted as separate devices and/or components, data source 210 and/or data sink 220 may instead be embodied with the functionality of stability logic 200. In one embodiment, stability logic 200 is implemented as an integrated circuit within data sink 220.

Data source 210 is shown including clock signal 206 having a first frequency (f1), and data signal 208 having been sampled by clock signal 206. Data signal 208 illustrates valid data segments as well as data transition points that correspond to the rising edges of clock signal 206. Each transition point indicates a point in time, including an amount of time preceding and following each transition (i.e. set up and hold times), when the value of the sampled data may change with the value of the clock. During these transitions, the data is considered to be unpredictable and may possibly be invalid. In contrast, between each transition of the sampling clock (e.g. between each rising clock edge), data signal 208 is considered to be valid.

Data sink 220 is shown including clock signal 216 having a second frequency of (f2) where f2>f1. In one embodiment clock signal 216 is the sole operational clock utilized by data sink 220, whereas in another embodiment, clock signal 216 is one of multiple clock signals generated and/or provided by data sink 220. In one embodiment of the present invention, stability logic 200 causes data (e.g. data signal 208) associated with a first time domain (e.g. clock signal 206) to be sampled with respect to a second time domain (e.g. clock signal 216) such that the transition of the sampling clock signal does not coincide with a data transition point, thereby avoiding stability concerns, associated with the prior art. For example, in the illustrated embodiment stability logic 200 aligns and samples data signal 208 based upon output clock 216 such that any given transition (e.g. rising edge) of clock signal 216 causes valid data to be sampled.

FIG. 3 illustrates a more detailed view of stability logic 200 in accordance with one embodiment of the invention. As shown in the illustrated embodiment, stability logic 200 includes delay circuit 302, delay circuit 304, and selection logic 300. Delay circuits 302 and 304 represent readily available analog and/or digital circuitry configured to output a phase-shifted version of a supplied input signal. For example, in the case of an application specific integrated circuit (ASIC) one or more inverters may be used to impart a delay on an input signal, whereas in a larger circuit board design, signal traces having increased lengths may be used to impart a delay on an input signal. In one embodiment, delay circuit 302 is equipped to receive an input reference signal 306 having e.g. a frequency of f and a reference phase of φ1, and equipped to generate an output signal (SEL) having a shifted phase of φ1±N degrees for use as input into selection logic 300. Similarly, delay circuit 304 is equipped to receive a multi-bit (and by inference, a single bit) data signal having a reference phase of +2 and to generate an output data signal (DATA′) having a shifted phase of φ2±2N degrees. In one embodiment, delay circuit 302 generates an output signal that is approximately ninety degrees out of phase (i.e. N=90) measured with respect to reference signal 306, and delay circuit 304 generates an output data signal that is approximately 180 degrees out of phase (i.e. 2N=180) measured with respect to the input data signal (see e.g. FIG. 4). Although the illustrated embodiment depicts two separate delay circuits (302 and 304), the present invention may likewise be practiced with a fewer or greater number of delay circuits.

Selection logic 300 is equipped to receive the above-referenced output signal (SEL) from delay circuit 302, the input data signal (DATA), and the output data signal from delay circuit 304 (DATA′). Additionally, selection logic is equipped to receive an output clock signal that is asynchronous with respect to reference signal 306. In accordance with the teachings of the present invention, selection logic 300 samples both DATA and DATA′ based on the output clock and selects one of the data lines such that during each transition of the output clock, valid data is present on the selected data line. In one embodiment, selection logic 300 selects between data lines (DATA, DATA′) based at least in part upon the output of delay circuit 302 (SEL).

FIG. 4 is a timing diagram illustrating phase relationships between various input signals of selection logic 300, in accordance with one embodiment. In the illustrated embodiment, reference signal 306 is represented by a first clock signal (CLOCK A) associated with a first time domain of frequency f1. As described above, delay circuit 302 utilizes a phase-shifted version of CLOCK A to generate the SEL signal. In one embodiment, delay circuit 302 generates an output signal that is phase shifted by up to 90 degrees measured with respect to CLOCK A. FIG. 4 additionally illustrates an input data signal (DATA) and its relationship to CLOCK A. The input data signal transitions at intervals corresponding to the transitioning of CLOCK A as shown. In the illustrated embodiment, sampling of the input data is triggered on the rising edge of CLOCK A, however, the input data sampling may also be negative edge triggered and level sensitive for example. Accordingly, the input data is valid for a period roughly equivalent to 1/f1 of CLOCK A, depending e.g. upon the set-up and hold times of the sampling circuitry (to be further described below). In the illustrated embodiment, the input data signal is further routed through delay circuit 304 to generate a phase-shifted version of the data identified e.g. in FIG. 4 as DATA′. In one embodiment, delay circuit 304 generates an output signal that is phase-shifted by up to 180 degrees measured with respect to the input data signal (DATA). Thus, in accordance with one embodiment of the invention, the DATA and DATA′ signals are phase shifted such that at any given transition of DATA′ (e.g. 402a), the DATA signal will be valid (e.g. 402b), and at any given transition of DATA (e.g. 404a), the DATA′ signal will be valid (e.g. 404b).

FIG. 4 also includes an output clock signal (CLOCK B) associated with a second time domain of frequency f2. In accordance with the teachings of the present invention, one of the input data signal (DATA) and the phase-shifted version of the input data signal (DATA′) is selected such that at any given transition of CLOCK B, valid data is selected (i.e. to generate DATA OUT). In one embodiment, CLOCK B selects one of the DATA and DATA′ signals based upon the state of the SEL signal. Due to the novel relationship between the SEL, DATA and DATA′ signals of the present invention, valid data may be obtained even when SEL is transitioning. That is, these signals are phase shifted such that whenever SEL is transitioning, both DATA and DATA′ signals will be valid regardless of which one is selected. For example, at each of transition points 406a-408a of SEL, it can be seen that both DATA and DATA′ represent valid data values (406b-408b). In one embodiment, each of the DATA and DATA′ signals are alternatingly selected such that CLOCK B does not select the same data (i.e. DATA, DATA′) signal two or more consecutive times (to be described more fully below with respect to FIG. 6).

FIG. 5 illustrates a detailed view of one embodiment of selection logic 300. Selection logic 300 includes registers 510-515 and multiplexer (MUX) 520 coupled together as shown. Register 510 receives the DATA signal, whereas register 511 receives the DATA′ signal, and register 512 receives the SEL signal (e.g. from FIGS. 3 and 4). Each of register 510-515 sample these input signals based upon input from CLOCK B. That is, each of registers 510-515 sample the input data signals (e.g. DATA, DATA′) and the SEL signal based upon a clock signal that is asynchronous to the one or more clock signals used to generate the input signals. Once the input signals have been registered, at least a subset of the input signals are passed to MUX 520. For example, in the illustrated embodiment, resampled versions of DATA (517) and DATA′ (518) are passed to MUX 520. In one embodiment, MUX 520 selects one of resampled input signals 517 and 518 to pass as output data from e.g. stability logic 200 based upon the state of the SEL signal.

In the illustrated embodiment, registers 510-515 are implemented as edge triggered D flip-flops, however, in other embodiments, registers 510-515 may be implemented through various other types of flip-flops and/or latches known in the art. Together, registers 510-515 operate to further reduce potential metastability concerns with stability logic 300 by providing an additional stage of resolution before being propagated to MUX 520.

As was mentioned above, the novel relationship between the SEL, DATA and DATA′ signals, facilitates the selection of valid data from one of DATA and DATA′ regardless of whether SEL is transitioning or is stable. Although the data that is actually selected in accordance with the present invention will be valid, there is a chance that the same data may be selected two or more consecutive times due to the phase lag (or lead) of DATA′. In one embodiment of the invention, an extra signal (VALID SELECT) is added to e.g. the data bus that echoes the input clock (CLOCK A) at half the frequency of the clock. Depending upon the frequency difference between the clocks, VALID SELECT may be a single-bit or multi-bit signal. FIG. 6 is a timing diagram illustrating such a valid select signal and its relationship to CLOCK A.

FIG. 7 illustrates an alternative embodiment of the selection logic of the present invention including additional valid data selection logic. As shown, selection logic 700 includes all the elements of FIG. 5 as described above, in addition to new logic elements coupled together as shown. MUX 720 represents a data selector to select between the VALID SELECT and VALID SELECT′ input signals based upon the state of the SEL signal. Thus, if MUX 520 selects the DATA input signal to pass through as output data, MUX 720 will select the corresponding VALID SELECT signal to pass through as VS OUT. Conversely, if MUX 520 selects the DATA′ input signal, MUX 720 will select the corresponding VALID SELECT′ signal to pass through as VS OUT. VS OUT is then used as input signal into XOR gate 724 and register 722. The output of register 722 is fed into XOR gate 724, which ultimately supplies an input signal for register 723. Both registers 722-723 (along with the remaining registers) are commonly triggered by CLOCK B. Such a novel configuration for the selection logic of the present invention facilitates the output of a VALID DATA signal which, when used in conjunction with DATA OUT, will indicate to down-line logic blocks whether duplicative data has been selected.

Conclusion and Epilogue

Thus, fit can be seen from the above description, a novel method and apparatus for passing data across an asynchronous clock boundary has been described. While the present invention has been described in terms of the above-described embodiments, the present invention is not limited to the embodiments described. As the present invention can be practiced with further modification and alteration within the spirit and scope of the appended claims, the description is to be regarded as illustrative instead of restrictive on the present invention.

Claims (40)

1. A method comprising:
receiving a first data signal generated with respect to a first clock signal associated with a first time domain;
receiving a second data signal representing said first data signal delayed by a a first measure such that during transition of said first data signal said second data signal is valid, and during transition of said second data signal said first data signal is valid;
receiving a selector signal to select between said first and said second data signals, said selector signal representing said first clock signal delayed by a second measure such that at any given sampling point of said selector signal said selector signal will select valid data;
receiving a second clock signal associated with a second time domain; and
sampling said selector signal and said first and second data signals based at least in part upon said second dock clock signal to output the selected one of said first and second data signals with respect to said second time domain.
2. The method of claim 1, wherein said second measure is half of said first measure.
3. The method of claim 2, wherein said second data signal is delayed an amount sufficient to cause said second data signal to be approximately 180 degrees out of phase with respect to said first data signal and said selector signal is delayed an amount sufficient to cause said selector signal to be approximately 90 degrees out of phase with respect to said first clock signal.
4. The method of claim 1, wherein said first time domain is asynchronous to said second time domain.
5. The method of claim 1, wherein said selector signal alternatingly selects between said first and second data signals.
6. The method of claim 5, wherein said selector signal is in a first signal state while said first data signal is valid and said selector signal is in a second signal state while said second data signal is valid.
7. The method of claim 5, wherein said second clock signal has a frequency that is approximately double that of the first clock signal.
8. The method of claim 1, wherein said data signal is generated by a multi-bit data bus.
9. A method of passing data between a first time domain and a second asynchronous time domain, the method comprising:
receiving a first data signal generated with respect to a reference signal associated with said first time domain, said reference signal having a period of N;
receiving a second data signal, said second data signal being phase-shifted by a factor of N/2 with respect to said first data signal;
receiving a third signal, said third data signal being phase-shifted by a factor of N/4 with respect to said reference signal;
sampling said first data signal, said second data signal and said third signal based at least in part upon a clock signal of said second time domain; and selecting between said first and second data signals based at least in part upon said third signal to output valid data independent of said first and second data signal states at the time of sampling.
10. The method of claim 9, wherein said second signal is approximately 180 degrees out of phase with respect to said first data signal and said third data signal is approximately 90 degrees out of phase with respect to said reference signal.
11. The method of claim 9, wherein said data signal is generated by a multi-bit data bus.
12. A method of passing data between a first time domain and a second asynchronous time domain, the method comprising:
receiving a first data signal generated with respect to a first clock signal associated with said first time domain;
receiving a second data signal representing said first data signal delayed by a first measure such that during transition of said first data signal said second data signal is valid, and during transition of said second data signal said first data signal is valid;
receiving a selector signal representing said first clock signal delayed by a second measure; and
selecting between said first and second data signals based at least in part upon a first state of a second clock signal associated with said second time domain and a second state of the selector signal.
13. The method of claim 12, wherein the second measure is such that at any given sampling point of said selector signal said selector signal will select valid data.
14. The method of claim 13, wherein said selecting comprises sampling said selector signal based upon the value of said second clock signal to output the selected one of said first and second data signals.
15. The method of claim 13, wherein said second data signal is delayed an amount of time sufficient to cause said second data signal to be approximately 180 degrees out of phase with respect to said first data signal and said selector signal is delayed an amount of time sufficient to cause said selector signal to be approximately 90 degrees out of phase with respect to said first clock signal.
16. The method of claim 12, wherein said data signal is generated by a multi-bit data bus.
17. A method comprising:
receiving a first data signal generated with respect to a first clock signal associated with a first time domain;
generating a second data signal based at least in part upon said first data signal, said second data signal being out of phase with respect to said first data signal by a first measure such that during transition of said first data signal said second data signal is valid, and during transition of said second data signal said first data signal is valid;
generating a selector signal such that at any given sampling point of said selector signal said selector signal will indicate a valid one of said first and second data signals;
receiving a second clock signal associated with a second time domain; and
sampling said selector signal said first and second data signals based at least in part upon said second clock signal to output a selected one of said first or second data signals with respect to said second time domain.
18. The method of claim 17, wherein generating said selector signal comprises a delayed version of said first clock signal.
19. The method of claim 18, wherein said second data signal is approximately 180 degrees out of phase with respect to said first data signal and said selector signal is delayed an amount sufficient to cause said third signal to be approximately 90 degrees out of phase with respect to said first clock signal.
20. An integrated circuit comprising:
a first delay circuit to generate a selector signal based at least in part upon an input reference signal of a first time domain;
a second delay circuit to generate a delayed data signal based at least in part upon an input data signal; and
selection logic coupled to the first and second delay circuits to select between said input data signal and said delayed data signal based at least in part upon a state of the selector signal in accordance with an input clock signal of a second time domain, such that at any given sampling point of the input input clock signal, the selector signal indicates valid data.
21. The apparatus of claim 20, wherein the first delay circuit causes the selector signal to be approximately ninety degrees out of phase with the input reference signal.
22. The apparatus of claim 21, wherein the second delay circuit causes the delayed data signal to be approximately 180 degrees out of phase with the input data signal.
23. The apparatus of claim 20, wherein the selection logic further comprises:
at least two edge triggered flip-flops to latch the input data signal and the delayed data signal based at least in part upon the input clock signal; and
a multiplexer to select between one of said input data signal and said delayed data signal based at least in part upon the state of the selector signal.
24. An apparatus comprising:
first logic to:
receive a first data signal generated with respect to a first clock signal associated with said first time domain,
receive a second data signal representing said first data signal delayed by a first measure such that during transition of said first data signal said second data signal is valid, and during transition of said second data signal said first data signal is valid; and
receive a selector signal representing said first clock signal delayed by a second measure such that any given sampling point of said selector signal will indicate valid data, and
receive a second clock signal associated with said second time domain to sample said first data signal, said second data signal, and said selector signal; and
second logic coupled to said first logic to select between said first and second data signals based at least in part upon a sampled value of said selector signal.
25. The apparatus of claim 24, further comprising:
a first delay circuit to generate said second data signal based at least in part upon said first data signal; and
a second delay circuit to generate said selector signal based at least in part up on said first clock signal.
26. The apparatus of claim 25, wherein said first delay circuit delays said first data signal such that said second data signal is approximately 180 degrees out of phase measure with respect to said first data signal.
27. The apparatus of claim 25, wherein said delay second delay circuit delays said first clock signal such that said selector signal is approximately 90 degrees out of phase measure with respect to said first clock signal.
28. A method comprising:
receiving a first data signal generated with respect to a first clock signal associated with a first time domain;
delaying a first data signal by a first measure to produce a second data signal wherein said second data signal is valid during transition of said first data signal, and wherein said first data signal is valid during transition of said second data signal, wherein said first data signal exhibits transitions substantially related to a first clock signal associated with said first time domain;
delaying said first clock signal by a second measure to produce a selector signal wherein said selector signal is adapted to be utilized for selecting between said first and said second data signals, and wherein said second measure is determined such that said selector signal is capable of selecting valid data at any sampling point of said selector signal: and
sampling said selector signal and said first and second data signals based, at least in part, upon a second clock signal associated with a second time domain to output the selected one of said first and second data signals with respect to said second time domain.
29. The method of claim 28, wherein said second measure is half of said first measure.
30. The method of claim 29, wherein said second data signal is delayed an amount sufficient to cause said second data signal to be approximately 180 degrees out of phase with respect to said first data signal and said selector signal is delayed an amount sufficient to cause said selector signal to be approximately 90 degrees out of phase with respect to said first clock signal.
31. The method of claim 28, wherein said first time domain is asynchronous to said second time domain.
32. The method of claim 28, further comprising alternatingly, selecting between said first and second data signals in response to said selector signal.
33. The method of claim 32, wherein said selector signal is in a first signal state while said first data signal is valid and said selector signal is in a second signal state while said second data signal is valid.
34. The method of claim 32, wherein said second clock signal has a frequency that is approximately double that of the first clock signal.
35. The method of claim 28, wherein said data signal is generated by a multi-bit data bus.
36. A method of passing data between a first time domain and a second asynchronous time domain, the method comprising:
delaying a first data signal by a first measure to produce a second data signal wherein said second data signal is valid during transition of said first data signal, and wherein said first data signal is valid during transition of said second data signal, wherein said first data signal exhibits transitions substantially related to a first clock signal associated with said first time domain,
delaying said first clock signal by a second measure to produce a selector signal; and
selecting between said first and second data signals based at least in part upon a state of a second clock signal associated with said second time domain and a state of the selector signal.
37. The method of claim 36, wherein the second measure is such that at any given sampling point of said selector signal said selector signal will select valid data.
38. The method of claim 37, wherein said selecting comprises sampling said selector signal based upon the value of said second clock signal to output the selected one of said first and second data signals.
39. The method of claim 37, further comprising:
delaying said second signal by an amount of time sufficient to cause said second data signal to be approximately 180 degrees out of phase with respect to said first data signal; and
delaying said selector signal by an amount of time sufficient to cause said selector signal to be approximately 90 degrees out of phase with respect to said first clock signal.
40. The method of claim 36, wherein said data signal is generated by a multi-bit data bus.
US11/805,866 2001-08-27 2007-05-23 Data transmission across asynchronous time domains using phase-shifted data packet Active USRE40990E1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/940,315 US6904537B1 (en) 2001-08-27 2001-08-27 Data transmission across asynchronous time domains using phase-shifted data packet
US11/805,866 USRE40990E1 (en) 2001-08-27 2007-05-23 Data transmission across asynchronous time domains using phase-shifted data packet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/805,866 USRE40990E1 (en) 2001-08-27 2007-05-23 Data transmission across asynchronous time domains using phase-shifted data packet

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/940,315 Reissue US6904537B1 (en) 2001-08-27 2001-08-27 Data transmission across asynchronous time domains using phase-shifted data packet

Publications (1)

Publication Number Publication Date
USRE40990E1 true USRE40990E1 (en) 2009-11-17

Family

ID=34620844

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/940,315 Active 2023-06-04 US6904537B1 (en) 2001-08-27 2001-08-27 Data transmission across asynchronous time domains using phase-shifted data packet
US11/805,866 Active USRE40990E1 (en) 2001-08-27 2007-05-23 Data transmission across asynchronous time domains using phase-shifted data packet

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/940,315 Active 2023-06-04 US6904537B1 (en) 2001-08-27 2001-08-27 Data transmission across asynchronous time domains using phase-shifted data packet

Country Status (1)

Country Link
US (2) US6904537B1 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040160906A1 (en) 2002-06-21 2004-08-19 Aware, Inc. Multicarrier transmission system with low power sleep mode and rapid-on capability
US6961369B1 (en) 1999-11-09 2005-11-01 Aware, Inc. System and method for scrambling the phase of the carriers in a multicarrier communications system
EP1245093B1 (en) 2000-01-07 2006-10-25 Aware, Inc. Diagnostic methods and systems for multicarrier modems
WO2003032555A2 (en) 2001-10-05 2003-04-17 Aware, Inc. Systems and methods for multi-pair atm over dsl
CA2935980C (en) 2004-09-25 2019-01-08 Tq Delta, Llc Crc counter normalization
CN104993912A (en) 2004-10-12 2015-10-21 Tq德尔达有限责任公司 Resource sharing in a telecommunications environment
DK1800427T3 (en) 2004-10-15 2012-08-13 Aware Inc DMT symbol repetition in the presence of pulse noise
US8881233B2 (en) * 2005-05-23 2014-11-04 Microsoft Corporation Resource management via periodic distributed time
US20060294275A1 (en) * 2005-06-23 2006-12-28 Emil Lambrache Fast two wire interface and protocol for transferring data
EP3190756B1 (en) 2006-04-12 2018-10-31 TQ Delta, LLC Packet retransmission and memory sharing
US8176352B2 (en) * 2008-04-16 2012-05-08 Adavanced Micro Devices, Inc. Clock domain data transfer device and methods thereof
US8760325B2 (en) * 2012-03-23 2014-06-24 Analog Devices, Inc. Scheme for balancing skew between lanes of high-speed serial digital interface
CN103324597B (en) * 2012-03-23 2016-06-01 美国亚德诺半导体公司 In high-speed serial digital interface between the channel skew balancing scheme
US9184761B2 (en) * 2013-03-01 2015-11-10 Texas Instruments Incorporated Asynchronous to synchronous sampling using Akima algorithm

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5022057A (en) 1988-03-11 1991-06-04 Hitachi, Ltd. Bit synchronization circuit
US5487092A (en) 1994-12-22 1996-01-23 International Business Machines Corporation System for high-speed synchronization across clock domains
US5872959A (en) 1996-09-10 1999-02-16 Lsi Logic Corporation Method and apparatus for parallel high speed data transfer
US6087867A (en) 1998-05-29 2000-07-11 Lsi Logic Corporation Transaction control circuit for synchronizing transactions across asynchronous clock domains
US6275547B1 (en) 1997-09-18 2001-08-14 Nec Corporation Clock recovery circuit
US6359479B1 (en) 1998-08-04 2002-03-19 Juniper Networks, Inc. Synchronizing data transfers between two distinct clock domains
US6516420B1 (en) 1999-10-25 2003-02-04 Motorola, Inc. Data synchronizer using a parallel handshaking pipeline wherein validity indicators generate and send acknowledgement signals to a different clock domain
US6518420B2 (en) 1997-06-04 2003-02-11 Biochemie Gesellschaft M.B.H. Precipitation process of 7-aminocephalosporanic acid (7-ACA)
US6526106B1 (en) 1997-05-08 2003-02-25 Nec Corporation Synchronous circuit controller for controlling data transmission between asynchrous circuit
US6529570B1 (en) 1999-09-30 2003-03-04 Silicon Graphics, Inc. Data synchronizer for a multiple rate clock source and method thereof
US6744833B1 (en) 1999-07-20 2004-06-01 Tut. Systems, Inc. Data resynchronization between modules sharing a common clock

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5022057A (en) 1988-03-11 1991-06-04 Hitachi, Ltd. Bit synchronization circuit
US5487092A (en) 1994-12-22 1996-01-23 International Business Machines Corporation System for high-speed synchronization across clock domains
US5872959A (en) 1996-09-10 1999-02-16 Lsi Logic Corporation Method and apparatus for parallel high speed data transfer
US6526106B1 (en) 1997-05-08 2003-02-25 Nec Corporation Synchronous circuit controller for controlling data transmission between asynchrous circuit
US6518420B2 (en) 1997-06-04 2003-02-11 Biochemie Gesellschaft M.B.H. Precipitation process of 7-aminocephalosporanic acid (7-ACA)
US6275547B1 (en) 1997-09-18 2001-08-14 Nec Corporation Clock recovery circuit
US6087867A (en) 1998-05-29 2000-07-11 Lsi Logic Corporation Transaction control circuit for synchronizing transactions across asynchronous clock domains
US6359479B1 (en) 1998-08-04 2002-03-19 Juniper Networks, Inc. Synchronizing data transfers between two distinct clock domains
US6744833B1 (en) 1999-07-20 2004-06-01 Tut. Systems, Inc. Data resynchronization between modules sharing a common clock
US6529570B1 (en) 1999-09-30 2003-03-04 Silicon Graphics, Inc. Data synchronizer for a multiple rate clock source and method thereof
US6516420B1 (en) 1999-10-25 2003-02-04 Motorola, Inc. Data synchronizer using a parallel handshaking pipeline wherein validity indicators generate and send acknowledgement signals to a different clock domain

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Notice of Allowance mailed Nov. 24, 2004 for U.S. Appl. No. 09/940,315.
Office Action mailed Sep. 15, 2004 for U.S. Appl. No. 90/940,315.

Also Published As

Publication number Publication date
US6904537B1 (en) 2005-06-07

Similar Documents

Publication Publication Date Title
US6087847A (en) Impedance control circuit
US5905766A (en) Synchronizer, method and system for transferring data
DE10164916B4 (en) Data recovery circuitry
Yeung et al. A 2.4 Gb/s/pin simultaneous bidirectional parallel link with per-pin skew compensation
US6334163B1 (en) Elastic interface apparatus and method therefor
DE60224478T2 (en) Circuit for serializing synchronous data
KR0138760B1 (en) Circuit for internal current limiting in a fast high side power switch
JP2981860B2 (en) Phase delay correction apparatus
US7031420B1 (en) System and method for adaptively deskewing parallel data signals relative to a clock
US6047346A (en) System for adjusting slew rate on an output of a drive circuit by enabling a plurality of pre-drivers and a plurality of output drivers
US6373278B1 (en) LVDS interface incorporating phase-locked loop circuitry for use in programmable logic device
US7205792B2 (en) Methods and circuitry for implementing first-in first-out structure
US5004933A (en) Phase-selectable flip-flop
EP1056018A2 (en) Method and apparatus for self correcting parallel I/O circuitry
US6031847A (en) Method and system for deskewing parallel bus channels
US5535377A (en) Method and apparatus for low latency synchronization of signals having different clock speeds
US7590208B2 (en) Circuit and method for generating a timing signal, and signal transmission system performing for high-speed signal transmission and reception between LSIs
US6907552B2 (en) Relative dynamic skew compensation of parallel data lines
JP3657918B2 (en) Programmable logic devices with high-speed serial interface circuitry
US6654897B1 (en) Dynamic wave-pipelined interface apparatus and methods therefor
US20060104124A1 (en) Dual-edge triggered multiplexer flip-flop and method
US20020154718A1 (en) Source synchronous receiver link initialization and input floating control by clock detection and DLL lock detection
CN100483946C (en) Digital phaselocked loop circuit and method
JP3945874B2 (en) How to synchronize signals and structure therefor
US5050194A (en) High speed asynchronous data interface

Legal Events

Date Code Title Description
AS Assignment

Owner name: NETWORK ELEMENTS, INC., OREGON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GORMAN, J. ZACHARY;REEL/FRAME:019646/0890

Effective date: 20010820

Owner name: NULL NETWORKS LLC, NEVADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TRIQUINT SEMICONDUCTOR, INC.;REEL/FRAME:019646/0903

Effective date: 20050908

Owner name: TRIQUINT SEMICONDUCTOR, INC., OREGON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NETWORK ELEMENTS, INC.;REEL/FRAME:019646/0897

Effective date: 20041217

CC Certificate of correction
FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: XYLON LLC, NEVADA

Free format text: MERGER;ASSIGNOR:NULL NETWORKS LLC;REEL/FRAME:037057/0156

Effective date: 20150813

FPAY Fee payment

Year of fee payment: 12