KR20130015460A - 반도체 장치의 카운팅 회로 및 이를 이용한 반도체 장치의 듀티 보정 회로 - Google Patents

반도체 장치의 카운팅 회로 및 이를 이용한 반도체 장치의 듀티 보정 회로 Download PDF

Info

Publication number
KR20130015460A
KR20130015460A KR1020110077463A KR20110077463A KR20130015460A KR 20130015460 A KR20130015460 A KR 20130015460A KR 1020110077463 A KR1020110077463 A KR 1020110077463A KR 20110077463 A KR20110077463 A KR 20110077463A KR 20130015460 A KR20130015460 A KR 20130015460A
Authority
KR
South Korea
Prior art keywords
counting
toggling
clock
clocks
control signal
Prior art date
Application number
KR1020110077463A
Other languages
English (en)
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 KR1020110077463A priority Critical patent/KR20130015460A/ko
Priority to US13/366,425 priority patent/US8625734B2/en
Priority to TW101110436A priority patent/TWI545899B/zh
Publication of KR20130015460A publication Critical patent/KR20130015460A/ko
Priority to US14/133,063 priority patent/US8866526B2/en

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 
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/156Arrangements in which a continuous pulse train is transformed into a train having a desired pattern
    • H03K5/1565Arrangements in which a continuous pulse train is transformed into a train having a desired pattern the output pulses having a constant duty cycle
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K21/00Details of pulse counters or frequency dividers
    • H03K21/38Starting, stopping or resetting the counter

