KR102516881B1 - 클럭 위상 정렬을 위한 방법 및 장치 - Google Patents
클럭 위상 정렬을 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR102516881B1 KR102516881B1 KR1020160081544A KR20160081544A KR102516881B1 KR 102516881 B1 KR102516881 B1 KR 102516881B1 KR 1020160081544 A KR1020160081544 A KR 1020160081544A KR 20160081544 A KR20160081544 A KR 20160081544A KR 102516881 B1 KR102516881 B1 KR 102516881B1
- Authority
- KR
- South Korea
- Prior art keywords
- clock signal
- clock
- signal
- delay
- delayed
- Prior art date
Links
- 238000000034 method Methods 0.000 title abstract description 14
- 230000003111 delayed effect Effects 0.000 claims abstract description 48
- 239000000872 buffer Substances 0.000 claims description 26
- 230000007423 decrease Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 27
- 238000004891 communication Methods 0.000 description 7
- 230000001934 delay Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/06—Clock generators producing several clock signals
-
- 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/081—Details of the phase-locked loop provided with an additional controlled phase shifter
- H03L7/0812—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
- H03L7/0814—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used the phase shifting device being digitally controlled
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Manipulation Of Pulses (AREA)
Abstract
두 클럭 신호의 위상을 정렬하는 방법 및 장치는, 제 1 클럭 신호의 선행 신호 및 지연 신호를 생성하여, 위상 검출기를 통해 제 1 클럭 신호와 제 2 클럭 신호의 위상간 관계를 검출하고, 검출 결과에 따라 제 1 클럭 신호를 반복적으로 지연시킴으로써, 두 클럭 신호의 위상을 정렬할 수 있다.
Description
본 개시는 복수의 클럭 신호를 이용하는 시스템에서 클럭 신호의 위상을 정렬하는 방법 및 장치에 관한 것이다.
기술이 발전함에 따라, 서로 다른 클럭 신호를 이용하는 복수의 회로가 한 시스템에 포함되는 경우가 증가되었다. 예를 들어, 다수의 프로세싱 코어(Processing core)를 탑재한 SoC(System on Chip)은 센서 네트워크의 센서 노트, 휴대 전화, 기지국, 네트워크 라우터 등 다양한 시스템에서 활용되고 있다. 이렇게 복수의 프로세싱 코어를 포함하는 프로세서 아키텍처를 다중 코어 시스템으로 정의한다. 다중 코어 시스템에 포함된 각 코어는 독립적인 클럭 신호에 기초하여 동작하기 때문에, 다수의 작업을 동시에 처리할 수 있어 단일 코어 시스템에 비해 현저한 성능 향상을 기대할 수 있게 되었다.
그러나, 다중 코어 시스템에 포함된 각 코어들과 버스 및 메모리는 독립적인 클럭 신호를 이용하기 때문에, 각 구성요소간 데이터 통신을 위해서는 클럭 신호를 동기화할 필요가 있다.
클럭 위상을 정렬하는 방법 및 장치를 제공하는 데 있다. 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
일 측면에 따른, 두 클럭 신호의 위상을 정렬하는 장치는 제 1 클럭 신호의 선행 신호 및 상기 제 1 클럭 신호의 지연 신호를 생성하고, 상기 생성된 클럭 신호들에 기초하여 상기 제 1 클럭 신호와 제 2 클럭 신호의 위상간 관계를 검출하는, 위상 검출기; 상기 제 1 클럭 신호의 지연 신호보다 상기 제 2 클럭 신호가 지연된 경우, 상기 제 1 클럭 신호를 지연시키는, 지연 생성기; 및 상기 위상 검출기의 검출 결과로 상기 제 1 클럭 신호 및 상기 제 2 클럭 신호의 위상이 정렬되었는지 판단하는, 제어부를 포함할 수 있다.
다른 일 측면에 따라, 두 클럭 신호의 위상을 정렬하는 방법은 제 1 클럭 신호의 선행 신호 및 상기 제 1 클럭 신호의 지연 신호를 생성하고, 상기 생성된 클럭 신호들에 기초하여 상기 제 1 클럭 신호와 제 2 클럭 신호의 위상간 관계를 검출하는 단계; 상기 제 1 클럭 신호의 지연 신호보다 상기 제 2 클럭 신호가 지연된 경우, 상기 제 1 클럭 신호를 지연시키는 단계; 및 상기 지연된 제 1 클럭 신호와 상기 제 2 클럭 신호의 위상이 정렬되었는지 판단하는 단계를 포함할 수 있다.
상기된 바에 따르면, 사용자의 입력 없이 제 1 클럭 신호를 지연시켜 제 2 클럭 신호와 위상을 정렬하기 때문에, 서로 다른 클럭 신호를 사용하는 도메인들간 데이터를 송수신할 때 동기화를 수행하는 효과를 얻을 수 있다.
도 1은 일 실시예에 따라 서로 다른 클럭 신호를 이용하는 두 도메인간 데이터 통신을 수행하는 장치를 설명하기 위한 도면이다.
도 2는 다른 실시예에 따라 두 클럭 도메인간 데이터 통신을 수행하는 장치를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른, 클럭 위상 정렬 장치를 설명하기 위한 도면이다.
도 4는 다른 실시예에 따라, 클럭 위상 정렬 장치를 설명하기 위한 블록도이다.
도 5a는 일 실시예에 따른 위상 검출기를 도시한 도면이다.
도 5b는 일 실시예에 따라, 위상 검출기의 위상 정렬 윈도우를 도시한 도면이다.
도 6a는 일 실시예에 따라, 위상 검출기의 출력 비트가 (0,1)일 때 두 클럭 신호간 관계를 도시한 도면이다.
도 6b는 다른 실시예에 따라, 위상 검출기의 출력 비트가 (0,0)일 때 두 클럭 신호간 관계를 도시한 도면이다.
도 6c는 다른 실시예에 따라, 위상 검출기의 출력 비트가 (1,1)일 때 두 클럭 신호간 관계를 도시한 도면이다.
도 7은 일 실시예에 따라, 지연 생성기를 도시한 도면이다.
도 8은 다른 실시예에 따라, 위상 검출기에 포함된 제 1 클럭 신호의 선행 신호 및 지연 신호를 생성 회로를 도시한 도면이다.
도 9는 일 실시예에 따라, 클럭 위상을 정렬하는 방법을 도시한 흐름도이다.
도 10은 일 실시예에 따라, 클럭 위상을 정렬하는 방법을 구체적으로 도시한 상세 흐름도이다.
도 11은 일 실시예에 따라, 클럭 위상을 정렬하는 유사 코드(pseudo-code)를 도시한 도면이다.
도 2는 다른 실시예에 따라 두 클럭 도메인간 데이터 통신을 수행하는 장치를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른, 클럭 위상 정렬 장치를 설명하기 위한 도면이다.
도 4는 다른 실시예에 따라, 클럭 위상 정렬 장치를 설명하기 위한 블록도이다.
도 5a는 일 실시예에 따른 위상 검출기를 도시한 도면이다.
도 5b는 일 실시예에 따라, 위상 검출기의 위상 정렬 윈도우를 도시한 도면이다.
도 6a는 일 실시예에 따라, 위상 검출기의 출력 비트가 (0,1)일 때 두 클럭 신호간 관계를 도시한 도면이다.
도 6b는 다른 실시예에 따라, 위상 검출기의 출력 비트가 (0,0)일 때 두 클럭 신호간 관계를 도시한 도면이다.
도 6c는 다른 실시예에 따라, 위상 검출기의 출력 비트가 (1,1)일 때 두 클럭 신호간 관계를 도시한 도면이다.
도 7은 일 실시예에 따라, 지연 생성기를 도시한 도면이다.
도 8은 다른 실시예에 따라, 위상 검출기에 포함된 제 1 클럭 신호의 선행 신호 및 지연 신호를 생성 회로를 도시한 도면이다.
도 9는 일 실시예에 따라, 클럭 위상을 정렬하는 방법을 도시한 흐름도이다.
도 10은 일 실시예에 따라, 클럭 위상을 정렬하는 방법을 구체적으로 도시한 상세 흐름도이다.
도 11은 일 실시예에 따라, 클럭 위상을 정렬하는 유사 코드(pseudo-code)를 도시한 도면이다.
본 실시예들에서 사용되는 용어는 본 실시예들에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 기술분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 임의로 선정된 용어도 있으며, 이 경우 해당 실시예의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 실시예들에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 실시예들의 전반에 걸친 내용을 토대로 정의되어야 한다.
실시예들에 대한 설명들에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 그 중간에 다른 구성요소를 사이에 두고 전기적으로 연결되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 실시예들에 기재된 "...부", "...모듈"의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
본 실시예들에서 사용되는 "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
하기 실시예들에 대한 설명은 권리범위를 제한하는 것으로 해석되지 말아야 하며, 해당 기술분야의 당업자가 용이하게 유추할 수 있는 것은 실시예들의 권리범위에 속하는 것으로 해석되어야 할 것이다. 이하 첨부된 도면들을 참조하면서 오로지 예시를 위한 실시예들을 상세히 설명하기로 한다.
도 1은 일 실시예에 따라 서로 다른 클럭 신호를 이용하는 두 도메인간 데이터 통신을 수행하는 장치를 설명하기 위한 도면이다.
도 1을 참조하면, 데이터는 도메인A(110)에서 도메인B(120)로 전달될 수 있다. 이때 도메인A(110)와 도메인B(120)가 서로 다른 주파수의 클럭 신호를 이용하거나, 클럭 신호들의 위상이 일치하지 않으면, 두 도메인간 데이터가 제대로 전달되지 않을 수 있다. 이러한 경우, 비동기 FIFO(Asynchronous First In-First Out)(100)를 이용하면, 두 도메인간 데이터 통신이 수행될 수 있다. 비동기 FIFO(100)는 버퍼(140) 및 레벨 동기부(level synchronizer)(130, 150)를 포함할 수 있다. 먼저 도메인A(110)에서 도메인B(120)로 전달하기 위한 입력 데이터(DIN)는 버퍼(140)에 저장되고, Write 포인터(115)가 업데이트된다. 또한, Write 포인터(115)가 업데이트 된 것이 레벨 동기부(150)를 통해 도메인B(120)에 통지될 수 있다. 이렇게 되면, 도메인B(120)에서는 버퍼(140)로부터 출력 데이터(DOUT)가 출력되고, Read 포인터(125)가 업데이트된다. 그 후, Read 포인터(125)가 업데이트된 것은 레벨 동기부(130)를 통해 도메인A(110)에 전달되고, 도메인A(110)의 Write 포인터(115)는 다음 데이터로 이동된다.
버퍼(140)는 두 도메인간 데이터를 연속적으로 전달해야 하는 경우, 데이터를 저장하기 위해 사용될 수 있다. 그러나, 데이터 크기에 따라 버퍼(140)의 크기가 증가하기 때문에, 전체 시스템의 부피가 커질 수 있다. 더불어, Write 포인터 및 Read 포인터가 업데이트되는 시간이 필요하기 때문에, 비동기 FIFO(100)를 이용하면 입력 데이터(DIN)와 출력 데이터(DOUT)간 지연 시간이 길어질 수 있다.
도 2는 다른 실시예에 따라 두 클럭 도메인간 데이터 통신을 수행하는 장치를 설명하기 위한 도면이다.
도 2를 참조하면, 클럭 생성 장치(200)는 서로 다른 클럭 신호의 위상을 정렬하여 클럭 신호들을 동기화한 것과 같은 효과를 얻을 수 있다. 클럭 생성 장치(200)는 클러스터 클럭 생성기(Cluster clock generator)(250), 지연 조정기(Tunable delay)(260, 261) 및 위상 비교기(Phase comparator)(280, 281)를 포함할 수 있다.
구체적으로, 도 2에 도시된 클럭 생성 장치(200)는 가변 지연 버퍼(Tunable delay buffer)를 사용하여 한 도메인의 클럭 신호를 지연시켜, 다른 도메인의 클럭 신호와 위상 차이를 보상하는 방식으로 위상을 정렬하는 장치를 포함한다. 클럭 신호가 2의 배수만큼 차이 나는 경우, 클럭 신호들의 위상이 정렬되면 클럭 신호들이 동기화된 것과 같이 클럭 신호들의 리딩 엣지가 일치하기 때문에, 비동기 FIFO를 사용하지 않아도 두 도메인간 데이터 통신이 가능해진다. 여기서 리딩 엣지(Leading edge)는 신호의 상태가 낮은 상태에서 높은 상태로 변화하는 순간을 의미하며, 상승 엣지로도 표시될 수 있다.
구체적으로, 클럭 신호의 위상을 정렬되는 과정은 다음과 같다. 먼저, 외부 클럭 신호는 위상고정루프(Phase Locked Loop, PLL)(210)를 통과하게 된다. 위상고정루프(210)는 외부 클럭 신호를 수신하여 시스템 내부 동작에 필요한 내부 클럭 신호를 발생시킬 수 있다. 그 후, 위상고정루프(210)에서 출력된 클럭 신호는 전역 클럭 생성기(Global clock generator)(220)를 통과하게 된다. 또한 전역 클럭 생성기(220)는 내부 구성 요소에 따라, 버스 허브 클럭 트리(Bus hub clock tree)(231), 클러스터 클럭 트리(Cluster clock tree)(230), DRAM 클럭 트리(DRAM clock tree)(232)등을 생성할 수 있다. 이때, 클러스터는 독립적으로 동작할 수 있는 프로세서를 갖는 복수의 코어를 포함할 수 있다. 따라서, 각 클러스터 마다 클러스터 클럭 생성기(Cluster clock generator)(250)와 각 클러스터에 포함된 코어들에 대응되는 코어 클럭 트리(Core clock tree) (271)가 포함될 수 있다.
도 2를 참조하면, 제 1 클러스터(240)에 클러스터 클럭 생성기(250), 캐시 클럭 트리(Cache clock tree)(270) 및 코어 클럭 트리(271)가 포함될 수 있다. 이때 캐시는 코어보다 더 빠른 처리 속도가 요구되기 때문에, 캐시 클럭 트리(270)에서 출력되는 캐시 클럭 신호는 코어 클럭 트리(271)에서 출력되는 코어 클럭 신호보다 주파수가 높다. 따라서, 위상 비교기(280, 281)를 이용해서 캐시 클럭 신호와 코어 클럭 신호의 위상 차이가 검출되면, 클러스터 클럭 생성기(250)는 검출된 위상 차이에 기초하여 지연 조정기 (260, 261)를 통해, 코어 클럭 신호를 캐시 클럭 신호와 위상이 정렬될 때까지 지연시킨다.
그러나 클럭 생성 장치(200)의 지연 조정기 (260, 261)는 사용자의 입력에 따라 제어되기 때문에, 클럭 생성 장치(200)를 양산하는 것은 어려울 수 있다. 또한, 회로 동작 중에 전압 또는 주파수가 달라지는 DVFS(Dynamic Voltage Frequency Scaling)에서 클럭 위상을 정렬하는 것이 어려울 수 있다. 한편 위상 비교기(280, 281)의 경우, 위상 차이를 검출하는 데 많은 시간이 소모된다.
도 3은 일 실시예에 따른, 클럭 위상 정렬 장치를 설명하기 위한 도면이다.
도 3의 위상고정루프(310), 전역 클럭 생성기(320), 클러스터 클럭 생성기(340), 캐시 클럭 트리(270) 및 코어 클럭 트리(271)는 도 2의 위상고정루프(210), 전역 클럭 생성기(220), 클러스터 클럭 생성기(250), 캐시 클럭 트리(350) 및 코어 클럭 트리(351)와 각각 대응되므로, 자세한 설명은 생략한다.
도 3을 참조하면, 클럭 위상 정렬 장치(360)는 도 2의 클럭 생성 장치(200)와 마찬가지로 각 클러스터마다 위치할 수 있다. 또한, 클럭 위상 정렬 장치(360)는 캐시 클럭 트리(350)와 코어 클럭 트리(351)의 출력 클럭 신호를 수신하여, 두 클럭 신호간 위상 차이를 검출하고, 위상 차이에 기초하여 코어 클럭 트리(351)를 제어할 수 있다. 도 3에서 클럭 위상 정렬 장치(360)는 캐시 클럭 신호와 코어 클럭 신호의 위상을 정렬하는 것을 가정하여 도시되었으나, 이는 설명의 편의를 위한 것일 뿐, 본 실시예는 이에 제한되지 않는다. 즉, 클럭 위상 정렬 장치(360)는 캐시 클럭 신호 및 코어 클럭 신호뿐 아니라, 주파수가 상이한 두 클럭 신호라면 모두 위상을 정렬시킬 수 있다.
이때, 클럭 위상 정렬 장치(360)는 주파수가 상대적으로 낮은 클럭 신호인 코어 클럭 신호를 지연시켜 위상을 정렬할 수 있다. 주파수가 높은 클럭 신호를 지연시킬 경우 주파수가 낮은 클럭 신호의 한 주기 안에 주파수가 높은 클럭 신호의 리딩 엣지가 복수 개 존재할 수 있기 때문에, 두 클럭 신호의 위상이 정렬되었는지 판단하기가 어렵기 때문이다.
한편, 이하 설명에서 제 1 클럭 신호는 제 2 클럭 신호보다 주파수가 낮은 클럭 신호를 의미한다.
도 4는 다른 실시예에 따라, 클럭 위상 정렬 장치를 설명하기 위한 블록도이다.
도 4를 참조하면, 클럭 위상 정렬 장치(400)는 위상 검출기(410), 지연 생성기(420) 및 제어부(430)를 포함할 수 있다. 도 4에 도시된 클럭 위상 정렬 장치(400)는 본 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 4에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
위상 검출기(410)는 두 신호의 위상간 관계를 검출할 수 있다. 구체적으로, 위상 검출기(410)는 제 1 클럭 신호의 선행 신호 및 제 1 클럭 신호의 지연 신호를 생성하고, 제 1 클럭 신호와 제 2 클럭 신호의 위상간 관계를 검출할 수 있다. 여기서 제 1 클럭 신호의 선행 신호는 제 1 클럭 신호보다 시간상 앞서는 신호를 의미하고, 제 1 클럭 신호의 지연 신호는 제 1 클럭 신호를 지연시킨 신호를 의미한다. 한편, 제 1 클럭 신호의 선행 신호와 제 1 클럭 신호의 지연 신호간 시간 차이는 제 1 클럭 신호의 전압에 따라 결정될 수 있다. 예를 들어, 제 1 클럭 신호의 전압이 증가하면, 제 1 클럭 신호의 주파수는 증가하지만, 제 1 클럭 신호의 선행 신호와 제 1 클럭 신호의 지연 신호간 시간 차이는 감소할 수 있다.
또한, 위상 검출기(410)는 2개의 플립플롭(flip-flop)을 포함할 수 있다. 이때, 제 1 클럭 신호의 선행 신호는 제 1 플립플롭의 클럭 신호로 입력되고, 제 1 클럭 신호의 지연 신호는 제 2 플립플롭의 클럭 신호로 입력되고, 제 2 클럭 신호는 제 1 플립플롭 및 제 2 플립플롭의 데이터로 입력될 수 있다. 이러한 경우, 위상 검출기(410)는 제 1 클럭 신호 및 제 2 클럭 신호의 위상간 관계를 의미하는 두 비트를 출력할 수 있다.
또한, 위상 검출기(410)는 시간에 따라 변하는 제 1 클럭 신호의 전압 또는 제 1 클럭 신호의 주파수에 기초하여 제 1 클럭 신호의 선행 신호 및 제 1 클럭 신호의 지연 신호를 생성할 수 있다.
지연 생성기(420)는 제 1 클럭 신호의 지연 신호보다 상기 제 2 클럭 신호가 지연된 경우, 상기 제 1 클럭 신호를 지연시킬 수 있다.
또한, 지연 생성기(420)는 제 1 클럭 신호를 지연시키는 정도가 변경되는 경우, 제 1 클럭 신호의 지연 정도를 선택하기 이전에 클럭 게이팅을 활성화하고, 제 1 클럭 신호의 지연 정도를 선택한 후, 클럭 게이팅을 비활성화할 수 있다.
제어부(430)는 위상 검출기의 검출 결과로 상기 제 1 클럭 신호 및 상기 제 2 클럭 신호의 위상이 정렬되었는지 판단할 수 있고, 위상 검출기(410)의 검출 결과에 기초하여, 제 2 클럭 신호의 지연 정도를 결정할 수 있다.
또한, 제어부(430)는 제 1 클럭 신호의 선행 신호 및 제 1 클럭 신호의 지연 신호에 기초하여 생성된 위상 정렬 윈도우 내에 제 2 클럭 신호의 리딩 엣지가 있으면, 두 클럭 신호의 위상이 정렬된 것으로 판단할 수 있다. 이때 위상 정렬 윈도우는, 제 1 클럭 신호의 선행 신호와 제 1 클럭 신호의 지연 신호의 리딩 엣지간 차이에서 위상 검출기(410)의 셋업 시간과 홀드 시간의 합을 감산하여 계산될 수 있다.
또한 제어부(430)는 위상 정렬 윈도우가 상기 제 2 클럭 신호의 리딩 엣지보다 지연된 경우, 제 1 클럭 신호를 선행시키도록 지연 생성기(420)에 제어 신호를 출력할 수 있다.
도 5a는 일 실시예에 따른 위상 검출기를 도시한 도면이다.
클럭 위상 정렬 장치(400)의 위상 검출기(410)는 클럭 버퍼(Clock buffer)(530), 제 1 플립플롭(510) 및 제 2 플립플롭(520)을 포함할 수 있다.
클럭 버퍼(Clock buffer)(530)는 클럭 신호를 지연시킬 수 있는 버퍼를 의미하며, 이하 도면에서는 클럭 버퍼의 수와 지연 정도가 비례하도록 도시하였다. 한편, 클럭 버퍼(530)는 사이리스터 지연 회로(Thyristor-like delay circuit)와 같은 시간 지연 회로를 포함할 수 있으나, 이에 제한되지 않는다.
플립플롭은 1 비트의 정보를 보관 및 유지할 수 있는 논리회로를 의미하며, 래치(Latch), D 플립플롭, T 플립플롭, JK 플립플롭 등을 포함한다. 그 중에서 D 플립플롭은 데이터 신호(D)와 클럭 신호(CK)를 입력 받아, 1 출력 비트(Q)를 출력할 수 있다. 구체적으로, D 플립플롭은 데이터 신호(D)의 값을 클럭 신호(CK)의 엣지에서 캡처해서 출력 비트(Q)에 반영한다. 또한, 엣지가 발생하지 않는 시간에는 출력 비트(Q)가 변하지 않고 유지된다.
도 5a를 참조하면, 클럭 위상 정렬 장치(400)의 위상 검출기(410)에 포함된 제 1 플립플롭(510) 및 제 2 플립플롭(520)을 모두 D 플립플롭인 것을 가정하였으나, 다른 종류의 플립플롭으로 대체될 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.
도 5a를 참조하면, 제 1 플립플롭(510) 및 제 2 플립플롭(520)의 데이터 신호(D)는 모두 제 2 클럭 신호다. 또한, 제 1 플립플롭(510)의 클럭 신호(CK0)는 제 1 클럭 신호의 선행 신호이고, 제 2 플립플롭(520)의 클럭 신호(CK1)는 제 1 클럭 신호의 지연 신호이다. 제 1 플립플롭(510) 및 제 2 플립플롭(520)는 데이터 신호(D) 및 클럭 신호들(CK0, CK1)을 입력 받아, 각각 1 출력 비트(Q0, Q1)를 출력할 수 있다. 위상 검출기(410)는 출력 비트들(Q0, Q1)을 조합하여, 위상 정렬 상태를 나타내는 2 비트 신호를 출력할 수 있다.
한편, 클럭 위상 정렬 장치(400)는 제 1 클럭 신호의 지연 신호뿐 아니라, 제 1 클럭 신호의 선행 신호를 생성하여 제 1 플립플롭(510)의 클럭 신호(CK0)로 입력한다. 따라서, 제 2 클럭 신호와 제 1 클럭 신호의 위상이 이미 정렬되어 있는 상태인 경우에도 위상 정렬이 완료되었음을 나타내는 출력 비트들(Q0, Q1)이 출력될 수 있다.
도 5b는 일 실시예에 따라, 위상 검출기의 위상 정렬 윈도우를 도시한 도면이다.
위상 정렬 윈도우(540)는 제 1 클럭 신호와 제 2 클럭 신호의 위상이 정렬된 것으로 판단될 때, 제 2 클럭 신호의 리딩 엣지가 존재하는 시간 범위를 의미한다. 다시 말해서, 제 2 클럭 신호의 리딩 엣지가 위상 정렬 윈도우(540)내에 있어야, 위상 검출기(410)는 두 클럭 신호의 위상이 정렬되었음을 나타내는 출력 비트들(Q0, Q1)인 (0, 1)을 출력할 수 있다.
한편, 위상 정렬 윈도우(540)의 폭 twindow은 아래와 같다.
tskew는 제 1 클럭 신호의 선행 신호(560)의 리딩 엣지와 제 1 클럭 신호의 지연 신호(550)의 리딩 엣지간 시간 차이를 의미한다. tsetup 및 thold는 플립플롭이 안전하게 동작할 수 있도록 플립플롭의 입력 신호가 일정하게 유지되어야 하는 시간이다. 구체적으로, tsetup는 플립플롭에서 클럭 신호의 리딩 엣지 이전에 입력 신호가 변하지 않아야 하는 최소 시간 간격을 의미하고, thold는 클럭 신호의 리딩 엣지 이후에 입력 신호가 변하지 않아야 하는 최소 시간 간격을 의미한다.
수학식 1을 참조하면, 위상 정렬 윈도우(540)의 폭 twindow은 tskew에서 tsetup 및 thold를 감산하여 구할 수 있다.
도 6a 내지 도 6c는 위상 검출기의 출력 비트들(Q0, Q1)에 따라 두 클럭 신호간의 관계를 설명하기 위한 도면이다. 편의상 도 6a 내지 도 6c에서 위상 정렬 윈도우는 제 1 클럭 신호의 선행 신호의 리딩 엣지와 제 1 클럭 신호의 지연 신호의 리딩 엣지의 시간 간격(tskew)과 동일한 것으로 가정하였다.
도 6a는 일 실시예에 따라, 위상 검출기의 출력 비트가 (0,1)일 때 두 클럭 신호간 관계를 도시한 도면이다.
도 6a를 참조하면, 제 2 클럭 신호(610)의 주파수가 제 1 클럭 신호(620)의 주파수보다 높은 것을 알 수 있다. 또한, 제 2 클럭 신호(610)의 리딩 엣지는 위상 정렬 윈도우(650)내 위치하는 것을 알 수 있다. 이러한 경우, 제 1 클럭 신호의 선행 신호(630)의 리딩 엣지는 제 2 클럭 신호(610)가 0 일 때 발생하고, 제 1 클럭 신호의 지연 신호(640)의 리딩 엣지는 제 2 클럭 신호(610)가 1 일 때 발생하므로, 위상 검출기(410)의 출력 비트들(Q0, Q1)은 (0, 1)이 된다. 따라서, 위상 검출기의 출력 비트들(Q0, Q1)이 (0, 1)인 경우, 제어부(430)는 출력 비트들(Q0, Q1)을 통해 제 2 클럭 신호(610)와 제 1 클럭 신호(620)의 위상을 정렬된 것으로 판단할 수 있다.
도 6b는 다른 실시예에 따라, 위상 검출기의 출력 비트가 (0,0)일 때 두 클럭 신호간 관계를 도시한 도면이다.
도 6b를 참조하면, 제 2 클럭 신호(611)의 리딩 엣지는 위상 정렬 윈도우(650)보다 지연되어 있는 것을 알 수 있다. 이러한 경우, 제 1 클럭 신호의 선행 신호(630) 및 제 1 클럭 신호의 지연 신호(640)의 리딩 엣지는 모두 제 2 클럭 신호(611)가 0 일 때 발생하므로, 위상 검출기의 출력 비트들(Q0, Q1)은 (0, 0)이 된다. 따라서, 위상 검출기의 출력 비트들(Q0, Q1)이 (0, 0)일 때 제 1 클럭 신호(620)와 제 2 클럭 신호(611)의 위상을 정렬하기 위해서는, 제 1 클럭 신호(620)를 지연시켜야 한다.
도 6c는 다른 실시예에 따라, 위상 검출기의 출력 비트가 (1,1)일 때 두 클럭 신호간 관계를 도시한 도면이다.
도 6c를 참조하면, 제 2 클럭 신호(612)의 리딩 엣지는 위상 정렬 윈도우(650)보다 앞서 있는 것을 알 수 있다. 이러한 경우, 제 1 클럭 신호의 선행 신호(630) 및 제 1 클럭 신호의 지연 신호(640)의 리딩 엣지는 모두 제 2 클럭 신호(612)가 1 일 때 발생하므로, 위상 검출기의 출력 비트들(Q0, Q1)은 (1, 1)이 된다. 따라서, 위상 검출기의 출력 비트들(Q0, Q1)이 (1, 1)일 때 제 1 클럭 신호(620)와 제 2 클럭 신호(612)의 위상을 정렬하기 위해서는, 제 1 클럭 신호(620)를 선행시켜야 한다.
도 7은 일 실시예에 따라, 지연 생성기를 도시한 도면이다.
도 7을 참조하면, 지연 생성기(700)는 복수의 클럭 버퍼(710) 및 멀티플렉서 (Multiplexer)(720)를 포함할 수 있다. 도 7의 지연 생성기(700)는 총 5쌍의 클럭 버퍼(710) 및 멀티플렉서(720)가 포함되어 32개의 다른 지연을 생성할 수 있는 것으로 표시되었으나, 클럭 버퍼(710) 및 멀티플렉서(720)의 수는 본 실시예에 의해 제한되지 않는다. 더불어, 클럭 버퍼(710) 및 멀티플렉서(720)를 사용하지 않더라도 클럭 신호를 지연 시킬 수 있는 지연 생성기라면 적용 가능함을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
예를 들어, 도 7의 지연 생성기(700)가 단위 지연(Unit delay) 간격으로 지연을 생성할 수 있고, 단위 지연이 100ns로 가정하면, 제 1 클럭 신호를 최대 3.2ns 지연시킬 수 있다.
클럭 버퍼(710)는 도 5a의 클럭 버퍼(530)와 대응되므로 자세한 설명은 생략한다. 멀티플렉서(720)는 각 클럭 버퍼(530)에 의해 발생되는 지연을 개별적으로 결정할 수 있게 하여 다양한 간격으로 지연을 발생시킬 수 있다. 한편, 멀티플렉서(720)는 글리치 현상을 미연에 방지할 수 있는 멀티플렉서(Glitch-free clock multiplexer)일 수 있고, 일반 멀티플렉서일 수 있다. 다만, 일반 멀티플렉서를 이용하는 경우, 멀티플렉서의 이전 상태를 변경하는 시점에서 글리치 현상이 발생될 수 있다. 이러한 경우, 클럭 게이팅 셀(Clock gating cell)(730)을 마지막 멀티플렉서 뒤에 추가하여 글리치 현상에 따른 문제를 해결할 수 있다. 클럭 게이팅 셀(730)은 지연 간격에 변경되기 전에 클럭 게이팅을 비활성화하고, 지연 간격을 변경한 후 다시 클럭 게이팅을 활성화할 수 있다.
도 8은 다른 실시예에 따라, 위상 검출기에 포함된 제 1 클럭 신호의 선행 신호 및 지연 신호를 생성 회로를 도시한 도면이다.
위상 검출기(410)는 복수의 클럭 버퍼(810)를 이용하여 제 1 클럭 신호의 선행 신호 및 제 1 클럭 신호의 지연 신호를 생성할 수 있다. 예를 들어, 클럭 버퍼(810) 4개를 통과하는 신호를 제 1 클럭 신호(820)로 가정하면, 3개 이하의 클럭 버퍼(810)를 통과하는 제 1 클럭 신호를 제 1 클럭 신호의 선행 신호(831, 832, 833)로 정의할 수 있고, 5개 이상의 클럭 버퍼(810)를 통과하는 제 1 클럭 신호를 제 1 클럭 신호의 지연 신호(841, 842, 843)로 정의할 수 있다.
한편, 위상 검출기(410)는 시간에 따라 변하는 제 1 클럭 신호의 전압 또는 제 1 클럭 신호의 주파수에 기초하여, 제 1 클럭 신호의 선행 정도 및 지연 정도를 결정할 수 있다. 예를 들어, 제 1 클럭 신호를 이용하는 도메인의 전압이 감소하면, 제 1 클럭 신호의 주파수가 감소할 수 있다. 이러한 경우, 제 1 클럭 신호(820)와 비교적 큰 시간 차이가 날 수 있는 제 1 클럭 신호의 선행 신호(831) 및 제 1 클럭 신호의 지연 신호(843)를 이용하여, 폭이 넓은 위상 정렬 윈도우를 이용할 수 있다. 위상 정렬 윈도우의 폭이 넓어지면, 넓은 시간 범위에서 위상 정렬 상태를 한번에 판단할 수 있기 때문에, 비교적 빠른 시간 내에 위상을 정렬할 수 있다. 반대로, 제 1 클럭 신호를 이용하는 도메인의 전압이 증가하면, 제 1 클럭 신호의 주파수도 증가할 수 있다. 이러한 경우, 제 1 클럭 신호(820)와 비교적 적은 시간 차이가 날 수 있는 제 1 클럭 신호의 선행 신호(833) 및 제 1 클럭 신호의 지연 신호(841)를 이용하여, 폭이 좁은 위상 정렬 윈도우를 이용할 수 있다. 위상 정렬 윈도우의 폭이 좁아지면, 미세한 시간 구간에서 위상 정렬 상태를 판단할 수 있기 때문에, 주파수가 높은 클럭 신호들의 위상을 정렬하는데 효율적이다.
또한, 위상 검출기(410)는 전압에 대응되는 제 1 클럭 신호의 선행 정도 및 제 1 클럭 신호의 지연 정도를 테이블 형태로 저장하여, 전압 값에 기초하여 제 1 클럭 신호의 선행 정도 및 지연 정도를 결정할 수 있다.
도 9는 일 실시예에 따라, 클럭 위상을 정렬하는 방법을 도시한 흐름도이다.
단계 910에서, 위상 검출기(410)는 제 1 클럭 신호의 선행 신호 및 제 1 클럭 신호의 지연 신호를 생성하고, 생성된 클럭 신호들에 기초하여 제 1 클럭 신호와 제 2 클럭 신호의 위상간 관계를 검출할 수 있다. 이때 제 1 클럭 신호의 선행 신호와 제 1 클럭 신호의 지연 신호간 시간 차이는 제 1 클럭 신호의 전압에 따라 결정될 수 있다. 구체적으로, 제 1 클럭 신호의 전압이 증가하면, 제 1 클럭 신호의 주파수가 증가하고, 제 1 클럭 신호의 선행 신호와 상기 제 1 클럭 신호의 지연 신호간 시간 차이는 감소할 수 있다.
또한, 위상 검출기에 의해 생성되는 제 1 클럭 신호의 선행 신호 및 제 1 클럭 신호의 지연 신호는 시간에 따라 변하는 제 1 클럭 신호의 전압 또는 제 1 클럭 신호의 주파수에 기초하여 생성될 수 있다.
단계 920에서, 지연 생성기(420)는 제 1 클럭 신호의 지연 신호보다 제 2 클럭 신호가 지연된 경우, 제 1 클럭 신호를 지연시킬 수 있다. 이때, 클럭 위상 정렬 장치(400)는 위상 정렬 윈도우가 제 2 클럭 신호의 리딩 엣지보다 지연된 경우, 제 1 클럭 신호를 선행시킬 수 있다. 또한, 단계 920에서 클럭 위상 정렬 장치(400)는 제 1 클럭 신호를 지연시키는 정도가 변경되는 경우, 제 1 클럭 신호의 지연 정도를 선택하기 이전에 클럭 게이팅을 활성화하고, 제 1 클럭 신호의 지연 정도를 선택한 후, 클럭 게이팅을 비활성화할 수 있다.
단계 930에서, 클럭 위상 정렬 장치(400)는 지연된 제 1 클럭 신호와 상기 제 2 클럭 신호의 위상이 정렬되었는지 판단할 수 있다.
한편, 단계 920 내지 단계 930의 경우, 두 클럭 신호의 위상이 정렬되었음이 판단되기 전까지 반복적으로 수행될 수 있다.
한편, 제어부(430)는 제 1 클럭 신호의 선행 신호 및 제 1 클럭 신호의 지연 신호에 기초하여 생성된 위상 정렬 윈도우 내에 제 2 클럭 신호의 리딩 엣지가 있으면, 두 클럭 신호의 위상이 정렬된 것으로 판단할 수 있다. 구체적으로, 위상 정렬 윈도우는 제 1 클럭 신호의 선행 신호와 제 1 클럭 신호의 지연 신호의 리딩 엣지간 차이에서 위상 검출기(410)의 셋업 시간과 홀드 시간의 합을 감산하여 얻을 수 있다.
도 10은 일 실시예에 따라, 클럭 위상을 정렬하는 방법을 구체적으로 도시한 상세 흐름도이다.
단계 1010에서, 위상 검출기(410)는 제 1 클럭 신호의 선행 신호 및 제 1 클럭 신호의 지연 신호를 생성할 수 있다. 이때 위상 검출기(410)는 전압 및 주파수에 따라 제 1 클럭 신호의 선행 정도 및 지연 정도를 결정할 수 있다.
단계 1020에서, 제어부(430)는 위상 검출기(410)에서 출력되는 출력 비트들(Q0, Q1)의 조합에 기초하여, 두 클럭 신호의 위상이 정렬되었는지 판단할 수 있다. 만약, 두 클럭 신호의 위상이 정렬된 것으로 판단되는 경우, 본 방법은 종료될 수 있다. 그러나, 두 클럭 신호의 위상이 정렬되지 않은 것으로 판단되면, 단계 1030이 진행될 수 있다. 구체적으로, 제어부(430)는 위상 검출기(410)의 출력 비트들(Q0, Q1)들이 (0, 1)인 경우, 두 클럭 신호의 위상이 정렬된 것으로 판단할 수 있다.
단계 1030에서, 제어부(430)는 제 1 클럭 신호의 지연 정도를 미세하게 조정할 필요가 있는지 판단할 수 있다. 구체적으로, 위상 검출기(410)에 의해 위상 정렬 윈도우보다 제 2 클럭 신호가 앞서 있는 것으로 판단되어, 제 1 클럭 신호를 선행시킨 후라면, 제어부(430)는 제 1 클럭 신호의 지연 정도를 미세하게 조정할 필요가 있다고 판단할 수 있다. 만약, 제 1 클럭 신호의 지연 정도를 미세하게 조정해야 하는 경우, 단계 1040이 진행될 수 있다. 그러나, 제 1 클럭 신호의 지연 정도를 미세하게 조정할 필요가 없는 것으로 판단되면, 단계 1050이 진행될 수 있다.
단계 1040에서, 제어부(430)는 제 1 클럭 신호를 미세하게 지연시킬 수 있도록 지연 생성기(420)를 제어하고, 단계 1020을 수행할 수 있다. 미세한 지연은 단위 지연을 의미할 수 있다. 즉, 지연 생성기(420)는 단계 1040에서 단위 지연만큼 지연을 발생시킬 수 있다. 이때 단위 지연 값은 클럭 신호를 이용하는 도메인의 전압 및 클럭 신호의 주파수에 따라 달라질 수 있다.
단계 1050에서, 제어부(430)는 제 2 클럭 신호의 리딩 엣지가 위상 정렬 윈도우보다 앞서는지 여부를 판단할 수 있다. 구체적으로, 제어부(430)는 위상 검출기(410)의 출력 비트들(Q0, Q1)들이 (1, 1)인 경우, 제 2 클럭 신호의 리딩 엣지가 위상 정렬 윈도우보다 앞서는 것으로 판단할 수 있다. 제 2 클럭 신호의 리딩 엣지가 위상 정렬 윈도우보다 앞서면 단계 1070이 진행될 수 있고, 그렇지 않으면 단계 1060이 진행될 수 있다.
단계 1060에서, 제어부(430)는 제 1 클럭 신호를 지연시킬 수 있도록 지연 생성기(420)를 제어하고, 단계 1020을 수행할 수 있다.
단계 1070에서, 제어부(430)는 제 1 클럭 신호를 선행시킬 수 있도록 지연 생성기(420)를 제어하고, 단계 1020을 수행할 수 있다.
도 11은 일 실시예에 따라, 클럭 위상을 정렬하는 유사 코드(pseudo-code)를 도시한 도면이다.
도 11의 유사 코드는 캐시 클럭 신호와 코어 클럭 신호의 위상을 정렬하기 위한 방법을 나타낸 것이다. 주파수 차이가 정수 배인 두 클럭 신호의 위상을 정렬하는 경우라면 모두 가능함은 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
클럭 위상 정렬 장치(400)는 코어 클럭 도메인의 전압 Vcore를 수신하여, 위상 검출기(410)에서 생성되는 제 1 클럭 신호의 선행 신호 및 제 1 클럭 신호의 지연 신호의 선행 정도 및 지연 정도를 결정할 수 있다.
또한, S는 지연 발생기(420)가 발생시키는 지연 간격을 의미한다. 예를 들어, S가 3인 경우, 지연 발생기(420)는 단위 지연의 3배에 해당하는 지연을 발생시킬 수 있다. Pcur는 현재 위상 검출기(410)에서 출력된 출력 비트들(Q0, Q1)을 나타내고, Pprev는 Pcur 이전의 출력 비트들(Q0, Q1)을 나타낸다. overlook은 제 2 클럭 신호가 위상 정렬 윈도우보다 앞선 경우에 1을 저장하는 변수이다.
도 11을 참조하면, 제 2 클럭 신호의 리딩 엣지가 위상 정렬 윈도우보다 지연된 경우, 제어부(430)는 제 1 클럭 신호를 단위 지연의 3배에 해당하는 시간만큼 반복적으로 지연시킨다. 만약, 제 2 클럭 신호의 리딩 엣지가 위상 정렬 윈도우를 처음으로 앞서게 된 경우, overlook에는 1이 저장되고 S는 2만큼 감산되어 제 1 클럭 신호를 선행시킨다. 그 후, 지연 간격은 단위 지연으로 변경되고, 제어부(430)는 위상 검출기(410)의 출력 비트들(Q0, Q1)을 이용해 위상 정렬 상태를 확인하면서 두 클럭 신호의 위상이 정렬될 때까지 제 1 클럭 신호를 반복적으로 지연시킨다.
본 실시예의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 포함되는 것으로 해석되어야 한다.
Claims (20)
- 두 클럭 신호의 위상을 정렬하는 장치에 있어서,
제 1 클럭 신호의 선행 신호 및 상기 제 1 클럭 신호의 지연 신호를 생성하고, 상기 생성된 클럭 신호들에 기초하여 상기 제 1 클럭 신호와 제 2 클럭 신호의 위상간 관계를 검출하는, 위상 검출기;
상기 제 1 클럭 신호의 지연 신호보다 상기 제 2 클럭 신호가 지연된 경우, 상기 제 1 클럭 신호를 지연시키는, 지연 생성기; 및
상기 위상 검출기의 검출 결과로 상기 제 1 클럭 신호 및 상기 제 2 클럭 신호의 위상이 정렬되었는지 판단하는, 제어부;
를 포함하고,
상기 제 1 클럭 신호는 제 1 개수의 클럭 버퍼들을 통과함으로써 생성되고, 상기 제 1 클럭 신호의 선행 신호는 제 2 개수의 클럭 버퍼들을 통과함으로써 생성되고, 상기 제 1 클럭 신호의 지연 신호는 제 3 개수의 클럭 버퍼들을 통과함으로써 생성되고,
상기 제 2 개수는 상기 제 1 개수보다 작고, 상기 제 3 개수는 상기 제 1 개수보다 크고,
상기 지연 생성기는 서로 직렬로 연결된 복수의 멀티플렉서들을 포함하고,
상기 복수의 멀티플렉서들은 상기 제 1 클럭 신호의 지연 정도를 결정하는, 장치. - 제 1 항에 있어서,
상기 제 1 클럭 신호의 선행 신호와 상기 제 1 클럭 신호의 지연 신호간 시간 차이는 상기 제 1 클럭 신호의 전압에 따라 결정되는 것인, 장치. - 제 2 항에 있어서,
상기 제 1 클럭 신호의 전압이 증가하면,
상기 제 1 클럭 신호의 주파수는 증가하고, 상기 제 1 클럭 신호의 선행 신호와 상기 제 1 클럭 신호의 지연 신호간 시간 차이는 감소하는, 장치. - 제 1 항에 있어서,
상기 제어부는,
상기 제 1 클럭 신호의 선행 신호 및 상기 제 1 클럭 신호의 지연 신호에 기초하여 생성된 위상 정렬 윈도우 내에 상기 제 2 클럭 신호의 리딩 엣지가 있으면, 상기 두 클럭 신호의 위상이 정렬된 것으로 판단하는 것인, 장치. - 제 4 항에 있어서,
상기 위상 정렬 윈도우는,
상기 제 1 클럭 신호의 선행 신호와 상기 제 1 클럭 신호의 지연 신호의 리딩 엣지간 차이에서 상기 위상 검출기의 셋업 시간과 홀드 시간의 합을 감산하여 계산되는 것인, 장치. - 제 1 항에 있어서,
상기 위상 검출기는 2개의 플립플롭을 포함하고,
상기 제 1 클럭 신호의 선행 신호는 제 1 플립플롭의 클럭 신호로 입력되고,
상기 제 1 클럭 신호의 지연 신호는 제 2 플립플롭의 클럭 신호로 입력되고,
상기 제 2 클럭 신호는 상기 제 1 플립플롭 및 상기 제 2 플립플롭의 데이터로 입력되는, 장치. - 제 1 항에 있어서,
상기 제어부는,
위상 정렬 윈도우가 상기 제 2 클럭 신호의 리딩 엣지보다 지연된 경우, 상기 제 1 클럭 신호를 선행시키도록 상기 지연 생성기에 제어 신호를 출력하는, 장치. - 제 1 항에 있어서,
상기 제어부는,
상기 위상 검출기의 검출 결과에 기초하여, 상기 제 2 클럭 신호의 지연 정도를 결정하고,
상기 지연 생성기는,
상기 제 1 클럭 신호를 지연시키는 정도가 변경되는 경우, 상기 제 1 클럭 신호의 지연 정도를 선택하기 이전에 클럭 게이팅을 활성화하고, 상기 제 1 클럭 신호의 지연 정도를 선택한 후, 상기 클럭 게이팅을 비활성화하는, 장치. - 제 1 항에 있어서,
상기 제 1 클럭 신호는 상기 제 2 클럭 신호보다 주파수가 낮고,
상기 제 1 클럭 신호는 코어의 클럭 신호이고, 상기 제 2 클럭 신호는 캐시의 클럭 신호인, 장치. - 제 1 항에 있어서,
상기 제어부는,
상기 두 클럭 신호의 위상이 정렬되었음이 판단되기 전까지 상기 지연 생성기를 통해 반복적으로 제 1 클럭 신호를 지연시켜 상기 위상 검출기에 입력하는 것인, 장치. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/443,060 US10541690B2 (en) | 2016-02-29 | 2017-02-27 | Method and device to align phases of clock signals |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662301089P | 2016-02-29 | 2016-02-29 | |
US62/301,089 | 2016-02-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170101749A KR20170101749A (ko) | 2017-09-06 |
KR102516881B1 true KR102516881B1 (ko) | 2023-04-17 |
Family
ID=59925283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160081544A KR102516881B1 (ko) | 2016-02-29 | 2016-06-29 | 클럭 위상 정렬을 위한 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102516881B1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020135408A1 (en) * | 2001-01-16 | 2002-09-26 | Chiu Kenny Kok-Hoong | Method and interface for glitch-free clock switching |
US8179181B2 (en) | 2009-11-20 | 2012-05-15 | Industrial Technology Research Institute | Power-mode-aware clock tree and synthesis method thereof |
KR101436042B1 (ko) | 2007-08-10 | 2014-08-29 | 삼성전자주식회사 | 클럭 스위칭 회로에서 글리치를 방지하기 위한 장치 및방법 |
US20160077546A1 (en) | 2014-09-17 | 2016-03-17 | Apple Inc. | Method for synchronizing independent clock signals |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101313104B1 (ko) * | 2009-07-24 | 2013-09-30 | 한국전자통신연구원 | 이종 주기 클록 도메인간의 동기화 시스템, 동기화 장치, 동기화 실패 검출 회로 및 데이터 수신방법 |
-
2016
- 2016-06-29 KR KR1020160081544A patent/KR102516881B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020135408A1 (en) * | 2001-01-16 | 2002-09-26 | Chiu Kenny Kok-Hoong | Method and interface for glitch-free clock switching |
US7039146B2 (en) * | 2001-01-16 | 2006-05-02 | Advanced Micro Devices, Inc. | Method and interface for glitch-free clock switching |
KR101436042B1 (ko) | 2007-08-10 | 2014-08-29 | 삼성전자주식회사 | 클럭 스위칭 회로에서 글리치를 방지하기 위한 장치 및방법 |
US8179181B2 (en) | 2009-11-20 | 2012-05-15 | Industrial Technology Research Institute | Power-mode-aware clock tree and synthesis method thereof |
US20160077546A1 (en) | 2014-09-17 | 2016-03-17 | Apple Inc. | Method for synchronizing independent clock signals |
Also Published As
Publication number | Publication date |
---|---|
KR20170101749A (ko) | 2017-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9123408B2 (en) | Low latency synchronization scheme for mesochronous DDR system | |
US10541690B2 (en) | Method and device to align phases of clock signals | |
US8942333B2 (en) | Apparatus and methods for clock alignment for high speed interfaces | |
US11061432B2 (en) | Data handoff between two clock domains sharing a fundamental beat | |
US11018676B2 (en) | Coarse delay lock estimation for digital DLL circuits | |
US8958517B2 (en) | Clock phase adjustment for a low-latency FIFO | |
KR100804286B1 (ko) | 다중-클럭 시스템에서 스킵 패턴을 동기화하고 클럭포워딩 인터페이스를 초기화하는 시스템 및 방법 | |
KR20120096028A (ko) | 신호 수신 회로, 메모리 컨트롤러, 프로세서, 컴퓨터 및 위상 제어 방법 | |
US9564907B2 (en) | Multi-channel delay locked loop | |
JP2017527175A (ja) | クロック同期 | |
EP1884057B1 (en) | Data edge-to-clock edge phase detector for high speed circuits | |
US20130009679A1 (en) | Bang-bang phase detector with hysteresis | |
US7911873B1 (en) | Digital delay locked loop implementation for precise control of timing signals | |
US9584305B2 (en) | Deskew FIFO buffer with simplified initialization | |
KR100649881B1 (ko) | 클락 신호들을 동기시키기 위한 반도체 장치 및 클락신호들을 동기시키는 방법 | |
US8976619B2 (en) | Semiconductor apparatus | |
KR102516881B1 (ko) | 클럭 위상 정렬을 위한 방법 및 장치 | |
JP4598872B2 (ja) | タイミングリカバリ回路、通信ノード、ネットワークシステム、及び電子機器 | |
US7664213B2 (en) | Clock alignment detection from single reference | |
US8983012B2 (en) | Receive timing manager | |
JP6512640B1 (ja) | 非同期fifo回路 | |
US7627065B2 (en) | Generating a clock crossing signal based on clock ratios | |
US20240329924A1 (en) | Deterministic reset mechanism for asynchronous gearbox fifos for predictable latency | |
KR20110138141A (ko) | 위상 오차에 대한 루프 대역폭 의존성을 가지는 지연고정루프 | |
KR20110138140A (ko) | 동작 주파수에 대한 루프 대역폭 의존성을 가지는 지연고정루프 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right |