KR20160017479A - 클럭 스위치 장치 및 이를 포함하는 시스템-온-칩 - Google Patents

클럭 스위치 장치 및 이를 포함하는 시스템-온-칩 Download PDF

Info

Publication number
KR20160017479A
KR20160017479A KR1020140101069A KR20140101069A KR20160017479A KR 20160017479 A KR20160017479 A KR 20160017479A KR 1020140101069 A KR1020140101069 A KR 1020140101069A KR 20140101069 A KR20140101069 A KR 20140101069A KR 20160017479 A KR20160017479 A KR 20160017479A
Authority
KR
South Korea
Prior art keywords
signal
clock signal
clock
glitch
auxiliary
Prior art date
Application number
KR1020140101069A
Other languages
English (en)
Other versions
KR102191167B1 (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 KR1020140101069A priority Critical patent/KR102191167B1/ko
Priority to US14/635,145 priority patent/US9720438B2/en
Publication of KR20160017479A publication Critical patent/KR20160017479A/ko
Application granted granted Critical
Publication of KR102191167B1 publication Critical patent/KR102191167B1/ko

Links

Images

Classifications

    • 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
    • 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/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/14Time supervision arrangements, e.g. real time clock

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Manipulation Of Pulses (AREA)
  • Electronic Switches (AREA)

Abstract

클럭 스위치 장치는 제어부 및 스위칭 회로를 포함한다. 제어부는 모드 신호의 논리 레벨이 변경되는 경우 제어 신호를 사용하여 클럭 스위칭 구간을 설정한다. 스위칭 회로는 제1 클럭 신호, 제2 클럭 신호 및 보조 클럭 신호를 수신하고, 제어 신호에 기초하여 클럭 스위칭 구간 이전에 제1 클럭 신호 및 제2 클럭 신호 중의 어느 한 클럭 신호를 글리치 프리 클럭 신호로서 출력하고, 클럭 스위칭 구간 중에 어느 한 클럭 신호의 출력을 중단하고 보조 클럭 신호를 글리치 프리 클럭 신호로서 출력하고, 클럭 스위칭 구간 이후에 보조 클럭 신호의 출력을 중단하고 제1 클럭 신호 및 제2 클럭 신호 중의 다른 한 클럭 신호를 글리치 프리 클럭 신호로서 출력한다.

Description

클럭 스위치 장치 및 이를 포함하는 시스템-온-칩{CLOCK SWITCH DEVICE AND SYSTEM-ON-CHIP HAVING THE SAME}
본 발명은 전자 장치에 관한 것으로, 보다 상세하게는 클럭 스위치(clock switch) 장치 및 이를 포함하는 시스템-온-칩(system-on-chip)에 관한 것이다.
시스템-온-칩(system-on-chip)은 고속 모드에서는 상대적으로 높은 주파수를 갖는 클럭 신호에 동기되어 동작하고 저속 모드에서는 상대적으로 낮은 주파수를 갖는 클럭 신호에 동기되어 동작할 수 있다.
시스템-온-칩이 고속 모드와 저속 모드 사이에 동작 모드를 전환하기 위해서는 동작 모드에 따라 고속 클럭 신호와 저속 클럭 신호를 스위치하여 출력하는 클럭 스위치 장치가 필요하다.
그런데 모드 전환 시 클럭 스위치 장치로부터 출력되는 출력 클럭 신호에 글리치(glitch)가 발생하는 경우, 상기 출력 클럭 신호에 기초하여 동작하는 로직 회로가 오동작하는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은 글리치(glitch)를 포함하지 않는 클럭 신호를 출력하는 클럭 스위치 장치를 제공하는 것이다.
본 발명의 다른 목적은 상기 클럭 스위치 장치를 포함하는 시스템-온-칩(system-on-chip)을 제공하는 것이다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 클럭 스위치 장치는 제어부 및 스위칭 회로를 포함한다. 상기 제어부는 모드 신호의 논리 레벨이 변경되는 경우 제어 신호를 사용하여 클럭 스위칭 구간(clock switch period)을 설정한다. 상기 스위칭 회로는 제1 클럭 신호, 제2 클럭 신호 및 보조 클럭 신호를 수신하고, 상기 제어 신호에 기초하여 상기 클럭 스위칭 구간 이전에 상기 제1 클럭 신호 및 상기 제2 클럭 신호 중의 어느 한 클럭 신호를 글리치 프리(glitch free) 클럭 신호로서 출력하고, 상기 클럭 스위칭 구간 중에 상기 어느 한 클럭 신호의 출력을 중단하고 상기 보조 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하고, 상기 클럭 스위칭 구간 이후에 상기 보조 클럭 신호의 출력을 중단하고 상기 제1 클럭 신호 및 상기 제2 클럭 신호 중의 다른 한 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력한다.
일 실시예에 있어서, 상기 제1 클럭 신호 및 상기 제2 클럭 신호 중의 하나는 상기 모드 신호가 제1 논리 레벨인 경우 토글링이 중단될 수 있다.
일 실시예에 있어서, 상기 제어부는 상기 모드 신호의 논리 레벨이 변경되는 경우 제1 선택 신호를 상기 클럭 스위칭 구간 동안 활성화시키고, 상기 제1 선택 신호가 활성화 상태에 있는 동안 제2 선택 신호의 논리 레벨을 변경하고, 상기 모드 신호의 논리 레벨에 기초하여 스위치 제어 신호를 생성할 수 있다.
상기 제어부는 상기 모드 신호가 제1 논리 레벨에서 제2 논리 레벨로 천이되는 경우 상기 스위치 제어 신호를 비활성화 상태로 유지하고, 상기 모드 신호가 상기 제2 논리 레벨에서 상기 제1 논리 레벨로 천이되는 경우 상기 스위치 제어 신호를 상기 클럭 스위칭 구간 동안 활성화시킬 수 있다.
상기 제어부는, 상기 모드 신호가 제1 논리 레벨에서 제2 논리 레벨로 천이된 이후 상기 제1 클럭 신호의 토글링이 유지되면 상기 스위치 제어 신호를 비활성화 상태로 유지하고 상기 제1 클럭 신호의 토글링이 중단되면 상기 스위치 제어 신호를 상기 클럭 스위칭 구간 동안 활성화시키고, 상기 모드 신호가 상기 제2 논리 레벨에서 상기 제1 논리 레벨로 천이된 이후 상기 제2 클럭 신호의 토글링이 유지되면 상기 스위치 제어 신호를 비활성화 상태로 유지하고 상기 제2 클럭 신호의 토글링이 중단되면 상기 스위치 제어 신호를 상기 클럭 스위칭 구간 동안 활성화시킬 수 있다.
상기 제어부는 상기 보조 클럭 신호에 동기되어 상기 제1 선택 신호, 상기 제2 선택 신호 및 상기 스위치 제어 신호를 생성할 수 있다.
상기 스위칭 회로는, 상기 제2 선택 신호의 논리 레벨에 기초하여 상기 제1 클럭 신호 및 상기 제2 클럭 신호 중의 하나를 먹스 클럭 신호로서 출력하는 노말 멀티플렉서, 및 상기 제1 선택 신호가 비활성화 상태에 있는 동안 상기 먹스 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하고, 상기 제1 선택 신호가 활성화되는 경우 상기 스위치 제어 신호에 기초하여 상기 먹스 클럭 신호의 출력을 중단하고 상기 보조 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하고, 상기 제1 선택 신호가 비활성화되는 경우 상기 보조 클럭 신호의 출력을 중단하고 상기 먹스 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하는 글리치 프리 멀티플렉서를 포함할 수 있다.
상기 글리치 프리 멀티플렉서는, 상기 제1 선택 신호가 활성화되는 경우 상기 스위치 제어 신호에 기초하여 상기 먹스 클럭 신호가 논리 로우 레벨인 시점에 상기 먹스 클럭 신호의 출력을 중단하고 상기 보조 클럭 신호가 논리 로우 레벨인 시점에 상기 보조 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하고, 상기 제1 선택 신호가 비활성화되는 경우 상기 보조 클럭 신호가 논리 로우 레벨인 시점에 상기 보조 클럭 신호의 출력을 중단하고 상기 먹스 클럭 신호가 논리 로우 레벨인 시점에 상기 먹스 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력할 수 있다.
상기 글리치 프리 멀티플렉서는, 상기 먹스 클럭 신호에 동기되어 상기 제1 선택 신호의 반전 신호를 지연시켜 먹스 클럭 인에이블 신호를 생성하는 제1 동기화부(synchronizer), 상기 보조 클럭 신호에 동기되어 상기 제1 선택 신호를 지연시켜 보조 클럭 인에이블 신호를 생성하는 제2 동기화부, 및 상기 스위치 제어 신호가 활성화되는 경우 상기 보조 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하고, 상기 스위치 제어 신호가 비활성화되는 경우 상기 보조 클럭 인에이블 신호의 논리 레벨 및 상기 먹스 클럭 인에이블 신호의 논리 레벨에 기초하여 상기 보조 클럭 신호 및 상기 먹스 클럭 신호 중의 하나를 상기 글리치 프리 클럭 신호로서 출력하는 출력 제어 회로를 포함할 수 있다.
상기 출력 제어 회로는 상기 스위치 제어 신호가 비활성화되는 경우, 상기 보조 클럭 인에이블 신호가 활성화되는 동안 상기 보조 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하고, 상기 먹스 클럭 인에이블 신호가 활성화되는 동안 상기 먹스 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력할 수 있다.
상기 제1 동기화부는, 상기 제1 선택 신호를 반전시키는 인버터, 상기 인버터의 출력 신호 및 상기 보조 클럭 인에이블 신호의 반전 신호에 상응하는 반전 보조 클럭 인에이블 신호에 대해 AND 연산을 수행하는 AND 게이트, 상기 먹스 클럭 신호의 상승 에지에 동기되어 상기 AND 게이트의 출력 신호를 래치하여 출력하는 제1 플립플롭, 및 상기 먹스 클럭 신호의 하강 에지에 동기되어 상기 제1 플립플롭의 출력 신호를 래치하여 상기 먹스 클럭 인에이블 신호로서 출력하고 상기 먹스 클럭 인에이블 신호의 반전 신호를 반전 먹스 클럭 인에이블 신호로서 출력하는 제2 플립플롭을 포함할 수 있다.
상기 제2 동기화부는, 상기 제1 선택 신호 및 상기 먹스 클럭 인에이블 신호의 반전 신호에 상응하는 반전 먹스 클럭 인에이블 신호에 대해 AND 연산을 수행하는 AND 게이트, 상기 보조 클럭 신호의 상승 에지에 동기되어 상기 AND 게이트의 출력 신호를 래치하여 출력하는 제1 플립플롭, 및 상기 보조 클럭 신호의 하강 에지에 동기되어 상기 제1 플립플롭의 출력 신호를 래치하여 상기 보조 클럭 인에이블 신호로서 출력하고 상기 보조 클럭 인에이블 신호의 반전 신호를 반전 보조 클럭 인에이블 신호로서 출력하는 제2 플립플롭을 포함할 수 있다.
상기 출력 제어 회로는, 상기 스위치 제어 신호를 반전시키는 인버터, 상기 인버터의 출력 신호 및 상기 먹스 클럭 인에이블 신호에 대해 AND 연산을 수행하는 제1 AND 게이트, 상기 제1 AND 게이트의 출력 신호 및 상기 먹스 클럭 신호에 대해 AND 연산을 수행하는 제2 AND 게이트, 상기 보조 클럭 인에이블 신호 및 상기 스위치 제어 신호에 대해 OR 연산을 수행하는 제1 OR 게이트, 상기 제1 OR 게이트의 출력 신호 및 상기 보조 클럭 신호에 대해 AND 연산을 수행하는 제3 AND 게이트, 및 상기 제2 AND 게이트의 출력 신호 및 상기 제3 AND 게이트의 출력 신호에 대해 OR 연산을 수행하여 상기 글리치 프리 클럭 신호를 생성하는 제2 OR 게이트를 포함할 수 있다.
상기 글리치 프리 멀티플렉서는, 상기 보조 클럭 신호에 동기되어 상기 제1 OR 게이트의 출력 신호를 래치하여 트리거 신호로서 상기 제어부에 제공하는 피드백 회로를 더 포함할 수 있다.
상기 제어부는 상기 모드 신호가 천이되는 경우 상기 보조 클럭 신호에 동기되어 상기 제1 선택 신호를 활성화시키고, 상기 제1 선택 신호가 활성화 상태에 있는 동안 상기 트리거 신호가 천이되는 경우 상기 제2 선택 신호의 논리 레벨을 변경하고, 상기 제2 선택 신호의 논리 레벨을 변경한 시점으로부터 지연 시간 이후에 상기 제1 선택 신호를 비활성화시킬 수 있다.
상기 제어부는 상기 제1 선택 신호가 활성화 상태에 있는 동안 상기 트리거 신호가 천이되는 경우 상기 보조 클럭 신호에 동기되어 카운팅 동작을 수행하여 카운트값을 생성하고, 상기 카운트값이 문턱값과 일치하는 경우 상기 제1 선택 신호를 비활성화시킬 수 있다.
상기 스위칭 회로는, 상기 제2 선택 신호의 논리 레벨에 기초하여 상기 제1 클럭 신호 및 상기 제2 클럭 신호 중의 하나를 먹스 클럭 신호로서 출력하는 노말 멀티플렉서, 및 상기 제1 선택 신호가 비활성화 상태에 있는 동안 상기 먹스 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하고, 상기 제1 선택 신호가 활성화되는 경우 상기 스위치 제어 신호에 기초하여 상기 먹스 클럭 신호의 출력을 중단하고 상기 보조 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력한 후 트리거 신호를 천이시키고, 상기 제1 선택 신호가 비활성화되는 경우 상기 보조 클럭 신호의 출력을 중단하고 상기 먹스 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하는 글리치 프리 멀티플렉서를 포함하고, 상기 제어부는 상기 모드 신호의 논리 레벨이 변경되는 경우 상기 보조 클럭 신호에 동기되어 상기 제1 선택 신호를 활성화시키고, 상기 제1 선택 신호가 활성화 상태에 있는 동안 상기 트리거 신호의 논리 레벨이 변경되는 경우 상기 제2 선택 신호의 논리 레벨을 변경하고, 상기 제2 선택 신호의 논리 레벨을 변경한 시점으로부터 지연 시간 이후에 상기 제1 선택 신호를 비활성화시킬 수 있다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 시스템-온-칩(system-on-chip)은 제1 클럭 신호 생성기, 제2 클럭 신호 생성기, 클럭 스위치 장치, 및 프로세싱 블록을 포함한다. 상기 제1 클럭 신호 생성기는 제1 클럭 신호를 생성한다. 상기 제2 클럭 신호 생성기는 상기 제1 클럭 신호와 상이한 주파수를 갖는 제2 클럭 신호를 생성한다. 상기 클럭 스위치 장치는 모드 신호의 논리 레벨이 변경되는 경우 클럭 스위칭 구간을 설정하고, 상기 클럭 스위칭 구간 이전에 상기 제1 클럭 신호 및 상기 제2 클럭 신호 중의 어느 한 클럭 신호를 글리치 프리 클럭 신호로서 출력하고, 상기 클럭 스위칭 구간 중에 상기 어느 한 클럭 신호의 출력을 중단하고 보조 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하고, 상기 클럭 스위칭 구간 이후에 상기 보조 클럭 신호의 출력을 중단하고 상기 제1 클럭 신호 및 상기 제2 클럭 신호 중의 다른 한 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력한다. 상기 프로세싱 블록은 상기 글리치 프리 클럭 신호에 동기되어 동작한다.
일 실시예에 있어서, 상기 제1 클럭 신호 및 상기 제2 클럭 신호 중의 하나는 상기 모드 신호가 제1 논리 레벨인 경우 토글링이 중단될 수 있다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 컴퓨팅 시스템은 모뎀 및 시스템-온-칩을 포함한다. 상기 모뎀은 외부 장치와 데이터를 송수신한다. 상기 시스템-온-칩은 동작 모드에 따라 제1 클럭 신호 및 제2 클럭 신호 중의 하나에 동기되어 상기 모뎀과 상기 데이터를 송수신한다. 상기 시스템-온-칩은, 상기 제1 클럭 신호를 생성하는 제1 클럭 신호 생성기, 상기 제1 클럭 신호와 상이한 주파수를 갖는 상기 제2 클럭 신호를 생성하는 제2 클럭 신호 생성기, 모드 신호의 논리 레벨이 변경되는 경우 클럭 스위칭 구간을 설정하고, 상기 클럭 스위칭 구간 이전에 상기 제1 클럭 신호 및 상기 제2 클럭 신호 중의 어느 한 클럭 신호를 글리치 프리 클럭 신호로서 출력하고, 상기 클럭 스위칭 구간 중에 상기 어느 한 클럭 신호의 출력을 중단하고 보조 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하고, 상기 클럭 스위칭 구간 이후에 상기 보조 클럭 신호의 출력을 중단하고 상기 제1 클럭 신호 및 상기 제2 클럭 신호 중의 다른 한 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하는 클럭 스위치 장치, 및 상기 글리치 프리 클럭 신호에 동기되어 동작하는 프로세싱 블록을 포함한다.
본 발명의 실시예들에 따른 클럭 스위치 장치는 모드 신호의 논리 레벨이 변경되는 경우 보조 클럭 신호를 사용하여 제1 클럭 신호 및 제2 클럭 신호에 대해 클럭 스위치 동작을 수행함으로써 글리치를 포함하지 않는 글리치 프리 클럭 신호를 생성할 수 있다.
또한, 본 발명의 실시예들에 따른 클럭 스위치 장치는 제1 클럭 신호 및 제2 클럭 신호 중의 하나가 모드 신호가 제1 논리 레벨인 경우 토글링이 중단되는 경우에도 안정적으로 클럭 스위치 동작을 수행하여 글리치를 포함하지 않는 글리치 프리 클럭 신호를 생성한다.
도 1은 본 발명의 일 실시예에 따른 클럭 스위치 장치를 나타내는 블록도이다.
도 2 및 3은 도 1의 클럭 스위치 장치가 고속 직렬 인터페이스(High Speed Serial Interface; HSSI)에 적용된 경우에 도 1의 클럭 스위치 장치에 제공되는 제1 클럭 신호 및 제2 클럭 신호를 설명하기 위한 도면들이다.
도 4는 도 1에 도시된 클럭 스위치 장치의 일 예를 나타내는 블록도이다.
도 5는 도 4의 클럭 스위치 장치에 포함되는 글리치 프리 멀티플렉서의 일 예를 나타내는 회로도이다.
도 6 및 7은 도 4에 도시된 클럭 스위치 장치의 동작을 설명하기 위한 도면들이다.
도 8은 도 1에 도시된 클럭 스위치 장치의 다른 예를 나타내는 블록도이다.
도 9는 도 8의 클럭 스위치 장치에 포함되는 글리치 프리 멀티플렉서의 일 예를 나타내는 회로도이다.
도 10 및 11은 도 8에 도시된 클럭 스위치 장치의 동작을 설명하기 위한 도면들이다.
도 12는 본 발명의 일 실시예에 따른 시스템-온-칩(system-on-chip)을 나타내는 블록도이다.
도 13은 본 발명의 일 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 클럭 스위치 장치를 나타내는 블록도이다.
도 1에 도시된 클럭 스위치 장치(10)는 모드 신호(MD)의 논리 레벨에 기초하여 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2) 중의 하나를 글리치 프리(glitch free) 클럭 신호(GF_CLK)로서 출력한다.
예를 들어, 클럭 스위치 장치(10)는 모드 신호(MD)가 제1 논리 레벨인 경우 제1 클럭 신호(CLK1)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 모드 신호(MD)가 제2 논리 레벨인 경우 제2 클럭 신호(CLK2)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다.
일 실시예에 있어서, 상기 제1 논리 레벨은 논리 로우 레벨이고, 상기 제2 논리 레벨은 논리 하이 레벨일 수 있다. 다른 실시예에 있어서, 상기 제1 논리 레벨은 논리 하이 레벨이고, 상기 제2 논리 레벨은 논리 로우 레벨일 수 있다. 이하, 상기 제1 논리 레벨은 논리 로우 레벨이고, 상기 제2 논리 레벨은 논리 하이 레벨인 것으로 설명한다.
제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2)는 서로 다른 주파수를 가질 수 있다.
후술하는 바와 같이, 모드 신호(MD)의 논리 레벨이 변경되는 경우, 클럭 스위치 장치(10)는 보조 클럭 신호(CLK_A)를 사용하여 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2)에 대해 클럭 스위치 동작을 수행하여 글리치를 포함하지 않는 글리치 프리 클럭 신호(GF_CLK)를 생성한다.
도 1을 참조하면, 클럭 스위치 장치(10)는 제어부(100) 및 스위칭 회로(200)를 포함한다.
제어부(100)는 모드 신호(MD)를 수신하고, 제1 선택 신호(SEL1), 제2 선택 신호(SEL2) 및 스위치 제어 신호(SCS)를 사용하여 스위칭 회로(200)의 동작을 제어한다. 모드 신호(MD)의 논리 레벨이 변경되는 경우, 제어부(100)는 제1 선택 신호(SEL1), 제2 선택 신호(SEL2) 및 스위치 제어 신호(SCS)를 사용하여 클럭 스위칭 구간(clock switch period)을 설정하고 스위칭 회로(200)의 클럭 스위치 동작을 제어한다.
스위칭 회로(200)는 제1 클럭 신호(CLK1), 제2 클럭 신호(CLK2) 및 보조 클럭 신호(CLK_A)를 수신한다. 스위칭 회로(200)는 제어 신호(SEL1, SEL2, SCS)에 기초하여 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2)에 대해 클럭 스위치 동작을 수행한다. 구체적으로, 스위칭 회로(200)는 상기 클럭 스위칭 구간 이전에 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2) 중의 어느 한 클럭 신호를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 상기 클럭 스위칭 구간 중에 상기 어느 한 클럭 신호의 출력을 중단하고 보조 클럭 신호(CLK_A)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 상기 클럭 스위칭 구간 이후에 보조 클럭 신호(CLK_A)의 출력을 중단하고 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2) 중의 다른 한 클럭 신호를 글리치 프리 클럭 신호(GF_CLK)로서 출력한다.
예를 들어, 모드 신호(MD)가 상기 제1 논리 레벨에서 상기 제2 논리 레벨로 변경되는 경우, 스위칭 회로(200)는 상기 클럭 스위칭 구간 이전에는 제1 클럭 신호(CLK1)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 상기 클럭 스위칭 구간 동안 글리치를 유발(incur)하지 않고 제1 클럭 신호(CLK1)에서 보조 클럭 신호(CLK_A)로 스위치하여 보조 클럭 신호(CLK_A)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 상기 클럭 스위칭 구간 이후에 글리치를 유발하지 않고 보조 클럭 신호(CLK_A)에서 제2 클럭 신호(CLK2)로 스위치하여 제2 클럭 신호(CLK2)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다.
유사하게, 모드 신호(MD)가 상기 제2 논리 레벨에서 상기 제1 논리 레벨로 변경되는 경우, 스위칭 회로(200)는 상기 클럭 스위칭 구간 이전에는 제2 클럭 신호(CLK2)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 상기 클럭 스위칭 구간 동안 글리치를 유발(incur)하지 않고 제2 클럭 신호(CLK2)에서 보조 클럭 신호(CLK_A)로 스위치하여 보조 클럭 신호(CLK_A)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 상기 클럭 스위칭 구간 이후에 글리치를 유발하지 않고 보조 클럭 신호(CLK_A)에서 제1 클럭 신호(CLK1)로 스위치하여 제1 클럭 신호(CLK1)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다.
일 실시예에 있어서, 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2) 중의 하나는 모드 신호(MD)가 상기 제1 논리 레벨인 경우 토글링이 중단될 수 있다.
예를 들어, 클럭 스위치 장치(10)는 모드 신호(MD)가 상기 제1 논리 레벨인 경우 제1 클럭 신호(CLK1)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 모드 신호(MD)가 상기 제2 논리 레벨인 경우 제2 클럭 신호(CLK2)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하는 경우, 제1 클럭 신호(CLK1)는 모드 신호(MD)의 논리 레벨에 무관하게 지속적으로 토글링되나, 제2 클럭 신호(CLK2)는 제1 클럭 신호(CLK1)가 글리치 프리 클럭 신호(GF_CLK)로서 출력되는 모드 신호(MD)가 상기 제1 논리 레벨인 동안 토글링이 중단될 수 있다.
이하, 클럭 스위치 장치(10)는 모드 신호(MD)가 상기 제1 논리 레벨인 경우 제1 클럭 신호(CLK1)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 모드 신호(MD)가 상기 제2 논리 레벨인 경우 제2 클럭 신호(CLK2)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하는 것으로 설명한다. 또한, 제1 클럭 신호(CLK1)는 모드 신호(MD)의 논리 레벨에 무관하게 지속적으로 토글링되고, 제2 클럭 신호(CLK2)는 모드 신호(MD)가 상기 제1 논리 레벨인 동안 토글링이 중단되는 것으로 설명한다.
일 실시예에 있어서, 클럭 스위치 장치(10)는 고속 직렬 인터페이스(High Speed Serial Interface; HSSI) 장치에 적용될 수 있다.
도 2 및 3은 도 1의 클럭 스위치 장치가 고속 직렬 인터페이스 장치에 적용된 경우에 도 1의 클럭 스위치 장치에 제공되는 제1 클럭 신호 및 제2 클럭 신호를 설명하기 위한 도면들이다.
고속 직렬 인터페이스의 경우, 고속 모드(high speed mode)에서는 위상 고정 루프(Phase Locked Loop; PLL)에서 생성되는 고속 클럭 신호에 기초하여 데이터가 송수신되고, 저속 모드(low speed mode)에서는 송수신되는 데이터를 사용하여 생성되는 저속 클럭 신호에 기초하여 데이터가 송수신된다.
상기 고속 클럭 신호는 클럭 스위치 장치(10)에 제1 클럭 신호(CLK1)로서 제공되고, 상기 저속 클럭 신호는 클럭 스위치 장치(10)에 제2 클럭 신호(CLK2)로서 제공될 수 있다.
도 2에 도시된 바와 같이, 고속 직렬 인터페이스의 동작 모드가 상기 고속 모드에서 상기 저속 모드로 변경되는 경우, 고속 모드 구간(HS MODE) 및 저속 모드 구간(LS MODE) 사이의 휴지 구간(IDLE) 중에 모드 신호(MD)가 상기 제1 논리 레벨에서 상기 제2 논리 레벨로 천이될 수 있다. 이 경우, 제1 클럭 신호(CLK1)는 위상 고정 루프로부터 생성되므로 모드 신호(MD)의 논리 레벨에 무관하게 지속적으로 토글링되나, 제2 클럭 신호(CLK2)는 송수신되는 데이터를 사용하여 생성되므로 제2 클럭 신호(CLK2)는 모드 신호(MD)가 상기 제1 논리 레벨인 경우 토글링이 중단되고, 저속 모드 구간(LS MODE)에서 데이터를 송수신하는 동안에만 토글링될 수 있다.
도 3에 도시된 바와 같이, 고속 직렬 인터페이스의 동작 모드가 상기 저속 모드에서 상기 고속 모드로 변경되는 경우, 저속 모드 구간(LS MODE) 및 고속 모드 구간(HS MODE) 사이의 휴지 구간(IDLE) 중에 모드 신호(MD)가 상기 제2 논리 레벨에서 상기 제1 논리 레벨로 천이될 수 있다. 이 경우, 제1 클럭 신호(CLK1)는 위상 고정 루프로부터 생성되므로 모드 신호(MD)의 논리 레벨에 무관하게 지속적으로 토글링되나, 제2 클럭 신호(CLK2)는 송수신되는 데이터를 사용하여 생성되므로 제2 클럭 신호(CLK2)는 저속 모드 구간(LS MODE)에서 데이터를 송수신하는 동안에만 토글링되고 모드 신호(MD)가 상기 제1 논리 레벨인 경우 토글링이 중단될 수 있다.
도 2 및 3을 참조하여 클럭 스위치 장치(10)가 고속 직렬 인터페이스 장치에 적용된 경우에 대해 설명하였으나, 본 발명은 이에 한정되지 않고 고속 모드 및 저속 모드를 포함하는 모든 종류의 시스템-온-칩(system-on-chip)에 적용될 수 있다.
도 4는 도 1에 도시된 클럭 스위치 장치의 일 예를 나타내는 블록도이다.
도 4를 참조하면, 클럭 스위치 장치(10a)는 제어부(100a) 및 스위칭 회로(200a)를 포함할 수 있다.
제어부(100a)는 모드 신호(MD)의 논리 레벨이 변경되는 경우 제1 선택 신호(SEL1)를 상기 클럭 스위칭 구간 동안 활성화시킬 수 있다. 따라서 상기 클럭 스위칭 구간은 제1 선택 신호(SEL1)가 활성화 상태에 있는 구간으로 설정될 수 있다.
일 실시예에 있어서, 상기 클럭 스위칭 구간의 길이는 미리 정해질 수 있다.
또한, 제어부(100a)는 모드 신호(MD)의 논리 레벨이 변경되는 경우 모드 신호(MD)의 논리 레벨에 기초하여 스위치 제어 신호(SCS)를 생성할 수 있다.
일 실시예에 있어서, 제어부(100a)는 제1 클럭 신호(CLK1)는 모드 신호(MD)의 논리 레벨과 무관하게 지속적으로 토글링되고, 제2 클럭 신호(CLK2)는 모드 신호(MD)의 논리 레벨에 기초하여 토글링이 중단된다는 정보를 미리 저장할 수 있다. 이 경우, 제어부(100a)는 모드 신호(MD)가 상기 제1 논리 레벨에서 상기 제2 논리 레벨로 천이되는 경우 스위치 제어 신호(SCS)를 비활성화 상태로 유지하고, 모드 신호(MD)가 상기 제2 논리 레벨에서 상기 제1 논리 레벨로 천이되는 경우 스위치 제어 신호(SCS)를 제1 선택 신호(SEL1)와 동일하게 상기 클럭 스위칭 구간 동안 활성화시킬 수 있다.
다른 실시예에 있어서, 제어부(100a)는 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2) 각각이 모드 신호(MD)의 논리 레벨과 무관하게 지속적으로 토글링되는지 또는 모드 신호(MD)의 논리 레벨에 기초하여 토글링이 중단되는지에 관한 정보를 가지고 있지 않을 수 있다. 이 경우, 제어부(100a)는 모드 신호(MD)가 상기 제1 논리 레벨에서 제2 논리 레벨로 천이된 이후 제1 클럭 신호(CLK1)의 토글링이 유지되는지 여부를 판단할 수 있다. 제어부(100a)는 모드 신호(MD)가 상기 제1 논리 레벨에서 제2 논리 레벨로 천이된 이후 제1 클럭 신호(CLK1)의 토글링이 유지되면 스위치 제어 신호(SCS)를 비활성화 상태로 유지하고 제1 클럭 신호(CLK1)의 토글링이 중단되면 스위치 제어 신호(SCS)를 제1 선택 신호(SEL1)와 동일하게 상기 클럭 스위칭 구간 동안 활성화시킬 수 있다. 또한, 제어부(100a)는 모드 신호(MD)가 상기 제2 논리 레벨에서 상기 제1 논리 레벨로 천이된 이후 제2 클럭 신호(CLK2)의 토글링이 유지되는지 여부를 판단할 수 있다. 제어부(100a)는 모드 신호(MD)가 상기 제2 논리 레벨에서 상기 제1 논리 레벨로 천이된 이후 제2 클럭 신호(CLK2)의 토글링이 유지되면 스위치 제어 신호(SCS)를 비활성화 상태로 유지하고 제2 클럭 신호(CLK2)의 토글링이 중단되면 스위치 제어 신호(SCS)를 제1 선택 신호(SEL1)와 동일하게 상기 클럭 스위칭 구간 동안 활성화시킬 수 있다.
따라서 모드 신호(MD)의 논리 레벨 변경에 따라 글리치 프리 클럭 신호(GF_CLK)가 모드 신호(MD)의 논리 레벨과 무관하게 지속적으로 토글링되는 제1 클럭 신호(CLK1)에서 모드 신호(MD)의 논리 레벨에 기초하여 토글링이 중단되는 제2 클럭 신호(CLK2)로 스위치되는 경우, 제어부(100a)는 스위치 제어 신호(SCS)를 비활성화 상태로 유지할 수 있다.
반면에, 모드 신호(MD)의 논리 레벨 변경에 따라 글리치 프리 클럭 신호(GF_CLK)가 모드 신호(MD)의 논리 레벨에 기초하여 토글링이 중단되는 제2 클럭 신호(CLK2)에서 모드 신호(MD)의 논리 레벨과 무관하게 지속적으로 토글링되는 제1 클럭 신호(CLK1)로 스위치되는 경우, 제어부(100a)는 스위치 제어 신호(SCS)를 제1 선택 신호(SEL1)와 동일하게 상기 클럭 스위칭 구간 동안 활성화시킬 수 있다.
제어부(100a)는 제1 선택 신호(SEL1)가 활성화 상태에 있는 동안, 즉, 상기 클럭 스위칭 구간 동안 제2 선택 신호(SEL2)의 논리 레벨을 변경할 수 있다.
예를 들어, 모드 신호(MD)의 논리 레벨이 상기 제1 논리 레벨에서 상기 제2 논리 레벨로 변경되는 경우, 제어부(100a)는 제1 선택 신호(SEL1)가 활성화 상태에 있는 동안 제2 선택 신호(SEL2)의 논리 레벨을 상기 제1 논리 레벨에서 상기 제2 논리 레벨로 변경하고, 모드 신호(MD)의 논리 레벨이 상기 제2 논리 레벨에서 상기 제1 논리 레벨로 변경되는 경우, 제어부(100a)는 제1 선택 신호(SEL1)가 활성화 상태에 있는 동안 제2 선택 신호(SEL2)의 논리 레벨을 상기 제2 논리 레벨에서 상기 제1 논리 레벨로 변경할 수 있다.
일 실시예에 있어서, 제어부(100a)는 보조 클럭 신호(CLK_A)에 동기되어 제1 선택 신호(SEL1), 제2 선택 신호(SEL2) 및 스위치 제어 신호(SCS)를 생성할 수 있다. 즉, 제1 선택 신호(SEL1), 제2 선택 신호(SEL2) 및 스위치 제어 신호(SCS)는 보조 클럭 신호(CLK_A)에 동기될 수 있다.
스위칭 회로(200a)는 노말 멀티플렉서(NM)(210) 및 글리치 프리 멀티플렉서(GFM)(220a)를 포함할 수 있다.
노말 멀티플렉서(210)는 제2 선택 신호(SEL2)의 논리 레벨에 기초하여 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2) 중의 하나를 먹스 클럭 신호(CLK_M)로서 출력할 수 있다.
글리치 프리 멀티플렉서(220a)는 제1 선택 신호(SEL1)가 비활성화 상태에 있는 동안 먹스 클럭 신호(CLK_M)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 제1 선택 신호(SEL1)가 활성화되는 경우 스위치 제어 신호(SCS)에 기초하여 먹스 클럭 신호(CLK_M)의 출력을 중단하고 보조 클럭 신호(CLK_A)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 제1 선택 신호(SEL1)가 비활성화되는 경우 보조 클럭 신호(CLK_A)의 출력을 중단하고 먹스 클럭 신호(CLK_M)를 글리치 프리 클럭 신호(CLK_M)로서 출력할 수 있다.
예를 들어, 글리치 프리 멀티플렉서(220a)는 제1 선택 신호(SEL1)가 비활성화 상태에 있는 동안 먹스 클럭 신호(CLK_M)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다. 글리치 프리 멀티플렉서(220a)는 제1 선택 신호(SEL1)가 활성화되는 경우 스위치 제어 신호(SCS)에 기초하여 먹스 클럭 신호(CLK_M)가 논리 로우 레벨인 시점에 먹스 클럭 신호(CLK_M)의 출력을 중단하고 보조 클럭 신호(CLK_A)가 논리 로우 레벨인 시점에 보조 클럭 신호(CLK_A)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다. 글리치 프리 멀티플렉서(220a)는 제1 선택 신호(SEL1)가 비활성화되는 경우 보조 클럭 신호(CLK_A)가 논리 로우 레벨인 시점에 보조 클럭 신호(CLK_A)의 출력을 중단하고 먹스 클럭 신호(CLK_M)가 논리 로우 레벨인 시점에 먹스 클럭 신호(CLK_M)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다.
도 5는 도 4의 클럭 스위치 장치에 포함되는 글리치 프리 멀티플렉서의 일 예를 나타내는 회로도이다.
도 5를 참조하면, 글리치 프리 멀티플렉서(220a)는 제1 동기화부(synchronizer)(230), 제2 동기화부(240) 및 출력 제어 회로(250)를 포함할 수 있다.
제1 동기화부(230)는 먹스 클럭 신호(CLK_M)에 동기되어 제1 선택 신호(SEL1)의 반전 신호를 지연시켜 먹스 클럭 인에이블 신호(MCEN)를 생성할 수 있다.
제2 동기화부(240)는 보조 클럭 신호(CLK_A)에 동기되어 제1 선택 신호(SEL1)를 지연시켜 보조 클럭 인에이블 신호(ACEN)를 생성할 수 있다.
출력 제어 회로(250)는 스위치 제어 신호(SCS)가 활성화되는 경우 보조 클럭 신호(CLK_A)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다.
출력 제어 회로(250)는 스위치 제어 신호(SCS)가 비활성화되는 경우 보조 클럭 인에이블 신호(ACEN)의 논리 레벨 및 먹스 클럭 인에이블 신호(MCEN)의 논리 레벨에 기초하여 보조 클럭 신호(CLK_A) 및 먹스 클럭 신호(CLK_M) 중의 하나를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다. 예를 들어, 출력 제어 회로(250)는 스위치 제어 신호(SCS)가 비활성화되는 경우 보조 클럭 인에이블 신호(ACEN)가 활성화되는 동안 보조 클럭 신호(CLK_A)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 먹스 클럭 인에이블 신호(MCEN)가 활성화되는 동안 먹스 클럭 신호(CLK_M)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다.
제1 동기화부(230)는 제1 인버터(231), 제1 AND 게이트(232), 제1 플립플롭(233) 및 제2 플립플롭(234)을 포함할 수 있다.
제1 인버터(231)는 제1 선택 신호(SEL)를 반전시킬 수 있다.
제1 AND 게이트(232)는 제1 인버터(231)의 출력 신호 및 보조 클럭 인에이블 신호(ACEN)의 반전 신호에 상응하는 반전 보조 클럭 인에이블 신호(ACENB)에 대해 AND 연산을 수행할 수 있다.
제1 플립플롭(233)은 먹스 클럭 신호(CLK_M)의 상승 에지(edge)에 동기되어 제1 AND 게이트(232)의 출력 신호를 래치하여 출력할 수 있다.
제2 플립플롭(234)은 먹스 클럭 신호(CLK_M)의 하강 에지에 동기되어 제1 플립플롭(233)의 출력 신호를 래치하여 먹스 클럭 인에이블 신호(MCEN)로서 출력하고 먹스 클럭 인에이블 신호(MCEN)의 반전 신호를 반전 먹스 클럭 인에이블 신호(MCENB)로서 출력할 수 있다.
제2 동기화부(240)는 제2 AND 게이트(242), 제3 플립플롭(243) 및 제4 플립플롭(244)을 포함할 수 있다.
제2 AND 게이트(242)는 제1 선택 신호(SEL1) 및 먹스 클럭 인에이블 신호(MCEN)의 반전 신호에 상응하는 반전 먹스 클럭 인에이블 신호(MCENB)에 대해 AND 연산을 수행할 수 있다.
제3 플립플롭(243)은 보조 클럭 신호(CLK_A)의 상승 에지에 동기되어 제2 AND 게이트(242)의 출력 신호를 래치하여 출력할 수 있다.
제4 플립플롭(244)은 보조 클럭 신호(CLK_A)의 하강 에지에 동기되어 제3 플립플롭(243)의 출력 신호를 래치하여 보조 클럭 인에이블 신호(ACEN)로서 출력하고 보조 클럭 인에이블 신호(ACEN)의 반전 신호를 반전 보조 클럭 인에이블 신호(ACENB)로서 출력할 수 있다.
출력 제어 회로(250)는 제2 인버터(251), 제3 AND 게이트(252), 제4 AND 게이트(253), 제1 OR 게이트(254), 제5 AND 게이트(255) 및 제2 OR 게이트(256)를 포함할 수 있다.
제2 인버터(251)는 스위치 제어 신호(SCS)를 반전시킬 수 있다.
제3 AND 게이트(252)는 제2 인버터(251)의 출력 신호 및 먹스 클럭 인에이블 신호(MCEN)에 대해 AND 연산을 수행할 수 있다.
제4 AND 게이트(253)는 제3 AND 게이트(252)의 출력 신호 및 먹스 클럭 신호(CLK_M)에 대해 AND 연산을 수행할 수 있다.
제1 OR 게이트(254)는 보조 클럭 인에이블 신호(ACEN) 및 스위치 제어 신호(SCS)에 대해 OR 연산을 수행할 수 있다.
제5 AND 게이트(255)는 제1 OR 게이트(254)의 출력 신호 및 보조 클럭 신호(CLK_A)에 대해 AND 연산을 수행할 수 있다.
제2 OR 게이트(256)는 제5 AND 게이트(255)의 출력 신호 및 제4 AND 게이트(253)의 출력 신호에 대해 OR 연산을 수행하여 글리치 프리 클럭 신호(GF_CLK)를 생성할 수 있다.
도 6 및 7은 도 4에 도시된 클럭 스위치 장치의 동작을 설명하기 위한 도면들이다.
이하, 도 4 내지 7을 참조하여 도 4에 도시된 클럭 스위치 장치(10a)의 동작에 대해 상세히 설명한다.
도 6은 모드 신호(MD)가 논리 로우 레벨에서 논리 하이 레벨로 천이되는 경우, 클럭 스위치 장치(10a)가 글리치 프리 클럭 신호(GF_CLK)를 제1 클럭 신호(CLK1)에서 제2 클럭 신호(CLK2)로 스위치하는 동작을 설명하기 위한 도면이다.
도 6을 참조하면, 모드 신호(MD)가 논리 로우 레벨로 유지되는 동안, 즉, 제1 시각(t1) 이전에, 제어부(100a)는 제1 선택 신호(SEL1)를 논리 로우 레벨로 비활성화시키고, 제2 선택 신호(SEL2)를 논리 로우 레벨로 유지하고, 스위치 제어 신호(SCS)를 논리 로우 레벨로 유지할 수 있다.
따라서 노말 멀티플렉서(210)는 논리 로우 레벨을 갖는 제2 선택 신호(SEL2)에 응답하여 제1 클럭 신호(CLK1)를 먹스 클럭 신호(CLK_M)로서 출력할 수 있다.
제1 선택 신호(SEL1)는 논리 로우 레벨로 유지되므로, 제2 플립플롭(234)으로부터 출력되는 먹스 클럭 인에이블 신호(MCENB)는 논리 하이 레벨로 유지되고, 제4 플립플롭(244)으로부터 출력되는 보조 클럭 인에이블 신호(ACEN)는 논리 로우 레벨로 유지된다.
스위치 제어 신호(SCS)는 논리 로우 레벨로 유지되므로, 제2 OR 게이트(256)는 제1 클럭 신호(CLK1)에 상응하는 먹스 클럭 신호(CLK_M)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다.
제1 시각(t1)에 모드 신호(MD)가 논리 하이 레벨로 천이되는 경우, 제어부(100a)는 보조 클럭 신호(CLK_A)에 동기되어 제2 시각(t2)에 제1 선택 신호(SEL1)를 논리 하이 레벨로 활성화시킬 수 있다. 또한, 제1 클럭 신호(CLK1)는 모드 신호(MD)가 논리 하이 레벨로 천이된 이후에도 지속적으로 토글링되므로, 제어부(100a)는 스위치 제어 신호(SCS)를 논리 로우 레벨로 유지할 수 있다.
제2 시각(t2)에 제1 선택 신호(SEL1)는 논리 하이 레벨로 활성화되므로, 제2 시각(t2) 이후 먹스 클럭 신호(CLK_M)의 첫 번째 상승 에지에서 제1 플립플롭(233)의 출력 신호는 논리 로우 레벨로 천이되고, 먹스 클럭 신호(CLK_M)의 다음 하강 에지인 제3 시각(t3)에서 제2 플립플롭(234)의 출력 신호인 먹스 클럭 인에이블 신호(MCEN)는 논리 로우 레벨로 천이될 수 있다.
따라서 제3 시각(t3) 이후 출력 제어 회로(250)에 포함되는 제4 AND 게이트(253)는 먹스 클럭 신호(CLK_M)의 출력을 중단할 수 있다. 따라서 제2 OR 게이트(256)로부터 출력되는 글리치 프리 클럭 신호(GF_CLK)는 논리 로우 레벨로 유지될 수 있다.
한편, 제3 시각(t3)에서 반전 먹스 클럭 인에이블 신호(MCENB)는 논리 하이 레벨로 천이되므로, 제3 시각(t3) 이후 보조 클럭 신호(CLK_A)의 첫 번째 상승 에지에서 제3 플립플롭(243)의 출력 신호는 논리 하이 레벨로 천이되고, 보조 클럭 신호(CLK_A)의 다음 하강 에지인 제4 시각(t4)에서 제4 플립플롭(244)의 출력 신호인 보조 클럭 인에이블 신호(ACEN)는 논리 하이 레벨로 천이될 수 있다.
따라서 제4 시각(t4)부터 출력 제어 회로(250)에 포함되는 제5 AND 게이트(255)는 보조 클럭 신호(CLK_A)를 출력할 수 있다. 따라서 제4 시각(t4) 이후에 제2 OR 게이트(256)는 보조 클럭 신호(CLK_A)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다.
제어부(100a)는 제1 선택 신호(SEL1)를 활성화시키는 제2 시각(t2)으로부터 미리 정해진 시간 이후인 제5 시각(t5)에 보조 클럭 신호(CLK_A)에 동기되어 제2 선택 신호(SEL2)를 논리 하이 레벨로 천이시킬 수 있다. 따라서 노말 멀티플렉서(210)는 논리 하이 레벨을 갖는 제2 선택 신호(SEL2)에 응답하여 제2 클럭 신호(CLK2)를 먹스 클럭 신호(CLK_M)로서 출력할 수 있다.
이 때, 도 6에 도시된 바와 같이, 먹스 클럭 신호(CLK_M)에 글리치가 발생할 수 있다. 그러나, 상술한 바와 같이, 제4 시각(t4) 이후 출력 제어 회로(250)에 포함되는 제2 OR 게이트(256)는 보조 클럭 신호(CLK_A)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하므로, 제5 시각(t5)에 먹스 클럭 신호(CLK_M)에 글리치가 발생하는 경우에도 글리치 프리 클럭 신호(GF_CLK)에는 상기 글리치가 포함되지 않을 수 있다.
제어부(100a)는 제2 선택 신호(SEL2)의 논리 레벨을 변경하는 제5 시각(t5)으로부터 지연 시간 이후인 제6 시각(t6)에 보조 클럭 신호(CLK_A)에 동기되어 제1 선택 신호(SEL1)를 논리 로우 레벨로 비활성화시킬 수 있다. 예를 들어, 제어부(100a)는 제5 시각(t5)에 제2 선택 신호(SEL2)의 논리 레벨을 변경하는 경우 보조 클럭 신호(CLK_A)에 동기되어 카운팅 동작을 수행하여 카운트값을 생성하고, 상기 카운트값이 미리 정해진 문턱값과 일치하는 경우 제1 선택 신호(SEL1)를 논리 로우 레벨로 비활성화시킬 수 있다.
제6 시각(t6)에 제1 선택 신호(SEL1)는 논리 로우 레벨로 비활성화되므로, 제6 시각(t6) 이후 보조 클럭 신호(CLK_A)의 첫 번째 상승 에지에서 제3 플립플롭(243)의 출력 신호는 논리 로우 레벨로 천이되고, 보조 클럭 신호(CLK_A)의 다음 하강 에지인 제7 시각(t7)에서 제4 플립플롭(244)의 출력 신호인 보조 클럭 인에이블 신호(ACEN)는 논리 로우 레벨로 천이될 수 있다.
따라서 제7 시각(t7) 이후 출력 제어 회로(250)에 포함되는 제5 AND 게이트(255)는 보조 클럭 신호(CLK_A)의 출력을 중단할 수 있다. 따라서 제2 OR 게이트(256)로부터 출력되는 글리치 프리 클럭 신호(GF_CLK)는 논리 로우 레벨로 유지될 수 있다.
한편, 제7 시각(t7)에서 반전 보조 클럭 인에이블 신호(ACENB)는 논리 하이 레벨로 천이되므로, 제7 시각(t7) 이후 먹스 클럭 신호(CLK_M)의 첫 번째 상승 에지에서 제1 플립플롭(233)의 출력 신호는 논리 하이 레벨로 천이되고, 먹스 클럭 신호(CLK_M)의 다음 하강 에지인 제8 시각(t8)에서 제2 플립플롭(234)의 출력 신호인 먹스 클럭 인에이블 신호(MCEN)는 논리 하이 레벨로 천이될 수 있다.
따라서 제8 시각(t8)부터 출력 제어 회로(250)에 포함되는 제4 AND 게이트(253)는 먹스 클럭 신호(CLK_M)를 출력할 수 있다. 따라서 제8 시각(t8) 이후에 제2 OR 게이트(256)는 제2 클럭 신호(CLK2)에 상응하는 먹스 클럭 신호(CLK_M)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다.
도 6을 참조하여 상술한 바와 같이, 모드 신호(MD)가 논리 로우 레벨에서 논리 하이 레벨로 천이되는 경우, 클럭 스위치 장치(10a)는 제3 시각(t3)까지는 제1 클럭 신호(CLK1)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 제4 시각(t4)부터 제7 시각(t7) 사이에는 보조 클럭 신호(CLK_A)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 제8 시각(t8) 이후에는 제2 클럭 신호(CLK2)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다.
도 7은 모드 신호(MD)가 논리 하이 레벨에서 논리 로우 레벨로 천이되는 경우, 클럭 스위치 장치(10a)가 글리치 프리 클럭 신호(GF_CLK)를 제2 클럭 신호(CLK2)에서 제1 클럭 신호(CLK1)로 스위치하는 동작을 설명하기 위한 도면이다.
도 7을 참조하면, 모드 신호(MD)가 논리 하이 레벨로 유지되는 동안, 즉, 제1 시각(t1) 이전에, 제어부(100a)는 제1 선택 신호(SEL1)를 논리 로우 레벨로 비활성화시키고, 제2 선택 신호(SEL2)를 논리 하이 레벨로 유지하고, 스위치 제어 신호(SCS)를 논리 로우 레벨로 유지할 수 있다.
따라서 노말 멀티플렉서(210)는 논리 하이 레벨을 갖는 제2 선택 신호(SEL2)에 응답하여 제2 클럭 신호(CLK2)를 먹스 클럭 신호(CLK_M)로서 출력할 수 있다.
제1 선택 신호(SEL1)는 논리 로우 레벨로 유지되므로, 제2 플립플롭(234)으로부터 출력되는 먹스 클럭 인에이블 신호(MCENB)는 논리 하이 레벨로 유지되고, 제4 플립플롭(244)으로부터 출력되는 보조 클럭 인에이블 신호(ACEN)는 논리 로우 레벨로 유지된다.
스위치 제어 신호(SCS)는 논리 로우 레벨로 유지되므로, 제2 OR 게이트(256)는 제2 클럭 신호(CLK2)에 상응하는 먹스 클럭 신호(CLK_M)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다.
제1 시각(t1)에 모드 신호(MD)가 논리 로우 레벨로 천이되는 경우, 제어부(100a)는 보조 클럭 신호(CLK_A)에 동기되어 제2 시각(t2)에 제1 선택 신호(SEL1)를 논리 하이 레벨로 활성화시킬 수 있다. 또한, 제2 클럭 신호(CLK2)는 모드 신호(MD)가 논리 로우 레벨로 천이된 이후에는 토글링을 중단하므로, 제어부(100a)는 제2 시각(t2)에 스위치 제어 신호(SCS)를 논리 하이 레벨로 천이시킬 수 있다.
제2 시각(t2)에 제1 선택 신호(SEL1)는 논리 하이 레벨로 활성화되므로, 제1 AND 게이트(232)의 출력 신호는 논리 로우 레벨로 천이될 수 있다. 그러나 모드 신호(MD)가 논리 로우 레벨로 천이된 이후에 제2 클럭 신호(CLK2)는 토글링을 중단하므로, 제1 AND 게이트(232)의 출력 신호는 제1 플립플롭(233) 및 제2 플립플롭(234)을 통해 전달될 수 없다. 따라서 먹스 클럭 인에이블 신호(MCEN)는 논리 로우 레벨로 천이될 수 없다.
그러나 제2 시각(t2)에 스위치 제어 신호(SCS)는 논리 하이 레벨로 천이되므로, 제3 AND 게이트(252)의 출력 신호는 논리 로우 레벨로 천이될 수 있다. 따라서 제2 시각(t2) 이후 먹스 클럭 인에이블 신호(MCEN)는 논리 하이 레벨로 유지됨에도 불구하고, 출력 제어 회로(250)에 포함되는 제4 AND 게이트(253)는 먹스 클럭 신호(CLK_M)의 출력을 중단할 수 있다.
또한, 제2 시각(t2)에 스위치 제어 신호(SCS)는 논리 하이 레벨로 천이되므로, 제1 OR 게이트(254)의 출력 신호는 논리 하이 레벨로 천이될 수 있다. 따라서 제2 시각(t2) 이후 보조 클럭 인에이블 신호(ACEN)는 논리 로우 레벨로 유지됨에도 불구하고, 출력 제어 회로(250)에 포함되는 제5 AND 게이트(255)는 제2 시각(t2)부터 보조 클럭 신호(CLK_A)를 출력할 수 있다.
따라서 제2 시각(t2) 이후 제2 OR 게이트(256)는 보조 클럭 신호(CLK_A)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다.
제어부(100a)는 제1 선택 신호(SEL1)를 활성화시키는 제2 시각(t2)으로부터 미리 정해진 시간 이후인 제3 시각(t3)에 보조 클럭 신호(CLK_A)에 동기되어 제2 선택 신호(SEL2)를 논리 로우 레벨로 천이시킬 수 있다. 따라서 노말 멀티플렉서(210)는 논리 로우 레벨을 갖는 제2 선택 신호(SEL2)에 응답하여 제1 클럭 신호(CLK1)를 먹스 클럭 신호(CLK_M)로서 출력할 수 있다.
이 때, 도 7에 도시된 바와 같이, 먹스 클럭 신호(CLK_M)에 글리치가 발생할 수 있다. 그러나, 상술한 바와 같이, 제2 시각(t2) 이후 출력 제어 회로(250)에 포함되는 제2 OR 게이트(256)는 보조 클럭 신호(CLK_A)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하므로, 제3 시각(t3)에 먹스 클럭 신호(CLK_M)에 글리치가 발생하는 경우에도 글리치 프리 클럭 신호(GF_CLK)에는 상기 글리치가 포함되지 않을 수 있다.
제어부(100a)는 제2 선택 신호(SEL2)의 논리 레벨을 변경하는 제3 시각(t3)으로부터 지연 시간 이후인 제4 시각(t4)에 보조 클럭 신호(CLK_A)에 동기되어 제1 선택 신호(SEL1) 및 스위치 제어 신호(SCS)를 논리 로우 레벨로 비활성화시킬 수 있다. 예를 들어, 제어부(100a)는 제3 시각(t3)에 제2 선택 신호(SEL2)의 논리 레벨을 변경하는 경우 보조 클럭 신호(CLK_A)에 동기되어 카운팅 동작을 수행하여 카운트값을 생성하고, 상기 카운트값이 미리 정해진 문턱값과 일치하는 경우 제1 선택 신호(SEL1) 및 스위치 제어 신호(SCS)를 논리 로우 레벨로 비활성화시킬 수 있다.
제4 시각(t4)에 제1 선택 신호(SEL1)는 논리 로우 레벨로 비활성화되므로, 제4 시각(t4) 이후 보조 클럭 신호(CLK_A)의 첫 번째 상승 에지에서 제3 플립플롭(243)의 출력 신호는 논리 로우 레벨로 천이되고, 보조 클럭 신호(CLK_A)의 다음 하강 에지인 제5 시각(t5)에서 제4 플립플롭(244)의 출력 신호인 보조 클럭 인에이블 신호(ACEN)는 논리 로우 레벨로 천이될 수 있다.
또한, 제4 시각(t4)에 스위치 제어 신호(SCS)는 논리 로우 레벨로 비활성화되므로, 제5 시각(t5) 이후 출력 제어 회로(250)에 포함되는 제5 AND 게이트(255)는 보조 클럭 신호(CLK_A)의 출력을 중단할 수 있다. 따라서 제2 OR 게이트(256)로부터 출력되는 글리치 프리 클럭 신호(GF_CLK)는 논리 로우 레벨로 유지될 수 있다.
한편, 제5 시각(t5)에서 반전 보조 클럭 인에이블 신호(ACENB)는 논리 하이 레벨로 천이되므로, 제5 시각(t5) 이후 먹스 클럭 신호(CLK_M)의 첫 번째 상승 에지에서 제1 플립플롭(233)의 출력 신호는 논리 하이 레벨로 천이되고, 먹스 클럭 신호(CLK_M)의 다음 하강 에지인 제6 시각(t6)에서 제2 플립플롭(234)의 출력 신호인 먹스 클럭 인에이블 신호(MCEN)는 논리 하이 레벨로 천이될 수 있다.
따라서 제6 시각(t6)부터 출력 제어 회로(250)에 포함되는 제4 AND 게이트(253)는 먹스 클럭 신호(CLK_M)를 출력할 수 있다. 따라서 제6 시각(t6) 이후에 제2 OR 게이트(256)는 제1 클럭 신호(CLK1)에 상응하는 먹스 클럭 신호(CLK_M)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다.
도 7을 참조하여 상술한 바와 같이, 모드 신호(MD)가 논리 하이 레벨에서 논리 로우 레벨로 천이되는 경우, 클럭 스위치 장치(10a)는 제2 시각(t2)까지는 제2 클럭 신호(CLK2)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 제2 시각(t2)부터 제5 시각(t5) 사이에는 보조 클럭 신호(CLK_A)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 제6 시각(t6) 이후에는 제2 클럭 신호(CLK2)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다.
도 4 내지 7을 참조하여 상술한 바와 같은 동작을 통해, 클럭 스위치 장치(10a)는 모드 신호(MD)의 논리 레벨이 변경되는 경우 보조 클럭 신호(CLK_A)를 사용하여 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2)에 대해 클럭 스위치 동작을 수행함으로써 글리치를 포함하지 않는 글리치 프리 클럭 신호(GF_CLK)를 생성할 수 있다.
또한, 클럭 스위치 장치(10a)는 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2) 중의 하나가 모드 신호(MD)가 제1 논리 레벨인 경우 토글링이 중단되는 경우에도 안정적으로 클럭 스위치 동작을 수행하여 글리치를 포함하지 않는 글리치 프리 클럭 신호(GF_CLK)를 생성할 수 있다.
도 8은 도 1에 도시된 클럭 스위치 장치의 다른 예를 나타내는 블록도이다.
도 8을 참조하면, 클럭 스위치 장치(10b)는 제어부(100b) 및 스위칭 회로(200b)를 포함할 수 있다.
제어부(100b)는 모드 신호(MD)의 논리 레벨이 변경되는 경우 제1 선택 신호(SEL1)를 활성화시킬 수 있다.
또한, 제어부(100b)는 모드 신호(MD)의 논리 레벨이 변경되는 경우 모드 신호(MD)의 논리 레벨에 기초하여 스위치 제어 신호(SCS)를 생성할 수 있다.
일 실시예에 있어서, 제어부(100b)는 제1 클럭 신호(CLK1)는 모드 신호(MD)의 논리 레벨과 무관하게 지속적으로 토글링되고, 제2 클럭 신호(CLK2)는 모드 신호(MD)의 논리 레벨에 기초하여 토글링이 중단된다는 정보를 미리 저장할 수 있다. 이 경우, 제어부(100b)는 모드 신호(MD)가 상기 제1 논리 레벨에서 상기 제2 논리 레벨로 천이되는 경우 스위치 제어 신호(SCS)를 비활성화 상태로 유지하고, 모드 신호(MD)가 상기 제2 논리 레벨에서 상기 제1 논리 레벨로 천이되는 경우 제1 선택 신호(SEL1)가 활성화되는 시점과 동일한 시점에 스위치 제어 신호(SCS)를 활성화시킬 수 있다.
다른 실시예에 있어서, 제어부(100b)는 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2) 각각이 모드 신호(MD)의 논리 레벨과 무관하게 지속적으로 토글링되는지 또는 모드 신호(MD)의 논리 레벨에 기초하여 토글링이 중단되는지에 관한 정보를 가지고 있지 않을 수 있다. 이 경우, 제어부(100b)는 모드 신호(MD)가 상기 제1 논리 레벨에서 제2 논리 레벨로 천이된 이후 제1 클럭 신호(CLK1)의 토글링이 유지되는지 여부를 판단할 수 있다. 제어부(100b)는 모드 신호(MD)가 상기 제1 논리 레벨에서 제2 논리 레벨로 천이된 이후 제1 클럭 신호(CLK1)의 토글링이 유지되면 스위치 제어 신호(SCS)를 비활성화 상태로 유지하고 제1 클럭 신호(CLK1)의 토글링이 중단되면 제1 선택 신호(SEL1)가 활성화되는 시점과 동일한 시점에 스위치 제어 신호(SCS)를 활성화시킬 수 있다. 또한, 제어부(100b)는 모드 신호(MD)가 상기 제2 논리 레벨에서 상기 제1 논리 레벨로 천이된 이후 제2 클럭 신호(CLK2)의 토글링이 유지되는지 여부를 판단할 수 있다. 제어부(100b)는 모드 신호(MD)가 상기 제2 논리 레벨에서 상기 제1 논리 레벨로 천이된 이후 제2 클럭 신호(CLK2)의 토글링이 유지되면 스위치 제어 신호(SCS)를 비활성화 상태로 유지하고 제2 클럭 신호(CLK2)의 토글링이 중단되면 제1 선택 신호(SEL1)가 활성화되는 시점과 동일한 시점에 스위치 제어 신호(SCS)를 활성화시킬 수 있다.
따라서 모드 신호(MD)의 논리 레벨 변경에 따라 글리치 프리 클럭 신호(GF_CLK)가 모드 신호(MD)의 논리 레벨과 무관하게 지속적으로 토글링되는 제1 클럭 신호(CLK1)에서 모드 신호(MD)의 논리 레벨에 기초하여 토글링이 중단되는 제2 클럭 신호(CLK2)로 스위치되는 경우, 제어부(100b)는 스위치 제어 신호(SCS)를 비활성화 상태로 유지할 수 있다.
반면에, 모드 신호(MD)의 논리 레벨 변경에 따라 글리치 프리 클럭 신호(GF_CLK)가 모드 신호(MD)의 논리 레벨에 기초하여 토글링이 중단되는 제2 클럭 신호(CLK2)에서 모드 신호(MD)의 논리 레벨과 무관하게 지속적으로 토글링되는 제1 클럭 신호(CLK1)로 스위치되는 경우, 제어부(100b)는 제1 선택 신호(SEL1)가 활성화되는 시점과 동일한 시점에 스위치 제어 신호(SCS)를 활성화시킬 수 있다.
제어부(100b)는 제1 선택 신호(SEL1)가 활성화 상태에 있는 동안 스위칭 회로(200b)로부터 제공되는 트리거 신호(TS)의 논리 레벨이 변경되는지 여부를 탐지할 수 있다. 제1 선택 신호(SEL1)가 활성화 상태에 있는 동안 스위칭 회로(200b)로부터 제공되는 트리거 신호(TS)의 논리 레벨이 변경되는 경우, 제어부(100b)는 제2 선택 신호(SEL2)의 논리 레벨을 변경할 수 있다.
예를 들어, 모드 신호(MD)의 논리 레벨이 상기 제1 논리 레벨에서 상기 제2 논리 레벨로 변경된 후에 제1 선택 신호(SEL1)가 활성화 상태에 있는 동안 트리거 신호(TS)의 논리 레벨이 변경되는 경우, 제어부(100b)는 제2 선택 신호(SEL2)의 논리 레벨을 상기 제1 논리 레벨에서 상기 제2 논리 레벨로 변경할 수 있다. 모드 신호(MD)의 논리 레벨이 상기 제2 논리 레벨에서 상기 제1 논리 레벨로 변경된 후에 제1 선택 신호(SEL1)가 활성화 상태에 있는 동안 트리거 신호(TS)의 논리 레벨이 변경되는 경우, 제어부(100b)는 제2 선택 신호(SEL2)의 논리 레벨을 상기 제2 논리 레벨에서 상기 제1 논리 레벨로 변경할 수 있다.
또한, 제어부(100b)는 제2 선택 신호(SEL2)의 논리 레벨을 변경한 시점으로부터 지연 시간 이후에 제1 선택 신호(SEL1)를 비활성화시킬 수 있다. 예를 들어, 제어부(100b)는 제2 선택 신호(SEL2)의 논리 레벨을 변경하는 경우 카운팅 동작을 수행하여 카운트값을 생성하고, 상기 카운트값이 미리 정해진 문턱값과 일치하는 경우 제1 선택 신호(SEL1)를 비활성화시킬 수 있다. 이 때, 스위치 제어 신호(SCS)가 활성화 상태에 있는 경우, 제어부(100b)는 제1 선택 신호(SEL1)를 비활성화시키는 시점과 동일한 시점에 스위치 제어 신호(SCS)를 비활성화시킬 수 있다.
따라서 상기 클럭 스위칭 구간은 제1 선택 신호(SEL1)가 활성화 상태에 있는 구간으로 설정될 수 있다.
일 실시예에 있어서, 제어부(100b)는 보조 클럭 신호(CLK_A)에 동기되어 제1 선택 신호(SEL1), 제2 선택 신호(SEL2) 및 스위치 제어 신호(SCS)를 생성할 수 있다. 즉, 제1 선택 신호(SEL1), 제2 선택 신호(SEL2) 및 스위치 제어 신호(SCS)는 보조 클럭 신호(CLK_A)에 동기될 수 있다.
스위칭 회로(200b)는 노말 멀티플렉서(NM)(210) 및 글리치 프리 멀티플렉서(GFM)(220b)를 포함할 수 있다.
노말 멀티플렉서(210)는 제2 선택 신호(SEL2)의 논리 레벨에 기초하여 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2) 중의 하나를 먹스 클럭 신호(CLK_M)로서 출력할 수 있다.
글리치 프리 멀티플렉서(220b)는 제1 선택 신호(SEL1)가 비활성화 상태에 있는 동안 먹스 클럭 신호(CLK_M)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 제1 선택 신호(SEL1)가 활성화되는 경우 스위치 제어 신호(SCS)에 기초하여 먹스 클럭 신호(CLK_M)의 출력을 중단하고 보조 클럭 신호(CLK_A)를 글리치 프리 클럭 신호(GF_CLK)로서 출력한 후 트리거 신호(TS)를 천이시키고, 제1 선택 신호(SEL1)가 비활성화되는 경우 보조 클럭 신호(CLK_A)의 출력을 중단하고 먹스 클럭 신호(CLK_M)를 글리치 프리 클럭 신호(CLK_M)로서 출력할 수 있다.
예를 들어, 글리치 프리 멀티플렉서(220b)는 제1 선택 신호(SEL1)가 비활성화 상태에 있는 동안 먹스 클럭 신호(CLK_M)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다. 글리치 프리 멀티플렉서(220b)는 제1 선택 신호(SEL1)가 활성화되는 경우 스위치 제어 신호(SCS)에 기초하여 먹스 클럭 신호(CLK_M)가 논리 로우 레벨인 시점에 먹스 클럭 신호(CLK_M)의 출력을 중단하고 보조 클럭 신호(CLK_A)가 논리 로우 레벨인 시점에 보조 클럭 신호(CLK_A)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다. 글리치 프리 멀티플렉서(220b)는 보조 클럭 신호(CLK_A)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하기 시작하는 시점에 트리거 신호(TS)의 논리 레벨을 변경할 수 있다. 글리치 프리 멀티플렉서(220b)는 제1 선택 신호(SEL1)가 비활성화되는 경우 보조 클럭 신호(CLK_A)가 논리 로우 레벨인 시점에 보조 클럭 신호(CLK_A)의 출력을 중단하고 먹스 클럭 신호(CLK_M)가 논리 로우 레벨인 시점에 먹스 클럭 신호(CLK_M)를 글리치 프리 클럭 신호(GF_CLK)로서 출력할 수 있다.
도 9는 도 8의 클럭 스위치 장치에 포함되는 글리치 프리 멀티플렉서의 일 예를 나타내는 회로도이다.
도 9를 참조하면, 글리치 프리 멀티플렉서(220b)는 제1 동기화부(synchronizer)(230), 제2 동기화부(240), 출력 제어 회로(250) 및 피드백 회로(260)를 포함할 수 있다.
도 9의 글리치 프리 멀티플렉서(220b)에 포함되는 제1 동기화부(230), 제2 동기화부(240) 및 출력 제어 회로(250)는 도 5의 글리치 프리 멀티플렉서(220a)에 포함되는 제1 동기화부(230), 제2 동기화부(240) 및 출력 제어 회로(250)와 동일하다. 도 5의 글리치 프리 멀티플렉서(220a)에 포함되는 제1 동기화부(230), 제2 동기화부(240) 및 출력 제어 회로(250)의 구조 및 동작에 대해서는 도 4 내지 7을 참조하여 상술하였으므로, 중복되는 설명은 생략한다.
피드백 회로(260)는 보조 클럭 신호(CLK_A)에 동기되어 출력 제어 회로(250)에 포함되는 제1 OR 게이트(254)의 출력 신호를 래치하여 트리거 신호(TS)로서 제어부(100b)에 제공할 수 있다.
피드백 회로(260)는 제3 인버터(261), 제5 플립플롭(262) 및 제6 플립플롭(263)을 포함할 수 있다.
제3 인버터(261)는 제1 OR 게이트(254)의 출력 신호를 반전시킬 수 있다.
제5 플립플롭(262)은 보조 클럭 신호(CLK_A)의 상승 에지에 동기되어 제3 인버터(261)의 출력 신호를 래치하여 출력할 수 있다.
제6 플립플롭(263)은 보조 클럭 신호(CLK_A)의 상승 에지에 동기되어 제5 플립플롭(262)의 출력 신호를 래치하여 트리거 신호(TS)로서 출력할 수 있다.
도 9에는 피드백 회로(260)가 직렬로 연결되는 두 개의 플립플롭을 포함하는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않고, 한 개 이상의 플립플롭을 사용하여 구현될 수 있다. 또한, 실시예에 따라서, 제5 플립플롭(262) 및 제6 플립플롭(263)은 보조 클럭 신호(CLK_A)의 하강 에지에 동기되어 동작할 수도 있다.
도 10 및 11은 도 8에 도시된 클럭 스위치 장치의 동작을 설명하기 위한 도면들이다.
도 10은 모드 신호(MD)가 논리 로우 레벨에서 논리 하이 레벨로 천이되는 경우, 클럭 스위치 장치(10b)가 글리치 프리 클럭 신호(GF_CLK)를 제1 클럭 신호(CLK1)에서 제2 클럭 신호(CLK2)로 스위치하는 동작을 설명하기 위한 도면이다.
도 11은 모드 신호(MD)가 논리 하이 레벨에서 논리 로우 레벨로 천이되는 경우, 클럭 스위치 장치(10b)가 글리치 프리 클럭 신호(GF_CLK)를 제2 클럭 신호(CLK2)에서 제1 클럭 신호(CLK1)로 스위치하는 동작을 설명하기 위한 도면이다.
도 8 및 9를 참조하여 상술한 바와 같이, 도 8의 클럭 스위치 장치(10b)에 포함되는 스위칭 회로(200b)는 트리거 신호(TS)를 더 생성하고, 제어부(100b)는 트리거 신호(TS)에 기초하여 제2 선택 신호(SEL2)의 논리 레벨을 변경한다는 사항을 제외하고는 도 4의 클럭 스위치 장치(10a)와 동일하다. 따라서 도 10 및 11을 참조하여 트리거 신호(TS)와 관련된 클럭 스위치 장치(10b)의 동작에 대해서만 설명하고, 중복되는 설명은 생략한다.
도 10을 참조하면, 제4 시각(t4)에서 스위치 제어 신호(SCS)는 논리 로우 레벨로 유지되고 보조 클럭 인에이블 신호(ACEN)는 논리 로우 레벨에서 논리 하이 레벨로 천이될 수 있다. 따라서 제4 시각(t4)에서 제1 OR 게이트(254)의 출력 신호는 논리 로우 레벨에서 논리 하이 레벨로 천이되고, 피드백 회로(260)에 포함되는 제3 인버터(261)의 출력 신호는 논리 하이 레벨에서 논리 로우 레벨로 천이될 수 있다.
따라서 제4 시각(t4) 이후 보조 클럭 신호(CLK_A)의 첫 번째 상승 에지에서 제5 플립플롭(262)의 출력 신호는 논리 로우 레벨로 천이되고, 보조 클럭 신호(CLK_A)의 두 번째 상승 에지인 제5 시각(t5)에서 제6 플립플롭(263)의 출력 신호인 트리거 신호(TS)는 논리 로우 레벨로 천이될 수 있다.
제5 시각(t5)에서 트리거 신호(TS)는 논리 로우 레벨로 천이되므로, 제어부(100b)는 제5 시각(t5)에 보조 클럭 신호(CLK_A)에 동기되어 제2 선택 신호(SEL2)를 논리 하이 레벨로 천이시킬 수 있다.
한편, 제7 시각(t7)에 보조 클럭 인에이블 신호(ACEN)는 논리 하이 레벨에서 논리 로우 레벨로 천이될 수 있다. 따라서 제7 시각(t7) 이후 보조 클럭 신호(CLK_A)의 두 번째 상승 에지인 제9 시각(t9)에서 제6 플립플롭(263)의 출력 신호인 트리거 신호(TS)는 논리 로우 레벨로 천이될 수 있다. 상술한 바와 같이, 제어부(100b)는 제1 선택 신호(SEL1)가 활성화 상태에 있는 동안 트리거 신호(TS)의 논리 레벨이 변경되는 경우에 한해 제2 선택 신호(SEL2)의 논리 레벨을 변경하므로, 제9 시각(t9)에 트리거 신호(TS)의 논리 레벨이 변경되는 경우에도 제어부(100b)는 제2 선택 신호(SEL2)의 논리 레벨을 변경하지 않고 그대로 유지할 수 있다.
도 11을 참조하면, 제2 시각(t2) 이전에 보조 클럭 인에이블 신호(ACEN)는 논리 로우 레벨로 유지되고, 스위치 제어 신호(SCS) 역시 논리 로우 레벨로 유지될 수 있다. 따라서 제1 OR 게이트(254)의 출력 신호는 논리 로우 레벨로 유지될 수 있다.
제2 시각(t2)에 스위치 제어 신호(SCS)는 논리 하이 레벨로 천이되므로, 제2 시각(t2)에 제1 OR 게이트(254)의 출력 신호는 논리 로우 레벨에서 논리 하이 레벨로 천이되고, 피드백 회로(260)에 포함되는 제3 인버터(261)의 출력 신호는 논리 하이 레벨에서 논리 로우 레벨로 천이될 수 있다.
따라서 제2 시각(t2) 이후 보조 클럭 신호(CLK_A)의 첫 번째 상승 에지에서 제5 플립플롭(262)의 출력 신호는 논리 로우 레벨로 천이되고, 보조 클럭 신호(CLK_A)의 두 번째 상승 에지인 제3 시각(t3)에서 제6 플립플롭(263)의 출력 신호인 트리거 신호(TS)는 논리 로우 레벨로 천이될 수 있다.
제3 시각(t3)에서 트리거 신호(TS)는 논리 로우 레벨로 천이되므로, 제어부(100b)는 제3 시각(t3)에 보조 클럭 신호(CLK_A)에 동기되어 제2 선택 신호(SEL2)를 논리 로우 레벨로 천이시킬 수 있다.
한편, 제5 시각(t5)에 보조 클럭 인에이블 신호(ACEN)는 논리 하이 레벨에서 논리 로우 레벨로 천이될 수 있다. 따라서 제5 시각(t5) 이후 보조 클럭 신호(CLK_A)의 두 번째 상승 에지인 제7 시각(t7)에서 제6 플립플롭(263)의 출력 신호인 트리거 신호(TS)는 논리 로우 레벨로 천이될 수 있다. 상술한 바와 같이, 제어부(100b)는 제1 선택 신호(SEL1)가 활성화 상태에 있는 동안 트리거 신호(TS)의 논리 레벨이 변경되는 경우에 한해 제2 선택 신호(SEL2)의 논리 레벨을 변경하므로, 제7 시각(t7)에 트리거 신호(TS)의 논리 레벨이 변경되는 경우에도 제어부(100b)는 제2 선택 신호(SEL2)의 논리 레벨을 변경하지 않고 그대로 유지할 수 있다.
도 8 내지 11을 참조하여 상술한 바와 같은 동작을 통해, 클럭 스위치 장치(10b)는 모드 신호(MD)의 논리 레벨이 변경되는 경우 보조 클럭 신호(CLK_A)를 사용하여 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2)에 대해 클럭 스위치 동작을 수행함으로써 글리치를 포함하지 않는 글리치 프리 클럭 신호(GF_CLK)를 생성할 수 있다.
또한, 클럭 스위치 장치(10b)는 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2) 중의 하나가 모드 신호(MD)가 제1 논리 레벨인 경우 토글링이 중단되는 경우에도 안정적으로 클럭 스위치 동작을 수행하여 글리치를 포함하지 않는 글리치 프리 클럭 신호(GF_CLK)를 생성할 수 있다.
도 12는 본 발명의 일 실시예에 따른 시스템-온-칩(system-on-chip)을 나타내는 블록도이다.
도 12를 참조하면, 시스템-온-칩(300)은 제1 클럭 신호 생성기(CLK_GEN1)(310), 제2 클럭 신호 생성기(CLK_GEN2)(320), 클럭 스위치 장치(330) 및 프로세싱 블록(340)을 포함한다.
제1 클럭 신호 생성기(310)는 제1 클럭 신호(CLK1)를 생성하고, 제2 클럭 신호 생성기(320)는 제1 클럭 신호(CLK1)와 상이한 주파수를 갖는 제2 클럭 신호(CLK2)를 생성한다.
일 실시예에 있어서, 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2) 중의 하나는 모드 신호(MD)가 제1 논리 레벨인 경우 토글링이 중단될 수 있다.
클럭 스위치 장치(330)는 모드 신호(MD)의 논리 레벨이 변경되는 경우 클럭 스위칭 구간을 설정한다. 클럭 스위치 장치(330)는 상기 클럭 스위칭 구간 이전에 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2) 중의 어느 한 클럭 신호를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 상기 클럭 스위칭 구간 중에 상기 어느 한 클럭 신호의 출력을 중단하고 보조 클럭 신호(CLK_A)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 상기 클럭 스위칭 구간 이후에 보조 클럭 신호(CLK_A)의 출력을 중단하고 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2) 중의 다른 한 클럭 신호를 글리치 프리 클럭 신호(GF_CLK)로서 출력한다.
예를 들어, 클럭 스위치 장치(330)는 모드 신호(MD)가 상기 제1 논리 레벨인 경우 제1 클럭 신호(CLK1)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하고, 모드 신호(MD)가 제2 논리 레벨인 경우 제2 클럭 신호(CLK2)를 글리치 프리 클럭 신호(GF_CLK)로서 출력하는 경우, 제1 클럭 신호(CLK1)는 모드 신호(MD)의 논리 레벨에 무관하게 지속적으로 토글링되나, 제2 클럭 신호(CLK2)는 제1 클럭 신호(CLK1)가 글리치 프리 클럭 신호(GF_CLK)로서 출력되는 모드 신호(MD)가 상기 제1 논리 레벨인 동안 토글링이 중단될 수 있다.
일 실시예에 있어서, 보조 클럭 신호(CLK_A)는 시스템-온-칩(300)의 외부로부터 제공될 수 있다.
다른 실시예에 있어서, 보조 클럭 신호(CLK_A)는 시스템-온-칩(300) 내부적으로 생성될 수 있다.
도 12의 시스템-온-칩(300)에 포함되는 클럭 스위치 장치(330)는 도 1의 클럭 스위치 장치(10)로 구현될 수 있다. 도 1의 클럭 스위치 장치(10)의 구성 및 동작에 대해서는 도 1 내지 11을 참조하여 상술하였으므로, 클럭 스위치 장치(330)에 대한 상세한 설명은 생략한다.
프로세싱 블록(340)은 글리치 프리 클럭 신호(GF_CLK)에 동기되어 동작한다.
프로세싱 블록(340)은 글리치 프리 클럭 신호(GF_CLK)에 동기되어 특정 계산들 또는 태스크(task)들을 수행할 수 있다.
실시예에 따라서, 프로세싱 블록(340)은 마이크로프로세서(microprocessor), 중앙 처리 장치(Central Processing Unit; CPU) 등일 수 있다. 프로세싱 블록(340)은 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 예를 들어, 프로세싱 블록(340)은 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다. 또한, 실시예에 따라, 프로세싱 블록(340)은 내부 또는 외부에 위치한 캐시 메모리(Cache Memory)를 더 포함할 수 있다.
상술한 바와 같이, 클럭 스위치 장치(330)는 모드 신호(MD)의 논리 레벨에 기초하여 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2) 중의 하나를 글리치 프리 클럭 신호(GF_CLK)로서 출력한다. 모드 신호(MD)의 논리 레벨이 변경되는 경우, 클럭 스위치 장치(330)는 보조 클럭 신호(CLK_A)를 사용하여 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2)에 대해 클럭 스위치 동작을 수행함으로써 글리치를 포함하지 않는 글리치 프리 클럭 신호(GF_CLK)를 생성한다.
또한, 클럭 스위치 장치(330)는 제1 클럭 신호(CLK1) 및 제2 클럭 신호(CLK2) 중의 하나가 모드 신호(MD)가 제1 논리 레벨인 경우 토글링이 중단되는 경우에도 안정적으로 클럭 스위치 동작을 수행하여 글리치를 포함하지 않는 글리치 프리 클럭 신호(GF_CLK)를 생성한다.
프로세싱 블록(540)은 클럭 스위치 장치(330)로부터 제공되는 글리치 프리 클럭 신호(GF_CLK)에 동기되어 동작하므로, 프로세싱 블록(540)은 오동작을 일으키지 않으면서 고속 모드와 저속 모드 사이를 효과적으로 전환할 수 있다.
도 13은 본 발명의 일 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 13을 참조하면, 컴퓨팅 시스템(900)은 시스템-온-칩(SOC)(910), 모뎀(920), 저장 장치(STORAGE DEVICE)(930), 메모리 장치(MEMORY DEVICE)(940), 입출력 장치(I/O DEVICE)(950) 및 전원 장치(960)를 포함한다.
시스템-온-칩(910)은 컴퓨팅 시스템(900)의 전반적인 동작을 제어한다.
모뎀(920)은 외부 장치와 유무선 통신을 통해 데이터를 송수신할 수 있다.
시스템-온-칩(910)은 동작 모드에 따라 상대적으로 높은 주파수를 갖는 제1 클럭 신호 및 상대적으로 낮은 주파수를 갖는 제2 클럭 신호 중의 하나에 동기되어 모뎀(920)과 상기 데이터를 송수신할 수 있다.
시스템-온-칩(910)은 상기 제1 클럭 신호 및 상기 제2 클럭 신호에 대해 클럭 스위치 동작을 수행할 때 글리치를 유발하지 않는다. 따라서 시스템-온-칩(910)은 오동작을 일으키지 않으면서 고속 모드와 저속 모드 사이를 효과적으로 전환할 수 있다.
시스템-온-칩(910)은 도 12에 도시된 시스템-온-칩(300)으로 구현될 수 있다. 도 12에 도시된 시스템-온-칩(300)의 구성 및 동작에 대해서는 도 1 내지 12를 참조하여 상세히 설명하였으므로 여기서는 시스템-온-칩(910)에 대한 상세한 설명은 생략한다.
저장 장치(930)는 모뎀(920)을 통해 수신된 데이터 및 모뎀(920)을 통해 송신할 데이터를 저장할 수 있다. 예를 들어, 저장 장치(930)는 플래시 메모리 장치(flash memory device), 솔리드 스테이트 드라이브(Solid State Drive; SSD), 하드 디스크 드라이브(Hard Disk Drive; HDD) 등과 같은 모든 형태의 비휘발성 메모리 장치 등을 포함할 수 있다.
메모리 장치(940)는 컴퓨팅 시스템(900)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, 메모리 장치(940)는 동적 랜덤 액세스 메모리(Dynamic Random Access Memory; DRAM), 정적 랜덤 액세스 메모리(Static Random Access Memory; SRAM) 등과 같은 휘발성 메모리 장치 및 이피롬(Erasable Programmable Read-Only Memory; EPROM), 이이피롬(Electrically Erasable Programmable Read-Only Memory; EEPROM) 및 플래시 메모리 장치(flash memory device) 등과 같은 비휘발성 메모리 장치를 포함할 수 있다.
입출력 장치(950)는 터치스크린, 키패드 등과 같은 입력 수단 및 스피커, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 전원 장치(960)는 컴퓨팅 시스템(900)의 동작에 필요한 동작 전압을 공급할 수 있다.
또한, 도 13에는 도시되지 않았지만, 컴퓨팅 시스템(900)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다.
시스템-온-칩(910)은 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus)를 통하여 저장 장치(930), 메모리 장치(940) 및 입출력 장치(950)에 연결되어 통신을 수행할 수 있다. 실시예에 따라서, 시스템-온-칩(910)은 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
한편, 컴퓨팅 시스템(900)은 시스템-온-칩(910)을 포함하는 모든 컴퓨팅 시스템으로 해석되어야 할 것이다. 예를 들어, 컴퓨팅 시스템(900)은 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(Personal Digital Assistant; PDA), 휴대형 멀티미디어 플레이어(Portable Multimedia Player; PMP), 디지털 카메라(Digital Camera), 음악 재생기(Music Player), 휴대용 게임 콘솔(Portable Game Console), 네비게이션(Navigation) 시스템, 랩탑 컴퓨터(laptop computer) 등과 같은 임의의 모바일 시스템일 수 있다.
컴퓨팅 시스템(900)의 구성요소들은 다양한 형태들의 패키지를 이용하여 실장될 수 있는데, 예를 들어, PoP(Package on Package), BGAs(Ball grid arrays), CSPs(Chip scale packages), PLCC(Plastic Leaded Chip Carrier), PDIP(Plastic Dual In-Line Package), Die in Waffle Pack, Die in Wafer Form, COB(Chip On Board), CERDIP(Ceramic Dual In-Line Package), MQFP(Plastic Metric Quad Flat Pack), TQFP(Thin Quad Flat-Pack), SOIC(Small Outline Integrated Circuit), SSOP(Shrink Small Outline Package), TSOP(Thin Small Outline Package), TQFP(Thin Quad Flat-Pack), SIP(System In Package), MCP(Multi Chip Package), WFP(Wafer-level Fabricated Package), WSP(Wafer-Level Processed Stack Package) 등과 같은 패키지들을 이용하여 실장될 수 있다.
본 발명은 고속 모드 및 저속 모드를 갖는 시스템-온-칩(system-on-chip)을 구비하는 임의의 컴퓨팅 시스템에 유용하게 이용될 수 있다. 예를 들어, 본 발명은 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(personal digital assistant; PDA), 휴대형 멀티미디어 플레이어(portable multimedia player; PMP), 디지털 카메라(Digital Camera), 개인용 컴퓨터(Personal Computer; PC), 서버 컴퓨터(Server Computer), 워크스테이션(Workstation), 노트북(Laptop), 디지털 TV(Digital Television), 셋-탑 박스(Set-Top Box), 음악 재생기(Music Player), 휴대용 게임 콘솔(Portable Game Console), 네비게이션(Navigation) 시스템, 랩톱 컴퓨터(laptop computer) 등에 적용될 수 있다.
상술한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10: 클럭 스위치 장치
100: 제어부
200: 스위칭 회로
210: 노말 멀티플렉서
220: 글리치 프리 멀티플렉서
300: 시스템-온-칩
900: 컴퓨팅 시스템