Landscapes

  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Dram (AREA)
  • Pulse Circuits (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

반도체 장치의 카운팅 회로에 관한 것으로서, 다수의 카운팅 클록에 각각 응답하여 카운팅 코드의 각 비트를 카운팅하되, 카운팅 제어신호에 응답하여 카운팅 방향이 제어되는 다수의 카운팅 유닛과 클록 제어신호에 응답하여 다수의 카운팅 클록 중 실제 토글링하는 클록의 개수를 제어하는 클록 토글링 제어부, 및 예정된 코드 값과 카운팅 코드의 값을 비교하고, 비교결과에 따라 상기 카운팅 제어신호의 값을 결정하는 카운팅 동작 제어부를 구비하는 반도체 장치의 카운팅 회로를 제공한다.

Description

반도체 장치의 카운팅 회로 및 이를 이용한 반도체 장치의 듀티 보정 회로{CODE MATCHING CIRCUIT OF SEMICONDUCTOR DEVICE AND DUTY CORRECTION CIRCUIT OF SEMICONDUCTOR DEVICE USING THE SAME}
본 발명은 반도체 설계 기술에 관한 것으로서, 구체적으로 반도체 장치의 카운팅 회로에 관한 것이며, 더 자세히는 반도체 장치의 카운팅 회로가 적용된 반도체 장치의 듀티 보정 회로에 관한 것이다.
입력되는 클록의 듀티 비를 검출하기 위한 회로는, 입력되는 클록이 로직'하이'(High)로 활성화되는 구간의 듀티 - 혹은, 로직'로우'(Low)로 비활성화되는 구간의 듀티 - 가 50%보다 '크다'와 '작다'라는 값을 발생시키며, 이 값을 이용하여 듀티 보정 회로(Duty Correction Circuit)에서 입력되는 클록의 듀티 비(duty rario)가 50%가 되도록 듀티를 보상하는 동작을 수행한다. 여기서, 듀티 보정 회로(Duty Correction Circuit)는 듀티 비를 검출하기 위한 회로의 출력신호에 응답하여 듀티 보정 코드(DCC_CODE)의 값을 적절히 조절하면서 그에 대응하여 조절되는 구동력으로 입력되는 클록이 로직'하이'(High)로 활성화되는 구간의 듀티 - 혹은, 로직'로우'(Low)로 비활성화되는 구간의 듀티 - 를 적절히 구동함으로써 입력되는 클록의 듀티 비(duty rario)를 50%가 되도록 동작한다. 결국, 듀티 보정 회로에서 입력되는 클록의 듀티 비를 50%가 되도록 동작하는 것은 듀티 보정 코드(DCC_CODE)의 값을 적절하게 조절하는 동작에 의해 이루어지게 된다.
이때, 듀티 보정 코드(DCC_CODE)의 값을 조절하는 동작에 일반적으로 사용되는 방법으로 'binary search method'와 'linear search method'가 있다. 이와 같은 두 가지 방법 중 실제 듀티 보정 회로에 사용되는 방법은 듀티 보정 회로의 보정 동작시간(locking time)과 구현 난이도 및, 동작 중에 발생할 수 있는 에러(error)의 크기에 따라서 선택된다. 일반적으로, 보정 동작 시간이 빠른 방법은 'binary search method' 이며, 구현이 쉬운 방법은 'linear search method'이다.
먼저, 'Binary search method'는 듀티 보정 동작과정에서 듀티 보정 코드(DCC_CODE)를 2의 멱수 단위로 변경하는 방식을 통해 입력되는 클록의 듀티비를 50%로 만든다.
구체적으로, 'Binary search method'는 듀티 보정 동작과정에서 최초에 듀티 에러(duty error)를 보상하는 과정은 도 1과 같다. 'Binary search method'에 소요되는 시간은 듀티 보정 코드(DCC_CODE)가 N비트로 이루어진 코드라고 가정할 때, 보정 동작 시간이 가장 오래 걸리는 경우라고 해도 N번의 싸이클을 반복하여 듀티 에러(duty error)를 보상하면 된다. 이렇게, 듀티 보정 동작과정에서 듀티 보정 코드(DCC_CODE)의 값을 변경하는 폭이 크기 때문에 듀티 보정 동작 시간이 매우 짧지만, 최초 듀티 보정 동작에서 입력되는 클록의 듀티 비를 50%로 보정한 뒤에 다시 발생하는 듀티 비 에러를 보상하는 동작에서는 작은 듀티 에러를 찾기 위해서도 듀티 보정 코드(DCC_CODE)의 변동 폭을 크게 변경해야 하는 것이 단점이다. 즉, 도 2에서와 같이 입력되는 클록의 듀티 비를 50%로 보정한 이후에 발생하는 듀티 에러를 보정하는 동작을 수행할 때, 듀티 보정 코드의 값을 변경하는 과정에서 오히려 듀티 에러가 크게 발생하는 것을 알 수 있다. 이 과정에서 발생할 수 있는 듀티 에러는 가장 큰 경우에 듀티 보정 코드의 최상위 비트(MSB) 값 만큼이며, 듀티 보정 회로의 보정 범위가 클수록 그 크기가 커지게 된다.
그리고, 'Linear search method'는 듀티 보정 동작 과정에서 듀티 보정 코드(DCC_CODE)를 최하위 비트(LSB) 단위로 변경하며 입력되는 클록의 듀티 비를 50%로 만든다. 'Linear search method'에서 최초에 듀티 에러를 보상하는 과정은 도 3과 같다. 'Linear search method'의 경우 듀티 보정 동작에 소요되는 시간은 듀티 보정 코드(DCC_CODE)가 N비트로 이루어진 코드라고 가정할 때, 보정 동작 시간이 가장 오래 걸리는 경우가 2^N번의 싸이클을 반복하여 듀티 에러(duty error)를 보상하게 된다.
즉, 도 3 및 도 4에 도시된 것과 같이 'Linear search method'의 경우 듀티 보정 동작과정에서 듀티 보정 코드(DCC_CODE)의 값을 변경하는 폭이 작기 때문에 듀티 보정 동작 시간이 매우 길다는 단점이 있지만, 반면, 최초 듀티 보정 동작에서 입력되는 클록의 듀티 비를 50%로 보정한 뒤에 다시 발생하는 듀티 비 에러를 보상하는 동작에서는 쉽고 빠르게 듀티 보정 동작을 완료할 수 있는 장점도 있다.
위와 같이, 서로 다른 듀티 보정 동작의 단점을 극복하기 위해서 'Binary search method'동작을 수행하기 위한 회로와 'Linear search method'동작을 수행하기 위한 회로를 모두 구현하고, 둘 중 하나의 듀티 보정 동작이 선택되도록 설계하는 방법도 가능하다. 하지만, 여러 개의 듀티 보정 동작을 구현하기 위해 회로의 면적이 커지고, 복잡도가 증가하게 되는 문제점이 발생한다.
본 발명은 전술한 종래기술의 문제점을 해결하기 위해 제안된 것으로서, 디지털 코드의 값을 매칭(matching)시키는 동작에 있어서 여러 가지 알고리즘을 선택적으로 사용할 수 있음에도 불구하고 그 면적은 최소한으로 유지되는 카운팅 회로와 카운팅 회로가 적용된 듀티 보정 회로를 제공하는데 그 목적이 있다.
상기의 해결하고자 하는 과제를 달성하기 위한 본 발명의 일 측면에 따르면, 다수의 카운팅 클록에 각각 응답하여 카운팅 코드의 각 비트를 카운팅하되, 카운팅 제어신호에 응답하여 카운팅 방향이 제어되는 다수의 카운팅 유닛; 클록 제어신호에 응답하여 상기 다수의 카운팅 클록 중 실제 토글링하는 클록의 개수를 제어하는 클록 토글링 제어부; 및 예정된 코드 값과 상기 카운팅 코드의 값을 비교하고, 비교결과에 따라 상기 카운팅 제어신호의 값을 결정하는 카운팅 동작 제어부를 구비하는 반도체 장치의 카운팅 회로를 제공한다.
상기의 해결하고자 하는 과제를 달성하기 위한 본 발명의 다른 측면에 따르면, 소스 클록의 듀티 비 에러를 감지하기 위한 듀티비 에러 감지부; 다수의 카운팅 클록에 각각 응답하여 듀티 조절 코드의 각 비트를 카운팅하되, 상기 듀티비 에러 감지부의 출력신호에 응답하여 카운팅 방향이 제어되는 다수의 카운팅 유닛; 클록 제어신호에 응답하여 상기 다수의 카운팅 클록 중 실제 토글링하는 클록의 개수를 제어하는 클록 토글링 제어부; 및 상기 듀티 조절 코드에 응답하여 상기 소스 클록의 듀티 비를 조절하기 위한 듀티비 조절부를 구비하는 반도체 장치의 듀티 보정 회로를 제공한다.
상기의 해결하고자 하는 과제를 달성하기 위한 본 발명의 또 다른 측면에 따르면, 소스 클록에 대응하는 다수의 카운팅 클록 중 클록 제어신호에 따라 선택된 초기 개수의 클록만 토글링시키고 나머지 클록은 비활성화시키는 토글링 초기화 단계; 상기 소스 클록의 토글링 횟수가 설정된 횟수에 도달할 때마다 상기 다수의 카운팅 클록 중 상기 토그링 초기화 단계에서 비활성화 상태인 클록들을 설정된 개수씩 순차적으로 토글링시키며, 설정된 조건에 만족할 때 상기 다수의 카운팅 클록을 모두 토글링 시키는 토글링 동작 단계; 카운팅 제어신호에 따라 그 카운팅 방향이 선택되며, 상기 다수의 카운팅 클록에 각각 응답하여 카운팅 코드의 각 비트를 카운팅하는 단계; 및 상기 카운팅 코드 값과 예정된 코드 값을 비교하고, 비교결과에 따라 상기 카운팅 제어신호의 값을 결정하는 단계를 포함하는 반도체 장치의 카운팅 회로 동작방법.
전술한 본 발명은 코드 카운팅 회로에 동작클록을 선택적으로 제공하는 방식을 통해 카운팅 코드의 값이 설정된 목표 값에 도달하기까지 그 값을 변동하기 위한 여러 가지 방식 - 'Linear Search Method' 방식과 Binary Search Method' 방식을 의미함 - 을 하나의 회로에서 선택적으로 사용할 수 있는 효과가 있다.
이로 인해, 카운팅 코드의 값이 설정된 목표 값에 도달하기까지 그 값을 변동하기 위한 여러 가지 방식의 장점만을 취하는 것이 가능하며, 동작 중에 에러가 발생할 확률을 최소한으로 유지할 수 있는 효과가 있다.
도 1 및 도 3는 종래기술에 따른 반도체 장치의 듀티 보정 회로의 동작에 따라 듀티 보정 코드의 값이 변동하는 것을 설명하기 위해 도시한 다이어그램.
도 2 및 도 4는 종래기술에 따른 반도체 장치의 듀티 보정 회로의 문제점을 설명하기 위해 도시한 다이어그램.
도 5a는 본 발명의 실시예에 따른 반도체 장치의 카운팅 회로를 도시한 블록 다이어그램.
도 5b는 본 발명의 실시예에 따라 도 5a에 도시된 반도체 장치의 카운팅 회로가 적용된 반도체 장치의 듀티 보정 회로를 도시한 블록 다이어그램.
도 6은 도 5a 및 도 5b에 도시된 본 발명의 실시예에 따른 클록 토글링 제어부를 상세히 도시한 도면.
도 7 및 도 8은 도 5a와 도 5b 및 도 6에 도시된 본 발명의 실시예에 따른 반도체 장치의 카운팅 회로와 카운팅 회로가 적용된 반도체 장치의 듀티 보정 회로의 동작을 설명하기 위해 도시한 타이밍 다이어그램.
도 9는 도 5a와 도 5b 및 도 6에 도시된 본 발명의 실시예에 따른 반도체 장치의 카운팅 회로와 카운팅 회로가 적용된 반도체 장치의 듀티 보정 회로의 동작에 따라 듀티 보정 코드의 값이 변동하는 것을 설명하기 위해 도시한 다이어그램.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다. 그러나, 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구성될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록하며 통상의 지식을 가진자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
도 5a는 본 발명의 실시예에 따른 반도체 장치의 카운팅 회로를 도시한 블록 다이어그램.
도 5b는 본 발명의 실시예에 따라 도 5a에 도시된 반도체 장치의 카운팅 회로가 적용된 반도체 장치의 듀티 보정 회로를 도시한 블록 다이어그램.
도 6은 도 5a 및 도 5b에 도시된 본 발명의 실시예에 따른 클록 토글링 제어부를 상세히 도시한 도면.
먼저 도 5a를 참조하면, 본 발명의 실시예에 따른 반도체 장치의 카운팅 회로는 다수의 카운팅 유닛(500, 501, 502, 503, 504)과 클록 토글링 제어부(540)와 카운팅 동작 제어부(580)를 구비한다.
여기서, 다수의 카운팅 유닛(500, 501, 502, 503, 504)은, 다수의 카운팅 클록(CLK<0:4>)에 각각 응답하여 카운팅 코드(CNT_CODE<0:4>)의 각 비트를 카운팅하되, 카운팅 제어신호(CNT_CONT)에 응답하여 카운팅 방향이 제어된다.
구체적으로, 다수의 카운팅 유닛(500, 501, 502, 503, 504)은, 다수의 카운팅 클록(CLK<0:4>)에 일 대 일로 대응하여 카운팅 코드(CNT_CODE<0:4>)에 포함된 다수의 비트를 각각 카운팅한다.
또한, 다수의 카운팅 유닛(500, 501, 502, 503, 504) 각각은, 인접한 유닛들 간에 캐리(carry) 정보를 조합하여 카운팅 동작을 수행한다.
그리고, 클록 토글링 제어부(540)는, 클록 제어신호(CLK_CONT<0:3>)에 응답하여 다수의 카운팅 클록(CLK<0:4>) 중 실제 토글링하는 클록의 개수를 제어한다.
구체적으로, 클록 토글링 제어부(540)는 다음과 같은 두 가지 실시예로 나누어서 설명할 수 있다.
먼저, 첫 번째 실시예에 따른 클록 토글링 제어부(540)는, 도면에 실선 및 점선을 포함하여 도시된 것과 같이 카운팅 제어신호(CNT_CONT)와 클록 제어신호(CLK_CONT<0:3>)를 입력받아 그 동작이 제어된다.
즉, 초기동작시 설정되는 클록 제어신호(CLK_CONT<0:3>)의 값에 따라 다수의 카운팅 클록(CLK<0:4>) 중 초기동작시 토글링하는 클록의 개수를 결정하고, 초기동작 이후에 카운팅 제어신호(CNT_CONT)가 비활성화되는 구간에서 다수의 카운팅 클록(CLK<0:4>) 중 토글링하지 않는 클록들을 순차적으로 토글링시키며, 초기동작 이후에 카운팅 제어신호(CNT_CONT)가 활성화되는 구간에서 다수의 카운팅 클록(CLK<0:4>)을 모두 토글링시키게 된다..
따라서, 도 6을 참조하여 클록 토글링 제어부(540)의 상세한 구성을 살펴보면, 첫 번째 실시예에 따른 클록 토글링 제어부(540)는, 카운팅 제어신호(CNT_CONT)가 비활성화되는 구간에서 소스 클록(REF_CLK)이 토글링할 때마다 비활성화된 신호부터 순차적으로 활성화되고 카운팅 제어신호(CNT_CONT)가 활성화되는 구간에서 모두 활성화되는 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>)를 생성하되, 클록 제어신호(CLK_CONT<0:3>)에 응답하여 각각의 토글링 동작제어신호(TOGGL_CONT<0:4>)의 초기동작시 활성화 여부가 결정되는 토글링 동작제어신호 생성부(542), 및 각각의 토글링 동작제어신호(TOGGL_CONT<0:4>)와 소스 클록(REF_CLK)에 응답하여 다수의 카운팅 클록(CLK<0:4>)을 생성하기 위한 다수의 카운팅 클록 생성부(544)를 구비하게 된다.
여기서, 토글링 동작제어신호 생성부(542)는, 클록 제어신호(CLK_CONT<0:3>) 및 리셋 신호(RESET)에 응답하여 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>) 중 비활성화 상태로 초기화되는 신호의 개수를 조절하기 위한 초기화 결정부(5442), 및 카운팅 제어신호(CNT_CONT)가 비활성화되는 구간에서 소스 클록(REF_CLK)의 토글링이 N번 - N은 1보다 큰 자연수 - 반복될 때마다 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>) 중 비활성화상태인 신호들을 M개 - M은 1보다 큰 자연수 - 씩 순차적으로 활성화시키고, 카운팅 제어신호(CNT_CONT)가 활성화되는 구간에서 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>)를 모두 활성화시키는 활성화 제어부(5424)를 구비하게 된다.
이때, 초기화 결정부(5442)의 동작을 예를 들어 구체적으로 살펴도면, 리셋 신호(RESET)가 토글링 할 때 클록 제어신호(CLK_CONT<0:3>)의 값에 대응하여 <표 1>과 같이 다수의 토글링 동작제어신호 값을 설정할 수 있다.
클록 제어신호(CLK_CONT<0:3>) 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>)의 초기값
0 0 0 0 1 0 0 0 0
1 0 0 0 1 1 0 0 0
1 1 0 0 1 1 1 0 0
1 1 1 0 1 1 1 1 0
1 1 1 1 1 1 1 1 1
그리고, 활성화 제어부(5424)의 동작을 예를 들어 구체적으로 살펴도면, <표 1>에 제시된 것과 같이 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>)의 값이 초기화된 상태에서 카운팅 제어신호(CNT_CONT)가 비활성화 상태를 계속 유지할 때에는 비활성화된 토글링 동작제어신호(TOGGL_CONT<0:4>)의 값 - '0'으로 초기화된 것을 의미함 - 을 순차적으로 활성화시키는 방식으로 동작하게 된다. 하지만, 비활성화된 토글링 동작제어신호(TOGGL_CONT<0:4>)의 값을 순차적으로 활성화시키는 과정에서 중간에 카운팅 제어신호(CNT_CONT)가 활성화되는 경우에는 모든 토글링 동작제어신호(TOGGL_CONT<0:4>)의 값을 동시에 활성화시키는 방식으로 동작하게 된다.
예컨대, 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>)의 초기값이 '1 0 0 0 0'이고 M이 1일 때 카운팅 제어신호(CNT_CONT)가 계속 비활성화상태라고 가정하면, 소스 클록(REF_CLK)이 N번 토글링 할 때마다 '1 0 0 0 0' -> '1 1 0 0 0' -> '1 1 1 0 0'-> '1 1 1 1 0' -> '1 1 1 1 1'의 순서로 그 값이 변동할 수 있다. 하지만, 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>)의 값이 '1 1 1 0 0'이 될 때 카운팅 제어신호(CNT_CONT)가 활성화된다고 가정하면, 소스 클록(REF_CLK)이 N번 토글링 할 때마다 '1 0 0 0 0' -> '1 1 0 0 0' -> '1 1 1 0 0'-> '1 1 1 1 1'의 순서로 그 값이 변동할 수 있다.
그리고, 다수의 카운팅 클록 생성부(544)는, 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>)를 각각 입력받고, 소스 클록(REF_CLK)을 공통으로 입력받는 다수의 낸드게이트(NAND<0:4>), 및 다수의 인버터(INV<0:4>)를 구비한다. 따라서, 다수의 카운팅 클록 생성부(544)는, 각각의 토글링 동작제어신호(TOGGL_CONT<0:4>)가 활성화상태로 인가될 때, 소스 클록(REF_CLK)의 토글링에 대응하여 출력되는 각각의 카운팅 클록(CLK<0:4>)을 토글링시키고, 각각의 토글링 동작제어신호(TOGGL_CONT<0:4>)가 비활성화상태로 인가될 때, 소스 클록(REF_CLK)의 토글링과 상관없이 출력되는 각각의 카운팅 클록(CLK<0:4>)을 비활성화상태로 유지하게 된다. 이때, 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>) 각각의 값이 변동하는 시점은 소스 클록(REF_CLK)의 에지에 동기화된다.
그리고, 두 번째 실시예에 따른 클록 토글링 제어부(540)는, 도면에 실선으로만 표시된 바와 같이 클록 제어신호(CLK_CONT<0:3>)만을 입력받아 그 동작이 제어된다.
즉, 초기동작시 설정되는 클록 제어신호(CLK_CONT<0:3>)의 값에 따라 다수의 카운팅 클록(CLK<0:4>) 중 초기동작시 토글링하는 클록의 개수를 결정하고, 초기동작 이후에 다수의 카운팅 클록(CLK<0:4>) 중 토글링하지 않는 클록들을 순차적으로 토글링시키되, 다수의 카운팅 클록(CLK<0:4>) 중 토글링하는 클록의 개수가 설정된 개수 이상이 되는 시점부터 다수의 카운팅 클록(CLK<0:4>)을 모두 토글링시키게 된다.
따라서, 도 6을 참조하여 클록 토글링 제어부(540)의 상세한 구성을 살펴보면, 두 번째 실시예에 따른 클록 토글링 제어부(540)는, 소스 클록(REF_CLK)이 토글링할 때마다 비활성화된 신호부터 순차적으로 활성화되고 활성화된 신호가 설정된 개수이상일 때 모두 활성화되는 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>)를 생성하되, 클록 제어신호(CLK_CONT<0:3>)에 응답하여 각각의 토글링 동작제어신호(TOGGL_CONT<0:4>)의 초기동작시 활성화 여부가 결정되는 토글링 동작제어신호 생성부(542), 및 각각의 토글링 동작제어신호(TOGGL_CONT<0:4>)와 소스 클록(REF_CLK)에 응답하여 다수의 카운팅 클록(CLK<0:4>)을 생성하기 위한 다수의 카운팅 클록 생성부(544)를 구비하게 된다.
여기서, 토글링 동작제어신호 생성부(542)는, 클록 제어신호(CLK_CONT<0:3>) 및 리셋 신호(RESET)에 응답하여 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>) 중 비활성화 상태로 초기화되는 신호의 개수를 조절하기 위한 초기화 결정부(5442), 및 소스 클록(REF_CLK)의 토글링이 N번 - N은 1보다 큰 자연수 - 반복될 때마다 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>) 중 비활성화상태인 신호들을 M개 - M은 1보다 큰 자연수 - 씩 순차적으로 활성화시키고, 다수의 토글링 동작제어신호 중 활성화된 신호가 설정된 개수이상일 때 상기 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>)를 모두 활성화시키는 활성화 제어부(5424)를 구비하게 된다.
이때, 초기화 결정부(5442)의 동작을 예를 들어 구체적으로 살펴도면, 리셋 신호(RESET)가 토글링 할 때 클록 제어신호(CLK_CONT<0:3>)의 값에 대응하여 전술한 <표 1>과 같이 다수의 토글링 동작제어신호 값을 설정할 수 있다.
그리고, 활성화 제어부(5424)의 동작을 예를 들어 구체적으로 살펴도면, <표 1>에 제시된 것과 같이 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>)의 값이 초기화된 상태에서 비활성화된 토글링 동작제어신호(TOGGL_CONT<0:4>)의 값 - '0'으로 초기화된 것을 의미함 - 을 순차적으로 활성화시키되, 활성화된 신호의 개수가 설정된 개수이상일 때 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>)를 모두 활성화시키는 방식으로 동작하게 된다.
예컨대, 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>)의 초기값이 '1 0 0 0 0'이고 M이 1이며 설정된 개수가 '3'일 때, 소스 클록(REF_CLK)이 N번 토글링 할 때마다 '1 0 0 0 0' -> '1 1 0 0 0' -> '1 1 1 0 0'으로 그 값이 변동한 뒤 활성화된 신호의 개수가 3개 이상인 상태가 되었으므로 바로'1 1 1 0 0' -> '1 1 1 1 1'의 순서로 그 값이 변동하게 된다. 마찬가지로, 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>)의 초기값이 '1 0 0 0 0'이고 M이 1이며 설정된 개수가 '2'일 때, 소스 클록(REF_CLK)이 N번 토글링 할 때마다 '1 0 0 0 0' -> '1 1 0 0 0'으로 그 값이 변동한 뒤 활성화된 신호의 개수가 2개 이상인 상태가 되었으므로 바로'1 1 0 0 0' -> '1 1 1 1 1'의 순서로 그 값이 변동하게 된다.
그리고, 다수의 카운팅 클록 생성부(544)는, 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>)를 각각 입력받고, 소스 클록(REF_CLK)을 공통으로 입력받는 다수의 낸드게이트(NAND<0:4>), 및 다수의 인버터(INV<0:4>)를 구비한다. 따라서, 다수의 카운팅 클록 생성부(544)는, 각각의 토글링 동작제어신호(TOGGL_CONT<0:4>)가 활성화상태로 인가될 때, 소스 클록(REF_CLK)의 토글링에 대응하여 출력되는 각각의 카운팅 클록(CLK<0:4>)을 토글링시키고, 각각의 토글링 동작제어신호(TOGGL_CONT<0:4>)가 비활성화상태로 인가될 때, 소스 클록(REF_CLK)의 토글링과 상관없이 출력되는 각각의 카운팅 클록(CLK<0:4>)을 비활성화상태로 유지하게 된다. 이때, 다수의 토글링 동작제어신호(TOGGL_CONT<0:4>) 각각의 값이 변동하는 시점은 소스 클록(REF_CLK)의 에지에 동기화된다.
그리고, 카운팅 동작 제어부(580)는, 예정된 코드(SOME_CODE<0:4>) 값과 카운팅 코드(CNT_CODE<0:4>)의 값을 비교하고, 비교결과에 따라 카운팅 제어신호(CNT_CONT)의 값을 결정한다.
구체적으로, 카운팅 동작 제어부(580)는, 카운팅 코드(CNT_CODE<0:4>)가 예정된 코드(SOME_CODE<0:4>) 값보다 작은 경우에 카운팅 제어신호(CNT_CONT)를 비활성화시킴으로써 다수의 카운팅 유닛(500, 501, 502, 503, 504)의 카운팅 방향을 증가로 설정하고, 카운팅 코드(CNT_CODE<0:4>)가 예정된 코드(SOME_CODE<0:4>) 값보다 큰 경우에 카운팅 제어신호(CNT_CONT)를 활성화시킴으로써 다수의 카운팅 유닛(500, 501, 502, 503, 504)의 카운팅 방향을 감소로 설정하게 된다. 물론, 카운팅 동작 제어부(580)는, 카운팅 코드(CNT_CODE<0:4>)가 예정된 코드(SOME_CODE<0:4>) 값보다 작은 경우에 카운팅 제어신호(CNT_CONT)가 활성화시킴으로써 다수의 카운팅 유닛(500, 501, 502, 503, 504)의 카운팅 방향을 감소로 설정하고, 카운팅 코드(CNT_CODE<0:4>)가 예정된 코드(SOME_CODE<0:4>) 값보다 큰 경우에 카운팅 제어신호(CNT_CONT)가 비활성화시킴으로써 다수의 카운팅 유닛(500, 501, 502, 503, 504)의 카운팅 방향을 증가로 설정하는 식으로 상기에서 설명한 동작과는 반대의 동작으로 설정될 수도 있다.
여기서, 카운팅 코드(CNT_CODE<0:4>)의 비교대상으로 설정되는 예정된 코드(SOME_CODE<0:4>) 값은 MRS와 같이 설계자에 의해 그 값이 미리 설정되는 레지스터에 저장될 수 있으며, 설정된 동작에 의해 그 값이 변경될 수 있다.
이때, 예정된 코드(SOME_CODE<0:4>)의 값을 변경하기 위해 사용될 수 있는 설정된 동작은 예컨대 다음과 같다.
첫 번째 동작은, 카운팅 코드(CNT_CODE<0:4>)의 값이 변동함에 따라 소스 클록(REF_CLK)의 주파수를 변동시키는 동작이며, 소스 클록(REF_CLK)의 목표 주파수에 대응하는 카운팅 코드(CNT_CODE<0:4>)의 값이 예정된 코드(SOME_CODE<0:4>) 값이 되도록 설정할 수 있다.
두 번째 동작은, 카운팅 코드(CNT_CODE<0:4>)의 값이 변동함에 따라 소스 클록(REF_CLK)의 위상을 변동시키는 동작이며, 소스 클록(REF_CLK)의 목표 위상에 대응하는 카운팅 코드(CNT_CODE<0:4>)의 값이 예정된 코드(SOME_CODE<0:4>) 값이 되도록 설정할 수 있다.
도 5b를 참조하면, 본 발명의 실시예에 따라 도 5a에 도시된 반도체 장치의 카운팅 회로가 적용된 반도체 장치의 듀티 보정 회로는, 도 5a에서 카운팅 코드(CNT_CODE<0:4>)를 듀티 보정 코드(DCC_CODE<0:4>)로 대체하고, 카운팅 동작 제어부(580)를 듀티비 에러 감지부(520)로 대체하며, 카운팅 제어신호(CNT_CONT)를 듀티비 에러 감지부(520)의 출력신호(DCC_ERR_DET)로 대체한 뒤, 외부 소스 클록(OUT_REF_CLK)의 듀티비를 조절하여 소스 클록(REF_CLK)을 생성하기 위한 듀티비 조절부(560)를 추가하면 완전히 동일한 구성이 되는 것을 알 수 있다.
즉, 도 5b에 도시된 본 발명의 실시예에 다른 반도체 장치의 듀티 보정 회로도 그 기본적인 동작은 도 5a에 도시된 반도체 장치의 카운팅 회로와 완전히 일치하는 것을 알 수 있으며, 다만, 반도체 장치의 카운팅 회로를 통해 결정되는 코드 - 도 5a에서는 카운팅 코드(CNT_CODE<0:4>) 도 5b에서는 듀티 보정 코드(DCC_CODE<0:4>)를 의미함 - 를 구체적으로 듀티 보정 동작에 사용한다는 점이 더 추가되는 구성이라는 것을 알 수 있다. 따라서, 여기에서는 도 5b의 간단한 구성 설명만 기재하도록 하겠다.
도 5b를 참조하면, 본 발명의 실시예에 따른 반도체 장치의 듀티 보정 회로(Duty Correction Circuit : DCC)은, 소스 클록(REF_CLK)의 듀티 비 에러를 감지하기 위한 듀티비 에러 감지부(520)와, 다수의 카운팅 클록(CLK<0:4>)에 각각 응답하여 듀티 조절 코드(DCC_CODE<0:4>)의 각 비트를 카운팅하되, 듀티비 에러 감지부(520)의 출력신호(DCC_ERR_DET)에 응답하여 카운팅 방향이 제어되는 다수의 카운팅 유닛(500, 501, 502, 503, 504)과, 클록 제어신호(CLK_CONT<0:3>)에 응답하여 다수의 카운팅 클록(CLK<0:4>) 중 실제 토글링하는 클록의 개수를 선택적으로 제어하는 클록 토글링 제어부(540), 및 듀티 조절 코드(DCC_CODE<0:4>)에 응답하여 소스 클록(REF_CLK)의 듀티 비를 조절하기 위한 듀티비 조절부(560)를 구비한다.
여기서, 다수의 카운팅 유닛(500, 501, 502, 503, 504)은, 다수의 카운팅 클록(CLK<0:4>)의 토글링에 일 대 일로 대응하여 듀티 조절 코드(DCC_CODE<0:4>)에 포함된 다수의 비트를 각각 카운팅한다. 이때, 다수의 카운팅 유닛(500, 501, 502, 503, 504) 각각은, 인접한 유닛들 간에 캐리(carry) 정보(CARRY_INFO)를 조합하여 카운팅 동작을 수행한다.
그리고, 듀티비 에러 감지부(520)는, 소스 클록(REF_CLK)이 로직'하이'(High)로 활성화되는 구간의 길이보다 로직'로우'(Low)로 비활성화되는 구간의 길이가 더 긴 길이를 가질 때, 이를 감지하여 출력되는 신호(DCC_ERR_DET)를 비활성화시키고, 소스 클록(REF_CLK)이 로직'하이'(High)로 활성화되는 구간의 길이보다 로직'로우'(Low)로 비활성화되는 구간의 길이가 더 짧은 길이를 가질 때, 이를 감지하여 출력되는 신호(DCC_ERR_DET)를 활성화시킨다.
또한, 듀티비 조절부(560)는, 듀티 조절 코드(DCC_CODE<0:4>) 중 상대적으로 최상위 비트(MSB)에 가까운 비트의 값이 변동하는 것에 대응하여 소스 클록(REF_CLK)의 듀티 비를 상대적으로 큰 폭으로 조절하고, 듀티 조절 코드(DCC_CODE<0:4>) 중 상대적으로 최하위 비트(LSB)에 가까운 비트의 값이 변동하는 것에 대응하여 소스 클록(REF_CLK)의 듀티 비를 상대적으로 작은 폭으로 조절한다. 예컨대, 최상위 비트가 듀티 조절 코드(DCC_CODE<0:4>)의 5번째 비트(DCC_CODE<4>)라고 가정하고 최하위 비트가 듀티 조절 코드(DCC_CODE<0:4>)의 1번째 비트(DCC_CODE<0>)라고 가정하면, 듀티 조절 코드(DCC_CODE<0:4>)의 5번째 비트(DCC_CODE<4>) -> 4번째 비트(DCC_CODE<3>) -> 3번째 비트(DCC_CODE<2>) -> 2번째 비트(DCC_CODE<1>) -> 1번째 비트(DCC_CODE<0>) 순서대로 그 값이 변동되었을 때 소스 클록(REF_CLK)의 상대적인 듀티 비 변동폭이 처음에는 크지만 나중에는 작아지게 된다.
전술한 구성을 바탕으로 본 발명의 실시예에 따른 반도체 장치의 카운팅 회로 및 카운팅 회로가 적용된 반도체 장치의 듀티 보정 회로의 동작을 설명하면 다음과 같다.
도 7 및 도 8은 도 5a와 도 5b 및 도 6에 도시된 본 발명의 실시예에 따른 반도체 장치의 카운팅 회로 및 카운팅 회로가 적용된 반도체 장치의 듀티 보정 회로의 동작을 설명하기 위해 도시한 타이밍 다이어그램이다.
도 7을 참조하면, 본 발명의 실시예에 따른 반도체 장치의 듀티 보정 회로는, 초기화 동작(1)시 듀티 조절 코드(DCC_CODE<0:4>)의 값은 '1 0 0 0 0'인 것을 알 수 있다.
초기화 동작(1)이후 소스 클록(REF_CLK)이 처음으로 토글링하는 시점(2)에서 다수의 카운팅 클록(CLK<0:4>) 중 듀티 조절 코드(DCC_CODE<0:4>)의 최상위 비트(MSB)에 해당하는 5번째 비트(DCC_CODE<4>)에 대응하는 카운팅 클록(CLK<4>) 및 최상위 비트(MSB)에 인접한 4번째 비트(DCC_CODE<3>)에 대응하는 카운팅 클록(CLK<3>)만 토글링하고, 나머지 카운팅 클록(CLK<0:2>)는 비활성화상태를 유지하는 것을 알 수 있다. 따라서, 듀티 조절 코드(DCC_CODE<0:4>)의 최상위 비트(MSB)에 해당하는 5번째 비트(DCC_CODE<4>) 및 최상위 비트(MSB)에 인접한 4번째 비트(DCC_CODE<3>)의 값만 변동하여 듀티 보정 동작을 수행하게 되고, 그 결과, 듀티 조절 코드(DCC_CODE<0:4>)의 값은 '1 1 0 0 0'이 되는 것을 알 수 있다. 물론, 토글링 하지 않는 카운팅 클록(CLK<0:2>)에 대응하는 듀티 조절 코드(DCC_CODE<0:2>)는 변동하지 않는 것을 알 수 있다.
소스 클록(REF_CLK)이 두 번째로 토글링하는 시점(3)에서 다수의 카운팅 클록(CLK<0:4>) 중 듀티 조절 코드(DCC_CODE<0:4>)의 최상위 비트(MSB)에 해당하는 5번째 비트(DCC_CODE<4>)에 대응하는 카운팅 클록(CLK<4>) 및 최상위 비트(MSB)에 인접한 4번째 비트(DCC_CODE<3>) 및 3번째 비트(DCC_CODE<2>)에 대응하는 카운팅 클록(CLK<3>, CLK<2>)만 토글링하고, 나머지 카운팅 클록(CLK<0:1>)는 비활성화상태를 유지하는 것을 알 수 있다. 따라서, 듀티 조절 코드(DCC_CODE<0:4>)의 최상위 비트(MSB)에 해당하는 5번째 비트(DCC_CODE<4>) 및 최상위 비트(MSB)에 인접한 4번째 및 3번째 비트(DCC_CODE<3>, DCC_CODE<2>)의 값만 변동하여 듀티 보정 동작을 수행하게 되고, 그 결과, 듀티 조절 코드(DCC_CODE<0:4>)의 값은 '1 0 1 0 0'이 되는 것을 알 수 있다. 물론, 토글링 하지 않는 카운팅 클록(CLK<0:1>)에 대응하는 듀티 조절 코드(DCC_CODE<0:1>)는 변동하지 않는 것을 알 수 있다.
소스 클록(REF_CLK)이 세 번째로 토글링하는 시점(3, 4, 5, 6, 7, 8, 9)에서부터는 다수의 카운팅 클록(CLK<0:4>)이 모두 토글링하는 것을 알 수 있는데, 이는 전술한 구성에서 설명한 바와 같이 MRS에 미리 그 시점이 설정되어 있을 수도 있고, 듀티비 에러 감지부(520)의 출력신호(DCC_ERR_DET)가 비활성화 상태에서 활성화 상태로 변경되는 시점일 수도 있는 이유로 인해 'Binary Search Method'방식에서 'Linear Search Method'방식으로 반도체 장치의 카운팅 회로가 전환되면서 발생하는 동작이 된다. 따라서, 듀티 조절 코드(DCC_CODE<0:4>)의 모든 비트를 변동하여 듀티 보정 동작을 수행하게 되고, 그 결과, 듀티 조절 코드(DCC_CODE<0:4>)의 값은 '1 0 1 0 1' -> '1 0 1 1 0' -> '1 0 1 1 1' -> '1 0 1 1 0' -> '1 0 1 1 1'이 되는 것을 알 수 있다. 이때, 듀티 조절 코드(DCC_CODE<0:4>)의 모든 비트를 변동한다는 것은 듀티 조절 코드(DCC_CODE<0:4>)의 최하위 비트(LSB)부터 값을 변동시켜 듀티 보정 동작을 수행한다는 것을 알 수 있다.
이렇게, 본 발명의 실시예에 따른 반도체 장치의 듀티 보정 회로는, 다수의 카운팅 클록(CLK<0:4>) 중 실제로 토글링하는 클록의 개수를 상황에 따라 조절하는 방식을 통해 듀티 조절 코드(DCC_CODE<0:4>)의 각 비트가 독립적으로 변동되도록 할 수 있으며, 따라서, 듀티 조절 코드(DCC_CODE<0:4>)를 변동하는 방식을 'Binary Search Method'와 'Linear Search Method'사이에서 자유롭게 변동하는 것이 가능하다.
도 8을 참조하면, 본 발명의 실시예에 따른 반도체 장치의 듀티 보정 회로는, 소스 클록(REF_CLK)의 토글링이 진행됨에 따라 다수의 카운팅 클록(CLK<0:4>) 중 토글링 되는 클록의 개수를 자유롭게 조절할 수 있다는 것을 알 수 있다. 따라서, 'Binary Search Method'방식에 따라 듀티 조절 코드(DCC_CODE<0:4>)의 값을 변동하는 구간의 길이와 'Linear Search Method'방식에 따라 듀티 조절 코드(DCC_CODE<0:4>)의 값을 변동하는 구간의 길이가 자유롭게 조절된다는 것을 알 수 있다.
도 9는 도 5 및 도 6에 도시된 본 발명의 실시예에 따른 반도체 장치의 듀티 보정 회로의 동작에 따라 듀티 보정 코드의 값이 변동하는 것을 설명하기 위해 도시한 다이어그램이다.
도 9를 참조하면, 본 발명의 실시예에 따른 반도체 장치의 듀티 보정 회로가 동작함에 따라 초반에는 'Binary Search Method'방식을 사용하여 듀티 조절 코드(DCC_CODE<0:4>)의 값을 변동시키기 때문에 그 변동폭이 상대적으로 큰 편인 것을 알 수 있다. 따라서, 소스 클록(REF_CLK)의 듀티 비 변동폭 또한 상대적으로 큰 편이 될 것이라는 것을 예측할 수 있다.
이후, 설정된 시점부터 'Linear Search Method'방식을 사용하여 듀티 조절 코드(DCC_CODE<0:4>)의 값을 변동시키기 때문에 그 변동폭이 상대적으로 작은 편이 되는 것을 알 수 있다. 따라서, 소스 클록(REF_CLK)의 듀티 비 변동폭 또한 상대적으로 작은 편이 될 것이라는 것을 예측할 수 있다.
이상에서 살펴본 바와 같이 본 발명의 실시예를 적용하면, 설정된 목표 값에 도달하기 까지 설정된 코드의 값을 변동하기 위한 여러 가지 방식 - 'Linear Search Method'방식과 Binary Search Method'방식을 의미함 - 을 하나의 회로에서 선택적으로 사용할 수 있다. 따라서, 설정된 목표 값에 도달하기 까지 설정된 코드의 값을 변동하기 위한 여러 가지 방식의 장점만을 취하는 것이 가능하며, 동작 중에 에러가 발생할 확률을 최소한으로 유지할 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속한 기술분야에서 통상의 지식을 가진자에게 있어 명백할 것이다.
예컨대, 전술한 실시예에서 예시한 논리 게이트 및 트랜지스터는 입력되는 신호의 극성에 따라 그 위치 및 종류가 다르게 구현되어야 할 것이다.
500, 501, 502, 503, 504 : 다수의 카운팅 유닛
520 : 듀티비 에러 감지부 540 : 클록 토글링 제어부
560 : 듀티비 조절부 580 : 카운팅 동작 제어부
542 : 토글링 동작 제어신호 생성부
544 : 다수의 카운팅 클록 생성부
5422 : 초기화 결정부 5424 : 활성화 제어부

