KR20090016086A - 클럭 스위칭 회로에서 글리치를 방지하기 위한 장치 및방법 - Google Patents

클럭 스위칭 회로에서 글리치를 방지하기 위한 장치 및방법 Download PDF

Info

Publication number
KR20090016086A
KR20090016086A KR1020070080477A KR20070080477A KR20090016086A KR 20090016086 A KR20090016086 A KR 20090016086A KR 1020070080477 A KR1020070080477 A KR 1020070080477A KR 20070080477 A KR20070080477 A KR 20070080477A KR 20090016086 A KR20090016086 A KR 20090016086A
Authority
KR
South Korea
Prior art keywords
signal
clock
muxel
value
selection
Prior art date
Application number
KR1020070080477A
Other languages
English (en)
Other versions
KR101436042B1 (ko
Inventor
홍헌석
권윤주
김용찬
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020070080477A priority Critical patent/KR101436042B1/ko
Priority to PCT/KR2008/004639 priority patent/WO2009022824A1/en
Priority to US12/188,277 priority patent/US7961012B2/en
Publication of KR20090016086A publication Critical patent/KR20090016086A/ko
Application granted granted Critical
Publication of KR101436042B1 publication Critical patent/KR101436042B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew

Abstract

본 발명은 클럭 스위칭 회로에서 클럭 간의 스위칭을 수행할 때, 글리치 발생을 방지하여 글리치 발생시 회로의 동기화 및, 제어를 할 수 없는 상황에 따른 시스템 오류를 방지하기 위한 장치 및 방법에 관한 것으로 클럭 게이트 신호를 생성하기 위한 입력 신호인 디텍트 체인지 신호를 생성하여 클럭 게이트부로 제공하고, 상기 클럭 게이트 신호를 이용하여 스위칭하고자 하는 클럭을 선택하기 위하여 상기 먹셀 신호를 상기 선택 신호로 변경하는 선택 신호 관리부와, 상기 디텍드 체인지 신호를 입력받을 경우, 입력받는 클럭을 게이팅하고 상기 디텍트 체인지 신호의 값을 입력 신호로 하여 클럭 게이트 신호를 생성하여 상기 선택 신호 관리부로 제공하는 클럭 게이트부를 포함하여 클럭의 개수와 상관없이 글리치가 발생되지 않는 클럭 스위칭 과정을 수행할 수 있다.
글리치, Glitch, 스위칭, 클럭, 스위칭 회로

Description

클럭 스위칭 회로에서 글리치를 방지하기 위한 장치 및 방법{APPARATUS AND METHOD FOR PREVENTING GLITCH IN CLOCK SWITCHING CIRCUIT}
본 발명은 반도체 집적 회로에 관한 것으로, 특히 클럭 스위칭 회로에서 클럭 간의 스위칭을 수행할 때, 글리치 발생을 방지하여 글리치 발생시 회로의 동기화 및, 제어를 할 수 없는 상황에 따른 시스템 오류를 방지하기 위한 장치 및 방법에 관한 것이다.
반도체 직접 회로들은 로직과 플립플롭 등의 회로를 동기화하고 제어하기 위하여 클럭을 사용하고 있다. 요즘 반도체 집적 회로들은 다양한 기능을 갖추기 위하여 많은 IP들을 집적화하고 있으며 다양한 IP들을 집적하는 반도체 회로에서는 좀더 많은 클럭 소스들이 필요하게 되어 많은 클럭들 간의 스위칭 과정이 필요하다.
일반적인 클럭 스위칭 회로의 클럭 스위칭 기술은 멀티플랙서의 선택 신호에 의하여 단순하게 클럭의 글리치를 고려하지 않고 스위칭을 하는 방법을 사용했지 만, 클럭의 스위칭 시에 글리치가 발생되면 시스템에 치명적인 악영향을 줘 시스템을 불안정한 상태에 이르게 한다.
도 1은 일반적인 클럭 스위칭 회로의 글리치 발생을 나타내는 도면이다.
도 1(a)를 참조하면, 상기 클럭 스위칭 회로는 클럭 선택을 위한 선택(SEL) 신호(104)를 이용하여 두 개의 클럭 신호 즉, 제 1 클럭 신호(100)와 제 2 클럭 신호 (102) 가운데 하나의 클럭을 출력하도록 한다.
상기와 같은 클럭 스위칭 방법은 상기 선택 신호에 따라 제 1 클럭(110)을 출력하거나 제 2 클럭(120)을 출력할 수 있다.
하지만, 상기 클럭 간의 스위칭이 일어나는 시점에서 클럭 간의 타이밍 차이에 의하여 글리치(140)가 발생하게 된다.
다시 말해서, 상기 클럭 간의 스위칭 과정 수행시 회로의 동기화, 제어를 할 수 없는 상황을 유발하는 글리치가 발생하여 시스템에 치명적인 악영향을 줄 수가 있다.
상기와 같은 문제점을 해결하기 위하여 상기 글리치 발생을 방지하기 위하여 제안된 방법들이 있지만, 상기와 같은 방법은 주로 두 가지 클럭들 간의 스위칭을 다루거나 클럭을 스위칭하는 시간이나 클럭 간의 관계를 따져 글리치가 발생되지 않도록 스위칭을 하는 것에 대한 기술들이 대부분이다.
일 예로, 제 1 클럭과 제 2 클럭의 변경 구간에서 일정 값을 카운트하면서 CLOCK_OUT을 고정하여 글리치를 제거하는 방법이 제안되었지만, 상기 방법은 두 클 럭간의 주파수 차이가 변함이 없을 때에 적당한 방법이고 두 가지 클럭간의 스위칭에 적당한 방법이다. 그러나 두 클럭간의 주파수 차이가 크거나 2개 이상의 클럭간의 스위칭에는 어려움이 따르는 문제점 있다.
상기와 같은 방법 외에도 클럭 스위칭을 위하여 선택 신호가 변할 때마다 제 1 클럭을 게이팅하고 MUX의 선택 신호를 다른 한쪽의 클럭인 제 2 클럭에 동기화하여 클럭 스위칭이 되도록 하여 글리치를 제거하는 방법이 있다. 상기와 같은 방법 또한 클럭의 수가 두 개보다 많은 경우에 적용하기에는 어려움이 따른다는 문제점이 있다.
본 발명은 상술한 바와 같은 문제점을 해결하기 위하여 도출된 것으로서, 본 발명의 목적은 클럭 스위칭 회로에서 글리치 발생을 방지하도록 하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 클럭 스위칭 회로에서 다수의 클럭 사용시 글리치 발생을 방지하기 위한 장치 및 방법을 제공함에 있다.
상술한 목적들을 달성하기 위한 본 발명의 제 1 견지에 따르면, 클럭 스위칭 회로에서 글리치를 방지하기 위한 장치는 클럭 게이트 신호를 생성하기 위한 입력 신호인 디텍트 체인지 신호를 생성하여 클럭 게이트부로 제공하고, 상기 클럭 게이트 신호를 이용하여 스위칭하고자 하는 클럭을 선택하기 위하여 상기 먹셀 신호를 상기 선택 신호로 변경하는 선택 신호 관리부와, 상기 디텍드 체인지 신호를 입력받을 경우, 입력받는 클럭을 게이팅하고 상기 디텍트 체인지 신호의 값을 입력 신호로 하여 클럭 게이트 신호를 생성하여 상기 선택 신호 관리부로 제공하는 클럭 게이트부를 포함하는 것을 특징으로 한다.
상술한 목적들을 달성하기 위한 본 발명의 제 2 견지에 따르면, 클럭 스위칭 회로에서 글리치를 방지하기 위한 방법은 클럭 게이트 신호를 생성하기 위한 입력 신호인 디텍트 체인지 신호를 생성하는 과정과, 상기 디텍트 체인지 신호를 생성할 경우, 입력받는 클럭은 게이팅하고, 상기 디텍트 체인지 신호의 값을 입력 신호로 하여 클럭 게이트 신호를 생성하는 과정과, 스위칭하고자 하는 클럭을 선택하기 위하여 상기 클럭 게이트 신호를 이용하여 상기 먹셀 신호를 상기 선택 신호로 변경하는 과정을 포함하는 것을 특징으로 한다.
상술한 바와 같이 본 발명에 따른 클럭 스위칭 회로를 이용하여 클럭의 주파수 등의 상관관계, 클럭의 개수와 상관없이 글리치가 발생되지 않는 클럭 스위칭 과정을 수행할 수 있다.
또한, N개의 클럭을 사용할 경우에도 글리치 발생을 방지할 수 있어 기존의 클럭 스위칭 회로에서 2개의 클럭 사용시에만 가능하였던 글리치 발생을 방지하여 시스템의 안정성을 높일 수 있다.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
이하 설명에서는 클럭 스위칭 회로에서 글리치 발생을 방지하기 위한 장치 및 방법에 관하여 설명할 것이다.
도 2는 본 발명에 따른 클럭 스위칭 회로의 구성을 도시한 블록도이다.
상기 도 2를 참조하면, 상기 스위칭 회로는 선택 신호(Sel) 관리부(200), 클럭 게이트부(210) 및 클럭 선택부(220)를 포함하여 구성할 수 있다.
상기 스위칭 회로의 구성에 대하여 설명하기 전에 상기 스위칭 회로의 전반적인 동작을 설명하면 다음과 같다.
먼저, 상기 스위칭 회로는 상기 선택 신호 관리부(200)로 하여금 상기 클럭 게이트부(210)의 입력 신호인 디텍트 체인지(Detect_change) 신호를 생성하여 상기 클럭 게이트부(210)로 제공하도록 처리한다.
여기에서, 상기 디텍트 체인지 신호는 클럭 게이트부(210)로 입력되는 입력 신호로 선택 신호의 값이 변경될 때 생성할 수 있다.
이후, 상기 스위칭 회로는 상기 디텍트 체인지 신호를 입력 신호로 이용한 상기 클럭 게이트부(210)의 클럭 게이트 신호(Clk_gate)를 상기 선택 신호 관리부(200)로 제공하도록 처리한다.
이후, 상기 스위칭 회로는 상기 선택 신호 관리부(200)로 하여금 업데이트 먹셀(Update_muxsel) 신호를 생성하도록 처리한다. 여기에서, 상기 업데이트 먹셀 신호는 스위칭하고자 하는 클럭을 선택하기 위한 기준 신호이다.
즉, 상기 스위칭 회로는 모든 클럭 게이트 신호를 제공받을 경우, 상기 업데이트 먹셀 신호의 값을 토글 시킨 후, 상기 토글 시킨 구간에서 Sys_clk의 포지티브에지(Positive Edge)에 해당하는 먹셀(Muxsel)신호의 값을 선택 신호의 값으로 변경하여 상기 클럭 선택부(220)로 제공한다.
이후, 상기 스위칭 회로는 상기 클럭 선택부(220)로 하여금 스위칭 과정을 수행하도록 처리한다.
즉, 상기 스위칭 회로의 제어를 받은 상기 클럭 선택부(220)는 상기 선택 신호 관리부(200)로부터 제공받은 먹셀 신호 값에 의해 클럭을 선택하여 클럭 출력을 처리한다.
이하 설명에서는 본 발명에 따른 스위칭 회로의 구성에 대하여 상세히 설명할 것이다.
먼저, 상기 스위칭 회로의 선택 신호 관리부(200)는 클럭 선택을 위한 신호인 선택(Sel) 신호와 현재 클럭 선택부(220)에 의해 출력되는 클럭을 나타내는 먹셀 신호의 값을 비교하여 디텍트 체인지 신호를 생성하고, 상기 생성한 디텍트 체인지 신호를 상기 클럭 게이트부(210)로 제공한다.
상기 선택 신호 관리부(200)는 상기 선택 신호의 값이 변경됨을 확인할 경우, 상기 선택 신호와 먹셀 신호를 비교한 후, 상기 신호들의 값이 서로 다름을 확인할 경우, 상기 클럭 게이트부(210)로 제공하기 위한 상기 디텍트 체인지 신호를 생성하여 상기 클럭 게이트부(210)로 제공한다.
여기에서, 상기 선택 신호 관리부(200)는 현재 상태의 디텍트 체인지 신호의 값을 토글 시킴으로써, 상기 디텍트 체인지 신호를 생성할 수 있으며, 상기 스위칭 회로의 구현 방법에 따라 로우 값을 가지는 상기 디텍트 체인지 신호의 값을 하이 값으로 토글 시키거나 또는 하이 값을 가지는 상기 디텍트 체인지 신호의 값을 로우 값으로 토글시켜 상기 디텍트 체인지 신호를 생성할 수 있다.
또한, 상기 선택 신호 관리부(200)는 상기 클럭 게이트부(210)에서 받은 각 클럭에 대한 게이트 신호를 이용하여 업데이트 먹셀 신호를 생성하여 상기 먹셀 신호의 값을 상기 클럭 선택부(220)로 제공되는 선택 신호 값으로 변경하는 역할을 한다. 상기 업데이트 먹셀 신호는 스위칭하고자 하는 클럭을 선택하기 위하여 상기 먹셀 신호를 상기 선택 신호로 변경하도록 하는 신호를 말한다.
다시 말해서, 상기 선택 신호 관리부(200)는 상기 클럭 게이트부(210)로부터 모든 클럭 게이트의 게이트 신호를 제공받음을 확인할 경우, 상기 업데이트 먹셀 신호를 토글 시킨 후, 상기 토글한 상태의 구간에서 Sys_clk의 포지티브에지(Positive Edge)에 해당하는 먹셀 신호의 값을 선택 신호의 값으로 변경하여 상기 클럭 선택부(220)로 제공한다.
상기 클럭 게이트부(210)는 다 수의 클럭 게이트로 구성할 수 있으며, 상기 선택 신호 관리부(200)로부터 상기 디텍드 체인지 신호를 입력받을 경우, 입력받는 클럭을 게이팅하고 상기 디텍트 체인지 신호의 값을 입력 신호로 하여 클럭 게이트 신호를 생성하여 상기 선택 신호 관리부(200)로 제공한다.
여기에서, 상기 클럭 게이트부(210)는 상기 디텍트 체인지 신호를 입력받을 경우, 각각의 클럭의 네거티브 에지(Negative Edge)에서 각 클럭 게이트에 해당하는 클럭 게이트 신호를 토글 시킨 후, 상기 선택 신호 관리부(200)로 제공한다.
상기 클럭 선택부(220)는 상기 선택 신호 관리부로부터 상기 선택 신호로 변경된 먹셀 신호를 수신하기 전까지 상기 클럭 게이트부에 의해 게이팅된 클럭을 출력하고, 상기 먹셀 신호를 수신할 경우, 상기 먹셀 신호를 이용하여 클럭 간의 스위칭 과정을 수행한다.
이상 상기 스위칭 회로의 설명은 상기 선택 신호의 변경에 따라 글리치 발생을 방지하기 위한 업데이트 먹셀 신호를 생성하기 위한 설명이지만 상기 생성한 업데이트 먹셀 신호를 복구하기 위한 설명은 본 발명의 실시 예를 나타내는 도 3을 참조하여 설명할 것이다.
도 3은 본 발명의 바람직한 일 실시 예에 따라 두 개의 클럭 게이트를 포함하는 스위칭 회로를 나타낸 도면이다. 이하 설명에 앞서, 상기 스위칭 회로는 도 2에서 설명한 블록도를 이용하여 구현한 일 예로 도 2를 참조로 하여 설명될 것이다. 또한, 이하 설명에서 도 4는 본 발명에 따른 스위칭 회로의 동작을 나타내는 타이밍 도면이다.
상기 도 3을 참조하면, 상기 스위칭 회로의 선택 신호 관리부(200)는 먼저 선택 신호(SEL)의 값이 변경(401)됨을 확인할 경우, 상기 선택 신호와 먹셀(Muxsel) 신호를 비교한다.
여기에서, 상기 먹셀 신호는 현재 클럭 선택부(220)에 의해 출력되는 클럭을 나타내는 신호를 말한다.
상기 신호들을 비교한 결과, 상기 신호들의 값이 서로 다름을 확인할 경우, 상기 선택 신호 관리부(200)는 도 4에 도시한 바와 같이 디텍트 체인 지(Detect_change) 신호의 값을 하이(Low → High)로 토글(402)시킨다.
여기에서, 상기 디텍트 체인지 신호는 상기 스위칭 회로의 구현 방법에 따라 로우 값을 가지는 상기 디텍트 체인지 신호의 값을 하이 값으로 토글 시키거나 또는 하이 값을 가지는 상기 디텍트 체인지 신호의 값을 로우 값으로 토글 시킴으로써, 수행할 수 있다.
이후, 상기 선택 신호 관리부(200)는 상기 하이 값으로 토글된 디텍트 체인지 신호를 각각의 클럭 게이트부(210)의 입력 신호로 제공하며, 상기 신호를 제공받은 클럭 게이트부(210)는 각각의 클럭의 네거티브 에지(Negative Edge)(410), (420)에서 각 클럭에 해당하는 클럭 게이트(Clk_gate) 신호의 값을 로우에서 하이(Low → High)로 토글(412), (422)시킨 후, 상기 클럭 게이트 신호를 상기 선택 신호 관리부(200)로 제공한다.
또한, 상기 클럭 게이트부(210)로 입력되는 클럭 신호는 로우 값으로 클럭 선택부(220)로 게이팅된다.
상기 클럭에 대한 클럭 게이트 신호를 제공받은 상기 선택 신호 관리부(200)는 상기 제공받은 클럭 게이트 신호를 확인하여 업데이트 먹셀(Update_muxsel) 신호를 생성한다.
즉, 상기 선택 신호 관리부(200)는 상기 클럭 게이트 신호의 값이 모두 하이인 구간에 대한 상기 업데이트 먹셀 신호의 값을 하이로 변경함으로써, 상기 업데이트 먹셀 신호를 생성할 수 있다.
이후, 상기 선택 신호 관리부(200)는 상기 업데이트 먹셀 신호의 값이 하이 인 구간의 먹셀 신호의 값을 선택 신호의 값으로 변경하여 클럭 선택부(220)로 제공한다.
여기에서, 상기 선택 신호 관리부(200)는 상기 구간에 포함되는 Sys_clk의 포지티브에지(Positive Edge)의 Muxsel 값을 토글 시킨 후, 상기 클럭 선택부(220)로 제공한다. 또한, 상기 Sys_clk은 시스템에 사용하는 클럭 중에 제일 빠른 클럭으로 사용함으로서, 빠른 클럭 스위칭을 가능하도록 한다.
상기 Muxsel 값을 제공받은 클럭 선택부(220)는 상기 Muxsel 값에 의해 클럭을 선택함에 따라 Clkout을 변경하여 클럭 스위칭 과정을 수행한다.
상기 스위칭 과정 수행에 따라 상기 먹셀 신호의 값이 변경되어 상기 선택 신호와 상기 먹셀 신호의 값이 동일하게 된다.
상기와 같이 상기 먹셀 신호의 값이 선택 신호와 같아질 경우, 상기 선택 신호 관리부(200)는 상기 디텍트 체인지 신호를 하이에서 로우(High → Low)로 토글시킨 후, 상기 디텍트 체인지 신호를 클럭 게이트부(210)의 입력 신호로 제공한다.
상기 신호를 제공받은 클럭 게이트부(210)는 각각의 클럭의 네거티브 에지(Negative Edge)(430), (440)에서 각 클럭에 해당하는 클럭 게이트(Clk_gate) 신호의 값을 하이에서 로우(High → Low)로 토글(432), (442)시킨 후, 상기 클럭 게이트 신호를 상기 선택 신호 관리부(200)로 제공한다.
상기와 같이 동작하게 되면 상기 스위칭 회로는 클럭이 ON 되어 클럭 선택부(220)에 의해 선택된 클럭이 출력된다.
도 5는 본 발명의 바람직한 일 실시 예에 따른 스위칭 회로에서 글리치를 방지한 스위칭 과정을 도시한 흐름도이다.
상기 도 5를 참조하면, 먼저 상기 스위칭 회로는 선택 신호 관리부(200)에 의해 선택 신호(SEL)의 값이 변경됨을 확인할 경우, 501단계에서 상기 선택 신호와 먹셀(Muxsel) 신호를 비교한 후, 503단계로 진행하여 상기 신호들의 값이 서로 같은지 확인한다.
만일, 상기 신호들의 값이 서로 같을 경우, 상기 스위칭 회로는 상기 501단계의 과정을 재수행한다.
한편, 상기 신호들의 값이 서로 같지 않음을 확인할 경우, 상기 스위칭 회로는 505단계로 진행하여 상기 선택 신호 관리부(200)로 하여금 디텍트 체인지(Detect_change) 신호를 생성하도록 한다.
여기에서, 상기 디텍트 체인지 신호를 생성하는 과정은 스위칭 회로의 제어를 받은 선택 신호 관리부(200)가 상기 스위칭 회로의 구현 방법에 따라 로우 값을 가지는 상기 디텍트 체인지 신호의 값을 하이 값으로 토글 시키거나 또는 하이 값을 가지는 상기 디텍트 체인지 신호의 값을 로우 값으로 토글 시킴으로써, 수행할 수 있으나, 상기 선택 신호 관리부(200)는 도 3의 일 실시 예로써, 로우 값을 가지는 상기 디텍트 체인지 신호의 값을 하이 값으로 토글 시킨다.
이후, 상기 스위칭 회로는 507단계로 진행하여 상기 생성한 디텍트 체인지 신호를 각각의 클럭 게이트부(210)의 입력 신호로 제공한다.
상기 디텍트 체인지 신호를 입력 신호로 제공받은 클럭 게이트부(210)는 각 각의 클럭의 네거티브 에지(Negative Edge)에서 각 클럭에 해당하는 클럭 게이트(Clk_gate) 신호의 값을 로우에서 하이(Low → High)로 토글 시킨 후, 상기 토글 시킨 클럭 게이트 신호를 상기 선택 신호 관리부(200)로 제공한다.
이후, 상기 스위칭 회로는 509단계로 진행하여 상기 선택 신호 관리부(200)로 하여금 상기 클럭 게이트부(210)로부터 제공받은 클럭 게이트 신호를 확인한 후, 511단계로 진행하여 상기 선택 신호 관리부(200)로 하여금 상기 클럭 게이트부(210)로부터 제공받은 상기 클럭 게이트 신호의 값을 확인하도록 처리한다.
만일, 상기 클럭 게이트 신호의 값이 모두 하이임을 확인할 경우, 상기 스위칭 회로는 513단계로 진행하여 상기 선택 신호 관리부(200)로 하여금 업데이트 먹셀(Update_muxsel) 신호를 생성하도록 처리한다.
상기 스위칭 회로의 제어를 받은 선택 신호 관리부(200)는 상기 클럭 게이트부(210)로부터 제공받은 상기 클럭 게이트 신호의 값이 모두 하이인 구간에 대한 상기 업데이트 먹셀 신호의 값을 하이로 변경함으로써, 상기 업데이트 먹셀 신호를 생성할 수 있다.
이후, 상기 스위칭 회로는 515단계로 진행하여 상기 선택 신호 관리부(200)로 하여금 상기 업데이트 먹셀 신호의 값이 하이인 구간의 먹셀 신호의 값을 선택 신호의 값으로 변경하여 클럭 선택부(220)로 제공하도록 처리한다.
여기에서, 상기 선택 신호 관리부(200)는 상기 구간에 포함되는 Sys_clk의 포지티브에지(Positive Edge)의 먹셀 신호의 값을 토글 시킨 후, 상기 클럭 선택부(220)로 제공한다. 또한, 상기 Sys_clk은 시스템에 사용하는 클럭 중에 제일 빠 른 클럭으로 사용함으로써, 빠른 클럭 스위칭을 가능하도록 한다.
이후, 상기 스위칭 회로는 클럭 선택부(220)로 하여금 상기 제공받은 먹셀 값을 이용하여 클럭을 선택함에 따라 Clkout을 변경하여 클럭 스위칭 과정을 수행하도록 처리한, 519단계로 진행하여 상기 선택 신호와 먹셀 신호를 비교하여 상기 신호들의 값이 서로 동일한지 확인한다.
만일, 상기 신호들의 값이 서로 동일하지 않을 경우, 상기 스위칭 회로는 상기 505단계의 과정을 재수행한다.
한편, 상기 스위칭 과정 수행에 따라 상기 먹셀 신호의 값이 변경되어 상기 신호들의 값이 서로 동일함을 확인할 경우, 상기 스위칭 회로는 521단계로 진행하여 상기 선택 신호 관리부(200)로 하여금 상기 디텍트 체인지 신호를 하이에서 로우(High → Low)로 토글 시키도록 처리한 후, 상기 디텍트 체인지 신호를 클럭 게이트부(210)의 입력 신호로 제공하도록 처리한다.
이후, 상기 스위칭 회로는 523단계로 진행하여 상기 클럭 게이트부(210)로 하여금 각각의 클럭의 네거티브 에지(Negative Edge)에서 각 클럭에 해당하는 클럭 게이트 신호의 값을 하이에서 로우(High → Low)로 토글 시키도록 처리한 후, 상기 클럭 게이트 신호를 상기 선택 신호 관리부(200)로 제공하도록 한다.
이후, 상기 스위칭 회로는 525단계로 진행하여 상기 선택 신호 관리부(200)로 하여금 상기 클럭 게이트 신호를 이용하여 하이에서 로우로 토글 시킨 업데이트 먹셀 신호를 생성하도록 처리한 후, 상기 515단계의 과정을 반복 수행하도록 처리한다.
상기와 같이 동작하게 되면 상기 스위칭 회로는 클럭이 ON 되어 클럭 선택부(220)에 의해 선택된 클럭이 출력된다.
도 1은 일반적인 클럭 스위칭 회로의 글리치 발생을 나타내는 도면,
도 2는 본 발명에 따른 클럭 스위칭 회로의 구성을 도시한 블록도,
도 3은 본 발명의 바람직한 일 실시 예에 따라 두 개의 클럭 게이트를 포함하는 스위칭 회로를 나타낸 도면,
도 4는 본 발명에 따른 스위칭 회로의 동작을 나타내는 타이밍 도면 및,
도 5는 본 발명의 바람직한 일 실시 예에 따른 스위칭 회로에서 글리치를 방지한 스위칭 과정을 도시한 흐름도.

Claims (19)

  1. 클럭 스위칭 회로에서 글리치를 방지하기 위한 장치에 있어서,
    클럭 게이트(Clk_gate) 신호를 생성하기 위한 입력 신호인 디텍트 체인지(Detect_change) 신호를 생성하여 클럭 게이트부로 제공하고, 스위칭하고자 하는 클럭을 선택하기 위하여 상기 클럭 게이트 신호를 이용하여 상기 먹셀(Muxsel) 신호를 상기 선택 신호로 변경하는 선택 신호 관리부와,
    상기 디텍드 체인지 신호를 입력받을 경우, 입력받는 클럭을 게이팅하고 상기 디텍트 체인지 신호의 값을 입력 신호로 하여 클럭 게이트 신호를 생성하여 상기 선택 신호 관리부로 제공하는 클럭 게이트부를 포함하는 것을 특징으로 하는 장치.
  2. 제 1항에 있어서,
    상기 클럭 스위칭 회로에서 글리치를 방지하기 위한 장치는,
    상기 선택 신호 관리부로부터 상기 선택 신호로 변경된 먹셀 신호를 수신하기 전까지 상기 클럭 게이트부에 의해 게이팅된 클럭을 출력하고, 상기 먹셀 신호를 수신할 경우, 상기 신호에 따른 클럭으로 스위칭하는 클럭 선택부를 포함하는 것을 특징으로 하는 장치.
  3. 제 1항에 있어서,
    상기 선택 신호 관리부는,
    상기 선택 신호의 값이 변경함에 따라 상기 선택 신호가 먹셀 신호와 서로 다른 값을 가질 경우, 상기 디텍트 체인지 신호를 생성하고, 상기 선택 신호가 먹셀 신호와 같을 경우, 상기 생성한 디텍트 신호를 복원하는 것을 특징으로 하는 장치.
  4. 제 3항에 있어서,
    상기 선택 신호 관리부는,
    상기 디텍트 체인지 신호의 값을 토글하여 상기 디텍트 신호를 생성하고, 상기 생성한 디텍트 신호의 값을 토글함으로써, 상기 디텍트 신호를 복원하는 것을 특징으로 하는 장치.
  5. 제 1항에 있어서,
    상기 선택 신호 관리부는,
    상기 클럭 게이트부로부터 제공받은 게이트 신호를 이용하여 스위칭하고자 하는 클럭을 선택하기 위하여 상기 먹셀 신호를 상기 선택 신호로 변경하도록 하는 신호인 업데이트 먹셀(Update_muxsel) 신호를 생성하여 상기 먹셀 신호의 값을 선택 신호 값으로 변경하는 것을 특징으로 하는 장치.
  6. 제 5항에 있어서,
    상기 선택 신호 관리부는,
    상기 클럭 게이트부로부터 각각의 클럭 게이트의 클럭 게이트 신호를 모두 제공받을 경우, 상기 업데이트 먹셀 신호의 값을 토글하여 상기 업데이트 먹셀 신호를 생성하는 것을 특징으로 하는 장치.
  7. 제 6항에 있어서,
    상기 선택 신호 관리부는,
    상기 업데이트 먹셀 신호의 값이 토글된 구간에 포함되는 시스템 클럭(Sys_clk)의 포지티브에지(Positive Edge) 또는 네거티브에지(Negative Edge)에서 먹셀 신호의 값을 토글하는 것을 특징으로 하는 장치.
  8. 제 1항에 있어서,
    상기 클럭 게이트부는,
    다 수의 클럭 게이트(N 개의 클럭 게이트)로 구성하는 것을 특징으로 하는 장치.
  9. 제 8항에 있어서,
    상기 클럭 게이트부는,
    상기 선택 신호 관리부로부터 제공받은 디텍트 체인지 신호를 각각의 클럭의 포지티브에지(Positive Edge) 또는 네거티브 에지(Negative Edge)에서 클럭 게이트 신호를 토글하여 상기 선택 신호 관리부로 제공하는 것을 특징으로 하는 장치.
  10. 클럭 스위칭 회로에서 글리치를 방지하기 위한 방법에 있어서,
    클럭 게이트(Clk_gate) 신호를 생성하기 위한 입력 신호인 디텍트 체인지(Detect_change) 신호를 생성하는 과정과,
    상기 디텍트 체인지 신호를 생성할 경우, 입력받는 클럭은 게이팅하고, 상기 디텍트 체인지 신호의 값을 입력 신호로 하여 클럭 게이트 신호를 생성하는 과정과,
    스위칭하고자 하는 클럭을 선택하기 위하여 상기 클럭 게이트 신호를 이용하여 상기 먹셀(Muxsel) 신호를 상기 선택 신호로 변경하는 과정을 포함하는 것을 특징으로 하는 방법.
  11. 제 10항에 있어서,
    상기 클럭 스위칭 회로에서 글리치를 방지하기 위한 방법은,
    상기 선택 신호로 변경된 먹셀 신호를 수신하기 전까지 상기 게이팅된 클럭을 출력하는 과정과,
    상기 먹셀 신호를 수신할 경우, 상기 신호에 따른 클럭으로 스위칭하는 과정을 포함하는 것을 특징으로 하는 방법.
  12. 제 10항에 있어서,
    상기 디텍트 체인지 신호를 생성하는 과정은,
    상기 선택 신호의 값이 변경할 경우, 상기 선택 신호와 먹셀 신호를 비교하여 수행하는 것을 특징으로 하는 방법.
  13. 제 12항에 있어서,
    상기 선택 신호와 먹셀 신호가 서로 다른 값을 가질 경우, 상기 디텍트 체인지 신호를 생성하고, 상기 선택 신호가 먹셀 신호와 같을 경우, 상기 생성한 디텍트 신호를 복원하는 것을 특징으로 하는 방법.
  14. 제 13항에 있어서,
    상기 디텍드 체인지 신호를 생성하는 과정은 상기 디텍트 체인지 신호의 값을 토글하는 과정이며, 상기 디텍트 체인지 신호를 복원하는 과정은 상기 생성한 디텍트 신호의 값을 토글하는 과정임을 특징으로 하는 방법.
  15. 제 10항에 있어서,
    상기 먹셀 신호를 상기 선택 신호로 변경하는 과정은,
    상기 먹셀 신호를 상기 선택 신호로 변경하도록 하는 신호인 업데이트 먹셀(Update_muxsel) 신호를 생성하여 상기 먹셀 신호의 값을 선택 신호 값으로 변경하는 과정임을 특징으로 하는 방법.
  16. 제 15항에 있어서,
    상기 업데이트 먹셀 신호를 생성한 후, 상기 업데이트 먹셀 신호의 값이 토글된 구간에 포함되는 시스템 클럭(Sys_clk)의 포지티브에지(Positive Edge) 또는 네거티브에지(Negative Edge)에서 먹셀 신호의 값을 토글하는 것을 특징으로 하는 장치.
  17. 제 16항에 있어서,
    상기 업데이트 먹셀 신호는,
    각각의 클럭 게이트로부터 클럭 게이트 신호를 모두 제공받을 경우, 상기 업데이트 먹셀 신호의 값을 토글하여 생성하는 것을 특징으로 하는 방법.
  18. 제 17항에 있어서,
    상기 클럭 게이트 신호는,
    다 수의 클럭 게이트(N 개의 클럭 게이트)로부터 제공받는 신호임을 특징으로 하는 방법.
  19. 제 18항에 있어서,
    상기 클럭 게이트 신호는,
    상기 디텍트 체인지 신호를 각각의 클럭의 포지티브에지(Positive Edge) 또는 네거티브 에지(Negative Edge)에서 클럭 게이트 신호를 토글하여 생성하는 것을 특징으로 하는 방법.
KR1020070080477A 2007-08-10 2007-08-10 클럭 스위칭 회로에서 글리치를 방지하기 위한 장치 및방법 KR101436042B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020070080477A KR101436042B1 (ko) 2007-08-10 2007-08-10 클럭 스위칭 회로에서 글리치를 방지하기 위한 장치 및방법
PCT/KR2008/004639 WO2009022824A1 (en) 2007-08-10 2008-08-08 Apparatus and method for preventing generation of glitch in a clock switching circuit
US12/188,277 US7961012B2 (en) 2007-08-10 2008-08-08 Apparatus and method for preventing generation of glitch in a clock switching circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070080477A KR101436042B1 (ko) 2007-08-10 2007-08-10 클럭 스위칭 회로에서 글리치를 방지하기 위한 장치 및방법

Publications (2)

Publication Number Publication Date
KR20090016086A true KR20090016086A (ko) 2009-02-13
KR101436042B1 KR101436042B1 (ko) 2014-08-29

Family

ID=40345889

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070080477A KR101436042B1 (ko) 2007-08-10 2007-08-10 클럭 스위칭 회로에서 글리치를 방지하기 위한 장치 및방법

Country Status (3)

Country Link
US (1) US7961012B2 (ko)
KR (1) KR101436042B1 (ko)
WO (1) WO2009022824A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120033137A (ko) * 2010-09-29 2012-04-06 현대자동차주식회사 반도체 소자의 전원분리를 통한 암전류 저감 방법 및 이를 적용한 반도체 소자
KR20190140084A (ko) * 2017-05-09 2019-12-18 마이크론 테크놀로지, 인크. 반도체 메모리용 구성가능 명령 및 데이터 입력 회로를 위한 장치 및 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8698531B1 (en) * 2013-02-05 2014-04-15 Aspeed Technology, Inc. Integrated circuit with automatic configuration and method thereof
US8860468B1 (en) * 2013-06-06 2014-10-14 Freescale Semiconductor, Inc. Clock multiplexer
US9600018B1 (en) * 2014-06-09 2017-03-21 Xilinx, Inc. Clock stoppage in integrated circuits with multiple asynchronous clock domains
US9360883B1 (en) 2015-08-26 2016-06-07 Freescale Semiconductor, Inc. Clock multiplexer for generating glitch-free clock signal
US10296065B2 (en) 2016-01-25 2019-05-21 Samsung Electronics Co., Ltd. Clock management using full handshaking
KR102516881B1 (ko) * 2016-02-29 2023-04-17 삼성전자주식회사 클럭 위상 정렬을 위한 방법 및 장치
US9490789B1 (en) 2016-04-27 2016-11-08 Freescale Semiconductor, Inc. Glitch-free clock switching circuit using Muller C-elements
US10401941B2 (en) 2017-02-06 2019-09-03 Qualcomm Incorporated Clock glitch prevention for retention operational mode
KR20200143910A (ko) 2019-06-17 2020-12-28 삼성전자주식회사 이미지 장치 및 그 구동 방법
US11175691B1 (en) * 2020-10-21 2021-11-16 Nxp B.V. Power-optimized ranging sequence by snapshot clock switching

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039146B2 (en) * 2001-01-16 2006-05-02 Advanced Micro Devices, Inc. Method and interface for glitch-free clock switching
US6819150B1 (en) * 2001-09-19 2004-11-16 Sony Corporation Method and apparatus for quick clock swapping using much slower asynchronous clock for power savings
US6501304B1 (en) * 2001-10-11 2002-12-31 International Business Machines Corporation Glitch-less clock selector
US6809556B1 (en) * 2003-09-04 2004-10-26 Texas Instruments Incorporated Self-compensating glitch free clock switch

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120033137A (ko) * 2010-09-29 2012-04-06 현대자동차주식회사 반도체 소자의 전원분리를 통한 암전류 저감 방법 및 이를 적용한 반도체 소자
KR20190140084A (ko) * 2017-05-09 2019-12-18 마이크론 테크놀로지, 인크. 반도체 메모리용 구성가능 명령 및 데이터 입력 회로를 위한 장치 및 방법

Also Published As

Publication number Publication date
WO2009022824A1 (en) 2009-02-19
US20090039940A1 (en) 2009-02-12
KR101436042B1 (ko) 2014-08-29
US7961012B2 (en) 2011-06-14

Similar Documents

Publication Publication Date Title
KR20090016086A (ko) 클럭 스위칭 회로에서 글리치를 방지하기 위한 장치 및방법
US6239626B1 (en) Glitch-free clock selector
US8451967B2 (en) Method and apparatus for clock checking
US20090024888A1 (en) Semiconductor device
US9325487B1 (en) Systems and methods for transferring a signal from a first clock domain to a second clock domain
EP3197054A1 (en) Dynamic clock switching method and apparatus as well as computer readable medium
GB2348327A (en) Clock skew removal apparatus
KR20090016090A (ko) 파이프라인 시스템의 동적 클럭 제어 장치 및 방법
CN114008924B (zh) 反应性下垂限制器
CN102724033A (zh) 实现主备时钟相位对齐的方法和主控单板
US7321244B2 (en) Clock switching device and clock switching method
CN111262562B (zh) 亚稳态检测电路
US20110210779A1 (en) Circuit and method for recovering clock data in highly integrated semiconductor memory apparatus
CN113504809B (zh) 一种多路时钟的动态切换方法、装置及系统
US20230376067A1 (en) Circuit and method to set delay between two periodic signals with unknown phase relationship
KR20180099998A (ko) 반도체 장치
EP3812874B1 (en) Glitch-free clock multiplexer
KR20080012574A (ko) 클럭 스위칭 회로
JP3538163B2 (ja) 非同期パルス信号取り込み回路
CN117348703A (zh) 一种解决rdc问题的电路、片上系统和服务器
CN117411465A (zh) 一种时钟切换电路、芯片及电子设备
JP2001339376A (ja) 同期回路
JP2004233235A (ja) ノイズ検知回路および情報処理装置
JP2009278405A (ja) 受信装置、送信装置および通信方法
JP2010130060A (ja) データ転送システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right