WO2020133537A1 - Clock domain crossing processing circuit - Google Patents
Clock domain crossing processing circuit Download PDFInfo
- Publication number
- WO2020133537A1 WO2020133537A1 PCT/CN2018/125876 CN2018125876W WO2020133537A1 WO 2020133537 A1 WO2020133537 A1 WO 2020133537A1 CN 2018125876 W CN2018125876 W CN 2018125876W WO 2020133537 A1 WO2020133537 A1 WO 2020133537A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- clock
- phase
- data
- input data
- circuit
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 130
- 230000008859 change Effects 0.000 claims abstract description 25
- 238000011084 recovery Methods 0.000 claims description 51
- 230000005540 biological transmission Effects 0.000 claims description 40
- 230000001360 synchronised effect Effects 0.000 claims description 31
- 238000001914 filtration Methods 0.000 claims description 23
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 230000007480 spreading Effects 0.000 claims description 9
- 239000000872 buffer Substances 0.000 description 19
- 238000000034 method Methods 0.000 description 15
- 230000000630 rising effect Effects 0.000 description 15
- 238000011144 upstream manufacturing Methods 0.000 description 14
- 238000001228 spectrum Methods 0.000 description 10
- 238000012549 training Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000018199 S phase Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/16—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
- H03L7/18—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop
- H03L7/181—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop a numerical count result being used for locking the loop, the counter counting during fixed time intervals
Definitions
- This application relates to the field of digital circuits, and in particular to processing circuits that cross the clock domain.
- Serdes As an important high-speed serial link physical layer technology, is widely used in various general-purpose I/O (Input and Output) interfaces, such as Interfaces such as PCIe (Peripheral Component Interface), Ethernet (Ethernet), and SATA (Serial Advanced Technology Attachment).
- I/O Input and Output
- Interfaces such as PCIe (Peripheral Component Interface), Ethernet (Ethernet), and SATA (Serial Advanced Technology Attachment).
- PCIe Peripheral Component Interface
- Ethernet Ethernet
- SATA Serial Advanced Technology Attachment
- the rate of Serdes is getting higher and higher, and the medium insertion loss (Insertion Loss, IL) in the high-speed link interconnection medium also increases, so it is necessary to introduce heavy A timer (retimer) amplifies the driving capability of the signal, so that the high-speed link can tolerate greater insertion loss.
- the retimer is used to relay the data signal transmitted on the high-speed serial link, for example, the internal clock reconstructs the signal to increase the transmission energy of the data signal.
- the retimer can also be used to filter out link jitter. Thereby reducing the performance of data transmission.
- the retimer 100 includes a receiving end 110, a data processing circuit 120, and a sending end 130.
- the receiving end 110 is used to recover the received clock signal corresponding to the serial data according to the received serial data, convert the serial data into parallel data, and output the parallel data and the received clock signal to the data processing circuit 120.
- the data processing circuit 120 includes a cross-clock domain processing circuit.
- the cross-clock domain processing circuit buffers the parallel data through an elastic buffer according to the received clock signal and the transmitted clock signal generated by the transmitting terminal 130. And output the buffered parallel data to the sending end 130.
- the data processing circuit 120 is also used to encode, decode, scramble, and descramble the parallel data.
- the sending end 130 is used to convert and output the parallel data output by the data processing circuit 120 to serial data.
- the above-mentioned elastic buffer is a buffer with a variable data buffer amount, and the data buffer amount is determined by the reception clock signal and the transmission clock signal.
- the above received clock signal is the clock recovered from the received serial data
- the transmitted clock signal is the clock signal generated by the transmitting terminal 130, that is, the clock signal generated according to the reference clock of the retimer 100, so the above received clock signal and transmission
- the clock signal will have a frequency difference, and the frequency difference is not fixed. Therefore, on the one hand, the cross-clock domain processing circuit in the data processing circuit 120 needs to perform asynchronous clock domain processing on the parallel data, so that the parallel data is synchronized from the clock domain receiving the clock signal to the clock domain transmitting the clock signal, and the receiving The frequency offset (frequency offset) between the clock signal and the transmitted clock signal.
- the data processing delay is very large, so that the time for the data to pass the retimer becomes longer, thereby reducing the overall system Data processing performance.
- the cross-clock domain processing circuit will introduce a larger delay when processing the signal across the clock domain, thereby further reducing the data processing performance of the entire system. The impact of high-speed serial links with more sensitive delays is particularly noticeable.
- the embodiments of the present application provide a cross-clock domain processing circuit, which can be used to solve the problem of high delay when data is processed in the cross-clock domain.
- an embodiment of the present application provides a cross-clock domain processing circuit, configured to perform cross-clock domain processing on input data.
- the cross-clock domain processing circuit includes a phase alignment circuit and a synchronization circuit, wherein the phase alignment circuit is used to adjust the phase of the first working clock according to the first control signal, so that the phases of the above two clocks are aligned, and the input data clock and the adjusted
- the first working clock is output to the synchronization circuit, so that the synchronization circuit can synchronize the input data across clock domains according to the above two clocks to generate synchronized data, that is, synchronize the input data in the clock domain of the input data clock to the output data
- the clock domain of the clock is used to adjust the phase of the first working clock according to the first control signal, so that the phases of the above two clocks are aligned, and the input data clock and the adjusted
- the first working clock is output to the synchronization circuit, so that the synchronization circuit can synchronize the input data across clock domains according to the above two
- the input data clock is a clock recovered from the input data
- the frequency of the first working clock is equal to the frequency of the input data clock
- the first working clock is the working clock of the cross-domain processing circuit, or
- the processing circuit uses the same reference clock.
- the first control signal is also a control signal recovered from the input data, and the first control signal includes phase change information of the input data clock.
- the cross-clock domain processing circuit uses the control signal recovered from the input data as a reference to adjust the phase of the local clock (ie, the first working clock), the adjusted local clock can follow the phase of the input data clock in real time as a synchronization
- the clock of the circuit saves the hardware resources occupied by the elastic buffer, makes the time for the data to pass through the processing circuit across the clock domain shorter, thereby reducing the delay in processing data across the processing circuit across the clock domain, and improving the efficiency of data transmission.
- the phase alignment circuit includes a phase discriminator, a digital filter, and a phase interpolator, where the phase discriminator is used to discriminate the input data clock and the output data clock, and the digital filter is used to discriminate the phase And the first control signal are filtered, and the filtered result is output as the second control signal.
- the phase interpolator is used to adjust the phase of the first operating clock according to the second control signal, so that the first operating clock and the input The data clocks are phase-aligned, and the adjusted first working clock is output as the output data clock to the synchronization circuit and the phase detector.
- the above-mentioned process of filtering and shaking may be that the signal is superimposed and then filtered, or that the signal is first filtered and then superimposed.
- the above-mentioned phase interpolator is further used to: generate a second intermediate clock according to the first working clock, and the phase difference between the first working clock and the second intermediate clock is a preset phase difference;
- the second control signal adjusts the phases of the first working clock and the second intermediate clock so that the phase of the input data clock leads the phase of the first working clock and lags the phase of the second intermediate clock.
- the phase detector is further used to phase-detect the input data clock, the output data clock (that is, the adjusted first working clock) and the second intermediate clock to determine the phase relationship of the three clocks, and output the phase detector result.
- the phase interpolator can keep the rising edge of the input data clock always between the rising edge of the first working clock and the rising edge of the second intermediate clock to achieve the purpose of phase alignment, which can be used to synchronize the above Input data.
- the phase interpolator when the phase interpolator adjusts the phases of the first operating clock and the second intermediate clock, the phase difference between the first operating clock and the input data clock is equal to the input data clock and the second intermediate clock 'S phase difference.
- the adjusted first working clock generated by the phase interpolator can better align with the phase of the input data clock.
- the above-mentioned phase interpolator is further used: when the phase of the input data clock leads the phase of the first working clock and lags the phase of the second intermediate clock, the second control signal is in the first State (for example, binary number 10) to instruct the phase interpolator to maintain the phases of the first working clock and the second intermediate clock; when the phase of the input data clock lags the phase of the first working clock and the phase of the second intermediate clock, The above-mentioned second control signal is in the second state (for example, binary number 00) to instruct the phase interpolator to adjust the phase so that the phase of the input data clock leads the phase of the first working clock and lags the phase of the second intermediate clock; when input The phase of the data clock leads the phase of the first working clock and the phase of the second intermediate clock.
- the first State for example, binary number 10
- the second control signal is in a third state (eg, binary number 01) to instruct the phase interpolator to adjust the phase so that the input data
- the phase of the clock leads the phase of the first working clock and lags the phase of the second intermediate clock.
- the first working clock and the second intermediate clock shift synchronously, so that the first working clock can follow the phase of the input data clock in real time.
- the filtering of the first control signal and the phase discrimination result by the digital filter is high-frequency filtering, wherein the filtered first control signal includes a low-frequency jitter corresponding to the input data clock Phase change information.
- the phase alignment circuit performs high-frequency filtering and jitter on the input data clock, the low-frequency jitter carried by the clock can be retained and accompanied by synchronous data output to downstream devices, so that the cross-clock domain processing circuit can support specific protocols or Preset functions, such as turning on and off the SRIS function.
- the phase change information includes independent clock spreading information, independent clock non-spreading information, or homologous clock information.
- the synchronization circuit includes a first sub-synchronization circuit and a second sub-synchronization circuit, wherein the first sub-synchronization circuit is used to synchronize the input data according to the input data clock and output the result to the second sub-synchronization circuit Synchronization circuit; the second sub-synchronization circuit synchronizes the above result according to the first working clock to obtain the above synchronization data.
- the synchronization processing of input data is realized by two sub-synchronization circuits, which simplifies the circuit structure of the processing circuit across clock domains and saves the hardware area and power consumption.
- the first sub-synchronous circuit and the second sub-synchronous circuit are both registers, and the two sub-synchronous circuits synchronize the input data through the input data clock and the first working clock, respectively.
- Implementing the sub-synchronization circuit through registers greatly simplifies the circuit complexity of the processing circuit across clock domains, further saving hardware area and power consumption.
- the cross-clock domain processing circuit further includes a first clock circuit, configured to provide the first operating clock to the phase alignment circuit.
- the first clock circuit provides less jitter and clutter on the first working clock, which is beneficial to data synchronization across clock domains.
- the cross-clock domain processing circuit further includes a clock recovery circuit, the clock recovery circuit is used to be driven by the working clock of the cross-clock domain processing circuit, and recovers the received input data to obtain the input data clock And the first control signal, and output the above input data, the first control signal and the input data clock.
- the clock recovery circuit performs clock recovery on the input data, so that the recovered clock can be used again to synchronize the input data after phase adjustment and other processing, so as to realize cross-clock domain processing.
- the input data is serial data
- the cross-clock domain processing circuit further includes a serial-to-parallel circuit.
- the serial-to-parallel circuit is used to perform serial-to-parallel conversion on the input data and output the serial data.
- the converted input data (that is, parallel input data) to the above synchronization circuit.
- the data between the two sub-synchronization circuits in the synchronization circuit is also parallel data.
- the sending end sends input data to the cross-clock domain processing circuit, and the synchronous data is output to the receiving end, in which there are three cases: First, the sending end and the cross-clock domain processing circuit share one Reference clock, the clock used by the receiving end is independent of the above-mentioned common reference clock; second, the receiving end and the cross-clock domain processing circuit share a reference clock, the reference clock of the sending end is independent of the above-mentioned common reference clock; third, the above-mentioned sending The end, the receiver, and the cross-clock domain processing circuit share a reference clock.
- the reference clock of the cross-clock domain processing circuit can be independent of the receiving end and the sending end, and can also share the reference clock, making its clock signal configuration more flexible.
- an embodiment of the present application provides a retimer for relaying N input data in a transmission link.
- the retimer includes a phase alignment circuit and N synchronization circuits (N ⁇ 1 and N is a positive integer), wherein the phase alignment circuit is used to adjust the phase of the first working clock according to the first control signal, so that the above two clock phases Align, and output the input data clock and the adjusted first working clock to N synchronization circuits, so that N synchronization circuits can synchronize N channels of input data across clock domains according to the above two clocks to generate N channels of synchronized data That is, the N input data in the clock domain of the input data clock is synchronized to the clock domain of the output data clock.
- the frequency of the first working clock is equal to the frequency of the input data clock
- the first working clock is the working clock of the retimer, or uses the same reference clock as the retimer
- the above input data clock is based on the N input
- One of the N recovered clock clocks recovered from the data for example, N recovered data clocks are recovered from the N input data through a clock recovery circuit, and one of the recovered clocks is selected as the input data clock.
- the first control signal is also one of the N control signals recovered from the N input data, and the first control signal includes phase change information of the input data clock.
- the retimer uses the control signal recovered from the N input data as a reference to adjust the phase of the local clock (ie, the first working clock), the adjusted local clock can follow the phase of the input data clock in real time as a synchronization
- the clock of the circuit thus saves the hardware resources occupied by the elastic buffer, makes the time for the data to pass through the retimer shorter, thereby reducing the delay in processing data by the retimer, and improving the efficiency of data transmission.
- the phase alignment circuit includes a phase discriminator, a digital filter, and a phase interpolator, where the phase discriminator is used to discriminate the input data clock and the output data clock, and the digital filter is used to discriminate the phase And the first control signal are filtered, and the filtered result is output as the second control signal.
- the phase interpolator is used to adjust the phase of the first operating clock according to the second control signal, so that the first operating clock and the input The data clocks are phase-aligned, and the adjusted first working clock is output as the output data clock to N synchronization circuits and phase detectors.
- the phase interpolator when the phase interpolator adjusts the phases of the first operating clock and the second intermediate clock, the phase difference between the first operating clock and the input data clock is equal to the input data clock and the second intermediate clock 'S phase difference.
- the adjusted first working clock generated by the phase interpolator can better align with the phase of the input data clock.
- the above-mentioned phase interpolator is further used to: generate a second intermediate clock according to the first working clock, and the phase difference between the first working clock and the second intermediate clock is a preset phase difference;
- the second control signal adjusts the phases of the first working clock and the second intermediate clock so that the phase of the input data clock leads the phase of the first working clock and lags the phase of the second intermediate clock.
- the phase detector is further used to phase-detect the input data clock, the output data clock (that is, the adjusted first working clock) and the second intermediate clock to determine the phase relationship of the three clocks, and output the phase detector result.
- the phase interpolator can keep the rising edge of the input data clock always between the rising edge of the first working clock and the rising edge of the second intermediate clock to achieve the purpose of phase alignment, which can be used to synchronize the above Input data.
- the above-mentioned phase interpolator is further used: when the phase of the input data clock leads the phase of the first working clock and lags the phase of the second intermediate clock, the second control signal is in the first State (for example, binary number 10) to instruct the phase interpolator to maintain the phases of the first working clock and the second intermediate clock; when the phase of the input data clock lags the phase of the first working clock and the phase of the second intermediate clock, The above-mentioned second control signal is in the second state (for example, binary number 00) to instruct the phase interpolator to adjust the phase so that the phase of the input data clock leads the phase of the first working clock and lags the phase of the second intermediate clock; when input The phase of the data clock leads the phase of the first working clock and the phase of the second intermediate clock.
- the first State for example, binary number 10
- the second control signal is in a third state (eg, binary number 01) to instruct the phase interpolator to adjust the phase so that the input data
- the phase of the clock leads the phase of the first working clock and lags the phase of the second intermediate clock.
- the first working clock and the second intermediate clock shift synchronously, so that the first working clock can follow the phase of the input data clock in real time.
- each of the N synchronization circuits includes a first sub-synchronization circuit and a second sub-synchronization circuit, where the first sub-synchronization circuit is used to synchronize the above according to the input data clock One of the N input data, and output the result to the second sub-synchronization circuit; the second sub-synchronization circuit synchronizes the result according to the first working clock to obtain one channel of the synchronization data.
- the synchronization processing of the input data is realized by two sub-synchronization circuits, which simplifies the circuit structure of the retimer and saves the hardware area and power consumption.
- the first sub-synchronous circuit and the second sub-synchronous circuit are both registers, and the two sub-synchronous circuits synchronize the input data through the input data clock and the first working clock, respectively.
- the realization of the sub-synchronous circuit through the register greatly simplifies the circuit complexity of the retimer, and further saves the hardware area and power consumption.
- the retimer further includes a first clock circuit, configured to provide the first operating clock to the phase alignment circuit.
- the first clock circuit provides less jitter and clutter on the first working clock, which is beneficial to data synchronization across clock domains.
- the filtering of the first control signal and the phase discrimination result by the digital filter is high-frequency filtering, wherein the filtered first control signal includes a low-frequency jitter corresponding to the input data clock Phase change information.
- the phase alignment circuit performs high-frequency filtering and jitter on the input data clock, the low-frequency jitter carried by the clock can be retained and accompanied by synchronized data output to downstream devices, so that the retimer can support a specific protocol or preset in the transmission link Functions, such as turning SRIS on and off.
- the phase change information includes independent clock spreading information, independent clock non-spreading information, or homologous clock information.
- the retimer further includes N clock recovery circuits, which are respectively driven by the first working clock of the retimer, and recover the received N input data to obtain the N recovery Data clock and N control signals, and output the above-mentioned N input data, N control signals and N recovered data clocks.
- the clock recovery circuit performs clock recovery on the input data, so that the recovered clock can be used again to synchronize the input data after filtering and jittering, so as to realize the processing across clock domains.
- the N input data is N serial input data
- the retimer further includes N serial-parallel circuits, wherein the N serial-parallel circuits are used for N channels
- the input data is subjected to serial-to-parallel conversion, and the converted result (ie, N parallel data) is output to the N synchronization circuits.
- serial-to-parallel conversion of data high-speed serial data in the transmission link can be converted into parallel data, which improves the efficiency of data processing by the retimer and saves data processing time.
- the retimer further includes N parallel-to-serial circuits, and the N synchronization data is N parallel data, wherein the N parallel-to-serial circuits are used to separately synchronize N channels of data Perform parallel-to-serial conversion and output the converted result.
- the processed (synchronized) data can be converted back to a high-speed serial signal, improving the efficiency of the data processing by the retimer and saving data processing time.
- the retimer further includes N data processing circuits and N data selectors, wherein the input terminals of the N data processing circuits are respectively coupled to the output terminals of the N clock recovery circuits, and N The output end of the data processing circuit is respectively coupled with the input ends of the N data selectors.
- the N data processing circuits are used to decode, descramble, synchronize, scramble, and encode the received N input data, respectively.
- the coupled data processing circuit, clock recovery circuit and data selector, the two input terminals of the data selector are respectively coupled with the output terminal of the clock recovery circuit and the output terminal of the data processing circuit, and the output terminal of the data selector is connected with the synchronization circuit Output coupling.
- the data selector can be controlled by an additional control signal to select one of the two data signals received at the two input terminals as an output.
- data can be directly synchronized across the clock domain through the data selector, or it can be advanced through the processing of the data processing circuit, and then synchronized across the clock domain through the data selector, so that the retimer processes input data
- the method is more flexible, you can choose whether to pass data according to different transmission protocols, thereby improving the efficiency of relaying data.
- the sending end sends input data to the retimer, and the synchronous data is output to the receiving end, in which there are three cases: First, the sending end and the retimer share a reference clock, and receive The clock used by the terminal is independent of the above-mentioned common reference clock; second, the receiving terminal and the retimer share a reference clock, and the reference clock of the transmitting end is independent of the above-mentioned shared reference clock; third, the transmitting end, the receiving end and the re-timer The timers share a reference clock.
- the reference clock of the retimer can be independent of the receiving end and the sending end, and can also share the reference clock, making its clock signal configuration more flexible.
- the retimer is a multi-channel retimer, where N ⁇ 2, and N is a positive integer.
- N the number of synchronization circuits, clock recovery circuits and other circuits in the retimer, the retimer can process multiple input data at the same time, thereby further improving the efficiency of the retimer to relay data.
- Figure 1 is a retimer in the prior art.
- FIG. 2 is a retimer in the embodiment of the present application.
- FIG. 3 is a specific retimer in the embodiment of the present application.
- FIG. 4 is a more specific retimer in the embodiment of the present application.
- 5(a) is a timing diagram of a phase interpolator in an embodiment of this application.
- 5(b) is another timing diagram of the phase interpolator in the embodiment of the present application.
- FIG. 5(c) is another timing diagram of the phase interpolator in the embodiment of the present application.
- FIG. 6 is a synchronization circuit in an embodiment of the present application.
- FIG. 7 is a more specific retimer in the embodiment of the present application.
- FIG. 8 is a data processing circuit in an embodiment of the present application.
- FIG. 9 is a multi-channel retimer in an embodiment of the present application.
- an embodiment of the present application provides a retimer 300 as shown in FIG. 2.
- the retimer 300 is set on the high-speed serial communication link between the first device 210 and the second device 220.
- the communication link can use PCIe (Peripheral Component Interface, peripheral bus interface), Ethernet (Ethernet), and SATA (Serial Advanced Technology Attachment), SAS (Serial Attached SCSI), serial connection (SCSI interface), USB (Universal Serial Bus, universal serial bus) and other protocol communication links.
- PCIe Peripheral Component Interface, peripheral bus interface), Ethernet (Ethernet), and SATA (Serial Advanced Technology Attachment), SAS (Serial Attached SCSI), serial connection (SCSI interface), USB (Universal Serial Bus, universal serial bus) and other protocol communication links.
- the retimer 300 is used to relay the data signal, for example, to reconstruct the signal by an internal clock, so that the transmission energy of the data signal increases.
- the retimer 300 can also be used to filter out the jitter in the above communication link.
- the above data signal may be a data signal sent from the first device 210 to the second device 220, or may be a data signal sent by the second device 220 to the first device 210.
- the first device and the second device may include terminal devices, such as mobile phones and tablet computers; they may also include server devices or communication base stations; or include two independent PCBs (Printed Circuit Board). Circuit.
- the retimer 300 includes a receiving circuit 310 and a transmitting circuit 320, wherein the receiving circuit 310 includes a clock recovery circuit 312 and a serial parallel circuit 314, the clock recovery circuit 312 is used to drive the received serial data according to the drive of its reference clock ( Input data) to perform clock recovery to obtain the input data clock and the first control signal, and simultaneously output the above serial data, and the recovered input data clock and the first control signal, the reference clock may be the working clock of the receiving circuit 310,
- the first control signal includes phase change information of the input data clock.
- the serial-parallel conversion circuit 314 is used to convert the serial data into parallel data and output the parallel data.
- the working clock of the receiving circuit 310 can be determined according to the reference clock of the retimer 300.
- the clock recovery circuit 312 can recover the clock by detecting the phase of the serial data.
- the clock recovery circuit 312 can be implemented in various ways, such as using a passive filter and a limiting amplifier, using a narrow-band regenerative divider, and using synchronization Oscillator implementation, or use a phase-locked loop, etc.
- the sending circuit 320 is used for synchronizing the parallel data output by the receiving circuit 310 across clock domains, and converting the synchronized parallel data into serial data and outputting it to the second device 220.
- the transmission circuit 320 includes a phase alignment circuit 330, a synchronization circuit 340, and a parallel-to-serial circuit 370.
- the phase alignment circuit 330 is used to receive the input data clock and the first working clock, adjust the phase of the first working clock according to the first control signal, so that the adjusted phase of the first working clock is aligned with the phase of the input data clock, and The adjusted first working clock is output to the synchronization circuit 340 as an output data clock.
- the input data clock is the clock recovered by the clock recovery circuit 312 from the input data
- the first control signal is also the information recovered by the clock recovery circuit 312 from the input data. This information can be used as a control signal to control the phase alignment circuit 330 Adjust the phase of the first working clock.
- the above-mentioned first working clock is a clock independent of the input data clock, and is the working clock of the transmitting circuit 320 in the retimer 300, and the frequency of the first working clock is equal to the frequency of the input data clock.
- first working clock that is, the working clock of the sending circuit 320 and the working clock of the receiving circuit 310 (that is, the second working clock below) are independent working clocks, but the same reference clock (reference clock) may be used Or use different reference clocks.
- the synchronization circuit 340 is configured to synchronize the parallel data generated by the clock recovery circuit 312 across clock domains according to the input data clock and the output data clock, and generate synchronized data, where the synchronized data is in the clock domain of the output data clock . Since the data in the receiving circuit 310 is in the clock domain of the input data clock and the data in the transmitting circuit 320 is in the clock domain of the output data clock, the synchronization circuit 340 synchronizes the parallel data from the clock domain of the input data clock to the output data clock Clock domain.
- the parallel-to-serial circuit 370 is used to convert the received synchronization data into serial output data, and output the serial output data to the second device 220.
- the jitter of the high-frequency component includes high-frequency jitter generated by the high-speed serial communication link, and high-frequency jitter generated by the clock recovery circuit 312 when recovering the clock.
- high-frequency jitter and high-frequency filtering in the present application should be a concept well known to those skilled in the art.
- the scope of "high frequency” in this application will be different.
- jitters with a frequency greater than 0.5f should be considered high-frequency jitter; correspondingly, high-frequency jitter filtering is to remove jitters with a frequency greater than 0.5f.
- the phase alignment circuit 330 can perform high-frequency filtering and jittering on a 100 MHz clock signal, and all jitters with a frequency higher than 500 KHz carried by the clock signal will be filtered out.
- low frequency jitter is jitter with a frequency less than 0.5f.
- jitters with a frequency greater than 0.05f should be considered high-frequency jitter, and jitters below 0.05f should be considered low-frequency jitter.
- phase alignment in this application can be understood as that the phase difference of the rising edges of the two clock signals is a fixed value, for example, the phase difference remains -1°, 0°, or 1°; it can also be understood that the two The phase difference of the rising edge of the clock signal is kept within a certain range.
- the first working clock is the working clock of the retimer, that is, the clock is a local clock with less jitter.
- the retimer 300 uses the first control signal recovered from the input data to adjust the phase of the local clock, so that the adjusted local clock can follow the phase of the input data clock in real time to serve as the clock of the synchronization circuit 340.
- the retimer When relaying data, 300 does not need to synchronize the clock domain through the elastic buffer, making the time for the data to pass through the retimer 300 shorter, thereby reducing the delay of the retimer 300 to process data, especially when the data crosses the clock domain Delay improves the efficiency of data transmission.
- the phase alignment circuit 330 includes a phase detector (Phase Detector, PD) 332, a digital filter (Digital) Filter 334, and a phase interpolator (Phase Interpolator, PI) 336.
- the phase discriminator 332 is used to discriminate the output data clock and the input data clock, that is, discriminate the phase relationship between the two clocks, and output the phase discrimination result.
- the digital filter 334 is used to filter and shake the phase discrimination result and the first control signal, and output the filtered result to the phase interpolator 336 as the second control signal.
- the digital filter 334 may first superimpose the phase discrimination result and the first control signal, perform filtering and dithering, and output it as a second control signal; or it may first filter and dither the phase discrimination result and the first control signal, Then superimpose and output as the second control signal.
- the digital filter 334 does not respond to high-frequency jitter, but only responds to low-frequency jitter, that is, filters out only high-frequency jitter, while retaining low-frequency jitter, which can carry the frequency of the input data clock or Phase change information.
- the phase interpolator 336 is used to adjust the phase of the first working clock according to the second control signal, so that the first working clock and the input data clock are phase aligned, and output the adjusted first working clock as the output data clock to the synchronization Circuit 340 and phase detector 332.
- the phase interpolator 336 first generates a second intermediate clock according to the phase of the first working clock, and the phase difference between the second intermediate clock and the first working clock is a preset fixed phase difference;
- the above-mentioned output data clock, second intermediate clock and input data clock perform phase discrimination to determine the phase relationship between the three clock signals, and output the result of phase discrimination, and the digital filter 334 filters the phase discrimination result.
- the first control signal is filtered, and the above two filtered results are superimposed, and the superimposed signal is output as the second control signal to the phase interpolator 336, and the filtering is to filter out jitter in the signal;
- the phase interpolator 336 Adjust the phases of the first working clock and the second intermediate clock according to the second control signal so that the phase of the input data clock leads the phase of the first working clock and lags the phase of the second intermediate clock, and adjust The first working clock after that is output as the output data clock to the synchronization circuit 340 and the phase detector 332.
- the first control signal is the control signal recovered by the clock recovery circuit 312. Specifically, the clock recovery circuit 312 recovers the above-mentioned first control signal while clock-recovering the input data, the first control signal includes phase change information corresponding to the jitter contained in the above-mentioned input data clock, that is, That is to say, the first control signal can indicate the phase change of the input data clock.
- the first control signal includes low-frequency jitter information of the input data clock.
- the low-frequency jitter is also called low-frequency offset (wander), which is usually spread-spectrum clock (Spread Spectrum Clock) information.
- non-homologous clock (Separated Clock) information such as independent clock spread spectrum information, it can also be independent clock non-spread spectrum information; the above-mentioned low frequency jitter can also be homogenous clock (Common) Reference Clock information; at the same time
- a control signal also includes high-frequency jitter information of the input data clock, which usually comes from high-frequency noise (or high-frequency jitter) generated by the clock recovery circuit 312 and generated by the link. Therefore, the digital filter 334 is also used to perform high-frequency filtering and dithering on the first control signal and the phase discrimination result to filter out high-frequency noise, and retain phase change information corresponding to the low-frequency jitter of the input data clock.
- the retimer 300 further includes a second clock circuit 318 and a first clock circuit 335, wherein the second clock circuit 318 is used to generate a second working clock according to the reference clock and output the second working clock To the clock recovery circuit 312, so that the clock recovery circuit 312 recovers the clock signal from the input data; the first clock circuit 335 is used to generate a first working clock according to the reference clock, and output the first working clock to the phase alignment circuit 330, To generate the output data clock.
- the first working clock is the working clock generated by the first clock circuit 335 in the sending circuit 320, and the frequency of the first working clock generated by the first clock circuit 335 is equal to the frequency of the input data clock.
- the second clock circuit 318 and the first clock circuit 335 in this embodiment are independent clock circuits, and the above two clock circuits may be phase locked loops (Phase Locked Loop, PLL), etc.
- the second clock circuit 318 and the first clock circuit 335 may use the same clock source as the reference clock, or two independent clock sources as the reference clock.
- the clock signal is usually a rectangular pulse with the same pulse width, its spectrum component contains higher harmonics, and the clock signal and these higher harmonics together produce electromagnetic interference in a certain circuit or between different circuits.
- a method of spreading the clock may be used, that is, a preset modulation waveform (for example, a lower frequency) is used to frequency modulate the above-mentioned clock signal within a certain frequency range, so that the base of the clock signal The peak energy contained in the frequency and harmonics is reduced.
- the above-mentioned input data clock may be a clock carrying the SSC information of the spread spectrum clock.
- SSC information appears as a clock signal producing a spectrum with sideband harmonics.
- the digital filter 334 can retain complete low-frequency jitter, so that certain clock information contained in the first intermediate clock or certain clocks included in the input data clock can be retained Information, such as SSC information.
- the digital filter 334 filters out high-frequency jitter from the link and clock recovery circuit 312 and the like. Therefore, when the SRIS function (Separate-Reference-Independent SSC) of the high-speed serial link is enabled, both the input data clock and the output data clock in the retimer 300 can retain the clock signal. SSC information, while filtering out high frequency jitter.
- phase interpolator 336 Since the input data clock contains low frequency jitter, the phase of the rising edge of the input data clock is usually not fixed, but drifts back and forth. As shown in Figure 5, the input data clock drifts within a certain clock offset range.
- the specific function of the phase interpolator 336 is explained by the timing chart shown in FIG. First, the phase interpolator 336 is used to receive the first working clock, take the phase of the first working clock as a reference, and generate a second intermediate clock according to a preset phase difference and a second control signal, the first working clock and the second The second phase difference of the intermediate clock is a preset fixed value, and the second phase difference is the alignment window in the figure.
- the above phase difference can also be understood as the phase difference between two rising edges adjacent to the first working clock and the second intermediate clock.
- the phase detector 332 performs phase detection on the first working clock, the second intermediate clock, and the input data clock to determine the phase relationship between the three clocks.
- the phase detector 332 may use the rising edge of the input data clock to sample the first working clock and the second intermediate clock, that is, the phase detector, to determine the phase relationship between the above three clocks. If the sample value is 2'b10 (two binary digits, the low bit 0 indicates that the sample value of the second intermediate clock is 0, and the high bit 1 indicates that the sample value of the first working clock is 1), that is, when the input data clock is on the rising edge , The first working clock is high level (1), and the second intermediate clock is low level (0), which means that the sampling value of 2'b10 corresponds to the input data clock in the above alignment window, input The phase of the data clock leads the phase of the first working clock and lags the phase of the second intermediate clock.
- the phase discriminator 332 filters and dithers the sampling result through the digital filter 334, and then outputs it as the second control signal to the phase interpolator 336, so the phase interpolator 336 can determine whether the input data clock is aligned according to the second control signal
- the window is between the first working clock and the second intermediate clock.
- the input data clock deviates from the above alignment window, the phase of the input data clock lags behind the phase of the first working clock and the phase of the second intermediate clock, at this time the sampling of the rising edge of the input data clock
- the value is 2'b00.
- the phase interpolator 336 receives the above-mentioned second control signal generated by the digital filter 334 (that is, contains the sample value 2′b00 generated by the phase discriminator 332), and adjusts the phase of the first working clock by using a phase interpolation method, and The phase of the second intermediate clock is also adjusted so that the input data clock is within the alignment window formed after the adjustment, that is, the adjusted sample value becomes 2'b10 again.
- the input data clock also deviates from the above alignment window.
- the phase of the input data clock leads the phase of the first working clock and the phase of the second intermediate clock. At this time, the rising edge of the input data clock
- the sampled value is 2'b11 or 2'b01.
- phase interpolator 336 receives the above-mentioned second control signal generated by the digital filter 334 (that is, includes the sample value 2'b11 generated by the phase discriminator 332)
- the phase interpolation method is used to The phase of the first working clock is adjusted, and the phase of the second intermediate clock is also adjusted so that the input data clock is within the alignment window formed after the adjustment, that is, the adjusted sample value becomes 2'b10 again.
- the input clock signal carries SSC information, that is, low-frequency jitter, and its phase will always change periodically, that is, periodically drift within a certain range.
- the phase interpolator 336 adjusts the phase of the first working clock according to the period of the phase change of the input data clock, and the adjusted period is the period of the phase change of the input data clock, that is, the SSC change period. Therefore, the phase of the output data clock (that is, the adjusted first working clock) always changes with the phase of the input data clock, thereby achieving the purpose of retaining low-frequency jitter and filtering out high-frequency jitter.
- the phase interpolator 336 adjusts the first working clock and the second intermediate clock so that the rising edge of the input data clock is always at the center of the alignment window, that is, the phase difference between the second intermediate clock and the input data clock is equal to The phase difference between the input data clock and the first working clock. Therefore, when the alignment window is small, the first working clock generated by the phase interpolator 336 can be better phase aligned with the input data clock.
- the synchronization circuit 340 includes a first sub-synchronization circuit 342 and a second sub-synchronization circuit 344, where the first sub-synchronization circuit 342 is used to synchronize the received input data for the first time according to the input data clock to obtain first temporary data;
- the two-sub-synchronization circuit 344 is used to perform the second synchronization on the first temporary data according to the first working clock (ie, the output data clock) to obtain the synchronized data.
- Synchronizing the input data twice through the two clocks respectively enables the synchronous data to be transmitted at the frequency of the output data clock, and can prevent the occurrence of the metastable state and prevent the retimer 300 from being affected by the propagation of the metastable state.
- the first sub-synchronization circuit 342 and the second sub-synchronization circuit 344 in the synchronization circuit 340 are both registers, and the clock used by the first sub-synchronization circuit 342 is the above input data clock, and the second sub-synchronization
- the clock used for the operation of the circuit is the above-mentioned first operating clock (ie, the output data clock).
- the above register may include multiple D flip-flops connected in parallel. According to the above two clocks, it can be ensured that the second sub-synchronous circuit 344 can correctly sample the data.
- the combination of any one or more of the above-mentioned phase alignment circuit 330, synchronization circuit 340, and clock recovery circuit 312 included in the retimer 300 in this application can also be used to implement other circuits that process across clock domains Or scenarios, the retimer 300 in this application is only an example of a scenario.
- the input data and the synchronization data in the embodiments of the present application may be parallel data or serial data.
- an embodiment of the present application further provides a cross-clock domain processing circuit, including the above-mentioned phase alignment circuit 330, synchronization circuit 340, and clock recovery circuit 312, wherein the input data received by the cross-clock domain processing circuit and the generated synchronization data may be both It can be parallel data or serial data.
- the retimer 300 shown in FIG. 7 is a more specific implementation.
- the retimer 300 in FIG. 7 further includes an equalizer 316, a second clock circuit 318, a data processing circuit 350, and a data selector 360.
- the equalizer 316 is used to equalize the serial data received by the receiving circuit 310, such as continuous time linear equalization (Continuous Time Linear Equalizer, CTLE), to improve the high-speed serial link with large transmission loss
- CTLE Continuous Time Linear Equalizer
- the second clock circuit 318 is used to provide a second working clock to the clock recovery circuit 312 according to the reference clock of the retimer 300.
- the first device 210 relays data through the retimer 300, and sends the relayed data to the second device 220.
- the first device 210 and the retimer 300 share the same reference clock, and the reference clock of the second device 220 is independent of the above-mentioned shared reference clock; in one embodiment, the second device 220 and The retimer 300 shares the same reference clock, and the reference clock of the first device 210 is independent of the above-mentioned shared reference clock; in another embodiment, the first device 210, the second device 220, and the retimer 300 are respectively Use an independent reference clock.
- the data processing circuit 350 is used to perform processing such as encoding, decoding, scrambling, buffering, and synchronization on the data.
- the data processing circuit 350 can selectively perform processes such as decoding, descrambling, synchronization, scrambling, and encoding on the received data, and the order of the foregoing multiple processing procedures is variable.
- the received data may be sequentially decoded, descrambled, synchronized, scrambled, and encoded, or may be sequentially decoded, synchronized, and encoded, or descrambled, synchronized, and scrambled.
- FIG. 8 A specific implementation of the data processing circuit 350 is shown in FIG. 8.
- the data processing circuit 350 includes a decoder (De-coder) 351, a descrambling circuit (De-Scrambler) 352, an elastic buffer (Elastic Buffer) 353, a link training state machine (Link Training) and Status Machine, LTSSM) 354, scrambling circuit (Scrambler) 355 and encoder (Encoder) 356.
- the decoder 351 is used to perform aligned decoding on the received data, for example, to find the feature words in the received data, and remove the synchronization header in the data according to the feature words.
- the descrambling circuit 352 is used for descrambling the data output from the decoder 351.
- the elastic buffer 353 is used to buffer the data output by the descrambling circuit 352 and output the buffered data to the link training state machine 354.
- the elastic buffer 353 is a variable data buffer. The amount of data buffering is determined by the reference clock of the retimer 300.
- the link training state machine 354 is used to receive the data output from the elastic buffer 353 and train the link. For example, before the link using the PCIe interface works normally, the link training state machine 354 needs to be trained to initialize the link and configure link information. When the link training is completed and the normal operation is performed, the data generated by the elastic buffer 353 can be directly output to the scrambling circuit 355 without going through the link training state machine 354.
- the scrambling circuit 355 is used to perform scrambling processing on the data output by the link training state machine 354, where the scrambling processing may adopt a method corresponding to descrambling.
- the decoder 356 is used to encode the scrambled data and output the encoded data.
- the data selector 360 is used to simultaneously receive the data generated by the clock recovery circuit 312 and the data generated by the data processing circuit 350, and select one of the above two channels of data to output to the synchronization circuit 340.
- the data selector 360 may output the data generated by the clock recovery circuit 312 or the data generated by the data processing circuit 350 through a control signal, and the control signal may be configured through a register. Since the data selector 360 has a function of selecting one of two channels of data, parallel data can pass from the data receiving circuit 310 to the data transmitting circuit 320 through two paths. First, the parallel data is first output from the clock recovery circuit 312 to the data processing circuit 350, and then from the data processing circuit 350 through the data selector 360 and input to the data transmission circuit 320.
- the above-mentioned parallel data is processed in the data processing circuit 350 such as codec, scrambling and descrambling.
- parallel data is directly output from the clock recovery circuit 312, passes through the data selector 360, and is input to the data transmission circuit 320 without any data processing.
- This BSF (Bit Stream Forward) method can maximize Reduce the delay caused by data passing through the retimer 300.
- the control signal of the data selector 360 By adjusting the control signal of the data selector 360, the retimer 300 can be controlled to switch between the above two modes.
- the retimer 1000 includes an upstream retiming circuit 1010 and a downstream retiming circuit 1020.
- the upstream retiming circuit 1010 is used to realize the relaying and filtering of multiple serial signals on the upstream high-speed serial transmission link of the first device 210 to the second device 220
- the downstream retiming circuit 1020 is used to Multiple downlink serial signals are relayed and filtered on the downlink high-speed serial transmission link from the second device 220 to the first device 210. It should be noted that the above concepts of uplink and downlink are relative.
- the upstream retiming circuit 1010 includes four upstream channels, where each upstream channel includes a data receiving circuit, a data processing circuit, a data selector, and a data sending circuit, and the direction of data flow is from the first Device 210 to the second device 220; the downlink retiming circuit 1020 also includes 4 downlink channels, where each downlink channel includes a data receiving circuit, a data processing circuit, a data selector 360, and a data sending circuit, and its data flow The direction is opposite to the upstream retiming circuit 1010, from the second device 220 to the first device 210.
- serial data is converted into parallel data by the data receiving circuit n, data is processed by the data processing circuit n and output to the data selector 360, or does not pass data processing
- the circuit n directly outputs to the data selector 360, and finally synchronizes across clock domains through the data transmission circuit n, and converts the synchronized parallel data into serial data.
- the aforementioned n may be 1, 2, ..., 8.
- All 8 may include some or all circuits in the data receiving circuit 310 provided in the embodiments of the present application, and some circuits in the common data receiving circuit 310.
- the data transmission circuit 1, the data transmission circuit 2, the data transmission circuit 3, the data transmission circuit 4, the data transmission circuit 5, the data transmission circuit 6, the data transmission circuit 7, and the data transmission circuit 8 in the retimer 1000 may all include this application Some or all of the circuits in the data transmission circuit 320 provided in the embodiment, and some of the circuits in the data transmission circuit 320 are shared.
- the four data receiving circuits in the upstream retiming circuit 1010 can share one clock processing circuit 1, and the four data receiving circuits in the downstream retiming circuit 1020 can also share one clock processing circuit 2. Both the processing circuit 1 and the clock processing circuit 2 may be the second clock circuit 318 in the embodiment of the present application.
- the four parallel data in the upstream retiming circuit 1010 are recovered by the clock processing circuit 1 to output four clock signals respectively, and one of the clock signals is selected to be output as the input clock signal to the synchronization circuit; the downstream retiming circuit 1020 is the same.
- the four data transmission circuits in the upstream retiming circuit 1010 may share one phase alignment circuit 330, and the four data receiving circuits in the downstream retiming circuit 1020 may also share one phase alignment circuit 330.
- Each data transmission circuit in the upstream retiming circuit 1010 includes a synchronization circuit 340, and each data transmission circuit in the downstream retiming circuit 1010 also includes a synchronization circuit 340 to synchronize the synchronization in each data transmission circuit. Input data.
- the data processing circuit 1, the data processing circuit 2, the data processing circuit 3, the data processing circuit 4, the data processing circuit 5, the data processing circuit 6, the data processing circuit 7, and the data processing circuit 8 in the retimer 1000 can all be The data processing circuit 320 provided by the embodiment of the present application.
- the multi-channel shares a clock processing circuit, a synchronization circuit 340 and a phase alignment circuit 330, so that the retimer 1000 further reduces the required buffer resources while ensuring low latency, Therefore, the hardware area of the retimer 1000 and the power consumption are reduced, and the performance of the retimer 1000 is improved.
- the retimer is used to relay N input data in the transmission link.
- the retimer includes a phase alignment circuit and N synchronization circuits (N ⁇ 1 and N is a positive integer), wherein the phase alignment circuit is used to adjust the phase of the first working clock according to the first control signal, so that the above two clock phases Align, and output the input data clock and the adjusted first working clock to N synchronization circuits, so that N synchronization circuits can synchronize N channels of input data across clock domains according to the above two clocks to generate N channels of synchronized data That is, the N input data in the clock domain of the input data clock is synchronized to the clock domain of the output data clock.
- the frequency of the first working clock is equal to the frequency of the input data clock
- the first working clock is the working clock of the retimer, or uses the same reference clock as the retimer
- the above input data clock is based on the N input
- One of the N recovered clock clocks recovered from the data for example, N recovered data clocks are recovered from the N input data through a clock recovery circuit, and one of the recovered clocks is selected as the input data clock.
- the first control signal is also one of the N control signals recovered from the N input data, and the first control signal includes phase change information of the input data clock.
- the above phase alignment circuit includes a phase discriminator, a digital filter and a phase interpolator, wherein the phase discriminator is used to discriminate the input data clock and the output data clock, and the digital filter is used to filter the result of the phase discrimination and the first control signal Jitter, and output the filtered result as a second control signal.
- the phase interpolator is used to adjust the phase of the first working clock according to the second control signal, so that the phase of the first working clock and the input data clock are aligned, and the adjusted The first working clock is output to the synchronization circuit as the output data clock.
- phase interpolator adjusts the phases of the first operating clock and the second intermediate clock
- the phase difference between the first operating clock and the input data clock is equal to the phase difference between the input data clock and the second intermediate clock.
- the above phase interpolator is further used to: generate a second intermediate clock according to the first operating clock, and the phase difference between the first operating clock and the second intermediate clock is a preset phase difference; adjust the first operation according to the second control signal
- the phases of the clock and the second intermediate clock make the phase of the input data clock lead the phase of the first working clock and lag behind the phase of the second intermediate clock.
- the phase detector is further used to phase-detect the input data clock, the output data clock (that is, the adjusted first working clock) and the second intermediate clock to determine the phase relationship of the three clocks, and output the phase detector result.
- the above-mentioned phase interpolator is further used to: when the phase of the input data clock leads the phase of the first working clock and lags behind the phase of the second intermediate clock, the second control signal is in the first state (eg, binary number 10), Instruct the phase interpolator to maintain the phases of the first working clock and the second intermediate clock; when the phase of the input data clock lags the phase of the first working clock and the phase of the second intermediate clock, the second control signal is in the second state (Eg binary number 00) to instruct the phase interpolator to adjust the phase so that the phase of the input data clock leads the phase of the first working clock and lags the phase of the second intermediate clock; when the phase of the input data clock leads the first operation The phase of the clock is ahead of the phase of the second intermediate clock.
- the second control signal is in a third state (eg, binary number 01) to instruct the phase interpolator to adjust the phase so that the phase of the input data clock leads the first working clock And lag behind the phase of the second intermediate clock.
- Each of the N synchronization circuits includes a first sub-synchronization circuit and a second sub-synchronization circuit, wherein the first sub-synchronization circuit is used to synchronize one of the N input data according to the input data clock, and The result is output to the second sub-synchronization circuit; the second sub-synchronization circuit synchronizes the above result according to the first working clock, and obtains one channel of synchronization data in the synchronization data.
- the first sub-synchronous circuit and the second sub-synchronous circuit are both registers, and the two sub-synchronous circuits synchronize the input data through the input data clock and the first working clock, respectively.
- the retimer further includes a first clock circuit for providing the first operating clock to the phase alignment circuit.
- the filtering of the first control signal and the phase discrimination result by the above digital filter is high frequency filtering, wherein the filtered first control signal includes phase change information corresponding to the low frequency jitter of the input data clock.
- the above phase change information includes independent clock spread spectrum information, independent clock non-spread spectrum information or homologous clock information.
- the retimer also includes N clock recovery circuits, which are respectively driven by the first operating clock of the retimer, recover the received input data to obtain the N recovery data clocks and N control signals, and output the above Input data, N control signals and N recovery data clocks.
- the N-channel input data is N-channel serial input data
- the retimer further includes N serial-parallel conversion circuits, wherein the N serial-parallel conversion circuits are respectively used for serial-to-parallel conversion of N channels of input data and output
- the converted result ie, N parallel data
- N synchronization circuits are respectively used for serial-to-parallel conversion of N channels of input data and output
- the retimer further includes N parallel-to-serial circuits, and the N-channel synchronous data is N-channel parallel data, wherein the N-parallel-to-serial circuits are used to perform parallel-to-serial conversion on the N synchronous data, and Output the converted result.
- the above retimer also includes N data processing circuits and N data selectors, wherein the input terminals of the N data processing circuits are respectively coupled to the output terminals of the N clock recovery circuits, and the output terminals of the N data processing circuits are respectively connected to the N
- the input ends of the data selectors are coupled, and N data processing circuits are used to decode, descramble, synchronize, scramble, and encode the N input data received; for each coupled data processing circuit and clock recovery circuit
- the data selector the two input terminals of the data selector are respectively coupled with the output terminal of the clock recovery circuit and the output terminal of the data processing circuit, and the output terminal of the data selector is coupled with the output terminal of the synchronization circuit.
- the data selector can be controlled by an additional control signal to select one of the two data signals received at the two input terminals as an output.
- the sending end sends input data to the retimer, and the synchronous data is output to the receiving end.
- the sending end and the retimer share a reference clock, and the clock used by the receiving end is the same as the above reference The clock is independent;
- the above-mentioned receiving end and the retimer share a reference clock, and the sending end's reference clock is independent of the above-mentioned common reference clock;
- the above retimer is a multi-channel retimer, where N ⁇ 2, and N is a positive integer.
- the retimer in the embodiment of the present application may be a retimer chip, which is used to relay the data signal on the high-speed serial transmission link and filter out jitter.
- the retimer chip may be an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or other types of integrated circuits.
- the aforementioned retimer chip includes any retimer provided according to the present application, wherein the circuit in the retimer is integrated on a die.
- An embodiment of the present application further provides a retimer device, including one or more of the above retimer chips.
- the one or more retimer chips are independently packaged and provided on a PCB (Printed Circuit Board); in one embodiment, the one or more retimer chips
- the retimer chip can also be packaged independently and separately set on multiple PCBs, and communicate through the connection ports or data connection lines between the PCBs; in another embodiment, the multiple retimers
- the chip can also be packaged in a package structure and placed on the PCB.
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
Provided is a clock domain crossing (CDC) processing circuit for processing data between asynchronous clock domains with low delay. The CDC circuit comprises a phase alignment circuit (330) and a synchronization circuit (340), wherein the phase alignment circuit (330) is configured to adjust the phase of a local working clock according to a control signal recovered from input data and containing the phase change information of an input data clock such that the working clock and the input data clock are phase aligned, and the input data clock and the working clock are used as clocks of the synchronization circuit to synchronize the input data. The phase of the local working clock is adjusted by the control signal recovered from the input data clock such that the input data clock and the adjusted working clock can synchronize the input data with a low delay, thereby lowering the delay of data passing through the CDC processing circuit.
Description
本申请涉及数字电路领域,尤其涉及跨时钟域的处理电路。This application relates to the field of digital circuits, and in particular to processing circuits that cross the clock domain.
Serdes(SERializer/DESerializer,串行器/解串器)作为一种重要的高速串行链路物理层技术,被广泛应用于各种通用I/O(Input and Output,输入输出)接口中,例如PCIe(Peripheral Component Interface Express,外设总线接口)、以太网(Ethernet)、以及SATA(Serial Advanced Technology Attachment,串行高级技术附件)等接口。在两个设备进行通信时,Serdes用于在数据发送端将多路低速并行数据信号转换成高速串行数据信号,经过传输介质后在接收端将高速串行数据信号重新转换成多路低速并行数据信号。随着高速串行链路技术的发展,Serdes的速率越来越高,而高速链路互联介质中的介质插入损耗(Insertion Loss,IL)也随之增大,因此在链路中需要引入重定时器(retimer)将信号的驱动能力放大,从而使得高速链路能够容忍更大的插入损耗。重定时器用于对高速串行链路上传输的数据信号进行中继,例如通过内部的时钟重构信号,使数据信号的传输能量增加。此外,重定时器也可以用于滤除链路抖动。从而降低数据传输的性能。Serdes (SERializer/DESerializer, serializer/deserializer), as an important high-speed serial link physical layer technology, is widely used in various general-purpose I/O (Input and Output) interfaces, such as Interfaces such as PCIe (Peripheral Component Interface), Ethernet (Ethernet), and SATA (Serial Advanced Technology Attachment). When two devices are communicating, Serdes is used to convert multiple low-speed parallel data signals into high-speed serial data signals at the data sending end, and to re-convert high-speed serial data signals into multiple low-speed parallels at the receiving end after passing through the transmission medium Data signal. With the development of high-speed serial link technology, the rate of Serdes is getting higher and higher, and the medium insertion loss (Insertion Loss, IL) in the high-speed link interconnection medium also increases, so it is necessary to introduce heavy A timer (retimer) amplifies the driving capability of the signal, so that the high-speed link can tolerate greater insertion loss. The retimer is used to relay the data signal transmitted on the high-speed serial link, for example, the internal clock reconstructs the signal to increase the transmission energy of the data signal. In addition, the retimer can also be used to filter out link jitter. Thereby reducing the performance of data transmission.
如图1所示的是现有技术中的一种重定时器(Retimer)100。由于高速串行链路中的信号衰减较大、链路中的高频抖动较多,重定时器100通常设置于高速串行链路中,以用作中继数据信号,以及滤除链路抖动。重定时器100包括接收端110、数据处理电路120以及发送端130。接收端110用于根据接收到的串行数据恢复出与串行数据对应的接收时钟信号,以及将串行数据转换为并行数据,并将并行数据和接收时钟信号输出至上述数据处理电路120。该数据处理电路120包括跨时钟域处理电路,该跨时钟域处理电路根据上述接收时钟信号,以及发送端130产生的发送时钟信号,通过一个弹性缓冲器(elastic buffer)对上述并行数据进行缓冲,并将缓冲后的并行数据输出至发送端130。此外,数据处理电路120还用于对上述并行数据进行编码、解码、加扰和解扰等处理。发送端130用于将数据处理电路120输出的上述并行数据转换为串行数据并输出。上述弹性缓冲器为一种数据缓存量可变的缓冲器,其数据缓存量由上述接收时钟信号和发送时钟信号确定。As shown in FIG. 1 is a retimer (Retimer) 100 in the prior art. Due to the large signal attenuation in the high-speed serial link and the high frequency jitter in the link, the retimer 100 is usually set in the high-speed serial link to relay the data signal and filter the link Jitter. The retimer 100 includes a receiving end 110, a data processing circuit 120, and a sending end 130. The receiving end 110 is used to recover the received clock signal corresponding to the serial data according to the received serial data, convert the serial data into parallel data, and output the parallel data and the received clock signal to the data processing circuit 120. The data processing circuit 120 includes a cross-clock domain processing circuit. The cross-clock domain processing circuit buffers the parallel data through an elastic buffer according to the received clock signal and the transmitted clock signal generated by the transmitting terminal 130. And output the buffered parallel data to the sending end 130. In addition, the data processing circuit 120 is also used to encode, decode, scramble, and descramble the parallel data. The sending end 130 is used to convert and output the parallel data output by the data processing circuit 120 to serial data. The above-mentioned elastic buffer is a buffer with a variable data buffer amount, and the data buffer amount is determined by the reception clock signal and the transmission clock signal.
上述接收时钟信号是根据接收的串行数据恢复出的时钟,而发送时钟信号是发送端130产生的时钟信号,即根据重定时器100的参考时钟产生的时钟信号,所以上述接收时钟信号和发送时钟信号会存在频率差,且该频率差是不固定的。因此,一方面数据处理电路120中的跨时钟域处理电路需要对并行数据进行异步时钟域的处理,使得并行数据从接收时钟信号的时钟域同步至发送时钟信号的时钟域,同时也要处理接收时钟信号和发送时钟信号之间存在的频偏(frequency skew,频率偏移)。在重定时器100中,现有技术的跨时钟域处理电路由于有上述弹性缓冲器的存在,导致数据处理延时非常大,使得数据经过重定时器的时间变长,从而降低了整个系统的数据处理性能。在某些传输协议下,当需要支持时钟扩频功能时,跨时钟域处理电路在对信号进行跨时钟域处理时会引入更大的延时,从 而进一步降低了整个系统的数据处理性能,对于延时较为敏感的高速串行链路的影响尤为明显。The above received clock signal is the clock recovered from the received serial data, and the transmitted clock signal is the clock signal generated by the transmitting terminal 130, that is, the clock signal generated according to the reference clock of the retimer 100, so the above received clock signal and transmission The clock signal will have a frequency difference, and the frequency difference is not fixed. Therefore, on the one hand, the cross-clock domain processing circuit in the data processing circuit 120 needs to perform asynchronous clock domain processing on the parallel data, so that the parallel data is synchronized from the clock domain receiving the clock signal to the clock domain transmitting the clock signal, and the receiving The frequency offset (frequency offset) between the clock signal and the transmitted clock signal. In the retimer 100, due to the existence of the above-mentioned elastic buffer in the prior art cross-clock domain processing circuit, the data processing delay is very large, so that the time for the data to pass the retimer becomes longer, thereby reducing the overall system Data processing performance. Under some transmission protocols, when it is necessary to support the clock spread spectrum function, the cross-clock domain processing circuit will introduce a larger delay when processing the signal across the clock domain, thereby further reducing the data processing performance of the entire system. The impact of high-speed serial links with more sensitive delays is particularly noticeable.
发明内容Summary of the invention
本申请的实施例提供一种跨时钟域处理电路,可以用于解决在数据在跨时钟域处理时延时较高的问题。The embodiments of the present application provide a cross-clock domain processing circuit, which can be used to solve the problem of high delay when data is processed in the cross-clock domain.
第一方面,本申请实施例提供一种跨时钟域处理电路,用于对输入数据进行跨时钟域处理。该跨时钟域处理电路包括相位对齐电路和同步电路,其中相位对齐电路用于根据第一控制信号调整第一工作时钟的相位,以使得上述两个时钟相位对齐,并将输入数据时钟和调整后的第一工作时钟输出至同步电路,使得同步电路可以根据上述两个时钟对输入数据进行跨时钟域同步,以产生同步数据,即,将处于输入数据时钟的时钟域的输入数据同步至输出数据时钟的时钟域。其中,上述输入数据时钟为根据输入数据恢复出的时钟,第一工作时钟的频率与输入数据时钟的频率相等,且该第一工作时钟为跨时钟域处理电路的工作时钟,或者与跨时钟域处理电路使用同一个参考时钟,上述第一控制信号同样为根据输入数据恢复出的控制信号,且该第一控制信号包括输入数据时钟的相位变化信息。In a first aspect, an embodiment of the present application provides a cross-clock domain processing circuit, configured to perform cross-clock domain processing on input data. The cross-clock domain processing circuit includes a phase alignment circuit and a synchronization circuit, wherein the phase alignment circuit is used to adjust the phase of the first working clock according to the first control signal, so that the phases of the above two clocks are aligned, and the input data clock and the adjusted The first working clock is output to the synchronization circuit, so that the synchronization circuit can synchronize the input data across clock domains according to the above two clocks to generate synchronized data, that is, synchronize the input data in the clock domain of the input data clock to the output data The clock domain of the clock. Wherein, the input data clock is a clock recovered from the input data, the frequency of the first working clock is equal to the frequency of the input data clock, and the first working clock is the working clock of the cross-domain processing circuit, or The processing circuit uses the same reference clock. The first control signal is also a control signal recovered from the input data, and the first control signal includes phase change information of the input data clock.
由于跨时钟域处理电路将上述输入数据恢复出的控制信号作为参考用来调整本地时钟的相位(即第一工作时钟),使得调整后的本地时钟能够实时跟随输入数据时钟的相位,以作为同步电路的时钟,因此节省了弹性缓冲器所占用的硬件资源,使得数据通过跨时钟域处理电路的时间更短,从而降低了跨时钟域处理电路处理数据的延时,提高了数据传输的效率。Since the cross-clock domain processing circuit uses the control signal recovered from the input data as a reference to adjust the phase of the local clock (ie, the first working clock), the adjusted local clock can follow the phase of the input data clock in real time as a synchronization The clock of the circuit saves the hardware resources occupied by the elastic buffer, makes the time for the data to pass through the processing circuit across the clock domain shorter, thereby reducing the delay in processing data across the processing circuit across the clock domain, and improving the efficiency of data transmission.
在一种可能的实施方式中,上述相位对齐电路包括鉴相器、数字滤波器和相位插值器,其中鉴相器用于对输入数据时钟和输出数据时钟进行鉴相,数字滤波器用于将鉴相的结果和第一控制信号进行滤抖,并将滤抖后的结果作为第二控制信号输出,相位插值器用于根据该第二控制信号调整第一工作时钟的相位,使得第一工作时钟和输入数据时钟相位对齐,并将调整后的第一工作时钟作为输出数据时钟输出至同步电路和鉴相器。上述滤抖的过程可以为先叠加信号再滤抖,也可以为先滤抖后再叠加信号。通过对第一工作时钟进行上述处理,使得该第一工作时钟信号的抖动被滤除,并跟踪原输入数据时钟的相位,从而以较少的硬件资源产生相位跟踪输入数据时钟的、用于同步的时钟。In a possible implementation manner, the phase alignment circuit includes a phase discriminator, a digital filter, and a phase interpolator, where the phase discriminator is used to discriminate the input data clock and the output data clock, and the digital filter is used to discriminate the phase And the first control signal are filtered, and the filtered result is output as the second control signal. The phase interpolator is used to adjust the phase of the first operating clock according to the second control signal, so that the first operating clock and the input The data clocks are phase-aligned, and the adjusted first working clock is output as the output data clock to the synchronization circuit and the phase detector. The above-mentioned process of filtering and shaking may be that the signal is superimposed and then filtered, or that the signal is first filtered and then superimposed. By performing the above processing on the first working clock, the jitter of the first working clock signal is filtered out, and the phase of the original input data clock is tracked, so that the phase tracking input data clock is generated with less hardware resources for synchronization Clock.
在一种可能的实施方式中,上述相位插值器进一步用于:根据第一工作时钟产生第二中间时钟,且第一工作时钟与第二中间时钟的相位差为预设的相位差;根据上述第二控制信号调整上述第一工作时钟和第二中间时钟的相位,使得输入数据时钟的相位超前于第一工作时钟的相位且落后于第二中间时钟的相位。其中,鉴相器还进一步用于对上述输入数据时钟、输出数据时钟(即调整后的第一工作时钟)和第二中间时钟进行鉴相,以确定上述三个时钟的相位关系,输出鉴相结果。通过上述相位调整,相位插值器可以使输入数据时钟的上升沿始终保持在第一工作时钟的上升沿和第二中间时钟的上升沿之间,以达到相位对齐的目的,从而能够用于同步上述输入数据。In a possible implementation manner, the above-mentioned phase interpolator is further used to: generate a second intermediate clock according to the first working clock, and the phase difference between the first working clock and the second intermediate clock is a preset phase difference; The second control signal adjusts the phases of the first working clock and the second intermediate clock so that the phase of the input data clock leads the phase of the first working clock and lags the phase of the second intermediate clock. Wherein, the phase detector is further used to phase-detect the input data clock, the output data clock (that is, the adjusted first working clock) and the second intermediate clock to determine the phase relationship of the three clocks, and output the phase detector result. Through the above phase adjustment, the phase interpolator can keep the rising edge of the input data clock always between the rising edge of the first working clock and the rising edge of the second intermediate clock to achieve the purpose of phase alignment, which can be used to synchronize the above Input data.
在一种可能的实施方式中,上述相位插值器在调整上述第一工作时钟和第二中间时钟的相位时,使得第一工作时钟与输入数据时钟的相位差等于输入数据时钟与第二中间时钟 的相位差。当第一工作时钟与第二中间时钟的相位差较小时,相位插值器产生的调整后的第一工作时钟能够更好地与输入数据时钟相位对齐。In a possible implementation manner, when the phase interpolator adjusts the phases of the first operating clock and the second intermediate clock, the phase difference between the first operating clock and the input data clock is equal to the input data clock and the second intermediate clock 'S phase difference. When the phase difference between the first working clock and the second intermediate clock is small, the adjusted first working clock generated by the phase interpolator can better align with the phase of the input data clock.
在一种可能的实施方式中,上述相位插值器进一步用于:当输入数据时钟的相位超前于第一工作时钟的相位且落后于第二中间时钟的相位时,上述第二控制信号处于第一状态(例如二进制数10),以指示相位插值器保持第一工作时钟和第二中间时钟的相位;当输入数据时钟的相位落后于第一工作时钟的相位且落后于第二中间时钟的相位,上述第二控制信号处于第二状态(例如二进制数00),以指示相位插值器调整相位,使得输入数据时钟的相位超前于第一工作时钟的相位且落后与第二中间时钟的相位;当输入数据时钟的相位超前于第一工作时钟的相位且超前于第二中间时钟的相位,上述第二控制信号处于第三状态(例如二进制数01),以指示相位插值器调整相位,以使得输入数据时钟的相位超前于第一工作时钟的相位且落后与第二中间时钟的相位。当输入数据时钟发生频率偏移时,第一工作时钟和第二中间时钟同步发生偏移,以使得第一工作时钟能够实时跟随输入数据时钟的相位。In a possible implementation manner, the above-mentioned phase interpolator is further used: when the phase of the input data clock leads the phase of the first working clock and lags the phase of the second intermediate clock, the second control signal is in the first State (for example, binary number 10) to instruct the phase interpolator to maintain the phases of the first working clock and the second intermediate clock; when the phase of the input data clock lags the phase of the first working clock and the phase of the second intermediate clock, The above-mentioned second control signal is in the second state (for example, binary number 00) to instruct the phase interpolator to adjust the phase so that the phase of the input data clock leads the phase of the first working clock and lags the phase of the second intermediate clock; when input The phase of the data clock leads the phase of the first working clock and the phase of the second intermediate clock. The second control signal is in a third state (eg, binary number 01) to instruct the phase interpolator to adjust the phase so that the input data The phase of the clock leads the phase of the first working clock and lags the phase of the second intermediate clock. When the frequency of the input data clock shifts, the first working clock and the second intermediate clock shift synchronously, so that the first working clock can follow the phase of the input data clock in real time.
在一种可能的实施方式中,上述数字滤波器对第一控制信号和鉴相结果的滤抖为高频滤抖,其中滤抖后的第一控制信号包括与输入数据时钟的低频抖动相对应的相位变化信息。当相位对齐电路对输入数据时钟进行高频滤抖时,时钟携带的低频抖动可以被保留,并伴随同步数据输出至下游的设备,使得跨时钟域处理电路可以支持传输链路中的特定协议或预设的功能,例如开启和关闭SRIS功能。In a possible implementation manner, the filtering of the first control signal and the phase discrimination result by the digital filter is high-frequency filtering, wherein the filtered first control signal includes a low-frequency jitter corresponding to the input data clock Phase change information. When the phase alignment circuit performs high-frequency filtering and jitter on the input data clock, the low-frequency jitter carried by the clock can be retained and accompanied by synchronous data output to downstream devices, so that the cross-clock domain processing circuit can support specific protocols or Preset functions, such as turning on and off the SRIS function.
在一种可能的实施方式中,上述相位变化信息包括独立时钟扩频信息、独立时钟非扩频信息或同源时钟信息。In a possible implementation manner, the phase change information includes independent clock spreading information, independent clock non-spreading information, or homologous clock information.
在一种可能的实施方式中,上述同步电路包括第一子同步电路和第二子同步电路,其中第一子同步电路用于根据输入数据时钟同步上述输入数据,并将结果输出至第二子同步电路;第二子同步电路根据第一工作时钟同步上述结果,得到上述同步数据。通过两个子同步电路来实现输入数据的同步处理,简化了跨时钟域处理电路的电路结构,节省了硬件面积和功耗。In a possible implementation manner, the synchronization circuit includes a first sub-synchronization circuit and a second sub-synchronization circuit, wherein the first sub-synchronization circuit is used to synchronize the input data according to the input data clock and output the result to the second sub-synchronization circuit Synchronization circuit; the second sub-synchronization circuit synchronizes the above result according to the first working clock to obtain the above synchronization data. The synchronization processing of input data is realized by two sub-synchronization circuits, which simplifies the circuit structure of the processing circuit across clock domains and saves the hardware area and power consumption.
在一种可能的实施方式中,上述第一子同步电路和第二子同步电路均为寄存器,且上述两个子同步电路分别通过输入数据时钟和第一工作时钟对输入数据进行同步。通过寄存器实现子同步电路,使得跨时钟域处理电路的电路复杂程度得到极大的简化,进一步节省硬件面积和功耗。In a possible implementation manner, the first sub-synchronous circuit and the second sub-synchronous circuit are both registers, and the two sub-synchronous circuits synchronize the input data through the input data clock and the first working clock, respectively. Implementing the sub-synchronization circuit through registers greatly simplifies the circuit complexity of the processing circuit across clock domains, further saving hardware area and power consumption.
在一种可能的实施方式中,上述跨时钟域处理电路还包括第一时钟电路,用于向上述相位对齐电路提供上述第一工作时钟。该第一时钟电路提供的第一工作时钟抖动和杂波较少,有利于数据的跨时钟域同步。In a possible implementation manner, the cross-clock domain processing circuit further includes a first clock circuit, configured to provide the first operating clock to the phase alignment circuit. The first clock circuit provides less jitter and clutter on the first working clock, which is beneficial to data synchronization across clock domains.
在一种可能的实施方式中,上述跨时钟域处理电路还包括时钟恢复电路,该时钟恢复电路用于受跨时钟域处理电路的工作时钟的驱动,恢复接收到的输入数据以得到输入数据时钟和第一控制信号,并输出上述输入数据、第一控制信号和输入数据时钟。通过时钟恢复电路对输入数据进行时钟恢复,使得恢复出的时钟可以经过相位调整等处理后再次用于同步输入数据,以实现跨时钟域的处理。In a possible implementation manner, the cross-clock domain processing circuit further includes a clock recovery circuit, the clock recovery circuit is used to be driven by the working clock of the cross-clock domain processing circuit, and recovers the received input data to obtain the input data clock And the first control signal, and output the above input data, the first control signal and the input data clock. The clock recovery circuit performs clock recovery on the input data, so that the recovered clock can be used again to synchronize the input data after phase adjustment and other processing, so as to realize cross-clock domain processing.
在一种可能的实施方式中,上述输入数据为串行数据,且上述跨时钟域处理电路还包括串转并电路,该串转并电路用于将输入数据进行串并转换,并输出经过串并转换后的输 入数据(即并行的输入数据)至上述同步电路。相应的,同步电路中两个子同步电路之间的数据也为并行数据。当跨时钟域处理电路用于处理并行数据,可以提高数据同步的效率。In a possible implementation manner, the input data is serial data, and the cross-clock domain processing circuit further includes a serial-to-parallel circuit. The serial-to-parallel circuit is used to perform serial-to-parallel conversion on the input data and output the serial data. And the converted input data (that is, parallel input data) to the above synchronization circuit. Correspondingly, the data between the two sub-synchronization circuits in the synchronization circuit is also parallel data. When the cross-clock domain processing circuit is used to process parallel data, the efficiency of data synchronization can be improved.
在一种可能的实施方式中,发送端发送输入数据至跨时钟域处理电路,且同步数据输出至接收端,其中存在以下三种情况:其一、上述发送端和跨时钟域处理电路共用一个参考时钟,接收端使用的时钟与上述共用的参考时钟独立;其二、上述接收端和跨时钟域处理电路共用一个参考时钟,发送端的参考时钟与上述共用的参考时钟独立;其三、上述发送端、接收端和跨时钟域处理电路共用一个参考时钟。跨时钟域处理电路的参考时钟可以独立于接收端和发送端,也可以共用参考时钟,使得其时钟信号的配置更加灵活。In a possible implementation manner, the sending end sends input data to the cross-clock domain processing circuit, and the synchronous data is output to the receiving end, in which there are three cases: First, the sending end and the cross-clock domain processing circuit share one Reference clock, the clock used by the receiving end is independent of the above-mentioned common reference clock; second, the receiving end and the cross-clock domain processing circuit share a reference clock, the reference clock of the sending end is independent of the above-mentioned common reference clock; third, the above-mentioned sending The end, the receiver, and the cross-clock domain processing circuit share a reference clock. The reference clock of the cross-clock domain processing circuit can be independent of the receiving end and the sending end, and can also share the reference clock, making its clock signal configuration more flexible.
第二方面,本申请实施例提供一种重定时器,用于对传输链路中的N路输入数据进行中继。该重定时器包括相位对齐电路和N个同步电路(N≥1且N为正整数),其中相位对齐电路用于根据第一控制信号调整第一工作时钟的相位,以使得上述两个时钟相位对齐,并将输入数据时钟和调整后的第一工作时钟输出至N个同步电路,使得N个同步电路可以根据上述两个时钟对N路输入数据进行跨时钟域同步,以产生N路同步数据,即,将处于输入数据时钟的时钟域的N路输入数据同步至输出数据时钟的时钟域。其中,第一工作时钟的频率与输入数据时钟的频率相等,且该第一工作时钟为重定时器的工作时钟,或者与重定时器使用同一个参考时钟,上述输入数据时钟为根据N路输入数据恢复出的N个恢复时钟时钟中的一个恢复时钟,例如通过时钟恢复电路从N路输入数据中恢复出N个恢复数据时钟,并选择其中一个恢复时钟作为上述输入数据时钟。上述第一控制信号同样为根据N路输入数据恢复出的N个控制信号中的一个控制信号,且该第一控制信号包括输入数据时钟的相位变化信息。In a second aspect, an embodiment of the present application provides a retimer for relaying N input data in a transmission link. The retimer includes a phase alignment circuit and N synchronization circuits (N≥1 and N is a positive integer), wherein the phase alignment circuit is used to adjust the phase of the first working clock according to the first control signal, so that the above two clock phases Align, and output the input data clock and the adjusted first working clock to N synchronization circuits, so that N synchronization circuits can synchronize N channels of input data across clock domains according to the above two clocks to generate N channels of synchronized data That is, the N input data in the clock domain of the input data clock is synchronized to the clock domain of the output data clock. Wherein, the frequency of the first working clock is equal to the frequency of the input data clock, and the first working clock is the working clock of the retimer, or uses the same reference clock as the retimer, and the above input data clock is based on the N input One of the N recovered clock clocks recovered from the data, for example, N recovered data clocks are recovered from the N input data through a clock recovery circuit, and one of the recovered clocks is selected as the input data clock. The first control signal is also one of the N control signals recovered from the N input data, and the first control signal includes phase change information of the input data clock.
由于重定时器将上述N路输入数据恢复出的控制信号作为参考用来调整本地时钟的相位(即第一工作时钟),使得调整后的本地时钟能够实时跟随输入数据时钟的相位,以作为同步电路的时钟,因此节省了弹性缓冲器所占用的硬件资源,使得数据通过重定时器的时间更短,从而降低了重定时器处理数据的延时,提高了数据传输的效率。Since the retimer uses the control signal recovered from the N input data as a reference to adjust the phase of the local clock (ie, the first working clock), the adjusted local clock can follow the phase of the input data clock in real time as a synchronization The clock of the circuit thus saves the hardware resources occupied by the elastic buffer, makes the time for the data to pass through the retimer shorter, thereby reducing the delay in processing data by the retimer, and improving the efficiency of data transmission.
在一种可能的实施方式中,上述相位对齐电路包括鉴相器、数字滤波器和相位插值器,其中鉴相器用于对输入数据时钟和输出数据时钟进行鉴相,数字滤波器用于将鉴相的结果和第一控制信号进行滤抖,并将滤抖后的结果作为第二控制信号输出,相位插值器用于根据该第二控制信号调整第一工作时钟的相位,使得第一工作时钟和输入数据时钟相位对齐,并将调整后的第一工作时钟作为输出数据时钟输出至N个同步电路和鉴相器。通过对第一工作时钟进行上述处理,使得该第一工作时钟信号的抖动被滤除,并跟踪原输入数据时钟的相位,从而以较少的硬件资源产生相位跟踪输入数据时钟的、用于同步的时钟。In a possible implementation manner, the phase alignment circuit includes a phase discriminator, a digital filter, and a phase interpolator, where the phase discriminator is used to discriminate the input data clock and the output data clock, and the digital filter is used to discriminate the phase And the first control signal are filtered, and the filtered result is output as the second control signal. The phase interpolator is used to adjust the phase of the first operating clock according to the second control signal, so that the first operating clock and the input The data clocks are phase-aligned, and the adjusted first working clock is output as the output data clock to N synchronization circuits and phase detectors. By performing the above processing on the first working clock, the jitter of the first working clock signal is filtered out, and the phase of the original input data clock is tracked, so that the phase tracking input data clock is generated with less hardware resources for synchronization Clock.
在一种可能的实施方式中,上述相位插值器在调整上述第一工作时钟和第二中间时钟的相位时,使得第一工作时钟与输入数据时钟的相位差等于输入数据时钟与第二中间时钟的相位差。当第一工作时钟与第二中间时钟的相位差较小时,相位插值器产生的调整后的第一工作时钟能够更好地与输入数据时钟相位对齐。In a possible implementation manner, when the phase interpolator adjusts the phases of the first operating clock and the second intermediate clock, the phase difference between the first operating clock and the input data clock is equal to the input data clock and the second intermediate clock 'S phase difference. When the phase difference between the first working clock and the second intermediate clock is small, the adjusted first working clock generated by the phase interpolator can better align with the phase of the input data clock.
在一种可能的实施方式中,上述相位插值器进一步用于:根据第一工作时钟产生第二中间时钟,且第一工作时钟与第二中间时钟的相位差为预设的相位差;根据上述第二控制信号调整上述第一工作时钟和第二中间时钟的相位,使得输入数据时钟的相位超前于第一 工作时钟的相位且落后于第二中间时钟的相位。其中,鉴相器还进一步用于对上述输入数据时钟、输出数据时钟(即调整后的第一工作时钟)和第二中间时钟进行鉴相,以确定上述三个时钟的相位关系,输出鉴相结果。通过上述相位调整,相位插值器可以使输入数据时钟的上升沿始终保持在第一工作时钟的上升沿和第二中间时钟的上升沿之间,以达到相位对齐的目的,从而能够用于同步上述输入数据。In a possible implementation manner, the above-mentioned phase interpolator is further used to: generate a second intermediate clock according to the first working clock, and the phase difference between the first working clock and the second intermediate clock is a preset phase difference; The second control signal adjusts the phases of the first working clock and the second intermediate clock so that the phase of the input data clock leads the phase of the first working clock and lags the phase of the second intermediate clock. Wherein, the phase detector is further used to phase-detect the input data clock, the output data clock (that is, the adjusted first working clock) and the second intermediate clock to determine the phase relationship of the three clocks, and output the phase detector result. Through the above phase adjustment, the phase interpolator can keep the rising edge of the input data clock always between the rising edge of the first working clock and the rising edge of the second intermediate clock to achieve the purpose of phase alignment, which can be used to synchronize the above Input data.
在一种可能的实施方式中,上述相位插值器进一步用于:当输入数据时钟的相位超前于第一工作时钟的相位且落后于第二中间时钟的相位时,上述第二控制信号处于第一状态(例如二进制数10),以指示相位插值器保持第一工作时钟和第二中间时钟的相位;当输入数据时钟的相位落后于第一工作时钟的相位且落后于第二中间时钟的相位,上述第二控制信号处于第二状态(例如二进制数00),以指示相位插值器调整相位,使得输入数据时钟的相位超前于第一工作时钟的相位且落后与第二中间时钟的相位;当输入数据时钟的相位超前于第一工作时钟的相位且超前于第二中间时钟的相位,上述第二控制信号处于第三状态(例如二进制数01),以指示相位插值器调整相位,以使得输入数据时钟的相位超前于第一工作时钟的相位且落后与第二中间时钟的相位。当输入数据时钟发生频率偏移时,第一工作时钟和第二中间时钟同步发生偏移,以使得第一工作时钟能够实时跟随输入数据时钟的相位。In a possible implementation manner, the above-mentioned phase interpolator is further used: when the phase of the input data clock leads the phase of the first working clock and lags the phase of the second intermediate clock, the second control signal is in the first State (for example, binary number 10) to instruct the phase interpolator to maintain the phases of the first working clock and the second intermediate clock; when the phase of the input data clock lags the phase of the first working clock and the phase of the second intermediate clock, The above-mentioned second control signal is in the second state (for example, binary number 00) to instruct the phase interpolator to adjust the phase so that the phase of the input data clock leads the phase of the first working clock and lags the phase of the second intermediate clock; when input The phase of the data clock leads the phase of the first working clock and the phase of the second intermediate clock. The second control signal is in a third state (eg, binary number 01) to instruct the phase interpolator to adjust the phase so that the input data The phase of the clock leads the phase of the first working clock and lags the phase of the second intermediate clock. When the frequency of the input data clock shifts, the first working clock and the second intermediate clock shift synchronously, so that the first working clock can follow the phase of the input data clock in real time.
在一种可能的实施方式中,上述N个同步电路中的每个同步电路均包括一个第一子同步电路和一个第二子同步电路,其中第一子同步电路用于根据输入数据时钟同步上述N路输入数据中的一路,并将结果输出至第二子同步电路;第二子同步电路根据第一工作时钟同步上述结果,得到上述同步数据中的一路同步数据。通过两个子同步电路来实现输入数据的同步处理,简化了重定时器的电路结构,节省了硬件面积和功耗。In a possible implementation manner, each of the N synchronization circuits includes a first sub-synchronization circuit and a second sub-synchronization circuit, where the first sub-synchronization circuit is used to synchronize the above according to the input data clock One of the N input data, and output the result to the second sub-synchronization circuit; the second sub-synchronization circuit synchronizes the result according to the first working clock to obtain one channel of the synchronization data. The synchronization processing of the input data is realized by two sub-synchronization circuits, which simplifies the circuit structure of the retimer and saves the hardware area and power consumption.
在一种可能的实施方式中,上述第一子同步电路和第二子同步电路均为寄存器,且上述两个子同步电路分别通过输入数据时钟和第一工作时钟对输入数据进行同步。通过寄存器实现子同步电路,使得重定时器的电路复杂程度得到极大的简化,进一步节省硬件面积和功耗。In a possible implementation manner, the first sub-synchronous circuit and the second sub-synchronous circuit are both registers, and the two sub-synchronous circuits synchronize the input data through the input data clock and the first working clock, respectively. The realization of the sub-synchronous circuit through the register greatly simplifies the circuit complexity of the retimer, and further saves the hardware area and power consumption.
在一种可能的实施方式中,上述重定时器还包括第一时钟电路,用于向上述相位对齐电路提供上述第一工作时钟。该第一时钟电路提供的第一工作时钟抖动和杂波较少,有利于数据的跨时钟域同步。In a possible implementation manner, the retimer further includes a first clock circuit, configured to provide the first operating clock to the phase alignment circuit. The first clock circuit provides less jitter and clutter on the first working clock, which is beneficial to data synchronization across clock domains.
在一种可能的实施方式中,上述数字滤波器对第一控制信号和鉴相结果的滤抖为高频滤抖,其中滤抖后的第一控制信号包括与输入数据时钟的低频抖动相对应的相位变化信息。当相位对齐电路对输入数据时钟进行高频滤抖时,时钟携带的低频抖动可以被保留,并伴随同步数据输出至下游的设备,使得重定时器可以支持传输链路中的特定协议或预设的功能,例如开启和关闭SRIS功能。In a possible implementation manner, the filtering of the first control signal and the phase discrimination result by the digital filter is high-frequency filtering, wherein the filtered first control signal includes a low-frequency jitter corresponding to the input data clock Phase change information. When the phase alignment circuit performs high-frequency filtering and jitter on the input data clock, the low-frequency jitter carried by the clock can be retained and accompanied by synchronized data output to downstream devices, so that the retimer can support a specific protocol or preset in the transmission link Functions, such as turning SRIS on and off.
在一种可能的实施方式中,上述相位变化信息包括独立时钟扩频信息、独立时钟非扩频信息或同源时钟信息。In a possible implementation manner, the phase change information includes independent clock spreading information, independent clock non-spreading information, or homologous clock information.
在一种可能的实施方式中,上述重定时器还包括N个时钟恢复电路,用于分别受重定时器的第一工作时钟的驱动,恢复接收到的N路输入数据以得到上述N个恢复数据时钟和N个控制信号,并输出上述N路输入数据、N个控制信号和N个恢复数据时钟。通过时钟恢复电路对 输入数据进行时钟恢复,使得恢复出的时钟可以经过滤抖等处理后再次用于同步输入数据,以实现跨时钟域的处理。In a possible implementation manner, the retimer further includes N clock recovery circuits, which are respectively driven by the first working clock of the retimer, and recover the received N input data to obtain the N recovery Data clock and N control signals, and output the above-mentioned N input data, N control signals and N recovered data clocks. The clock recovery circuit performs clock recovery on the input data, so that the recovered clock can be used again to synchronize the input data after filtering and jittering, so as to realize the processing across clock domains.
在一种可能的实施方式中,上述N路输入数据为N路串行输入数据,且上述重定时器还包括N个串转并电路,其中上述N个串转并电路用于分别对N路输入数据进行串并转换,并输出转后的结果(即N路并行数据)至上述N个同步电路。通过对数据进行串行转并行的转换,可以将传输链路中的高速串行数据转换为并行数据,提高重定时器对数据处理的效率,节省数据处理时间。In a possible implementation manner, the N input data is N serial input data, and the retimer further includes N serial-parallel circuits, wherein the N serial-parallel circuits are used for N channels The input data is subjected to serial-to-parallel conversion, and the converted result (ie, N parallel data) is output to the N synchronization circuits. By serial-to-parallel conversion of data, high-speed serial data in the transmission link can be converted into parallel data, which improves the efficiency of data processing by the retimer and saves data processing time.
在一种可能的实施方式中,上述重定时器还包括N个并转串电路,且上述N路同步数据为N路并行数据,其中上述N个并转串电路用于分别对N路同步数据进行并行转串行的转换,并输出转换后的结果。通过对数据进行并行转串的转换,可以将处理(同步)后的数据重新转换为高速的串行信号,提高重定时器对数据处理的效率,节省数据处理时间。In a possible implementation manner, the retimer further includes N parallel-to-serial circuits, and the N synchronization data is N parallel data, wherein the N parallel-to-serial circuits are used to separately synchronize N channels of data Perform parallel-to-serial conversion and output the converted result. By performing parallel-to-serial conversion on the data, the processed (synchronized) data can be converted back to a high-speed serial signal, improving the efficiency of the data processing by the retimer and saving data processing time.
在一种可能的实施方式中,上述重定时器还包括N个数据处理电路和N个数据选择器,其中N个数据处理电路的输入端分别与N个时钟恢复电路的输出端耦合,N个数据处理电路的输出端分别与N个数据选择器的输入端耦合,N个数据处理电路用于分别对接收的N路输入数据进行解码、解扰、同步、加扰和编码;对于每一个相互耦合的数据处理电路、时钟恢复电路和数据选择器,数据选择器的两个输入端分别与时钟恢复电路的输出端和数据处理电路的输出端耦合,而数据选择器的输出端与同步电路的输出端耦合。可以通过额外的控制信号来控制数据选择器,从而选择上述两个输入端中接收的两路数据信号的其中一路作为输出。在重定时器中,数据可以通过数据选择器直接进行跨时钟域的同步,也可以先进过数据处理电路的处理后,再通过数据选择器进行跨时钟域的同步,使得重定时器处理输入数据的方式更加灵活,可以根据不同的传输协议选择是否直通数据,从而提高中继数据的效率。In a possible implementation manner, the retimer further includes N data processing circuits and N data selectors, wherein the input terminals of the N data processing circuits are respectively coupled to the output terminals of the N clock recovery circuits, and N The output end of the data processing circuit is respectively coupled with the input ends of the N data selectors. The N data processing circuits are used to decode, descramble, synchronize, scramble, and encode the received N input data, respectively. The coupled data processing circuit, clock recovery circuit and data selector, the two input terminals of the data selector are respectively coupled with the output terminal of the clock recovery circuit and the output terminal of the data processing circuit, and the output terminal of the data selector is connected with the synchronization circuit Output coupling. The data selector can be controlled by an additional control signal to select one of the two data signals received at the two input terminals as an output. In the retimer, data can be directly synchronized across the clock domain through the data selector, or it can be advanced through the processing of the data processing circuit, and then synchronized across the clock domain through the data selector, so that the retimer processes input data The method is more flexible, you can choose whether to pass data according to different transmission protocols, thereby improving the efficiency of relaying data.
在一种可能的实施方式中,发送端发送输入数据至重定时器,且同步数据输出至接收端,其中存在以下三种情况:其一、上述发送端和重定时器共用一个参考时钟,接收端使用的时钟与上述共用的参考时钟独立;其二、上述接收端和重定时器共用一个参考时钟,发送端的参考时钟与上述共用的参考时钟独立;其三、上述发送端、接收端和重定时器共用一个参考时钟。重定时器的参考时钟可以独立于接收端和发送端,也可以共用参考时钟,使得其时钟信号的配置更加灵活。In a possible implementation manner, the sending end sends input data to the retimer, and the synchronous data is output to the receiving end, in which there are three cases: First, the sending end and the retimer share a reference clock, and receive The clock used by the terminal is independent of the above-mentioned common reference clock; second, the receiving terminal and the retimer share a reference clock, and the reference clock of the transmitting end is independent of the above-mentioned shared reference clock; third, the transmitting end, the receiving end and the re-timer The timers share a reference clock. The reference clock of the retimer can be independent of the receiving end and the sending end, and can also share the reference clock, making its clock signal configuration more flexible.
在一种可能的实施方式中,上述重定时器为多通道的重定时器,其中N≥2,且N为正整数。通过增加重定时器中同步电路、时钟恢复电路等电路的数量,使得重定时器可以同时对多路输入数据进行处理,从而进一步提高重定时器中继数据的效率。In a possible implementation manner, the retimer is a multi-channel retimer, where N≥2, and N is a positive integer. By increasing the number of synchronization circuits, clock recovery circuits and other circuits in the retimer, the retimer can process multiple input data at the same time, thereby further improving the efficiency of the retimer to relay data.
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。In order to more clearly explain the embodiments of the present application or the technical solutions in the prior art, the following will briefly introduce the drawings required in the description of the embodiments or the prior art.
图1为现有技术中的一种重定时器。Figure 1 is a retimer in the prior art.
图2为本申请实施例中一种重定时器。FIG. 2 is a retimer in the embodiment of the present application.
图3为本申请实施例中一种具体的重定时器。FIG. 3 is a specific retimer in the embodiment of the present application.
图4为本申请实施例中一种更为具体的重定时器。FIG. 4 is a more specific retimer in the embodiment of the present application.
图5(a)为本申请实施例中相位插值器的一种时序图;5(a) is a timing diagram of a phase interpolator in an embodiment of this application;
图5(b)为本申请实施例中相位插值器的另一种时序图;5(b) is another timing diagram of the phase interpolator in the embodiment of the present application;
图5(c)为本申请实施例中相位插值器的又一种时序图。FIG. 5(c) is another timing diagram of the phase interpolator in the embodiment of the present application.
图6为本申请实施例中一种同步电路。FIG. 6 is a synchronization circuit in an embodiment of the present application.
图7为本申请实施例中一种更为具体的重定时器。FIG. 7 is a more specific retimer in the embodiment of the present application.
图8为本申请实施例中一种数据处理电路。FIG. 8 is a data processing circuit in an embodiment of the present application.
图9为本申请实施例中一种多通道重定时器。FIG. 9 is a multi-channel retimer in an embodiment of the present application.
主要附图标记:重定时器300;数据接收电路310;时钟恢复电路312;串转并电路314;均衡器316;第二时钟电路318;数据发送电路320;相位对齐电路330;鉴相器332;数字滤波器334;相位插值器336;第一时钟电路335;同步电路340;并转串电路370。Main reference signs: retimer 300; data receiving circuit 310; clock recovery circuit 312; serial parallel circuit 314; equalizer 316; second clock circuit 318; data transmission circuit 320; phase alignment circuit 330; phase detector 332 Digital filter 334; phase interpolator 336; first clock circuit 335; synchronization circuit 340; parallel-to-serial circuit 370.
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。The technical solutions in the embodiments of the present application will be described clearly and completely with reference to the drawings in the embodiments of the present application.
为解决重定时器延时较大的问题,本申请实施例提供如图2所示的一种重定时器300。该重定时器300设置于第一设备210和第二设备220之间的高速串行通信链路上。该通信链路可以为采用PCIe(Peripheral Component Interface Express,外设总线接口)、以太网(Ethernet)、以及SATA(Serial Advanced Technology Attachment,串行高级技术附件)、SAS(Serial Attached SCSI,串行连接SCSI接口)、USB(Universal Serial Bus,通用串行总线)等协议的通信链路。重定时器300用于中继数据信号,例如通过内部的时钟重构信号,使数据信号的传输能量增加。重定时器300还可以用于滤除上述通信链路中的抖动。上述数据信号可以是从第一设备210发送给第二设备220的数据信号,也可以是第二设备220发送给第一设备210的数据信号。上述第一设备和第二设备可以包括终端设备,例如手机、平板电脑;也可以包括服务器设备,或通信基站;或者包括设置于两个独立的PCB(Printed Circuit Board,印制电路板)上的电路。To solve the problem of a large delay of the retimer, an embodiment of the present application provides a retimer 300 as shown in FIG. 2. The retimer 300 is set on the high-speed serial communication link between the first device 210 and the second device 220. The communication link can use PCIe (Peripheral Component Interface, peripheral bus interface), Ethernet (Ethernet), and SATA (Serial Advanced Technology Attachment), SAS (Serial Attached SCSI), serial connection (SCSI interface), USB (Universal Serial Bus, universal serial bus) and other protocol communication links. The retimer 300 is used to relay the data signal, for example, to reconstruct the signal by an internal clock, so that the transmission energy of the data signal increases. The retimer 300 can also be used to filter out the jitter in the above communication link. The above data signal may be a data signal sent from the first device 210 to the second device 220, or may be a data signal sent by the second device 220 to the first device 210. The first device and the second device may include terminal devices, such as mobile phones and tablet computers; they may also include server devices or communication base stations; or include two independent PCBs (Printed Circuit Board). Circuit.
如图3所示的是重定时器300的一种具体的实施方式。重定时器300包括接收电路310和发送电路320,其中接收电路310包括时钟恢复电路312和串转并电路314,该时钟恢复电路312用于根据其参考时钟的驱动,将接收的串行数据(输入数据)进行时钟恢复,以得到输入数据时钟和第一控制信号,同时输出上述串行数据,以及恢复出的输入数据时钟和第一控制信号,上述参考时钟可以是接收电路310的工作时钟,该第一控制信号包括输入数据时钟的相位变化信息。上述串转并电路314用于将该串行数据转换为并行数据并输出该并行数据。其中接收电路310的工作时钟可以根据重定时器300的参考时钟确定。时钟恢复电路312可以通过检测串行数据的相位来实现时钟的恢复,时钟恢复电路312有多种实现方式,例如使用无源滤波器和限幅放大器实现,使用窄频再生分频器,使用同步振荡器实现,或者使用锁相环等。As shown in FIG. 3, a specific implementation of the retimer 300 is shown. The retimer 300 includes a receiving circuit 310 and a transmitting circuit 320, wherein the receiving circuit 310 includes a clock recovery circuit 312 and a serial parallel circuit 314, the clock recovery circuit 312 is used to drive the received serial data according to the drive of its reference clock ( Input data) to perform clock recovery to obtain the input data clock and the first control signal, and simultaneously output the above serial data, and the recovered input data clock and the first control signal, the reference clock may be the working clock of the receiving circuit 310, The first control signal includes phase change information of the input data clock. The serial-parallel conversion circuit 314 is used to convert the serial data into parallel data and output the parallel data. The working clock of the receiving circuit 310 can be determined according to the reference clock of the retimer 300. The clock recovery circuit 312 can recover the clock by detecting the phase of the serial data. The clock recovery circuit 312 can be implemented in various ways, such as using a passive filter and a limiting amplifier, using a narrow-band regenerative divider, and using synchronization Oscillator implementation, or use a phase-locked loop, etc.
发送电路320用于对接收电路310输出的并行数据进行跨时钟域同步,并将同步后的并行数据转换为串行数据输出至第二设备220。具体来说,发送电路320包括相位对齐电路330、同步电路340和并转串电路370。相位对齐电路330用于接收输入数据时钟和第一工作时钟,根据上述第一控制信号来调整第一工作时钟的相位,使得调整后的第一工作时 钟的相位与输入数据时钟的相位对齐,同时将调整后的第一工作时钟作为输出数据时钟输出至同步电路340。其中,上述输入数据时钟为时钟恢复电路312根据输入数据恢复出的时钟,而上述第一控制信号同样为时钟恢复电路312根据输入数据恢复出的信息,该信息可以作为控制信号,控制相位对齐电路330调整第一工作时钟的相位。上述第一工作时钟为与输入数据时钟独立的时钟,为重定时器300中发送电路320的工作时钟,且第一工作时钟的频率与输入数据时钟的频率相等。需要注意的是,上述第一工作时钟,即发送电路320的工作时钟与接收电路310的工作时钟(即下文的第二工作时钟)为独立的工作时钟,但可以采用同一参考时钟(reference clock)或采用的不同参考时钟。The sending circuit 320 is used for synchronizing the parallel data output by the receiving circuit 310 across clock domains, and converting the synchronized parallel data into serial data and outputting it to the second device 220. Specifically, the transmission circuit 320 includes a phase alignment circuit 330, a synchronization circuit 340, and a parallel-to-serial circuit 370. The phase alignment circuit 330 is used to receive the input data clock and the first working clock, adjust the phase of the first working clock according to the first control signal, so that the adjusted phase of the first working clock is aligned with the phase of the input data clock, and The adjusted first working clock is output to the synchronization circuit 340 as an output data clock. The input data clock is the clock recovered by the clock recovery circuit 312 from the input data, and the first control signal is also the information recovered by the clock recovery circuit 312 from the input data. This information can be used as a control signal to control the phase alignment circuit 330 Adjust the phase of the first working clock. The above-mentioned first working clock is a clock independent of the input data clock, and is the working clock of the transmitting circuit 320 in the retimer 300, and the frequency of the first working clock is equal to the frequency of the input data clock. It should be noted that the above first working clock, that is, the working clock of the sending circuit 320 and the working clock of the receiving circuit 310 (that is, the second working clock below) are independent working clocks, but the same reference clock (reference clock) may be used Or use different reference clocks.
同步电路340用于根据上述输入数据时钟,以及上述输出数据时钟,对时钟恢复电路312产生的上述并行数据进行跨时钟域的同步,并产生同步数据,其中该同步数据处于输出数据时钟的时钟域。由于接收电路310中的数据处于输入数据时钟的时钟域,而发送电路320中的数据处于输出数据时钟的时钟域,因此同步电路340将上述并行数据从输入数据时钟的时钟域同步至输出数据时钟的时钟域。并转串电路370用于将接收的上述同步数据转换为串行输出数据,并输出该串行输出数据至第二设备220。上述高频分量的抖动包括高速串行通信链路产生的高频抖动,以及时钟恢复电路312在恢复时钟时产生的高频抖动。The synchronization circuit 340 is configured to synchronize the parallel data generated by the clock recovery circuit 312 across clock domains according to the input data clock and the output data clock, and generate synchronized data, where the synchronized data is in the clock domain of the output data clock . Since the data in the receiving circuit 310 is in the clock domain of the input data clock and the data in the transmitting circuit 320 is in the clock domain of the output data clock, the synchronization circuit 340 synchronizes the parallel data from the clock domain of the input data clock to the output data clock Clock domain. The parallel-to-serial circuit 370 is used to convert the received synchronization data into serial output data, and output the serial output data to the second device 220. The jitter of the high-frequency component includes high-frequency jitter generated by the high-speed serial communication link, and high-frequency jitter generated by the clock recovery circuit 312 when recovering the clock.
需要注意的是,本申请中高频抖动和高频滤抖中的“高频”应为本领域技术人员熟知的概念。对于频率不同的时钟信号,本申请中“高频”的范围会有所不同。例如,对于频率为f=100MHz的时钟信号,其携带的频率大于0.5f的抖动都应该认为是高频抖动;相应的,高频滤抖为滤除频率大于0.5f的抖动。更为具体的,本申请实施例提供的相位对齐电路330可以对100MHz的时钟信号进行高频滤抖,则该时钟信号携带的频率高于500KHz的抖动均会被滤除。相应的,低频抖动为频率小于0.5f的抖动。再比如,对于频率为f=1GHz的时钟信号,其携带的频率大于0.05f的抖动都应该认为是高频抖动,而低于0.05f的抖动都应该认为是低频抖动。此外,本申请中的相位对齐可以理解为,两个时钟信号的上升沿的相位差为一个固定值,例如相位差保持-1°、保持0°或者保持1°;也可以理解为,两个时钟信号的上升沿的相位差保持在一定范围内。It should be noted that the “high frequency” in the high-frequency jitter and high-frequency filtering in the present application should be a concept well known to those skilled in the art. For clock signals with different frequencies, the scope of "high frequency" in this application will be different. For example, for a clock signal with a frequency of f=100MHz, jitters with a frequency greater than 0.5f should be considered high-frequency jitter; correspondingly, high-frequency jitter filtering is to remove jitters with a frequency greater than 0.5f. More specifically, the phase alignment circuit 330 provided in the embodiment of the present application can perform high-frequency filtering and jittering on a 100 MHz clock signal, and all jitters with a frequency higher than 500 KHz carried by the clock signal will be filtered out. Correspondingly, low frequency jitter is jitter with a frequency less than 0.5f. As another example, for a clock signal with a frequency of f=1 GHz, jitters with a frequency greater than 0.05f should be considered high-frequency jitter, and jitters below 0.05f should be considered low-frequency jitter. In addition, the phase alignment in this application can be understood as that the phase difference of the rising edges of the two clock signals is a fixed value, for example, the phase difference remains -1°, 0°, or 1°; it can also be understood that the two The phase difference of the rising edge of the clock signal is kept within a certain range.
上述第一工作时钟为重定时器的工作时钟,即该时钟为抖动较少的本地时钟。重定时器300将从输入数据恢复出的上述第一控制信号用来调整本地时钟的相位,使得调整后的本地时钟能够实时跟随输入数据时钟的相位,以作为同步电路340的时钟,重定时器300在中继数据时无需通过弹性缓冲器来同步时钟域,使得数据通过重定时器300的时间更短,从而降低了重定时器300处理数据的延时,尤其是数据在跨时钟域时的延迟,提高了数据传输的效率。The first working clock is the working clock of the retimer, that is, the clock is a local clock with less jitter. The retimer 300 uses the first control signal recovered from the input data to adjust the phase of the local clock, so that the adjusted local clock can follow the phase of the input data clock in real time to serve as the clock of the synchronization circuit 340. The retimer When relaying data, 300 does not need to synchronize the clock domain through the elastic buffer, making the time for the data to pass through the retimer 300 shorter, thereby reducing the delay of the retimer 300 to process data, especially when the data crosses the clock domain Delay improves the efficiency of data transmission.
如图4所示的是上述相位对齐电路330的一种具体的实施方式。相位对齐电路330包括鉴相器(Phase Detector,PD)332、数字滤波器(Digital Filter)334和相位插值器(Phase Interpolator,PI)336。鉴相器332用于将上述输出数据时钟和输入数据时钟进行鉴相,即鉴别出上述两个时钟的相位关系,并输出鉴相的结果。数字滤波器334用于对上述鉴相结果和上述第一控制信号进行滤抖,并将滤抖后的结果作为第二控制信号输出给相位插值器336。数字滤波器334可以先将上述鉴相结果和上述第一控制信号叠加以后,进行滤抖,并作为第二控制信号输出;也可以先将上述鉴相结果和上述第一控制信号滤抖 以后,再进行叠加,并作为第二控制信号输出。在一种实施方式中,数字滤波器334对高频抖动不做响应,只对低频抖动进行响应,即只滤除高频抖动,同时保留低频抖动,上述低频抖动可以携带输入数据时钟的频率或相位变化的信息。相位插值器336用于根据第二控制信号调整上述第一工作时钟的相位,使得该第一工作时钟与输入数据时钟相位对齐,并将调整后的第一工作时钟作为上述输出数据时钟输出至同步电路340和鉴相器332。As shown in FIG. 4, a specific implementation manner of the above-mentioned phase alignment circuit 330 is shown. The phase alignment circuit 330 includes a phase detector (Phase Detector, PD) 332, a digital filter (Digital) Filter 334, and a phase interpolator (Phase Interpolator, PI) 336. The phase discriminator 332 is used to discriminate the output data clock and the input data clock, that is, discriminate the phase relationship between the two clocks, and output the phase discrimination result. The digital filter 334 is used to filter and shake the phase discrimination result and the first control signal, and output the filtered result to the phase interpolator 336 as the second control signal. The digital filter 334 may first superimpose the phase discrimination result and the first control signal, perform filtering and dithering, and output it as a second control signal; or it may first filter and dither the phase discrimination result and the first control signal, Then superimpose and output as the second control signal. In one embodiment, the digital filter 334 does not respond to high-frequency jitter, but only responds to low-frequency jitter, that is, filters out only high-frequency jitter, while retaining low-frequency jitter, which can carry the frequency of the input data clock or Phase change information. The phase interpolator 336 is used to adjust the phase of the first working clock according to the second control signal, so that the first working clock and the input data clock are phase aligned, and output the adjusted first working clock as the output data clock to the synchronization Circuit 340 and phase detector 332.
具体来说,相位插值器336先根据第一工作时钟的相位产生第二中间时钟,该第二中间时钟与第一工作时钟的相位差为一预设的固定相位差;其次鉴相器332对上述输出数据时钟、第二中间时钟和输入数据时钟进行鉴相,以确定这三个时钟信号之间的相位关系,并输出经过鉴相的结果,数字滤波器334将该鉴相结果进行滤波,同时将第一控制信号进行滤波,并将上述两个滤波后的结果叠加,将叠加后的信号作为第二控制信号输出至相位插值器336,上述滤波为滤除信号中的抖动;相位插值器336根据上述第二控制信号调整上述第一工作时钟和第二中间时钟的相位,使得输入数据时钟的相位超前于第一工作时钟的相位且落后于所述第二中间时钟的相位,并将调整后的第一工作时钟作为输出数据时钟输出至同步电路340和鉴相器332。Specifically, the phase interpolator 336 first generates a second intermediate clock according to the phase of the first working clock, and the phase difference between the second intermediate clock and the first working clock is a preset fixed phase difference; The above-mentioned output data clock, second intermediate clock and input data clock perform phase discrimination to determine the phase relationship between the three clock signals, and output the result of phase discrimination, and the digital filter 334 filters the phase discrimination result. At the same time, the first control signal is filtered, and the above two filtered results are superimposed, and the superimposed signal is output as the second control signal to the phase interpolator 336, and the filtering is to filter out jitter in the signal; the phase interpolator 336 Adjust the phases of the first working clock and the second intermediate clock according to the second control signal so that the phase of the input data clock leads the phase of the first working clock and lags the phase of the second intermediate clock, and adjust The first working clock after that is output as the output data clock to the synchronization circuit 340 and the phase detector 332.
上述第一控制信号为时钟恢复电路312恢复出的控制信号。具体来说,时钟恢复电路312在对输入数据进行时钟恢复的同时,恢复出上述第一控制信号,该第一控制信号包括与上述输入数据时钟中包含的抖动相对应的相位变化信息,也就是说,该第一控制信号可以指示输入数据时钟的相位变化的情况。在一种实施方式中,上述第一控制信号包括输入数据时钟的低频抖动信息,该低频抖动也称为低频偏移(wander),通常为扩频时钟(Spread Spectrum Clock,扩频时钟)信息,或称为非同源时钟(Separated Reference Clock)信息,例如独立时钟扩频信息,也可以为独立时钟非扩频信息;上述低频抖动还可以为同源时钟(Common Reference Clock)信息;同时该第一控制信号还包括输入数据时钟的高频抖动信息,该高频抖动信息通常来自时钟恢复电路312产生的、以及链路产生的高频噪声(或高频抖动)。因此,数字滤波器334还用于将第一控制信号和上述鉴相结果进行高频滤抖,以滤除高频噪声,保留与上述输入数据时钟的低频抖动相对应的相位变化信息。The first control signal is the control signal recovered by the clock recovery circuit 312. Specifically, the clock recovery circuit 312 recovers the above-mentioned first control signal while clock-recovering the input data, the first control signal includes phase change information corresponding to the jitter contained in the above-mentioned input data clock, that is, That is to say, the first control signal can indicate the phase change of the input data clock. In one embodiment, the first control signal includes low-frequency jitter information of the input data clock. The low-frequency jitter is also called low-frequency offset (wander), which is usually spread-spectrum clock (Spread Spectrum Clock) information. Or called non-homologous clock (Separated Clock) information, such as independent clock spread spectrum information, it can also be independent clock non-spread spectrum information; the above-mentioned low frequency jitter can also be homogenous clock (Common) Reference Clock information; at the same time A control signal also includes high-frequency jitter information of the input data clock, which usually comes from high-frequency noise (or high-frequency jitter) generated by the clock recovery circuit 312 and generated by the link. Therefore, the digital filter 334 is also used to perform high-frequency filtering and dithering on the first control signal and the phase discrimination result to filter out high-frequency noise, and retain phase change information corresponding to the low-frequency jitter of the input data clock.
如图4所示,上述重定时器300还包括第二时钟电路318和第一时钟电路335,其中第二时钟电路318用于根据参考时钟产生第二工作时钟,并将该第二工作时钟输出至时钟恢复电路312,使得时钟恢复电路312从输入数据中恢复出时钟信号;第一时钟电路335用于根据参考时钟产生第一工作时钟,并将该第一工作时钟输出至相位对齐电路330,以产生输出数据时钟。上述第一工作时钟为发送电路320中的第一时钟电路335产生的工作时钟,且第一时钟电路335产生的第一工作时钟的频率与输入数据时钟的频率相等。需要注意的是,本实施例中的第二时钟电路318和第一时钟电路335为独立的时钟电路,上述两个时钟电路可以为锁相环(Phase Locked Loop,PLL)等。其中,第二时钟电路318和第一时钟电路335可以使用同一个时钟源作为参考时钟,也可以使用独立的两个时钟源作为参考时钟。As shown in FIG. 4, the retimer 300 further includes a second clock circuit 318 and a first clock circuit 335, wherein the second clock circuit 318 is used to generate a second working clock according to the reference clock and output the second working clock To the clock recovery circuit 312, so that the clock recovery circuit 312 recovers the clock signal from the input data; the first clock circuit 335 is used to generate a first working clock according to the reference clock, and output the first working clock to the phase alignment circuit 330, To generate the output data clock. The first working clock is the working clock generated by the first clock circuit 335 in the sending circuit 320, and the frequency of the first working clock generated by the first clock circuit 335 is equal to the frequency of the input data clock. It should be noted that the second clock circuit 318 and the first clock circuit 335 in this embodiment are independent clock circuits, and the above two clock circuits may be phase locked loops (Phase Locked Loop, PLL), etc. The second clock circuit 318 and the first clock circuit 335 may use the same clock source as the reference clock, or two independent clock sources as the reference clock.
由于时钟信号通常是具有相同脉宽的矩形脉冲,其频谱成分包含有高次谐波,时钟信号与这些高次谐波共同在某个电路中或不同电路之间产生电磁干扰。为了降低上述电磁干扰,可以采用对时钟进行扩频的方法,即使用预设的调制波形(例如一个较低的频率),在一定频率范围内对上述时钟信号进行频率调制,使得时钟信号的基频和谐波所包含的峰 值能量降低。例如,在上述高速串行链路中,上述输入数据时钟可以为携带了扩频时钟SSC信息的时钟。在频域中,SSC信息表现为时钟信号产生一个具有边带谐波的频谱。在对上述第一中间时钟进行高频滤抖的同时,数字滤波器334可以保留完整的低频抖动,从而可以保留第一中间时钟包含的某些时钟信息,或者是输入数据时钟包含的某些时钟信息,例如SSC信息。同时,数字滤波器334滤除来自链路和时钟恢复电路312等的高频抖动。因此,当高速串行链路开启了SRIS功能(Separate Reference-clock Independent SSC,分离参考时钟独立SSC)后,重定时器300中的上述输入数据时钟和上述输出数据时钟均可以保留时钟信号中的SSC信息,同时滤除高频抖动。Since the clock signal is usually a rectangular pulse with the same pulse width, its spectrum component contains higher harmonics, and the clock signal and these higher harmonics together produce electromagnetic interference in a certain circuit or between different circuits. In order to reduce the above-mentioned electromagnetic interference, a method of spreading the clock may be used, that is, a preset modulation waveform (for example, a lower frequency) is used to frequency modulate the above-mentioned clock signal within a certain frequency range, so that the base of the clock signal The peak energy contained in the frequency and harmonics is reduced. For example, in the above-mentioned high-speed serial link, the above-mentioned input data clock may be a clock carrying the SSC information of the spread spectrum clock. In the frequency domain, SSC information appears as a clock signal producing a spectrum with sideband harmonics. While performing high-frequency filtering and jittering on the first intermediate clock, the digital filter 334 can retain complete low-frequency jitter, so that certain clock information contained in the first intermediate clock or certain clocks included in the input data clock can be retained Information, such as SSC information. At the same time, the digital filter 334 filters out high-frequency jitter from the link and clock recovery circuit 312 and the like. Therefore, when the SRIS function (Separate-Reference-Independent SSC) of the high-speed serial link is enabled, both the input data clock and the output data clock in the retimer 300 can retain the clock signal. SSC information, while filtering out high frequency jitter.
由于上述输入数据时钟包含低频抖动,因此输入数据时钟的上升沿的相位通常不是固定的,而是前后漂移的。如图5所示,输入数据时钟在一定的时钟偏移范围内漂移。通过如图5所示的时序图来说明相位插值器336的具体功能。首先相位插值器336用于接收第一工作时钟,以该第一工作时钟的相位为基准,并根据预设的相位差和第二控制信号产生第二中间时钟,该第一工作时钟与第二中间时钟的第二相位差为一个预设的固定值,该第二相位差即图中的对齐窗口。上述相位差也可以理解为,第一工作时钟和第二中间时钟相邻的两个上升沿之间的相位差。其次鉴相器332对上述第一工作时钟、第二中间时钟和输入数据时钟进行鉴相,以确定上述三个时钟之间的相位关系。Since the input data clock contains low frequency jitter, the phase of the rising edge of the input data clock is usually not fixed, but drifts back and forth. As shown in Figure 5, the input data clock drifts within a certain clock offset range. The specific function of the phase interpolator 336 is explained by the timing chart shown in FIG. First, the phase interpolator 336 is used to receive the first working clock, take the phase of the first working clock as a reference, and generate a second intermediate clock according to a preset phase difference and a second control signal, the first working clock and the second The second phase difference of the intermediate clock is a preset fixed value, and the second phase difference is the alignment window in the figure. The above phase difference can also be understood as the phase difference between two rising edges adjacent to the first working clock and the second intermediate clock. Next, the phase detector 332 performs phase detection on the first working clock, the second intermediate clock, and the input data clock to determine the phase relationship between the three clocks.
以图5(a)为例,鉴相器332可以用输入数据时钟的上升沿来采样第一工作时钟和第二中间时钟,即鉴相,以确定上述三个时钟之间的相位关系。如果采样值是2’b10(两位二进制数,低位0表示第二中间时钟的采样值为0,高位1表示第一工作时钟的采样值为1),即表示在输入数据时钟处于上升沿时,第一工作时钟为高电平(1),而第二中间时钟为低电平(0),也就是说采样值为2’b10的情况对应的是输入数据时钟在上述对齐窗口内,输入数据时钟的相位超前于第一工作时钟的相位且落后于第二中间时钟的相位。鉴相器332将采样的结果经过数字滤波器334滤抖后,后作为第二控制信号输出至相位插值器336,因此相位插值器336可以根据上述第二控制信号来判断输入数据时钟是否处于对齐窗口内,即处于第一工作时钟和第二中间时钟之间。Taking FIG. 5(a) as an example, the phase detector 332 may use the rising edge of the input data clock to sample the first working clock and the second intermediate clock, that is, the phase detector, to determine the phase relationship between the above three clocks. If the sample value is 2'b10 (two binary digits, the low bit 0 indicates that the sample value of the second intermediate clock is 0, and the high bit 1 indicates that the sample value of the first working clock is 1), that is, when the input data clock is on the rising edge , The first working clock is high level (1), and the second intermediate clock is low level (0), which means that the sampling value of 2'b10 corresponds to the input data clock in the above alignment window, input The phase of the data clock leads the phase of the first working clock and lags the phase of the second intermediate clock. The phase discriminator 332 filters and dithers the sampling result through the digital filter 334, and then outputs it as the second control signal to the phase interpolator 336, so the phase interpolator 336 can determine whether the input data clock is aligned according to the second control signal The window is between the first working clock and the second intermediate clock.
在图5(b)中,输入数据时钟偏离了上述对齐窗口,输入数据时钟的相位落后于第一工作时钟的相位且落后于第二中间时钟的相位,此时输入数据时钟的上升沿的采样值为2’b00。相位插值器336接收到数字滤波器334产生的上述第二控制信号(即包含鉴相器332产生的采样值2’b00)后,采用相位插值的方法对第一工作时钟的相位进行调整,同时也对第二中间时钟的相位进行调整,使得输入数据时钟处于调整后形成的对齐窗口内,即调整后采样值重新变为2’b10。In FIG. 5(b), the input data clock deviates from the above alignment window, the phase of the input data clock lags behind the phase of the first working clock and the phase of the second intermediate clock, at this time the sampling of the rising edge of the input data clock The value is 2'b00. The phase interpolator 336 receives the above-mentioned second control signal generated by the digital filter 334 (that is, contains the sample value 2′b00 generated by the phase discriminator 332), and adjusts the phase of the first working clock by using a phase interpolation method, and The phase of the second intermediate clock is also adjusted so that the input data clock is within the alignment window formed after the adjustment, that is, the adjusted sample value becomes 2'b10 again.
在图5(c)中,输入数据时钟同样偏离了上述对齐窗口,输入数据时钟的相位超前于第一工作时钟的相位且超前于第二中间时钟的相位,此时输入数据时钟的上升沿的采样值为2’b11或2’b01。以采样值为2’b11为例,相位插值器336接收到数字滤波器334产生的上述第二控制信号(即包含鉴相器332产生的采样值2’b11)后,采用相位插值的方法对第一工作时钟的相位进行调整,同时也对第二中间时钟的相位进行调整,使得输入数据时钟处于调整后形成的对齐窗口内,即调整后采样值重新变为2’b10。In FIG. 5(c), the input data clock also deviates from the above alignment window. The phase of the input data clock leads the phase of the first working clock and the phase of the second intermediate clock. At this time, the rising edge of the input data clock The sampled value is 2'b11 or 2'b01. Taking the sample value of 2'b11 as an example, after the phase interpolator 336 receives the above-mentioned second control signal generated by the digital filter 334 (that is, includes the sample value 2'b11 generated by the phase discriminator 332), the phase interpolation method is used to The phase of the first working clock is adjusted, and the phase of the second intermediate clock is also adjusted so that the input data clock is within the alignment window formed after the adjustment, that is, the adjusted sample value becomes 2'b10 again.
当高速串行链路开启了SRIS功能时,上述输入时钟信号携带SSC信息,即低频抖动,其相位会一直呈周期性变化,即在一定范围内做周期性的漂移。相位插值器336根据输入 数据时钟相位变化的周期来调整第一工作时钟的相位,且调整的周期就是输入数据时钟相位变化的周期,即SSC变化周期。因此,输出数据时钟(即调整后的第一工作时钟)的相位始终随着输入数据时钟的相位变化,从而实现保留低频抖动,滤除高频抖动的目的。When the SRIS function is enabled on the high-speed serial link, the input clock signal carries SSC information, that is, low-frequency jitter, and its phase will always change periodically, that is, periodically drift within a certain range. The phase interpolator 336 adjusts the phase of the first working clock according to the period of the phase change of the input data clock, and the adjusted period is the period of the phase change of the input data clock, that is, the SSC change period. Therefore, the phase of the output data clock (that is, the adjusted first working clock) always changes with the phase of the input data clock, thereby achieving the purpose of retaining low-frequency jitter and filtering out high-frequency jitter.
在一种实施方式中,相位插值器336调整上述第一工作时钟和第二中间时钟,使得输入数据时钟的上升沿始终处于对齐窗口的中心,即第二中间时钟与输入数据时钟的相位差等于输入数据时钟和第一工作时钟的相位差。因此,当对齐窗口较小时,相位插值器336产生的第一工作时钟能够更好地与输入数据时钟相位对齐。In one embodiment, the phase interpolator 336 adjusts the first working clock and the second intermediate clock so that the rising edge of the input data clock is always at the center of the alignment window, that is, the phase difference between the second intermediate clock and the input data clock is equal to The phase difference between the input data clock and the first working clock. Therefore, when the alignment window is small, the first working clock generated by the phase interpolator 336 can be better phase aligned with the input data clock.
如图6所示的是同步电路340一种具体的实施方式。同步电路340包括第一子同步电路342和第二子同步电路344,其中第一子同步电路342用于根据上述输入数据时钟对接收的输入数据进行第一次同步,得到第一临时数据;第二子同步电路344用于根据上述第一工作时钟(即输出数据时钟)对上述第一临时数据进行第二次同步,得到上述同步数据。通过上述两个时钟分别对输入数据进行两次同步处理,使得上述同步数据能够以输出数据时钟的频率传输,且可以防止亚稳态的发生,避免重定时器300受到亚稳态传播的影响。As shown in FIG. 6, a specific implementation of the synchronization circuit 340 is shown. The synchronization circuit 340 includes a first sub-synchronization circuit 342 and a second sub-synchronization circuit 344, where the first sub-synchronization circuit 342 is used to synchronize the received input data for the first time according to the input data clock to obtain first temporary data; The two-sub-synchronization circuit 344 is used to perform the second synchronization on the first temporary data according to the first working clock (ie, the output data clock) to obtain the synchronized data. Synchronizing the input data twice through the two clocks respectively enables the synchronous data to be transmitted at the frequency of the output data clock, and can prevent the occurrence of the metastable state and prevent the retimer 300 from being affected by the propagation of the metastable state.
在一种实施方式中,该同步电路340中的第一子同步电路342和第二子同步电路344均为寄存器,且第一子同步电路342使用的时钟为上述输入数据时钟,第二子同步电路的工作使用的时钟为上述第一工作时钟(即输出数据时钟)。上述寄存器可以包括多个并联的D触发器。根据上述两个时钟,可以确保第二子同步电路344可以正确采样到数据。In one embodiment, the first sub-synchronization circuit 342 and the second sub-synchronization circuit 344 in the synchronization circuit 340 are both registers, and the clock used by the first sub-synchronization circuit 342 is the above input data clock, and the second sub-synchronization The clock used for the operation of the circuit is the above-mentioned first operating clock (ie, the output data clock). The above register may include multiple D flip-flops connected in parallel. According to the above two clocks, it can be ensured that the second sub-synchronous circuit 344 can correctly sample the data.
需要注意的是,本申请中重定时器300所包括的上述相位对齐电路330、同步电路340和时钟恢复电路312的任意一个或多个电路的组合也可以用于实现其他跨时钟域处理的电路或场景,本申请中的重定时器300仅为一种场景的示例。此外,本申请实施例中的上述输入数据和同步数据可以是并行数据,也可以是串行数据。例如,本申请实施例还提供一种跨时钟域处理电路,包括上述相位对齐电路330、同步电路340和时钟恢复电路312,其中该跨时钟域处理电路接收的输入数据、产生的同步数据可以均为并行数据,也可以均为串行数据。It should be noted that the combination of any one or more of the above-mentioned phase alignment circuit 330, synchronization circuit 340, and clock recovery circuit 312 included in the retimer 300 in this application can also be used to implement other circuits that process across clock domains Or scenarios, the retimer 300 in this application is only an example of a scenario. In addition, the input data and the synchronization data in the embodiments of the present application may be parallel data or serial data. For example, an embodiment of the present application further provides a cross-clock domain processing circuit, including the above-mentioned phase alignment circuit 330, synchronization circuit 340, and clock recovery circuit 312, wherein the input data received by the cross-clock domain processing circuit and the generated synchronization data may be both It can be parallel data or serial data.
如图7所示的重定时器300为一种更为具体的实施方式。图7中的重定时器300还包括均衡器316、第二时钟电路318、数据处理电路350和数据选择器360。其中,均衡器316用于将接收电路310接收的串行数据进行均衡处理,例如进行连续时间线性均衡(Continuous Time Linear Equalizer,CTLE),以在输损耗较大的高速串行链路中,改善数据接收电路310眼图(Eye Diagram)的性能,并将均衡处理后的串行数据输出至时钟恢复电路312。第二时钟电路318用于根据重定时器300的参考时钟,向时钟恢复电路312提供第二工作时钟。The retimer 300 shown in FIG. 7 is a more specific implementation. The retimer 300 in FIG. 7 further includes an equalizer 316, a second clock circuit 318, a data processing circuit 350, and a data selector 360. Among them, the equalizer 316 is used to equalize the serial data received by the receiving circuit 310, such as continuous time linear equalization (Continuous Time Linear Equalizer, CTLE), to improve the high-speed serial link with large transmission loss The performance of the eye diagram (Eye Diagram) of the data receiving circuit 310, and outputs the equalized serial data to the clock recovery circuit 312. The second clock circuit 318 is used to provide a second working clock to the clock recovery circuit 312 according to the reference clock of the retimer 300.
第一设备210通过重定时器300中继数据,并将中继后的数据发送至第二设备220。在一种实施方式中,第一设备210和重定时器300共用同一个参考时钟,而第二设备220的参考时钟与上述共用的参考时钟独立;在一种实施方式中,第二设备220和重定时器300共用同一个参考时钟,而第一设备210的参考时钟与上述共用的参考时钟独立;在另一种实施方式中,上述第一设备210、第二设备220和重定时器300分别使用独立的参考时钟。The first device 210 relays data through the retimer 300, and sends the relayed data to the second device 220. In one embodiment, the first device 210 and the retimer 300 share the same reference clock, and the reference clock of the second device 220 is independent of the above-mentioned shared reference clock; in one embodiment, the second device 220 and The retimer 300 shares the same reference clock, and the reference clock of the first device 210 is independent of the above-mentioned shared reference clock; in another embodiment, the first device 210, the second device 220, and the retimer 300 are respectively Use an independent reference clock.
数据处理电路350用于对数据进行编解码、加解扰、缓冲、同步等处理。数据处理电路350可以选择性地对接收的数据进行解码、解扰、同步、加扰和编码等处理,且上述多个处理过程的顺序是可变的。例如,可以对接收的数据依次进行解码、解扰、同步、加扰 和编码处理,也可以依次进行解码、同步、编码处理,或者依次进行解扰、同步、加扰处理。如图8所示的是数据处理电路350的一种具体的实施方式。具体来说,数据处理电路350包括解码器(De-coder)351、解扰电路(De-Scrambler)352、弹性缓冲器(Elastic Buffer)353、链路训练状态机(Link Training and Status State Machine,LTSSM)354、加扰电路(Scrambler)355和编码器(Encoder)356。其中,解码器351用于对接收的数据进行对齐解码,例如寻找接收的数据中的特征字,并根据特征字去除上述数据中的同步头。解扰电路352用于对解码器351输出的数据进行解扰处理。弹性缓冲器353用于对解扰电路352输出的数据进行缓冲,并将缓冲后的数据输出至链路训练状态机354,该弹性缓冲器353为一种数据缓存量可变的缓冲器,其数据缓存量由重定时器300的参考时钟确定。链路训练状态机354用于接收弹性缓冲器353输出的数据,并对链路进行训练。例如,在使用PCIe接口的链路正常工作之前,需要通过该链路训练状态机354对链路进行训练,以初始化链路并配置链路信息。在完成链路训练并进行正常工作时,弹性缓冲器353产生的数据可以直接输出至加扰电路355,而无需经过链路训练状态机354。加扰电路355用于对链路训练状态机354输出的数据进行加扰处理,其中加扰处理可以采用与解扰相对应的方式。解码器356用于对加扰后的数据进行编码,并输出经过编码的数据。The data processing circuit 350 is used to perform processing such as encoding, decoding, scrambling, buffering, and synchronization on the data. The data processing circuit 350 can selectively perform processes such as decoding, descrambling, synchronization, scrambling, and encoding on the received data, and the order of the foregoing multiple processing procedures is variable. For example, the received data may be sequentially decoded, descrambled, synchronized, scrambled, and encoded, or may be sequentially decoded, synchronized, and encoded, or descrambled, synchronized, and scrambled. A specific implementation of the data processing circuit 350 is shown in FIG. 8. Specifically, the data processing circuit 350 includes a decoder (De-coder) 351, a descrambling circuit (De-Scrambler) 352, an elastic buffer (Elastic Buffer) 353, a link training state machine (Link Training) and Status Machine, LTSSM) 354, scrambling circuit (Scrambler) 355 and encoder (Encoder) 356. The decoder 351 is used to perform aligned decoding on the received data, for example, to find the feature words in the received data, and remove the synchronization header in the data according to the feature words. The descrambling circuit 352 is used for descrambling the data output from the decoder 351. The elastic buffer 353 is used to buffer the data output by the descrambling circuit 352 and output the buffered data to the link training state machine 354. The elastic buffer 353 is a variable data buffer. The amount of data buffering is determined by the reference clock of the retimer 300. The link training state machine 354 is used to receive the data output from the elastic buffer 353 and train the link. For example, before the link using the PCIe interface works normally, the link training state machine 354 needs to be trained to initialize the link and configure link information. When the link training is completed and the normal operation is performed, the data generated by the elastic buffer 353 can be directly output to the scrambling circuit 355 without going through the link training state machine 354. The scrambling circuit 355 is used to perform scrambling processing on the data output by the link training state machine 354, where the scrambling processing may adopt a method corresponding to descrambling. The decoder 356 is used to encode the scrambled data and output the encoded data.
数据选择器360用于同时接收时钟恢复电路312产生的数据,以及数据处理电路350产生的数据,并选择上述两路数据中的其中一路以输出至同步电路340。在一种实施方式中,可以通过一个控制信号来选择数据选择器360输出时钟恢复电路312产生的数据或者输出数据处理电路350产生的数据,该控制信号可以通过寄存器进行配置。由于数据选择器360具有对两路数据进行二选一的功能,并行数据可以通过两条路径从数据接收电路310到数据发送电路320。其一,并行数据先从时钟恢复电路312输出至数据处理电路350,再从数据处理电路350经过数据选择器360并输入至数据发送电路320。在特定的传输协议下,上述并行数据在数据处理电路350中进行编解码、加解扰等处理。其二,并行数据直接从时钟恢复电路312输出、经过数据选择器360并输入至数据发送电路320,不经过任何的数据处理,这种BSF(Bit Stream Forward,比特流转发)方式可以最大限度地降低数据经过重定时器300而产生的延时。通过调整数据选择器360的控制信号,可以控制重定时器300在上述两种模式之间切换。The data selector 360 is used to simultaneously receive the data generated by the clock recovery circuit 312 and the data generated by the data processing circuit 350, and select one of the above two channels of data to output to the synchronization circuit 340. In one embodiment, the data selector 360 may output the data generated by the clock recovery circuit 312 or the data generated by the data processing circuit 350 through a control signal, and the control signal may be configured through a register. Since the data selector 360 has a function of selecting one of two channels of data, parallel data can pass from the data receiving circuit 310 to the data transmitting circuit 320 through two paths. First, the parallel data is first output from the clock recovery circuit 312 to the data processing circuit 350, and then from the data processing circuit 350 through the data selector 360 and input to the data transmission circuit 320. Under a specific transmission protocol, the above-mentioned parallel data is processed in the data processing circuit 350 such as codec, scrambling and descrambling. Second, parallel data is directly output from the clock recovery circuit 312, passes through the data selector 360, and is input to the data transmission circuit 320 without any data processing. This BSF (Bit Stream Forward) method can maximize Reduce the delay caused by data passing through the retimer 300. By adjusting the control signal of the data selector 360, the retimer 300 can be controlled to switch between the above two modes.
如图9所示的是本申请实施例提供的一种多通道的重定时器1000,该重定时器1000包括上行重定时电路1010和下行重定时电路1020。其中,上行重定时电路1010用于在第一设备210至第二设备220的上行高速串行传输链路上实现多路串行信号的中继和滤抖,而下行重定时电路1020用于在第二设备220至第一设备210的下行高速串行传输链路上实现多路串行信号的中继和滤抖。需要注意的是,上述上行和下行的概念均为相对的。以4条上行通道和4条下行通道为例来说明重定时器1000的电路结构,但本申请不对重定时器1000中的上行通道和下行通道的数量做限定。具体来说,上行重定时电路1010包括4条上行通道,其中每条上行通道包括一个数据接收电路、一个数据处理电路、一个数据选择器和一个数据发送电路,其数据流的方向为从第一设备210至第二设备220;下行重定时电路1020也包括4条下行通道,其中每条下行通道包括一个数据接收电路、一个数据处理电路、一个数据选择器360和一个数据发送电路,其数据流方向与上行重定时电路1010相反,为从第二设备220至第一设备210。与重定时器300类似,对于每一条上行通道或下 行通道,串行数据通过数据接收电路n转换成并行数据,通过数据处理电路n进行数据处理并输出至数据选择器360,或者不通过数据处理电路n而直接输出至数据选择器360,最后通过数据发送电路n进行跨时钟域同步,并将同步后的并行数据转换成串行数据。在重定时器1000中,上述n可以为1,2,…,8。As shown in FIG. 9 is a multi-channel retimer 1000 provided by an embodiment of the present application. The retimer 1000 includes an upstream retiming circuit 1010 and a downstream retiming circuit 1020. Among them, the upstream retiming circuit 1010 is used to realize the relaying and filtering of multiple serial signals on the upstream high-speed serial transmission link of the first device 210 to the second device 220, and the downstream retiming circuit 1020 is used to Multiple downlink serial signals are relayed and filtered on the downlink high-speed serial transmission link from the second device 220 to the first device 210. It should be noted that the above concepts of uplink and downlink are relative. Taking four upstream channels and four downstream channels as examples to illustrate the circuit structure of the retimer 1000, but this application does not limit the number of upstream channels and downstream channels in the retimer 1000. Specifically, the upstream retiming circuit 1010 includes four upstream channels, where each upstream channel includes a data receiving circuit, a data processing circuit, a data selector, and a data sending circuit, and the direction of data flow is from the first Device 210 to the second device 220; the downlink retiming circuit 1020 also includes 4 downlink channels, where each downlink channel includes a data receiving circuit, a data processing circuit, a data selector 360, and a data sending circuit, and its data flow The direction is opposite to the upstream retiming circuit 1010, from the second device 220 to the first device 210. Similar to the retimer 300, for each upstream channel or downstream channel, serial data is converted into parallel data by the data receiving circuit n, data is processed by the data processing circuit n and output to the data selector 360, or does not pass data processing The circuit n directly outputs to the data selector 360, and finally synchronizes across clock domains through the data transmission circuit n, and converts the synchronized parallel data into serial data. In the retimer 1000, the aforementioned n may be 1, 2, ..., 8.
如图9所示的重定时器1000中的数据接收电路1、数据接收电路2、数据接收电路3、数据接收电路4、数据接收电路5、数据接收电路6、数据接收电路7、数据接收电路8均可以包括本申请实施例提供的数据接收电路310中的部分电路或全部电路,以及共用数据接收电路310中的部分电路。重定时器1000中的数据发送电路1、数据发送电路2、数据发送电路3、数据发送电路4、数据发送电路5、数据发送电路6、数据发送电路7、数据发送电路8均可以包括本申请实施例提供的数据发送电路320中的部分电路或全部电路,以及共用数据发送电路320中的部分电路。 Data receiving circuit 1, data receiving circuit 2, data receiving circuit 3, data receiving circuit 4, data receiving circuit 5, data receiving circuit 6, data receiving circuit 7, data receiving circuit in the retimer 1000 shown in FIG. 9 All 8 may include some or all circuits in the data receiving circuit 310 provided in the embodiments of the present application, and some circuits in the common data receiving circuit 310. The data transmission circuit 1, the data transmission circuit 2, the data transmission circuit 3, the data transmission circuit 4, the data transmission circuit 5, the data transmission circuit 6, the data transmission circuit 7, and the data transmission circuit 8 in the retimer 1000 may all include this application Some or all of the circuits in the data transmission circuit 320 provided in the embodiment, and some of the circuits in the data transmission circuit 320 are shared.
在一种实施方式中,上行重定时电路1010中的4个数据接收电路可以共用一个时钟处理电路1,下行重定时电路1020中的4个数据接收电路也可以共用一个时钟处理电路2,上述时钟处理电路1和时钟处理电路2均可以为本申请实施例中的第二时钟电路318。通过时钟处理电路1将上行重定时电路1010中的4路并行数据恢复分别出4路时钟信号,并选择其中一路时钟信号作为输入时钟信号输出至上述同步电路;下行重定时电路1020同理。In one embodiment, the four data receiving circuits in the upstream retiming circuit 1010 can share one clock processing circuit 1, and the four data receiving circuits in the downstream retiming circuit 1020 can also share one clock processing circuit 2. Both the processing circuit 1 and the clock processing circuit 2 may be the second clock circuit 318 in the embodiment of the present application. The four parallel data in the upstream retiming circuit 1010 are recovered by the clock processing circuit 1 to output four clock signals respectively, and one of the clock signals is selected to be output as the input clock signal to the synchronization circuit; the downstream retiming circuit 1020 is the same.
在一种实施方式中,上行重定时电路1010中的4个数据发送电路可以共用一个相位对齐电路330,下行重定时电路1020中的4个数据接收电路也可以共用一个相位对齐电路330。上行重定时电路1010中的每个数据发送电路均包括一个同步电路340,下行重定时电路1010中的每个数据发送电路也同样包括一个同步电路340,以同步每个数据发送电路中需要进行同步的输入数据。此外,重定时器1000中的数据处理电路1、数据处理电路2、数据处理电路3、数据处理电路4、数据处理电路5、数据处理电路6、数据处理电路7、数据处理电路8均可以为本申请实施例提供的数据处理电路320。In one embodiment, the four data transmission circuits in the upstream retiming circuit 1010 may share one phase alignment circuit 330, and the four data receiving circuits in the downstream retiming circuit 1020 may also share one phase alignment circuit 330. Each data transmission circuit in the upstream retiming circuit 1010 includes a synchronization circuit 340, and each data transmission circuit in the downstream retiming circuit 1010 also includes a synchronization circuit 340 to synchronize the synchronization in each data transmission circuit. Input data. In addition, the data processing circuit 1, the data processing circuit 2, the data processing circuit 3, the data processing circuit 4, the data processing circuit 5, the data processing circuit 6, the data processing circuit 7, and the data processing circuit 8 in the retimer 1000 can all be The data processing circuit 320 provided by the embodiment of the present application.
上述多通道的重定时器1000中,多通道共享一个时钟处理电路、一个同步电路340和一个相位对齐电路330,使得重定时器1000在保证低延时的同时进一步减少所需的缓冲器资源,从而减少重定时器1000的硬件面积并降低功耗,提升了重定时器1000的性能。In the above multi-channel retimer 1000, the multi-channel shares a clock processing circuit, a synchronization circuit 340 and a phase alignment circuit 330, so that the retimer 1000 further reduces the required buffer resources while ensuring low latency, Therefore, the hardware area of the retimer 1000 and the power consumption are reduced, and the performance of the retimer 1000 is improved.
以一个具体的例子来说明多通道重定时器1000的具体结构。该重定时器,用于对传输链路中的N路输入数据进行中继。该重定时器包括相位对齐电路和N个同步电路(N≥1且N为正整数),其中相位对齐电路用于根据第一控制信号调整第一工作时钟的相位,以使得上述两个时钟相位对齐,并将输入数据时钟和调整后的第一工作时钟输出至N个同步电路,使得N个同步电路可以根据上述两个时钟对N路输入数据进行跨时钟域同步,以产生N路同步数据,即,将处于输入数据时钟的时钟域的N路输入数据同步至输出数据时钟的时钟域。其中,第一工作时钟的频率与输入数据时钟的频率相等,且该第一工作时钟为重定时器的工作时钟,或者与重定时器使用同一个参考时钟,上述输入数据时钟为根据N路输入数据恢复出的N个恢复时钟时钟中的一个恢复时钟,例如通过时钟恢复电路从N路输入数据中恢复出N个恢复数据时钟,并选择其中一个恢复时钟作为上述输入数据时钟。上述第一控制信号同样为根据N路输入数据恢复出的N个控制信号中的一个控制信号,且该第一控制信号包括输入数据时钟的相位变化信息。A specific example is used to explain the specific structure of the multi-channel retimer 1000. The retimer is used to relay N input data in the transmission link. The retimer includes a phase alignment circuit and N synchronization circuits (N≥1 and N is a positive integer), wherein the phase alignment circuit is used to adjust the phase of the first working clock according to the first control signal, so that the above two clock phases Align, and output the input data clock and the adjusted first working clock to N synchronization circuits, so that N synchronization circuits can synchronize N channels of input data across clock domains according to the above two clocks to generate N channels of synchronized data That is, the N input data in the clock domain of the input data clock is synchronized to the clock domain of the output data clock. Wherein, the frequency of the first working clock is equal to the frequency of the input data clock, and the first working clock is the working clock of the retimer, or uses the same reference clock as the retimer, and the above input data clock is based on the N input One of the N recovered clock clocks recovered from the data, for example, N recovered data clocks are recovered from the N input data through a clock recovery circuit, and one of the recovered clocks is selected as the input data clock. The first control signal is also one of the N control signals recovered from the N input data, and the first control signal includes phase change information of the input data clock.
上述相位对齐电路包括鉴相器、数字滤波器和相位插值器,其中鉴相器用于对输入数据时钟和输出数据时钟进行鉴相,数字滤波器用于将鉴相的结果和第一控制信号进行滤抖,并将滤抖后的结果作为第二控制信号输出,相位插值器用于根据该第二控制信号调整第一工作时钟的相位,使得第一工作时钟和输入数据时钟相位对齐,并将调整后的第一工作时钟作为输出数据时钟输出至同步电路。The above phase alignment circuit includes a phase discriminator, a digital filter and a phase interpolator, wherein the phase discriminator is used to discriminate the input data clock and the output data clock, and the digital filter is used to filter the result of the phase discrimination and the first control signal Jitter, and output the filtered result as a second control signal. The phase interpolator is used to adjust the phase of the first working clock according to the second control signal, so that the phase of the first working clock and the input data clock are aligned, and the adjusted The first working clock is output to the synchronization circuit as the output data clock.
上述相位插值器在调整上述第一工作时钟和第二中间时钟的相位时,使得第一工作时钟与输入数据时钟的相位差等于输入数据时钟与第二中间时钟的相位差。When the phase interpolator adjusts the phases of the first operating clock and the second intermediate clock, the phase difference between the first operating clock and the input data clock is equal to the phase difference between the input data clock and the second intermediate clock.
上述相位插值器进一步用于:根据第一工作时钟产生第二中间时钟,且第一工作时钟与第二中间时钟的相位差为预设的相位差;根据上述第二控制信号调整上述第一工作时钟和第二中间时钟的相位,使得输入数据时钟的相位超前于第一工作时钟的相位且落后于第二中间时钟的相位。其中,鉴相器还进一步用于对上述输入数据时钟、输出数据时钟(即调整后的第一工作时钟)和第二中间时钟进行鉴相,以确定上述三个时钟的相位关系,输出鉴相结果。The above phase interpolator is further used to: generate a second intermediate clock according to the first operating clock, and the phase difference between the first operating clock and the second intermediate clock is a preset phase difference; adjust the first operation according to the second control signal The phases of the clock and the second intermediate clock make the phase of the input data clock lead the phase of the first working clock and lag behind the phase of the second intermediate clock. Wherein, the phase detector is further used to phase-detect the input data clock, the output data clock (that is, the adjusted first working clock) and the second intermediate clock to determine the phase relationship of the three clocks, and output the phase detector result.
上述相位插值器进一步用于:当输入数据时钟的相位超前于第一工作时钟的相位且落后于第二中间时钟的相位时,上述第二控制信号处于第一状态(例如二进制数10),以指示相位插值器保持第一工作时钟和第二中间时钟的相位;当输入数据时钟的相位落后于第一工作时钟的相位且落后于第二中间时钟的相位,上述第二控制信号处于第二状态(例如二进制数00),以指示相位插值器调整相位,使得输入数据时钟的相位超前于第一工作时钟的相位且落后与第二中间时钟的相位;当输入数据时钟的相位超前于第一工作时钟的相位且超前于第二中间时钟的相位,上述第二控制信号处于第三状态(例如二进制数01),以指示相位插值器调整相位,以使得输入数据时钟的相位超前于第一工作时钟的相位且落后与第二中间时钟的相位。The above-mentioned phase interpolator is further used to: when the phase of the input data clock leads the phase of the first working clock and lags behind the phase of the second intermediate clock, the second control signal is in the first state (eg, binary number 10), Instruct the phase interpolator to maintain the phases of the first working clock and the second intermediate clock; when the phase of the input data clock lags the phase of the first working clock and the phase of the second intermediate clock, the second control signal is in the second state (Eg binary number 00) to instruct the phase interpolator to adjust the phase so that the phase of the input data clock leads the phase of the first working clock and lags the phase of the second intermediate clock; when the phase of the input data clock leads the first operation The phase of the clock is ahead of the phase of the second intermediate clock. The second control signal is in a third state (eg, binary number 01) to instruct the phase interpolator to adjust the phase so that the phase of the input data clock leads the first working clock And lag behind the phase of the second intermediate clock.
上述N个同步电路中的每个同步电路均包括一个第一子同步电路和一个第二子同步电路,其中第一子同步电路用于根据输入数据时钟同步上述N路输入数据中的一路,并将结果输出至第二子同步电路;第二子同步电路根据第一工作时钟同步上述结果,得到上述同步数据中的一路同步数据。Each of the N synchronization circuits includes a first sub-synchronization circuit and a second sub-synchronization circuit, wherein the first sub-synchronization circuit is used to synchronize one of the N input data according to the input data clock, and The result is output to the second sub-synchronization circuit; the second sub-synchronization circuit synchronizes the above result according to the first working clock, and obtains one channel of synchronization data in the synchronization data.
上述第一子同步电路和第二子同步电路均为寄存器,且上述两个子同步电路分别通过输入数据时钟和第一工作时钟对输入数据进行同步。The first sub-synchronous circuit and the second sub-synchronous circuit are both registers, and the two sub-synchronous circuits synchronize the input data through the input data clock and the first working clock, respectively.
上述重定时器还包括第一时钟电路,用于向上述相位对齐电路提供上述第一工作时钟。The retimer further includes a first clock circuit for providing the first operating clock to the phase alignment circuit.
上述数字滤波器对第一控制信号和鉴相结果的滤抖为高频滤抖,其中滤抖后的第一控制信号包括与输入数据时钟的低频抖动相对应的相位变化信息。The filtering of the first control signal and the phase discrimination result by the above digital filter is high frequency filtering, wherein the filtered first control signal includes phase change information corresponding to the low frequency jitter of the input data clock.
上述相位变化信息包括独立时钟扩频信息、独立时钟非扩频信息或同源时钟信息。The above phase change information includes independent clock spread spectrum information, independent clock non-spread spectrum information or homologous clock information.
上述重定时器还包括N个时钟恢复电路,用于分别受重定时器的第一工作时钟的驱动,恢复接收到的输入数据以得到上述N路恢复数据时钟和N个控制信号,并输出上述输入数据、N个控制信号和N路恢复数据时钟。The retimer also includes N clock recovery circuits, which are respectively driven by the first operating clock of the retimer, recover the received input data to obtain the N recovery data clocks and N control signals, and output the above Input data, N control signals and N recovery data clocks.
上述N路输入数据为N路串行输入数据,且上述重定时器还包括N个串转并电路,其中上述N个串转并电路用于分别对N路输入数据进行串并转换,并输出转后的结果(即N路并行数据)至上述N个同步电路。The N-channel input data is N-channel serial input data, and the retimer further includes N serial-parallel conversion circuits, wherein the N serial-parallel conversion circuits are respectively used for serial-to-parallel conversion of N channels of input data and output The converted result (ie, N parallel data) is sent to the above N synchronization circuits.
上述重定时器还包括N个并转串电路,且上述N路同步数据为N路并行数据,其中上述N个并转串电路用于分别对N路同步数据进行并行转串行的转换,并输出转换后的结果。The retimer further includes N parallel-to-serial circuits, and the N-channel synchronous data is N-channel parallel data, wherein the N-parallel-to-serial circuits are used to perform parallel-to-serial conversion on the N synchronous data, and Output the converted result.
上述重定时器还包括N个数据处理电路和N个数据选择器,其中N个数据处理电路的输入端分别与N个时钟恢复电路的输出端耦合,N个数据处理电路的输出端分别与N个数据选择器的输入端耦合,N个数据处理电路用于分别对接收的N路输入数据进行解码、解扰、同步、加扰和编码;对于每一个相互耦合的数据处理电路、时钟恢复电路和数据选择器,数据选择器的两个输入端分别与时钟恢复电路的输出端和数据处理电路的输出端耦合,而数据选择器的输出端与同步电路的输出端耦合。可以通过额外的控制信号来控制数据选择器,从而选择上述两个输入端中接收的两路数据信号的其中一路作为输出。The above retimer also includes N data processing circuits and N data selectors, wherein the input terminals of the N data processing circuits are respectively coupled to the output terminals of the N clock recovery circuits, and the output terminals of the N data processing circuits are respectively connected to the N The input ends of the data selectors are coupled, and N data processing circuits are used to decode, descramble, synchronize, scramble, and encode the N input data received; for each coupled data processing circuit and clock recovery circuit And the data selector, the two input terminals of the data selector are respectively coupled with the output terminal of the clock recovery circuit and the output terminal of the data processing circuit, and the output terminal of the data selector is coupled with the output terminal of the synchronization circuit. The data selector can be controlled by an additional control signal to select one of the two data signals received at the two input terminals as an output.
发送端发送输入数据至重定时器,且同步数据输出至接收端,其中存在以下三种情况:其一、上述发送端和重定时器共用一个参考时钟,接收端使用的时钟与上述共用的参考时钟独立;其二、上述接收端和重定时器共用一个参考时钟,发送端的参考时钟与上述共用的参考时钟独立;其三、上述发送端、接收端和重定时器共用一个参考时钟。The sending end sends input data to the retimer, and the synchronous data is output to the receiving end. There are three situations: First, the sending end and the retimer share a reference clock, and the clock used by the receiving end is the same as the above reference The clock is independent; second, the above-mentioned receiving end and the retimer share a reference clock, and the sending end's reference clock is independent of the above-mentioned common reference clock; third, the above-mentioned sending end, the receiving end and the retimer share a reference clock.
上述重定时器为多通道的重定时器,其中N≥2,且N为正整数。The above retimer is a multi-channel retimer, where N≥2, and N is a positive integer.
本申请实施例中的重定时器可以为一种重定时器芯片,用于对高速串行传输链路上的数据信号进行中继,以及滤除抖动。该重定时器芯片可以为ASIC(Application Specific Integrated Circuit,专用集成电路),也可以为FPGA(Field-Programmable Gate Array,现场可编程门阵列),或者其他类型的集成电路。上述重定时器芯片包括根据本申请提供的任意一种重定时器,其中重定时器中的电路被集成在一片晶圆(die)上。The retimer in the embodiment of the present application may be a retimer chip, which is used to relay the data signal on the high-speed serial transmission link and filter out jitter. The retimer chip may be an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or other types of integrated circuits. The aforementioned retimer chip includes any retimer provided according to the present application, wherein the circuit in the retimer is integrated on a die.
本申请实施例还提供一种重定时器装置,包括一个或多个上述重定时器芯片。在一种实施方式中,上述一个或多个重定时器芯片被独立地封装,并设置于一个PCB(Printed Circuit Board,印制电路板)上;在一种实施方式中,上述一个或多个重定时器芯片也可以被独立地封装,并被分立地设置于多个PCB上,并通过PCB之间的连接口或数据连接线进行通信;在另一种实施方式中,上述多个重定时器芯片也可以被封装于一个封装结构中,并设置于PCB上。An embodiment of the present application further provides a retimer device, including one or more of the above retimer chips. In one embodiment, the one or more retimer chips are independently packaged and provided on a PCB (Printed Circuit Board); in one embodiment, the one or more retimer chips The retimer chip can also be packaged independently and separately set on multiple PCBs, and communicate through the connection ports or data connection lines between the PCBs; in another embodiment, the multiple retimers The chip can also be packaged in a package structure and placed on the PCB.
Claims (25)
- 一种跨时钟域处理电路,用于对接收的输入数据进行跨时钟域处理,其特征在于,所述跨时钟域处理电路包括相位对齐电路和同步电路,其中:A cross-clock domain processing circuit for cross-clock domain processing of received input data, characterized in that the cross-clock domain processing circuit includes a phase alignment circuit and a synchronization circuit, wherein:所述相位对齐电路用于接收输入数据时钟和第一工作时钟,根据第一控制信号调整所述第一工作时钟的相位,将相位调整后的所述第一工作时钟作为输出数据时钟输出至所述同步电路,所述输出数据时钟的相位与所述输入数据时钟的相位对齐,所述输入数据时钟为根据所述输入数据恢复出的时钟,所述第一工作时钟为所述跨时钟域处理电路的工作时钟,且所述第一工作时钟的频率与所述输入数据时钟的频率相等,所述第一控制信号为根据所述输入数据恢复出的控制信号,所述第一控制信号包括所述输入数据时钟的相位变化信息;The phase alignment circuit is used for receiving an input data clock and a first working clock, adjusting the phase of the first working clock according to a first control signal, and outputting the phase adjusted first working clock as an output data clock to all In the synchronization circuit, the phase of the output data clock is aligned with the phase of the input data clock, the input data clock is a clock recovered from the input data, and the first working clock is the cross-clock domain processing An operating clock of the circuit, and the frequency of the first operating clock is equal to the frequency of the input data clock, the first control signal is a control signal recovered from the input data, and the first control signal includes all Describe the phase change information of the input data clock;所述同步电路用于根据所述输入数据时钟和所述输出数据时钟,对所述输入数据进行跨时钟域同步,以产生同步数据,所述同步数据处于所述输出数据时钟的时钟域。The synchronization circuit is configured to synchronize the input data across clock domains according to the input data clock and the output data clock to generate synchronized data, and the synchronized data is in a clock domain of the output data clock.
- 如权利要求1所述的跨时钟域处理电路,其特征在于,所述相位对齐电路包括鉴相器、数字滤波器和相位插值器,其中:The cross-clock domain processing circuit according to claim 1, wherein the phase alignment circuit includes a phase discriminator, a digital filter, and a phase interpolator, wherein:所述鉴相器用于对所述输入数据时钟和所述输出数据时钟进行鉴相,并输出鉴相结果;The phase discriminator is used to discriminate the input data clock and the output data clock, and output a phase discrimination result;所述数字滤波器用于对所述鉴相结果和所述第一控制信号进行滤抖,并将滤抖后的结果作为第二控制信号输出至所述相位插值器;The digital filter is used to filter and shake the phase discrimination result and the first control signal, and output the filtered result as a second control signal to the phase interpolator;所述相位插值器用于根据所述第二控制信号调整所述第一工作时钟的相位,使得所述第一工作时钟的相位与所述输入数据时钟的相位对齐,并将相位调整后的所述第一工作时钟作为所述输出数据时钟输出至所述同步电路和所述鉴相器。The phase interpolator is used to adjust the phase of the first working clock according to the second control signal, so that the phase of the first working clock is aligned with the phase of the input data clock, and the phase adjusted The first operating clock is output as the output data clock to the synchronization circuit and the phase detector.
- 如权利要求2所述的跨时钟域处理电路,其特征在于,所述相位插值器进一步用于:The cross-clock domain processing circuit according to claim 2, wherein the phase interpolator is further used for:根据所述第一工作时钟产生第二中间时钟,所述第一工作时钟与所述第二中间时钟的相位差为预设的相位差;Generating a second intermediate clock according to the first working clock, and the phase difference between the first working clock and the second intermediate clock is a preset phase difference;根据所述第二控制信号调整所述第一工作时钟和所述第二中间时钟的相位,使得所述输入数据时钟的相位超前于所述第一工作时钟的相位且落后于所述第二中间时钟的相位。Adjusting the phases of the first working clock and the second intermediate clock according to the second control signal, so that the phase of the input data clock leads the phase of the first working clock and lags the second intermediate The phase of the clock.所述鉴相器进一步用于:The phase detector is further used for:对所述输出数据时钟、所述第二中间时钟和所述输入数据时钟进行鉴相,确定所述输出数据时钟、所述第二中间时钟和所述输入数据时钟的相位关系,以输出所述鉴相结果。Phase-identify the output data clock, the second intermediate clock, and the input data clock, and determine the phase relationship of the output data clock, the second intermediate clock, and the input data clock to output the Phase comparison results.
- 如权利要求3所述的跨时钟域处理电路,其特征在于,所述相位插值器进一步用于:The cross-clock domain processing circuit according to claim 3, wherein the phase interpolator is further used to:当所述输入数据时钟的相位超前于所述第一工作时钟的相位且落后于所述第二中间时钟的相位时,所述第二控制信号用于指示所述相位插值器保持所述第一工作时钟和所述第二中间时钟的相位;When the phase of the input data clock leads the phase of the first working clock and lags the phase of the second intermediate clock, the second control signal is used to instruct the phase interpolator to maintain the first The phase of the working clock and the second intermediate clock;当所述输入数据时钟的相位落后于所述第一工作时钟的相位且落后于所述第二中间时钟的相位,所述第二控制信号用于指示所述相位插值器调整所述第一工作时钟和所述第二中间时钟的相位,以使得所述输入数据时钟的相位超前于所述第一工作时钟的相位且落后 与所述第二中间时钟的相位;When the phase of the input data clock lags behind the phase of the first working clock and the phase of the second intermediate clock, the second control signal is used to instruct the phase interpolator to adjust the first operation The phase of the clock and the second intermediate clock, so that the phase of the input data clock leads the phase of the first working clock and lags the phase with the second intermediate clock;当所述输入数据时钟的相位超前于所述第一工作时钟的相位且超前于所述第二中间时钟的相位,所述第二控制信号处于用于指示所述相位插值器调整所述第一工作时钟和所述第二中间时钟的相位,以使得所述输入数据时钟的相位超前于所述第一工作时钟的相位且落后与所述第二中间时钟的相位。When the phase of the input data clock leads the phase of the first working clock and the phase of the second intermediate clock, the second control signal is instructed to instruct the phase interpolator to adjust the first The phases of the working clock and the second intermediate clock, such that the phase of the input data clock leads the phase of the first working clock and lags the phase with the second intermediate clock.
- 如权利要求2至4任意一项所述的跨时钟域处理电路,其特征在于,所述数字滤波器对所述第一控制信号和所述鉴相结果的滤抖为高频滤抖,其中滤抖后的所述第一控制信号包括与所述输入数据时钟的低频抖动相对应的相位变化信息。The cross-clock domain processing circuit according to any one of claims 2 to 4, wherein the filtering of the first control signal and the phase discrimination result by the digital filter is high-frequency filtering, wherein The first control signal after filtering includes phase change information corresponding to the low frequency jitter of the input data clock.
- 如权利要求5所述的跨时钟域处理电路,其特征在于,所述相位变化信息包括独立时钟扩频信息、独立时钟非扩频信息或同源时钟信息。The cross-clock domain processing circuit according to claim 5, wherein the phase change information includes independent clock spreading information, independent clock non-spreading information, or homologous clock information.
- 如权利要求1至6任意一项所述的跨时钟域处理电路,其特征在于,所述跨时钟域处理电路还包括第一时钟电路,所述第一时钟电路用于向所述相位对齐电路提供所述第一工作时钟。The cross-clock domain processing circuit according to any one of claims 1 to 6, wherein the cross-clock domain processing circuit further includes a first clock circuit, and the first clock circuit is used for the phase alignment circuit The first working clock is provided.
- 如权利要求1至7所述的跨时钟域处理电路,其特征在于,所述跨时钟域处理电路还包括时钟恢复电路,其中:The cross-clock domain processing circuit according to claims 1 to 7, wherein the cross-clock domain processing circuit further comprises a clock recovery circuit, wherein:所述时钟恢复电路用于接收所述输入数据,恢复所述输入数据中的时钟,以得到所述输入数据时钟和所述第一控制信号,并输出所述输入数据、所述输入数据时钟和所述第一控制信号。The clock recovery circuit is used to receive the input data, recover the clock in the input data to obtain the input data clock and the first control signal, and output the input data, the input data clock and The first control signal.
- 如权利要求1至8任意一项所述的跨时钟域处理电路,其特征在于,所述同步电路包括第一子同步电路和第二子同步电路,其中:The cross-clock domain processing circuit according to any one of claims 1 to 8, wherein the synchronization circuit includes a first sub-synchronization circuit and a second sub-synchronization circuit, wherein:所述第一子同步电路用于根据所述输入数据时钟同步所述输入数据,得到第一临时数据;The first sub-synchronization circuit is used to synchronize the input data according to the input data clock to obtain first temporary data;所述第二子同步电路用于根据所述输出数据时钟同步所述第一临时数据,得到所述同步数据。The second sub-synchronization circuit is used to synchronize the first temporary data according to the output data clock to obtain the synchronization data.
- 如权利要求9所述的跨时钟域处理电路,其特征在于,所述第一子同步电路和所述第二子同步电路为寄存器,其中所述第一子同步电路的第一工作时钟为所述输入数据时钟,所述第二子同步电路的第一工作时钟为所述输出数据时钟。The cross-clock domain processing circuit according to claim 9, wherein the first sub-synchronous circuit and the second sub-synchronous circuit are registers, and the first operating clock of the first sub-synchronous circuit is The input data clock, the first working clock of the second sub-synchronous circuit is the output data clock.
- 如权利要求1至10任意一项所述的跨时钟域处理电路,其特征在于,所述输入数据为串行数据,其中:The cross-clock domain processing circuit according to any one of claims 1 to 10, wherein the input data is serial data, wherein:所述跨时钟域处理电路还包括串转并电路,所述串转并电路用于将所述输入数据进行串并转换,并输出转换后的所述输入数据至所述同步电路。The cross-clock domain processing circuit further includes a serial-to-parallel circuit, which is used for serial-to-parallel conversion of the input data, and outputs the converted input data to the synchronization circuit.
- 一种重定时器,用于对传输链路中的N路输入数据进行中继,其特征在于,所述重定时器包括:相位对齐电路和N个同步电路,所述N≥1且N为正整数,其中:A retimer is used to relay N input data in a transmission link. The retimer includes: a phase alignment circuit and N synchronization circuits, where N≥1 and N is Positive integer, where:所述相位对齐电路用于接收输入数据时钟和第一工作时钟,根据第一控制信号调整所述第一工作时钟的相位,将相位调整后的所述第一工作时钟作为输出数据时钟输出至所述N个同步电路,所述输出数据时钟的相位与所述输入数据时钟的相位对齐,所述输入数据时钟为根据所述N路输入数据恢复出的N个恢复数据时钟中的一个恢复数据时钟,所述第一工作时钟为所述重定时器的工作时钟,且所述第一工作时钟的频率与所述输入数据时钟的频率相等,所述第一控制信号为根据所述N路输入数据恢复出的N个控制信号中的一个控制信号,所述第一控制信号包括所述输入数据时钟的相位变化信息;The phase alignment circuit is used for receiving an input data clock and a first working clock, adjusting the phase of the first working clock according to a first control signal, and outputting the phase adjusted first working clock as an output data clock to all In the N synchronization circuits, the phase of the output data clock is aligned with the phase of the input data clock, and the input data clock is one of the N recovered data clocks recovered from the N input data , The first working clock is the working clock of the retimer, and the frequency of the first working clock is equal to the frequency of the input data clock, and the first control signal is based on the N input data One of the recovered N control signals, the first control signal includes phase change information of the input data clock;所述N个同步电路中的每个同步电路用于根据所述输入数据时钟和所述输出数据时钟,对所述N路输入数据中的每路输入数据进行跨时钟域同步,以产生N路同步数据中的一路同步数据,所述N路同步数据处于所述输出数据时钟的时钟域。Each of the N synchronization circuits is used to synchronize each input data of the N input data according to the input data clock and the output data clock to generate N channels One channel of synchronous data in the synchronous data, the N channels of synchronous data are in the clock domain of the output data clock.
- 如权利要求12所述的重定时器,其特征在于,所述相位对齐电路包括鉴相器、数字滤波器和相位插值器,其中:The retimer according to claim 12, wherein the phase alignment circuit includes a phase discriminator, a digital filter, and a phase interpolator, wherein:所述鉴相器用于对所述输入数据时钟和所述输出数据时钟进行鉴相,并输出鉴相结果;The phase discriminator is used to discriminate the input data clock and the output data clock, and output a phase discrimination result;所述数字滤波器用于对所述鉴相结果和所述第一控制信号进行滤抖,并将滤抖后的结果作为第二控制信号输出至所述相位插值器;The digital filter is used to filter and shake the phase discrimination result and the first control signal, and output the filtered result as a second control signal to the phase interpolator;所述相位插值器用于根据所述第二控制信号调整所述第一工作时钟的相位,使得所述第一工作时钟的相位与所述输入数据时钟的相位对齐,并将相位调整后的所述第一工作时钟作为所述输出数据时钟输出至所述N个同步电路和所述鉴相器。The phase interpolator is used to adjust the phase of the first working clock according to the second control signal, so that the phase of the first working clock is aligned with the phase of the input data clock, and the phase adjusted The first working clock is output as the output data clock to the N synchronization circuits and the phase detector.
- 如权利要求13所述的重定时器,其特征在于,所述相位插值器进一步用于:The retimer according to claim 13, wherein the phase interpolator is further used to:根据所述第一工作时钟产生第二中间时钟,所述第一工作时钟与所述第二中间时钟的相位差为预设的相位差;Generating a second intermediate clock according to the first working clock, and the phase difference between the first working clock and the second intermediate clock is a preset phase difference;根据所述第二控制信号调整所述第一工作时钟和所述第二中间时钟的相位,使得所述输入数据时钟的相位超前于所述第一工作时钟的相位且落后于所述第二中间时钟的相位。Adjusting the phases of the first working clock and the second intermediate clock according to the second control signal, so that the phase of the input data clock leads the phase of the first working clock and lags the second intermediate The phase of the clock.所述鉴相器进一步用于:The phase detector is further used for:对所述输出数据时钟、所述第二中间时钟和所述输入数据时钟进行鉴相,确定所述输出数据时钟、所述第二中间时钟和所述输入数据时钟的相位关系,以输出所述鉴相结果。Phase-identify the output data clock, the second intermediate clock, and the input data clock, and determine the phase relationship of the output data clock, the second intermediate clock, and the input data clock to output the Phase comparison results.
- 如权利要求14所述的重定时器,其特征在于,所述相位插值器进一步用于:The retimer of claim 14, wherein the phase interpolator is further used to:当所述输入数据时钟的相位超前于所述第一工作时钟的相位且落后于所述第二中间时钟的相位时,所述第二控制信号用于指示所述相位插值器保持所述第一工作时钟和所述第二中间时钟的相位;When the phase of the input data clock leads the phase of the first working clock and lags the phase of the second intermediate clock, the second control signal is used to instruct the phase interpolator to maintain the first The phase of the working clock and the second intermediate clock;当所述输入数据时钟的相位落后于所述第一工作时钟的相位且落后于所述第二中间时钟的相位,所述第二控制信号用于指示所述相位插值器调整所述第一工作时钟和所述第二中间时钟的相位,以使得所述输入数据时钟的相位超前于所述第一工作时钟的相位且落后与所述第二中间时钟的相位;When the phase of the input data clock lags behind the phase of the first working clock and the phase of the second intermediate clock, the second control signal is used to instruct the phase interpolator to adjust the first operation The phase of the clock and the second intermediate clock, so that the phase of the input data clock leads the phase of the first working clock and lags the phase with the second intermediate clock;当所述输入数据时钟的相位超前于所述第一工作时钟的相位且超前于所述第二中间时钟的相位,所述第二控制信号用于指示所述相位插值器调整所述第一工作时钟和所述第二中间时钟的相位,以使得所述输入数据时钟的相位超前于所述第一工作时钟的相位且落后与所述第二中间时钟的相位。When the phase of the input data clock leads the phase of the first working clock and the phase of the second intermediate clock, the second control signal is used to instruct the phase interpolator to adjust the first operation The phase of the clock and the second intermediate clock, such that the phase of the input data clock leads the phase of the first working clock and lags the phase with the second intermediate clock.
- 如权利要求13至15任意一项所述的重定时器,其特征在于,所述数字滤波器对所述第一控制信号和所述鉴相结果的滤抖为高频滤抖,其中滤抖后的所述第一控制信号包括与所述输入数据时钟的低频抖动相对应的相位变化信息。The retimer according to any one of claims 13 to 15, wherein the digital filter filters the first control signal and the phase discrimination result as high frequency filter jitter, where the filter jitter The subsequent first control signal includes phase change information corresponding to the low frequency jitter of the input data clock.
- 如权利要求16所述的重定时器,其特征在于,所述相位变化信息包括独立时钟扩频信息、独立时钟非扩频信息或同源时钟信息。The retimer according to claim 16, wherein the phase change information includes independent clock spreading information, independent clock non-spreading information, or homologous clock information.
- 如权利要求12至17任意一项所述的重定时器,其特征在于,所述重定时器还包括第一时钟电路,所述第一时钟电路用于向所述相位对齐电路提供所述第一工作时钟。The retimer according to any one of claims 12 to 17, wherein the retimer further comprises a first clock circuit, and the first clock circuit is used to provide the phase alignment circuit with the first One working clock.
- 如权利要求12至18所述的重定时器,其特征在于,所述重定时器还包括N个时钟恢复电路,其中:The retimer according to claims 12 to 18, wherein the retimer further comprises N clock recovery circuits, wherein:所述N个时钟恢复电路用于分别接收所述N路输入数据,恢复所述N路输入数据中的时钟,以分别得到所述N个恢复数据时钟和N个所述第一控制信号,并输出所述N路输入数据、所述N个恢复数据时钟和所述N个控制信号。The N clock recovery circuits are respectively used to receive the N input data and recover the clocks in the N input data to obtain the N recovered data clocks and the N first control signals, and Output the N input data, the N recovered data clocks, and the N control signals.
- 如权利要求12至19任意一项所述的重定时器,其特征在于,所述同步电路包括第一子同步电路和第二子同步电路,其中:The retimer according to any one of claims 12 to 19, wherein the synchronization circuit includes a first sub-synchronization circuit and a second sub-synchronization circuit, wherein:所述第一子同步电路用于根据所述输入数据时钟同步所述输入数据,得到第一临时数据;The first sub-synchronization circuit is used to synchronize the input data according to the input data clock to obtain first temporary data;所述第二子同步电路用于根据所述输出数据时钟同步所述第一临时数据,得到所述同步数据。The second sub-synchronization circuit is used to synchronize the first temporary data according to the output data clock to obtain the synchronization data.
- 如权利要求20所述的重定时器,其特征在于,所述第一子同步电路和所述第二子同步电路为寄存器,其中所述第一子同步电路的第一工作时钟为所述输入数据时钟,所述第二子同步电路的第一工作时钟为所述输出数据时钟。The retimer of claim 20, wherein the first sub-synchronization circuit and the second sub-synchronization circuit are registers, wherein the first operating clock of the first sub-synchronization circuit is the input The data clock, the first working clock of the second sub-synchronous circuit is the output data clock.
- 如权利要求12至21任意一项所述的重定时器,其特征在于,所述N路输入数据为N路串行数据,其中:The retimer according to any one of claims 12 to 21, wherein the N-channel input data is N-channel serial data, wherein:所述重定时器还包括N个串转并电路,其特征在于,所述N个串转并电路用于分别将所述N路输入数据进行串并转换,并分别输出转换后的所述N路输入数据至所述N个同步电路。The retimer further includes N serial-to-parallel circuits, characterized in that the N serial-to-parallel circuits are used to serially and parallel convert the N input data, respectively, and output the converted N Input data to the N synchronization circuits.
- 如权利要求12至22任意一项所述的重定时器,其特征在于,所述N路同步数据为N 路并行数据,其中:The retimer according to any one of claims 12 to 22, wherein the N-channel synchronization data is N-channel parallel data, wherein:所述重定时器还包括N个并转串电路,其特征在于,所述N个并转串电路用于分别将所述N路同步数据转换为N路串行输出数据,并输出转换后的所述N路串行输出数据。The retimer also includes N parallel-to-serial circuits, characterized in that the N parallel-to-serial circuits are respectively used to convert the N channels of synchronous data into N channels of serial output data, and output the converted The N channels output data serially.
- 如权利要求19至23任意一项所述的重定时器,其特征在于,所述重定时器还包括N个数据处理电路和N个数据选择器,其中:The retimer according to any one of claims 19 to 23, wherein the retimer further includes N data processing circuits and N data selectors, wherein:所述N个数据处理电路的输入端分别与所述N个时钟恢复电路的输出端耦合,所述N个数据处理电路的输出端分别与所述N个数据选择器的输入端耦合,所述N个数据处理电路用于分别对接收的所述N路输入数据进行解码、解扰、同步、加扰和编码;The input terminals of the N data processing circuits are respectively coupled to the output terminals of the N clock recovery circuits, and the output terminals of the N data processing circuits are respectively coupled to the input terminals of the N data selectors. N data processing circuits are used for decoding, descrambling, synchronizing, scrambling and encoding the received N input data respectively;对于每一个相互耦合的所述数据处理电路、所述时钟恢复电路和所述数据选择器,其中:For each of the data processing circuit, the clock recovery circuit, and the data selector coupled to each other, wherein:所述数据选择器的两个输入端分别与所述时钟恢复电路的输出端和所述数据处理电路的输出端耦合,所述数据选择器的输出端与所述同步电路的输出端耦合。The two input terminals of the data selector are respectively coupled to the output terminal of the clock recovery circuit and the output terminal of the data processing circuit, and the output terminal of the data selector is coupled to the output terminal of the synchronization circuit.
- 如权利要求12至24任意一项所述的重定时器,其特征在于,所述重定时器为多通道重定时器,其中N≥2,且N为正整数。The retimer according to any one of claims 12 to 24, wherein the retimer is a multi-channel retimer, where N ≥ 2, and N is a positive integer.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/125876 WO2020133537A1 (en) | 2018-12-29 | 2018-12-29 | Clock domain crossing processing circuit |
CN201880098603.6A CN112840571B (en) | 2018-12-29 | 2018-12-29 | Cross-clock domain processing circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/125876 WO2020133537A1 (en) | 2018-12-29 | 2018-12-29 | Clock domain crossing processing circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020133537A1 true WO2020133537A1 (en) | 2020-07-02 |
Family
ID=71128922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/125876 WO2020133537A1 (en) | 2018-12-29 | 2018-12-29 | Clock domain crossing processing circuit |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112840571B (en) |
WO (1) | WO2020133537A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI784804B (en) * | 2021-11-19 | 2022-11-21 | 群聯電子股份有限公司 | Retiming circuit module, signal transmission system and signal transmission method |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113406991B (en) * | 2021-08-23 | 2021-11-09 | 苏州浪潮智能科技有限公司 | Clock management method and device, electronic equipment and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2747289A1 (en) * | 2012-12-21 | 2014-06-25 | Huawei Technologies Co., Ltd | Synchronizer circuit and method for synchronizing components using different clock signals |
CN104535918A (en) * | 2014-12-22 | 2015-04-22 | 中国民航大学 | Cross clock domain synchronizer internal constant testing circuit and method |
CN106897238A (en) * | 2015-12-18 | 2017-06-27 | 浙江大华技术股份有限公司 | A kind of data processing equipment and method |
CN107678488A (en) * | 2017-11-23 | 2018-02-09 | 南京火零信息科技有限公司 | A kind of circuit of cross clock domain event transmission |
CN108449086A (en) * | 2018-02-27 | 2018-08-24 | 灿芯创智微电子技术(北京)有限公司 | A kind of multi-channel high-speed universal serial bus transmitting terminal parallel port synchronous method, circuit and chip |
-
2018
- 2018-12-29 CN CN201880098603.6A patent/CN112840571B/en active Active
- 2018-12-29 WO PCT/CN2018/125876 patent/WO2020133537A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2747289A1 (en) * | 2012-12-21 | 2014-06-25 | Huawei Technologies Co., Ltd | Synchronizer circuit and method for synchronizing components using different clock signals |
CN104535918A (en) * | 2014-12-22 | 2015-04-22 | 中国民航大学 | Cross clock domain synchronizer internal constant testing circuit and method |
CN106897238A (en) * | 2015-12-18 | 2017-06-27 | 浙江大华技术股份有限公司 | A kind of data processing equipment and method |
CN107678488A (en) * | 2017-11-23 | 2018-02-09 | 南京火零信息科技有限公司 | A kind of circuit of cross clock domain event transmission |
CN108449086A (en) * | 2018-02-27 | 2018-08-24 | 灿芯创智微电子技术(北京)有限公司 | A kind of multi-channel high-speed universal serial bus transmitting terminal parallel port synchronous method, circuit and chip |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI784804B (en) * | 2021-11-19 | 2022-11-21 | 群聯電子股份有限公司 | Retiming circuit module, signal transmission system and signal transmission method |
US20230164008A1 (en) * | 2021-11-19 | 2023-05-25 | Phison Electronics Corp. | Retiming circuit module, signal transmission system, and signal transmission method |
US11757684B2 (en) | 2021-11-19 | 2023-09-12 | Phison Electronics Corp. | Retiming circuit module, signal transmission system, and signal transmission method |
Also Published As
Publication number | Publication date |
---|---|
CN112840571A (en) | 2021-05-25 |
CN112840571B (en) | 2024-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11296709B2 (en) | Cross-clock-domain processing circuit | |
US6463092B1 (en) | System and method for sending and receiving data signals over a clock signal line | |
US5412697A (en) | Delay line separator for data bus | |
US8159274B2 (en) | Signaling with superimposed clock and data signals | |
US10461918B2 (en) | Data transmission system | |
US8270526B2 (en) | Communication system | |
US4320515A (en) | Bit synchronizer | |
EP3646520B1 (en) | Frequency/phase-shift-keying for back-channel serdes communication | |
KR102347396B1 (en) | Synchronously Switched Multi-Input Demodulating Comparator | |
US7280589B2 (en) | Source synchronous I/O bus retimer | |
WO2020133537A1 (en) | Clock domain crossing processing circuit | |
US8774321B2 (en) | Clock data recovery circuit and clock data recovery method | |
JPH08237231A (en) | Circuit for communication system,communication link and communication equipment | |
JP5704988B2 (en) | Communication device | |
WO2002039683A2 (en) | Apparatus and method for sending and receiving data signals over a clock signal line by pulse with modulation | |
KR100408753B1 (en) | Equalizing receiver with data-to-clock skew cancellation | |
EP2917841A1 (en) | Self track scheme for multi frequency band serializer de-serializer i/o circuits | |
KR101550801B1 (en) | Data signal receiver, transmitting/receiving system including the same, and method of receiving data signal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18944393 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18944393 Country of ref document: EP Kind code of ref document: A1 |