Claims (37)

  1. 다수의 카운팅 클록에 각각 응답하여 카운팅 코드의 각 비트를 카운팅하되, 카운팅 제어신호에 응답하여 카운팅 방향이 제어되는 다수의 카운팅 유닛;
    클록 제어신호에 응답하여 상기 다수의 카운팅 클록 중 실제 토글링하는 클록의 개수를 제어하는 클록 토글링 제어부; 및
    예정된 코드 값과 상기 카운팅 코드의 값을 비교하고, 비교결과에 따라 상기 카운팅 제어신호의 값을 결정하는 카운팅 동작 제어부
    를 구비하는 반도체 장치의 카운팅 회로.
  2. 제1항에 있어서,
    상기 다수의 카운팅 유닛은,
    상기 다수의 카운팅 클록에 일 대 일로 대응하여 상기 카운팅 코드에 포함된 다수의 비트를 각각 카운팅하는 것을 특징으로 하는 반도체 장치의 카운팅 회로.
  3. 제2항에 있어서,
    상기 다수의 카운팅 유닛 각각은,
    인접한 유닛들 간에 캐리(carry) 정보를 조합하여 카운팅 동작을 수행하는 것을 특징으로 하는 반도체 장치의 카운팅 회로.
  4. 제1항에 있어서,
    상기 클록 토글링 제어부는,
    초기동작시 설정되는 상기 클록 제어신호의 값에 따라 상기 다수의 카운팅 클록 중 초기동작시 토글링하는 클록의 개수를 결정하고,
    초기동작 이후에 상기 카운팅 제어신호가 비활성화되는 구간에서 상기 다수의 카운팅 클록 중 토글링하지 않는 클록들을 순차적으로 토글링시키며,
    초기동작 이후에 상기 카운팅 제어신호가 활성화되는 구간에서 상기 다수의 카운팅 클록을 모두 토글링시키는 것을 특징으로 하는 반도체 장치의 카운팅 회로.
  5. 제4항에 있어서,
    상기 클록 토글링 제어부는,
    상기 카운팅 제어신호가 비활성화되는 구간에서 소스 클록이 토글링할 때마다 비활성화된 신호부터 순차적으로 활성화되고 상기 카운팅 제어신호가 활성화되는 구간에서 모두 활성화되는 다수의 토글링 동작제어신호를 생성하되, 상기 클록 제어신호에 응답하여 각각의 토글링 동작제어신호의 초기동작시 활성화 여부가 결정되는 토글링 동작제어신호 생성부; 및
    상기 각각의 토글링 동작제어신호와 상기 소스 클록에 응답하여 상기 다수의 카운팅 클록을 생성하기 위한 다수의 카운팅 클록 생성부를 구비하는 것을 특징으로 하는 반도체 장치의 카운팅 회로.
  6. 제5항에 있어서,
    상기 토글링 동작제어신호 생성부는,
    상기 클록 제어신호 및 리셋 신호에 응답하여 상기 다수의 토글링 동작제어신호 중 비활성화 상태로 초기화되는 신호의 개수를 조절하기 위한 초기화 결정부; 및
    상기 카운팅 제어신호가 비활성화되는 구간에서 상기 소스 클록의 토글링이 N번 - N은 1보다 큰 자연수 - 반복될 때마다 상기 다수의 토글링 동작제어신호 중 비활성화상태인 신호들을 M개 - M은 1보다 큰 자연수 - 씩 순차적으로 활성화시키고, 상기 카운팅 제어신호가 활성화되는 구간에서 상기 다수의 토글링 동작제어신호를 모두 활성화시키는 활성화 제어부를 구비하는 것을 특징으로 하는 반도체 장치의 카운팅 회로.
  7. 제1항에 있어서,
    상기 클록 토글링 제어부는,
    초기동작시 설정되는 상기 클록 제어신호의 값에 따라 상기 다수의 카운팅 클록 중 초기동작시 토글링하는 클록의 개수를 결정하고,
    초기동작 이후에 상기 다수의 카운팅 클록 중 토글링하지 않는 클록들을 순차적으로 토글링시키되, 설정된 개수의 클록들이 토글링하는 시점부터 상기 다수의 카운팅 클록을 모두 토글링시키는 것을 특징으로 하는 반도체 장치의 카운팅 회로.
  8. 제7항에 있어서,
    상기 클록 토글링 제어부는,
    소스 클록이 토글링할 때마다 비활성화된 신호부터 순차적으로 활성화되고 활성화된 신호가 설정된 개수이상일 때 모두 활성화되는 다수의 토글링 동작제어신호를 생성하되, 상기 클록 제어신호에 응답하여 각각의 토글링 동작제어신호의 초기동작시 활성화 여부가 결정되는 토글링 동작제어신호 생성부; 및
    상기 각각의 토글링 동작제어신호와 상기 소스 클록에 응답하여 상기 다수의 카운팅 클록을 생성하기 위한 다수의 카운팅 클록 생성부를 구비하는 것을 특징으로 하는 반도체 장치의 카운팅 회로.
  9. 제8항에 있어서,
    상기 토글링 동작제어신호 생성부는,
    상기 클록 제어신호 및 리셋 신호에 응답하여 상기 다수의 토글링 동작제어신호 중 비활성화 상태로 초기화되는 신호의 개수를 조절하기 위한 초기화 결정부; 및
    상기 소스 클록의 토글링이 N번 - N은 1보다 큰 자연수 - 반복될 때마다 상기 다수의 토글링 동작제어신호 중 비활성화상태인 신호들을 M개 - M은 1보다 큰 자연수 - 씩 순차적으로 활성화시키고, 상기 다수의 토글링 동작제어신호 중 활성화된 신호가 설정된 개수이상일 때 상기 다수의 토글링 동작제어신호를 모두 활성화시키는 활성화 제어부를 구비하는 것을 특징으로 하는 반도체 장치의 카운팅 회로.
  10. 제5항 또는 제8항에 있어서,
    상기 다수의 카운팅 클록 생성부는,
    상기 각각의 토글링 동작제어신호가 활성화상태로 인가될 때, 상기 소스 클록의 토글링에 대응하여 출력되는 각각의 카운팅 클록을 토글링시키고,
    상기 각각의 토글링 동작제어신호가 비활성화상태로 인가될 때, 상기 소스 클록의 토글링과 상관없이 출력되는 각각의 카운팅 클록을 비활성화상태로 유지하는 것을 특징으로 하는 반도체 장치의 카운팅 회로.
  11. 제5항 또는 제8항에 있어서,
    상기 다수의 토글링 동작제어신호 각각의 값이 변동하는 시점은 상기 소스 클록의 에지에 동기화되는 것을 특징으로 하는 반도체 장치의 카운팅 회로.
  12. 제1항에 있어서,
    상기 카운팅 동작 제어부는,
    상기 카운팅 코드가 상기 예정된 코드 값보다 작은 경우에 상기 카운팅 제어신호를 비활성화시킴으로써 상기 다수의 카운팅 유닛의 카운팅 방향을 증가로 설정하고,
    상기 카운팅 코드가 상기 예정된 코드 값보다 큰 경우에 상기 카운팅 제어신호를 활성화시킴으로써 상기 다수의 카운팅 유닛의 카운팅 방향을 감소로 설정하는 것을 특징으로 하는 반도체 장치의 카운팅 회로.
  13. 제12항에 있어서,
    상기 예정된 코드 값은 설정된 레지스터에 저장되며, 설정된 동작에 의해 그 값이 변경될 수 있는 것을 특징으로 하는 반도체 장치의 카운팅 회로.
  14. 제13항에 있어서,
    상기 설정된 동작은,
    상기 카운팅 코드의 값이 변동함에 따라 상기 소스 클록의 주파수를 변동시키는 동작이며, 상기 소스 클록의 목표 주파수에 대응하는 상기 카운팅 코드의 값이 상기 예정된 코드 값이 되는 것을 특징으로 하는 반도체 장치의 카운팅 회로.
  15. 제13항에 있어서,
    상기 설정된 동작은,
    상기 카운팅 코드의 값이 변동함에 따라 상기 소스 클록의 위상을 변동시키는 동작이며, 상기 소스 클록의 목표 위상에 대응하는 상기 카운팅 코드의 값이 상기 예정된 코드 값이 되는 것을 특징으로 하는 반도체 장치의 카운팅 회로.
  16. 소스 클록의 듀티 비 에러를 감지하기 위한 듀티비 에러 감지부;
    다수의 카운팅 클록에 각각 응답하여 듀티 조절 코드의 각 비트를 카운팅하되, 상기 듀티비 에러 감지부의 출력신호에 응답하여 카운팅 방향이 제어되는 다수의 카운팅 유닛;
    클록 제어신호에 응답하여 상기 다수의 카운팅 클록 중 실제 토글링하는 클록의 개수를 제어하는 클록 토글링 제어부; 및
    상기 듀티 조절 코드에 응답하여 상기 소스 클록의 듀티 비를 조절하기 위한 듀티비 조절부
    를 구비하는 반도체 장치의 듀티 보정 회로.
  17. 제16항에 있어서,
    상기 다수의 카운팅 유닛은,
    상기 다수의 카운팅 클록의 토글링에 일 대 일로 대응하여 상기 듀티 보정 코드에 포함된 다수의 비트를 각각 카운팅하는 것을 특징으로 하는 반도체 장치의 듀티 보정 회로.
  18. 제17항에 있어서,
    상기 다수의 카운팅 유닛 각각은,
    인접한 유닛들 간에 캐리(carry) 정보를 조합하여 카운팅 동작을 수행하는 것을 특징으로 하는 반도체 장치의 듀티 보정 회로.
  19. 제16항에 있어서,
    상기 클록 토글링 제어부는,
    초기동작시 설정되는 상기 클록 제어신호의 값에 따라 상기 다수의 카운팅 클록 중 초기동작시 토글링하는 클록의 개수를 결정하고,
    초기동작 이후에 상기 듀티비 에러 감지부의 출력신호가 비활성화되는 구간에서 상기 다수의 카운팅 클록 중 토글링하지 않는 클록들을 순차적으로 토글링시키며,
    초기동작 이후에 상기 듀티비 에러 감지부의 출력신호가 활성화되는 구간에서 상기 다수의 카운팅 클록을 모두 토글링시키는 것을 특징으로 하는 반도체 장치의 듀티 보정 회로.
  20. 제19항에 있어서,
    상기 클록 토글링 제어부는,
    상기 듀티비 에러 감지부의 출력신호가 비활성화되는 구간에서 소스 클록이 토글링할 때마다 비활성화된 신호부터 순차적으로 활성화되고 상기 듀티비 에러 감지부의 출력신호가 활성화되는 구간에서 모두 활성화되는 다수의 토글링 동작제어신호를 생성하되, 상기 클록 제어신호에 응답하여 각각의 토글링 동작제어신호의 초기동작시 활성화 여부가 결정되는 토글링 동작제어신호 생성부; 및
    상기 각각의 토글링 동작제어신호와 상기 소스 클록에 응답하여 상기 다수의 카운팅 클록을 생성하기 위한 다수의 카운팅 클록 생성부를 구비하는 것을 특징으로 하는 반도체 장치의 듀티 보정 회로.
  21. 제20항에 있어서,
    상기 토글링 동작제어신호 생성부는,
    상기 클록 제어신호 및 리셋 신호에 응답하여 상기 다수의 토글링 동작제어신호 중 비활성화 상태로 초기화되는 신호의 개수를 조절하기 위한 초기화 결정부; 및
    상기 듀티비 에러 감지부의 출력신호가 비활성화되는 구간에서 상기 소스 클록의 토글링이 N번 - N은 1보다 큰 자연수 - 반복될 때마다 상기 다수의 토글링 동작제어신호 중 비활성화상태인 신호들을 M개 - M은 1보다 큰 자연수 - 씩 순차적으로 활성화시키고, 상기 듀티비 에러 감지부의 출력신호가 활성화되는 구간에서 상기 다수의 토글링 동작제어신호를 모두 활성화시키는 활성화 제어부를 구비하는 것을 특징으로 하는 반도체 장치의 듀티 보정 회로.
  22. 제16항에 있어서,
    상기 클록 토글링 제어부는,
    초기동작시 설정되는 상기 클록 제어신호의 값에 따라 상기 다수의 카운팅 클록 중 초기동작시 토글링하는 클록의 개수를 결정하고,
    초기동작 이후에 상기 다수의 카운팅 클록 중 토글링하지 않는 클록들을 순차적으로 토글링시키되, 설정된 개수의 클록들이 토글링하는 시점부터 상기 다수의 카운팅 클록을 모두 토글링시키는 것을 특징으로 하는 반도체 장치의 듀티 보정 회로.
  23. 제22항에 있어서,
    상기 클록 토글링 제어부는,
    소스 클록이 토글링할 때마다 비활성화된 신호부터 순차적으로 활성화되고 활성화된 신호가 설정된 개수이상일 때 모두 활성화되는 다수의 토글링 동작제어신호를 생성하되, 상기 클록 제어신호에 응답하여 각각의 토글링 동작제어신호의 초기동작시 활성화 여부가 결정되는 토글링 동작제어신호 생성부; 및
    상기 각각의 토글링 동작제어신호와 상기 소스 클록에 응답하여 상기 다수의 카운팅 클록을 생성하기 위한 다수의 카운팅 클록 생성부를 구비하는 것을 특징으로 하는 반도체 장치의 듀티 보정 회로.
  24. 제23항에 있어서,
    상기 토글링 동작제어신호 생성부는,
    상기 클록 제어신호 및 리셋 신호에 응답하여 상기 다수의 토글링 동작제어신호 중 비활성화 상태로 초기화되는 신호의 개수를 조절하기 위한 초기화 결정부; 및
    상기 소스 클록의 토글링이 N번 - N은 1보다 큰 자연수 - 반복될 때마다 상기 다수의 토글링 동작제어신호 중 비활성화상태인 신호들을 M개 - M은 1보다 큰 자연수 - 씩 순차적으로 활성화시키고, 상기 다수의 토글링 동작제어신호 중 활성화된 신호가 설정된 개수이상일 때 상기 다수의 토글링 동작제어신호를 모두 활성화시키는 활성화 제어부를 구비하는 것을 특징으로 하는 반도체 장치의 듀티 보정 회로.
  25. 제20항 또는 제23항에 있어서,
    상기 다수의 카운팅 클록 생성부는,
    상기 각각의 토글링 동작제어신호가 활성화상태로 인가될 때, 상기 소스 클록의 토글링에 대응하여 출력되는 각각의 카운팅 클록을 토글링시키고,
    상기 각각의 토글링 동작제어신호가 비활성화상태로 인가될 때, 상기 소스 클록의 토글링과 상관없이 출력되는 각각의 카운팅 클록을 비활성화상태로 유지하는 것을 특징으로 하는 반도체 장치의 듀티 보정 회로.
  26. 제20항 또는 제23항에 있어서,
    상기 다수의 토글링 동작제어신호 각각의 값이 변동하는 시점은 상기 소스 클록의 에지에 동기화되는 것을 특징으로 하는 반도체 장치의 듀티 보정 회로.
  27. 제16항에 있어서,
    상기 듀티비 에러 감지부는,
    상기 소스 클록의 활성화구간 길이보다 비활성화구간 길이가 더 긴 길이를 가질 때, 이를 감지하여 출력되는 신호를 비활성화시킴으로써 상기 다수의 카운팅 유닛의 카운팅 방향을 증가로 설정하고,
    상기 소스 클록의 활성화구간 길이보다 비활성화구간 길이가 더 짧은 길이를 가질 때, 이를 감지하여 출력되는 신호를 활성화시킴으로써 상기 다수의 카운팅 유닛의 카운팅 방향을 감소로 설정하는 것을 특징으로 하는 반도체 장치의 듀티 보정 회로.
  28. 제16항에 있어서,
    상기 듀티비 조절부는,
    상기 듀티 조절 코드 중 상대적으로 최상위 비트(MSB)에 가까운 비트의 값이 변동하는 것에 대응하여 상기 소스 클록의 듀티 비를 상대적으로 큰 폭으로 조절하고,
    상기 듀티 조절 코드 중 상대적으로 최하위 비트(LSB)에 가까운 비트의 값이 변동하는 것에 대응하여 상기 소스 클록의 듀티 비를 상대적으로 작은 폭으로 조절하는 것을 특징으로 하는 반도체 장치의 듀티 보정 회로.
  29. 소스 클록에 대응하는 다수의 카운팅 클록 중 클록 제어신호에 따라 선택된 초기 개수의 클록만 토글링시키고 나머지 클록은 비활성화시키는 토글링 초기화 단계;
    상기 소스 클록의 토글링 횟수가 설정된 횟수에 도달할 때마다 상기 다수의 카운팅 클록 중 상기 토그링 초기화 단계에서 비활성화 상태인 클록들을 설정된 개수씩 순차적으로 토글링시키며, 설정된 조건에 만족할 때 상기 다수의 카운팅 클록을 모두 토글링 시키는 토글링 동작 단계;
    카운팅 제어신호에 따라 그 카운팅 방향이 선택되며, 상기 다수의 카운팅 클록에 각각 응답하여 카운팅 코드의 각 비트를 카운팅하는 단계; 및
    상기 카운팅 코드 값과 예정된 코드 값을 비교하고, 비교결과에 따라 상기 카운팅 제어신호의 값을 결정하는 단계
    를 포함하는 반도체 장치의 카운팅 회로 동작방법.
  30. 제29항에 있어서,
    상기 카운팅하는 단계는,
    상기 카운팅 코드의 각 비트는 인접한 비트들 간의 캐리(carray) 정보가 조합하여 카운팅되는 것을 특징으로 하는 반도체 장치의 카운팅 회로 동작방법.
  31. 제29항에 있어서,
    상기 소스 클록과 상기 다수의 카운팅 클록은 서로 동기화된 상태이며, 서로 동일한 주파수를 갖는 상태인 것을 특징으로 하는 반도체 장치의 카운팅 회로 동작방법.
  32. 제29항에 있어서,
    상기 카운팅 제어신호의 값을 결정하는 단계는,
    상기 카운팅 코드의 값이 상기 예정된 코드 값보다 작은 경우에 상기 카운팅 제어신호를 비활성화시켜 상기 카운팅 코드의 값을 증가시키는 카운팅 방향으로 상기 카운팅하는 단계의 동작이 수행되도록 하는 단계; 및
    상기 카운팅 코드의 값이 상기 예정된 코드 값보다 큰 경우 상기 카운팅 제어신호를 활성화시켜 상기 카운팅 코드의 값을 감소시키는 카운팅 방향으로 상기 카운팅하는 단계의 동작이 수행되도록 하는 단계를 포함하는 것을 특징으로 하는 반도체 장치의 카운팅 회로 동작방법.
  33. 제32항에 있어서,
    상기 예정된 코드 값은 설정된 레지스터에 저장되며, 설정된 동작에 의해 그 값이 변경될 수 있는 것을 특징으로 하는 반도체 장치의 카운팅 회로 동작방법.
  34. 제33항에 있어서,
    상기 설정된 동작은,
    상기 카운팅 코드의 값이 변동함에 따라 상기 소스 클록의 주파수를 변동시키는 동작이며, 상기 소스 클록의 목표 주파수에 대응하는 상기 카운팅 코드의 값이 상기 예정된 코드 값이 되는 것을 특징으로 하는 반도체 장치의 카운팅 회로의 동작방법.
  35. 제33항에 있어서,
    상기 설정된 동작은,
    상기 카운팅 코드의 값이 변동함에 따라 상기 소스 클록의 위상을 변동시키는 동작이며, 상기 소스 클록의 목표 위상에 대응하는 상기 카운팅 코드의 값이 상기 예정된 코드 값이 되는 것을 특징으로 하는 반도체 장치의 카운팅 회로의 동작방법.
  36. 제29항에 있어서,
    상기 토글링 동작 단계에서 상기 설정된 조건은,
    상기 카운팅 제어신호가 비활성화 상태에서 활성화 상태로 천이하는 조건인 것을 특징으로 하는 반도체 장치의 카운팅 회로 동작방법.
  37. 제29항에 있어서,
    상기 토글링 동작 단계에서 상기 설정된 조건은,
    상기 다수의 카운팅 클록 중 토글링하는 클록의 개수가 설정된 개수이상이 되는 조건인 것을 특징으로 하는 반도체 장치의 카운팅 회로 동작방법.
