KR100457868B1 - 엘러스틱 인터페이스 장치 및 그 방법 - Google Patents
엘러스틱 인터페이스 장치 및 그 방법 Download PDFInfo
- Publication number
- KR100457868B1 KR100457868B1 KR10-2001-7011288A KR20017011288A KR100457868B1 KR 100457868 B1 KR100457868 B1 KR 100457868B1 KR 20017011288 A KR20017011288 A KR 20017011288A KR 100457868 B1 KR100457868 B1 KR 100457868B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- clock
- output
- input
- latch
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 230000004044 response Effects 0.000 claims description 50
- 238000012545 processing Methods 0.000 claims description 29
- 230000000295 complement effect Effects 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 26
- 230000007704 transition Effects 0.000 description 14
- 230000000630 rising effect Effects 0.000 description 13
- 241001270131 Agaricus moelleri Species 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 7
- 230000003111 delayed effect Effects 0.000 description 6
- 239000000126 substance Substances 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000011010 flushing procedure Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2205/00—Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F2205/10—Indexing scheme relating to groups G06F5/10 - G06F5/14
- G06F2205/104—Delay lines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Systems (AREA)
- Telephone Function (AREA)
- Pens And Brushes (AREA)
- Chair Legs, Seat Parts, And Backrests (AREA)
- Electric Clocks (AREA)
- Absorbent Articles And Supports Therefor (AREA)
- Supplying Of Containers To The Packaging Station (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Tests Of Electronic Circuits (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
- Communication Control (AREA)
Abstract
엘러스틱 인터페이스 장치 및 방법이 실행된다. 상기 엘러스틱 인터페이스에는 데이터 값의 열을 기억하는 복수의 기억 장치가 있는데, 그 각각의 기억 장치는 각 데이터 값 집합의 구성 요소를 순차적으로 기억한다. 각 데이터 값은 로컬 클록의 미리 정해진 주기 동안 기억된다. 선택 회로는 상기 기억 장치에 결합되어 그 대응하는 기억 장치에 기억하는 데이터 열로부터 각 데이터 값을 선택한다. 데이터는 상기 로컬 클록의 타겟 싸이클 상에서 로컬 클록과 동기하여 각 기억 장치로부터 순차적으로 출력된다.
Description
현대의 데이터 처리 시스템은 그 시스템 안에 복수의 칩으로 내장된 동적 회로 또는 클록 회로 사이에 데이터 전송을 필요로 한다. 예컨대, 멀티 CPU 시스템의 중앙 처리 장치(CPUs) 사이 또는 메모리 제어기와 오프 칩 캐시를 포함하는 메모리와 CPU 사이에 데이터를 전송할 필요가 있다. 데이터 전송은 동시에 일어나서, 소정의 시스템 주기에서 상기 칩의 회로로 데이터가 전달될 것이다. CPU 속도가 증가함으로써, 칩 사이의 인터페이스 속도(버스 싸이클 속도)는 상기 인터페이스를 통한 대기 시간이 시스템 클록 주기를 초과하기 때문에 제한 요소로 된다. 상기 시스템 설계자는 시스템을 지속적으로 동기시키기 위해서 버스의 속도를 낮춰 데이터가 도달하는 싸이클이 명확해지도록 한다.
이것에 대하여는 데이터 처리 시스템의 2개의 집적 회로 칩, 즉 칩(102)과 칩(104) 사이에 종래의 인터페이스를 블록도 형태로 도시한 도 1a를 참조하면 보다 잘 이해할 수 있을 것이다. 각각의 칩(102 및 104)은 위상 동기 루프, 즉 PLL(108)에 결합되는 기준 클록 (106)을 수신한다. PLL(108)은 기준 클록(106)으로 동기되는 로컬 클록, 즉 칩(102) 안의 클록(110) 및 칩 (104) 안의 클록(111)을 발생한다. 기준 클록(106)은 "타임 제로" 기준을 제공하고, PLL(108)의 증가에 따라 로컬 클록(110 및 111)의 복수의 주기동안 표명(assert)될 수 있다. 상기 버스 클록 (113)은 분할기(112)에서 소정의 정수(N)에 의해 로컬 클록(110)을 분주함으로써 기준 클록(106)으로부터 유도된다. 칩(102)으로부터 칩(104)로 전송되는 데이터는 그 분주된 로컬 클록(111)의 소정의 에지 상에서 래치되어 구동기(18)를 통해 데이터 라인(116) 상에서 구동된다. 데이터는 수신기(RX)(120)에서 수신되어 상기 분주된 로컬 클록(110)의 소정의 에지에서 칩(104)의 목적 래치에 포획된다. 칩(102 및 104)의 물리적인 분할에 의해, 상기 데이터는 장차 지연되는 목적 래치(122)의 입력에 나타난다. [RX(120)가 대기 시간에 기여하는 정도는 통상적으로 데이터 전송에 의한 지연에 비하여 일반적으로 작다]. 상기 시간 지연은 대기 시간으로 언급되고, 도 1b와 결합하여 더욱 상세히 토론될 것이다.
유사하게, 칩(104)은 데이터 라인(126)을 통하여 데이터를 칩(102)으로 전송한다. 칩(104)으로부터 전송되는 데이터는 로컬 클록(111)을 N 만큼 분할하는 분할기(130)로부터 출력 신호의 소정의 에지 상의 래치(128)에서 래치된다. 상기 데이터는 구동기(132)를 통하여 데이터 라인(126) 상에서 구동되고, 수신기(136)를 통하여 목적 래치(134)에 포획된다. 칩(102)으로 입력되는 데이터는 로컬 클록(110)을 N 분주하는 분할기(130) 출력의 소정의 에지 상에서 데이터 래치(134)로 포획된다.
도 1b에는 종래의 기술에 따라 도 1a의 인터페이스(100)용 타임도가 예시적으로 도시된다. 칩(102)으로부터 칩(104)으로 전송된 데이터(115)는 버스 클록 (113)의 상승 에지(t1)에서 래치(114)에 래치된다. 버스 클록(113)은 칩(102) 안의 분할기 (112 및 130)에서 로컬 클록(110)을 N 분주함으로써 발생된다. 대기 시간 (T1) 만큼 지연함에 따라, 데이터(117)는 목적 래치(122)로의 입력에 나타나고, 버스 클록(123)의 상승 에지(t2) 상에서 래치된다. 버스 클록(123)은 분할기(112 및 130)에서 N 만큼 로컬 클록(111)을 분주함으로써 칩(104)에서 발생된다. 따라서, 도 1b에 따른 종래의 기술에 있어서, 데이터(125)는 칩(102)에서 개시한 다음의 1 버스 싸이클에서 칩(104)에 나타난다. 따라서, 도 1b에는 버스 클록(113)과 버스 클록(123) 사이에 제로 스큐가 있다.
도 1a의 인터페이스(100)에서, 상기 버스 클록 속도가 증가되면, 그 대기 시간은 1 버스 클록 싸이클을 초과할 수 있다. 그 결과는 도 1c에 타이밍도로 도시된다. 앞서, 데이터(115)는 버스 클록(113)의 에지(t1) 에서 래치된다. 데이터(117)는 버스 클록(113) 및 버스 클록(123)의 주기보다 긴 대기 시간 (T1) 후에 목적 래치 (122)의 입력(124)에 나타난다. 데이터(117)는 칩(104) 안의 버스 클록(123)의 에지(t3)상에 래치되어 칩(104)에 데이터(125)를 제공한다. 칩 (102 및 104) 사이의 인터페이스(100)가 데이터 처리 시스템 내의 칩(102)과 복수의 다른 칩 사이의 복수의 인터페이스 중에 대기 시간이 가장 긴 인터페이스를 나타내는 경우, 도 1c에 도시되는 2개의 싸이클 대기 시간은 칩(102 및 104)과 같은 칩사이의 데이터 전송 및 포획용 "타겟" 싸이클을 나타낸다. 그 타겟 싸이클은 상기 칩이 데이터를 기다리는 소정의 싸이클이다. 대기 시간이 짧은 인터페이스는 확실한 동기 동작을 위해 종래 기술에 따라 패딩될 필요가 있다.그 패딩은 인터페이스(100)의 고속 경로가 1 버스 클록 싸이클보다 대기 시간이 길고, 2 버스 클록 싸이클보다 짧기 때문에, 지속적으로 데이터를 동기화시킬 수 있다.
이것은 복수의 칩(101), 즉 칩(102, 103 및 104)을 도시하는 도 1d를 참조하면 이해하기 용이할 것이다. 칩(102 및 104)은 대기 시간(Ts)이 긴 "저속" 경로 (152)에 결합되고, 칩(103)은 대시 시간 주기(TF)가 짧은 "고속" 경로(154)를 경유하여 칩(102)에 결합된다. 복수의 칩(102-105)을 결합하는 "정상" 경로는 칩(102)과 칩(105) 사이의 경로(156) 상의 대기 시간과 같은 대기 시간(TM)을 갖는다.
도 1e에는 타이밍도를 더욱 상세히 도시한다. 도 1e는 수신 칩에서 데이터를 포획하는 타겟 싸이클이 2개의 버스 싸이클인 도 1c와 비슷한 타이밍도를 도시한다. 도 1e에 있어서, 그 정상 대기 시간(TF)은 1.5 버스 싸이클이 되고, 고속 경로 대기 시간(TF)은 1 버스 싸이클보다 큰 것으로 도시되고, 저속 경로 대기 시간(TS)은 2 버스 싸이클보다 약간 느린 것이 도시된다. 이러한 경우에, 도 1d에서 각각의 복수의 칩(101)은 데이터 개시 후에 타겟 싸이클, 즉 2개의 버스 싸이클 상에서 데이터를 포획한다.
그러나, 고속 경로의 대기 시간이 짧은 경우에, 고속 경로 대기 시간에 의해 예시되는 데이터 동기화는 손실된다. 이러한 경우에, 데이터는 칩(103)에서 데이터 (117)의 파선부로 도시되는 칩(103) 버스 클록의 전이 시간(t2) 이전에 칩(103)에 도달하고, 1 버스 싸이클 후에 칩(103)으로 래치된다. 이것은 칩(103)에서 데이터 (125)의 파선부에 의해 도시된다. 동기를 회복하기 위해서, 칩(102)과 칩(103) 사이의 고속 경로, 즉 경로(154)는 TF로 고속 경로 대기 시간을 증가시키는 패딩이 필요할 것이다. 결과적으로, 그러한 종래의 인터페이스의 타이밍은 특정 동작 범위, 즉 특정 인터페이스 길이로 턴되고, 그 설계에 시간을 들여 분석하는 기술에만 유효하다.
유사하게, 도 1d에서 칩의 클록 속도를 증가시키는 것은 동기화의 손실에 기인할 것이다. 이것은 예에 의하여 명확하게 이해될 수 있다. 먼저 취해진 로컬 클록 싸이클 시간은 1 ㎱ 주기를 갖는다. 상기 버스 클록은 로컬 클록의 일정한 배수 (즉, 2가 될 수 있다)인 주기를 갖을 것이다. 상기 인터페이스의 정상 대기 시간 (TM)은 시간 변화가 +/- .99 ㎱인 3 ㎱가 되게 하자. 즉 최상의 경우 또는 고속 경로(TF)는 2 ㎱이고, 최악의 경우 또는 저속 경로(TS)는 4 ㎱이다, 그 데이터는 2 ㎱ 후에 도달할 것이고, 4 ㎱ 전에 도달할 것이다. 나아가서, 상기 인터페이스는 모든 조건하에서 동작하고, 즉 데이터는 상기 제1 버스 싸이클 후에 및 제2 버스 싸이클 전에 도달하는 것이 확실하다. 그러나, 상기 칩의 속도가 .9 ㎱ 싸이클 시간으로 증가되는 경우, 상기 버스 싸이클 시간은 1.8 ㎱로 변경된다. 상기 데이터가 최악의 조건하에서 인터페이스를 통하여 전파하는데 충분한 시간을 갖기 위해서, 상기 데이터는 2.5 버스 싸이클 또는 4.5 ㎱ 전에 포획되지 않아야 하는데, 그 이유는 2 버스 싸이클이 저속 경로 시간(TS또는 4 ㎱) 이하이기 때문이다. 다음, 1.8 ㎱ 버스 싸이클 동작을 위해서, 도달 가능한 가장 고속의 데이터는 1.5 * 1.8 = 2.7 ㎱(초기의 1 버스 싸이클)이며, 모든 조건에 대하여 동일한 싸이클 상에서 데이터가 확실하게 도달할 수 있다. 그러나, 가장 초기의 데이터는 3 ㎱-.99 ㎱ = 2.01 ㎱의 TF를 갖는 고속 경로를 통하여 상기 대기 시간에 도달 할 수 있다. 따라서, 1.8 ㎱의 버스 싸이클 시간에 동작하는 것은 일반적인 동기 설계에 제공될 수 없다. 동기 동작을 위해서, 상기 버스 대 프로세서 속도는 적어도 3 : 1로 느려지고, 로컬 클록 속도의 증가에 영향을 미치는 2.7 ㎱ 싸이클 시간(2.7 ㎱ * 1.5 싸이클 = 4.05 ㎱ 및 2. 7 ㎱ * .5 싸이클 = 1.35 ㎱)에 동작한다.
따라서, 클록 속도를 증가시킨 데이터 처리 시스템에서 칩 사이의 데이터 전송을 수용하는 장치 및 방법에 대한 기술이 필요하게 되었다. 특히, 경로 대기 시간이 한 개 이상의 버스 싸이클 상에서 변하고, 특정 하드웨어 패딩을 설계할 필요성이 없는 데이터 처리 시스템에서 칩사이의 데이터 동기화를 확실하게 하는 방법 및 장치가 필요하게 되었다.
본 발명은 일반적인 데이터 처리 시스템에 관한 것으로써, 특히 데이터 처리 시스템에서 동적 집적 회로 칩 또는 클록 집적 회로 칩 사이의 인터페이스에 관한 것이다.
도 1a는 종래의 기술에 따른 칩 인터페이스도.
도 1b는 종래의 기술에 따른 도 1a의 칩 인터페이스의 실제에 대한 개략 타이밍도.
도 1c는 종래의 기술에 따른 도 1a의 칩 인터페이스의 다른 실시예에 대한 타이밍도.
도 1d는 데이터 처리 시스템에서 복수의 상호 접속 칩을 도시하는 도.
도 1e는 도 1d의 복수의 상호 접속 칩에 대한 실체의 개략 타이밍도.
도 2는 본 발명을 실현하는 대표적인 하드웨어 환경의 블록도.
도 3은 본 발명의 실시예에 따른 칩 인터페이스의 블록도.
도 4a는 본 발명의 실시예에 따른 엘러스틱 인터페이스의 블록도.
도 4b는 도 3a의 본 발명의 실시예에 대한 개략 타이밍도.
도 5a 및 5b는 본 발명에 따른 칩 인터페이스의 대체 실시예도.
도 6a는 본 발명에 따른 엘러스틱 인터페이스의 다른 대체 실시예도.
도 6b는 도 5a의 엘러스틱 인터페이스의 개략 타이밍도.
도 7a는 본 발명에 따른 엘러스틱 실체의 다른 대안 실시예도.
도 7b는 도 7a의 실시예에 대한 개략 타이밍도.
도 8a 및 8b는 본 발명에 따른 엘러스틱 인터페이스의 대체 실시예의 블록도.
도 8c는 도 8a 및 8b의 실시예에 대한 개략 타이밍도.
본 발명의 목적은 상기 결점을 극복하는 기술을 제공하는 것이다.
본 발명에는,
데이터 값의 제1 집합을 기억할 수 있는 제1 기억 소자와,
데이터 값의 제2 집합을 기억할 수 있는 제2 기억 소자와,
상기 제1 및 제2 기억 소자에 결합되고 적어도 한 개의 제어 신호에 응답하여 상기 제1 기억 소자로부터 제1 데이터 값 및 상기 제2 기억 소자로부터 제2 데이터 값을 순차적으로 출력하는 회로를 포함하고,
상기 제1 및 제2 기억 소자는 제1 클록의 미리 정해진 횟수의 싸이클 동안 데이터 값을 유지하고, 상기 제1 및 제2 기억 소자의 해당 입력에는 제1 및 제2 선택 회로의 각 출력을 결합하고, 상기 제1 및 제2 선택 회로는 데이터열을 수신하는 제1 입력과 상기 제1 및 제2 기억 소자의 각 출력에 결합되는 제2 입력을 각각 갖고, 상기 제1 및 제2 선택 회로는 제1 및 제2 제어 신호에 응답하여 상기 제1 및 제2 입력 중 하나의 입력에 신호를 선택적으로 출력하는 동작이 가능한 인터페이스 장치를 제공한다.
또한, 본 발명은,
제1 기억 소자 안에 제1 클록의 소정수의 싸이클 동안 기억되는 제1 집합의 데이터 값을 기억하는 단계와,
제2 집합의 기억 소자 안에 제1 클록의 소정수의 싸이클 동안 기억되는 제2 집합의 데이터 값을 기억하는 단계와,
상기 제1 및 제2 기억 소자에 제1 선택 회로를 결합함으로써 상기 제1 기억 소자로부터 제1 데이터 값 및 제2 기억 소자로부터 제2 데이터 값을 순차적으로 출력하고, 상기 제1 클록의 주기의 소정의 배수인 주기를 갖는 제어 신호를 상기 회로에 제공하는 단계와,제1 및 제2 선택 회로의 입력에서 데이터열을 수신하는 단계와,상기 제1 및 제2 기억 소자의 출력을 상기 각 제1 및 제2 선택 회로의 제2 입력에 제공하는 단계와,상기 각 데이터 값의 제1 집합을 제1 선택 신호에 응답하여 상기 제1 선택 회로로부터 상기 제1 기억 소자로 출력하는 단계와,상기 각 데이터 값의 제2 집합을 제2 선택 신호에 응답하여 상기 제2 선택 회로로부터 상기 제 기억 소자로 출력하는 단계를 포함하는 집적 회로 장치를 인터페이싱하는 방법을 제공한다.
본 발명의 특징 및 기술적인 장점들은 전술한 바와 같이 상세한 설명에서 명백히 이해할 수 있을 것이다. 본 발명의 그 이외의 특징 및 장점들은 이후에 설명될 것이다.
본 발명은 데이터 처리 시스템에서 복수의 데이터 처리 칩 사이에 데이터 동기화를 실행하는 엘러스틱 인터페이스 메커니즘을 제공한다. 데이터 동기화는 물리적인 배선이 복잡하고 정교하게 하드웨어를 설계하는 패딩이 필요없이 수행된다. 상기 인터페이스의 "탄력성"은 상기 시스템에서 데이터 처리 칩을 결합하는 경로 사이에 물리적인 차이를 설명한다. 상기 수신 데이터를 복수의 기억 소자에 포획하고, 상기 래치된 데이터를 선택적으로 스티어링함으로써, 데이터 동기화는 한 개 이상의 버스 클록 싸이클에 의해 대기 시간이 변하는 데이터 처리 시스템에 제공된다. 동기화는 파워업 또는 다음 리셋 상에 초기화 정렬 절차를 실행함으로써 동적으로 설정될 수 있다. 이러한 방법으로, 데이터의 동기화는 보드 설계 및 고속 경로 패딩의 시간을 분석할 필요 없이 본 발명의 원리에 따라 수행될 수 있다.
다음과 같은 설명에 있어서, 복수의 특정 세부 사항들은 버스 클록 주파수 및 동기화 싸이클, 클록 에지 등으로 설정되어 본 발명의 철저한 이해를 돕는다. 그러나, 본 발명의 당업자라면 그러한 특정 세부 사항 없이도 실시될 수 있다는 것을 알 수 있을 것이다. 다른 예에서, 널리 공지된 회로들은 불필요한 세부 사항으로 본 발명이 불명료해지지 않도록 블록도 형태로 도시된다.
지금부터, 도시한 구성 요소가 설계에 불필요하고, 동일하거나 비슷한 구성 요소가 일부 견지에서 동일한 참조 범호로 지시되는 도 2 내지 9를 참조해 보자.
본 발명을 실시하는 대표적인 하드웨어 환경은 도 2에 도시되고, 이 도면에서는 종래의 마이크로프로세서 및 시스템 버스(212)를 경유하여 상호 접속되는 복수의 기타 장치 등의 중앙 처리 장치(CPU)를 갖는 본 발명의 데이터 처리 시스템 (213)에 대한 통상적인 하드웨어 배치를 도시한다. 데이터 처리 시스템(213)은 랜덤 엑세스 메모리(RAM)(214), 판독 전용 메모리(ROM)(216) 및 디스크 장치(220)와 테이프 드라이브(240) 등의 주변 장치를 버스(212)에 접속하는 입력/출력(I/O) 어뎁터(218)와, 키보드(224), 마우스(226) 및/또는 터치 스크린 장치(도시 안함) 등의 다른 사용자 인터페이스 장치를 접속하는 사용자 인터페이스 어뎁터(222)와, 워크스테이션(213)을 데이터 처리 네트워크에 접속하는 통신 어뎁터(234)와, 버스 (212)를 디스플레이 장치(238)에 접속하는 디스플레이 어뎁터(236)를 포함한다. CPU(210)는 마이크로프로세서 내에서 일반적으로 발견되는 회로, 예컨대 실행 장치, 버스 인터페이스 장치, 산술 논리 장치 등을 포함하는 본원에 도시되지 않은 다른 회로를 포함한다. 본 발명의 인터페이스는 CPU(210)에 포함될 수 있다. 부가적으로, 본 발명은 RAM(214) 등의 기억 장치에 포함될 수 있다(본원에 도시되지 않은 메모리 제어 회로를 포함할 수 있다). CPU(210)는 단일 집적 회로 상에 잔류할 수 있다.
지금부터, 본 발명에 따른 인터페이스(300)가 도시되는 도 3을 참조해 보자. 인터페이스(300)는 각 인터페이스(300)를 경유하여 서로 데이터를 전달하는 칩(302 및 304)에 포함된다. (본 발명의 실시예가 칩 대 칩 인터페이스의 목차에 기술되더라도, 본 발명의 원리는 클록 래치쌍 사이의 인터페이스로 구현될 것이다). 데이터는 버스 클록, 즉 버스 클록(306 및 308)에 의해 결정되는 속도에서 칩(302 및 304) 사이에 전달된다. 버스 클록(306 및 308)은 정상적으로 동일한 주파수이고, 각 칩(302 및 304)에서 PLL, 즉 PLL(312)에 제공되는 기준 클록(310)으로부터 유도된다. 본 발명의 실시예에 있어서, 기준 클록(310)은 시스템 클록이 될 수 있다. 각 PLL(312)은 기준 클록(310)에 위상 동기되는 로컬 클록, 칩(302)에서 로컬 클록(314) 및 칩(304)에서 로컬 클록(316)을 출력하고, 이전에 선택된 정수(M), 즉 기준 클록(310)의 주기의 배수가 될 수 있다. 로컬 클록(314)은 구동기(318)에 의해 버퍼링되어 칩(302)으로부터 버스 클록(306)을 제공한다. 유사하게, 로컬 클록 (316)은 구동기(320)에 의해 버퍼링되어 칩(304)으로부터 제공된 버스 클록 (308)을 제공한다.
상기 버스 클록은 상기 칩으로부터 전달되는 데이터를 따라 제공된다. 칩(302)으로부터 제공된 데이터(322)는 출력 래치(324)로 래치되는 동시에 구동기 (326)에 의해 구동되고 버퍼링된다. 상기 데이터는 로컬 클록(314)의 사전 선택된 에지 상에서 래치된다. 상기 데이터는 멀티플렉서(MUX)(328)를 경유하여 수신된다. MUX(328)는 정렬 절차에 따라 미리 정해진 동기화 패턴을 수신한다. 이러한 것은 아래에 더욱 상세히 설명될 것이다.
데이터(322)는 수신기(RX)(330)에 의해 버퍼링되어 엘러스틱 인터페이스 장치(332)에 제공된다. 데이터(322)를 따라 전송되는 버스 클록(306)은 RX(334)에 의해 버퍼링되고, 그 출력은 I/O 클록(336)을 형성하며, 또한 엘러스틱 인터페이스 (332)에 제공된다. 버스 클록(308)에 따라 칩(302)으로 전송되는 칩(304)으로부터의 데이터는 칩(302) 안에 인터페이스(300)에 의해 유사하게 수신되고, 다음과 같은 엘러스틱 장치(332)의 설명은 칩(304)으로부터 칩(302)에 의한 데이터 수신시 동일하게 잘 적용된다는 것을 이해할 것이다.
타겟 싸이클 장치(339)는 칩(304)의 로컬 클록(316) 등의 수신 칩에서 로컬 클록에 의해 데이터를 래치하는 타겟 싸이클을 설정한다. 상기 타겟 싸이클은 2개의 탄력성을 갖는 인터페이스를 도시하는 도 4a/b와 결합하여 상세히 토론했다. 탄력성(E)이 있는 인터페이스에 대하여, 타겟 싸이클 장치(339)는 E 회로 만큼 분주한 것을 포함한다. 부가적으로, 타겟 싸이클 장치(339)는 타겟 프로그램(341)을 경유하여 로드되는 미리 정해진 타겟 싸이클 값을 보유하는 프로그래밍 레지스터를 포함할 수 있다. 칩(302) 안의 타겟 싸이클 장치(339)로 프로그램되는 타겟 싸이클은 칩(304) 안의 타겟 싸이클 장치(339)로 프로그램되는 타겟 싸이클과 달라질 수 있다. 타겟 싸이클 장치(339)는 인터페이스 장치(332) 및 해당하는 탄력성(E)의 실체에 의존하여 복수의 신호를 포함하는 선택 제어(343)를 출력한다. 선택 제어 (343)는 인터페이스 장치(332)의 실체를 도시하는 도 4a-4b와 결합하여 더욱 설명될 것이다.
지금부터, 본 발명에 따른 엘러스틱 인터페이스 장치(332)의 실체를 도시하는 도 4a를 참조하자. 장치(332)는 RX(330)로부터 데이터를 수신하는 입력(404)을 갖는 MUX(402)를 포함한다. MUX(402)의 출력(406)은 래치(408)의 데이터(D) 입력에 결합된다. 래치(408)는 I/O 클록(336)에 의해 클록된다. 래치(408)는 클록(436)의 상승 에지 상의 D 입력에서 데이터를 래치하는 동시에 클록(336)의 다음 상승 에지까지 상기 데이터를 보유한다. 래치(408)의 출력(410)은 제2 입력, 즉 MUX(402)의 입력(412)에 역으로 결합된다. MUX(402)는 게이트(414)에 응답하여 출력(406) 상에 출력하는 입력(404)과 입력(412) 사이를 선택한다.
게이트(414)는 버스 클록(306)으로부터 유도되어 버스 클록(306)의 2배의 주기를 갖는다. 게이트(414)는 지연 동기 루프(DLL)를 이용하여 발생될 수 있다. 본발명에 이용될 수 있는 DLL의 실시예는 발명의 명칭이 "동적 웨이브 파이프라인 인터페이스 장치 및 그 방법"으로 공동 소유의 동시 계류중인 출원에 개시되어 있으며, 본원에 참조용으로 포함된다. 게이트(414)의 위상은 이후에 토론되는 초기화 정렬 절차 동안에 설정되고, 게이트(414)의 동작은 도 4b와 결합하여 더욱 설명될 것이다.
RX(330)로부터 제공된 데이터는 입력(418) 상의 제2 MUX, 즉 MUX(416)에 병렬로 제공된다. MUX(416)의 출력(420)은 제2 래치, 즉 I/O 클록(336)에 의해 클록되는 래치(422)의 D 입력에 결합되고, I/O 클록(336)의 상승 에지 상에 데이터를 래치하여 상기 클록의 차후의 상승 에지까지 데이터를 유지한다. 래치(422)의 출력 (424)은 제2 입력, 즉 MUX(416)의 입력(426)에 결합된다.
MUX(416)는 게이트(414), \ 게이트(428)의 보수에 응답하여 입력(418)과 입력(426) 사이를 선택한다. 따라서, MUXs(402 및 416) 중 하나가 RX(330)로부터 수신되는 데이터에 대하여 선택할 때, 다른 MUX는 그 해당하는 래치, 즉 래치(408 및 422) 중 하나에 유지되는 데이터를 선택한다. 이러한 방법으로, 래치(408 및 422) 중 하나에 이전에 기억된 데이터 비트는 I/O 클록(336)의 추가 싸이클에 대하여 유지된다.
나아가서, 2개의 데이터열은 생성되는데, 그 각각의 데이터열은 I/O 클록 (336)의 2개의 주기 동안 확인된다. 게이트(414)와 \ 게이트(428) 사이의 위상 반전 때문에, 상기 2개의 데이터 열은 한 개의 데이터값, 즉 I/O 클록(336)의 한 싸이클의 일시적인 폭 만큼 서로 오프셋 된다.
이것은 도 4a의 엘러스틱 인터페이스 장치(332)에 따른 타이밍도를 도시하는 도 4b를 참조하면 더욱 이해될 것이다. 이전에 기술된 바와 같이, 출력 래치(324)에 유지되는 데이터(325)는 칩(202)에서 로컬 클록(314)으로 동기가 시작된다. 상기 데이터, 즉 데이터(322)는 칩(204)의 RX(230)에서 수신되고, 도 1d와 결합하여 본원에 토론된 바와 같이 칩(202 및 204) 사이의 경로에 의해 나타내는 대기 시간에 의해 지연된다. I/O 클록(336)의 상승 에지(t1)에서, 데이터(322)의 데이터 값 "a"은 MUX(402)의 출력(406)을 경유하여 래치(408)에 의해 포획된다. 게이트(414)가 표명 또는 개방되기 때문에, 입력(404)에서 RX(330)로부터 제공되는 데이터는 MUX (402)에 의한 출력을 위하여 선택된다. (게이트는 그 해당하는 MUX가 상기 인입 데이터열을 수신하는 입력을 선택할 때 개방 기간이 될 것이다. 이것이 도 4의 실체에서 "하이" 논리 상태와 관련되더라도, 변경 실시예는 개방 게이트가 "로우" 논리 레벨에 해당하는 실시예라는 점을 이해할 것이다.).
반대로, \게이트(428)는 부정된다. 응답시, MUX(416)는 래치(422)에 유지되는 이전의 데이터 값을 선택하고, MUX(416)를 통하여 래치(422)의 D 입력에 역으로 결합된다. 따라서, 래치(422)에 유지되는 데이터 값은 도 4a와 결합하여 기술된 바와 같이 2개의 래치(408 및 322)에 클록 신호를 제공하는 I/O 클록(336)의 추가 주기 동안 보유된다.
I/O 클록(336)은 도 3에 도시된 바와 같이 버스 클록(306)으로부터 얻어진다. 시작시, 버스 클록(306)이 도 4b에 도시된 바와 같이 데이터 유효 윈도우에 집중된다고 가정한다. 그 집중한 버스 클록은 본원에 참조용으로 포함되고 발명의 명칭이 " 동적파 파이프라인 인터페이스 및 그 방법"인 공동 소유의 동시 계류 중인 출원에 개시된다. 버스 클록(306)은 데이터가 행하는 것과 같이 인터페이스를 통하여 지연된다. 그 대기 시간은 T1과 비교될 수 있는 칩(304)에서 버스 클록이고, 이것은 데이터(322)에 상대적으로 집중되는 I/O 클록(336)에 반영된다.
게이트(414)는 게이트(414)의 에지들이 I/O 클록(336)의 하강 에지에 위상 간섭이 빌생된다. I/O 클록(336)의 에지(t2)에서, 게이트(414)는 에지(t3)로 하강한다. 응답시, MUX(402)는 MUX(402)의 입력(412)에 결합되어 출력(406)에서 출력하는 래치(408)의 출력(410)을 선택한다. 게이트(414)가 부정됨으로써, \게이트(428)는 표명되고, MUX(416)는 입력(418) 상에 RX(330)로부터 데이터 출력(420)을 선택한다. 이것은 래치(422)의 D 입력에 결합된다. RX(330)로부터 수신되는 데이터는 데이터(322)의 데이터 값 "b"에 해당한다.
I/O 클록(336)의 에지(t1)에서, 래치(408 및 422)는 그 각각의 D 입력에서 데이터를 래치한다. 래치(408)에서, 이것은 이전에 유지되는 데이터 값, 즉 데이터 (322)의 값에 해당하여, 로컬 클록(416)의 추가 주기 동안 유지된다. 래치 (422)는 출력(424) 상에 MUX(416)를 경유하여 그 D 입력 상의 데이터 값(b)을 래치한다.
I/O 클록(336)의 다음 전이(t7)에서, 데이터 값 "c"는 포획된다. 에지(t7)에서, 게이트(414)가 표명되기 때문에, 데이터(322)에서 데이터 값(c)은 MUX (402)의 출력에 나타난다. 데이터 값(b)은 게이트(414)의 보수인 \게이트가 부정되기 때문에 래치(422)에서 보유된다. 데이터열이 데이터(322) 상에 지속적으로 도달함으로써, 이러한 방법으로, 엘러스틱 장치(332)는 래치(408 및 422)의 출력(410 및 424)에서 2개의 데이터열을 지속적으로 발생한다. 상기 2개의 데이터열은 도 4b에 도시된 바와 같이 로컬 클록(416)의 2개의 주기 동안에 유효한 데이터(422)상에 도달하는 입력 데이터열의 다른 부분을 포함한다.
상기 입력 데이터열의 구조는 로컬 클록(416)으로 동기한 2개의 데이터열 중 한 개로부터 제공된 값을 택일적으로 선택함으로서 회복된다. 로컬 클록 타겟 싸이클은 선택된다. 상기 로컬 클록 타겟 싸이클은 도 3 및 4의 로컬 클록(316)과 같은 로컬 클록에 의해 목적 래치로 데이터가 포획되는 싸이클이다. 상기 타겟 싸이클은 분석에 의해 결정된다. 상기 타겟 싸이클은 상기 인터페이스를 통하여 최악의 경우의 대기 시간보다 늦은 시간이 되어야 한다. 예컨대, 도 4b에 도시된 실시예에 있어서, 상기 타겟 싸이클은 로컬 클록(316)의 3개의 주기, 에지(t8)에 해당하는 주기가 되도록 설정된다. 상기 타겟 싸이클은 도 1a에 기준 클록(106)과 결합하여 이전에 기술된 바와 같이 기준 클록(310)에 의해 결정된 제로 시간 기준으로부터 측정된다. 도 4a/b의 탄력성에 대한 2개의 실시예에 있어서, 상기 데이터는 상기 타겟 싸이클보다 일찍 2개의 로컬 싸이클에 도달될 수 있다. 그러한 실시예에 있어서, 도 3의 타겟 싸이클 장치(339)는 2개의 회로로 나뉜다.
상기 타겟 싸이클 설정으로, 데이터는 로컬 클록(316)에 응답하여 MUX(432)를 통해 목적 래치(430)에 포획용으로 선택된다. MUX(432)에는 한 쌍의 입력(434 및 436)이 있다. 입력(434)은 래치(408)의 출력(410)에 결합되고, 입력(436)은 래치(422)의 출력(424)에 결합된다. MUX(422)는 선택 제어(343)에 응답하여 래치(408 및 422)의 출력에 의해 나타난 2개의 데이터열 중 한 개를 출력하기 위하여 선택한다. 선택 제어(343)가 도 4b의 실시예의 제1 논리 상태 "하이"일 때, MUX(432)는 입력(434)에서 데이터를 래치(430)의 D 입력에 제공하고, 선택 제어(343)가 제2의 미리 정해진 논리 상태, 즉 도 4b의 실시예에서 "로우" 일 때, MUX(432)의 입력 (436)에서 데이터는 래치(430)의 D 입력에 제공된다. 선택 제어(343)는 로컬 클록(316) 주기의 2배인 주기를 갖고, 선택 제어(343)가 제1 논리 상태를 갖도록 로컬 클록 (316)과 위상 동기하며, 상기 타겟 싸이클 중앙에 있다. 따라서, 도 4b에 있어서, 로컬 클록(316)의 에지(t8)에서, 출력(410)의 데이터 값은 MUX(432)를 통하여 래치 (430)의 D 입력에 결합되고, 로컬 클록(316)의 에지(t8)에 의해 래치된다. 로컬 클록(t9)의 다음 포지티브 에지에서, 상기 전송된 데이터열의 다음 부분은 목적 래치 (430)로 래치된다. 선택 제어(343)는 1/2 주기 만큼 위상이 이동함으로서, 제2 논리 상태를 갖고, 그 결과, 래치(422)의 출력(424)은 MUX(432)를 경유하여 래치(432)의 D 입력에 결합된다. 에지(t9)에서, 래치(422)의 출력(424)의 데이터 값(b)은 래치 (432)로 래치되고, 데이터 값(b)은 데이터 출력(338) 상에 나타난다. 로컬 클록 (316)의 다음 싸이클에서, 엘러스틱 인터페이스(332)는 래치(408)의 출력(410)과 래치(422)의 출력(424) 사이를 택일적으로 선택함으로써 데이터열(225)을 복원한다.
엘러스틱 인터페이스(322)를 통하여 데이터가 전달되기 전에, 게이트(414)[부수하는 보수, \ 게이트(428)]는 개시되어야 한다. 상기 인터페이스를 통한 대기 시간이 한 개 이상의 로컬 클록 주기만큼 변할 수 있기 때문에, 게이트(414)는 적합한 위상으로 개시되어야 한다. 이전에 기술된 바와 같이, 상기 게이트(414)의 주기는 I/O 클록(336) 및 로컬 클록(316)의 두배이다. 게이트(414)는 I/O 클록(336)의 사전에 선택된 에지, 즉 도 4b의 실시예에서 포지티브 에지에 집중된다.
게이트(414)는 파워 업 또는 리셋으로 동기화 패턴을 전송함으로써 본 발명의 일 실시예에서 개시될 수 있다. 다시, 도 3을 참조하면, 상기 데이터 처리 시스템의 리셋 또는 파워 업에 응답하여, 초기화 정렬 절차(IAP) 모드 신호(340)는 표명되어, MUX(328)는 미리 정해진 동기 패턴을 출력하기 위하여 선택한다. IAP 모드 신호(340)는 본 발명의 일 실시예에 있어서, ROM(216)에 포함된 BIOS 명령에 응답하여 CPU(210)에 의해 보내질 수 있다.
도 4a에 도시된 엘러스틱 인터페이스 장치(332)의 일 실시예에 있어서, 데이터는 전술한 바와 같이 동기화 문제없이 2 싸이클 윈도우에 도달할 수 있다. 도 4a의 일렉스틱 인터페이스 장치(332)는 2개의 탄력성을 갖는 것으로 언급된다. IAP에 있어서, 상기 동기화 패턴은 엘러스틱 장치의 탄력성보다 크거나 같은 주기(P)로 주기화 되는 것이 필요하다. 따라서, 도 4b의 엘러스틱 인터페이스 장치(332)에 대하여, 적합한 동기화 패턴은 "1"의 개시 비트로 "1"과 "0" 사이를 교번하는 복수의 비트가 될 수 있다. 2 이외의 탄력성을 갖는 엘러스틱 인터페이스의 실체는 이후에 기술될 것이고, 따라서, 그 동기화 패턴은 수정될 것이다. 예컨대, 탄력성 N을 갖는 엘러스틱 인터페이스에 대하여(아래의 도 8a,8b/c와 결합하여 토론), 적합한 패턴은 "0"의 N-1 비트 다음에 "1"의 개시 비트가 되어, 패턴을 반복할 것이다. 또한, 다른 비트 패턴이 이용될 수 있다. 예컨대, 전술한 패턴에 비트 패턴 보수는 다르게 이용될 수 있다.
게이트(414)의 위상을 설정할 때, 래치(408)의 출력(410)은 상기 동기 패턴이 전달되는 동안 샘플링될 수 있다. 게이트(414)는 사전에 선택된 위상으로 개시된다. 탄력성 2를 갖는 엘러스틱 인터페이스 장치(332)에 대하여 전술한 동기 패턴으로, "1"이 출력(410)에서 검출되면, 게이트(414) 및 부수하는 \게이트(428)는 적합하게 파싱(parse)된다. 다른 방법으로, 게이트(414) 및 부수하는 \게이트 (428)의 위상은 I/O 클록(336)의 주기의 1/2 만큼 이동되어야 한다. 전술한 바와 같이, 게이트(414)는 DLL을 이용하여 발생될 수 있고, DLL의 실시예는 발명의 명칭이 "동적파 파이프라인 인터페이스 장치 및 방법" 으로 출원 계류중이고 일반 양도된 전술한 출원에 개시되는데, 이 출원은 본원에 참조용으로 포함된다.
본 발명의 원리에 따라 엘러스틱 인터페이스(300) 등의 엘러스틱 인터페이스의 동작은 지금부터 도 5a 및 5b를 참조하면 더욱 이해될 수 있다. 도 5a 및 5b에 있어서, 칩(302)은 도 3에서 칩(304)과 데이터를 교환하는 이외에, 칩(306)과 데이터를 교환한다. 칩 (302)은 2개의 인터페이스(300)을 포함하는데, 하나의 인터페이스는 칩(304)에 포함되는 인터페이스(300)를 통하여 칩(302)과 칩(304)을 결합하고, 또 하나의 인터페이스는 본 발명의 실시예에 따라 인터페이스(300)를 포함하는 칩 (302)을 칩(306)에 결합한다. 칩(302 및 304)을 결합하는 경로(502)는 대기시간(TF)을 갖는 도 1d의 경로(154)와 비슷한 고속 경로이고, 칩(302)을 칩(306)에 결합하는 경로(504)는 대기 시간(TS)를 갖는 도 1d의 경로(152)와 같은 저속 경로가 될 것이다. 종래의 인터페이스에 있어서, 경로(502)와 경로(504) 사이의 대기 시간 차이가 버스 클록의 주기를 초과하는 경우, 경로(502)는 전술한 바와 같이 데이터의 동기화를 유지하기 위하여 패딩할 필요가 있을 것이다. 그러나, 엘러스틱 인터페이스 장치(332)를 포함하는 인터페이스(300)는 경로(502 및 504) 사이의 대기 시간의 차이를 수용한다. 칩(304 및 306)에서 각 엘러스틱 인터페이스의 타겟 싸이클을 전술한 것과 동일한 싸이클로 설정함으로써, 칩(302, 304 및 306) 사이의 데이터 동기가 유지된다.
본 발명의 다른 실시예는 실행될 수 있다. 2의 탄력성을 갖는 인터페이스 장치(332)의 다른 실시예는 도 6a에 도시된다. 도 6a에 도시된 엘러스틱 인터페이스 (232)의 실체는 도 4a에 도시되는 엘러스틱 인터페이스(232)의 실시예로서 래치 (408 및 422)를 구동하는 MUX(402 및 416)를 포함한다. 그러나, 도 6a의 인터페이스 장치(332)는 제2 포획 래치, 즉 도 4a에 도시되는 실시예의 래치(430)에 해당하는 래치(630) 이외에 로컬 클록(316)에 의해 클록되는 래치(628)를 포함한다. 부가적으로, 도 4a의 MUX(432)에 해당하는 출력 MUX(632)는 도 6a의 인터페이스 장치 (332)의 실체에 있어서 상기 포획 래치의 흐름을 따라 이동된다.
이것은 인터페이스 자체를 통과하는 대기 시간을 줄인다. 래치(628 및 630)의 D 입력은 래치(422 및 408)의 출력(424 및 410)에 결합된다. 래치(628 및 630)의 D 입력에서 데이터는 로컬 클록(316)에 의해 래치로 클록된다. 따라서, 데이터는 MUX(632) 앞의 로컬 클록(316)으로 포획된다. 데이터열(322)은 선택 제어(343)하에 MUX(632)를 경유하여 래치(628 및 630)의 출력(634 및 636) 중 한 출력을 선택함으로써 회복된다. 이것은 도 4a의 실시예에서 출력 MUX(432)의 동작과 비슷하지만, 선택 제어(343)는 도 4a의 선택 제어(343)에 비하여 1/2 주기 만큼 위상 이동된다. 도 6a의 인터페이스(322)의 실시예에 있어서, 상기 데이터는 로컬 클록 (316)의 상승 에지에 래치된다. 그러나, 당업자라면 다른 제어 신호들이 위상이 적합하게 위상 조정되는 경우에 하강 에지에서 상기 데이터를 래치할 수 있다는 것을 이해할 것이다. 예컨대, 로컬 클록(316)의 하강 에지에서 래치(628 및 630)가 래치하는 실시예에 있어서, 선택 제어(343)는 1/2 주기 만큼 그 위상을 이동시킬 것이다.
도 6a의 인터페이스 장치(332)의 동작은 타이밍도를 도시하는 도 6b를 참조함으로써 더욱 이해될 것이다. MUX(402 및 416)와, 래치(408 및 422) 뿐만 아니라 I/O 클록(336)과 로컬 클록(316)은 도 4a 및 4b의 인터페이스 장치(332)와 공통이기 때문에, 상기 구조와 관련된 도 6b에 도시되는 타이밍도의 일부분은 간소화하기 위하여 다시 토론되지 않을 것이다.
래치(628 및 630) 및 MUX(632)와 관련된 도 6b의 타이밍도의 일부분에 촛점을 맞추면, 데이터 값(a)은 로컬 클록(316)의 에지(t8') 상에서 래치(630)의 출력 (634)에 래치된다. 유사하게, 데이터 값(b)은 로컬 클록 (316)의 에지(t9') 상의 래치(628)의 출력 (636)에 래치된다. 데이터가 타겟 싸이클에서 데이터 출력(338) 상에 나타나기 위하여, 선택 제어(343)의 상승 에지는 로컬 클록9316)의 에지(t9')까지 지연되어, 타겟 싸이클과 일치시킨다. 따라서, 데이터 값(a)은 선택 제어(343)의 에지(t10)에서 MUX(632)로부터의 데이터 출력(338) 상에 나타난다. 나아가서, 선택 제어(343)는 로컬 클록(316)의 상승 전이 사이에 집중된 플랫탑(flattop)이 있는 로컬 클록(316)과 위상 동기한다. 유사하게, 데이터 값(b)은 선택 제어(343)의 하강 에지(t11)의 데이터 출력(338) 상에 나타나고, 데이터열(322)은 선택 제어 (343)의 다음 전에 지속적으로 회복된다.
부가적으로, 다른 미리 정해진 탄력성을 갖는 엘러스틱 인터페이스(232)의 실체는 본 발명에 따라 실행될 수 있다. 이것은 1/2 주기 탄력성을 포함한다. 1.5 주기의 탄력성을 갖는 본 발명의 실체는 도 7a에 도시된다. 데이터(322)는 래치 (702 및 704)의 D 입력에 결합된다. 래치(702 및 704)는 "우선 순위 유지" 또는 "플러쉬" 래치이다. 상기 래치는 "투명" 래치로 언급될 수 있다. 래치(702)의 클록 (C)이 제1 소정의 논리 상태 또는 레벨을 가질 때, 상기 D 입력 상의 데이터는 출력(706)을 통하여 플러쉬한다. 상기 제1 상태로부터 미리 정해진 제2 논리 상태로 클록의 전이 상에, 래치(702)는 상기 D 입력 상의 데이터를 래치하고, 출력(706) 상의 데이터는 상기 제2 상태로부터 제1 상태로 상기 클록의 다음 전이까지 유지된다. (도 7의 실시예에 있어서, 상기 제1 상태는 "로우" 논리 레벨에 해당하고, 상기 제2 상태는 "하이" 논리 레벨에 대응하게 함으로서, 상기 전이는 상승 에지를 이룬다. 그러나, 다른 실시예는 보수 논리 상태를 갖을 것이다). 래치(704)는 그 클록(C)이 제2 논리 레벨을 가질 때 출력(708)을 통하여 D 입력 상에 데이터를 플러쉬 한다. 상기 데이터는 상기 클록의 제2 논리 레벨로부터 제1 논리 레벨로 전이로 래치되고, 상기 제2 논리 레벨로부터 제1 논리 레벨로 클록 전이까지 유지되어, 도 7의 실시예에서, "로우"가 된다. 상기 속성을 통한 플러쉬에 의해 데이터는 래치를 클록할 때까지 대기하지 않고도 이용됨으로써, 인터페이스 장치 (332`)의 "적은 대기 시간 적은 탄력성(low-latency-low-elasticity)"을 실행한다.
도 7a에 도시되는 엘러스틱 인터페이스(322)의 실시예에 있어서, 래치(702 및 704)는 I/O 클록(726)에 의해 클록된다. 도 7a의 엘러스틱 인터페이스(322)는 I/O 클록(726)의 각 전이 상에 래치(702 및 704) 중 한 개의 래치로 데이터가 래치되는 2배의 데이터 속도(double data rate)(DDR)이고, I/O 클록(726)의 주기는 로컬 클록, 즉 로컬 클록(314 및 316) 및 버스 클록(306)의 2배이다. 버스 클록(306)은 폭에서 2개의 로컬 클록 주기인 데이터 윈도우에 집중된다.
도 7a의 엘러스틱 인터페이스 장치(332)의 실체는 도 7b에 도시되는 해당하는 타이밍도를 언급함으로써 이해될 수 있다. 데이터 값(a)이 엘러스틱 인터페이스 장치(332)에 도달할 때, 데이터 값은 I/O 클록(716)이 플랫톱(752)에서 로우이기 때문에 래치(702)의 출력(706)을 통하여 플러쉬한다. 다르게 말해서, 데이터 값(a)은 I/O 클록(716)의 에지(t1) 전에 래치(702)의 출력(706)에 나타난다.
데이터부(a)는 로컬 클록(316)의 1/2 주기에 해당하는 I/O 클록(336)의 1/4 주기만큼 전이(t1)가 앞선다. I/O 클록(336)은 버스 클록에서 유도되고, 이전에 기술된 바와 같이 개시시 칩 사이의 경로 대기 시간 만큼 버스 클록에 비하여 위상 이동된다. 부가적으로, I/O 클록(716)은 1/4 주기 위상 진행한다. 에지(t1)에서, 데이터 값(a)은 래치되어, 로컬 클록(316)의 1 주기 동안 유지된다.
유사하게, 데이터 값(b)은 플랫톱(754)에서 I/O 클록(716)이 하이이기 때문에, RX(230)로부터 엘러스틱 인터페이스 장치(332)에 도달할 때, 래치(704)의 출력 (708)을 통하여 플러쉬한다. 데이터 값(b)은 I/O 클록(716)의 네가티브 에지(t2)에 의해 출력(708) 상에 유지된다. 따라서, 데이터 값은 도 7a의 엘러스틱 인터페이스 (332)의 탄력성이 있는 1.5 로컬 클록 주기 동안 래치(702 및 704)의 출력(706 및 708) 상에 나타난다.
데이터열(332)은 래치(710 및 712) 및 MUX(714)에 의해 출력(338)에서 재건된다. 상기 출력(706 및 708)에 나타나는 2개의 데이터열은 로컬 클록(316)에 의해 래치(710 및 712)로 래치된다. 데이터는 로컬 클록(316)의 미리 정해진 에지(도 7의 실시예에서 포지티브) 상에 래치되는데, 여기서, 상기 타겟 싸이클은 이전에 기술된 데이터 값(a)의 탄력성의 1.5 싸이클 내에 어디든 나타날 수 있다. 따라서, 도 7b의 타이밍도에 따른 데이터 값(a)은 로컬 클록(316)의 에지(t3)상에 래치 (710)로 래치되고, 선택 제어(343)에 응답하여 MUX(714)를 경유하여 데이터(338) 상에 스위칭된다. 데이터는 제1 소정 값을 갖는 선택 제어(343)에 응답하여 래치 (710)로부터 선택되고, 선택 제어(343)가 제2 소정 값을 가질 때 래치(712)로부터 선택된다. 상기 제1 값은 "하이"이고, 도 7의 실시예에서 제2 값은 "로우"이다. 그러나, 다른 미리 정해진 값이 있다는 것을 이해할 것이다. 로컬 클록(316)의 에지 (t4)에서, 데이터 값(b)은 래치(712)로 래치되어, 제2 값을 갖는 선택 제어(343)에 응답하여 데이터(338) 상에 스위칭된다. 다음의 데이터 값은 도 7b에 도시된 바와 같이 MUX(714)를 통하여 래치(710 및 712)로부터 출력을 택일적으로 선택함으로서 출력(338)상에 순차적으로 출력된다.
부가적으로, 본 발명의 원리에 따른 엘러스틱 인터페이스는 확장가능하고, 그 탄력성은 스티어링 및 저장 요소를 부가함으로써 증가될 수 있다. N-1 버스 클록 주기의 탄력성을 갖는 엘러스틱 인터페이스의 실체는 도 8a 및 8b에 도시된다. 인터페이스 장치(32)에는 N개의 MUXs(802)가 있다. 각 MUX에서 제1 입력(704)은 RX(330)로부터 데이터열(322)을 수신한다. 제2 입력(806)은 래치(808-818) 중 대응하는 래치에 의한 신호 출력을 수신한다. 각 래치(808-818)는 래치 쌍을 포함한다. 래치 (808, 812 및 816)에 있어서, 상기 래치 쌍은 마스터 슬레이브 방법으로 상기 래치 쌍 중 한 쌍을 다른 쌍에 결합한다. 래치(808, 812 및 816)는 상기 슬레이브로부터의 출력을 상기 대응하는 MUX(802)의 입력(806)에 제공한다. 래치(808, 812 및 816)의 슬레이브부는 I/O 클록(336)의 상승 에지에서 상기 D 입력상의 데이터를 래치한다. 래치(808, 812 및 816)는 대응하는 MUX(802)의 출력에 결합되는 각 D 입력을 갖는다. 래치(810, 814 및 818)는 상기 래치 쌍 중 제1 쌍으로부터 출력(822)을 대응하는 MUX(802)의 입력(806)에 결합한다. 상기 래치 쌍 중 제1 쌍은 명백하고, 제1 입력(828) 상의 데이터는 I/O 클록(336)의 "플랫톱" 상에 출력(822)을 통하여 플러쉬한다. 각 래치(810, 814 및 818)의 입력(828)은 상기 래치 쌍의 제2 쌍으로부터 대응하는 출력(826)에 결합된다. 부가적으로, 상기 래치 쌍 중 제2 쌍으로 입력(830)은 대응하는 MUX(802)의 출력에 결합된다. 상기 래치 쌍 중 제2 쌍은 투명하고, I/O 클록(336)의 플랫톱을 통하여 데이터를 플러쉬한다. 래치(810, 814 및 818)를 형성하는 상기 제1 및 제2 쌍의 래치는 반대 극성을 갖는 I/O 클록(336)이 플랫톱을 통하여 데이터를 플러쉬한다.
MUXs(802)는 대응하는 게이트 신호, 즉 게이트(832-842)에 응답하여 입력 (804 및 806) 신호 사이에 선택한다. 게이트 신호(832-840)는 도 8c에 도시되는 타이밍도와 결합하여 토론될 것이다.
데이터는 래치(808-818) 중 대응하는 래치로부터 출력 신호를 각각 수신하는 데이터 래치(844)를 통하여 로컬 클록으로 래치된다. 데이터는 로컬 클록(316)에 의해 데이터 래치(844)로 래치된다. 래치(808, 812 및 816)의 출력(824)은 대응하는 데이터 래치(844)의 D 입력에 제공된다. 출력(824)은 이전에 토론된 바와 같이 투명한 래치(808, 812 및 816)의 마스터부로부터 얻어진다. 데이터 래치(844)의 나머지 하나는 래치(810, 814 및 818)의 대응하는 래치를 형성하는 래치 쌍 중 제2 래치 쌍으로부터 출력(826)에서 제공된 신호를 그 D 입력 상에서 수신한다. 상기 래치 쌍 중 제2 래치 쌍은 상기 래치 쌍 중 제1 래치 쌍을 통하여 데이터가 플러쉬하는 극성과 반대의 I/O 클록(336)의 극성을 통하여 플러싱하는 데이터를 갖는 투명한 래치이다.
MUX(846)는 출력용 데이터 래치(844)에 유지되는 신호 중 하나의 신호를 선택한다. 각 데이터 래치(844)의 출력은 대응하는 입력, 즉 입력(848-858) 중 하나의 입력에 결합된다. 이 신호는 MUX(846)의 출력(860)상에 칩(302 또는 304) 등의 칩으로 출력된다. MUX(846)는 선택 제어(343)를 통하여 입력(848-858) 사이에 선택한다. 선텍 제어(343)는 K 신호를 포함하는데, 2K는 N과 같다.
N의 탄력성을 갖는 변경 실시예는 도 8a 및 8b에 도시되는 회로를 이용하여 실행될 수 있다. 데이터 래치(8440의 각 D 입력을 대응하는 래치(808, 812 및 816) 중 하나의 출력(820) 및 대응하는 래치(810, 814 및 818) 중 하나에 결합함으로써[도 8a 및 8b에 도시되는 출력(824 및 822) 대신에], N의 탄력성이 얻어진다. 도 8a 및 8b의 인터페이스 장치(332)의 회로는 다른 방법으로 변경된다.
지금부터, 도 8a 및 8b에 도시되는 인터페이스 장치(332)용 타이밍도를 도시하는 도 8c를 참조하자. 데이터 값(a)은 T1의 인터페이스 대기 시간 후에 데이터 (322) 상의 데이터열에 도달하고, 플랫톱(862)에 의해 표시되는 대응하는 MUX(802)에 제공된 게이트(832)의 표명에 응답하여, 데이터 값(a)은 대응하는 MUX(802)를 통하여 래치(808)의 D 입력을 통과한다. I/O 클록(336)의 에지(t1) 상에서, 래치 (808)는 래치(808)의 출력(820)상에 대응하는 MUXs(802) 중 하나에 역으로 결합되는 데이터 값을 유지한다. 게이트(832)의 에지(t2)에서, 상기 대응하는 MUX(802)는 데이터 값 (a)을 갖는 입력(806) 상에 신호를 선택한다. 게이트(832)는 버스 클록(306)의 N-1 주기 동간 부정되는데, 여기서, 그 데이터 값(a)은 래치(808)의 D 입력 및 래치 (808)의 출력(824)에 유지된다. 상기 데이터 값(a)은 게이트(832)의 전이(t4)가 대응하는 MUX(802)를 스위칭하여 데이터(322) 상에 데이터열을 선택함으로써, I/O 클록(366)의 에지(t5)에서, 데이터(2)의 (N+2) 번째 데이터 값이 I/O 클록(336)의 에지(t5)상에서 래치(808)로 래치된 후에 I/O 클록(336)의 전이(t3)에 의해 추가의 버스 클록 (306) 싸이클 동안 유지된다. 데이터 값(a)은 로컬 클록(316)의 에지 (t6) 상에 래치(808)의 출력(824)을 수신하는 데이터 래치(844)에 포획되어, 출력(848) 상에 나타난다. 데이터 값(a)은 버스 클록(306)의 N 주기 동안 출력(848)에 유지된다.
데이터(332)의 다음 데이터 값, 즉 데이터 값(b)은 래치(810)에 결합된 데이터 래치(844)의 버스 클록(306)의 N 주기 동안 유사하게 유지된다. 데이터 값(b)이 장치(322)에 도달할 때, 게이트(834)는 표명되고, "플랫톱"(864)로 나타냄, 상기 대응하는 MUX(802)의 입력(804) 상에 데이터(332)를 선택한다. 데이터 값(b)은 래치(810)의 입력(830)에 나타나서 I/O 클록(336)의 에지(t7)에 의해 래치됨으로써, 데이터 값(b)은 래치(810)의 출력(826)에 나타난다. 래치(810)의 출력(826)은 래치 (810)의 입력(828)으로 피드백된다. I/O 클록(336)이 다음 에지(t7)에서 부정되기 때문에, 래치(10)의 출력(826) 상의 데이터 값(b)은 래치(810)의 출력(822)을 통하여 떨어지고, 그것은 대응하는 MUX(802)의 입력(806)에 역으로 결합된다. I/O 클록 (336)의 에지(t8)에서, 데이터 값(b)은 래치(810)의 출력(822)에 유지된다. 게이트 (834)의 에지(t9)에서, 상기 대응하는 MUX(802)는 래치(810)의 출력(822)에 유지되는 데이터 값(b)을 래치(810)의 입력(830)으로 출력하는 입력(806)을 스위칭하고 선택한다. 데이터 값(b)은 래치(810)의 입력(828)에 역으로 결합되는 래치(810)의 출력(826)을 통하여 하강하고, 데이터 값(b)은 게이트 신호(834)를 수신하는 대응하는 MUX의 입력(806)에 지속적으로 피드백된다. 따라서, 데이터 값(b)은 버스 클록(306)의 N+1 주기, 즉 에지(t10)에서 게이트(834) 전이 후에 한 개의 클록 주기 동안 래치(810)에서 출력(826)에 유지된다.
게이트(836)는 I/O 클록(836)의 1 주기 만큼 게이트(834)에 비하여 위상 지연되고, 유사하게 각 연속 게이트 신호(838-842)는 상기 체인에서 이전 게이트 신호에 비하여 I/O 클록(336)의 1 주기 만큼 위상 지연된다. 이러한 방법으로, 각 연속 래치(808-818)는 데이터(332) 안에 연속 데이터 값을 기억하고, 버스 클록(306)의 N+1 주기 동안 상기 데이터 값을 유지한다. 상기 각 래치(808-818)의 데이터 값은 로컬 클록(316)의 각 주기 동안 대응하는 데이터 래치(44)에서 래치된다. 따라서, 데이터 값(b)은 로컬 클록(316)의 에지(t11) 상에 대응하는 데이터 래치(844)로 래치되어 출력(850) 상에 나타내고, 유사하게, 데이터 값(c)은 로컬 클록(316)의 에지(t12) 상에 각 데이터 래치(844)로 클록되어 출력(852)에 나타난다. 래치(818)에 결합되는 마지막 데이터 래치(844)는 로컬 클록(316)의 에지(t13) 상에 (N+1) 번째 데이터 값을 래치한다.
데이터는 K 신호를 포함하는 선택 제어(343)에 응답하여 MUX(846)로부터 출력된다. 선택 제어(343)의 각 K 신호는 주기적이다. S(0)로 표시되는 "0 번째" 신호는 버스 클록(306)의 주기와 같은 1/2 주기를 갖는다. 상기 (K-1)번째 신호는 N 버스 클록 주기인 1/2 주기를 갖는다. S(0)와 S(N) 사이의 순차로 각 신호는 이전 신호의 주기의 2배인 주기를 갖는다. MUX(846)에서 대응하는 입력(848-858)에 나타나는 데이터 래치(844)에 기억된 데이터 값은 선택 제어(343)에 응답하여 데이터 판독(860)시 순차적으로 클록된다. 데이터 값(a)은 선택 제어(343)시 S(N)의 에지 (t14)상에 탄력성(N-1)을 갖는 타겟 싸이클에서 클록된다. 그 나머지 데이터 값은 선택 제어(343)시 k 신호의 싸이클 전이에 응답하여 순차적으로 클록된다. 선택 제어(343)를 구성하는 신호가 상승 에지 상에 위상 동기를 하게 도시되더라도, 다른 실시예에서 보수 위상을 이용할 수 있다는 것을 당업자라면 이해할 수 있을 것이다.
도 8에 도시되는 장치(332)는 도 4와 결합하여 전술한 IAP 동안 개시된다. 적합한 개시 패턴은 도 8에 도시되는 장치(332)의 실체의 탄력성에 해당하는 N-1의 탄력성을 갖는 실체에 대하여 N-1의 주기를 가질 수 있다. 전술한 N의 탄력성을 갖는 다른 실체에 대하여, 상기 동기 패턴은 주기 N을 가질 수 있다. 개시 동안, 복수의 "0" 다음에 "1"을 갖는 동기 패턴에 대하여, 상기 "1"은 선택(343) 신호들이 적합하게 시퀀스될 때 래치(808)에서 샘플링될 것이다.
이러한 방법으로, 데이터 처리 시스템에서 인터페이스를 통하여 데이터 동기를 유지하는 메커니즘이 제공된다. 수신 데이터는 복수의 기억 소자에 포획되고, 상기 칩 클록으로 동기화되는 이전에 선택된 타겟 싸이클 상에 수신 칩으로 선택적으로 진행된다. 초기의 동기화는 IAP을 실행함으로써 동적으로 설정된다. 본 발명의 메커니즘은 1 버스 클록 싸이클 이상으로 대기 시간이 변하는 데이터 처리 시스템에서 데이터 동기화를 제공한다.
Claims (40)
- 제1 데이터 값의 집합을 기억하는 제1 기억 소자와,제2 데이터 값의 집합을 기억하는 제2 기억 소자와,상기 제1 및 제2 기억 소자에 결합되어 상기 제1 기억 소자로부터의 제1 데이터 값과 제2 기억 소자로부터의 제2 데이터 값을 복수의 제어 신호에 응답하여 순차적으로 출력하는 회로를 포함하고,상기 제1 및 제2 기억 소자는 제1 클록의 미리 정해진 수의 1/2 주기 동안 데이터 값을 보유하고, 상기 복수의 제어 신호는 상기 제1 클록의 미리 선택된 싸이클 상에 상기 제1 데이터 값을 출력하며, 상기 제1 기억 소자는 제2 클록의 미리 정해진 제1 에지 상에 데이터를 래치하고, 상기 제2 기억 소자는 상기 제2 클록의 미리 정해진 제2 에지 상에 데이터를 래치하는 것인 인터페이스 장치.
- 삭제
- 제1항에 있어서, 상기 제2 클록은 상기 제1 클록의 주기와 동일한 주기를 갖는 것인 인터페이스 장치.
- 삭제
- 삭제
- 제1항에 있어서, 상기 제2 클록은 전송 장치에서 수신되는 클록 신호로부터 유도되는 것인 인터페이스 장치.
- 삭제
- 제1 데이터 값의 집합을 기억하는 제1 기억 소자와,제2 데이터 값의 집합을 기억하는 제2 기억 소자와,상기 제1 및 제2 기억 소자에 결합되어 상기 제1 기억 소자로부터의 제1 데이터 값과 제2 기억 소자로부터의 제2 데이터 값을 복수의 제어 신호에 응답하여 순차적으로 출력하는 출력 회로와,상기 제1 및 제2 기억 소자의 해당 입력에 각각 결합된 출력을 각각 갖는 제1 및 제2 선택 회로를 포함하고,상기 제1 및 제2 기억 소자는 제1 클록의 미리 정해진 수의 1/2 주기 동안 데이터 값을 보유하고, 상기 복수의 제어 신호는 상기 제1 클록의 미리 선택된 싸이클 상에 상기 제1 데이터 값을 출력하며,상기 제1 및 제2 선택 회로는 데이터 스트림을 수신하는 제1 입력과 상기 제1 및 제2 기억 소자의 각각의 출력에 결합된 제2 입력을 갖고, 상기 제1 및 제2 선택 회로는 상기 제1 및 제2 입력 중 하나의 신호를 제1 및 제2 게이트 신호에 응답하여 출력하도록 선택하며, 상기 제1 및 제2 게이트 신호는 상기 제1 클록의 2배의 주기를 갖고, 상기 제2 게이트 신호는 상기 제1 게이트 신호의 보수인 것인 인터페이스 장치.
- 삭제
- 제1 데이터 값의 집합을 기억하는 제1 기억 소자와,제2 데이터 값의 집합을 기억하는 제2 기억 소자와,상기 제1 및 제2 기억 소자에 결합되어 상기 제1 기억 소자로부터의 제1 데이터 값과 제2 기억 소자로부터의 제2 데이터 값을 복수의 제어 신호에 응답하여 순차적으로 출력하는 회로와,상기 제1 및 제2 기억 소자는 제1 클록의 미리 정해진 수의 1/2 주기 동안 데이터 값을 보유하고, 상기 복수의 제어 신호는 상기 제1 클록의 미리 선택된 싸이클 상에 상기 제1 데이터 값을 출력하며,상기 제1 및 제2 데이터 값을 선택하여 순차적으로 출력하는 회로는 상기 제1 데이터 값을 수신하는 제1 입력 및 상기 제2 데이터 값을 수신하는 제2 입력을 갖는 멀티플렉서(MUX)를 포함하고,상기 멀티플렉서는 상기 제1 클록 주기의 미리 정해진 배수인 주기를 갖는 선택 제어 신호에 응답하여 상기 제1 및 제2 데이터 값 중 하나를 출력하고, 상기 선택 제어 신호의 주기는 상기 제1 클록의 주기의 2배인 것인 인터페이스 장치.
- 삭제
- 제1 데이터 값의 집합을 기억하는 제1 기억 소자와,제2 데이터 값의 집합을 기억하는 제2 기억 소자와,상기 제1 및 제2 기억 소자에 결합되어 상기 제1 기억 소자로부터의 제1 데이터 값과 제2 기억 소자로부터의 제2 데이터 값을 복수의 제어 신호에 응답하여 순차적으로 출력하는 회로와,상기 제1 및 제2 기억 소자는 제1 클록의 미리 정해진 수의 1/2 주기 동안 데이터 값을 보유하고, 상기 복수의 제어 신호는 상기 제1 클록의 미리 선택된 싸이클 상에 상기 제1 데이터 값을 출력하며,상기 제1 및 제2 데이터 값을 선택하여 순차적으로 출력하는 회로는,상기 제1 데이터 값을 수신하는 입력을 갖는 제1 래치와,상기 제2 데이터 값을 수신하는 입력을 갖는 제2 래치와,상기 제1 래치의 출력에 결합된 제1 입력 및 상기 제2 래치의 출력에 결합된 제2 입력을 갖는 멀티플렉서(MUX)를 포함하고,상기 멀티플렉서는 상기 제1 클록 주기의 미리 정해진 배수인 주기를 갖는 선택 제어 신호에 응답하여 상기 제1 및 제2 데이터 값 중 하나를 출력하기 위하여 선택적으로 동작되고,상기 제1 및 제2 래치는 상기 제1 클록의 제1 및 제2의 미리 정해진 레벨 상의 데이터를 보유하는 것인 인터페이스 장치.
- 제12항에 있어서, 상기 제1 기억 소자는 제3 래치를 포함하고, 상기 제2 기억 소자는 제4 래치를 포함하는데,상기 제3 래치는 제2 클록의 제1의 미리 정해진 레벨 상에 데이터를 보유하는 투명 래치이고,상기 제4 래치는 상기 제1의 미리 정해진 클록 레벨의 레벨 보수 상에 데이터를 보유하는 투명 래치인 것인 인터페이스 장치.
- 제13항에 있어서, 상기 제3 및 제4 래치에 선택적으로 각각 결합되는 출력을 갖는 제2 및 제3 멀티플렉서를 더 포함하고,상기 제2 및 제3 멀티플렉서는 데이터 값의 열을 수신하기 위하여 동작하는 제1 입력과 상기 제3 및 제4 래치의 출력에 각각 결합되는 제2 입력을 갖고,상기 제2 멀티플렉서는 제1 게이트 신호에 응답하여 상기 제1 입력과 제2 입력 사이를 선택하기 위하여 동작할 수 있고,상기 제3 멀티플렉서는 제2 게이트 신호에 응답하여 상기 제1 입력과 제2 입력 사이에 상기 제1 게이트 신호의 보수를 선택하기 위해 동작하는 인터페이스 장치.
- 데이터열을 수신하는 제1 입력 및 출력을 각각 갖는 복수의 M개의 제1 멀티플렉서(MUX)와,해당하는 제1 멀티플렉서의 출력에 결합된 입력을 각각 갖고, 제1 출력 및 상기 대응하는 제1 멀티플렉서(MUX)의 제2 입력에 결합되는 제2 출력을 각각 갖는 복수의 M개의 제1 래치와,상기 데이터열을 수신하는 제1 입력 및 출력을 각각 갖는 복수의 M개의 제2 멀티플렉서와,래치쌍-제1 래치쌍의 입력은 대응하는 제2 멀티플렉서의 출력에 결합되고 출력을 갖으며, 제2 래치쌍의 입력은 상기 제1 래치쌍의 출력에 결합된 입력 및 상기 대응하는 제2 멀티플렉서의 제2 입력에 결합된 출력을 가짐-을 포함하는 복수의 M개의 제2 래치와,상기 제1 래치 중 대응하는 래치의 상기 제1 출력에 결합되는 입력 및 제3 멀티플렉서의 대응하는 입력에 결합되는 출력을 갖는 복수의 제3 래치와,상기 제1 래치 쌍의 출력에 결합되는 입력 및 상기 제3 멀티플렉서의 대응하는 입력에 결합되는 출력을 갖는 복수의 제4 래치를 포함하고,상기 제3 멀티플렉서는 복수의 k 신호를 갖고 있는 선택 제어에 응답하여 데이터 값을 순차적으로 출력하기 위하여 동작하고,상기 복수의 k 신호 중 제1 신호는 제1 클록의 주기와 동일한 1/2 주기를 갖고,상기 제1 래치 및 제2 래치 각각은 상기 제1 클록의 주기와 동일한 1/2 주기를 갖는 제2 클록 신호에 응답하여 동작하고,상기 각각의 제3 래치는 상기 제1 클록에 응답하여 동작할 수 있는 것인 인터페이스 장치.
- 제15항에 있어서, 상기 제1 클록은 로컬 칩 클록을 포함하고, 상기 제2 클록은 입력/출력(I/O) 클록을 포함하는 것인 인터페이스 장치.
- 제15항에 있어서, 2(k-1)이 M인 것인 인터페이스 장치.
- 제1 클록의 미리 정해진 수의 1/2 주기 동안 기억되는 제1 집합의 각 데이터 값을 제1 기억 소자에 기억하는 단계와,상기 제1 클록의 미리 정해진 수의 1/2 주기 동안 기억되는 제2 집합의 각 데이터 값을 제2 기억 소자에 기억하는 단계와,상기 제1 기억 소자로부터의 제1 데이터 값과 상기 제2 기억 소자로부터의 제2 데이터 값을 상기 제1 클록의 미리 선택된 싸이클 상에 상기 제1 데이터 값을 출력하도록 동작되는 복수의 제어 신호에 응답하여 순차적으로 출력하는 단계- 상기 제1 데이터 값을 순차적으로 출력하는 단계는 상기 제1 클록 주기의 미리 정해진 배수인 주기를 갖는 제어 신호를 상기 제1 및 제2 기억 소자에 결합된 제1 선택 회로에 제공하는 단계를 포함 -와,제2 및 제3 선택 회로의 입력에서 데이터열을 수신하는 단계와,상기 제2 선택 회로로부터 상기 제1 기억 소자로 상기 제1 데이터 값의 집합의 각각을 제1 선택 신호에 응답하여 출력하는 단계와,상기 제3 선택 회로로부터 상기 제2 기억 소자로 상기 제2 데이터 값의 집합의 각각을 제2 선택 신호에 응답하여 출력하는 단계를 포함하고,상기 제1 및 제2 선택 신호는 보수 신호인 것인 집적 회로 소자를 인터페이스하는 방법.
- 제1 클록의 미리 정해진 수의 1/2 주기 동안 기억되는 제1 집합의 각 데이터 값을 제1 기억 소자에 기억하는 단계와,상기 제1 클록의 미리 정해진 수의 1/2 주기 동안 기억되는 제2 집합의 각 데이터 값을 제2 기억 소자에 기억하는 단계와,상기 제1 클록의 미리 선택된 싸이클 상에 상기 제1 데이터 값을 출력하도록 동작되는 복수의 제어 신호에 응답하여 상기 제1 기억 소자로부터의 제1 데이터 값 및 상기 제2 기억 소자로부터의 제2 데이터 값을 순차적으로 출력하는 단계- 상기 제1 데이터 값을 순차적으로 출력하는 단계는 상기 제1 클록 주기의 미리 정해진 배수인 주기를 갖는 제어 신호를 상기 제1 및 제2 기억 소자에 결합된 제1 선택 회로에 제공하는 단계를 포함 -와,제2 및 제3 선택 회로의 입력에서 데이터열을 수신하는 단계와,상기 제2 선택 회로로부터 상기 제1 기억 소자로 상기 제1 데이터 값의 집합의 각각을 제1 선택 신호에 응답하여 출력하는 단계와,상기 제3 선택 회로로부터 상기 제2 기억 소자로 상기 제2 데이터 값의 집합의 각각을 제2 선택 신호에 응답하여 출력하는 단계를 포함하고,상기 제1 및 제2 선택 신호는 상기 제1 클록 주기의 2배의 주기를 갖는 것인 집적 회로 소자를 인터페이스하는 방법.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 제1 클록의 미리 정해진 수의 1/2 주기 동안 기억되는 제1 집합의 각 데이터 값을 제1 기억 소자에 기억하는 단계와,상기 제1 클록의 미리 정해진 수의 1/2 주기 동안 기억되는 제2 집합의 각 데이터 값을 제2 기억 소자에 기억하는 단계와,상기 제1 클록의 미리 선택된 싸이클 상에 상기 제1 데이터 값을 출력하도록 동작되는 복수의 제어 신호에 응답하여 상기 제1 기억 소자로부터의 제1 데이터 값 과 상기 제2 기억 소자로부터의 제2 데이터 값을 순차적으로 출력하는 단계- 상기 제1 데이터 값을 순차적으로 출력하는 단계는 상기 제1 클록 주기의 미리 정해진 배수인 주기를 갖는 제어 신호를 상기 제1 및 제2 기억 소자에 결합된 제1 선택 회로에 제공하는 단계를 포함 -와,제2 및 제3 선택 회로의 입력에서 데이터열을 수신하는 단계와,상기 제2 선택 회로로부터 상기 제1 기억 소자로 상기 제1 데이터 값의 집합의 각각을 제1 선택 신호에 응답하여 출력하는 단계와,상기 제3 선택 회로로부터 상기 제2 기억 소자로 상기 제2 데이터 값의 집합의 각각을 제2 선택 신호에 응답하여 출력하는 단계와,상기 데이터열을 전달하기 위해 동작하는 신호 경로의 대기 시간에 응답하여 상기 제1 및 제2 선택 신호를 개시하는 단계를 포함하는 것인 집적 회로 소자를 인터페이스하는 방법.
- 제25항에 있어서, 상기 제1 및 제2 선택 신호를 개시하는 단계는,미리 선택된 데이터열을 보내는 단계와,상기 미리 선택된 데이터열에 응답하여 상기 제1 및 제2 선택 신호의 각 위상을 조정하는 단계를 포함하는 것인 집적 회로 소자를 인터페이스하는 방법.
- 제26항에 있어서, 상기 각 선택 신호의 위상을 조정하는 단계는 위상을 선택하는 단계를 더 포함하고,상기 제1 기억 소자에서는 상기 데이터열의 제1의 미리 정해진 데이터 값이 포획되고, 상기 제2 기억 소자에서는 제2의 미리 정해진 데이터 값이 포획되는 것인 집적 회로 소자를 인터페이스하는 방법.
- 제26항에 있어서, 상기 데이터열은 동기화(sync) 패턴을 포함하는 것인 집적 회로 소자를 인터페이스하는 방법.
- 제1 데이터 처리 장치와,상기 제1 데이터 처리 장치에 엘러스틱 인터페이스를 경유하여 결합되는 제2 데이터 처리 장치를 포함하고,상기 엘러스틱 인터페이스는,제1 데이터 값의 집합을 저장하도록 동작하는 제1 기억 소자와,제2 데이터 값의 집합을 저장하도록 동작하는 제2 기억 소자와,상기 제1 및 제2 기억 소자에 결합되어 상기 제1 기억 소자로부터의 제1 데이터 값과 제2 기억 소자로부터의 제2 데이터 값을 복수의 제어 신호에 응답하여 순차적으로 출력하는 회로를 포함하고,상기 제1 및 제2 기억 소자는 제1 클록의 미리 정해진 수의 싸이클 동안 데이터 값을 보유하는 것인 데이터 처리 시스템.
- 제29항에 있어서, 상기 제1 기억 소자는 제2 클록의 제1의 미리 정해진 에지 상의 데이터를 래치하고,상기 제2 기억 소자는 상기 제2 클록의 제2의 미리 정해진 에지 상의 데이터를 래치하는 것인 데이터 처리 시스템,
- 제29항에 있어서, 상기 엘러스틱 인터페이스는 상기 제1 및 제2 기억 소자의 해당 입력에 각각 결합된 출력을 각각 갖는 제1 및 제2 선택 회로를 더 포함하고,상기 제1 및 제2 선택 회로는 데이터열을 수신하기 위하여 동작하는 제1 입력과, 상기 제1 및 제2 기억 소자의 각각의 출력에 결합된 제2 입력을 각각 갖으며,상기 제1 및 제2 선택 회로는 상기 제1 입력과 제2 입력 중 하나에 관한 신호를 제1 및 제2 제어 신호에 응답하여 출력하기 위하여 선택적으로 동작하는 것인 데이터 처리 시스템.
- 제31항에 있어서, 상기 제1 및 제2 선택 회로는 제1 및 제2 멀티플렉서를 각각 포함하는 것인 데이터 처리 시스템.
- 제29항에 있어서, 상기 제1 및 제2 데이터 값을 선택하여 순차적으로 출력하는 회로는 상기 제1 데이터 값을 수신하기 위하여 동작하는 제1 입력과 상기 제2 데이터 값을 수신하는 제2 입력을 갖는 멀티플렉서(MUX)를 포함하고,상기 멀티플렉서는 상기 제1 클록의 주기의 미리 정해진 배수인 주기를 갖는 선택 제어 신호에 응답하여 상기 제1 데이터 값과 제2 데이터 값 중 하나를 출력하기 위하여 선택하는 것인 데이터 처리 시스템.
- 제29항에 있어서, 상기 제1 및 제2 데이터 값을 선택하여 순차적으로 출력하는 회로는,상기 제1 데이터 값을 수신하는 입력을 갖는 제1 래치와,상기 제2 데이터 값을 수신하는 입력을 갖는 제2 래치와,상기 제1 래치의 출력에 결합된 제1 입력과 상기 제2 래치의 출력에 결합된 제2 입력을 갖는 멀티플렉서(MUX)를 포함하고,상기 멀티플렉서는 상기 제1 클록 주기의 미리 정해진 배수인 주기를 갖는 선택 제어 신호에 응답하여 상기 제1 및 제2 데이터 값 중 하나를 출력하기 위하여 선택적으로 동작되고,상기 제1 및 제2 래치는 상기 제1 클록의 제1 및 제2의 미리 정해진 레벨 상의 래치 데이터를 보유하는 것인 데이터 처리 장치.
- 제34항에 있어서, 상기 제1 기억 소자는 제3 래치를 포함하고, 상기 제2 기억 소자는 제4 래치를 포함하는데,상기 제3 래치는 제2 클록의 제1 미리 정해진 레벨 상에 데이터를 보유하는 투명 래치이고,상기 제4 래치는 상기 제1 미리 정해진 클록 레벨의 레벨 보수 상에 데이터를 보유하는 투명 래치인 것인 데이터 처리 장치.
- 제35항에 있어서, 상기 제3 및 제4 래치에 선택적으로 각각 결합되는 출력을 갖는 제2 및 제3 멀티플렉서를 더 포함하고,상기 제2 및 제3 멀티플렉서는 데이터 값의 열을 수신하기 위하여 동작하는 제1 입력과, 상기 제3 및 제4 래치의 출력에 각각 결합되는 제2 입력을 갖고,상기 제2 멀티플렉서는 제1 게이트 신호에 응답하여 상기 제1 입력과 제2 입력 사이를 선택하기 위하여 동작할 수 있고,상기 제3 멀티플렉서는 제2 게이트 신호에 응답하여 상기 제1 입력과 제2 입력 사이에 상기 제1 게이트 신호의 보수를 선택하기 위해 동작하는 데이터 처리 장치.
- 제29항에 있어서, 상기 제2 데이터 처리 장치는 중앙 처리 장치(CPU)를 포함하는 것인 데이터 처리 장치.
- 제29항에 있어서, 상기 제2 데이터 처리 장치는 메모리 소자를 포함하는 것인 데이터 처리 장치.
- 제1 데이터 값의 집합을 기억하는 제1 기억 소자와,제2 데이터 값의 집합을 기억하는 제2 기억 소자와,상기 제1 및 제2 기억 소자에 결합되어, 상기 제1 기억 소자로부터의 제1 데이터 값과 상기 제2 기억 소자로부터의 제2 데이터 값을 복수의 제어 신호에 응답하여 순차적으로 출력하는 회로를 포함하고,상기 제1 및 제2 기억 소자는 제1 클록의 미리 정해진 수의 1/2 주기 동안에 데이터 값을 보유하고,상기 복수의 제어 신호는 상기 제1 클록의 미리 선택된 싸이클 상의 상기 제1 데이터 값을 출력하도록 동작하며,상기 제1 클록의 미리 선택된 싸이클은 상기 제1 데이터 값의 집합 및 상기 제2 데이터 값의 집합을 전달하도록 동작하는 신호 경로의 대기 시간과 관련이 있는 것인 인터페이스 장치.
- 제1 클록의 미리 정해진 수의 1/2 주기 동안에 각각 기억되는 제1 데이터 값의 집합을 제1 기억 소자에 기억하는 단계와,상기 제1 클록의 미리 정해진 수의 1/2 주기 동안에 각각 기억되는 제2 데이터 값의 집합을 제2 기억 소자의 집합에 기억하는 단계와,상기 제1 기억 소자로부터의 제1 데이터 값과 상기 제2 기억 소자로부터의 제2 데이터 값을 복수의 제어 신호에 응답하여 순차적으로 출력하는 단계를 포함하고,상기 복수의 제어 신호는 상기 제1 클록의 미리 선택된 싸이클에 관한 상기 제1 데이터 값을 출력하도록 동작하고,상기 제1 클록의 미리 선택된 싸이클은 상기 제1 데이터 값의 집합 및 상기 제2 데이터 값의 집합을 전달하도록 동작하는 것인 집적 회로 장치를 인터페이스하는 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/263,661 US6334163B1 (en) | 1999-03-05 | 1999-03-05 | Elastic interface apparatus and method therefor |
US09/263,661 | 1999-03-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010102501A KR20010102501A (ko) | 2001-11-15 |
KR100457868B1 true KR100457868B1 (ko) | 2004-11-18 |
Family
ID=23002731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-7011288A KR100457868B1 (ko) | 1999-03-05 | 2000-03-03 | 엘러스틱 인터페이스 장치 및 그 방법 |
Country Status (17)
Country | Link |
---|---|
US (2) | US6334163B1 (ko) |
EP (1) | EP1166210B1 (ko) |
JP (1) | JP4384819B2 (ko) |
KR (1) | KR100457868B1 (ko) |
CN (1) | CN1129853C (ko) |
AT (1) | ATE239945T1 (ko) |
AU (1) | AU2925000A (ko) |
BR (1) | BRPI0009250B1 (ko) |
CA (1) | CA2366898C (ko) |
CZ (1) | CZ302550B6 (ko) |
DE (1) | DE60002571T2 (ko) |
ES (1) | ES2193940T3 (ko) |
HU (1) | HUP0200283A3 (ko) |
IL (2) | IL145275A0 (ko) |
PL (1) | PL200520B1 (ko) |
RU (1) | RU2212048C2 (ko) |
WO (1) | WO2000054163A1 (ko) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69811262T2 (de) * | 1997-10-10 | 2003-11-27 | Rambus Inc., Los Altos | Verfahren und vorrichtung zur ausfallsicheren resynchronisation mit minimaler latenzzeit |
US6636980B1 (en) * | 1999-08-19 | 2003-10-21 | International Business Machines Corporation | System for launching data on a bus by using first clock for alternately selecting data from two data streams and using second clock for launching data thereafter |
US6775339B1 (en) * | 1999-08-27 | 2004-08-10 | Silicon Graphics, Inc. | Circuit design for high-speed digital communication |
US6571346B1 (en) * | 1999-11-05 | 2003-05-27 | International Business Machines Corporation | Elastic interface for master-slave communication |
US6542999B1 (en) * | 1999-11-05 | 2003-04-01 | International Business Machines Corp. | System for latching first and second data on opposite edges of a first clock and outputting both data in response to a second clock |
US6675331B1 (en) * | 1999-12-22 | 2004-01-06 | Texas Instruments Incorporated | Testable transparent latch and method for testing logic circuitry that includes a testable transparent latch |
US7031420B1 (en) | 1999-12-30 | 2006-04-18 | Silicon Graphics, Inc. | System and method for adaptively deskewing parallel data signals relative to a clock |
JP2001195355A (ja) * | 2000-01-14 | 2001-07-19 | Sony Corp | データ処理回路 |
US6977979B1 (en) * | 2000-08-31 | 2005-12-20 | Hewlett-Packard Development Company, L.P. | Enhanced clock forwarding data recovery |
US7117126B2 (en) * | 2001-09-05 | 2006-10-03 | International Business Machines Corporation | Data processing system and method with dynamic idle for tunable interface calibration |
JP3798292B2 (ja) * | 2001-10-31 | 2006-07-19 | 富士通株式会社 | データ同期化回路及び通信インターフェース回路 |
US6661726B2 (en) * | 2002-01-09 | 2003-12-09 | International Business Machines Corporation | Multiple mode elastic data transfer interface |
US6954870B2 (en) * | 2002-03-12 | 2005-10-11 | International Business Machines Corporation | Method for receiver delay detection and latency minimization for a source synchronous wave pipelined interface |
US6934867B2 (en) * | 2002-05-17 | 2005-08-23 | International Business Machines Corporation | Digital system having a multiplicity of self-calibrating interfaces |
US6891406B2 (en) * | 2003-01-09 | 2005-05-10 | International Business Machines Corporation | Method and apparatus for supplying a reference voltage for chip-to-chip communication |
US7313210B2 (en) * | 2003-02-28 | 2007-12-25 | Hewlett-Packard Development Company, L.P. | System and method for establishing a known timing relationship between two clock signals |
US7143304B2 (en) | 2003-05-30 | 2006-11-28 | Sun Microsystems, Inc. | Method and apparatus for enhancing the speed of a synchronous bus |
KR100594294B1 (ko) * | 2004-09-21 | 2006-06-30 | 삼성전자주식회사 | 메모리 장치 및 데이터 트레이닝 방법 |
US7254656B2 (en) | 2004-11-13 | 2007-08-07 | International Business Machines Corporation | Method and service and computer program code for broadcast of interface group bring-up in a multiprocessor computer system having multiple nodes |
US7412618B2 (en) * | 2005-02-11 | 2008-08-12 | International Business Machines Corporation | Combined alignment scrambler function for elastic interface |
US20060188046A1 (en) * | 2005-02-24 | 2006-08-24 | Broadcom Corporation | Prediction of an optimal sampling point for clock resynchronization in a source synchronous data channel |
US7684534B2 (en) * | 2005-07-11 | 2010-03-23 | International Business Machines Corporation | Method and apparatus for handling of clock information in serial link ports |
US20070098020A1 (en) * | 2005-10-27 | 2007-05-03 | Yee Ja | Methods and arrangements to model an asynchronous interface |
US7734944B2 (en) * | 2006-06-27 | 2010-06-08 | International Business Machines Corporation | Mechanism for windaging of a double rate driver |
US7739538B2 (en) * | 2006-06-27 | 2010-06-15 | International Business Machines Corporation | Double data rate chaining for synchronous DDR interfaces |
US7882322B2 (en) * | 2006-06-27 | 2011-02-01 | International Business Machines Corporation | Early directory access of a double data rate elastic interface |
US7752475B2 (en) * | 2006-06-27 | 2010-07-06 | International Business Machines Corporation | Late data launch for a double data rate elastic interface |
US7783911B2 (en) * | 2006-06-27 | 2010-08-24 | International Business Machines Corporation | Programmable bus driver launch delay/cycle delay to reduce elastic interface elasticity requirements |
US7739545B2 (en) * | 2006-09-13 | 2010-06-15 | International Business Machines Corporation | System and method to support use of bus spare wires in connection modules |
US7624244B2 (en) * | 2007-06-22 | 2009-11-24 | International Business Machines Corporation | System for providing a slow command decode over an untrained high-speed interface |
US7979616B2 (en) * | 2007-06-22 | 2011-07-12 | International Business Machines Corporation | System and method for providing a configurable command sequence for a memory interface device |
JP5921264B2 (ja) * | 2012-03-09 | 2016-05-24 | キヤノン株式会社 | シリアル通信システムおよびその通信初期化の方法、並びにシリアル通信装置およびその通信初期化の方法 |
US9645965B2 (en) * | 2013-03-15 | 2017-05-09 | Intel Corporation | Apparatus, system, and method for improving equalization with a hardware driven algorithm |
EP2946254B1 (de) * | 2013-04-16 | 2017-06-21 | Siemens Aktiengesellschaft | Speicherprogrammierbare steuerung mit geringer latenzzeit |
CN104348889B (zh) * | 2013-08-09 | 2019-04-16 | 鸿富锦精密工业(深圳)有限公司 | 切换开关及电子装置 |
US9547609B2 (en) * | 2013-10-25 | 2017-01-17 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Data interface for point-to-point communications between devices |
DE102017217051A1 (de) * | 2017-09-26 | 2019-03-28 | Spinner Gmbh | Vorrichtung und Verfahren zur Übertragung von Daten zwischen zwei physikalischen Schnittstellen |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5060280A (en) * | 1986-09-30 | 1991-10-22 | Canon Kabushiki Kaisha | Masking control for image processing systems |
IL96808A (en) * | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
US5560017A (en) * | 1990-11-09 | 1996-09-24 | Wang Laboratories, Inc. | System with clock frequency controller responsive to interrupt independent of software routine and software loop repeatedly executing instruction to slow down system clock |
JP3517237B2 (ja) * | 1992-03-06 | 2004-04-12 | ラムバス・インコーポレーテッド | 同期バス・システムおよびそのためのメモリ装置 |
US5229668A (en) | 1992-03-25 | 1993-07-20 | North Carolina State University Of Raleigh | Method and apparatus for high speed digital sampling of a data signal |
US5424996A (en) * | 1992-09-29 | 1995-06-13 | Hewlett-Packard Company | Dual transparent latch |
US5394106A (en) * | 1993-08-31 | 1995-02-28 | Gadzoox Microsystems | Apparatus and method for synthesis of signals with programmable periods |
US5509038A (en) * | 1994-04-06 | 1996-04-16 | Hal Computer Systems, Inc. | Multi-path data synchronizer system and method |
JPH07311735A (ja) | 1994-05-18 | 1995-11-28 | Hitachi Ltd | データ転送装置 |
US5598113A (en) * | 1995-01-19 | 1997-01-28 | Intel Corporation | Fully asynchronous interface with programmable metastability settling time synchronizer |
US5603050A (en) * | 1995-03-03 | 1997-02-11 | Compaq Computer Corporation | Direct memory access controller having programmable timing |
US5835729A (en) * | 1996-09-13 | 1998-11-10 | Silicon Graphics, Inc. | Circuit to separate and combine color space component data of a video image |
US5915128A (en) * | 1997-01-29 | 1999-06-22 | Unisys Corporation | Serial speed-matching buffer utilizing plurality of registers where each register selectively receives data from transferring units or sequentially transfers data to another register |
US5838936A (en) | 1997-03-10 | 1998-11-17 | Emulex Corporation | Elastic bus interface data buffer |
US6031847A (en) | 1997-07-01 | 2000-02-29 | Silicon Graphics, Inc | Method and system for deskewing parallel bus channels |
US6041417A (en) * | 1998-06-04 | 2000-03-21 | Hewlett-Packard Company | Method and apparatus for synchronizing data received in an accelerated graphics port of a graphics memory system |
-
1999
- 1999-03-05 US US09/263,661 patent/US6334163B1/en not_active Expired - Lifetime
-
2000
- 2000-03-03 WO PCT/GB2000/000754 patent/WO2000054163A1/en active IP Right Grant
- 2000-03-03 AT AT00907773T patent/ATE239945T1/de not_active IP Right Cessation
- 2000-03-03 DE DE60002571T patent/DE60002571T2/de not_active Expired - Lifetime
- 2000-03-03 BR BRPI0009250A patent/BRPI0009250B1/pt active IP Right Grant
- 2000-03-03 AU AU29250/00A patent/AU2925000A/en not_active Abandoned
- 2000-03-03 RU RU2001126575/09A patent/RU2212048C2/ru not_active IP Right Cessation
- 2000-03-03 IL IL14527500A patent/IL145275A0/xx active IP Right Grant
- 2000-03-03 ES ES00907773T patent/ES2193940T3/es not_active Expired - Lifetime
- 2000-03-03 CN CN00804683A patent/CN1129853C/zh not_active Expired - Lifetime
- 2000-03-03 EP EP00907773A patent/EP1166210B1/en not_active Expired - Lifetime
- 2000-03-03 JP JP2000604320A patent/JP4384819B2/ja not_active Expired - Lifetime
- 2000-03-03 CA CA002366898A patent/CA2366898C/en not_active Expired - Lifetime
- 2000-03-03 PL PL350133A patent/PL200520B1/pl not_active IP Right Cessation
- 2000-03-03 HU HU0200283A patent/HUP0200283A3/hu unknown
- 2000-03-03 CZ CZ20013178A patent/CZ302550B6/cs not_active IP Right Cessation
- 2000-03-03 KR KR10-2001-7011288A patent/KR100457868B1/ko not_active IP Right Cessation
-
2001
- 2001-09-04 IL IL145275A patent/IL145275A/en not_active IP Right Cessation
- 2001-09-24 US US09/961,506 patent/US6671753B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN1343335A (zh) | 2002-04-03 |
DE60002571D1 (de) | 2003-06-12 |
IL145275A (en) | 2006-08-01 |
US6671753B2 (en) | 2003-12-30 |
RU2212048C2 (ru) | 2003-09-10 |
US20020013875A1 (en) | 2002-01-31 |
EP1166210A1 (en) | 2002-01-02 |
JP4384819B2 (ja) | 2009-12-16 |
WO2000054163A1 (en) | 2000-09-14 |
BRPI0009250B1 (pt) | 2016-08-23 |
ATE239945T1 (de) | 2003-05-15 |
DE60002571T2 (de) | 2004-04-29 |
CA2366898C (en) | 2005-04-12 |
CZ302550B6 (cs) | 2011-07-13 |
CA2366898A1 (en) | 2000-09-14 |
CN1129853C (zh) | 2003-12-03 |
KR20010102501A (ko) | 2001-11-15 |
IL145275A0 (en) | 2002-06-30 |
ES2193940T3 (es) | 2003-11-16 |
PL350133A1 (en) | 2002-11-04 |
PL200520B1 (pl) | 2009-01-30 |
HUP0200283A3 (en) | 2004-12-28 |
AU2925000A (en) | 2000-09-28 |
HUP0200283A2 (hu) | 2002-05-29 |
EP1166210B1 (en) | 2003-05-07 |
US6334163B1 (en) | 2001-12-25 |
JP2002539525A (ja) | 2002-11-19 |
BR0009250A (pt) | 2001-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100457868B1 (ko) | 엘러스틱 인터페이스 장치 및 그 방법 | |
US5623223A (en) | Glitchless clock switching circuit | |
CA2365288C (en) | Dynamic wave-pipelined interface apparatus and methods therefor | |
EP1624635B1 (en) | Device and method for synchronous parallel data transmission using reference signal | |
US6247137B1 (en) | Delaying clock and data signals to force synchronous operation in digital systems that determine phase relationships between clocks with related frequencies | |
US5764710A (en) | Meta-stable-resistant front-end to a synchronizer with asynchronous clear and asynchronous second-stage clock selector | |
US7198197B2 (en) | Method and apparatus for data acquisition | |
US7783911B2 (en) | Programmable bus driver launch delay/cycle delay to reduce elastic interface elasticity requirements | |
KR20050085801A (ko) | 슬레이브 qdr2 호환 보조프로세서 | |
US7242737B2 (en) | System and method for data phase realignment | |
US20040042504A1 (en) | Aligning data bits in frequency synchronous data channels | |
US7668272B1 (en) | Method and apparatus for data transfer between mesochronous clock domains | |
US7839963B2 (en) | Isochronous synchronizer | |
EP1150450A2 (en) | Synchronizer | |
US6636980B1 (en) | System for launching data on a bus by using first clock for alternately selecting data from two data streams and using second clock for launching data thereafter | |
US6542999B1 (en) | System for latching first and second data on opposite edges of a first clock and outputting both data in response to a second clock | |
US6571346B1 (en) | Elastic interface for master-slave communication | |
US7206369B2 (en) | Programmable feedback delay phase-locked loop for high-speed input/output timing budget management and method of operation thereof | |
US11545987B1 (en) | Traversing a variable delay line in a deterministic number of clock cycles | |
JP2007193658A (ja) | 半導体装置 | |
JPH08329000A (ja) | 情報処理装置 | |
JP3849871B2 (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 | ||
FPAY | Annual fee payment |
Payment date: 20121024 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20131025 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |