KR101089153B1 - 상이한 클록 도메인 간에서의 데이터 신호 전송 방법 및 집적 회로 - Google Patents

상이한 클록 도메인 간에서의 데이터 신호 전송 방법 및 집적 회로 Download PDF

Info

Publication number
KR101089153B1
KR101089153B1 KR1020057021332A KR20057021332A KR101089153B1 KR 101089153 B1 KR101089153 B1 KR 101089153B1 KR 1020057021332 A KR1020057021332 A KR 1020057021332A KR 20057021332 A KR20057021332 A KR 20057021332A KR 101089153 B1 KR101089153 B1 KR 101089153B1
Authority
KR
South Korea
Prior art keywords
signal
clock
clock domain
data
synchronization
Prior art date
Application number
KR1020057021332A
Other languages
English (en)
Other versions
KR20060018845A (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 코닌클리즈케 필립스 일렉트로닉스 엔.브이.
Publication of KR20060018845A publication Critical patent/KR20060018845A/ko
Application granted granted Critical
Publication of KR101089153B1 publication Critical patent/KR101089153B1/ko

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Information Transfer Systems (AREA)

Abstract

상이한 클록 도메인 간에서의 데이터 신호 전송 방법에서, 데이터 신호가 처리되는 현재의 클록 도메인에 데이터 신호를 동기화하는 단계를 포함하며, 상기 데이터 신호의 처리는 상기 현재의 클록 도메인에서 상기 데이터 신호의 동기화가 완료되기 전에 개시된다.

Description

상이한 클록 도메인 간에서의 데이터 신호 전송 방법 및 집적 회로{METHOD FOR DATA SIGNAL TRANSFER ACROSS DIFFERENT CLOCK-DOMAINS}
본 발명은, 데이터 신호가 처리되는 현재의 클록 도메인과 데이터 신호의 동기화를 포함하는, 상이한 클록 도메인 간에서의 데이터 신호 전송 방법에 관한 것이다.
장래의 대형 디지털 시스템에서, 전체 칩을 단일의 클록과 동기화하고 스큐 및 지터를 무시할 수 있도록 하는 것은 불가능하다고 할 수는 없다 하더라도 매우 곤란할 것이다. 또한 단일 클록 칩은 비교적 고가이다. 글로벌 클록 접근법의 문제점은 칩 상의 클록의 분포가 커다란 지연 변동을 허용하고 있지 않다는 것인데, 그 이유는 지연 미스매치(delay mismatch)는 제각기 최장 및 최단 경로를 위한 셋업 및 홀드 시간 마진(슬랙(slack))을 감소시키기 때문이다. 네카티브 슬랙은 IC의 오동작을 초래한다. 클록 분포 네트워크의 지연 미스매치는 만약 그것이 설계에 의한 것으로 야기되는 경우 스큐(skew)라고 지칭되며, 온칩 노이즈(on-chip noise)에 의한 것으로 야기되는 경우 지터(jitter)로 지칭된다. 장래의 프로세스 기술에서, 지연 미스매치는 스케일 다운(scale down)되어야 하는데, 그 이유는 게이트 및 플립 플롭의 지연이 더욱 더 작아지기 때문이다.
와이어의 지연은 트랜지스터의 지연만큼 스케일되지 않는다. 따라서 대형의 IC상의 길다란 와이어 상의 지연은 단일 클록 사이클에서는 더 이상 적합하지 않을 것이며, 이는 설계 시 타이밍 클로저(timing-closure)의 달성을 복잡하게 한다.
이러한 이유로, 이미 기존의 대형의 IC는 수개의 클록 도메인으로 분할되는데, 각각의 클록 도메인은 단지 칩 영역의 일부만을 차지한다. 클록 도메인에서, 모든 신호는 동일한 클록 신호에 동기된다. 클록 도메인에서의 신호는 클록 신호의 이벤트의 응답에 의해서만 변경되며, 클록 도메인 내의 모든 신호는 각각의 클록 이벤트와 관련한 애퍼처 시간(aperture time) 동안에는 안정화되어 있다. 신호들을 클록 도메인 내로 그룹화하는 것은 이점으로 되는데, 그 이유는 이들 신호들이 로직 회로를 사용하여 조합되어 추가의 동기없이도 클록 저장 요소 내에 샘플링될 수 있기 때문이다. 클록 도메인 내의 멤버십은 간단한 합성 룰(simple composition rule)하에서 클로즈된다. 두개의 신호가 동일한 클록 도메인 내에 존재하는 한, 최대 혹은 최소 지연 제약을 초과하지 않는 신호의 논리적인 조합은 클록 도메인 내에 존재하게 된다. 또한, 클록 신호에 의해 구동되는 클록형 저장 요소를 사용하여 클록 도메인 내의 신호를 샘플링하는 것은 항상 안전하다는 것이며(즉, 동기 오류의 가능성이 없다는 것), 샘플링의 결과는 또한 클록 도메인 내에 존재하게 된다.
그러나, 두 개의 클록 도메인 간의 통신이 사소한 것은 아닌데, 그 이유는 두 개의 클록 간의 주파수 및 위상 관계는 일반적으로 비결정적인 것이기 때문이다. 따라서, 클록 도메인 내의 통신은 명시적인 동기가 요구되며, 하나의 클록 도메인으로부터의 신호는 그것이 상이한 클록 도메인에서 사용되기 전에 국부 클록에 동기되어야만 한다.
미국 특허 제 5,450,458A호는 다중 서브시스템 클록 환경 아키텍처를 사용하는 정보 처리 시스템의 서브시스템들 간의, 또는 상이한 클록 주파수로 동작하는 다중 정보 처리 시스템들 간의 데이터 전송이 동기화 윈도 디코더를 갖는 타이밍 정렬된 다중 주파수 합성기를 사용하여 동기화되는 방법 및 장치를 개시하고 있다. 데이터 동기화 회로와 통신하는 회로 내의 주파수 생성 회로는, 동기화된 타이밍 신호를 생성하여, 하나의 서브시스템 클록 환경의 중앙 처리 유닛 동작이 상이한 서브시스템 클록 환경에서 동작하는 주변 서브시스템, 가령 메모리 컨트롤러와 함께 동작하도록 허용하거나, 또는 상이한 클록 주파수에서 동작하는 정보 처리 시스템들이 서로 함께 동작하도록 허용한다. 데이터 전송 동기 지연은 감소되고 신호 동기 정확성의 오류의 평균 시간은 동기화 회로로부터 메타안정성(metastability) 효과를 제거함으로써 증가된다.
미국 특허 제 5,535,377A호에서, 상이한 클록 속도를 갖는 신호의 낮은 지연의 동기화 방법 및 장치가 기술되고 있다. 이 방법 및 장치는 바람직하게는 고속 클록 속도로 지칭되는 제 1 클록 속도로 동작하는 제 1 로직 부분이 제 2 저속 클록 속도로 동작하는 제 2 로직 부분과 인터페이스하는 시스템에서 사용된다. 새로운 저속 클록은 위상 동기 루프(PLL) 클록 생성기를 사용하여 고속 클록으로부터 의사 동기 방식으로 생성된다. PLL은 기본 클록 신호를 생성하기 위해 상기 고속 클록 주파수를 두개의 주파수의 최소 공배수(LCM)만큼 곱셈한다. 기본 클록은 분할되어 저속의 클록 신호를 형성한다. PLL은 세개의 모든 클록이 고정된 위상 관계를 갖는 방식으로 자신의 동작을 수행한다. 기본 클록, 고속 클록 및 저속 클록의 상승 에지는 주기적인 포인트에서 라인업(line up)하며 다른 주기적 포인트에서는 스큐된다. 로직 부분들 간에 신호 트레블링(travelling)을 동기화하는 고속에서 저속의 동기화 로직 및 저속에서 고속의 동기화 로직이 포함된다. 고속 클록 주파수 m을 갖는 제 1 로직 부분과 저속 클록 n을 갖는 제 2 로직 부분에 대한 일반적인 경우에서, 기본 클록 주파수는 LCM(m,n)이 될 것이다. 저속 신호, 즉 제 2 로직 부분으로부터의 신호를 고속 클록 주파수에 동기화하는 데 사용되는 저속에서 고속의 신호 동기화 로직의 멀티플렉서는 기본클록/m 입력을 가질 것이다. 고속 신호를 저속 클록 속도로 동기화하는 데 사용되는 멀티플렉서는 기본클록/n 입력을 가질 것이다.
미국 특허 제 6,163,545A호는 하나의 클록 메인 내의 데이터를 제 2 클록 도메인으로 변환하는 시스템을 개시하는 것으로, 이 시스템은, 제 1 주파수와 동기화되며 두개의 쌍안정 레지스터에 커플링되는 선택 제어부를 갖는 멀티플렉서를 포함하며, 두개의 쌍안정 레지스터에서 제 1 레지스터는 제 1 주파수에 따라 클록 제어되며, 제 2 레지스터는 제 2 주파수에 의해 클록 제어된다. 제 1 레지스터의 데이터 출력은 멀티플렉서의 제 2 데이터 입력으로 루핑 백된다(looped back). 선택 신호는 데이터 입력을 제 1 레지스터에 커플링하도록 동작하며, 이 때 멀티플렉서는 제 1 레지스터의 데이터 출력을 다시 그 데이터 입력에 커플링하는 기능을 한다. 이러한 장치는 제 2 클록 주파수의 전이를 넘어서 제 1 클록 주파수에서의 데이터의 가용성을 보장한다. 따라서, 데이터, 바람직하게는 멀티 비트 어드레스 데이터는 하나의 클록 도메인에서 다른 클록 도메인으로 종래의 시스템에서의 지연보다 적게 이송될 수 있다.
종래의 시스템에서, 입력 데이터는 프로세싱이 개시되기 전에 동기화된다. 그러나, 이러한 타입의 동기화는 데이터 통신에 커다란 지연을 발생시키며 따라서 지연이 증가하게 된다.
본 발명의 목적은 지연을 감소시키는 것이다.
본 발명에 따라 전술한 목적 및 기타의 목적을 달성하기 위해, 현재의 클록 도메인과 데이터 신호를 동기화하고 그 데이터 신호를 현재의 클록 도메인에서 처리하는 것을 포함하는, 상이한 클록 도메인 간에서의 데이터 신호 전송 방법이 제공되는데, 상기 데이터 신호의 처리는 데이터 신호의 동기화가 상기 현재의 클록 도메인에서 완료되기 전에 개시되는 것을 특징으로 하고 있다.
본 발명의 방법에 의해 지연이 감소되며, 이러한 지연 감소는 수개의 클록 도메인으로 분할되는 대형 집적 회로의 경우 매우 편리하다. 본 발명은 전형적으로 복잡한 모든 집적 회로, 특히 0.18㎛ 및 그 이상의 기술에서 사용될 수 있다.
본 발명의 바람직한 실시예에서, 상기 데이터 신호의 처리는 필수적으로 동기화 이전에 혹은 동시에 개시된다.
특히, 동기화는 현재의 클록 도메인에서 동기화를 수행하는 적어도 두개의 중간 동기화 단계를 포함하는데, 적어도 최종 중간 동기화 단계가 수행되기 전에 처리가 개시된다. 처리는 적어도 두개의 중간 처리 단계에 의해 수행될 수 있는데, 중간 동기화 단계의 중간 결과는 사전결정된 중간 처리 단계를 위해 사용된다. 게다가, 중간 동기화 단계 및 중간 처리 단계는 동시에 수행될 수 있다.
본 발명의 목적은 아래의 설명 및 첨부되는 도면을 참조하여 이해될 것이다.
본 발명의 바람직한 실시예는 도면을 참조하여 기술된다.
도 1은 클록 도메인 교차 신호의 데이터 동기를 위한 시스템의 개략적인 기본 블럭도이다.
도 2는 번들형 시그널링 수단에 의한 신호 버스의 데이터 동기를 위한 시스템의 개략적인 기본 블럭도이다.
도 3은 본 발명의 바람직한 실시예에 따른 번들형 시그널링 수단에 의한 신호 버스의 데이터 동기를 위한 시스템의 개략적인 기본 블럭도이다.
도 4는 본 발명의 바람직한 실시예에 따른 상이한 클록 도메인으로부터의 인터럽트를 위한 동기화 유닛의 블럭도이다.
도 5는 도 4의 동기화 유닛에 대해 입력/출력되는 수개의 신호의 파형을 도시한 도면이다.
데이터 동기는 전형적으로 내부 클록 도메인 동기화를 위해 사용된다. 두개의 이웃 클록 도메인의 클록은 (최소의 설계 노력을 위해) 두 개의 클록 간의 위상의 보장 없이 두 개의 독립 수정 발진기 혹은 공통 수정 발진기로부터 유도된다.
도 1은 두개의 이웃하는 위상 관련없는 클록 도메인 A 및 B를 도시하는 것으로, 클록 도메인 A는 선행 혹은 소스 클록 도메인으로 지칭되며, 클록 도메인 B는 현재 혹은 목적지 클록 도메인으로 지칭될 것이다. 클록 도메인 A에서, 가령 신호 sigA가 생성되는데, 이는 클록 도메인 B에서 요구된다. 클록 도메인 A 및 B가 위상 관련이 없기 때문에, 클록 도메인 A 및 B를 교차하는 신호는 그것이 목적지 클록 도메인 B에서 처리되기 전에 동기화되어야 한다.
도 1의 실시예에서, 클록 도메인 교차 데이터 신호의 동기화는 가령 일련의 n 샘플 요소에 의해 달성된다. 이러한 샘플 요소는 전형적으로 기수 개의 플립 플롭이다. 도 1에서, 개략적으로 도시되는 것은 클록 도메인 A와 B 사이에 점선으로 된 경계선 Z이다. 도 1은 가령, 직렬로 커플링되며 동기화를 위해 사용되는 다수 개의 D-플립 플롭(1,2, n)을 도시하고 있다. 각각의 클록 도메인의 모든 플립 플롭은 공통 클록 신호 clk에 의해, 즉 도 1의 클록 도메인 B의 로컬 클록 신호 clkB에 의해 제어된다. 도 1에서 소스 클록 도메인 A에서 목적지 클록 도메인 B로의 신호 sigA는 경계선 Z에 교차하며, 제 1 D-플립 플롭(1)의 D 입력으로 입력된다. 도 1의 클록 도메인 B의 모든 D-플립 플롭(1 내지 n)을 통해 순차적으로 전달된 후, 신호는 신호 sigB로서 클록 도메인 B를 떠난다.
샘플 요소는 수신 클록 도메인의 모든 상승 클록 에지에서 입력 신호의 상태를 포착한다. 그러나, 신호가 샘플링의 시점에서 상태를 변경할 때 문제가 발생한다. 따라서, 샘플러(sampler)는 단기간 혹은 장기간 동안 메타안정성 상태 내로 진입할 것이다. 이러한 메타안정성 상태 동안, 샘플러는 그 신호 라인 상에서 구형 값(old value)을 보았는지 혹은 새로운 값을 보았는지를 결정한다. 결정의 결과, 샘플러의 출력은 최종 값으로 변경된다. 메타안정성 상태의 기간은 랜덤하게 변화하는 입력 신호에 대해서는 결정되지 않는다. 입력에서 소정의 랜덤한 전이로 인해 td보다 더 긴 동기 지연이 발생하는 확률은 다음의 식, 즉
Figure 112005064494321-pct00001
에 의해 주어지며, fclkB는 샘플 클록 주파수를 나타내며, ta는 동기화기의 애퍼처(aperture)를 나타내며, τs는 동기화기의 재생 시상수이다. 이러한 식은 동기화되는 이벤트에 대한 동기화 오류의 확률을 제공한다. 소정 양의 시간 동안 잠재적인 메타안정성 상태의 발생으로 인해, 샘플러의 출력은 확실히 클록과 동기화되지 않는다. 동기화를 실현하기 위해 라인에서 다음 샘플러가 요구된다. 이 샘플러가 메타안정성 상태로 들어가는 확률은 매우 작지만 다시 제로로 가지는 않는다. n의 값을 증가시키면 지연 비용으로 동기화 오류의 레이트는 감소된다. 클록 레이트를 증가시켜 동기화 지연을 개선시키는 것은 선택적인 것이 아닌데, 그 이유는 동기화 오류의 확률을 결정하는 것이 동기화 시간 td(나노초)의 양이기 때문이다.
그러나, 도 1에 도시된 클록 도메인 B에 존재하는 로컬 클록 신호 clkB로 신호 sigA를 샘플링하는 것은 안전하지 못한데, 그 이유는 클록 도메인 B에서 플립 플롭(1)에 의해 샘플링되는 동안 신호 sigA가 변화하는 상황이 값(value)과 세틀링 시간(settling time)의 측면에서 불확실하기 때문이다.
클록 도메인의 수가 장래의 프로세스 기술에서 지수함수적으로 증가함에 따라, 클록 도메인 교차 수는 크게(적어도 클록 도메인의 수에 비례하게) 증가한다.
신호들의 모든 버스가 클록 바운더리에서 교차하는 경우, 버스의 모든 비트가 동기화될 필요는 없다. 대신에, 버스 근처의 하나의 제어 신호만이 데이터의 생성을 나타내도록 동기화될 필요가 있다. 이는 번들형 시그널링 통신으로 지칭되며 도 2에 개략적으로 도시된다. 이러한 개념에 의하면, 클록 도메인 A에서 생성되는 유효 신호 validA의 모든 토글은 벡터 신호가 되는 데이터 신호 data 상의 새로운 심볼의 존재를 나타낸다. 신호 validA가 일반적으로 클록 도메인 B에서 생성된 로컬 클록 신호 clkB에 대해 동기되지 않았기 때문에, 플립 플롭의 쌍은 동기화 목적으로 요구된다. 도 2에서 일예로서, 세개의 플립 플롭(1,2,3)이 도시된다. 결과의 신호 validB는 로컬 클록 신호 clkB에 동기되는 것으로 간주된다. 또한, 도 2의 개념은 클록 도메인 B에서 제공되는 레지스터(4)를 포함한다. 레지스터(4)는 또한 로컬 클록 신호 clkB에 의해 트리거되며, 입력에서 클록 도메인 A로부터 데이터 신호 dataA를 수신하며, 그리고 벡터 신호이며 클록 도메인 B에서 더 처리되는 대응하는 데이터 신호 dataB를 출력한다. 신호 validB상의 전이는 데이터 신호 dataB 상의 새로운 심볼을 나타내지만, 두개의 사이클이 동기화 프로세스로 인해 지연된다.
그러나, 도 2의 개념은 필수적으로 통신의 실효 동기화 지연에 영향을 미치거나 개선하지 못한다. 비용 절감에 부가하여 번들형 시그널링 개념이 제공하는 것은 버스의 비트들 간의 일관성이다. 일관성은 기본적인 특성이며 동기화 지연보다 더 중요하다.
위에서 설명한 바와 같이, 다른 클록 도메인으로부터 입력되는 데이터는 프로세싱이 개시되기 전에 먼저 동기화된다. 따라서, 동기화 시간은 프로세싱 시간의 상부 상의 가산기(adder)이다. 장래의 시스템에서 이 오버헤드는 클록 도메인의 수가 증가함에 따라 성능에 커다란 영향을 미칠 수가 있다.
도 3은 본 발명의 실시예에 따른 도 2의 개념에 대한 개선점을 나타내고 있다. 도 3에 개략적으로 도시된 회로는 데이터 신호 dataA상의 프로세싱에 클록 도메인 B 내의 관련된 유효 신호 validA의 동기화를 제공한다.
도 3의 회로에서, 데이터 신호 dataA상의 계산은, 번들형 시그널링을 이용하는 통상의 방식과는 대조적으로, 이미 그것이 실제로 동기화되기 전에 개시될 수 있다. 도 2의 회로에 부가하여, 다수의 레지스터(도 3에서 일예로 세개의 레지스터(4,5,6)가 도시됨)가 클록 도메인 A로부터 클록 도메인 B로 데이터 신호 dataA를 송신하는 입력 버스의 데이터 경로 내에 배치된다. 이러한 레지스터는 클록 도메인 B에서 생성되는 로컬 클록 신호 clkB에 의해 클록킹된다. 이러한 레지스터를 통한 전파 동안, 파이프라인형 계산이 로직 요소에 의해 동기화 프로세스와 동시에 발생할 수 있으며, 이 로직 요소들은 부가적으로 데이터 경로 내의 레지스터들 간에서 구현되며, 데이터 신호 dataA로부터 유도되는 입력 신호 상에서 프로세싱을 위해 제공된다. 도 3에서 두개의 로직 요소(8, 9)는 예로서 도시되는데, 로직 요소(8)는 레지스터(4)와 (5) 사이에 제공되며, 로직 요소(9)는 레지스터(5)와 (6) 사이에 제공된다. 게다가, 도 3의 예에서, 부가의 신호(참조부호로는 표시되지 않지만 화살표로는 도시됨)는 현재의 클록 도메인 B 내에서 생성되며 내부에서 수행될 프로세싱 기능을 위해 로직 요소(8, 9) 내로 입력된다.
클록 도메인 B 내의 동반 유효 신호 validA의 동기화와 동시에 데이터 신호 dataA 상에서의 프로세싱이 가능한데, 그 이유는 다음과 같다. 유효 신호 validA 및 데이터 신호 dataA의 모든 비트는 관련되어 있는데, 그 이유는 유효 신호 validA가 데이터 신호 dataA가 새로운 심볼을 제공함으로써 안정화될 때를 나타내기 때문이다(이는 번들형 데이터 시그널링으로 지칭된다). 따라서, 유효 신호 validA는 일부의 시간을 가질 때만 동기화되어야 한다. n개의 동기화 플립 플롭에 대해, 이러한 것은 n-1과 n의 사이클 사이에, 즉 도 3의 실시예에서 제 2 사이클과 제 3 사이클 사이에 존재한다. 현재의 클록 도메인 B 내의 로컬 클록 신호 clkB에 대한 유효 신호 validA 상의 이벤트를 동기화하기 위한 모든 구간 동안, 데이터 신호 dataA는 이미 새로운 심볼을 포함한다. 결과의 유효 신호 validB 상의 전이는 결과의 데이터 신호 dataB 상의 새로운 심볼의 존재를 나타낼 뿐만 아니라 이 심볼이 이미 데이터 신호 dataA 상에서(현재의 클록 도메인 B에서 생성된 로컬 클록 신호 clkB의 측면에서) 두개의 사이클 이전에 존재하였다는 것을 나타낸다. 그러한 심볼의 존재를 제공하게 되면 프로세싱이 가능하게 된다. 또한, 클록 도메인 바운더리 Z와 교차할 때 동기화 지연은 감추어진다.
계산은 사전 처리에만 국한되는데, 이는 수신 처리의 상태에 의존하지만 그의 상태는 변경하지 않는다는 것을 의미한다. 이러한 것은 데이터가 여태껏 성공적으로 동기화되지 않았기 때문에 논리적이다.
또한 주목할 것은, 이러한 회로가 이전의 이벤트가 완전히 동기화되기 전에 전송 클록 도메인으로부터 이벤트를 받아들인다는 것이다. 그러므로, 데이터 토큰의 생성 레이트는 수신 프로세서의 클록 레이트만큼 높아질 수가 있다.
도 4는 상이한 클록 도메인 A로부터 인터럽트를 위해 현재의 클록 도메인 B 내의 동기화 유닛의 구현의 예를 도시하고 있다.
이러한 프로세서 인터럽트 유닛은 상이한 클록 도메인 A로부터의 동작 코드 워드 OPC를 서비스 루틴의 어드레스로 변환하는 룩업 테이블(look-up table) 수단(10)을 포함하는데, 이 변환은 현재의 클록 도메인 B내에서 수행된다. 이 동작 코드 워드 OPC는 도 3의 신호 dataA에 대응한다. 룩업 테이블 수단(10)은 로컬 클록 신호 CLK에 의해 에지 트리거된다.
프로세서 인터럽트 유닛은 상이한 클록 도메인 A로부터 나오는 전이 감지 인터럽트 요구 신호 IRQ를 수신하는 제 1 플립 플롭(11)을 포함한다. 이러한 인터럽트 요구 신호 IRQ는 도 3의 신호 validA에 대응하는데, 인터럽트 요구 신호 IRQ 상의 전이는 인터럽트의 발생을 나타내며, 이 경우 동작 코드 워드 OPC의 값은 인터럽트와 관련한 부가의 정보를 제공한다. 제 1 플립 플롭(11)은 클록 신호 CLK에 의해 에지 트리거되며, 이 플립 플롭(11)은 반 동기화된(semi-synchronized) 인터럽트 요구 신호 IRQ'를 출력하기 위한 동기화 수단으로서 제공된다. 반 동기화된 인터럽트 요구 신호 IRQ'는 제 1 멀티플렉서(12) 내로 입력되는데, 이 멀티플렉서에서는 완전히 동기화된 인터럽트 허가 신호 IGNT가 입력된다. 제 1 멀티플렉서(12)는 인터럽트 마스크 신호 IMSK에 의해 트리거된다. 제 1 멀티플렉서(12)의 출력 신호는 제 2 플립 플롭(21) 내로 입력되며, 이 플립 플롭(21)은 클록 신호 CLK에 의해 에지 트리거된다. 제 2 플립 플롭(21)은 인터럽트 요구 신호 IRQ의 완전한 동기화를 완료하며, 완전히 동기화된 인터럽트 허가 신호 IGNT를 출력한다. 인터럽트 허가 신호 IGNT는 제 1 멀티플렉서(12) 내로 입력될 뿐만 아니라 배타적 OR 게이트(23) 및 제 3 플립 플롭(30) 내로 입력된다. 제 3 플립 플롭(30)의 출력 신호는 다시 배타적 OR 게이트(23) 내로 입력된다. 제 3 플립 플롭(30)은 클록 신호 CLK에 의해 에지 트리거되며 클록 사이클 지연 요소로서 제공된다. 배타적 OR 게이트(23)의 출력 신호는 인터럽트 요구의 허가 이후 하나의 사이클 동안 하이가 되는 스트로브 신호 ISTRB가 된다.
도 4의 프로세서 인터럽트 유닛은 또한 룩업 테이블 수단(10)으로부터 출력 신호를 수신하고 레지스터(20)로부터 신호를 출력하는 제 2 멀티플렉서(22)를 포함한다. 제 2 멀티플렉서(22)는 인터럽트 요구 신호 IRQ와 연관된 동작 코드 워드 OPC에 대응하는 인터럽트 서비스 루틴의 어드레스를 규정하는 어드레스 신호 AISR을 출력한다. 이 어드레스 신호 AISR은 클록 신호 CLK에 의해 에지 트리거되는 레지스터(20) 내로 입력된다.
도 5는 두개의 연속하는 인터럽트 요구의 발생 동안 전술한 신호의 파형을 도시한 것으로, 도 5에서 주목할 것은 제 2 인터럽트 요구가 예시의 목적만을 위해 하나의 사이클 동안 마스킹된다는 것이다.
도 4의 프로세서 인터럽트 유닛은 상이한 클록 도메인으로부터의 인터럽트 신호 IRQ를 프로세서 코어(도시안됨)의 로컬 클록 신호 CLK에 동기화하기 위해 제공된다.
그러한 인터럽트 신호 IRQ의 동기화는 상이한 위상 관련 없는 클록 도메인에서 인터럽트가 생성될 때 요구된다. 인터럽트 허가 신호 IGNT 및 어드레스 신호 AISR은 제각기 인터럽트 요구 신호 IRQ 및 동작 코드 워드 OPC의 동기화된 버전이다.
상이한 클록 도메인 A로부터의 인터럽트 요구 신호 IRQ 및 완전히 동기화된 인터럽트 허가 신호 IGNT는 두개의 위상 핸드쉐이크 프로토콜을 따른다. 이는 인터럽트 요구 신호 IRQ 상의 모든 전이가 새로운 요구를 나타내며 그리고 요구의 허가가 인터럽트 허가 신호 IGNT 상의 전이에 의해 표시되며 그리고 새로운 요구는 이전의 요구가 승인되었을 때만 발생될 수 있다는 것을 의미한다.
인터럽트 마스크 신호 IMSK 상의 하이 레벨은 임의의 인터럽트 요구가 프로세서 코어의 제어 플로우에 영향을 미치는 것을 방지한다.
배타적 OR 게이트(23)는 요구가 허가된 이후 스트로브 신호 ISTRB 상의 하나의 클록 사이클의 펄스에서 발생하는 인터럽트 허가 신호 IGNT 상의 전이를 검출한다. 스트로브 신호 ISTRB의 제어하에, 어드레스 신호 AISR은 레지스터(20)로부터 보다는 룩업 테이블 수단(10)으로부터 값을 갖는다. 이러한 방식으로, 어드레스 신호 AISR은 가장 최근에 인터럽트된 것에 대응하는 서비스 루틴의 어드레스를 유지한다.

Claims (7)

  1. 상이한 클록 도메인 간에 데이터 신호를 전송하는 방법 -상기 방법은 현재의 클록 도메인과 상기 데이터 신호의 동기화를 포함함- 으로서,
    상기 데이터 신호를 이전의 클록 도메인으로부터 상기 현재의 클록 도메인으로 전송하는 단계와,
    상기 현재의 클록 도메인의 제 1 레지스터에 의해 유효 신호(valid signal)를 수신하고, 반 동기화된 인터럽트 요구 신호(semi-synchronized interrupt request signal)를 출력하는 단계와,
    상기 반 동기화된 인터럽트 요구 신호 및 완전히 동기화된 인터럽트 허가 신호(fully synchronized interrupt grant signal)를 상기 현재의 클록 도메인의 멀티플렉서에 제공하여 제 3 신호를 출력하는 단계와,
    상기 현재의 클록 도메인의 제 2 레지스터에 의해 상기 제 3 신호를 수신하여 상기 완전히 동기화된 인터럽트 허가 신호를 출력하는 단계를 포함하는
    데이터 신호 전송 방법.
  2. 제 1 항에 있어서,
    상기 완전히 동기화된 인터럽트 허가 신호를 제 3 레지스터에 제공하여 출력 신호를 출력하는 단계와,
    상기 완전히 동기화된 인터럽트 허가 신호와 상기 출력 신호를 배타적 OR 게이트에 제공하고, 또한 다른 멀티플렉서에 스트로브(strobe) 신호를 출력하여 상기 현재의 클록 도메인과 동기화된 데이터 신호를 출력하는 단계를 더 포함하는
    데이터 신호 전송 방법.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 데이터 신호를 이전의 클록 도메인으로부터 현재의 클록 도메인으로 전송하기 위한 룩업 테이블(look-up table)과,
    유효 신호를 수신하고 반 동기화된 인터럽트 요구 신호를 출력하는, 상기 현재의 클록 도메인의 제 1 레지스터와,
    상기 반 동기화된 인터럽트 요구 신호 및 완전히 동기화된 인터럽트 허가 신호를 수신하고 제 3 신호를 출력하도록 구성된 멀티플렉서와,
    상기 제 3 신호를 수신하고 상기 완전히 동기화된 인터럽트 허가 신호를 출력하는, 상기 현재의 클록 도메인의 제 2 레지스터를 포함하는
    집적 회로.
  7. 제 6 항에 있어서,
    상기 완전히 동기화된 인터럽트 허가 신호를 수신하고 출력 신호를 제공하도록 구성된 제 3 레지스터와,
    상기 완전히 동기화된 인터럽트 허가 신호와 상기 출력 신호를 수신하고, 상기 현재의 클록 도메인과 동기화된 데이터 신호를 출력하기 위해 다른 멀티플렉서에 스트로브 신호를 출력하도록 구성된 배타적 OR 게이트를 더 포함하는
    집적 회로.
KR1020057021332A 2003-05-09 2004-05-04 상이한 클록 도메인 간에서의 데이터 신호 전송 방법 및 집적 회로 KR101089153B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP03101284 2003-05-09
EP03101284.2 2003-05-09
PCT/IB2004/050581 WO2004100000A1 (en) 2003-05-09 2004-05-04 Method for data signal transfer across different clock-domains

Publications (2)

Publication Number Publication Date
KR20060018845A KR20060018845A (ko) 2006-03-02
KR101089153B1 true KR101089153B1 (ko) 2011-12-05

Family

ID=33427199

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057021332A KR101089153B1 (ko) 2003-05-09 2004-05-04 상이한 클록 도메인 간에서의 데이터 신호 전송 방법 및 집적 회로

Country Status (7)

Country Link
US (1) US7562244B2 (ko)
EP (1) EP1625503A1 (ko)
JP (1) JP4533890B2 (ko)
KR (1) KR101089153B1 (ko)
CN (1) CN100559356C (ko)
TW (1) TW200508840A (ko)
WO (1) WO2004100000A1 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1625503A1 (en) 2003-05-09 2006-02-15 Koninklijke Philips Electronics N.V. Method for data signal transfer across different clock-domains
CN1812319B (zh) * 2005-01-26 2010-04-14 华为技术有限公司 实现异步数据跨时钟域的装置
JP2008092190A (ja) * 2006-09-29 2008-04-17 Fujitsu Ltd 遅延回路及びプロセッサ
EP2119090A1 (en) 2007-03-02 2009-11-18 Nxp B.V. Fast powering-up of data communication system
WO2008114205A2 (en) * 2007-03-20 2008-09-25 Nxp B.V. Fast powering-up of data communication system
US7996704B2 (en) * 2007-08-21 2011-08-09 Richwave Technology Corp. Asynchronous first in first out interface and operation method thereof
CN101394244B (zh) * 2007-09-17 2011-10-26 中兴通讯股份有限公司 一种时分基站系统中非同源时钟域帧同步信号的产生方法
US7500132B1 (en) 2008-04-11 2009-03-03 International Business Machines Corporation Method of asynchronously transmitting data between clock domains
US8132036B2 (en) * 2008-04-25 2012-03-06 International Business Machines Corporation Reducing latency in data transfer between asynchronous clock domains
US8212594B2 (en) 2010-08-11 2012-07-03 Integrated Device Technology, Inc. Methods and apparatuses for clock domain crossing
KR101861769B1 (ko) 2011-11-24 2018-05-29 삼성전자주식회사 비동기식 브릿지 및 이의 동작 방법, 및 이를 포함하는 SoC
CN102624417A (zh) * 2012-03-01 2012-08-01 苏州超锐微电子有限公司 对25MHz晶振倍频和分频实现480MHz供给USB2.0收发器工作的方法
GB2503474B (en) 2012-06-27 2016-06-29 Nordic Semiconductor Asa Data transfer between clock domains
GB2503472A (en) * 2012-06-27 2014-01-01 Nordic Semiconductor Asa Data transfer between clock domains following clock transition in destination domain
CN103678208B (zh) * 2012-09-06 2016-09-07 上海航天控制工程研究所 航天器同步数据传输方法
US20140281652A1 (en) * 2013-03-14 2014-09-18 Nvidia Corporation Data synchronization across asynchronous boundaries using selectable synchronizers to minimize latency
US9251916B2 (en) 2013-03-25 2016-02-02 Avago Technologies General Ip (Singapore) Pte. Ltd. Integrated clock architecture for improved testing
US9755818B2 (en) * 2013-10-03 2017-09-05 Qualcomm Incorporated Method to enhance MIPI D-PHY link rate with minimal PHY changes and no protocol changes
US10318695B2 (en) 2013-12-05 2019-06-11 International Business Machines Corporation Phase algebra for virtual clock and mode extraction in hierarchical designs
US9916407B2 (en) 2013-12-05 2018-03-13 International Business Machines Corporation Phase algebra for analysis of hierarchical designs
US10503856B2 (en) 2013-12-05 2019-12-10 International Business Machines Corporation Phase algebra for specifying clocks and modes in hierarchical designs
US9268889B2 (en) 2013-12-05 2016-02-23 International Business Machines Corporation Verification of asynchronous clock domain crossings
US9372503B1 (en) * 2015-05-22 2016-06-21 Freescale Semiconductor, Inc. Clock signal alignment for system-in-package (SIP) devices
CN107678488B (zh) * 2017-11-23 2024-06-07 南京火零信息科技有限公司 一种跨时钟域事件传递的电路
TWI740564B (zh) * 2020-07-03 2021-09-21 鴻海精密工業股份有限公司 跨時鐘域信號傳輸方法、電路以及電子裝置
CN112036103B (zh) * 2020-09-01 2024-03-08 深圳市傲立电子有限公司 一种从快时钟域跨慢时钟域处理多比特数据的装置及方法
CN112540642B (zh) * 2020-11-27 2023-09-05 山东云海国创云计算装备产业创新中心有限公司 一种多时钟域处理方法、装置、设备和介质
US11200184B1 (en) 2020-12-22 2021-12-14 Industrial Technology Research Institute Interrupt control device and interrupt control method between clock domains

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194520A1 (en) 2001-06-19 2002-12-19 Micron Technology, Inc. Apparatus and method for clock domain crossing with integrated decode

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0550286A3 (en) * 1992-01-03 1993-11-03 Amdahl Corp 2-level multi-processor synchronization protocol
EP0590212A1 (en) 1992-09-30 1994-04-06 International Business Machines Corporation Synchronization apparatus for a synchronous data communication system
US5535377A (en) * 1994-01-31 1996-07-09 Dell Usa, L.P. Method and apparatus for low latency synchronization of signals having different clock speeds
US5450458A (en) * 1994-08-05 1995-09-12 International Business Machines Corporation Method and apparatus for phase-aligned multiple frequency synthesizer with synchronization window decoder
US5602878A (en) * 1994-09-23 1997-02-11 Intel Corporation Method of delivering stable data across an asynchronous interface
US5884100A (en) * 1996-06-06 1999-03-16 Sun Microsystems, Inc. Low-latency, high-throughput, integrated cache coherent I/O system for a single-chip processor
DE19626184C2 (de) * 1996-06-29 1998-07-30 Alexander Ernst Erdwin Lahmann Vorrichtung zum Betreiben eines Systems mit zwei funktionsmäßig in einem Rechner parallel geschalteten Prozessoren
GB2321351B (en) * 1997-01-17 1999-03-10 Paul Flood System and method for data transfer across multiple clock domains
US6516420B1 (en) * 1999-10-25 2003-02-04 Motorola, Inc. Data synchronizer using a parallel handshaking pipeline wherein validity indicators generate and send acknowledgement signals to a different clock domain
DE60036777T2 (de) 2000-02-09 2008-07-24 Texas Instruments Inc., Dallas Gerät zur Signalsynchronisierung zwischen zwei Taktbereichen
EP1276028A1 (en) * 2001-07-09 2003-01-15 Telefonaktiebolaget L M Ericsson (Publ) Status indication detection device and method
EP1625503A1 (en) 2003-05-09 2006-02-15 Koninklijke Philips Electronics N.V. Method for data signal transfer across different clock-domains

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194520A1 (en) 2001-06-19 2002-12-19 Micron Technology, Inc. Apparatus and method for clock domain crossing with integrated decode

Also Published As

Publication number Publication date
CN100559356C (zh) 2009-11-11
EP1625503A1 (en) 2006-02-15
JP4533890B2 (ja) 2010-09-01
WO2004100000A1 (en) 2004-11-18
JP2006526206A (ja) 2006-11-16
US20060274870A1 (en) 2006-12-07
CN1784665A (zh) 2006-06-07
KR20060018845A (ko) 2006-03-02
US7562244B2 (en) 2009-07-14
TW200508840A (en) 2005-03-01

Similar Documents

Publication Publication Date Title
KR101089153B1 (ko) 상이한 클록 도메인 간에서의 데이터 신호 전송 방법 및 집적 회로
JP3565600B2 (ja) データ通信装置およびデータ通信方法
US5987081A (en) Method and apparatus for a testable high frequency synchronizer
US5535377A (en) Method and apparatus for low latency synchronization of signals having different clock speeds
US6424688B1 (en) Method to transfer data in a system with multiple clock domains using clock skipping techniques
JP4091941B2 (ja) クロック同期回路
EP3907886B1 (en) Apparatus for data synchronization in systems having multiple clock and reset domains
EP0645717A1 (en) System for data synchronization and method therefor
US5291529A (en) Handshake synchronization system
JP2928866B2 (ja) プログラマブルなデータ転送タイミング
US7242737B2 (en) System and method for data phase realignment
JPH08298503A (ja) 非整数倍クロック変換器およびその方法
US7333516B1 (en) Interface for synchronous data transfer between domains clocked at different frequencies
US6900665B2 (en) Transfer of digital data across asynchronous clock domains
US6930522B2 (en) Method and apparatus to delay signal latching
US6928574B1 (en) System and method for transferring data from a lower frequency clock domain to a higher frequency clock domain
US6760392B1 (en) Method and apparatus to provide fixed latency early response in a system with multiple clock domains with fixable clock ratios
EP1436685B1 (en) Data synchronization on a peripheral bus
Huemer et al. Timing domain crossing using Muller pipelines
JPH10133768A (ja) クロックシステム、半導体装置、半導体装置のテスト方法、及びcad装置
US6040723A (en) Interface circuit with high speed data transmission
US6552590B2 (en) Clocking scheme for ASIC
CN113168205B (zh) 用于低功率设计的用于基于事务的传输时钟门控的装置
JP2596336B2 (ja) 非同期ディジタル通信装置
Del Corso et al. Resynchronization Interfaces: Sources of Metastability Errors in Computing Systems

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
LAPS Lapse due to unpaid annual fee