KR100336041B1 - 자동 클럭 딜레이 검출 및 초기 파라미터 셋팅 특성을 가진 클럭 포워딩 회로 - Google Patents
자동 클럭 딜레이 검출 및 초기 파라미터 셋팅 특성을 가진 클럭 포워딩 회로 Download PDFInfo
- Publication number
- KR100336041B1 KR100336041B1 KR1019990033711A KR19990033711A KR100336041B1 KR 100336041 B1 KR100336041 B1 KR 100336041B1 KR 1019990033711 A KR1019990033711 A KR 1019990033711A KR 19990033711 A KR19990033711 A KR 19990033711A KR 100336041 B1 KR100336041 B1 KR 100336041B1
- Authority
- KR
- South Korea
- Prior art keywords
- clock
- circuit
- load
- data
- clock signal
- Prior art date
Links
- 238000001514 detection method Methods 0.000 title claims description 38
- 230000004044 response Effects 0.000 claims description 24
- 230000001934 delay Effects 0.000 claims description 19
- 238000000034 method Methods 0.000 claims description 15
- 230000007547 defect Effects 0.000 abstract description 3
- 230000007423 decrease Effects 0.000 abstract description 2
- 239000004065 semiconductor Substances 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 23
- 230000005540 biological transmission Effects 0.000 description 9
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 4
- 230000010365 information processing Effects 0.000 description 2
- 241000282461 Canis lupus Species 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/0033—Correction by delay
- H04L7/0041—Delay of data signal
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)
- Information Transfer Systems (AREA)
- Pulse Circuits (AREA)
Abstract
최근 들어, CPU(central processing unit)와 같은 마스터 회로(master circuit)의 클럭 속도가 증가함에 따라 반도체 메모리 장치 및 시스템 버스와 같은 슬레이브 회로의 클럭 속도가 증가하고 있다. 슬레이브 회로는 클럭 및 데이터 경로들을 통해 마스터 회로와 외부 인터페이스를 수행하는데, 상기 회로들 사이에 인터페이스 되는 클럭 신호들에는 마더보드(mother board)의 구조에 의한 딜레이(delay)가 존재한다. 회로들의 클럭 속도들이 증가함에 따라 데이터를 로딩/언로딩(loading/unloading)하기 위한 오퍼레이팅 마진(operating margin)이 줄어든다. 따라서, 상기 회로들 사이에 결함 없이 데이터를 전송하기가 어렵다. 따라서, 회로들 사이의 데이터 전송을 안정화하기 위해, 본 발명에 의한 마스터 회로는 상기 딜레이를 자동으로 검출하고, 상기 딜레이에 상응하는 클럭들을 포워딩하기(앞서 전송하기) 위한 클럭 포워딩 회로(clock forwarding circuit)를 포함한다. 상기 회로들 사이의 데이터 전송은, 클럭들의 포워딩에 의해서 딜레이에 영향을 받지 않고 결함 없이 수행될 수 있다.
Description
본 발명은 디지털 정보처리용 집적회로(digital information processing IC)에 관한 것으로, 좀 더 구체적으로는 자동 클럭 딜레이 검출 및 초기 파라미터 셋팅 특성을 가진 클럭 포워딩 회로에 관한 것이다.
도 1은 마이크로프로세서(예를 들면 CPU)와 같은 마스터 회로(master circuit ; 10), 그리고 반도체 메모리 장치 및 시그널 버스(또는 시스템 버스)와 같은 슬레이브 회로(slave circuit ; 20)를 포함하는 시스템을 개략적으로 보여주기 위한 블록도 이다.
도 1을 참조하면, 슬레이브 회로(20)는 클럭 및 데이터 경로들을 통해서 마스터 회로(10)와 외부 인터페이스를 수행한다. 마스터 회로(10)는 클럭 신호(CLK_OUT)와 데이터(DATA_OUT)를 슬레이브 회로(20)로 발생한다. 슬레이브 회로(20)는 상기 클럭 신호(CLK_OUT)와 데이터(DATA_OUT)를 받아들이고, 클럭 신호(CLK_IN)와 데이터(DATA_IN)를 마스터 회로(10)로 발생한다. 여기서, 입력 클럭 신호(CLK_IN)는 출력 클럭 신호(CLK_OUT)의 피드백 클럭 신호(feedback clock signal)이다. 마스터 회로(10)는, 슬레이브 회로(20)로부터의 데이터(DATA_IN)를 로딩하는데 입력 클럭 신호(CLK_IN)를 사용하고, 로딩된 입력 데이터(DATA_IN)를 내부에서 처리하는데 출력 클럭 신호(CLK_OUT)를 사용한다.
도 2A-2C는 도 1에 도시된 마스터 회로(10)의 입력 및 출력 신호들의 관계를 보여주기 위한 타이밍도 이다. 도면을 참조하면, 클럭 신호들(CLK_IN, CLK_OUT) 사이에는 딜레이(delay)가 존재하는데, 이는 마스터 회로(10)와 슬레이브 회로(20)를 포함하는 마더보드(motherboard)의 구성에 기인한다. 이와 같은 딜레이는, 회로들의 낮은 클럭 속도 때문에 과거에는 아무런 문제도 발생시키지 않았다. 도 2A에 도시된 바와 같이, 낮은 클럭 속도는 마스터 회로(10)의 데이터 로딩(loading) 및 언로딩(unloading) 동작들을 위해 충분한 오퍼레이팅 마진(operating margin)을 보장한다. 그러나, 최근 들어 마스터 회로(10) 및 슬레이브 회로(20)들의 클럭 속도가 높아지는 경향이 있다. 도 2B에 도시된 바와 같이, 마스터 회로(10) 및 슬레이브 회로(20)의 클럭 속도가 증가함에 따라 오퍼레이팅 마진은 감소한다. 그 결과, 슬레이브 회로(20)에서 마스터 회로(10)로의 데이터 전송에 오류가 발생될 수 있다.도 2C를 참조하면, 만약 오퍼레이팅 마진을 보장할 수 없을 정도로 클럭 속도가 빨라지면, 상기 데이터(DATA_IN)를 마스터 회로(10)로 안전하게 전송하는 것은 더욱 어렵게 된다. 오퍼레이팅 마진 없이 출력 클럭 신호(CLK_OUT)가 입력 클럭 신호(CLK_IN) 보다 앞서기 때문에, 마스터 회로(10)의 데이터 언로딩 동작은 데이터 로딩 동작 이후에 수행될 수 없게 되는 것이다. 특히, 고성능 컴퓨터 시스템에 있어서, 이러한 인터페이스 문제를 피하는 것은 처리 속도(processing speed)가 증가함에 따라 어려워지고 있다. 이러한 문제를 해결하기 위한 한 방법이 바로 클럭 포워딩 방법(clock forwarding method)이다.
도 3은 도 1에 도시된 마스터 회로의 클럭 포워딩 방법에 의한 입력 및 출력 클럭 신호들의 관계를 보여주기 위한 타이밍도 이다. 이 방법에서, 딜레이에 상응하는 몇몇 클럭 주기들은 도 1에 도시된 클럭 포워딩 회로(100)에 의해서 출력 클럭 신호(CLK_OUT)에 앞서서 전송된다(즉, 포워드 된다). 그 결과, 마스터 회로(10)의 데이터 언로딩 동작은 데이터 로딩 동작 이후에 수행될 수 있게 된다. 그러므로, 슬레이브 회로(20)로부터 입력된 데이터(DATA_IN)는 마스터 회로(10)로 정확하게 전송될 수 있다.
클럭들의 포워딩을 위해서, 클럭 포워딩 회로(100)의 데이터 로딩/언로딩 초기 파라미터들(initial parameters)을 결정할 필요가 있다. 일반적으로, 이 초기 파라미터들은 마더보드 디자이너에 의해서 미리 결정되고, 고정된 값으로 상기 클럭 포워딩 회로(100)에 연결된 외부 ROM(read only memory) (미 도시됨) 에 저장된다. 전원이 인가된 후 마스터 회로(10)가 초기화 될 때, 초기 파라미터들은 클럭들의 포워딩을 위해 클럭 포워딩 회로(100)에 로딩된다. 이 초기 파라미터에 기초한 클럭 포워딩에 의해서, 슬레이브 회로(20)로부터 로딩된 입력 데이터는 아무런 오류도 발생하지 않고 마스터 회로(10)로 안전하게 언로딩 될 수 있다.
클럭 포워딩 방법에 대한 예는, 1989년 3월 7일 Sager et al.에 의해 등록된 U.S. Pat. No. 4,811,364, 'METHOD AND APPARATUS FOR STABILIZED DATA TRANSMISSION', 1990년 12월 18일 Sager et al.에 의해 등록된 U.S. Pat. No. 4,979,190, 'METHOD AND APPARATUS FOR STABILIZED DATA TRANSMISSION', 그리고 1985년 6월 25일 Wolf에 의해 등록된 U.S. Pat. No. 4,525,849, 'DATA TRANSMISSION FACILITY BETWEEN TWO ASYNCHRONOUSLY CONTROLLED DATA PROCESSING SYSTEMS WITH A BUFFER MEMORY'이 있다.
앞에서 설명한 바와 같이, 클럭들을 포워딩 하기 위한 초기 파라미터들은, 마더보드 디자이너에 의해 제공되므로, 인건비의 증가에 비례해서 생산단가가 증가된다. 뿐만 아니라, 초기 파라미터들이 외부 ROM에 고정된 값으로 저장되기 때문에, 제품 편차에 의한 데이터 전송 오류가 발생할 수 있으므로, 회로들 사이의 데이터 전송을 안정화하기 어려운 문제가 있다.
따라서, 본 발명의 목적은 상술한 제반 문제점을 해결하기 위해 제안된 것으로, 회로들 사이의 데이터 전송을 안정화하기 위해, 인터페이스 클럭들 사이의 딜레이를 자동으로 검출하고 데이터 로딩/언로딩 초기 파라미터들을 셋팅할 수 있는 디지털 정보처리 IC를 제공하는데 있다.
도 1은 마스터 회로와 슬레이브 회로를 구비한 디지털 시스템의 구성을 개략적으로 보여주기 위한 블록도;
도 2A-2C는 도 1에 도시된 마스터 회로의 입력 및 출력 클럭 신호들의 관계를 보여주기 위한 타이밍도;
도 3은 도 1에 도시된 마스터 회로의 클럭 포워딩 방법에 의한 입력 및 출력 클럭 신호들의 관계를 보여주기 위한 타이밍도;
도 4는 본 발명에 의한 마스터 회로의 클럭 포워딩 회로를 개략적으로 보여주기 위한 블록도;
도 5는 도 4에 도시된 딜레이 검출 회로를 보여주기 위한 회로도;
도 6은 도 5에 도시된 딜레이 검출 회로의 동작을 보여주기 위한 타이밍도;
도 7은 도 5에 도시된 딜레이 검출 회로에 의해서 검출된 최대 딜레이에 대응되는 초기 파라미터를 보여주기 위한 도면;
도 8은 도 4에 도시된 로드/언로드 클럭 제어 로직을 보여주기 위한 회로도;
도 9는 도 8에 도시된 로드/언로드 클럭 제어 로직의 동작을 보여주기 위한타이밍도;
도 10은 도 4에 도시된 로드/언로드 멀티플렉서를 보여주기 위한 회로도; 그리고
도 11은 도 4에 도시된 클럭 포워딩 회로의 동작을 보여주기 위한 타이밍도.
*도면의 주요 부분에 대한 부호의 설명*
100 : 클럭 포워딩 회로 110 : 클럭 제너레이터
120 : 출력 클럭 제어 로직 130 : 내부 데이터 버스
140 : 입력 클럭 제어 로직 150 : 로드/언로드 클럭 제어 로직
160 : 로드/언로드 멀티플렉서 170 : 데이터 제어 로직
180 : 딜레이 검출 회로
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면, 디지털 시스템은, 클럭 포워딩 회로를 구비하고, 제 1 클럭 신호를 발생하기 위한 마스터 회로와, 상기 마스터 회로에 연결되어 상기 제 1 클럭 신호에 동기된 제 2 클럭 신호를 발생하기 위한 슬레이브 회로를 포함한다. 상기 클럭 포워딩 회로는 제 2 클럭 신호를 받아들이고, 제 1 및 제 2 클럭 신호들 사이의 딜레이를 검출하고, 그리고 상기 검출된 딜레이를 기초로 하여 상기 마스터 회로의 데이터 로드/언로드 초기 값을 셋팅한다.
(실시예)
이하 본 발명에 따른 실시예를 첨부된 도면 도 4 내지 도 11을 참조하여 상세히 설명한다.
본 발명의 신규한 클럭 포워딩 회로는 데이터 전송을 안정화하기 위해서, 인터페이스 클럭들이 가지고 있는 딜레이를 자동으로 검출하고, 검출된 딜레이에 상응하는 클럭들을 포워딩 한다(즉, 앞서 전송한다). 그 결과, 상기 회로들 사이의 데이터 전송은, 클럭들의 포워딩에 의해서 딜레이에 영향을 받지 않고 결함 없이 수행될 수 있다.
도 4는 본 발명에 의한 마스터 회로의 클럭 포워딩 회로를 개략적으로 보여주기 위한 블록도 이다. 도 4를 참조하면, 클럭 포워딩 회로(100)는 클럭 제너레이터(clock generator ; 110), 출력 클럭 제어 로직(output clock control logic ; 120), 내부 데이터 버스(internal data bus ; 130), 입력 클럭 제어 로직(inputclock control logic ; 140), 로드/언로드 클럭 제어 로직(load/unload clock control logic ; 150), 로드/언로드 멀티플렉서(loading/unloading multiplexer ; 160), 데이터 제어 로직(data control logic ; 170), 그리고 딜레이 검출 회로(delay detection circuit ; 180)를 포함한다.
클럭 제너레이터(110)는 데이터 입력 및 출력을 위한 비트 클럭을 발생한다. 출력 클럭 제어 로직(120)은, 클럭 제너레이터(110)로부터의 클럭 신호를 제어하여 출력 클럭 신호(CLK_OUT)를 슬레이브 회로로 발생한다. 이 때, 마스터 회로의 내부 데이터 버스(130)로부터 전송된 출력 데이터(DATA_OUT)는, 데이터 제어 로직(170)을 통해 슬레이브 회로로 출력된다.
상기 마스터 회로와 외부 인터페이스를 수행하는 슬레이브 회로는, 마스터 회로로부터의 클럭 신호(CLK_OUT)와 데이터(DATA_OUT)를 받아들이고, 입력 클럭 신호(CLK_IN)와 입력 데이터(DATA_IN)를 마스터 회로의 클럭 포워딩 회로(100)로 출력한다. 이 입력 클럭 신호(CLK_IN)는 출력 클럭 신호(CLK_OUT)의 피드백 클럭 신호(feedback clock signal)로서, 두 클럭 신호들(CLK_IN, CLK_OUT) 사이에는 딜레이가 존재한다. 이 딜레이는 마스터 회로와 슬레이브 회로를 포함하는 마더보드의 구조에 의해 발생된다.
상기 회로들 사이의 데이터 전송을 안정화하기 위해서, 딜레이 검출 회로(180)는 자동으로 상기 딜레이를 검출하고 딜레이에 대응되는 초기 파라미터(Init_UNLD)를 로드/언로드 클럭 제어 로직(150)으로 발생한다. 로드/언로드 클럭 제어 로직(150)은, 입력 클럭 신호(CLK_IN) 및 입력 클럭 제어 로직(140)으로부터 제어된 클럭 신호(CLK_OUT')에 응답해서, 다수 개의 로드 제어 신호들(LDs) 및 다수 개의 언로드 제어 신호들(UNLDs)을 로드/언로드 멀티플렉서(160)로 발생한다. 로드/언로드 멀티플렉서(160)에서 상기 로드 및 언로드 제어 신호들(LD, UNLD)은, 그것들의 초기 값에서부터 발생되기 시작된다. 언로드 제어 신호의 초기 값은 상기 초기 파라미터(Init_UNLD)에 의해서 셋팅되고, 로드 제어 신호의 초기 값은 '00'으로 셋팅 된다. 이렇게 발생된 상기 로드 및 언로드 제어 신호들(LDs, UNLDs)에 의해서 로드/언로드 멀티플렉서(160)는 입력 데이터(DATA_IN)를 로딩할 수 있고, 그리고 로딩된 입력 데이터(DATA_IN)를 상기 딜레이에 영향을 받지 않고 데이터 제어 로직(170)을 통해 마스터 회로로 오류 없이 언로딩 할 수 있다
도 5는 도 4에 도시된 딜레이 검출 회로를 보여주기 위한 회로도이다. 도 5를 참조하면, 딜레이 검출 회로(180)는 검출 유닛(188), 비교 유닛(195) 및 제어 유닛(198)을 포함한다.
검출 유닛(188)은 입력 클럭 신호(CLK_IN)와 출력 클럭 신호(CLK_OUT) 사이의 딜레이를 검출한다. 비교 유닛(195)은 N 개의 검출된 딜레이들을 비교하고, 모든 검출된 딜레이들이 일치하면 비교된 결과를 초기 파라미터(Init_UNLD)로서 로드/언로드 클럭 제어 로직(150)으로 출력한다. 반면, 만약 모든 검출된 딜레이들이 일치하지 않으면 제어 유닛(198)은 클럭 제너레이터(110) 및 검출 유닛(188)을 리셋 한다. 그리고 나서, 제어 유닛(198)은, 클럭 제너레이터(110)의 상태가 복원된 후(즉, 릴리즈(release)된 후) 모든 검출된 딜레이들이 일치할 때까지 N 비트프리 런닝(N bit free running)에 의해 검출된 딜레이들을 비교한다.
상기 검출 유닛(188)은 카운팅 회로(181)와 딜레이 검출 회로(184)를 포함한다. 카운팅 회로(181)는 제 1 D-플립플롭(182)과 제 2 D-플립플롭(183)을 포함한다. 각각의 플립플롭은 마스터 회로로부터의 출력 클럭 신호(CLK_OUT)에 응답해서 토글링 동작을 수행한다. 그리고, 딜레이 검출 회로(184)는 제 3 D-플립플롭(185), 제 4 D-플립플롭(186) 및 R-S 플립플롭(187)을 포함한다. 제 1 D-플립플롭(182)의 출력은 제 3 D-플립플롭(185)의 입력과 연결되고, 제 2 D-플립플롭(183)의 출력은 제 4 D-플립플롭(186)의 입력과 연결된다. 제 3 D-플립플롭(185) 및 제 4 D-플립플롭(186)은 카운팅 회로(181)에서 카운팅 된 결과와 슬레이브 회로로부터 입력된 입력 클럭 신호(CLK_IN)에 응답해서 딜레이를 검출한다. 상기 입력 클럭 신호(CLK_IN)는 R-S 플립플롭(187)을 통해 제 3 D-플립플롭(185) 및 제 4 D-플립플롭(186)으로 클럭 신호로서 입력된다.
비교 유닛(195)은 래칭 회로(192)와 비교기(193)를 포함한다. 래칭 회로(192)는, N 비트 프리 런닝에 의해 검출 유닛(188)으로부터 검출된 딜레이들 각각의 MSB(most significant bit)와 LSB(least significant bit)를 래칭하기 위한 디멀티플렉서(de-multiplexer ; 191)와 N개의 래치들을 포함한다. 비교기(193)는 두 개의 XOR(exclusive-OR) 게이트와 하나의 NOR 게이트를 가지는데, 각각의 XOR 게이트는 검출된 딜레이의 MSB N개와 LSB N개를 디멀티플렉서(191)를 통해 각각 받아들인다. XOR 게이트들은, 검출된 결과들이 모두 같은지 아닌지 검출된 결과들의 MSB들과 LSB들을 비교하고, 비교된 결과들을 NOR 게이트로 출력한다. 만약 검출된결과들이 모두 같다면, NOR 게이트는 논리 하이 레벨('1')을 출력한다. 이 경우, 상기 MSB 및 LSB는 로드/언로드 클럭 제어 로직(150)에 초기 파라미터(Init_UNLD)로서 출력된다. 반면에, 만약 검출된 결과들이 모두 같지 않다면, NOR 게이트는 논리 로우 레벨('0')을 출력한다. 이 경우, 제어 유닛(198)은 올바른 딜레이가 검출되지 않았다고 판별하고 클럭 제너레이터(110) 및 검출 유닛(188)을 리셋 한다.
제어 유닛(198)은 시스템 클럭 제어 로직(system clock control logic ; 196)과 N 비트 프리 런닝 카운터/디코더(N bit free running counter/decoder ; 197)를 포함한다. N 비트 프리 런닝 카운터/디코더(197)는 시스템 클럭 제어 로직(196)과 래칭 회로(192) 사이에 연결된다. N 비트 프리 런닝 카운터/디코더(197)는 상기 비교기(193)의 출력이 '0'일 때 인에이블 되어 N 비트 프리 런닝을 수행하고, 상기 클럭 제너레이터(110)로부터의 클럭 신호를 상기 래치회로(192)의 래치들로 공급하기 위해 디멀티플렉서(191)를 제어한다. 시스템 클럭 제어 로직(196)은 비교기(193), 검출 유닛(188), N 비트 프리 런닝 카운터/디코더(197), 그리고 클럭 제너레이터(110)에 연결된다. 만약 비교기(193)가 시스템 클럭 제어 로직(196)으로 '0'을 출력하면, 시스템 클럭 제어 로직(196)은 클럭 제너레이터(110)와 검출 유닛(188)을 리셋 한다. 리셋 된 클럭 제너레이터(110)가 전상 상태로 되돌아오면, 시스템 클럭 제어 로직(196)은 클럭 제너레이터(110)로부터의 클럭 신호를 N 비트 프리 런닝 카운터/디코더(197)로 전송한다.
도 6은 도 5에 도시된 딜레이 검출 회로의 동작을 보여주기 위한 타이밍도 이다. 도 5 및 도 6을 참조하면, 제 1 및 제 2 D 플립플롭들(182, 183)은 출력 클럭 신호(CLK_OUT)에 응답해서 토글링 동작을 수행한다. 파형 F/F<1>는 제 1 D 플립플롭(182)의 토글 결과이고, 파형 F/F<0>는 제 2 D 플립플롭(183)의 토글 결과이다. 딜레이 검출 회로(184)는, 토글 결과 F/F<1> 및 F/F<0>, 그리고 입력 클럭 신호(CLK_IN)에 응답해서 출력 클럭 신호(CLK_OUT)와 입력 클럭 신호(CLK_IN) 사이의 딜레이를 검출한다. 도 6에 도시된 바와 같이, 만약 최대 딜레이가 1 비트 타임(bit time) 보다 크고 2 비트 타임 보다 작다면, 검출된 딜레이는 '11'이 된다. 이는 입력 클럭 신호(CLK_IN)의 상승 에지(rising edge)에서의 토글 된 결과 F/F<0> 및 F/F<1>에 의해 결정된다. 그리고, 앞에서 설명한 바와 같이, N 개의 검출된 딜레이가 모두 같지 않으면, 시스템 클럭 제어 로직(196)은 리셋 신호(Reset)를 이용해 클럭 제너레이터(110)와 검출 유닛(188)을 리셋 한다. 리셋 된 클럭 제너레이터(110)가 정상 상태로 릴리즈 되면, 상기의 클럭 포워딩 방법은 검출된 딜레이들이 모두 같을 때까지 반복된다.
도 7은 도 5에 도시된 딜레이 검출 회로에 의해서 검출된 최대 딜레이에 대응되는 초기 파라미터를 보여주기 위한 도면이다. 도 7을 참조하면, 초기 파라미터(Init_UNLD)는 검출된 최대 딜레이에 의해 결정된다. 도 6 및 도 7에 도시된 바와 같이, 만약 최대 딜레이가 1 비트 타임 보다 크고 2 비트 타임 보다 작다면, 초기 파라미터(Init_UNLD)는 '11'로 결정된다. 왜냐하면, 이 때 패치 된 결과 F<1:0>가 '11' 이기 때문이다. 그리고, 예를 들어, 만약 최대 딜레이가 1 보다 작다면, 초기 파라미터(Init_UNLD)는 '01'로 결정된다.
도 8은 도 4에 도시된 로드/언로드 클럭 제어 로직을 보여주기 위한 회로도이다. 그리고 도 9는 도 8에 도시된 로드/언로드 클럭 제어 로직의 동작을 보여주기 위한 타이밍도 이다.
도 8을 참조하면, 로드/언로드 클럭 제어 로직(150)은 언로드 제어신호 발생회로(152) 및 로드 제어신호 발생회로(154)를 포함한다. 언로드 제어신호 발생회로(152)는, 클럭 제어 로직(140)에서 제어된 클럭 신호(CLK_OUT')와 딜레이 검출회로(180)로터 검출된 초기 파라미터(Init_UNLD)를 받아들여서 다수 개의 언로드 제어 신호들(UNLDs)을 발생하기 위한 두 개의 D 플립플롭들을 포함한다. 언로드 제어 신호(UNLD)의 초기 값은 초기 파라미터(Init_UNLD)에 의해 셋팅된다. 이와 유사하게, 로드 제어신호 발생회로(154)는, 슬레이브 회로로부터의 입력 클럭 신호(CLK_IN)에 응답해서 다수 개의 로드 제어 신호들(LDs)을 발생하기 위한 두 개의 D 플립플롭들을 포함하며, 로드 제어 신호(LD)의 초기 값은 '00'으로 셋팅된다.
도 9를 참조하면, 만약 언로드 제어 신호(UNLD)의 초기 값이 '11'로 셋팅되면, 언로드 제어 신호(UNLD)는 상기 클럭 신호(CLK_OUT')에 응답해서 '10', '00', '01', 그리고 '11'의 순서로 반복해서 발생된다. 그러나, 로드 제어 신호(LD)는 항상 입력 클럭 신호(CLK_IN)에 응답해서 '01', '11', '10', 그리고 '00'의 순서로 반복해서 발생된다.
도 10은 도 4에 도시된 로드/언로드 멀티플렉서를 보여주기 위한 회로도이다. 도 10을 참조하면, 로드/언로드 멀티플렉서(160)는 데이터 로딩 회로(161)와 데이터 언로딩 회로(166)를 포함한다. 데이터 로딩 회로(161)는 데이터 로딩 디코더(162)와 다수 개의 데이터 로딩 멀티플렉서들(163)을 포함한다. 데이터 언로딩 회로(166)는 데이터 언로딩 디코더(167)와 다수 개의 데이터 언로딩 멀티플렉서들(168)을 포함한다. 이 경우에 있어서, 입력되는 로드 제어 신호(LD) 및 언로드 제어 신호(UNLD)는 각각 4개씩이므로, 데이터 로딩 멀티플렉서들(163) 및 데이터 언로딩 멀티플렉서들(168)은 각각 4개의 멀티플렉서들로 구성된다.
각각의 데이터 로딩 멀티플렉서들(163)은, 디코딩 된 로드 제어 신호(LD)에 응답해서 슬레이브 회로로부터의 입력 데이터(DATA_IN)를 로딩한다. 마찬가지로, 각각의 데이터 언로딩 멀티플렉서들(168)은, 디코딩 된 언로드 제어 신호(UNLD)에 응답해서 로딩된 입력 데이터(DATA_IN)를 마스터 회로의 내부 데이터 버스로 언로딩 한다.
도 11은 도 4에 도시된 클럭 포워딩 회로의 동작을 보여주기 위한 타이밍도 이다. 도 10 및 도 11을 참조하면, 만약 언로드 컨트롤 신호(UNLD)의 초기 값이 '11'로 셋팅 되었다면, 언로드 컨트롤 신호(UNLD)는 출력 클럭 신호(CLK_OUT)에 응답해서 '10', '00', '01', 그리고 '11' 순서로 반복적으로 발생된다. 그리고 로드 컨트롤 신호(LD)는 입력 클럭 신호(CLK_IN)에 응답해서 '01', '11', '10', 그리고 '00' 순서로 반복적으로 발생된다. 이 때, 멀티플렉서들(163, 168)에 속한 각각의 멀티플렉서들은, 입력 데이터(DATA_IN)를 로드/언로드 하기 위해 로드 컨트롤 신호(LD) 및 언로드 컨트롤 신호(UNLD)에 응답해서 턴 온 된다.
만약 언로드 컨트롤 신호(UNLD)의 초기 값이 '11'로 셋팅 되었다면, 이는 최대 딜레이가 1 비트 타임 보다 크고 2 비트 타임보다 작다는 것을 의미한다. 따라서, 본 발명에 의한 클럭 포워딩 회로는, 두 회로 사이의 데이터 전송을 딜레이에 영향을 받지 않고 안정화시키기 위해 언로드 제어 신호들(UNLDs) '10' 및 '00'에 대응되는 두 클럭을 포워딩 한다(즉, 미리 전송한다).
그러므로, 클록들의 포워딩 후 각각의 데이터 로딩 멀티플렉서(163)는, '01', '11', '10' 및 '00' 순서의 로드 제어 신호(LD)에 응답해서 입력 데이터(DATA_IN)를 로딩하면, 데이터 언로딩 멀티플렉서(168)는, '01', '11', '10' 및 '00' 순서의 언로드 제어 신호(UNLD)에 응답해서 로딩된 입력 데이터(DATA_IN)를 로딩한다. 예를 들면, 로드 제어 신호(LD) '01'에 의해서 로딩된 입력 데이터(DATA_IN)는, 언로딩 제어 신호(UNLD) '01'에 의해서 마스터 회로로 언로딩 되어 딜레이에 영향을 받지 않고 데이터를 로딩/언로딩 할 수 있게 된다.
그 결과, 본 발명에 의한 클럭 포워딩 회로는, 인터페이스 클럭들 사이의 딜레이를 자동으로 검출하고 그 검출된 딜레이에 상응하는 클럭들을 포워딩 함으로써, 인터페이스 클럭들의 딜레이에 영향을 받지 않고 회로들 사이의 데이터 전송을 오류 없이 수행할 수 있다.
이상에서, 본 발명에 따른 회로의 구성 및 동작을 상기한 설명 및 도면에 따라 도시하였지만 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능함은 물론이다.
이와 같은 장치에 의해서, 회로들 사이의 인터페이스 클럭들 사이의 딜레이를 자동으로 검출하고 그 검출된 딜레이에 상응하는 클럭들을 포워딩 함으로써, 인터페이스 클럭들의 딜레이에 영향을 받지 않고 회로들 사이의 데이터 전송을 오류 없이 수행할 수 있다.
Claims (8)
- 청구항1는 삭제 되었습니다.
- 클럭 포워딩 회로에 있어서:클럭 신호를 발생하기 위한 클럭 제너레이터와;마스터 회로의 데이터 인터페이스를 위한 내부 데이터 버스와;상기 클럭 제너레이터와 상기 내부 데이터 버스에 연결되고, 상기 클럭 신호에 응답해서 데이터를 슬레이브 회로로 출력하기 위한 데이터 제어 로직과;상기 클럭 제너레이터에 연결되어, 상기 클럭 신호를 제어하여 제어된 클럭 신호를 출력 클럭 신호로서 상기 슬레이브 회로로 발생하기 위한 출력 클럭 제어 로직과;상기 출력 클럭 신호와 상기 출력 클럭 신호의 피드백 클럭 신호인 입력 클럭 신호 사이의 딜레이를 검출하고, 그리고 검출된 딜레이에 상응하는 클럭들을 포워딩하기 위한 초기 파라미터를 발생하기 위한 딜레이 검출 회로와;상기 딜레이 검출 회로와 상기 입력 클럭 제어 로직에 연결되고, 상기 초기 파라미터에 응답해서 로드 제어 신호들과 언로드 제어 신호들을 발생하기 위한 로드/언로드 클럭 제어 로직과;상기 클럭 제너레이터와 상기 로드/언로드 클럭 제어 로직 사이에 연결되어, 상기 클럭 제너레이터로부터의 상기 클럭 신호를 제어하여 제어된 클럭 신호를 상기 로드/언로드 클럭 제어 로직에 공급하기 위한 입력 클럭 제어 로직; 그리고상기 슬레이브 회로로부터의 입력 데이터를 로딩하고, 그리고 상기 로드/언로드 클럭 제어 로직으로부터의 로드 및 언로드 제어 신호들에 응답해서 상기 로딩된 입력 데이터를 상기 데이터 제어 로직을 통해 상기 마스터 회로의 상기 내부 데이터 버스로 언로딩하기 위한 로드/언로드 멀티플렉서를 포함하는 것을 특징으로 하는 자동 클럭 딜레이 검출 및 초기 파라미터 셋팅 특성을 가진 클럭 포워딩 회로.
- 제 2 항에 있어서,상기 딜레이 검출 회로는,상기 출력 클럭 신호와 상기 입력 클럭 신호 사이의 상기 딜레이를 검출하기 위한 검출 수단과;상기 검출된 딜레이들을 비교하고, 모든 검출된 딜레이들이 일치할 때 비교된 결과를 상기 초기 파라미터로서 상기 로드/언로드 클럭 제어 로직으로 발생하기 위한 비교 수단; 그리고상기 검출된 딜레이들이 모두 같지 않으면 상기 클럭제너레이터와 상기 검출 수단을 리셋하고, 그리고 상기 검출된 딜레이들이 모두 같을 때까지 N 비트 프리 런닝에 의해 상기 검출된 딜레이들을 비교하도록 상기 비교 수단을 제어하기 위한 제어 수단을 포함하며,상기 검출 수단은 N 개의 딜레이를 검출하는 것을 특징으로 하는 자동 클럭 딜레이 검출 및 초기 파라미터 셋팅 특성을 가진 클럭 포워딩 회로.
- 제 3 항에 있어서,상기 검출 수단은,두 개의 D 플립플롭으로 이루어진 카운팅 유닛; 그리고상기 카운팅 유닛으로부터 카운트 된 결과와 슬레이브 회로로부터의 입력 클럭 신호에 응답해서 상기 딜레이를 검출하기 위한 검출 유닛을 포함하며,상기 카운팅 유닛의 각각의 플립플롭들은 상기 마스터 회로로부터의 출력 클럭 신호에 응답해서 토글링하는 것을 특징으로 하는 자동 클럭 딜레이 검출 및 초기 파라미터 셋팅 특성을 가진 클럭 포워딩 회로.
- 제 3 항에 있어서,상기 비교 수단은,디멀티플렉서와 N 개의 래치를 구비하여, N 비트 프리 런닝에 의해 상기 검출 수단으로부터 검출된 딜레이들의 MSB(most significant bit) 및 LSB(least significant bit) 각각을 래칭하기 위한 래칭 유닛; 그리고상기 래칭 유닛으로부터의 MSB 및 LSB들 각각을 비교하고, 그리고 모든 MSB들과 모든 LSB들이 각기 같을 때 상기 MSB들 중 어느 하나와 LSB들 중 어느 하나를 상기 초기 파라미터로서 상기 로드/언로드 제어 로직으로 출력하기 위한 비교 유닛을 포함하는 것을 특징으로 하는 자동 클럭 딜레이 검출 및 초기 파라미터 셋팅 특성을 가진 클럭 포워딩 회로.
- 제 5 항에 있어서,상기 제어 수단은,N 비트 프리 런닝을 수행하기 위해 상기 디멀티플렉서를 제어하고, 그리고 상기 클럭 제너레이터로부터의 클럭 신호를 상기 래칭 유닛으로 공급하기 위한 N 비트 프리 런닝 카운터/디코더; 그리고상기 클럭 제너레이터와 상기 검출 수단을 리셋하고, 그리고 검출된 결과들이 모두 같지 않을 때 상기 N 비트 프리 런닝 카운터/디코더를 인에이블시키기 위한 시스템 클럭 제어 로직을 포함하며,상기 시스템 클럭 제어 로직은 상기 클럭 제너레이터가 정상 상태로 릴리즈 된 후 상기 클럭 신호를 상기 N 비트 프리 런닝 카운터/디코더로 공급하는 것을 특징으로하는 자동 클럭 딜레이 검출 및 초기 파라미터 셋팅 특성을 가진 클럭 포워딩 회로.
- 제 2 항에 있어서,상기 로드/언로드 제어 로직은,상기 슬레이브 회로로부터의 상기 입력 클럭 신호에 응답해서 다수 개의 로드 제어 신호들을 발생하기 위한 로드 제어 신호 발생 수단; 그리고상기 클럭 제어 로직으로부터의 제어된 클럭 신호에 응답해서 다수 개의 언로드 제어 신호들을 발생하기 위한 언로드 제어 신호 발생 수단을 포함하는 것을 특징으로 하는 자동 클럭 딜레이 검출 및 초기 파라미터 셋팅 특성을 가진 클럭 포워딩 회로.
- 제 2 항에 있어서,상기 로드/언로드 멀티플렉서는,데이터 로딩 디코더와 다수 개의 멀티플렉서들을 포함하고, 상기 로드 제어 신호들에 응답해서 상기 슬레이브 회로로부터 전송된 상기 입력 데이터를 로딩하기 위한 데이터 로딩 회로; 그리고데이터 언로딩 디코더와 다수 개의 멀티플렉서들을 포함하고, 상기 언로드 제어 신호들에 응답해서 상기 로딩된 입력 데이터를 상기 데이터 제어 로직을 통해 상기 마스터 회로로 언로딩하기 위한 데이터 언로딩 회로를 포함하는 것을 특징으로 하는 자동 클럭 딜레이 검출 및 초기 파라미터 셋팅 특성을 가진 클럭 포워딩 회로.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990033711A KR100336041B1 (ko) | 1999-08-16 | 1999-08-16 | 자동 클럭 딜레이 검출 및 초기 파라미터 셋팅 특성을 가진 클럭 포워딩 회로 |
US09/449,147 US6577692B1 (en) | 1999-08-16 | 1999-11-24 | Clock forwarding circuit with automatic clock delay detection and initial parameter setting features |
JP2000051928A JP4514272B2 (ja) | 1999-08-16 | 2000-02-28 | デジタルデータ処理回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990033711A KR100336041B1 (ko) | 1999-08-16 | 1999-08-16 | 자동 클럭 딜레이 검출 및 초기 파라미터 셋팅 특성을 가진 클럭 포워딩 회로 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010017953A KR20010017953A (ko) | 2001-03-05 |
KR100336041B1 true KR100336041B1 (ko) | 2002-05-08 |
Family
ID=19607365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990033711A KR100336041B1 (ko) | 1999-08-16 | 1999-08-16 | 자동 클럭 딜레이 검출 및 초기 파라미터 셋팅 특성을 가진 클럭 포워딩 회로 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6577692B1 (ko) |
JP (1) | JP4514272B2 (ko) |
KR (1) | KR100336041B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100524933B1 (ko) | 2002-10-28 | 2005-10-31 | 삼성전자주식회사 | 클럭 지연 검출 회로 및 클럭 지연 검출 방법 |
KR100855430B1 (ko) * | 2002-11-28 | 2008-09-01 | 엘지노텔 주식회사 | 시스템의 대기시간 설정 장치 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3213345C2 (de) | 1982-04-08 | 1984-11-22 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Datenübertragungseinrichtung zwischen zwei asynchron gesteuerten Datenverarbeitungssystemen |
US4979190A (en) | 1988-04-01 | 1990-12-18 | Digital Equipment Corporation | Method and apparatus for stabilized data transmission |
US4811364A (en) | 1988-04-01 | 1989-03-07 | Digital Equipment Corporation | Method and apparatus for stabilized data transmission |
JPH05128061A (ja) * | 1991-11-08 | 1993-05-25 | Canon Inc | インターフエイス回路 |
GB2271251B (en) * | 1992-10-01 | 1996-08-14 | Digital Equipment Int | Timer synchronisation system |
US6084934A (en) * | 1997-03-06 | 2000-07-04 | International Business Machines Corporation | Natural throttling of data transfer across asynchronous boundaries |
KR100255664B1 (ko) * | 1997-12-29 | 2000-05-01 | 윤종용 | 반도체 집적회로의 클락 포워딩 회로 및 클락포워딩 방법 |
US6236623B1 (en) * | 1998-10-16 | 2001-05-22 | Moore Industries | System and method for synchronizing clocks in a plurality of devices across a communication channel |
-
1999
- 1999-08-16 KR KR1019990033711A patent/KR100336041B1/ko not_active IP Right Cessation
- 1999-11-24 US US09/449,147 patent/US6577692B1/en not_active Expired - Lifetime
-
2000
- 2000-02-28 JP JP2000051928A patent/JP4514272B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001051944A (ja) | 2001-02-23 |
JP4514272B2 (ja) | 2010-07-28 |
KR20010017953A (ko) | 2001-03-05 |
US6577692B1 (en) | 2003-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8125246B2 (en) | Method and apparatus for late timing transition detection | |
CN109074332B (zh) | 用于控制输入信号路径上的等待时间的设备 | |
US7737746B2 (en) | DLL circuit and method of controlling the same | |
JPH07306827A (ja) | P/q整数比関係を有する周波数で動作するディジタル装置間で同期データ伝送を行うための方法および装置 | |
US6078202A (en) | Semiconductor device having portions that operate at different frequencies, and method of designing the device | |
US5761517A (en) | System and method for reducing power consumption in high frequency clocked circuits | |
US7612597B2 (en) | Electronic circuit | |
US6769044B2 (en) | Input/output interface and semiconductor integrated circuit having input/output interface | |
KR100498473B1 (ko) | 제어신호 발생회로 및 상기 제어신호 발생회로를 구비하는데이터 전송회로 | |
JP2009177659A (ja) | パルスラッチ回路 | |
KR100336041B1 (ko) | 자동 클럭 딜레이 검출 및 초기 파라미터 셋팅 특성을 가진 클럭 포워딩 회로 | |
US7863990B2 (en) | Oscillation circuit, test apparatus and electronic device | |
US11152042B2 (en) | Inversion signal generation circuit | |
US20180239530A1 (en) | Methods and apparatus for reduced area control register circuit | |
US6205192B1 (en) | Clock input control circuit | |
US6774823B1 (en) | Clock synchronization logic | |
KR100524933B1 (ko) | 클럭 지연 검출 회로 및 클럭 지연 검출 방법 | |
US7212138B1 (en) | Delay-based analog-to-digital converter | |
KR20020037525A (ko) | 지연 락 루프 회로를 구비한 동기형 반도체 메모리 장치 | |
US6819726B2 (en) | Dynamic phase alignment circuit | |
US6765419B2 (en) | Dynamic delay line control | |
US7102397B2 (en) | Method and system for ensuring the assertion order of signals in a chip independent of physical layout | |
KR100997436B1 (ko) | 반도체 메모리장치의 펄스생성회로 및 방법 | |
JP2011138294A (ja) | 半導体集積回路装置およびキャッシュメモリ制御方法 | |
JP2005175790A (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 | ||
FPAY | Annual fee payment | ||
LAPS | Lapse due to unpaid annual fee |