일반적으로, DDR SDRAM(Double Data Rate Synchronous DRAM)과 같은 동기식 반도체 메모리 장치는 외부클럭(CLK_EXT)에 응답하여 외부에서 데이터를 입력받거나 외부로 데이터를 출력한다. 하지만, 반도체 메모리 장치 내부에서는 일반적으로 내부클럭에 응답하여 데이터를 처리한다. 데이터 입장에서 보면 데이터에 동기되는 클럭이 변하는 것으로, 이를 일반적으로 "도메인 크로싱(domain crossing)"이라 한다.
반도체 메모리 장치 내에는 이러한 도메인 크로싱을 보장해 주기 위한 여러 가지 회로가 구비되어 있으며, 이런 회로 중에는 출력인에이블 신호 생성장치가 있다. 출력인에이블 신호 생성장치는 내부클록에 동기되어 전달되는 데이터가 카스레 이턴시 이후 마치 외부클럭(CLK_EXT)에 동기되어 출력되는 것을 보장해 주기 위한 회로이다.
도 1은 종래의 출력인에이블 신호 생성장치를 설명하기 위한 블록도이다.
도 1을 참조하면, 출력인에이블 신호 생성장치는 카운터 리셋신호 생성부(10)와, 초기화부(20)와, DLL클럭 카운팅부(30)와, 지연모델부(40)와, 외부클럭 카운팅부(50)와, 래칭부(60), 및 비교부(70)를 구비하고 있다.
카운터 리셋신호 생성부(10)는 외부명령(예컨대, /RAS, /CAS, /CS, /WE)에 대응하는 리셋신호(RST)와 DLL 클럭(CLK_DLL)에 응답하여 제1 리셋신호(RST_DLL)를 출력한다.
초기화부(20)는 제1 리셋신호(RST_DLL)에 응답하여 카스레이턴시(CL)에 대응하는 초기 카운팅 값을 DLL클럭 카운팅부(30)에 제공한다. 아래 [표 1]에는 카스레이턴시(CL) 3에서 카스레이턴시(CL) 7에 대응하는 초기 카운팅 값과 그에 따라 초기화부(20)에서 출력되는 신호(S<0:2>)가 나타나 있다.
CL |
초기 카운팅 값 |
S<2> |
S<1> |
S<0> |
3 4 5 6 7 |
5 4 3 2 1 |
1 1 0 0 0 |
0 0 1 1 0 |
1 0 1 0 1 |
도 2는 도 1의 초기화부(20)를 설명하기 위한 회로도이다.
도 2를 참조하면, 초기화부(20)는 제1 리셋신호(RST_DLL)에 응답하여 활성화(enable)되고, 카스레이턴시(CL)에 따라 DLL클럭 카운팅부(30)를 초기화하기 위한 출력신호(S<0:2>, R<0:2>)를 생성한다. 여기서, 카스레이턴시(CL)는 모드레지스터 셋(Mode Register Set : 도시되지 않음)에서 출력되는 신호로서, 읽기명령(RD, 도 4참조) 이후 데이터가 출력되는데 까지의 외부클럭(CLK_EXT) 개수에 관한 정보를 가지고 있다.
한편, 다시 도 1을 참조하면 DLL클럭 카운팅부(30)는 DLL 클럭(CLK_DLL)에 따라 초기 카운팅 값에서부터 카운팅하여 DLL클럭 카운팅 값(CNT_DLL<0:2>)을 출력한다. 예컨데, 카스레이턴시(CL)에 따라 초기 카운팅 값이 4로 설정되어 있다면 DLL클럭 카운팅부(30)는 DLL 클럭(CLK_DLL)에 따라 4에서부터 카운팅을 시작한다.
지연 모델부(40)는 DLL 클럭(CLK_DLL)이 데이터가 출력되기까지의 지연요소를 모델링(modeling)한 것으로, 제1 리셋신호(RST_DLL)에 모델링한 지연시간을 반영하여 제2 리셋신호(RST_CLK)를 생성한다.
외부클럭 카운팅부(50)는 제2 리셋신호(RST_CLK)에 응답하여 외부클럭(CLK_EXT)을 카운팅하고, 래칭부(60)는 읽기명령(RD)에 응답하여 외부클럭 카운팅부(50)의 출력신호(CNT_CLK<0:2>)를 래칭하고 외부클럭 카운팅 값(CNT_RD<0:2>)으로서 출력한다.
비교부(70)는 DLL클럭 카운팅 값(CNT_DLL<0:2>)과 외부클럭 카운팅 값(CNT_RD<0:2>)을 비교하여 두 값이 동일한 경우 출력인에이블 신호(OE)를 출력한다.
도 3은 도 1의 비교부(70)를 설명하기 위한 회로도이다.
도 3을 참조하면, 비교부(70)는 3비트 DLL클럭 카운팅 값(CNT_DLL<0:2>)과 3비트 외부클럭 카운팅 값(CNT_RD<0:2>)을 비교하기 위한 구성으로, DLL클럭 카운팅 값(CNT_DLL<0:2>)과 외부클럭 카운팅 값(CNT_RD<0:2>)이 동일한 경우 활성화되는 출력인에이블 신호(OE)를 출력한다. 참고적으로, 데이터는 출력인에이블 신호(OE)와 버스트 랭스(burst length) 정보에 대응하여 출력된다.
도 4와 도 5는 도 1의 출력인에이블 신호 생성장치의 동작 타이밍을 설명하기 위한 타이밍도이다. 도 4는 카스레이턴시(CL)가 4인 경우로 도 1과 도 4를 참조하여 설명하기로 한다.
우선, 카스레이턴시(CL)가 4이기 때문에 초기화부(20)의 초기 카운팅 값은 표 1에 따라 4로 설정된다. 제1 리셋신호(RST_DLL)가 논리'로우'가 되면 DLL클럭 카운팅부(30)는 DLL 클럭(CLK_DLL)에 응답하여 초기 카운팅 값인 4에서부터 카운팅하는 DLL클럭 카운팅 값(CNT_DLL<0:2>)을 출력한다.
한편, 제1 리셋신호(RST_DLL)에 지연모델부(40)의 지연시간이 반영된 이후 제2 리셋신호(RST_CLK)가 논리'로우'가 되면 외부클럭 카운팅부(50)는 외부클럭(CLK_EXT)에 응답하여 카운팅을 시작한다.
이때, 읽기명령(RD)이 입력되면 래칭부(60)는 외부 클럭(CLK_EXT)을 카운팅 한 값(CNT_CLK<0:2>)인 2를 래칭하고 외부클럭 카운팅 값(CNT_RD<0:2>)으로 출력한다. 비교부(70)는 DLL클럭 카운팅 값(CNT_DLL<0:2>)과 외부클럭 카운팅 값(CNT_RD<0:2>)을 비교하여 동일한 경우, 즉, DLL클럭 카운팅 값(CNT_DLL<0:2>)이 2가 되면 출력 인에이블 신호(OE)를 출력한다. 데이터(D0, D1, D2, D3)는 이렇게 생성된 출력 인에이블 신호(OE)를 이용하여 출력단(DQ)으로 출력된다.
도 5는 카스레이턴시(CL)가 5인 경우로 도 1과 도 5를 참조하여 설명하기로 한다.
우선, 카스레이턴시(CL)가 5이기 때문에 초기화부(20)의 초기 카운팅 값은 표 1에 따라 3으로 설정된다. 제1 리셋신호(RST_DLL)가 논리'로우'가 되면 DLL클럭 카운팅부(30)는 초기 카운팅 값인 3에서부터 카운팅하는 DLL클럭 카운팅 값(CNT_DLL<0:2>)을 출력한다.
한편, 제1 리셋신호(RST_DLL)에 지연모델부(40)의 지연시간이 반영된 이후 제2 리셋신호(RST_CLK)가 논리'로우'가 되면 외부클럭 카운팅부(50)는 카운팅을 시작한다.
마찬가지로, 이때, 읽기명령(RD)이 입력되면 래칭부(60)는 외부 클럭(CLK_EXT)을 카운팅 한 값(CNT_CLK<0:2>)인 2를 래칭하고 외부클럭 카운팅 값(CNT_RD<0:2>)으로 출력한다. 비교부(70)는 DLL클럭 카운팅 값(CNT_DLL<0:2>)과 외부클럭 카운팅 값(CNT_RD<0:2>)을 비교하여 동일한 경우, 즉, DLL클럭 카운팅 값(CNT_DLL<0:2>)이 2가 되면 출력 인에이블 신호(OE)를 출력한다. 데이터(D0, D1, D2, D3)는 이렇게 생성된 출력 인에이블 신호(OE)를 이용하여 출력단(DQ)으로 출력된다.
지금까지는 일반적인 출력인에이블 신호 생성장치의 구성 및 동작에 대한 설명을 하였으며, 이하, 출력 인에이블 신호 생성장치의 취약점 및 문제점을 살펴보도록 한다.
우선, 카스레이턴시(CL)는 모드 레지스터 셋에서 출력되는 신호이다. 때문에, 초기화부(20)는 모드 레지스터 셋이 설정을 마친 이후에나 비로소 초기 카운팅 값을 설정해야만 하는 제약을 가지고 있으며, 카스레이턴시(CL)가 바뀔 때마다 DLL클럭 카운팅부(30)를 리셋(reset)시켜 초기 카운팅 값을 바꿔줘야만 하는 번거로움이 있다.
또한, 요즈음 회로의 빠른 동작을 요구하는 추세에서 점점 고주파수의 외부클럭(CLK_EXT)을 사용하고 있으며, 이에 따라 카스레이턴시(CL) 역시 점점 늘어나고 있다. 때문에, DLL클럭 카운팅부(30)와 외부클럭 카운팅부(50)는 카스레이턴시(CL)에 맞게 카운팅 능력을 확장해 주어야 한다. 다시 말하면, DLL클럭 카운팅부(30)와 외부클럭 카운팅부(50)가 예컨대, 3비트 카운터(counter)로 구성되는 경우 카스레이턴시(CL)는 최대 7까지 확보할 수 있다. 그래서, 카스레이턴시(CL)가 더 늘어나게 되면 DLL클럭 카운팅부(30)와 외부클럭 카운팅부(50)를 구성하는 카운터의 능력도 3비트 이상으로 확장해 주어야 한다. 이렇게 늘어난 비트 수에 의해 늘어나는 카운터의 구성은 액티브 동작시나 스텐바이 동작시 더 많은 전류소모를 유발시킨다.
이어서, 카스레이턴시(CL)가 늘어남에 따라 DLL클럭 카운팅부(30)와 외부클럭 카운팅부(50)에서 출력되는 비트 수가 늘어나게 되면, 비교부(70)에서의 동작 시간이 늘어나게 되어 출력인에이블 신호를 생성하는데 있어서 원하지 않는 추가 지연시간이 발생하게 된다. 이는 원하는 시점에 출력인에이블 신호를 생성하지 못하는 문제점이 발생하게 된다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다.
도 6은 본 발명에 따른 반도체 메모리 장치의 출력인에이블 신호 생성장치를 설명하기 위한 블록도이다.
도 6을 참조하면, 출력인에이블 신호 생성장치는 예정된 초기 카운팅 값에서부터 DLL 클럭(CLK_DLL)을 카운팅한 DLL클럭 카운팅 값(CNT_DLL<0:1>)과 읽기명령(RD)이 입력되기까지 외부 클럭(CLK_EXT)을 카운팅한 외부클럭 카운팅 값(CNT_RD<0:1>)을 비교하여 제1 출력인에이블 신호(OE0)를 생성하기 위한 제1 출력인에이블 신호 생성부(100)와, 카스레이턴시(CL)에 응답하여 제1 출력인에이블 신호(OE0)를 쉬프팅(shifting)한 다수의 출력인에이블 신호(OE1, OE2, ... ,OEn, 여기서, n은 자연수)와 제1 출력인에이블 신호(OE0) 중 어느 하나를 최종 출력인에이블 신호(OE_FIN)로서 출력하기 위한 최종 출력인에이블 신호 생성부(300)를 구비할 수 있다.
제1 출력인에이블 신호 생성부(100)는 예정된 초기 카운팅 값에서부터 DLL 클럭에 따라 카운팅하여 DLL클럭 카운팅 값(CNT_DLL<0:1>)을 출력하기 위한 제1 카운팅값 출력부(110)와, 읽기명령(RD)이 입력되기까지 외부클럭(CLK_EXT)을 카운팅하여 외부클럭 카운팅 값(CNT_RD<0:1>)을 출력하기 위한 제2 카운팅값 출력부(130), 및 DLL클럭 카운팅 값(CNT_DLL<0:1>)과 외부클럭 카운팅 값(CNT_RD<0:1>)을 비교하여 제1 출력인에이블 신호(OE0)를 출력하기 위한 비교부(150)를 구비할 수 있다.
한편, 본 발명에 따르면 외부명령(예컨대, /RAS, /CAS, /CS, /WE)에 대응하는 리셋신호(RST)와 DLL 클럭(CLK_DLL)에 응답하여 제1 리셋신호(RST_DLL)를 생성하는 카운터 리셋신호 생성부(170)를 더 구비할 수 있다.
제1 카운팅값 출력부(110)는 카운터 리셋신호 생성부(170)에서 출력되는 제1 리셋신호(RST_DLL)에 응답하여 DLL클럭 카운팅부(114)에 초기 카운팅 값을 제공하기 위한 초기화부(112)와, 초기 카운팅 값에서부터 DLL 클럭(CLK_DLL)에 따라 카운팅하여 DLL클럭 카운팅 값(CNT_DLL<0:1>)을 출력하기 위한 DLL클럭 카운팅부(114)를 구비할 수 있다. 여기서 DLL클럭 카운팅부(114)는 초기화부(112)의 출력신호(S<0:1>, R<0:1>)에 응답하는 2비트의 카운터(counter)를 사용하였으며, 이는 초기에 설정될 수 있는 최대 카운팅 값에 대응하여 설계되는 것이 바람직하다. 즉, 실시예와 같이 초기 카운팅 값의 최대값이 4인 경우에 4까지 카운팅 할 수 있는 2비트의 카운터를 사용할 수 있다.
도 7은 도 6의 초기화부(112)를 설명하기 위한 회로도이다.
도 7을 살펴보면, 초기화부(112)는 제1 리셋신호(RST_DLL)가 논리'하이'일 때(모드 레지스터 셋이 설정되기 전에도 가능) DLL클럭 카운팅부(114)의 초기 카운팅 값을 1로 설정하기 위한 출력신호(S<0:1>, R<0:1>)를 생성한다. 초기 카운팅 값을 2로 설정하기 위한 구성은 도 7을 참고하여 당업자로 하여금 용이하게 실시할 수 있음으로 그 회로구성 및 설명을 생략하기로 한다.
본 발명에 따르면, 초기 카운팅 값이 카스레이턴시(CL)에 따라 바뀌지 않더 라도 원하는 동작을 확보할 수 있다. 때문에, 카스레이턴시(CL)가 바뀌더라도 DLL클럭 카운팅부(114)를 리셋하지 않아도 되며, 에에 대한 자세한 동작 설명은 도 9와 도 10을 통해 살펴보도록 한다.
다시 도 6을 참조하면, 제1 리셋신호(RST_DLL)에 DLL 클럭(CLK_DLL)의 지연요소를 반영하여 제2 카운팅값 출력부(130)를 활성화시키기 위한 제2 리셋신호(RST_CLK)를 생성하는 지연 모델부(190)를 더 구비할 수 있다.
제2 카운팅 값 출력부(130)는 지연 모델부(190)에서 출력되는 제2 리셋신호(RST_CLK)에 응답하여 외부 클럭(CLK_EXT)에 따라 카운팅하기 위한 외부클럭 카운팅부(132)와, 읽기명령(RD)에 응답하여 외부클럭 카운팅부(132)의 출력 값(CNT_CLK<0:1>)을 래칭하고 외부클럭 카운팅 값(CNT_RD<0:1>)으로서 출력하기 위한 래칭부(134)를 구비할 수 있다. 여기서 외부클럭 카운팅부(132)는 2비트의 카운터를 사용하였다. 외부클럭 카운팅부(132)는 DLL클럭 카운팅부(114)와 동일한 비트수의 카운터를 사용하는 것이 바람직하다.
한편, DLL클럭 카운팅부(114)에서 출력되는 DLL클럭 카운팅 값(CNT_DLL<0:1>)과, 외부클럭 카운팅부(132)의 출력 값(CNT_CLK<0:1>), 및 래칭부(134)에서 출력되는 외부클럭 카운팅 값(CNT_RD<0:1>)은 다수의 비트신호를 가질 수 있으며, 이는 설계에 따라 달라질 수 있다.
도 8은 도 6의 비교부(150)를 설명하기 위한 회로도이다.
도 8을 참조하면, 2비트의 DLL클럭 카운팅 값(CNT_DLL<0:1>)과 외부클럭 카운팅 값(CNT_RD<0:1>)을 비교하기 위한 구성으로, 각각의 값이 동일한 경우 활성화 되는 제1 출력인에이블 신호(OE0)를 출력한다. 비교부(150)의 구성 역시 입력되는 비트 수에 따라 그 설계가 달라질 수 있다.
다시 도 6을 참조하면, 최종 출력인에이블 신호 생성부(300)는 DLL 클럭(CLK_DLL)에 응답하여 제1 출력인에이블 신호(OE0)를 쉬프팅시키기 위한 다수의 쉬프팅부(310, 330, 350, 370)와, 카스레이턴시(CL)에 대응하여 제1 내지 제n 출력인에이블 신호(OE0, OE1, ... , OEn) 중 어느 하나를 최종 출력인에이블 신호(OE_FIN)로서 출력하기 위한 신호 다중화부(390)를 구비할 수 있다.
본 실시예에서는 다수의 쉬프팅부(310, 330, 350, 370) 각각을 디 플립플롭(D Flip-Flop : DFF)으로 구성하였지만, 다른 구성의 플립플롭이나 이외의 구성으로도 가능하다. 다시 말하면, 다수의 쉬프팅부(310, 330, 350, 370)는 제1 출력인에이블 신호(OE0)가 DLL 클럭(CLK_DLL)에 동기되어 다수의 출력인에이블 신호(OE1, OE2, OE3, ... , OEn)로 출력되기 위한 구성이면 된다. 그리고, 신호 다중화부(390)는 일반적인 멀티플렉서(multiplexer)의 구성이면 된다.
도 9와 도 10은 도 6의 출력인에이블 신호 생성장치의 동작 타이밍을 설명하기 위한 타이밍도이다. 도 9는 카스레이턴시(CL)가 4인 경우로 도 6과 도 9를 참조하여 설명하기로 한다.
본 발명에 따르면 초기 카운팅 값을 카스레이턴시(CL)가 바뀔 때마다 바꿔 줄 필요가 없음으로, 예컨대, 초기 카운팅 값을 1로 설정하기로 한다.
우선, 제1 리셋신호(RST_DLL)가 논리'로우'가 되면 DLL클럭 카운팅부(114)는 초기 카운팅 값인 1에서부터 카운팅하는 DLL클럭 카운팅 값(CNT_DLL<0:1>)을 출력 한다. 제1 리셋신호(RST_DLL)에 지연모델부(190)의 지연시간이 반영된 이후 제2 리셋신호(RST_CLK)가 논리'로우'가 되면 외부클럭 카운팅부(132)는 카운팅을 시작한다.
이때, 읽기명령(RD)이 입력되면 래칭부(134)는 외부 클럭(CLK_EXT)을 카운팅한 값(CNT_CLK<0:1>)인 2를 래칭하고 외부클럭 카운팅 값(CNT_RD<0:1>)으로 출력한다. 비교부(150)는 DLL클럭 카운팅 값(CNT_DLL<0:1>)과 외부클럭 카운팅 값(CNT_RD<0:1>을 비교하여 동일한 경우, 즉, DLL클럭 카운팅 값(CNT_DLL<0:1>)이 2가 되면 제1 출력인에이블 신호(OE0)를 출력한다.
최종 출력인에이블 신호 생성부(300)의 다수의 쉬프팅부(310, 330, 350, 370)는 DLL 클럭(CLK_DLL)에 응답하여 제1 출력인에이블 신호(OE0)를 쉬프팅 시켜 다수의 출력인에이블(OE1, OE2, ... , OEn)를 생성하고, 신호 다중화부(390)는 카스레이턴시(CL)에 응답하여 원하는 최종 출력인에이블 신호(OE_FIN)를 출력한다.
여기서는 카스레이턴시(CL)에 따라 제2 출력인에이블 신호(OE1)를 선택하였으며, 데이터(D0, D1, D2, D3)는 이렇게 선택된 제2 출력인에이블 신호(OE1)를 이용하여 출력단(DQ)으로 출력된다.
도 10은 카스레이턴시(CL)가 5인 경우로 도 6과 도 10을 참조하여 설명하기로 한다.
도 9에서처럼 초기 카운팅 값을 카스레이턴시(CL)가 바뀔 때마다 바꿔 줄 필요가 없음으로, 동일하게 초기 카운팅 값을 1로 설정하였다.
우선, 제1 리셋신호(RST_DLL)가 논리'로우'가 되면 DLL클럭 카운팅부(114)는 초기 카운팅 값인 1에서부터 카운팅하는 DLL클럭 카운팅 값(CNT_DLL<0:1>)을 출력한다. 제1 리셋신호(RST_DLL)에 지연모델부(190)의 지연시간이 반영된 이후 제2 리셋신호(RST_CLK)가 논리'로우'가 되면 외부클럭 카운팅부(132)는 카운팅을 시작한다.
이때, 읽기명령(RD)이 입력되면 래칭부(134)는 외부 클럭(CLK_EXT)을 카운팅한 값(CNT_CLK<0:1>)인 2를 래칭하고 외부클럭 카운팅 값(CNT_RD<0:1>)으로 출력한다. 비교부(150)는 DLL클럭 카운팅 값(CNT_DLL<0:1>)과 외부클럭 카운팅 값(CNT_RD<0:1>)을 비교하여 동일한 경우, 즉, DLL클럭 카운팅 값(CNT_DLL<0:1>)이 2가 되면 제1 출력인에이블 신호(OE0)를 출력한다.
최종 출력인에이블 신호 생성부(300)의 다수의 쉬프팅부(310, 330, 350, 370)는 DLL 클럭(CLK_DLL)에 응답하여 제1 출력인에이블 신호(OE0)를 쉬프팅 시켜 다수의 출력인에이블(OE1, OE2, ... , OEn)를 생성하고, 신호 다중화부(390)는 카스레이턴시(CL)에 응답하여 원하는 최종 출력인에이블 신호(OE_FIN)를 출력한다.
여기서는 카스레이턴시(CL)에 따라 제3 출력인에이블 신호(OE2)를 선택하였으며, 데이터(D0, D1, D2, D3)는 이렇게 선택된 제3 출력인에이블 신호(OE2)를 이용하여 출력단(DQ)으로 출력된다.
전술한 바와 같이, 본 발명은 제1 출력인에이블 신호를 출력하는데 있어서 예정된 초기 카운팅 값(도 9와 도 10에서는 본 명세서에서는 초기 카운팅 값으로 1을 설정함)에서부터 DLL 클럭(CLK_DLL)에 따라 카운팅한 2비트의 DLL클럭 카운팅 값(CNT_DLL<0:1>)과 읽기명령(RD)이 입력되기까지 외부 클럭(CLK_EXT)을 카운팅한 외부클럭 카운팅 값(CNT_RD<0:1>)을 비교하여 출력한다. 이렇게 생성된 제1 출력인에이블 신호(OE0)는 이미 DLL 클럭(CLK_DLL)에 동기된 신호가 된다.
그리고, 최종 출력인에이블 신호(OE_FIN)를 출력하는데 있어서, DLL 클럭(CLK_DLL)에 응답하여 제1 출력인에이블 신호(OE0)를 쉬프팅한 다수의 출력인에이블 신호(OE1, OE2, ... , OEn)를 생성하고, 제1 출력 인에이블 신호(OE0)와 다수의 출력인에이블 신호(OE1, OE2, ... , OEn) 중 카스레이턴시(CL)에 대응하는 출력인에이블 신호를 최종 출력인에이블 신호(OE_FIN)로서 출력한다. 이렇게 생성된 최종 출력인에이블 신호(OE_FIN)를 이용하여 데이터가 출력된다.
결국, 본 발명에 따르면 카스레이턴시(CL)가 바뀔 때마다 초기 카운팅 값을 바꾸지 않더라도 원하는 최종 출력인에이블 신호(OE_FIN)를 생성하는 것이 가능하다.
때문에, 모드 레지스터 셋의 설정 여부와 상관없이 초기화부(112)에서 출력되는 초기 카운팅 값을 설정해 줄 수 있기 때문에, 카스레이턴시(CL)가 바뀌더라도 DLL클럭 카운팅부(114) 역시 카스레이턴시(CL)에 따른 리셋 동작을 하지 않아도 된다. 또한, DLL클럭 카운팅부(114)와 외부클럭 카운팅부(134)는 카스레이턴시(CL)에 따른 카운터의 확장 설계를 하지 않아도 되며, 이에 따라 래칭부(134)와 비교부(150) 역시 추가 설계가 필요 없게 된다. 결국, 액티브 동작시나 스텐바이 동작시의 전류소모를 최소화할 수 있으며, 불필요한 지연시간 없이 최종 출력인에이블 신호(OE_FIN)를 생성할 수 있다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
예컨대, 전술한 실시예에서는 DLL 클럭(CLK_DLL)과 외부 클럭(CLK_EXT)의 도메인 크로싱하는 경우를 일례로 들어 설명하였으나, 본 발명은 서로 다른 클럭간의 도메인 크로싱에도 적용할 수 있다.