Claims (10)

  1. 모드 신호의 논리 레벨이 변경되는 경우 제어 신호를 사용하여 클럭 스위칭 구간(clock switch period)을 설정하는 제어부; 및
    제1 클럭 신호, 제2 클럭 신호 및 보조 클럭 신호를 수신하고, 상기 제어 신호에 기초하여 상기 클럭 스위칭 구간 이전에 상기 제1 클럭 신호 및 상기 제2 클럭 신호 중의 어느 한 클럭 신호를 글리치 프리(glitch free) 클럭 신호로서 출력하고, 상기 클럭 스위칭 구간 중에 상기 어느 한 클럭 신호의 출력을 중단하고 상기 보조 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하고, 상기 클럭 스위칭 구간 이후에 상기 보조 클럭 신호의 출력을 중단하고 상기 제1 클럭 신호 및 상기 제2 클럭 신호 중의 다른 한 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하는 스위칭 회로를 포함하는 클럭 스위치 장치.
  2. 제1 항에 있어서, 상기 제1 클럭 신호 및 상기 제2 클럭 신호 중의 하나는 상기 모드 신호가 제1 논리 레벨인 경우 토글링이 중단되는 클럭 스위치 장치.
  3. 제1 항에 있어서, 상기 제어부는 상기 모드 신호의 논리 레벨이 변경되는 경우 제1 선택 신호를 상기 클럭 스위칭 구간 동안 활성화시키고, 상기 제1 선택 신호가 활성화 상태에 있는 동안 제2 선택 신호의 논리 레벨을 변경하고, 상기 모드 신호의 논리 레벨에 기초하여 스위치 제어 신호를 생성하는 클럭 스위치 장치.
  4. 제3 항에 있어서, 상기 제어부는 상기 보조 클럭 신호에 동기되어 상기 제1 선택 신호, 상기 제2 선택 신호 및 상기 스위치 제어 신호를 생성하는 클럭 스위치 장치.
  5. 제3 항에 있어서, 상기 스위칭 회로는,
    상기 제2 선택 신호의 논리 레벨에 기초하여 상기 제1 클럭 신호 및 상기 제2 클럭 신호 중의 하나를 먹스 클럭 신호로서 출력하는 노말 멀티플렉서; 및
    상기 제1 선택 신호가 비활성화 상태에 있는 동안 상기 먹스 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하고, 상기 제1 선택 신호가 활성화되는 경우 상기 스위치 제어 신호에 기초하여 상기 먹스 클럭 신호의 출력을 중단하고 상기 보조 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하고, 상기 제1 선택 신호가 비활성화되는 경우 상기 보조 클럭 신호의 출력을 중단하고 상기 먹스 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하는 글리치 프리 멀티플렉서를 포함하는 클럭 스위치 장치.
  6. 제5 항에 있어서, 상기 글리치 프리 멀티플렉서는,
    상기 제1 선택 신호가 활성화되는 경우 상기 스위치 제어 신호에 기초하여 상기 먹스 클럭 신호가 논리 로우 레벨인 시점에 상기 먹스 클럭 신호의 출력을 중단하고 상기 보조 클럭 신호가 논리 로우 레벨인 시점에 상기 보조 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하고,
    상기 제1 선택 신호가 비활성화되는 경우 상기 보조 클럭 신호가 논리 로우 레벨인 시점에 상기 보조 클럭 신호의 출력을 중단하고 상기 먹스 클럭 신호가 논리 로우 레벨인 시점에 상기 먹스 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하는 클럭 스위치 장치.
  7. 제5 항에 있어서, 상기 글리치 프리 멀티플렉서는,
    상기 먹스 클럭 신호에 동기되어 상기 제1 선택 신호의 반전 신호를 지연시켜 먹스 클럭 인에이블 신호를 생성하는 제1 동기화부(synchronizer);
    상기 보조 클럭 신호에 동기되어 상기 제1 선택 신호를 지연시켜 보조 클럭 인에이블 신호를 생성하는 제2 동기화부; 및
    상기 스위치 제어 신호가 활성화되는 경우 상기 보조 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하고, 상기 스위치 제어 신호가 비활성화되는 경우 상기 보조 클럭 인에이블 신호의 논리 레벨 및 상기 먹스 클럭 인에이블 신호의 논리 레벨에 기초하여 상기 보조 클럭 신호 및 상기 먹스 클럭 신호 중의 하나를 상기 글리치 프리 클럭 신호로서 출력하는 출력 제어 회로를 포함하는 클럭 스위치 장치.
  8. 제7 항에 있어서, 상기 출력 제어 회로는,
    상기 스위치 제어 신호를 반전시키는 인버터;
    상기 인버터의 출력 신호 및 상기 먹스 클럭 인에이블 신호에 대해 AND 연산을 수행하는 제1 AND 게이트;
    상기 제1 AND 게이트의 출력 신호 및 상기 먹스 클럭 신호에 대해 AND 연산을 수행하는 제2 AND 게이트;
    상기 보조 클럭 인에이블 신호 및 상기 스위치 제어 신호에 대해 OR 연산을 수행하는 제1 OR 게이트;
    상기 제1 OR 게이트의 출력 신호 및 상기 보조 클럭 신호에 대해 AND 연산을 수행하는 제3 AND 게이트; 및
    상기 제2 AND 게이트의 출력 신호 및 상기 제3 AND 게이트의 출력 신호에 대해 OR 연산을 수행하여 상기 글리치 프리 클럭 신호를 생성하는 제2 OR 게이트를 포함하는 클럭 스위치 장치.
  9. 제8 항에 있어서, 상기 글리치 프리 멀티플렉서는,
    상기 보조 클럭 신호에 동기되어 상기 제1 OR 게이트의 출력 신호를 래치하여 트리거 신호로서 상기 제어부에 제공하는 피드백 회로를 더 포함하고,
    상기 제어부는 상기 모드 신호가 천이되는 경우 상기 보조 클럭 신호에 동기되어 상기 제1 선택 신호를 활성화시키고, 상기 제1 선택 신호가 활성화 상태에 있는 동안 상기 트리거 신호가 천이되는 경우 상기 제2 선택 신호의 논리 레벨을 변경하고, 상기 제2 선택 신호의 논리 레벨을 변경한 시점으로부터 지연 시간 이후에 상기 제1 선택 신호를 비활성화시키는 클럭 스위치 장치.
  10. 제1 클럭 신호를 생성하는 제1 클럭 신호 생성기;
    상기 제1 클럭 신호와 상이한 주파수를 갖는 제2 클럭 신호를 생성하는 제2 클럭 신호 생성기;
    모드 신호의 논리 레벨이 변경되는 경우 클럭 스위칭 구간을 설정하고, 상기 클럭 스위칭 구간 이전에 상기 제1 클럭 신호 및 상기 제2 클럭 신호 중의 어느 한 클럭 신호를 글리치 프리 클럭 신호로서 출력하고, 상기 클럭 스위칭 구간 중에 상기 어느 한 클럭 신호의 출력을 중단하고 보조 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하고, 상기 클럭 스위칭 구간 이후에 상기 보조 클럭 신호의 출력을 중단하고 상기 제1 클럭 신호 및 상기 제2 클럭 신호 중의 다른 한 클럭 신호를 상기 글리치 프리 클럭 신호로서 출력하는 클럭 스위치 장치; 및
    상기 글리치 프리 클럭 신호에 동기되어 동작하는 프로세싱 블록을 포함하는 시스템-온-칩.
