KR101313104B1 - System and apparatus for synchronization between heterogeneous periodic clock domains, circuit for detecting synchronization failure and data receiving method - Google Patents
System and apparatus for synchronization between heterogeneous periodic clock domains, circuit for detecting synchronization failure and data receiving method Download PDFInfo
- Publication number
- KR101313104B1 KR101313104B1 KR1020100024315A KR20100024315A KR101313104B1 KR 101313104 B1 KR101313104 B1 KR 101313104B1 KR 1020100024315 A KR1020100024315 A KR 1020100024315A KR 20100024315 A KR20100024315 A KR 20100024315A KR 101313104 B1 KR101313104 B1 KR 101313104B1
- Authority
- KR
- South Korea
- Prior art keywords
- clock
- synchronization
- time
- sampling
- unit
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000000737 periodic effect Effects 0.000 title claims abstract description 21
- 230000003111 delayed effect Effects 0.000 claims abstract description 42
- 238000001514 detection method Methods 0.000 claims abstract description 37
- 230000001934 delay Effects 0.000 claims abstract description 18
- 238000005070 sampling Methods 0.000 claims description 78
- 238000010586 diagram Methods 0.000 description 17
- 230000001360 synchronised effect Effects 0.000 description 8
- 230000000630 rising effect Effects 0.000 description 7
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/0033—Correction by delay
- H04L7/0037—Delay of clock signal
-
- 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/08—Details of the phase-locked loop
- H03L7/085—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
- H03L7/089—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal the phase or frequency detector generating up-down pulses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
본 발명은 이종 주기 클록 도메인간의 동기화 시스템, 동기화 장치, 동기화 실패 검출 회로 및 데이터 수신방법에 관한 것으로서, 일면에 따른 동기화 시스템은 이종 주기의 제1 클록과 제2 클록에 따라 각각 동작하는 센더와 리시버를 포함하는 이종 주기 클록 도메인 간의 동기화 시스템으로서, 제1 클록을 제1 시간 지연시킨 예측 클록을 출력하는 센더 및 예측 클록을 이용하여 제1 클록과 제2 클록 간의 동기화 실패 여부를 예측하고, 예측 결과에 따라 선택적으로 제2 클록을 제2 시간 지연시켜 제1 클록과 동기화시키는 리시버를 포함한다.The present invention relates to a synchronization system, a synchronization device, a synchronization failure detection circuit, and a data receiving method between heterogeneous period clock domains. A synchronization system between heterogeneous periodic clock domains, comprising: predicting synchronization failure between a first clock and a second clock by using a sender and a prediction clock outputting a prediction clock having a first time delayed first clock, and a prediction result Optionally including a receiver that delays the second clock a second time delay to synchronize with the first clock.
Description
본 발명에서는 멀티 클록 도메인 환경에서 레이턴시(latency) 증가로 인한 성능 저하를 방지할 수 있는 동기화 시스템, 동기화 장치, 동기화 실패 검출 회로 및 데이터 수신방법에 관한 것이다.The present invention relates to a synchronization system, a synchronization device, a synchronization failure detection circuit, and a data receiving method capable of preventing performance degradation due to increased latency in a multi-clock domain environment.
본 발명은 지식경제부 정부출연금사업의 일환으로 수행한 연구로부터 도출된 것이다. [과제관리번호: 1415094961, 과제명: 지능형자동차 전장용 임베디드 시스템 기술 개발]The present invention is derived from a study conducted as part of the government pension project of the Ministry of Knowledge Economy. [Task management number: 1415094961, Assignment name: Development of embedded system technology for intelligent automotive electronics]
수많은 IP(Intellecture Property)를 이용한 SoC(System on a Chip) 설계에 있어서 각 IP 들은 서로 다른 클록 주파수로 동작할 수 있다. 이러한 서로 다른 IP들을 통합하여 설계하려면, IP 간의 데이터 전송시 발생할 수 있는 동기화 실패 문제를 해결해야 한다. 예로써 가장 낮은 클록 주파수로 동작하는 IP에 맞추어 모든 IP들을 단일 클록으로 구동시키면, 동기화는 보장할 수 있지만, 성능 저하가 뒤따른다. 각 IP들의 클록 주기를 정수배 관계로 조절하면 상대적으로 쉬운 동기화 기법을 적용하면서 단일 클록 기반 동기화 기법 보다는 성능 저하를 막을 수 있다. 그러나, 클록들 사이의 정수배 관계 조절은 IP 수가 많을수록 IP 간 최적화 클록 주파수 차이가 클수록 적용 효과가 크게 줄어든다. In a System on a Chip (SoC) design using numerous IPs, each IP can operate at a different clock frequency. Integrating these different IPs requires solving the synchronization failure that can occur when transferring data between IPs. For example, driving all of the IPs to a single clock to match the IP operating at the lowest clock frequency ensures synchronization, but with performance degradation. By adjusting the clock cycles of each IP in an integer multiple, it is possible to apply a relatively easy synchronization technique and prevent performance degradation rather than a single clock based synchronization technique. However, the adjustment of the integer multiple relationship between clocks decreases the application effect as the number of IPs increases and the difference in optimized clock frequencies between IPs increases.
이러한 동기화 실패 문제를 해결하기 위해 다양한 동기화 기법이 제시되고 있다.Various synchronization techniques have been proposed to solve this synchronization failure problem.
"Synchronous"가정은 흔히 말하는 동기식 회로의 기반의 가정을 의미하여, 칩내 전역에서 클록 특성은 동일해야 한다는 가정이다. "Mesochronous"가정은 칩내에서 관측되는 클록들의 주파수 차이는 없되 페이즈 차이만 허용하는 가정이다. 즉, 클록 소스로부터 특정 두 개의 leaf 노드까지의 지연시간만 다른 가정이므로 동기화를 위해서는 클록이나 데이터 전달 속도를 조절하는 지연 소자를 사용한다. "Plesiochronous"가정은 미세한 주파수 차이를 인정하며, 이에 따라 페이즈도 변화할 수 있다. "Mesochronous"가정의 동기화 방식을 사용하고 이를 반복적으로 수행시킨다는 가정이다.The "Synchronous" assumption refers to the underlying assumption of synchronous circuitry, which is the assumption that the clock characteristics must be the same throughout the chip. The "Mesochronous" assumption assumes that there is no frequency difference between clocks observed in the chip but only a phase difference. In other words, the delay time from the clock source to two specific leaf nodes is assumed to be different. Therefore, the synchronization device uses a delay device that adjusts the clock or data transfer rate. The "Plesiochronous" assumption admits slight frequency differences, so the phase can change. It is assumed that you use the "Mesochronous" home synchronization method and perform it repeatedly.
"Related"가정은 칩내의 두 지점의 클록 주파수가 정수배의 관계를 갖는 가정이다. 이 가정에서는 동기화 실패 경우가 클록 주파수의 특성 분석으로 쉽게 예측가능하다. "Heterogeneous"가정은 클록 주파수간의 정수 배의 관계가 없이 클록 주파수가 다양한 경우로 특화된 동기화 실패 예측 방식이 요구된다. "Asynchronous"가정은 지금까지 설명한 모든 가정을 포함하는 가정으로 동기화를 위해서는 비동기식 설계 기법에 기반한 동기화 장치가 필요하다.The "Related" assumption is an assumption that the clock frequencies of two points in a chip are integral multiples. In this hypothesis, the case of synchronization failure can be easily predicted by characterizing the clock frequency. "Heterogeneous" assumptions require specialized synchronization failure prediction schemes where the clock frequencies vary, regardless of the integer multiple of the clock frequencies. The "Asynchronous" assumption is a home that covers all the assumptions described so far, and synchronization requires a synchronization device based on an asynchronous design technique.
"Synchronous", "Mesochronous", "Plesiochronous"가정은 단일 클록 환경에서의 구분이고, "Related", "Heterogeneous", "Asynchronous"가정은 클록 소스가 여러 개인 멀티 클록 환경에서의 구분이다. "Heterogeneous" 까지의 가정에서는 모든 클록은 주기성을 유지해야 한다. The "Synchronous", "Mesochronous", and "Plesiochronous" assumptions are the divisions in a single clock environment, and the "Related", "Heterogeneous", and "Asynchronous" assumptions are the divisions in a multi-clock environment with multiple clock sources. In homes up to "Heterogeneous", all clocks must remain periodic.
따라서, 본 발명의 목적은 다수의 주기 클록을 갖는 이종 클록 도메인간의 데이터 전송 시에 발생할 수 있는 동기화 실패 문제를 latency 없이 해결하는 동기화 장치, 시스템, 동기화 실패 검출 회로 및 데이터 수신방법을 제공하는 것이다.Accordingly, an object of the present invention is to provide a synchronization device, a system, a synchronization failure detection circuit, and a data receiving method which solve the synchronization failure problem that may occur when data is transmitted between heterogeneous clock domains having a plurality of periodic clocks without latency.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 많은 목적들은 아래의 기재로부터 본 발명의 기술분야에 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The object of the present invention is not limited to the above-mentioned object, and many other objects not mentioned will be clearly understood by those skilled in the art from the following description.
상기와 같은 목적을 달성하기 위한 본 발명의 일면에 따른 동기화 시스템은, 이종 주기의 제1 클록과 제2 클록에 따라 각각 동작하는 센더와 리시버를 포함하는 이종 주기 클록 도메인 간의 동기화 시스템으로서, 상기 제1 클록을 제1 시간 지연시킨 예측 클록을 출력하는 센더 및 상기 예측 클록을 이용하여 상기 제1 클록과 상기 제2 클록 간의 동기화 실패 여부를 예측하고, 상기 예측 결과에 따라 선택적으로 상기 제2 클록을 제2 시간 지연시켜 상기 제1 클록과 동기화시키는 리시버를 포함한다.A synchronization system according to an aspect of the present invention for achieving the above object is a synchronization system between heterogeneous cycle clock domains comprising a sender and a receiver operating in accordance with the first clock and the second clock of the heterogeneous period, respectively, A predictor that outputs a predicted clock having a first time delayed by a first time delay and the predicted clock are used to predict whether synchronization between the first clock and the second clock has failed, and optionally, the second clock is selectively determined according to the prediction result. And a receiver for synchronizing with the first clock by a second time delay.
상기와 같은 목적을 달성하기 위한 본 발명의 다른 면에 따른 동기화 장치는, 이종 주기의 제1 클록과 제2 클록 간의 동기화를 수행하는 동기화 장치로서, 상기 제1 클록이 제1 시간 지연된 예측 클록을 입력받고, 상기 제1 클록의 홀드타임만큼 상기 제2 클록을 지연시킨 제1 지연신호에 응답하여, 상기 예측 클록을 샘플링하는 제1 샘플링부와, 상기 제2 클록의 주기에서 상기 제1 클록의 셋업타임을 뺀 시간만큼 상기 제2 클록을 지연시킨 제2 지연신호에 응답하여, 상기 예측 클럭을 샘플링하는 제2 샘플링부와, 상기 제1 및 제2 샘플링부에 의해 샘플링된 결과를 각각 상기 제2 클록으로 샘플링하고, 상기 제2 클록으로 샘플링된 결과들을 비교하여 상기 제1 및 제2 클록 간의 동기화 실패 여부를 검출하는 검출부 및 상기 검출 결과에 따라 선택적으로 상기 제2 클록을 제2 시간만큼 지연시켜 상기 제1 클록과 동기화시키는 동기화부를 포함한다.A synchronization device according to another aspect of the present invention for achieving the above object is a synchronization device for performing synchronization between a first clock and a second clock of a heterogeneous period, the first clock is a first clock delayed prediction clock; A first sampling unit configured to sample the predicted clock in response to a first delayed signal received and delayed by the second clock by a hold time of the first clock; The second sampling unit for sampling the prediction clock and the result sampled by the first and second sampling units, respectively, in response to the second delayed signal delaying the second clock by a time subtracted from the setup time. A detector configured to detect a synchronization failure between the first and second clocks by sampling at two clocks and comparing the results sampled by the second clock; And a synchronization unit configured to delay two clocks by a second time to synchronize with the first clock.
상기와 같은 목적을 달성하기 위한 본 발명의 또 다른 면에 따른 동기화 실패 검출회로는, 제1 클록과 제2 클록간의 동기화 실패 여부를 검출하는 동기화 실패 검출회로로서, 제1 클록의 홀드타임만큼 상기 제2 클록을 지연시킨 제1 지연신호에 응답하여, 상기 제1 클록을 샘플링하는 제1 샘플링부와, 상기 제2 클록의 주기에서 상기 제1 클록의 셋업타임을 뺀 시간만큼 상기 제2 클록을 지연시킨 제2 지연신호에 응답하여, 상기 제1 클럭을 샘플링하는 제2 샘플링부 및 상기 제1 및 제2 샘플링부에 의해 샘플링된 결과가 서로 다른지 여부를 검출하는 검출부를 포함한다.The synchronization failure detection circuit according to another aspect of the present invention for achieving the above object is a synchronization failure detection circuit for detecting whether or not the synchronization failure between the first clock and the second clock, the hold time of the first clock In response to the first delayed signal delaying the second clock, a first sampling unit for sampling the first clock, and the second clock by a time obtained by subtracting the setup time of the first clock from the period of the second clock; And a second sampling unit for sampling the first clock and a detector for detecting whether the results sampled by the first and second sampling units are different from each other in response to the delayed second delayed signal.
상기와 같은 목적을 달성하기 위한 본 발명의 또 다른 면에 따른 데이터 수신 방법은, 제1 클록에 따라 동작하는 제1 클록 도메인으로부터, 상기 제1 클록의 주기와 다른 주기의 제2 클록에 따라 동작하는 제2 클록 도메인으로 데이터를 수신하는 방법으로서, 상기 제1 클록 도메인으로부터 상기 제1 클록이 제1 시간 지연된 예측 클록을 수신하는 단계 및 상기 예측 클록을 이용하여 상기 제1 클록과 상기 제2 클록 간의 동기화 실패 여부를 예측하고, 실패한 경우 상기 제2 클록을 제2 시간만큼 지연시키고, 상기 제2 시간만큼 지연된 제2 클록에 응답하여 상기 데이터를 샘플링하는 단계를 포함한다.A data receiving method according to another aspect of the present invention for achieving the above object, in accordance with a second clock of a period different from the period of the first clock from the first clock domain operating in accordance with the first clock A method of receiving data in a second clock domain, the method comprising: receiving a prediction clock whose first clock is delayed by a first time from the first clock domain and using the prediction clock; Predicting whether or not the synchronization has failed, delaying the second clock by a second time, and sampling the data in response to the second clock delayed by the second time.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 의하여 구체적으로 개시된다.Details of other embodiments are specifically disclosed by the detailed description and the drawings.
본 발명의 구성에 따르면, 이종 클록 도메인 간의 동기화 실패 여부를 예측할 수 있고, 따라서 레이턴시 없이 동기화 실패를 회피할 수 있다. According to the configuration of the present invention, it is possible to predict whether synchronization between heterogeneous clock domains fails, and thus to avoid synchronization failure without latency.
도 1은 센더와 리시버로 구성된 일반적인 시스템을 나타내는 블록도이다.
도 2는 실시에에 따른 동기화 실패 검출회로를 나타내는 회로도이다.
도 3은 도 2의 동기화 실패 검출회로의 동작을 설명하기 위한 신호도이다.
도 4 및 도 5는 제1 클록을 얼마의 시간만큼 지연시킬 때 제2 클록의 몇 사이클 전에 동기화 실패를 미리 예측할 수 있는지를 설명하기 위한 신호도들이다.
도 6은 실시예에 따른 이종 주기 도메인 간의 동기화 시스템을 나타내는 블록도이다.
도 7은 도 6에 도시된 클록 예측기를 나타내는 블록도이다.
도 8은 도 6에 도시된 동기화기를 나타내는 예시적인 회로도이다.
도 9는 도 8의 동기화부의 변형례를 나타내는 회로도이다.1 is a block diagram illustrating a general system consisting of a sender and a receiver.
2 is a circuit diagram illustrating a synchronization failure detection circuit according to an embodiment.
3 is a signal diagram for describing an operation of a synchronization failure detection circuit of FIG. 2.
4 and 5 are signal diagrams for explaining how many cycles before the second clock can be predicted in advance when the first clock is delayed by how much time.
6 is a block diagram illustrating a synchronization system between heterogeneous periodic domains according to an embodiment.
FIG. 7 is a block diagram illustrating the clock predictor illustrated in FIG. 6.
FIG. 8 is an exemplary circuit diagram illustrating the synchronizer shown in FIG. 6.
9 is a circuit diagram illustrating a modification of the synchronization unit of FIG. 8.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. It is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. As used herein, the terms " comprises, " and / or "comprising" refer to the presence or absence of one or more other components, steps, operations, and / Or additions.
이하 첨부된 도면을 참조하면 본 발명의 바람직한 실시예를 상세히 설명하기로 하고, 각 도면에서 동일한 구성 및 기능을 갖는 구성요소에 대해서는 동일한 참조부호를 병기한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, and the same reference numerals are used for components having the same configuration and function in each of the drawings.
도 1 내지 도 3을 참조하여 실시예에 따른 동기화 실패 검출회로에 대해 설명한다. 도 1은 센더와 리시버로 구성된 일반적인 시스템을 나타내는 블록도이고, 도 2는 실시에에 따른 동기화 실패 검출회로를 나타내는 회로도이고, 도 3은 도 2의 동기화 실패 검출회로의 동작을 설명하기 위한 신호도이다.A synchronization failure detection circuit according to an embodiment will be described with reference to FIGS. 1 to 3. 1 is a block diagram illustrating a general system including a sender and a receiver, FIG. 2 is a circuit diagram illustrating a synchronization failure detection circuit according to an embodiment, and FIG. 3 is a signal diagram for describing an operation of the synchronization failure detection circuit of FIG. 2. to be.
먼저 도 1에 도시된 바와 같이, 센더와 리시버가 서로 다른 클록 도메인에서 동작한다. 즉, 센더는 제1 클록(sclk)에 따라 동작하며, 리시버는 제2 클록(rclk)에 따라 동작한다. 여기서 제1 클록(sclk) 및 제2 클록(rclk)은 서로 다르되, 모두 주기적인 신호이다. 센더는 제1 클록(sclk)에 따라 동작하여 데이터(data)를 출력하므로, 데이터(data)는 제1 클록(sclk)에 동기화되어 있다. 그러나 센더와 리시버는 서로 다른 클록 도메인에서 동작하므로, 제2 클록(rclk)으로 동작하는 리시버는 제1 클록(sclk)과의 동기화에 실패할 수 있다.First, as shown in FIG. 1, the sender and the receiver operate in different clock domains. That is, the sender operates according to the first clock sclk, and the receiver operates according to the second clock rclk. Here, the first clock sclk and the second clock rclk are different from each other, but both are periodic signals. Since the sender operates according to the first clock sclk and outputs data, the data is synchronized to the first clock sclk. However, since the sender and the receiver operate in different clock domains, the receiver operating as the second clock rclk may fail to synchronize with the first clock sclk.
리시버에서의 동기화 실패 여부는 도 2와 같이 동기화 실패 검출회로를 통해 검출할 수 있다. The synchronization failure in the receiver may be detected through a synchronization failure detection circuit as shown in FIG. 2.
동기화 실패 검출회로(1)는 제2 클록(rclk)을 T-Ts (T: 제2 클록(rclk)의 주기, Ts: 제1 클록(sclk)의 셋업타임(setup time))만큼 지연시킨 신호(또는 제2 클록(rclk)을 제1 클록(sclk)의 셋업타임 만큼 앞당긴 신호)와 제2 클록(rclk)을 Th (Th: 제1 클록(sclk)의 홀드타임(hold time))만큼 지연시킨 신호 각각으로 제1 클록(sclk)을 샘플링하여 판별할 수 있다. 제2 클록(rclk)을 T-Ts와 Th 만큼 각각 지연 시키면 제1 클록(sclk)의 위험(hazard) 구간만큼의 window가 생성되고, 제2 클록(rclk)은 이 window 구간에 발생됨을 의미한다. The synchronization
이러한 동기화 실패 검출회로(1)는 도 2에 도시된 바와 같이, 제1 샘플링부(20), 제2샘플링부(30) 및 검출부(40)를 포함한다. 제1 및 제2 샘플링부(20, 30)는 각각 지연기(22, 32)와 플립플롭(FF1, FF2)을 포함한다.As shown in FIG. 2, the synchronization
제1 샘플링부(20)는 제2 클록(rclk)을 Th 만큼 지연시킨 신호에 응답하여 제1 클록(sclk)을 샘플링하고, 제2 샘플링부(30)는 제2 클록(rclk)을 T-Ts 만큼 지연시킨 신호에 응답하여 제1 클록(sclk)을 샘플링한다. 구체적으로 제1 지연기(22)는 제2 클록(rclk)을 Th 만큼 지연시키고, 제1 플립플롭은(FF1) 제1 지연기(22)에 의해 지연된 제2 클록(rclk)에 응답하여 제1 클록(sclk)을 샘플링한다. 제2 지연기(32)는 제2 클록(rclk)을 T-Ts 만큼 지연시키고, 제2 플립플롭(FF2)은 제2 지연기(32)에 의해 지연된 제2 클록(rclk)에 응답하여 제1 클록(sclk)을 샘플링힌다.The
검출부(40)는 제1 및 제2 샘플링부(20, 30)의 각 샘플링 결과를 비교하여 제1 클록(sclk)과 제2 클록(rclk)간의 동기화 실패 여부를 검출한다.The
이러한 동기화 실패 검출회로(1)의 동작에 대해서는 도 3을 참조하여 좀더 구체적으로 설명한다.The operation of the synchronization
도3의 (a)와 (b)처럼 도 2의 제1 및 제2 샘플링부(20, 30)가 같은 값을 샘플링하면, 동기화 실패가 없는 경우이다. 도3 (a)의 경우, 도 2의 A, B 노드 값은 모두 ‘0’이 되고 도 3 (b)의 경우 A, B 노드 값은 ‘1’이 된다. 그러나, 도 3 (c)와 같이 A 노드가 ‘0’, B 노드가 ‘1’의 결과 값인 경우, 제2 클록(rclk)은 제1 클록(sclk)의 위험 구간에 있음을 의미하고 이는 곧 동기화 실패가 존재함을 나타낸다. 따라서 제1 및 제2 샘플링부(20, 30)의 샘플링 결과가 다를 때 도 2의 검출부(40)는 동기화 실패를 검출하고, 제1 및 제2 샘플링부(20, 30)의 샘플링 결과가 동일할 때 동기화 실패를 검출하지 않는다. If the first and
이러한 검출부(40)는, 앤드(AND) 연산자를 포함하여, 제1 및 제2 샘플링부(20, 30) 중 어느 하나의 샘플링 결과를 반전시키고, 다른 샘플링 결과와 앤드(AND) 연산을 수행할 수 있다. 다만 검출부(40)는 이에 한정되지 않고, 다양한 형태로 구현될 수 있으며, 예컨대 XOR 게이트(Exclusive-OR gates)로 구성될 수 있음은 물론이다.The
한편, 도 2의 동기화 실패 검출회로(1)에 의해서 동기화 실패 여부를 검출할 수 있다고 하더라도 동기화 실패 여부를 미리 판별하지 못하면 정작 올바를 데이터(data)를 전송할 수 없다. 따라서 도 2의 동기화 실패 검출회로(1)에, 제1 클록(sclk) 대신 특정 시간만큼 지연시킨 제1 클록(sclk)을 입력하면, 제2 클록(rclk)의 몇 싸이클 전에 동기화 실패를 미리 예측할 수 있고, 그럼으로써 동기화 실패를 미리 방지 할 수 있다.On the other hand, even if the synchronization
이하에서는 도 4 및 도 5를 참조하여, 제1 클록(sclk)을 얼마의 시간만큼 지연시킬 때 제2 클록(rclk)의 몇 사이클 전에 동기화 실패를 미리 예측할 수 있는지에 관해 설명한다. Hereinafter, with reference to FIGS. 4 and 5, how many cycles before the second clock rclk can be predicted in advance when the first clock sclk is delayed by how much time will be described.
도 4 및 도 5는 제1 클록(sclk)을 얼마의 시간만큼 지연시킬 때 제2 클록(rclk)의 몇 사이클 전에 동기화 실패를 미리 예측할 수 있는지를 설명하기 위한 신호도들이다.4 and 5 are signal diagrams for explaining how many cycles before the second clock rclk can be predicted beforehand by how much time the first clock sclk is delayed.
먼저 주기 를 갖는 free running 신호의 rising edge의 시간 집합을 라 가정하고, 를 시간 만큼 지연 시킨 신호의 rising edge의 시간 집합을 라고 가정한다. 사실상, 주기 를 갖는 free running 신호는 만큼 지연 혹은 앞당겨도 동일한 rising edge 시간 집합을 갖기 때문에 는 다음과 같이 표현할 수 있다.Give first Set the time of rising edge of free running signal with Assume that Time Time set of the rising edge of the signal delayed by . Virtual cycle Free running signal with Delaying or advancing by as much as the same rising edge time set Can be expressed as follows.
(1) (One)
따라서 는therefore The
(2) (2)
로 표현할 수 있다. 여기에서 의 (n<0)인 경우와 의 (-nT+t)<0인 경우는 의미상 신호를 앞 시간으로 당김을 나타낸다. . From here For (n <0) of and (-NT + t) <0 means that the signal is pulled forward in time.
도 4에 도시된 바와 같이, 주기 Tr를 갖는 제2 클록(rclk)과 Ts 주기의 제1 클록(sclk)을 가정하고, 제1 클록(sclk)을 특정 시간만큼 지연시킴에 따라 제2 클록(rclk)의 몇 사이클 전의 제1 클록(sclk)의 상태를 예측할 수 있는지를 살펴 본다. 제2 클록(rclk)의 4번째 rising edge(H)에서 제1 클록(sclk)과 동기화 실패 현상이 나타난다. 제2 클록(rclk)의 4번째 rising edge(H)보다 한 사이클 전인 G에서, H에서의 동기화 실패 여부를 예측하기 위해서는 제1 클록(sclk)을 F에서 G만큼(Tp) 지연시키면 된다. 한편, 제2 클록(rclk)의 주기인 Tr 만큼 지연된 제1 클록(sclk_del)과 제2 클록(rclk)과의 관계는, 한 싸이클 전의 제2 클록(rclk)과 제1 클록(sclk)과의 관계와 동일하다. 따라서, 도 4에서와 같이 제1 클록(sclk)을 Tr 만큼 지연(point A에서 point B 참조)시킨 신호(sclk_del)에서 F’로부터 H까지의 시간은 Tp와 동일하다. 그런데, Tp는 제1 클록(sclk)과, Tr 만큼 지연된 제1 클록(sclk_del)의 phase 차이와 같다. 즉, Tr 만큼 지연된 제1 클록(sclk_del)과, 제1 클록(sclk)과의 위상 차이는 Tp이고, 제1 클록(sclk)을 Tp 만큼 지연(point A에서 point C 참조)시킨 신호인 sclk_e1 신호는 제2 클록(rclk)의 4번째 싸이클의 한 싸이클 전 즉, 3번째 싸이클(G)에서 동기화 실패 현상이 나타난다. As shown in FIG. 4, assuming a second clock rclk having a period Tr and a first clock sclk of a Ts period, and delaying the first clock sclk by a specific time, the second clock ( How many cycles before the cycle of the first clock (sclk) can be predicted. A synchronization failure phenomenon occurs with the first clock sclk at the fourth rising edge H of the second clock rclk. At G, which is one cycle before the fourth rising edge H of the second clock rclk, the first clock sclk may be delayed from F to G (Tp) to predict whether or not the synchronization has failed at H. On the other hand, the relationship between the first clock sclk_del and the second clock rclk delayed by Tr, which is the period of the second clock rclk, is the relationship between the second clock rclk and the first clock sclk before one cycle. Same as relationship Therefore, as shown in FIG. 4, the time from F 'to H is equal to Tp in the signal sclk_del in which the first clock sclk is delayed by Tr (see point B at point A). However, Tp is equal to a phase difference between the first clock sclk and the first clock sclk_del delayed by Tr. That is, the phase difference between the first clock sclk_del delayed by Tr and the first clock sclk is Tp, and the sclk_e1 signal is a signal obtained by delaying the first clock sclk by Tp (see point C at point A). The synchronization failure occurs before one cycle of the fourth cycle of the second clock rclk, that is, the third cycle G.
sclk_e2, sclk_e3 신호는 각각 2배의 Tp, 3배의 Tp 만큼 제1 클록(sclk)을 지연시킨 것이며, 결과적으로 제1 클록(sclk)과 제2 클록(rclk) 간의 동기화 실패 현상이 나타나는 제2 클록(rclk)의 4번째 싸이클(H)로부터 각각 2 싸이클, 3 싸이클 전에 동기화 실패 현상이 나타나며, 이를 통해 미리 동기화 실패 현상을 예측할 수 있다. 이는 일정한 법칙에 따라 몇 싸이클 전에 동기화 실패 여부가 예측 가능하다는 것을 보여준다. The sclk_e2 and sclk_e3 signals delay the first clock sclk by twice Tp and triple Tp, respectively, and as a result, a second failure in which synchronization failure between the first clock sclk and the second clock rclk occurs. From the fourth cycle H of the clock rclk, a synchronization failure phenomenon occurs two cycles and three cycles, respectively, so that the synchronization failure phenomenon can be predicted in advance. This shows that the synchronization failure is predictable a few cycles before, according to a certain law.
즉, sclk_e1, sclk_e2, sclk_e3 신호를 도 2의 동기화 실패 검출회로(1)에 제1 클록(sclk) 대신 입력하면, 각각 Tr, 2*Tr, 3*Tr 전에 동기화 실패 여부를 예측할 수 있다(따라서 sclk_e1, sclk_e2, sclk_e3 신호를 이하에서 예측 클록이라 함).That is, when the sclk_e1, sclk_e2, and sclk_e3 signals are input to the synchronization
동기화 실패 여부를 미리 예측하기 위한 회로를 구현하는 경우, 특정 신호를 지연시키기 위에서는 지연 소자를 사용하는데 지연시킬 시간이 길면 길수록 지연 소자의 설계가 어려워지고 전력 소모와 같은 부가적인 side effect가 발생하게 된다. 그러나 식 (1)과 식 (2)의 주기 신호의 특성을 이용하면 지연 시간을 단축하면서 동일한 효과를 얻을 수 있다.When implementing a circuit for predicting synchronization failure in advance, the delay element is used to delay a specific signal. The longer the delay time is, the more difficult the delay element is to be designed and additional side effects such as power consumption are generated. do. However, by using the characteristics of the periodic signals of Equations (1) and (2), the same effect can be obtained while reducing the delay time.
도 4에서 제1 클록(sclk)을 3*Tp 만큼 지연시킨 신호인 예측 클록 (sclk_e3)을 예로 식 (2)에 적용해 보면In FIG. 4, the prediction clock sclk_e3, which is a signal obtained by delaying the first clock sclk by 3 * Tp, is applied to Equation (2) as an example.
(3) (3)
과 같이 표현할 수 있다. 여기에서 It can be expressed as From here
(4) (4)
을 만족시키는 최소의 n(n=...,-3,-2,-1,0,1,2,3,...) 값을 결정할 수 있고 이때의 값이 sclk 를 3*Tp 만큼 지연시킨 신호와 동일한 free running 신호의 최소 지연 시간이 된다. We can determine the minimum value of n (n = ...,-3, -2, -1,0,1,2,3, ...) that satisfies The value is the minimum delay of the free running signal that is equal to the signal that delayed sclk by 3 * Tp.
도 5를 참조하여 좀더 구체적으로 살펴보면, Tr, Ts 가 각각 70 ns, 60 ns 라고 가정 한다면 Tp는 50 ns 가 된다. 이때 를 만족시키는 n은 n≥-2.5, 즉 -2로 결정된다. 결론적으로 제2 클록(rclk)을 기준으로 3 싸이클 이전에 동기화 실패를 예측하기 위해서는, 제1 클록(sclk)을 3*Tp 만큼 지연시켜도 가능하지만, 최소의 지연 시간을 위해, 제1 클록(sclk)을 3*Tp 만큼 지연시킨 예측 클록 (sclk_e3)과 동일한 파형을 같는 신호를 이용하면 된다 즉, 제1 클록(sclk)을 만틈 지연시킨 예측 클록(sclk_e4)을 이용하면, 회로 구현할 때에도 지연 시간을 최소로 할 수 있어 지연 소자의 설계가 간단해 지고, 전력 소모도 줄일 수 있다. 이러한 예측 클록(sclk_e4)을 생성하는 클록 예측부에 관한 설명은 도 7을 참조하여 후술한다.Looking more specifically with reference to Figure 5, assuming that Tr, Ts is 70 ns, 60 ns, respectively, Tp is 50 ns. At this time N satisfying n is determined as n ≧ −2.5, that is, −2. In conclusion, in order to predict synchronization failure before three cycles based on the second clock rclk, it is possible to delay the first clock sclk by 3 * Tp, but for the minimum delay time, the first clock sclk Is a signal having the same waveform as that of the predicted clock sclk_e3 having a delay of 3 * Tp. That is, the first clock sclk By using the delayed prediction clock sclk_e4, the delay time can be minimized even when the circuit is implemented, thereby simplifying the design of the delay device and reducing power consumption. A description of the clock predictor that generates the predicted clock sclk_e4 will be described later with reference to FIG. 7.
도 6 내지 도 8을 참조하여 본 발명의 실시예에 따른 동기화 시스템을 설명한다. 도 6은 실시예에 따른 이종 주기 도메인 간의 동기화 시스템을 나타내는 블록도이고, 도 7은 도 6에 도시된 클록 예측기를 나타내는 블록도이고, 도 8은 도 6에 도시된 동기화기를 나타내는 예시적인 회로도이다.6 to 8, a synchronization system according to an embodiment of the present invention will be described. FIG. 6 is a block diagram illustrating a synchronization system between heterogeneous periodic domains, FIG. 7 is a block diagram illustrating a clock predictor illustrated in FIG. 6, and FIG. 8 is an exemplary circuit diagram illustrating the synchronizer illustrated in FIG. 6. .
도 6은 Heterogeneous 환경의 동기화를 위한 최상위 블록도를 나타낸다. 동기화 시스템(10)은 센더(100)와 리시버(200)를 포함하고, 센더(100)는 클록 예측기(110)를 포함하며, 리시버(200)는 동기화기(210)을 포함한다.6 shows a top block diagram for synchronization of a heterogeneous environment. The
앞서 설명한 동기화 실패를 검출하기 위해, 클록 예측기(clock predictor, 110)는 제1 클록(sclk)을 일정시간 지연시켜 예측 클록(sclk_e)을 생성한다. 센더(100)는 예측 클록(sclk_e)과 데이터(data)를 리시버(200)로 출력한다.In order to detect the above-described synchronization failure, the
리시버(200)의 동기화기(Synchronizer, 210)는 동기화 실패를 미리 검출하고 회피할 수 있는 기능을 제공한다.The
먼저 도 7을 참조하여 센더(100)의 클록 예측기(110)에 대해 구체적으로 설명한다.First, the
클록 예측기(110)는 가변 지연 소자(120)와, 고정 지연 소자(130) 및 위상 비교기(Phase Comparator, 140)를 포함한다.The
가변 지연 소자(120)는 위상 비교기(140)의 피드백에 따라 가변적인 시간만큼 제1 클록(sclk)을 지연시켜 출력한다. 고정 지연 소자(130)는 가변 지연 소자(120)에 의해 지연된 제1 클록(sclk)을 미리 예측하고자 하는 시간, 예컨대 3주기(3*Tr)만큼 지연시켜 출력한다. 위상 비교기(140)는 가변 지연 소자(120)의 출력과 제1 클록(sclk) 간의 위상을 비교하여 비교 결과를 가변 지연 소자(120)로 피드백 한다.The
예를 들어, 초기에 가변 지연 소자(120)는 제1 클록(sclk)을 지연시키지 않고 출력하며, 고정 지연 소자(130)가 제1 클록(sclk)을 3*Tr 만큼 지연시킨다. 그리고 위상 비교기(140)는 제1 클록(sclk)과 고정 지연 소자(130)에 의해 3*Tr 만큼 지연된 제1 클록(sclk)의 위상을 비교한다. 비교 결과 위상이 동일하지 않으면, 이를 가변 지연 소자(120)로 피드백한다. 가변 지연 소자(120)는 피드백에 따라 제1 클록(sclk)을 소정시간 지연하여 출력하고, 고정 가변 소자는 가변 지연 소자(120)에 의해 출력된 신호를 3*Tr 만큼 지연 시켜 출력한다. 위상 비교기(140)는 다시 제1 클록(sclk)과 고정 가변 소자로부터 출력된 신호의 위상을 비교하고, 그 비교 결과를 가변 지연 소자(120)로 피드백한다. For example, initially, the
이와 같이 위상 비교기(140)에서 위상 차이가 없어질 때까지 가변 지연 소자(120)에 지연 시간이 더해지게 되고 최종적으로 위상 비교기(140)에서 차이가 없을 때, 그때의 가변 지연 소자(120)의 지연 시간을 통해 예측 클록(sclk_e)이 생성되어 출력된다. 여기서 출력되는 예측 클록(sclk_e)은, 예컨대 도 5의 예측 클록(sclk_e4)일 수 있다.As such, when the delay time is added to the
한편, 동기화기(210)는 도 2에 도시된 구조의 동기화 실패 검출회로(1)를 포함하여, 동기화 실패 여부를 검출한다. 예측 클록(sclk_e)을 수신하여 동기화 실패를 미리 예측하고, 동기화가 실패하는 경우에는 제2 클록(rclk)을 소정시간 지연시켜 제1 클록(sclk)과 동기화시키고, 소정시간 지연된 제2 클록(rclk_del2)에 따라 데이터(data)를 수신한다. 동기화가 실패하지 않는 경우에는 동기화기(210)는 제2 클록(rclk)에 따라 데이터(data)를 수신한다. 도 8을 참조하여 이러한 동기화기(210)의 일 예를 구체적으로 설명한다.On the other hand, the
도 8을 참조하면, 동기화기(210)는 제1 샘플링부(220)와, 제2 샘플링부(230)와, 검출부(240)와, 동기화부(250)를 포함한다.Referring to FIG. 8, the
먼저 제1 샘플링부(220)는 제2 클록(rclk)을 제1 클록(sclk)의 홀드타임(Tsh)만큼 지연시켜 제1 지연신호(rclk_del0)를 출력하는 제1 지연기(222)와, 직렬로 연결되어 제1 지연신호(rclk_del0)에 응답하여 동작하는 제1 및 제2 플립플롭(FF1, FF2)을 포함한다. 제1 플립플롭(FF1)은 제1 지연신호(rclk_del0)에 응답하여 예측 클록(sclk_e)을 샘플링하고, 제2 플립플롭(FF2)은 제1 플립플롭(FF1)의 출력(sclk_e_s0A)을 제1 지연신호(rclk_del0)에 응답하여 샘플링한다. First, the
제2 샘플링부(230)는 제2 클록(rclk)의 주기 Tr에서 제1 클록(sclk)의 셋업타입을 뺀 시간만큼 제2 클록(rclk)을 지연시켜(또는 제1 클록(sclk)의 셋업타임만큼 제2 클록(rclk)을 앞당겨) 제2 지연신호(rclk_del1)를 출력하는 제2 지연기(232)와, 직렬로 연결되어 제2 지연신호(rclk_del1)에 응답하여 동작하는 제3 및 제4 플립플롭(FF3, FF4)을 포함한다. 제3 플립플롭(FF3)은 제2 지연신호(rclk_del1)에 응답하여 예측 클록(sclk_e)을 샘플링하고, 제4 플립플롭(FF4)은 제3 플립플롭(FF3)의 출력(sclk_e_s1A)을 제2 지연신호에 응답하여 샘플링한다. The
도 8의 제1 및 제2 샘플링부(220, 230)는 도 2에 도시된 제1 및 제2 샘플링부(20, 30)와 대응되는 블록들이다. 다만, 제1 및 제2 지연신호(rclk_del0, rclk_del1)는 예측 클록(sclk_e)과 비동기적인 신호이므로, 저장 장치(FF1, FF2, FF3, FF4)를 직렬로 연결한 double-latch 개념의 동기화 방식을 사용하는 것이다. The first and
한편, 도 2에서와 같이, 검출부(240)는 제1 및 제2 샘플링부(220, 230)의 각 샘플링된 결과(sclk_e_s0B, sclk_e_s1B)를 비교하여 동기화 실패 여부를 검출할 수 있다. 다만, 도 8에 도시된 예에서는 제5 내지 제8 플립플롭(FF5, FF6, FF7, FF8)을 통해 제1 및 제2 샘플링 결과(sclk_e_s0B, sclk_e_s1B)를 제2 클록(rclk)에 동기화시킨 후에 동기화 실패 여부를 검출한다. 그 이유에 대해 설명한다. 도 8에서는 제1 샘플링부(220)는 제1 클록 도메인(Domain 1)에 있고, 제2 샘플링부(230)는 제2 클록 도메인(Domain 2)에 있다. 그런데 동기화 실패 여부는 제2 클록(rclk)으로 동작하는 제3 도메인 영역(Domain 3)의 동기화 실패 검출부(240)에 의해 판단되므로, 동기화 실패 검출부(240)의 입력인 제1 및 제2 샘플링부(220, 230)의 각 샘플링 결과(sclk_e_s0B, sclk_e_s1B)들은 제2 클록(rclk)으로 동기화되는 것이 바람직하다. 제1 및 제2 샘플링부(220, 230)의 각 샘플링 결과들(sclk_e_s0B, sclk_e_s1B)을 제2 클록(rclk)으로 동기화하는 것은, 서로 다른 클록 도메인간의 전송(Domain 1와 Domain 3, Domain 2과 Domain 3)으로 인한 동기화 실패 확률을 줄이기 위함이다.Meanwhile, as shown in FIG. 2, the
따라서, 검출부(240)는, 제1 및 제2 샘플링부(220, 230)와 마찬가지로, double-latch 형태의 동기화 방식으로 제 5 내지 제8 플립플롭(FF5, FF6, FF7, FF8)을 구비한다. 그리고 제6 및 제8 플립플롭(FF6, FF8)은 각각 제5 및 제7 플립플롭(FF5, FF7)의 출력(sclk_e_S02A, sclk_e_S12A)을 제2 클록(rclk)에 응답하여 각각 샘플링한다.Accordingly, the
검출부(240)는, 예컨대 앤드 연산자를 포함하여, 제6 및 제8 플립플롭(FF6, FF7)의 출력(sclk_e_S02B, sclk_e_S12B)을 비교하여, 제1 및 제2 클록(sclk, rclk)간의 동기화 실패 여부를 검출한다. 만약, 제6 및 제8 플립플롭(FF6, FF7)의 출력(sclk_e_S02B, sclk_e_S12B)이 서로 다르면, 즉 제1 및 제2 샘플링부(220, 230)의 샘플링 결과가 서로 다르면, 검출부(240)는 동기화가 실패한 것으로 판단한다. 만약, 제6 및 제8 플립플롭(FF)의 출력(sclk_e_S02B, sclk_e_S12B)이 동일하면, 즉 제1 및 제2 샘플링부(220, 230)의 샘플링 결과가 동일하면, 검출부(240)는 동기화 실패가 아닌 것으로 판단한다. 동기화 실패인 경우를 예로 들면, 도 8에서 sclk_e_S02B는 도3 (c)에서 sclk rising 뒤에서 sampling한 신호(‘1’)와 대응되며, sclk_e_S12B는 도3 (c)에서 sclk rising 앞에서 sampling 한 신호(‘0’)와 대응된다. 이 두 신호를 이용한 AND 게이트를 거치면 동기화 실패 여부를 판단할 수 있다.The
동기화 실패가 아닌 경우, 제1 및 제2 클록(sclk, rclk)이 동기화된 것임을 의미하므로, 동기화부(250)는 데이터(data)를 제2 클록(rclk)으로 샘플링하여 수신한다.If not, it means that the first and second clock (sclk, rclk) is synchronized, the
만약 동기화 실패인 경우, 제1 및 제2 클록(sclk, rclk)이 동기화되지 않은 것을 의미하며, 동기화부(250)는 제2 클록(rclk)을 소정시간, 예컨대 제1 클록(sclk)의 셋업타임(Tss)와 홀드타임(Tsh)을 더한 시간만큼 지연시킨다. 다시 말해서, 동기화 실패인 경우에 이를 회피할 수 있는 최대 지연시간을 거친 신호(rclk_del2)로 데이터(data)를 샘플링하여 수신함으로써, 안정적으로 데이터(data)를 수신할 수 있다.If the synchronization fails, the first and second clocks sclk and rclk are not synchronized, and the
이러한 동기화부(250)는, 도 8에 도시된 바와 같이, 제3 지연기(252)와, 제9 플립플롭(FF9)과 제10 플립플롭(FF10) 및 선택부(254)를 포함한다.As shown in FIG. 8, the
제3 지연기(252)는 제2 클록(rclk)을 제1 클록(sclk)의 셋업타임(Tss)와 홀드타임(Tsh)을 더한 시간만큼 지연시켜 신호(rclk_del2)를 출력한다. 제9 플립플롭(FF9)은 제2 클록(rclk)으로 데이터(data)를 샘플링한다. 제10 플립플롭(FF10)은 제3 지연기(252)에 의해 지연된 신호(rclk_del2)로 데이터(data)를 샘플링한다. 선택부(254)는 검출부(240)의 출력(SF)에 따라 제9 플립플롭(FF9) 및 제10 플립플롭(FF10) 중 어느 하나를 선택하여, 샘플링된 데이터(data_s)를 출력한다. The
동기화기(210)는 전체적으로 동기화 실패 검출 입력을 위한 1개씩의 플립플롭(FF0, FF1)과 두 개의 double-latch 동기화에 필요한 2개씩의 플립플롭(FF2, FF4와 FF5, FF7))이 더해져서 총 3단의 파이프라인을 거쳐야 현재 데이터(data)의 동기화 실패 여부를 알 수 있다. 따라서 도 8에 도시된 동기화기(210)가 센더(200)에 사용되는 경우, 검출부(240)가 제2 클록(rclk) 기준으로 3싸이클(3 주기) 전에 동기화 실패 여부를 예측하도록, 센더(100)의 클록 예측부(110)는 예측 클록(sclk_e)을 생성해야 한다. 따라서 클록 예측부의 고정 지연 소자(130)는 3*Tr 만큼 지연시키는 것이다.The
도 9는 도 8의 동기화부(250)의 변형례를 나타내는 회로도이다.9 is a circuit diagram illustrating a modification of the
도 9를 참조하면, 동기화부(251)는 동기화 실패 여부 결과에 따라, 제2 클록(rclk)과, 제1 클록(sclk)의 셋업타임(Tss)와 홀드타임(Tsh)을 더한 시간만큼 제2 클록(rclk)을 지연시킨 신호(rclk_del2) 중 어느 하나를 선택하는 선택부(254)와, 선택된 어느 하나의 신호에 응답하여 데이터(data)를 샘플링하는 제11 플립플롭(FF11)을 포함한다. 여기서 선택부(258)는 먹스(MUX)로 구성될 수 있다.Referring to FIG. 9, according to a result of the synchronization failure, the
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.It will be understood by those skilled in the art that the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the claims and their equivalents should be construed as being included in the scope of the present invention.
1: 동기화 실패 검출회로 10: 동기화 시스템
20: 제1 샘플링부 30: 제2 샘플링부
40: 검출부 100: 센더
200: 리시버 1: synchronization failure detection circuit 10: synchronization system
20: first sampling unit 30: second sampling unit
40: detector 100: sender
200: receiver
Claims (20)
상기 제1 클록을 제1 시간 지연시킨 예측 클록을 출력하는 센더; 및
상기 예측 클록을 이용하여 상기 제1 클록과 상기 제2 클록 간의 동기화 실패 여부를 예측하고, 상기 예측 결과에 따라 선택적으로 상기 제2 클록을 제2 시간 지연시켜 상기 제1 클록과 동기화시키는 리시버를 포함하며,
상기 센더는
상기 예측 클록과 상기 제2 클록 간의 동기화 실패 여부를 검출하여, 상기 제1 클록과 상기 제2 클록 간에 실제 동기화 실패가 발생하는 시점보다 일정시간 미리 예측하는 것
인 이종 주기 클록 도메인간의 동기화 시스템.A synchronization system between heterogeneous periodic clock domains comprising a sender and a receiver operating in accordance with a first clock and a second clock of a heterogeneous period, respectively,
A sender configured to output a prediction clock obtained by delaying the first clock by a first time; And
A receiver for predicting whether a synchronization failure between the first clock and the second clock is failed by using the prediction clock and selectively delaying the second clock for a second time according to the prediction result to synchronize with the first clock; ,
The sender is
Detecting whether a synchronization failure between the predicted clock and the second clock occurs and predicting a predetermined time in advance than a time point at which an actual synchronization failure occurs between the first clock and the second clock;
Synchronization system between heterogeneous periodic clock domains.
상기 제1 시간은 미리 예측하고자 하는 상기 일정시간에 따라 결정되는 것
인 이종 주기 클록 도메인간의 동기화 시스템.3. The method of claim 2,
The first time is determined according to the predetermined time to be predicted in advance
Synchronization system between heterogeneous periodic clock domains.
상기 센더는 상기 예측 클럭을 출력하는 클록 예측기를 포함하고,
상기 클록 예측기는
피드백에 따라 가변적인 시간만큼 상기 제1 클록을 지연시키는 가변 지연 소자;
상기 가변 지연 소자에 의해 지연된 제1 클록을 미리 예측하고자 하는 상기 일정시간만큼 지연시키는 고정 지연 소자; 및
상기 제1 클록과, 상기 고정 지연 소자의 출력간의 위상을 비교하고, 상기 비교 결과를 상기 가변 지연 소자로 피드백하는 위상 비교기를 포함하되,
상기 가변 지연 소자는 상기 비교 결과 위상이 동일한 때에 상기 가변적인 시간만큼 지연된 제1 클록을 상기 예측 클록으로 출력하는 것
인 이종 주기 클록 도메인간의 동기화 시스템.3. The method of claim 2,
The sender includes a clock predictor for outputting the prediction clock,
The clock predictor
A variable delay element for delaying the first clock by a variable time in response to a feedback;
A fixed delay element for delaying the first clock delayed by the variable delay element by the predetermined time to be predicted in advance; And
Comprising a phase comparator for comparing the phase between the first clock and the output of the fixed delay element, and feeds back the comparison result to the variable delay element,
The variable delay element outputs a first clock delayed by the variable time to the predicted clock when the comparison result is the same phase.
Synchronization system between heterogeneous periodic clock domains.
상기 제1 클록의 홀드타임만큼 상기 제2 클록을 지연시킨 신호와, 상기 제2 클록의 주기에서 상기 제1 클록의 셋업타임을 뺀 시간만큼 상기 제2 클록을 지연시킨 신호를 이용하여, 상기 예측 클록을 각각 샘플링하고, 각 샘플링 결과를 기초로 상기 제1 및 제2 클록간의 동기화 실패 여부를 검출하는 동기화 실패 검출기를 포함하는 것
인 이종 주기 클록 도메인간의 동기화 시스템.The method of claim 2, wherein the receiver
The prediction is performed by using a signal that delays the second clock by the hold time of the first clock and a signal that delays the second clock by a time obtained by subtracting the setup time of the first clock from the period of the second clock. And a synchronization failure detector for sampling clocks respectively and detecting whether synchronization between the first and second clocks has failed based on each sampling result.
Synchronization system between heterogeneous periodic clock domains.
상기 제1 클록의 홀드타임만큼 상기 제2 클록을 지연시킨 신호에 응답하여 상기 예측 클록을 샘플링하는 제1 샘플링부;
상기 제2 클록의 주기에서 상기 제1 클록의 셋업타임을 뺀 시간만큼 상기 제2 클록을 지연시킨 신호에 응답하여 상기 예측 클록을 샘플링하는 제2 샘플링부; 및
상기 제1 및 제2 샘플링부의 샘플링 결과가 서로 다른 경우에 상기 동기화가 실패한 것으로 검출하는 검출부를 포함하는 것
인 이종 주기 클록 도메인간의 동기화 시스템.The method of claim 5, wherein the synchronization failure detector is
A first sampling unit sampling the predicted clock in response to a signal of delaying the second clock by a hold time of the first clock;
A second sampling unit configured to sample the prediction clock in response to a signal of delaying the second clock by a time obtained by subtracting a setup time of the first clock from a period of the second clock; And
And a detecting unit for detecting that the synchronization has failed when the sampling results of the first and second sampling units are different from each other.
Synchronization system between heterogeneous periodic clock domains.
상기 제1 및 제2 클록간의 동기화가 실패한 것으로 예측한 경우,
상기 제1 클록의 홀드타임 및 셋업타임의 합만큼 상기 제2 클록을 지연시켜, 상기 지연된 제2 클록과 상기 제1 클록을 동기화시키는 동기화기를 포함하는 것
인 이종 주기 클록 도메인간의 동기화 시스템.The method of claim 2, wherein the receiver
If it is predicted that the synchronization between the first and second clock has failed,
And a synchronizer for delaying the second clock by the sum of the hold time and the setup time of the first clock to synchronize the delayed second clock with the first clock.
Synchronization system between heterogeneous periodic clock domains.
상기 센더로부터 상기 제1 클록에 동기화되어 출력되는 데이터를 상기 제2 클록으로 샘플링하는 제1 샘플링부;
상기 제2 클록을 상기 제1 클록의 홀드타임 및 셋업타임의 합만큼 상기 제2 클록을 지연시키는 지연부;
상기 데이터를 상기 지연부에 의해 지연된 제2 클록으로 샘플링하는 제2 샘플링부; 및
상기 동기화 실패 여부의 예측 결과에 따라 상기 제1 샘플링부에 의해 샘플링된 데이터 및 상기 제2 샘플링부에 의해 샘플링된 데이터 중 어느 하나를 선택하는 선택부를 포함하는 것
인 이종 주기 클록 도메인간의 동기화 시스템.8. The apparatus of claim 7, wherein the synchronizer
A first sampling unit configured to sample data output from the sender in synchronization with the first clock as the second clock;
A delay unit delaying the second clock by the sum of the hold time and the setup time of the first clock;
A second sampling unit for sampling the data with a second clock delayed by the delay unit; And
And a selection unit for selecting any one of data sampled by the first sampling unit and data sampled by the second sampling unit according to a prediction result of the synchronization failure.
Synchronization system between heterogeneous periodic clock domains.
상기 제1 클록이 제1 시간 지연된 예측 클록을 입력받고, 상기 제1 클록의 홀드타임만큼 상기 제2 클록을 지연시킨 제1 지연신호에 응답하여, 상기 예측 클록을 샘플링하는 제1 샘플링부;
상기 제2 클록의 주기에서 상기 제1 클록의 셋업타임을 뺀 시간만큼 상기 제2 클록을 지연시킨 제2 지연신호에 응답하여, 상기 예측 클럭을 샘플링하는 제2 샘플링부;
상기 제1 및 제2 샘플링부에 의해 샘플링된 결과를 각각 상기 제2 클록으로 샘플링하고, 상기 제2 클록으로 샘플링된 결과들을 비교하여 상기 제1 및 제2 클록 간의 동기화 실패 여부를 검출하는 검출부; 및
상기 검출 결과에 따라 선택적으로 상기 제2 클록을 제2 시간만큼 지연시켜 상기 제1 클록과 동기화시키는 동기화부
를 포함하는 동기화 장치.A synchronization device for performing synchronization between a first clock and a second clock of a heterogeneous period,
A first sampling unit configured to sample the predicted clock in response to a first delayed first clock received by a first time delayed prediction clock and delaying the second clock by a hold time of the first clock;
A second sampling unit configured to sample the prediction clock in response to a second delay signal that delays the second clock by a time subtracted from the setup time of the first clock by a period of the second clock;
A detector configured to sample the results sampled by the first and second sampling units with the second clock, respectively, and compare the results sampled with the second clock to detect whether synchronization between the first and second clocks has failed; And
A synchronization unit for selectively delaying the second clock by a second time and synchronizing with the first clock according to the detection result
≪ / RTI >
동기화 실패로 예측된 경우, 상기 제2 시간만큼 지연된 제2 클록으로, 상기 제1 클록에 동기화되어 입력되는 데이터를 수신하고,
상기 동기화 실패가 아닌 것으로 예측된 경우, 상기 제2 클록으로, 상기 제1 클록에 동기화되어 입력되는 데이터를 수신하는 것
인 이종 주기 클록 도메인간의 동기화 장치.The method of claim 9, wherein the synchronization unit
If it is predicted that the synchronization failure, the second clock delayed by the second time, the data received in synchronization with the first clock,
Receiving, as the second clock, data that is input in synchronization with the first clock when the synchronization is not expected to fail.
Synchronization device between heterogeneous periodic clock domains.
상기 제2 시간만큼 지연된 제2 클록으로 상기 데이터를 샘플링하는 제3 샘플링부;
상기 제2 클록으로 샘플링하는 상기 데이터를 제4 샘플링부; 및
상기 검출 결과에 따라 상기 제3 및 제4 샘플링부의 출력 중 어느 하나를 선택하는 선택부를 포함하는 것
인 이종 주기 클록 도메인간의 동기화 장치.The method of claim 10, wherein the synchronization unit
A third sampling unit for sampling the data with a second clock delayed by the second time;
A fourth sampling unit for sampling the data with the second clock; And
And a selection unit for selecting any one of outputs of the third and fourth sampling units according to the detection result.
Synchronization device between heterogeneous periodic clock domains.
상기 검출 결과에 따라, 제2 클록과 상기 제2 시간만큼 지연된 제2 클록을 중 어느 하나를 선택하는 선택부; 및
상기 선택부에 의해 선택된 어느 하나에 응답하여 상기 데이터를 샘플링하는 제3 샘플링부를 포함하는 것
인 이종 주기 클록 도메인간의 동기화 장치.The method of claim 10, wherein the synchronization unit
A selector configured to select one of a second clock and a second clock delayed by the second time according to the detection result; And
And a third sampling unit for sampling the data in response to any one selected by the selection unit.
Synchronization device between heterogeneous periodic clock domains.
상기 검출부는 상기 제1 클록과 상기 제2 클록 간에 실제 동기화 실패가 발생하는 시점보다 일정 시간 미리 예측하는 것이고,
상기 제1 시간은 미리 예측하고자 하는 상기 일정시간에 따라 결정되는 것
인 이종 주기 클록 도메인간의 동기화 장치.10. The method of claim 9,
The detector predicts a predetermined time in advance than a time point at which an actual synchronization failure occurs between the first clock and the second clock.
The first time is determined according to the predetermined time to be predicted in advance
Synchronization device between heterogeneous periodic clock domains.
상기 제2 시간은 상기 제1 클록의 홀드타임 및 셋업타임의 합
인 이종 주기 클록 도메인간의 동기화 장치.10. The method of claim 9,
The second time is the sum of the hold time and the setup time of the first clock.
Synchronization device between heterogeneous periodic clock domains.
제1 클록의 홀드타임만큼 상기 제2 클록을 지연시킨 제1 지연신호에 응답하여, 상기 제1 클록을 샘플링하는 제1 샘플링부;
상기 제2 클록의 주기에서 상기 제1 클록의 셋업타임을 뺀 시간만큼 상기 제2 클록을 지연시킨 제2 지연신호에 응답하여, 상기 제1 클럭을 샘플링하는 제2 샘플링부; 및
상기 제1 및 제2 샘플링부에 의해 샘플링된 결과가 서로 다른지 여부를 검출하는 검출부
를 포함하는 동기화 실패 검출회로.In the synchronization failure detection circuit for detecting whether the synchronization failure between the first clock and the second clock,
A first sampling unit sampling the first clock in response to a first delayed signal delaying the second clock by a hold time of a first clock;
A second sampling unit configured to sample the first clock in response to a second delay signal that delays the second clock by a time obtained by subtracting a setup time of the first clock from a period of the second clock; And
A detector for detecting whether the results sampled by the first and second sampling units are different from each other
Synchronization failure detection circuit comprising a.
상기 제1 및 제2 샘플링부에 의해 샘플링된 결과가 서로 다른 경우에 상기 제1 및 제2 클록간의 동기화가 실패한 것으로 검출하는 것
인 동기화 실패 검출회로.The method of claim 15, wherein the detection unit
Detecting that synchronization between the first and second clocks fails when the results sampled by the first and second sampling units are different from each other.
Synchronization failure detection circuit.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/825,919 US8433019B2 (en) | 2009-07-24 | 2010-06-29 | System and apparatus for synchronization between heterogeneous periodic clock domains, circuit for detecting synchronization failure and data receiving method |
JP2010157060A JP5271976B2 (en) | 2009-07-24 | 2010-07-09 | Synchronization system, synchronization apparatus, synchronization failure detection circuit, and data reception method between different period clock domains |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20090067864 | 2009-07-24 | ||
KR1020090067864 | 2009-07-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110010542A KR20110010542A (en) | 2011-02-01 |
KR101313104B1 true KR101313104B1 (en) | 2013-09-30 |
Family
ID=43771075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100024315A KR101313104B1 (en) | 2009-07-24 | 2010-03-18 | System and apparatus for synchronization between heterogeneous periodic clock domains, circuit for detecting synchronization failure and data receiving method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101313104B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102516881B1 (en) * | 2016-02-29 | 2023-04-17 | 삼성전자주식회사 | Method and apparatus for aligning clock phase |
CN115130151B (en) * | 2022-06-06 | 2024-10-29 | 华中科技大学 | Safety detection circuit and safety detection method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050109071A (en) * | 2003-02-20 | 2005-11-17 | 자링크 세미컨덕터, 인크 | Alignment of clock domains in packet networks |
KR20060059893A (en) * | 2003-06-09 | 2006-06-02 | 주식회사 아도반테스토 | Transmission system, receiver, test equipment and test head |
KR20060106855A (en) * | 2004-01-09 | 2006-10-12 | 주식회사 아도반테스토 | Timing clock calibration method |
JP2007104347A (en) | 2005-10-05 | 2007-04-19 | Matsushita Electric Ind Co Ltd | Clock synchronization system and method of audio transmission system |
-
2010
- 2010-03-18 KR KR1020100024315A patent/KR101313104B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050109071A (en) * | 2003-02-20 | 2005-11-17 | 자링크 세미컨덕터, 인크 | Alignment of clock domains in packet networks |
KR20060059893A (en) * | 2003-06-09 | 2006-06-02 | 주식회사 아도반테스토 | Transmission system, receiver, test equipment and test head |
KR20060106855A (en) * | 2004-01-09 | 2006-10-12 | 주식회사 아도반테스토 | Timing clock calibration method |
JP2007104347A (en) | 2005-10-05 | 2007-04-19 | Matsushita Electric Ind Co Ltd | Clock synchronization system and method of audio transmission system |
Also Published As
Publication number | Publication date |
---|---|
KR20110010542A (en) | 2011-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5271976B2 (en) | Synchronization system, synchronization apparatus, synchronization failure detection circuit, and data reception method between different period clock domains | |
CN107220204B (en) | Data reading circuit | |
JP4788825B2 (en) | Jitter suppression circuit and jitter suppression method | |
US20130271193A1 (en) | Circuits and methods to guarantee lock in delay locked loops and avoid harmonic locking | |
US20180331676A1 (en) | Skew control | |
US10564664B2 (en) | Integrated skew control | |
US8514920B2 (en) | Methods and apparatus for pseudo asynchronous testing of receive path in serializer/deserializer devices | |
KR101313104B1 (en) | System and apparatus for synchronization between heterogeneous periodic clock domains, circuit for detecting synchronization failure and data receiving method | |
US7826566B2 (en) | Communication system | |
JP2011061350A (en) | Receiving apparatus and receiving method thereof | |
JPH10190642A (en) | Data synchronizing circuit | |
JP4531827B2 (en) | Communication device | |
US8300755B2 (en) | Timing recovery circuit, communication node, network system, and electronic device | |
US9602272B2 (en) | Clock and data recovery circuit and system using the same | |
US7321647B2 (en) | Clock extracting circuit and clock extracting method | |
KR102617240B1 (en) | Semiconductor device | |
JP3719413B2 (en) | Data transmission system, data transmission / reception apparatus used therefor, and method thereof | |
JP2010183429A (en) | Clock extracting circuit | |
US8811501B2 (en) | Receiving apparatus, transmission and reception system, and restoration method | |
US20070014388A1 (en) | Method for generating transmitter clock and transmit clock generator | |
JP5378765B2 (en) | Data transfer system | |
JP2950351B2 (en) | Pulse signal generation circuit | |
US8473248B2 (en) | Test apparatus and test method | |
US20160164666A1 (en) | Clock and data recovery circuit and system using the same | |
KR20170101749A (en) | Method and apparatus for aligning clock phase |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160826 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170828 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190826 Year of fee payment: 7 |