KR1020110077463A 2011-08-03 2011-08-03 반도체 장치의 카운팅 회로 및 이를 이용한 반도체 장치의 듀티 보정 회로 KR20130015460A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020110077463A KR20130015460A (ko) 2011-08-03 2011-08-03 반도체 장치의 카운팅 회로 및 이를 이용한 반도체 장치의 듀티 보정 회로
US13/366,425 US8625734B2 (en) 2011-08-03 2012-02-06 Counting circuit of semiconductor device and duty correction circuit of semiconductor device using the same
TW101110436A TWI545899B (zh) 2011-08-03 2012-03-26 半導體裝置之計數電路及使用該計數電路之半導體裝置的作用時間修正電路
US14/133,063 US8866526B2 (en) 2011-08-03 2013-12-18 Counting circuit of semiconductor device and duty correction circuit of semiconductor device using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110077463A KR20130015460A (ko) 2011-08-03 2011-08-03 반도체 장치의 카운팅 회로 및 이를 이용한 반도체 장치의 듀티 보정 회로

Publications (1)

Publication Number Publication Date
KR20130015460A true KR20130015460A (ko) 2013-02-14

Family

ID=47626593

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110077463A KR20130015460A (ko) 2011-08-03 2011-08-03 반도체 장치의 카운팅 회로 및 이를 이용한 반도체 장치의 듀티 보정 회로