KR1020140101069A 2014-08-06 2014-08-06 클럭 스위치 장치 및 이를 포함하는 시스템-온-칩 KR102191167B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140101069A KR102191167B1 (ko) 2014-08-06 2014-08-06 클럭 스위치 장치 및 이를 포함하는 시스템-온-칩
US14/635,145 US9720438B2 (en) 2014-08-06 2015-03-02 Clock switch device and system-on-chip having the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140101069A KR102191167B1 (ko) 2014-08-06 2014-08-06 클럭 스위치 장치 및 이를 포함하는 시스템-온-칩

Publications (2)

Publication Number Publication Date
KR20160017479A true KR20160017479A (ko) 2016-02-16
KR102191167B1 KR102191167B1 (ko) 2020-12-15

Family

ID=55267379

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140101069A KR102191167B1 (ko) 2014-08-06 2014-08-06 클럭 스위치 장치 및 이를 포함하는 시스템-온-칩

Country Status (2)

Country Link
US (1) US9720438B2 (ko)
KR (1) KR102191167B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180031151A (ko) * 2016-09-19 2018-03-28 주식회사 아이닉스 글리치 프리 클록 멀티플렉서 및 그 멀티플렉서를 사용한 클록 신호를 선택하는 방법

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102641515B1 (ko) * 2016-09-19 2024-02-28 삼성전자주식회사 메모리 장치 및 그것의 클록 분배 방법
US10484027B2 (en) 2016-11-14 2019-11-19 Qualcomm Incorporated Glitch free phase selection multiplexer enabling fractional feedback ratios in phase locked loops
US10205454B2 (en) * 2016-11-22 2019-02-12 The United States Of America As Represented By The Secretary Of The Air Force Glitch free asynchronous clock multiplexer
US10720928B1 (en) 2019-03-12 2020-07-21 United States Of America As Represented By The Secretary Of The Air Force Frequency agile modulator
US10707877B1 (en) * 2019-06-27 2020-07-07 Intel Corporation Method and apparatus for switched adaptive clocking
CN111262558B (zh) * 2020-02-25 2023-05-26 云知声智能科技股份有限公司 一种快速无毛刺时钟切换电路实现方法及系统
GB2597276B (en) 2020-07-17 2022-08-31 Graphcore Ltd Power management by clock dithering
GB2597275B (en) 2020-07-17 2022-09-07 Graphcore Ltd Multi-clock control
US11429142B2 (en) * 2020-12-18 2022-08-30 Nxp Usa, Inc. Glitch detector
US11422184B1 (en) 2021-04-14 2022-08-23 Apple Inc. Multi-die debug stop clock trigger
US20230063727A1 (en) * 2021-08-31 2023-03-02 Arm Limited Multi-Bit Scan Chain with Error-Bit Generator
CN116974329A (zh) * 2022-04-24 2023-10-31 雅特力科技股份有限公司 具备时钟丢失容限的无毛刺时钟切换电路、装置及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010058809A (ko) * 1999-12-30 2001-07-06 박종섭 클럭신호 스위치 회로
JP2003519854A (ja) * 1999-12-30 2003-06-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ グリッチを生じさせないでクロック信号を選択する方法および装置
KR20060003435A (ko) * 2004-07-06 2006-01-11 삼성전자주식회사 글리치를 유발하지 않는 클럭 스위칭 회로
KR20080012574A (ko) * 2006-08-04 2008-02-12 삼성전자주식회사 클럭 스위칭 회로

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5315181A (en) * 1993-07-07 1994-05-24 Maxtor Corporation Circuit for synchronous, glitch-free clock switching
US6049236A (en) * 1997-11-17 2000-04-11 Lucent Technologies Inc. Divide-by-one or divide-by-two qualified clock driver with glitch-free transitions between operating frequencies
US7039146B2 (en) * 2001-01-16 2006-05-02 Advanced Micro Devices, Inc. Method and interface for glitch-free clock switching
KR20020072049A (ko) * 2001-03-08 2002-09-14 엘지전자 주식회사 글리치 제거 장치
TWI237946B (en) * 2001-07-06 2005-08-11 Via Tech Inc Clock output circuit free of glitch and method thereof
US6809556B1 (en) 2003-09-04 2004-10-26 Texas Instruments Incorporated Self-compensating glitch free clock switch
US7411429B2 (en) * 2005-10-28 2008-08-12 Silicon Integrated Systems Corp. System and method for clock switching
US7911239B2 (en) * 2006-06-14 2011-03-22 Qualcomm Incorporated Glitch-free clock signal multiplexer circuit and method of operation
JP4967483B2 (ja) * 2006-07-06 2012-07-04 富士通セミコンダクター株式会社 クロック切り替え回路
TWI376876B (en) * 2006-10-23 2012-11-11 Realtek Semiconductor Corp Fraction-n frequency divider and method thereof
WO2008114446A1 (ja) * 2007-03-20 2008-09-25 Fujitsu Microelectronics Limited クロック信号選択回路
CN100511089C (zh) 2007-04-20 2009-07-08 威盛电子股份有限公司 时钟切换电路及时钟信号切换的方法
US7471120B2 (en) * 2007-05-15 2008-12-30 Broadcom Corporation Clock switch for generation of multi-frequency clock signal
KR20080101495A (ko) 2007-05-18 2008-11-21 (주)코아리버 클럭 스위칭 회로
DE102007053128B3 (de) 2007-11-08 2008-12-18 Texas Instruments Deutschland Gmbh Störimpulsfreier Zweiweg-Taktumschalter
US8086989B2 (en) 2007-12-20 2011-12-27 International Business Machines Corporation Structure for glitchless clock multiplexer optimized for synchronous and asynchronous clocks
KR100968150B1 (ko) * 2008-04-28 2010-07-06 주식회사 하이닉스반도체 클럭제어회로 및 이를 이용한 반도체 메모리 장치
JP5478950B2 (ja) * 2009-06-15 2014-04-23 ルネサスエレクトロニクス株式会社 半導体装置及びデータ処理システム
FR2952770B1 (fr) 2009-11-13 2011-11-25 Thales Sa Circuit de commutation d'horloges sans parasites
US8354870B2 (en) * 2010-06-07 2013-01-15 Lsi Corporation Switching clock sources
US8384435B2 (en) 2011-01-05 2013-02-26 Texas Instruments Incorporated Clock switching circuit with priority multiplexer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010058809A (ko) * 1999-12-30 2001-07-06 박종섭 클럭신호 스위치 회로
JP2003519854A (ja) * 1999-12-30 2003-06-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ グリッチを生じさせないでクロック信号を選択する方法および装置
KR20060003435A (ko) * 2004-07-06 2006-01-11 삼성전자주식회사 글리치를 유발하지 않는 클럭 스위칭 회로
KR20080012574A (ko) * 2006-08-04 2008-02-12 삼성전자주식회사 클럭 스위칭 회로

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180031151A (ko) * 2016-09-19 2018-03-28 주식회사 아이닉스 글리치 프리 클록 멀티플렉서 및 그 멀티플렉서를 사용한 클록 신호를 선택하는 방법