Country Status (3)

Country Link
US (2) US8625734B2 (ko)
KR (1) KR20130015460A (ko)
TW (1) TWI545899B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9018994B2 (en) 2012-12-28 2015-04-28 SK Hynix Inc. Duty cycle correction circuit and operation method thereof

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101982492B1 (ko) * 2013-01-25 2019-05-27 삼성전자 주식회사 듀티 코드를 주기 코드에 정규화하여 클락 신호 생성 방법과 장치들
CN111541450B (zh) * 2020-06-19 2024-01-30 小华半导体有限公司 时钟自动校准电路及方法
KR20220057820A (ko) * 2020-10-30 2022-05-09 삼성전자주식회사 메모리 장치 및 시스템

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428654A (en) * 1994-06-09 1995-06-27 Advanced Micro Devices, Inc. Up/down counter apparatus
US6967514B2 (en) * 2002-10-21 2005-11-22 Rambus, Inc. Method and apparatus for digital duty cycle adjustment
KR100806608B1 (ko) * 2006-11-02 2008-02-25 주식회사 하이닉스반도체 아날로그-디지털 컨버터, 아날로그-디지털 컨버팅 방법 및 아날로그-디지털 컨버터를 구비한 반도체 메모리 소자의 온도 정보 출력장치
KR20090089500A (ko) * 2008-02-19 2009-08-24 주식회사 하이닉스반도체 듀티 싸이클 보정 회로
KR101003143B1 (ko) * 2009-05-13 2010-12-21 주식회사 하이닉스반도체 반도체 집적 회로
US8253463B1 (en) * 2010-03-10 2012-08-28 Altera Corporation Pulse width control circuitry
KR101153813B1 (ko) * 2010-09-30 2012-06-13 에스케이하이닉스 주식회사 반도체 메모리 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9018994B2 (en) 2012-12-28 2015-04-28 SK Hynix Inc. Duty cycle correction circuit and operation method thereof

Also Published As

Publication number Publication date
US8625734B2 (en) 2014-01-07
US8866526B2 (en) 2014-10-21
TWI545899B (zh) 2016-08-11
TW201308900A (zh) 2013-02-16
US20140103981A1 (en) 2014-04-17
US20130033294A1 (en) 2013-02-07

Similar Documents

Publication Publication Date Title
US10216209B1 (en) Digital low drop-out regulator and operation method thereof
US8446199B2 (en) Duty cycle correction circuit
US7710173B2 (en) Duty cycle correction circuit and delay locked loop circuit including the same
CN107799139B (zh) 占空比校正器件及包括其的半导体器件
US10411675B2 (en) Delay circuit and duty cycle controller including the same
JP5143370B2 (ja) 遅延制御回路
US10090828B2 (en) Duty-cycle correction circuit and method
US20120326794A1 (en) Digital amplitude control circuitry for crystal oscillator circuitry and related methods
US7928783B2 (en) Semiconductor integrated circuit
US9413236B2 (en) Voltage converter
US10535385B2 (en) Semiconductor integrated circuit and semiconductor device
KR20130015460A (ko) 반도체 장치의 카운팅 회로 및 이를 이용한 반도체 장치의 듀티 보정 회로
KR101086877B1 (ko) 반도체 장치
KR102143947B1 (ko) 디지털 ldo 레귤레이터 및 그 동작 방법
US20110163789A1 (en) Duty cycle correction circuit and method for correcting duty cycle and semiconductor device including the duty cycle correction circuit
US9606557B2 (en) Integrated circuit
KR101242302B1 (ko) 피드백 듀티비 보정 유닛을 이용한 디지털 듀티비 보정 회로 및 그 제어방법
US7737719B2 (en) Apparatus for adjusting resistance value of a driver in a semiconductor integrated circuit
US8169232B2 (en) Apparatus and method for generating resistance calibration code in semiconductor integrated circuit
CN108092625B (zh) 一种信号幅度的校准方法及装置
US20150130542A1 (en) Device and method for controlling output amplitude of voltage control oscillator in electronic device
KR102047793B1 (ko) 지연고정루프

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application