Also Published As

Publication number Publication date
US9720438B2 (en) 2017-08-01
KR102191167B1 (ko) 2020-12-15
US20160041578A1 (en) 2016-02-11

Similar Documents

Publication Publication Date Title
KR102191167B1 (ko) 클럭 스위치 장치 및 이를 포함하는 시스템-온-칩
US10007293B2 (en) Clock distribution network for multi-frequency multi-processor systems
JP4790060B2 (ja) クロック信号選択回路
KR20110052941A (ko) 어디티브 레이턴시를 가지는 반도체 장치
CN107850919B (zh) 使用延迟电路的时钟门控
JP2015080202A (ja) 半導体回路および半導体システム
US20140281652A1 (en) Data synchronization across asynchronous boundaries using selectable synchronizers to minimize latency
US8305125B2 (en) Low latency synchronizer circuit
US7003683B2 (en) Glitchless clock selection circuit
US10705558B2 (en) Apparatuses and methods for avoiding glitches when switching clock sources
US9306574B1 (en) Clock divider circuit with synchronized switching
US10326433B2 (en) Clock filter and clock processing method
US11741024B2 (en) Clock crossing FIFO status converged synchronizer
TW202303332A (zh) 修改輸出時脈之相速的電路及方法
KR20190128518A (ko) 복수의 클락 도메인들을 포함하는 집적 회로
KR20210003618A (ko) 메모리 장치 및 이의 동작 방법
JP2012182702A (ja) リセット回路および半導体装置
JP2010061613A (ja) 集積回路装置の設計方法、クロックツリー構築ツール、集積回路装置、マイクロコンピュータ及び電子機器

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