KR100431384B1 - 클럭 위상 조정 방법, 및 집적 회로와 그 설계 방법 - Google Patents

클럭 위상 조정 방법, 및 집적 회로와 그 설계 방법 Download PDF

Info

Publication number
KR100431384B1
KR100431384B1 KR10-2001-7007380A KR20017007380A KR100431384B1 KR 100431384 B1 KR100431384 B1 KR 100431384B1 KR 20017007380 A KR20017007380 A KR 20017007380A KR 100431384 B1 KR100431384 B1 KR 100431384B1
Authority
KR
South Korea
Prior art keywords
clock
flop
time
external
external memory
Prior art date
Application number
KR10-2001-7007380A
Other languages
English (en)
Other versions
KR20020008109A (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 KR20020008109A publication Critical patent/KR20020008109A/ko
Application granted granted Critical
Publication of KR100431384B1 publication Critical patent/KR100431384B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Dram (AREA)
  • Record Information Processing For Printing (AREA)
  • Pulse Circuits (AREA)

Abstract

집적 회로(1000)의 레이아웃으로부터 SDRAM(110)와의 액세스에 필요한 시간을 추출하고, 외부 클럭 SDCLKO와, 내부 클럭 ICLK과의 제 1 위상차를 산출하며, 산출된 제 1 위상차를 기초로, 집적 회로(1000)내의 외부 클럭 신호 또는 내부 클럭 신호의 지연값을 변경함으로써, 설계 단계의 시점에서 집적 회로(1000)의 클럭 위상 조정을 실현한다.

Description

통신 단말 장치, 기지국 장치 및 송신국 선택 방법{COMMUNICATION TERMINAL AND METHOD FOR SELECTING TRANSMITTING STATION}
동기형 DRAM(Syncronus Dynamic Random Access Memory : 이하 SDRAM)에 데이터를 기입하거나, SDRAM로부터 데이터를 판독할(이하, 데이터 액세스라고 부름) 때, 동작 클럭이 고속이기 때문에, 적절한 타이밍을 취하기가 곤란하다. 따라서, 종래에는, 우선, SDRAM과 데이터 액세스하는 LSI를 제작하여, 시행 착오함으로써 클럭의 위상을 조절하고 있었다.
또한, 일본 특허 공개 평성 제 9-185427 호 공보에서는, SDRAM에 대한 액세스의 타이밍을 취하는 클럭 위상 조정 회로 및 클럭 위상 조정 방법이 개시되어 있다.
도 13은 일본 특허 공개 평성 제 9-185427 호 공보에 개시된 클럭 위상 조정 회로를 적용한 메모리 인터페이스 장치를 나타내는 회로도이다. 메모리 인터페이스 장치(700)는 클럭 주파수 변환기(710), 2개의 입력 버퍼(711, 720), 클럭 위상 조정 회로(712), 3개의 출력 버퍼(715, 717, 719), 및 3개의 플립플롭 FF(716, 718, 721)를 구비한다. 인터페이스 장치(700)는 외부 클럭 신호, SDRAM 커맨드, 및 데이터를 SDRAM(702)에 출력한다.
클럭 위상 조정 회로(712)는 SDRAM(702)에 대해 적정한 데이터 액세스를 실행하기 위한 클럭 신호의 위상을 조정하는 회로로서, 동작의 기준으로 되는 클럭 신호의 위상을 180도 반전함과 동시에 SDRAM(702)에 출력한다. 클럭 위상 조정 회로(712)는 인버터(713)와, 위상 변환기(714) 및 선택기(744)에 의해서 구성되어 있다.
위상 변환기(714)에는, 복수의 지연값을 갖는 클럭이 준비되어 있고, SDRAM(702)와 접속 후, 동작 가능한 클럭을 적당한 수단으로 테스트하여, 테스트 결과 적절하다고 판단된 클럭을 선택하는 구성으로 되어 있다.
종래의 클럭 위상 조정은, 우선 실제로의 LSI를 제작하고 나서 시행 착오하여 조정해 왔다. 즉, LSI를 일단 제작하고 나서 설계자가 시행 착오를 거듭하여, 클럭 위상을 조정하기 때문에, LSI의 제작에 따른 공정이 번잡하게 된다고 하는 문제점이 있다.
또한, 일본 특허 공개 평성 제 9-185427 호 공보와 같은 인터페이스 장치(700)에서는, 클럭 위상 조정에 관한 지연 소자가 몇 개가 필요하게 되어, 회로 규모가 증대하고, 소비 전력도 증대하게 된다고 하는 문제점이 있다.
또한, 인터페이스 장치(700)에 입력된 데이터는, 각종 회로나 버퍼를 거쳐서출력되기 때문에, 인터페이스 장치(700)를 실제의 LSI로 한 경우에, 클럭의 지연값이 예측과 매우 다르게 될 가능성이 있어, 지연 소자의 지연값 결정이 곤란하게 된다고 하는 문제점이 있다. 이 경우, 보다 많은 지연 클럭을 준비해 두면, 지연값의 결정은 용이하게 되지만, 회로 규모가 더 증대하여, 소비 전력이 증대하게 된다고 하는 문제가 새롭게 발생한다.
또한, 인터페이스 장치(700)와 SDRAM(702)를 실제로 접속하지 않으면 지연값을 알 수 없기 때문에, 인터페이스 장치(700)와 SDRAM(702)를 접속한 후, 데이터 전송의 테스트를 실행하여, 최적의 지연값 클럭을 선택해야 할 필요가 있어, 회로 제작에 관한 공정 수가 증대한다고 하는 문제점이 있다.
또한, 인터페이스 장치(700)에서는, 외부 요인(배선 지연, 외부 부하 등)을 고려하지 않고 있기 때문에 정밀도가 불량하게 된다고 하는 문제점이 있다. 또한, 외부 요인을 고려하기 위해서는, 기판마다 데이터 전송의 테스트를 실행하여, 클럭을 선택할 필요가 있기 때문에, 회로의 제작에 관한 공정 수가 증대한다고 하는 문제점이 있다.
본 발명은 외부 메모리와 액세스하는 디바이스의 제작에 관한 공정 수를 적게 하여, 시행 착오하여 위상 조정을 하지 않고, 또한 클럭 위상 조정을 위한 테스트를 하지 않고, 설계 단계의 시점에서 클럭 위상 조정을 실현하는 클럭 위상 조정 방법을 제공하는 것이다. 본 클럭 위상 조정 방법은 완전 동기 설계에도, 필요 최소한의 회로로, 보다 확실한 클럭을 공급하여, 피드백 클럭 방식을 채용한 경우에도, 자동적으로 클럭 위상 조정을 실행한다.
또한, 종래의 회로와 같은 복잡한 구성을 취하지 않고, 고속의 동작 클럭에 근거하는 데이터 액세스를 실현하는 집적 회로와 그 설계 방법을 제공하는 것이다.
발명의 개시
상기 목적을 달성하기 위해서, 본 발명에 따른 집적 회로는 이하의 구성을 갖는다. 즉, 클럭에 동기하여 외부 메모리와 데이터 액세스하는 집적 회로에 있어서, 상기 클럭을 생성하는 클럭 발생기와, 상기 클럭을 외부 클럭으로서 구동하는 적어도 1개의 제 1 클럭 버퍼와, 상기 클럭을 내부 클럭으로서 구동하는 적어도 1개의 제 2 클럭 버퍼와, 상기 외부 클럭을 상기 외부 메모리에 출력하는 클럭 출력 버퍼와, 상기 외부 메모리에 출력하기 위한 데이터를 상기 내부 클럭에 동기하여 출력하는 데이터 출력용 플립플롭과, 상기 외부 메모리로부터 출력되는 데이터를 상기 내부 클럭에 동기하여 취입하는 입력용 플립플롭을 구비하며, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하기까지의 시간과, 도달한 상기 내부 클럭에 의해서 상기 데이터 출력용 플립플롭으로부터 출력된 데이터가 상기 외부 메모리에 도달하기까지의 시간과의 합으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하기까지의 시간을 빼는 것에 의해 얻어지는 제 1 값이, 상기 외부 메모리의 데이터 유지 시간보다 크다고 하는 제 1 조건과, 상기 외부 클럭의 1 사이클 시간으로부터 상기 제 1 값을 뺀 값이, 상기 외부 메모리의 데이터 셋업 시간보다 크다고 하는 제 2 조건과, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하기까지의 시간과, 도달한 상기 클럭을 수신하여 상기 외부 메모리로부터 출력되는 데이터의 유지 시간과, 상기 데이터가 상기 입력용 플립플롭에 도달하기까지의 시간과의 합으로부터, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 입력용 플립플롭의 데이터 유지 시간보다 크다고 하는 제 3 조건과, 상기 내부 클럭의 1 사이클 시간과, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 입력용 플립플롭에 도달하기까지의 시간과의 합으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하는 시간과, 도달한 상기 외부 클럭을 수신하여 상기 외부 메모리로부터 출력되는 데이터의 출력 지연 시간과, 상기 데이터가 상기 입력용 플립플롭에 도달하기까지의 시간과의 합을 뺀 값이, 상기 입력용 플립플롭의 데이터 셋업 시간보다 크다고 하는 제 4 조건을 충족하도록, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 클럭 출력 버퍼에 도달하는 시간을 뺀 위상차 D의 값이 설정되어 있다.
따라서, 종래와 같은 복수 신호 경로에 복수의 지연 소자를 삽입하는 것과 같은 복잡한 회로를 갖지 않더라도, 적절한 데이터 전송을 실행할 수 있고, 또한 클럭을 공급할 수 있는 집적 회로를 제공할 수 있다. 특히, SDRAM과 같은 고속의 액세스를 필요로 하는 집적 회로의 설계를 용이하게 한다.
또한, 본 발명에 따른 다른 집적 회로는, 클럭에 동기하여 외부 메모리와 데이터 액세스하는 집적 회로에 있어서, 데이터로부터 상기 클럭을 생성하는 클럭 발생기와, 상기 클럭을 외부 클럭으로서 구동하는 적어도 1개의 제 1 클럭 버퍼와,상기 클럭을 내부 클럭으로서 구동하는 적어도 1개의 제 2 클럭 버퍼와, 상기 외부 클럭을 상기 외부 메모리에 출력하는 클럭 출력 버퍼와, 상기 외부 메모리에 출력하기 위한 데이터를 상기 내부 클럭에 동기하여 출력하는 데이터 출력용 플립플롭과, 상기 외부 메모리로부터 출력되는 데이터를 상기 외부 메모리에 입력한 외부 클럭의 피드백 클럭에 의해서 래치하는 제 1 입력용 플립플롭과, 상기 제 1 입력용 플립플롭에 래치된 데이터를 상기 내부 클럭에 의해서 래치하는 제 2 입력용 플립플롭을 구비하며, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하기까지의 시간과, 도달한 상기 내부 클럭에 의해서 상기 데이터 출력용 플립플롭으로부터 출력된 데이터가 상기 외부 메모리에 도달하기까지의 시간과의 합으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하기까지의 시간을 빼는 것에 의해 얻어지는 제 1 값이, 상기 외부 메모리의 데이터 유지 시간보다 크고, 상기 외부 클럭의 1 사이클 시간으로부터, 상기 제 1 값을 뺀 값이, 상기 외부 메모리의 데이터 셋업 시간보다 크며, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하여, 피드백 클럭으로서 상기 외부 메모리로부터 되돌아 가서 상기 제 1 입력용 플립플롭에 도달하기까지의 시간과, 상기 제 1 입력용 플립플롭의 셀 지연과, 상기 제 1 입력용 플립플롭으로부터 상기 제 2 입력용 플립플롭까지의 배선 지연을 합한 값 V로부터, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 제 2 입력용 플립플롭의 유지 시간보다 크고, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭에 도달하기까지의 시간과 상기 외부클럭의 1 사이클 시간과의 합으로부터, 상기 값 V를 뺀 값이 상기 제 2 입력용 플립플롭의 셋업 시간보다 크며, 상기 값 V가 상기 내부 클럭의 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭까지 도달하는 시간보다 크고, 상기 외부 메모리로부터 출력되는 데이터의 상기 외부 메모리로부터 상기 제 1 입력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭의 상기 외부 메모리로부터 피드백되며 상기 제 1 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 제 1 입력용 플립플롭의 유지 시간보다 큰 조건을 충족하도록, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 클럭 출력 버퍼에 도달하는 시간을 뺀 위상차 D의 값이 설정되어 있다.
따라서, 외부 클럭의 피드백 클럭을 이용하여 외부 메모리와 액세스하는 집적 회로를 용이하게 제공할 수 있다.
또한, 집적 회로는, 상기 외부 클럭이 상기 집적 회로로부터 출력되는 시점과, 상기 외부 클럭이 상기 외부 메모리로부터 피드백되어 상기 집적 회로에 도달하는 시점과의 제 2 위상차와, 상기 제 2 위상차에 대해 상기 조건을 충족하는 제 1 위상차가 미리 복수 세트 설정되며, 상기 집적 회로가 임의의 시스템에 실장된 후, 실제로 제 2 위상차를 검출하고, 해당 검출한 결과로부터 해당하는 제 1 위상차를 선택하는 위상차 검출 회로를 더 구비하며, 상기 제 1 및 또는 제 2 클럭 버퍼는, 상기 미리 설정된 복수의 제 1 위상차 각각에 대응하는 지연 소자군을 구비하고, 상기 위상차 검출 회로가 선택한 제 1 위상차에 근거하여, 상기 지연 소자군이 전환되도록 할 수 있다.
따라서, 외부 메모리에 출력하는 외부 클럭과, 외부 메모리로부터의 피드백 클럭과의 위상차를 검출하는 검출기를 마련하는 것에 의해, 인터페이스 회로 스스로 실 지연을 검출하여, 내부 클럭과, 외부 클럭과의 위상차를 조정할 수 있다. 또한, 실장되는 시스템의 배선 지연이나, 외부 부하 용량 등의 외부 요인이 다양하더라도, 최적의 클럭 위상을 조정할 수 있다.
또한, 집적 회로는 상기 입력용 플립플롭으로서, 상기 외부 메모리로부터 출력되는 데이터를 래치하는 제 1 입력용 플립플롭과, 상기 제 1 입력용 플립플롭에 래치된 데이터를 래치하는 제 2 입력용 플립플롭과, 상기 제 2 클럭 버퍼로서, 상기 데이터 출력용 플립플롭 및 상기 제 2 입력용 플립플롭에 제 1 내부 클럭을 공급하는 클럭 버퍼와, 상기 제 1 입력용 플립플롭에 제 2 내부 클럭을 공급하는 클럭 버퍼를 구비하며, 상기 조건 1 및 2를 충족하도록, 상기 제 1 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 클럭 출력용 버퍼에 도달하는 시간을 뺀 위상차 D0의 값이 설정되고, 상기 조건 3 및 4를 충족하는 상기 제 2 내부 클럭이 상기 클럭 발생기로부터 상기 제 1 입력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 클럭 출력용 버퍼에 도달하는 시간을 뺀 위상차 Dl이, 상기 위상차 D0과 상기 위상차 D1와의 위상차로부터, 상기 제 1 입력용 플립플롭에 입력된 데이터가 상기 제 2 입력용 플립플롭에 도달하기까지의 지연을 뺀 값이 상기 제 2 입력용 플립플롭의 셋업 시간보다 크게 되도록, 설정되더라도 좋다.
따라서, 종래와 같이 복수 개소에, 복수의 지연 버퍼를 삽입하는 것과 같은 복잡한 회로를 갖지 않더라도, 보다 고속의 클럭으로 데이터를 교환하는 시스템을 구성할 수 있는 집적 회로를 제공할 수 있다. 특히, SDRAM과 같은 고속의 액세스를 필요로 하는 인터페이스 회로를 구비한 집적 회로를 용이하게 설계할 수 있다.
본 발명에 따른 클럭 위상 조정 방법은, 임의의 디바이스가 클럭에 동기하여, 외부 메모리와 데이터 액세스할 때의 클럭 위상 조정 방법에 있어서, 상기 디바이스의 설계시에 상기 디바이스의 레이아웃으로부터, 상기 디바이스내의 신호 전달 및 상기 디바이스와 상기 외부 메모리와의 신호 전달에 관한 시간 파라미터를 추출하는 공정과, 상기 파라미터를 기초로, 상기 외부 메모리에 공급되는 외부 클럭의 출력 시점과, 상기 디바이스를 동작시키는 내부 클럭이 데이터 입출력의 기준점에 도달하는 시점과의 제 1 위상차를 산출하는 공정과, 상기 파라미터를 기초로, 상기 외부 메모리가 상기 디바이스로부터 출력되는 데이터를 취입할 수 있고, 또한, 상기 디바이스가 상기 외부 메모리로부터 출력되는 데이터를 취입할 수 있는 조건을 충족하는 상기 제 1 위상차의 범위를 산출하는 공정과, 상기 산출된 제 1 위상차가 상기 산출된 제 1 위상차의 범위를 충족하는지 여부를 판단하는 공정과, 상기 판단 공정에 의해서, 상기 산출된 제 1 위상차가 상기 산출된 제 1 위상차의 범위를 충족하지 않는 것이라고 판단된 경우, 상기 산출된 범위로부터 임의의 제 1 위상차를 선택하는 공정과, 상기 선택된 제 1 위상차를 기초로, 상기 디바이스의 설계시에, 상기 디바이스내의 외부 클럭 신호 또는 내부 클럭 신호의 지연값을 변경하는 공정을 포함한다.
따라서, 클럭을 이용하여 외부 메모리와 액세스하는 디바이스의 레이아웃 설계시, 예컨대 클럭 스큐 조정시에 클럭 신호의 지연값을 변경함으로써, 클럭의 위상을 조정할 수 있다. 따라서, 종래와 같이 시행 착오에 의해 위상을 조절하지 않고, 또한, 클럭 위상 조정을 위한 테스트를 하지 않고, 외부 메모리와 확실하게 데이터 액세스할 수 있는 회로를 생성할 수 있다. 특히, SDRAM과 같이 고속의 액세스를 필요로 하는 경우에도, 본 실시예를 이용하면, 고속 액세스 가능한 디바이스의 외부 클럭과 내부 클럭과의 위상 조정을 용이하고 또한 보다 정확하게 실현할 수 있다. 또한, 회로 규모 및 회로 제작의 공정 수가 삭감되므로, 소비 전력도 저감되고, 또한, 설계가 용이하기 때문에, 개발 기간의 단축으로도 이어지며, 또한 자동화하는 것이 가능해지는 것에 의해, 단순한 설계 미스(miss)의 방지도 된다.
또한, 상기 제 1 위상차는, 상기 내부 클럭이 상기 디바이스내의 클럭 발생기로부터 상기 디바이스내의 데이터 출력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 디바이스내의 외부 클럭 출력용 버퍼에 도달하는 시간을 뺀 값이고, 상기 제 1 위상차의 범위를 산출하는 공정은, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하는 시간과, 상기 내부 클럭에 의해서 상기 데이터 출력용 플립플롭으로부터 출력된 데이터가 상기 외부 메모리에 도달하기까지의 시간과의 합으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하기까지의 시간을 뺀 제 1 값이, 상기 외부 메모리의 데이터를 취입하기 위해 필요한 데이터 유지 시간보다 큰 제 1조건과, 상기 외부 클럭의 1 사이클 시간으로부터 상기 제 1 값을 뺀 값이, 상기 외부 메모리의 데이터를 취입하기 위해 필요한 데이터 셋업 시간보다 큰 제 2 조건과, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하기까지의 시간과, 상기 외부 클럭을 수신하여 상기 외부 메모리로부터 출력되는 데이터의 유지 시간과, 상기 출력된 데이터가 상기 디바이스내의 입력용 플립플롭에 도달하기까지의 시간과의 합으로부터, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 입력용 플립플롭의 데이터 입력 유지 시간보다 큰 제 3 조건과, 상기 내부 클럭의 1 사이클 시간과, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 입력용 플립플롭에 도달하기까지의 시간과의 합으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하는 시간과, 상기 외부 클럭을 수신하여 상기 외부 메모리로부터 출력되는 데이터의 출력 지연 시간과, 상기 데이터가 상기 입력용 플립플롭에 도달하기까지의 시간과의 합을 뺀 값이, 상기 입력용 플립플롭의 데이터 입력 셋업 시간보다 큰 제 4 조건을 충족하는 상기 제 1 위상차의 범위를 산출하도록 하더라도 좋다.
또한, 상기 제 1 위상차는, 상기 내부 클럭이 상기 디바이스내의 클럭 발생기로부터 상기 디바이스내의 데이터 출력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 디바이스내의 외부 클럭 출력용 버퍼에 도달하는 시간을 뺀 값이며, 상기 외부 메모리로부터 출력되는 데이터는, 상기 외부 메모리에 입력한 외부 클럭이 상기 디바이스에 피드백된 클럭에 의해서, 상기 디바이스내의 제 1 입력용 플립플롭에 래치되고, 상기 래치된 데이터는, 상기 내부클럭에 의해서, 상기 디바이스내의 제 2 입력용 플립플롭에 래치되고, 상기 제 1 위상차의 범위를 산출하는 공정은, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하는 시간과, 상기 내부 클럭에 의해서 상기 데이터 출력용 플립플롭으로부터 출력된 데이터가 상기 외부 메모리에 도달하기까지의 시간과의 합으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하기까지의 시간을 뺀 제 1 값이, 상기 외부 메모리의 데이터를 취입하기 위해 필요한 데이터 유지 시간보다 크고, 상기 외부 클럭의 1 사이클 시간으로부터 상기 제 1 값을 뺀 값이, 상기 외부 메모리의 데이터를 취입하기 위해 필요한 데이터 셋업 시간보다 크며, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하고, 피드백 클럭으로서 상기 외부 메모리로부터 되돌아 가서 상기 제 1 입력용 플립플롭에 도달하기까지의 시간과, 상기 제 1 입력용 플립플롭의 셀 지연과, 상기 제 1 입력용 플립플롭으로부터 상기 제 2 입력용 플립플롭까지의 배선 지연을 합한 값 V로부터, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 제 2 입력용 플립플롭의 유지 시간보다 크고, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭에 도달하기까지의 시간과 상기 외부 클럭의 1 사이클 시간과의 합으로부터, 상기 값 V를 뺀 값이 상기 제 2 입력용 플립플롭의 셋업 시간보다 크고, 상기 값 V가 상기 내부 클럭의 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭까지 도달하는 시간보다 크고, 상기 외부 메모리로부터 출력되는 데이터의 상기 외부 메모리로부터 상기 제 1 입력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭의 상기외부 메모리로부터 피드백되어 상기 제 1 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 제 1 입력용 플립플롭의 유지 시간보다 큰 조건을 충족하는 상기 제 1 위상차의 범위를 산출하도록 하더라도 좋다.
이에 의해서, 피드백 클럭을 이용하여 외부 메모리와 액세스하는 디바이스의 위상 조정을 디바이스 설계시에 실행할 수 있다.
또한, 본 발명에 따른 다른 클럭 위상 조정 방법은, 임의의 디바이스가 클럭에 동기하여, 외부 메모리와 데이터 액세스할 때의 클럭 위상 조정 방법에 있어서, 상기 디바이스의 설계시에 해당 디바이스의 레이아웃으로부터, 상기 디바이스내의 신호 전달 및 상기 디바이스와 상기 외부 메모리와의 신호 전달에 관한 시간 파라미터를 추출하는 공정과, 상기 내부 클럭이 상기 디바이스내의 클럭 발생기로부터 상기 디바이스내의 데이터 출력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 디바이스내의 외부 클럭 출력용 버퍼에 도달하는 시간을 뺀 제 1 위상차의 범위를, 상기 파라미터를 기초로 산출하는 공정과, 상기 외부 클럭이 상기 디바이스로부터 출력되는 시점과, 상기 외부 클럭이 상기 외부 메모리로부터 피드백되어 상기 디바이스에 도달하는 시점과의 제 2 위상차를 임의로 복수 설정하는 공정과, 상기 설정된 복수의 상기 제 2 위상차 각각에 대해, 상기 산출된 범위로부터 제 1 위상차를 설정하는 공정과, 상기 디바이스가 임의의 시스템에 실장된 후, 실제로 제 2 위상차를 검출하는 공정과, 상기 검출한 결과와 상기 설정된 제 2 위상차를 비교하여, 해당하는 제 1 위상차를 선택하는 공정과, 상기 선택된 제 1 위상차를 기초로, 상기 디바이스내의 상기 외부 클럭 신호 또는상기 내부 클럭 신호의 클럭 버퍼의 지연값을 전환하는 공정을 구비하며, 상기 외부 메모리로부터 출력되는 데이터는, 상기 외부 메모리에 입력한 외부 클럭이 상기 디바이스에 피드백된 클럭에 의해서, 상기 디바이스내의 제 1 입력용 플립플롭에 래치되고, 상기 래치된 데이터는 상기 내부 클럭에 의해서, 상기 디바이스내의 제 2 입력용 플립플롭에 래치되고, 상기 제 1 위상차의 범위를 산출하는 공정에서, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하는 시간과, 상기 내부 클럭에 의해서 상기 데이터 출력용 플립플롭으로부터 출력된 데이터가 상기 외부 메모리에 도달하기까지의 시간과의 합으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하기까지의 시간을 뺀 제 1 값이, 상기 외부 메모리의 데이터를 취입하기 위해 필요한 데이터 유지 시간보다 크고, 상기 외부 클럭의 1 사이클 시간으로부터 상기 제 1 값을 뺀 값이, 상기 외부 메모리의 데이터를 취입하기 위해 필요한 데이터 셋업 시간보다 크며, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하여, 피드백 클럭으로서 상기 외부 메모리로부터 되돌아 가서 상기 제 1 입력용 플립플롭에 도달하기까지의 시간과, 상기 제 1 입력용 플립플롭의 셀 지연과, 상기 제 1 입력용 플립플롭으로부터 상기 제 2 입력용 플립플롭까지의 배선 지연을 합한 값 V로부터, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 제 2 입력용 플립플롭의 유지 시간보다 크고, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭에 도달하기까지의 시간과 상기 외부 클럭의 1 사이클 시간과의 합으로부터, 상기 값 V를 뺀 값이 상기 제 2 입력용 플립플롭의 셋업 시간보다 크고, 상기 값 V가 상기 내부 클럭의 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭까지 도달하는 시간보다 크며, 상기 외부 메모리로부터 출력되는 데이터의 상기 외부 메모리로부터 상기 제 1 입력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭의 상기 외부 메모리로부터 피드백되어 상기 제 1 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 제 1 입력용 플립플롭의 유지 시간보다 큰 조건을 충족하는 상기 제 1 위상차의 범위가 산출되도록 하더라도 좋다.
즉, 외부 메모리에 출력하는 외부 클럭과, 외부 메모리로부터의 피드백 클럭과의 위상차를 검출하여, 적응적으로, 내부 클럭과 외부 클럭과의 위상차를 조정할 수 있는 디바이스를 설계할 수 있다. 따라서, 실장되는 시스템의 배선 지연이나, 외부 부하 용량 등의 외부 요인이 다양하더라도, 최적의 클럭 위상을 설정할 수 있다.
또한, 상기 디바이스는 상기 입력용 플립플롭으로서, 상기 외부 메모리로부터 출력되는 데이터를 래치하는 제 1 입력용 플립플롭과, 상기 제 1 입력용 플립플롭에 래치된 데이터를 래치하는 제 2 입력용 플립플롭을 구비하며, 상기 클럭 발생기는 상기 데이터 출력용 플립플롭 및 상기 제 2 입력용 플립플롭에 공급되는 제 1 내부 클럭과, 상기 제 1 입력용 플립플롭에 공급되는 제 2 내부 클럭을 공급하고, 상기 제 1 위상차는, 상기 제 1 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 클럭 출력용 버퍼에 도달하는 시간을 뺀 위상차 D0과, 상기 제 2내부 클럭이 상기 클럭 발생기로부터 상기 제 1 입력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 클럭 출력용 버퍼에 도달하는 시간을 뺀 위상차 D1을 포함하며, 상기 제 1 위상차의 범위를 산출하는 공정은, 상기 조건 1 및 2를 충족하는 상기 위상차 D0의 범위, 및 상기 조건 3 및 4를 충족하는 상기 위상차 D1의 범위를 산출하고, 또한 상기 위상차 D0 및 D1의 위상차로부터, 상기 제 1 입력용 플립플롭에 입력된 데이터가 상기 제 2 입력용 플립플롭에 도달하기까지의 지연을 뺀 값이, 상기 제 2 입력용 플립플롭의 셋업 시간보다도 크다고 하는 조건을 충족하는 D0 및 D1의 범위를 산출하며, 상기 클럭 신호의 지연값 변경 공정은, 상기 선택된 위상차 D0 및 D1의 위상차에 근거하여, 상기 디바이스내의 외부 클럭 신호 또는 내부 클럭 신호의 지연값을 변경하는 공정을 구비할 수 있다.
따라서, 보다 고속의 클럭을 이용하여 외부 메모리와 액세스하는 디바이스의 위상을 조절할 수 있다. 특히, SDRAM과 같이 고속의 액세스를 필요로 하는 경우에 유효하다.
또한, 본 발명에 따른 집적 회로의 설계 방법은, 클럭에 동기하여 외부 메모리와 데이터 액세스하는 집적 회로를 설계하는 방법에 있어서, 상기 집적 회로는, 상기 내부 클럭과 상기 외부 클럭을 생성하는 클럭 발생기와, 상기 외부 메모리에 출력하는 데이터를 래치하는 데이터 출력용 플립플롭과, 상기 외부 메모리로부터 출력되는 데이터를 상기 외부 메모리에 입력한 외부 클럭의 피드백 클럭에 의해서 래치하는 제 1 입력용 플립플롭과, 상기 제 1 입력용 플립플롭에 래치된 데이터를상기 내부 클럭에 의해서 래치하는 제 2 입력용 플립플롭과, 상기 내부 클럭이 상기 집적 회로내의 클럭 발생기로부터 상기 집적 회로내의 데이터 출력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 집적 호로내의 외부 클럭 출력용 버퍼에 도달하는 시간을 뺀 제 1 위상차와, 상기 외부 클럭이 상기 집적 회로로부터 출력되는 시점 및 상기 외부 클럭이 상기 외부 메모리로부터 피드백되어 상기 집적 회로에 도달하는 시점의 제 2 위상차가 미리 복수 세트 설정되고, 상기 집적 회로가 임의의 시스템에 실장된 후, 실제로 제 2 위상차를 검출하여, 해당 검출한 결과로부터 해당하는 제 1 위상차를 선택하는 위상차 검출 회로와, 상기 미리 설정된 복수의 제 1 위상차 각각에 대응하는 지연 소자군을 구비하며, 상기 위상차 검출 회로가 선택한 제 1 위상차에 근거하여 상기 지연 소자군이 전환되는 클럭 버퍼를 구비하며, 상기 설계 방법은, 상기 집적 회로의 레이아웃으로부터, 상기 집적 회로내의 신호 전달 및 상기 집적 회로와 상기 외부 메모리와의 신호 전달에 관한 시간 파라미터를 추출하는 공정과, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하는 시간과, 상기 내부 클럭에 의해서 상기 데이터 출력용 플립플롭으로부터 출력된 데이터가 상기 외부 메모리에 도달하기까지의 시간과의 합으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하기까지의 시간을 뺀 제 1 값이, 상기 외부 메모리의 데이터를 취입하기 위해 필요한 데이터 유지 시간보다 크고, 상기 외부 클럭의 1 사이클 시간으로부터 상기 제 1 값을 뺀 값이, 상기 외부 메모리의 데이터를 취입하기 위해 필요한 데이터 셋업 시간보다 크며, 상기 외부 클럭이 상기 클럭발생기로부터 상기 외부 메모리에 도달하고, 피드백 클럭으로서 상기 외부 메모리로부터 되돌아 가서 상기 제 1 입력용 플립플롭에 도달하기까지의 시간과, 상기 제 l 입력용 플립플롭의 셀 지연과, 상기 제 1 입력용 플립플롭으로부터 상기 제 2 입력용 플립플롭까지의 배선 지연을 합한 값 V로부터, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 제 2 입력용 플립플롭의 유지 시간보다 크고, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭에 도달하기까지의 시간과 상기 외부 클럭의 1 사이클 시간과의 합으로부터 상기 값 V를 뺀 값이, 상기 제 2 입력용 플립플롭의 셋업 시간보다 크고, 상기 값 V가 상기 내부 클럭의 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭까지 도달하는 시간보다 크고, 상기 외부 메모리로부터 출력되는 데이터의 상기 외부 메모리로부터 상기 제 1 입력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭의 상기 외부 메모리로부터 피드백되어 상기 제 1 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 제 1 입력용 플립플롭의 유지 시간보다 큰 조건을 충족하는 상기 제 1 위상차의 범위를, 상기 파라미터를 기초로 산출하는 공정과, 상기 제 2 위상차를 임의로 복수 설정하는 공정과, 상기 설정된 복수의 상기 제 2 위상차 각각에 대해, 상기 조건을 충족하는 제 1 위상차를 설정하는 공정과, 상기 산출된 상기 제 1 위상차 각각에 대응한, 상기 집적 회로내의 외부 클럭 신호 또는 내부 클럭 신호의 지연값을 설정하는 공정을 구비한다.
즉, 집적 회로가 실장된 후에, 외부 메모리에 출력하는 외부 클럭과, 외부 메모리로부터의 피드백 클럭과의 위상차를 검출하여, 그 결과를 기초로 내부 클럭과 외부 클럭과의 위상차를 자동적으로 조정할 수 있는 집적 회로를 설계할 수 있다. 따라서, 실장되는 시스템의 배선 지연이나, 외부 부하 용량 등의 외부 요인이 다양하더라도, 최적의 클럭 위상을 조정할 수 있다.
본 발명은 클럭 위상 조정 방법, 및 집적 회로와 그 설계 방법에 관한 것이다.
도 1은 실시예 1에 따른 클럭 위상 조정 방법을 적용하여 제작한 집적 회로(1000)의 회로 구성을 나타내는 블럭도,
도 2는 클럭과 데이터의 위상 관계를 나타낸 타이밍차트,
도 3은 집적 회로(1000)에 있어서의 클럭 위상 조정 방법을 나타낸 흐름도,
도 4는 실시예 2에 따른 집적 회로(10l0)의 회로 구성을 나타내는 블록도,
도 5는 식(21) 및 식(22)을 나타낸 그래프,
도 6은 위상차 검출기(411)가 구비하는 테이블의 일례를 도시하는 도면,
도 7은 제 3 클럭 버퍼(403)의 구성을 나타내는 블록도,
도 8은 집적 회로(1010)에 있어서의 클럭 위상 조정 방법을 나타낸 흐름도,
도 9는 실시예 3에 따른 집적 회로(l020)의 회로 구성을 나타내는 블록도,
도 10은 클럭과 데이터의 위상 관계를 나타낸 타이밍차트,
도 11은 실시예 4에 따른 집적 회로(1030)의 회로 구성을 나타내는 블록도,
도 12는 클럭과 데이터의 위상 관계를 나타낸 타이밍차트,
도 13은 일본 특허 공개 평성 제 9-185427 호 공보에 의한 인터페이스 회로를 나타내는 회로도이다.
발명을 실시하기 위한 최선의 형태
이하, 본 발명의 실시예에 따른 클럭 위상 조정 방법, 집적 회로, 및 집적 회로의 설계 방법에 대해, 도면을 참조하면서 설명한다.
(실시예 1)
도 1은 실시예 1에 다른 클럭 위상 조정 방법을 적용하여 제작한 외부 메모리, 즉, SDRAM(110)에 데이터 액세스하는 인터페이스 회로(100)를 구비한 집적 회로(1000) 구성의 일부를 나타내는 블럭도이다. 도 1에서는, 설명을 용이하게 하기 위해서, 집적 회로(1000)의 구성중, SDRAM(l10)과의 액세스에 관한 구성을 개략적으로 나타내었다.
집적 회로(1000)는 클럭 발생기(101)와, 제 1 클럭 버퍼(102)와, 제 2 클럭 버퍼(104)와, 인터페이스 회로(100)를 구비하며, 인터페이스 회로(100)는 SDCLKO 출력 버퍼(103)와, 출력용 플립플롭인 제 1 플립플롭(제 1 FF)(105)과, 입출력 버퍼(106)와, 입력용 플립플롭인 제 2 플립플롭(제 2 FF)(107)을 구비한다. 도면 중, T로 시작되는 파라미터가 첨부되어 있는 화살표는, 후술하는 집적 회로(1000)내의 신호 전달 및 집적 회로(1000)와 SDRAM(110)와의 신호 전달에 관한 지연 파라미터를 나타낸다.
클럭 발생기(101)는, 예컨대, 외부로부터 입력되는 동기 신호로부터, 혹은, 외부로부터 입력한 데이터에 포함되는 동기 신호로부터, 혹은, 내부에 구비된 발진기로부터 기준 클럭을 생성한다.
제 1 클럭 버퍼(102)는 기준 클럭을 구동하여, SDCLKO 출력 버퍼(103)에, SDRAM(1l0)로 공급하기 위한 외부 클럭 SDCLKO를 출력한다.
SDCLKO 출력 버퍼(103)는 SDCLKO를 구동하여, SDRAM(l10)에 출력한다. SDRAM(110)은 SDCLKO에 동기하여 동작한다.
제 2 클럭 버퍼(104)는 기준 클럭을 구동하고, 집적 회로(1000) 내부를 동작시키는 내부 클럭 ICLK을 생성하여, ICLK를 집적 회로(1000)내의 각 구성에 공급한다. 도 1은 설명을 용이하게 하기 위해서, ICLK를 제 1 FF(l05) 및 제 2 FF(l07)에 출력한 경우에 대해 나타낸다.
제 1 FF(l05)에는, SDRAM(110)에 출력되는 데이터가 래치되고, 제 1 FF(l05)는 래치된 데이터를 ICLK에 동기하여, 입출력 버퍼(106)를 거쳐 SDRAM(l10)에 출력한다. 또한, SDRAM(110)에 출력되는 데이터에는, SDRAM(110)을 제어하기 위한 신호, 즉 SDRAM 커맨드나, 기입 데이터 등이 있고, 데이터의 종류마다 출력용의 플립플롭이 통상 마련된다. 그러나, 이상의 데이터 출력에 관한 구성은 기본적으로 동일하기 때문에, 본 실시예에서는, 설명을 간략화하기 위해서, 출력용 플립플롭을 통합하여 제 1 FF(l05) 1개로 하였다. 따라서, 실제는, 출력용 플립플롭을 데이터의 종류마다 마련할 수 있다. 또한, 이상의 데이터는, 임의의 회로로부터 제 1 FF(l05)에 보내져 온다.
한편, SDRAM 커맨드에 의해 SDRAM(l10)내의 데이터가 판독되면, 제 2 FF(l07)은 판독된 판독 데이터를 입출력 버퍼(106)를 거쳐서 취입한다.
도 1에 나타낸 집적 회로(1000)는, 후술하는 클럭 위상 조정 방법에 따라서설계되어 있다. 즉, 집적 회로(1000)의 설계시에, 집적 회로(1000)의 레이아웃으로부터 집적 회로(1000)내의 신호 전달 및 집적 회로(1000)와 SDRAM(l10)와의 신호 전달에 관한 시간, 즉 지연 파라미터를 추출하고, 추출된 지연 파라미터로부터 데이터의 교환을 확실하게 실행할 수 있는 조건을 충족하도록 SDCLKO와 ICLK와의 제 1 위상차에 집약하여, 그 위상차를 변경함으로써, SDRAM(l10)이 SDCLKO에 의해 인터페이스 회로(100)를 거쳐서 데이터 및 제어 신호를 취입하고, 또한, 인터페이스 회로(100)가 SDRAM(l10)이 출력한 데이터를 내부 클럭 ICLK에 의해 취입할 수 있는 집적 회로를 용이하게 얻을 수 있다. 따라서, 본 실시예에 의하면, 종래의 클럭 신호의 위상 조정에 보여지는 클럭 신호의 위상 조정용의 특별한 회로를 사용하지 않더라도, 동작 확실성이 높은 위상의 클럭을 용이하게 얻을 수 있다.
도 2는 클럭과 데이터의 위상 관계를 나타낸 타이밍차트이다. 도 1과 도 2를 이용하여, 클럭과 데이터의 위상 관계에 대해 설명한다.
우선, SDCLKO 출력 버퍼(103)에 입력한 SDCLKO 신호는, T1ioout로 표시되는 시간 후에, SDCLKO 출력 버퍼(103)로부터 출력된다. T1ioout는 SDCLKO 출력 버퍼(103)가 신호 출력에 필요한 시간, 즉, 출력 지연을 나타낸다.
계속해서, SDCLKO는 T1bw로 표시되는 시간 후에 SDRAM(110)에 도달한다. Tlbw는 SDCLKO 출력 버퍼(103)로부터 SDRAM(110)까지의 배선 지연을 나타낸다.
이어서, SDCLKO가 SDCLKO 출력 버퍼(103)에 도달하고 나서 D 지연되어 ICLK가 제 1 FF(l05)에 도달한다. D는, 내부 클럭 ICLK이 제 1 FF(l05)에 도달한 시점에서의 SDCLKO가 SDCLKO 출력 버퍼(103)에 입력한 시점에 대한 위상차를 나타낸다.
계속해서, T2ow+T2ioout로 표시되는 시간 후에, 입출력 버퍼(106)로부터 SDRAM 커맨드가 출력된다. T2ow는 제 1 FF(l05)로부터 입출력 버퍼(106)까지의 배선 지연을 나타내고, T2ioout는 입출력 버퍼(106)의 출력 지연을 나타낸다.
이어서, T2bw로 표시되는 시간 후에, 커맨드가 SDRAM(110)에 도달한다. T2bw는 입출력 버퍼(106)로부터 SDRAM(l10)까지의 배선 지연을 나타낸다.
도면 중, SDSETUP로 표시되는 시간은, SDRAM(l10)에서의 SDCLKO 상승 전, 데이터 액세스를 위해 확보되어야 할 셋업 시간이고, SDHOLD로 표시되는 시간은, SDRAM(110)에서의 SDCLKO 상승 후, 데이터 액세스를 위해 확보되어야 할 데이터 유지 시간이다.
한편, SDRAM(l10)으로부터 데이터를 판독할 때에는, SDCLKO가 SDRAM(l10)에 도달하고 나서, SDQDELAY로 표시되는 시간 후에, 데이터가 판독된다.
판독되는 데이터(판독 데이터)는, T2bw로 표시되는 시간 후에 입출력 버퍼(106)에 입력된다.
입출력 버퍼(106)에 입력된 데이터는, T3ow+T3ioin로 표시되는 시간 후에 제 2 FF에 도달한다. T3ow는 입출력 버퍼(106)로부터 제 2 FF(107)까지의 배선 지연을 나타내고, T3ioin은 입출력 버퍼(1O6)의 버퍼 지연을 나타낸다.
또, SDRAM(110)로부터 출력되는 데이터 DQ의 유지 시간을 SDQHOLD로 나타내고, 제 2 FF(l07)에서의 데이터 입력시에, 필요한 셋업 시간을 T3FSETUP로 나타내며, 필요한 유지 시간을 T3FHOLD로 나타내어, 도 2에 나타내었다.
다음에, 도 1 및 도 2를 이용하여, 데이터 전송 회로의 클럭 위상 조정 방법에 있어서 중요한 클럭의 위상차 D의 계산 방법에 대해 서술한다.
우선, 도 1에 나타내는 회로를 설계하여, 레이아웃 툴(tool)을 이용하여 회로의 배치 배선을 한다. 그 결과에 근거하여, 각 구성(셀) 및 배선에 관한 지연 파라미터를 산출하고, 이하의 계산식을 이용하여 SDRAM 클럭 SDCLKO과 내부 클럭 ICLK과의 위상차 D를 산출한다.
도 1에 나타내는 회로를 레이아웃한 경우, 추출되는 지연 파라미터를 이용하여, (수학식 1)로 표시되는 위상차 D를 후술의 방법에 따라서 구한다.
위상차 D는 외부 메모리에 공급되는 외부 클럭의 출력 시점과, 집적 회로를 동작시키는 내부 클럭이 데이터 입출력의 기준점에 도달하는 시점과의 위상차, 즉, 내부 클럭이 클럭 발생기로부터의 데이터 출력용 플립플롭에 도달하는 시간으로부터, 외부 클럭이 클럭 발생기로부터 외부 클럭 출력용 버퍼에 도달하는 시간을 뺀 값이며, (수학식 1)로 나타낼 수 있다.
수학식중, T2g는 클럭 발생기(101)로부터 제 2 클럭 버퍼(104)까지의 배선 지연을 나타내고, T2b는 제 2 클럭 버퍼(104)의 셀 지연을 나타내며, T2iw는 제 2 클럭 버퍼(104)로부터 제 1 FF(105)까지의 배선 지연을 나타내고, T1g는 클럭 발생기(101)로부터 제 1 클럭 버퍼(102)까지의 배선 지연을 나타내며, T1b는 제 1 클럭 버퍼(l02)의 셀 지연을 나타내고, T1ow는 제 1 클럭 버퍼(102)로부터 SDCLKO 출력 버퍼(103)까지의 배선 지연을 나타낸다.
여기서, SDRAM와 같은 외부 메모리와 데이터 액세스하는 인터페이스 회로를 구비한 집적 회로를 제작할 때의 제 1 필수 조건으로서,「SDRAM은 집적 회로로부터 출력되는 데이터(SDRAM 커맨드 및 기입 데이터를 포함함)를 취입할 수 있는」것을 들 수 있다. 그를 위해서는,
조건 1 :「내부 클럭이 클럭 발생기로부터 출력용 플립플롭에 도달하는 시간」과「내부 클럭에 의해서 출력용 플립플롭으로부터 출력된 데이터가 외부 메모리에 도달하기까지의 시간」과의 합으로부터,「외부 클럭이 클럭 발생기로부터 외부 메모리에 도달하기까지의 시간」을 빼는 것에 의해 얻어지는 제 1 값이, 외부 메모리의 데이터를 취입하기 위해 필요한 데이터 유지 시간보다 큰 것,
조건 2 : 외부 클럭의 1 사이클 시간으로부터 제 1 값을 뺀 값이, 외부 메모리의 데이터를 취입하기 위해 필요한 데이터 셋업 시간보다 큰 것
을 충족해야 한다.
본 실시예에서는, 클럭 발생기(101)가 SDCLKO 및 ICLK을 생성하여, 제 1 FF(l05)가 ICLK에 의해서 데이터를 SDRAM(110)에 출력하기 때문에, 제 1 값은,
「ICLK이 클럭 발생기(101)로부터 제 1 FF(l05)에 도달하는 시간」과, 「ICLK에 의해서 제 1 FF(l05)로부터 출력된 데이터가 SDRAM(110)에 도달하기까지의 시간」과의 합으로부터,「SDCLKO가 클럭 발생기(101)로부터 SDRAM(110)에 도달하기까지의 시간」을 뺀 값
이라고 바꿔 말할 수 있다.
도 1 및 도 2에 있어서, 클럭 발생기(101)로부터 SDRAM(110)까지의 SDCLKO 클럭의 도달 시간 CKD는 (수학식 2)에 의해 얻어진다.
또한, 집적 회로(1000)로부터 SDRAM(l10)에 출력되는 데이터(이하, SDRAM(110)에 입력되는 데이터 및 커맨드를 총칭하여 DQ라고 부름)의 도달 시간 DQOD는, ICLK이 클럭 발생기(101)에서 출력된 시점으로부터 생각하면, (수학식 3)으로 표시된다.
수학식중, T2f는 제 1 FF(l05)의 셀 지연을 나타낸다.
또, T1bw 및 T2bw는 보드 레이아웃으로부터 산출되는 지연값 정보로서, 요구 지연값이더라도 좋다.
상기 기호를 이용하여 조건 1을 나타내면, (수학식 4)로 된다.
또한, SDRAM(l10)으로의 공급 클럭의 1 사이클 시간을 SDCLKCYCLE로 나타내고, 상기 기호를 이용하여 조건 2를 나타내면, (수학식 5)로 된다.
(수학식 1∼5)로부터,
(수학식 6)으로 나타낼 수 있다.
또한, SDRAM와 같은 외부 메모리와 액세스하는 인터페이스 회로를 구비한 집적 회로를 제작할 때의 제 2 필수 조건으로서,「집적 회로는 SDRAM으로부터 출력되는 데이터를 취입할 수 있는」 것을 들 수 있다. 그를 위해서는,
조건 3 :「외부 클럭이 클럭 발생기로부터 외부 메모리에 도달하기까지의 시간」과,「외부 클럭을 수신하여 외부 메모리로부터 출력되는 데이터의 유지 시간」과,「출력된 데이터가 입력용 플립플롭에 도달하는 시간」과의 합으로부터,「내부 클럭이 클럭 발생기로부터 입력용 플립플롭에 도달하는 시간」을 뺀 제 2 값이 입력용 플립플롭의 데이터 입력 유지 시간보다 큰 것,
조건 4 :「내부 클럭의 1 사이클 시간」과,「내부 클럭이 클럭 발생기로부터 입력용 플립플롭에 도달하는 시간」과의 합으로부터,「외부 클럭이 클럭 발생기로부터 외부 메모리에 도달하는 시간」과,「외부 클럭을 수신하여 외부 메모리로부터 출력되는 데이터의 출력 지연 시간」과,「출력된 데이터가 집적 회로내의 입력용 플립플롭에 도달하는 시간」과의 합을 뺀 제 3 값이 입력용 플립플롭의 데이터 입력 셋업 시간보다 큰 것
이 필요하다.
본 실시예에서는, 클럭 발생기(101)가 SDCLKO와 ICLK를 생성하여, 제 2 FF(l07)가 SDRAM(110)로부터 출력되는 데이터를 취입하기 때문에, 제 2 값은,
「SDCLKO가 클럭 발생기(101)로부터 SDRAM(l10)에 도달하기까지의 시간」과, 「SDCLKO를 수신하여 SDRAM(110)로부터 출력되는 데이터의 유지 시간」과,「출력된 데이터가 제 2 FF(l07)에 도달하기까지의 시간」과의 합으로부터,「ICLK가 클럭 발생기(101)로부터 제 2 FF(l07)에 도달하기까지의 시간」을 뺀 값
이며, 제 3 값은,
「ICLK의 1 사이클 시간」과,「ICLK가 클럭 발생기(101)로부터 제 2 FF(l07)에 도달하기까지의 시간」과의 합으로부터,「SDCLKO가 클럭 발생기(101)로부터 SDRAM(110)에 도달하는 시간」과,「SDCLKO를 수신하여 SDRAM(l10)로부터 출력되는 데이터의 출력 지연 시간」과,「출력된 데이터가 제 2 FF(107)에 도달하기까지의 시간」과의 합을 뺀 값이라고 바꿔 말할 수 있다.
제 2 FF(l07)는 집적 회로(1000)의 내부 클럭 ICLK에서 동작하고 있다. 도 1 및 도 2에서, SDRAM(110)의 출력 데이터 DQ가 제 2 FF(l07)에 도달하는 시간 DQID는 (수학식 7)로 표시된다.
또한, 집적 회로(1000) 내부의 동작 클럭 ICLK이 제 2 FF(l07)에 도달하는 시간 MCKD는, 클럭 스큐 조정 결과로부터 T3iw≒T2iw인 것을 고려하면, (수학식 8)로 표시된다.
따라서, 조건 3은,
로 표시된다. 또한, 조건 4는,
로 표시된다. 또한, SDCLKO와 ICLK는, 클럭 발생기(101)에서 생성되기 때문에, 양 클럭의 1 사이클 시간은 동일하다.
수학식(1, 2, 7∼10)으로부터,
로 된다.
위상차 D는 레이아웃 추출된 각 파라미터를 (수학식 6) 및 (수학식 11)에 대입함으로써 산출된다. 파라미터에는, 통상, MAXIMUM 조건시와 MINIMUM 조건시가 있기 때문에, 양쪽의 조건을 충족하는 위상차 D를 산출한다.
예컨대, 현재, 외부 핀에 대해 1O㎊의 최대 외부 부하 용량에 있어서, 레이아웃 후 추출된 파라미터가 MAXIMUM 조건시와 MINIMUM 조건시에 이하의 (표 1), (표 2)와 같은 것으로 한다.
여기서 MAXIMUM 조건은, 전압이 0.92 ×VDD, 온도가 70℃의 조건, MINIMUM 조건은, 전압이 1.08×VDD, 온도가 0℃를 조건으로 한다. VDD는 집적 회로(1000)의 동작 전압이다.
MAXIMUM 조건시에는, 위상차 D가 TYPICAL시의 약 2배로 하여 계산하면, 상기 (표 1)로부터, (수학식 6)을 이용하여,
-3.218nsec<2D<7.582nsec
상기 표로부터, (수학식 11)을 이용하여,
5.738nsec<2D<13.648nsec
따라서, D는,
의 범위이면 좋다.
MINIMUM 조건시에는, 위상차 D가 TYPICAL시의 약 2분의 1의 값으로서 계산하면, 상기 표로부터, (수학식 6)을 이용하여,
0.826nsec<D/2<11.626nsec
상기 표로부터, (수학식 11)을 이용하여,
-3.786nsec<D/2<4.604nsec
따라서, 위상차 D는 이하의 범위이면 양호한 것으로 된다.
또한, 외부 부하의 최소값을 3㎊로 하여, 레이아웃 후 파라미터를 추출하고 (추출 결과는 표시하지 않음), 외부 부하 10㎊시와 마찬가지로, (수학식 6)과 (수학식 11)을 이용하여 D를 계산하고,
(수학식 14) 및 (수학식 15)의 결과가 얻어진 것으로 하면, (수학식 12)∼(수학식 15)로부터, 중심값을 취하고, D≒3.4nsec로 된다.
집적 회로(1000)의 레이아웃을 제작한 후, 추출된 각 파라미터와 상기 수학식에 의해 D를 산출하고, 집적 회로(1000)의 내부 클럭 ICLK을 SDRAM(110)에 공급하는 클럭 SDCLKO로부터 D 값분, 상기 예의 경우에는 3.4nsec 지연시키도록 위상차를 변경하여 클럭 트리를 구성한다고 하는 클럭 위상 조정 방법을 이용하면, LSI의 설계 단계에서 클럭 위상을 조정할 수 있다. 이 때, 제 1 클럭 버퍼(102)에는, 전술의 방법에서 선택된 위상차 D를 고려한 (T1g+T1b+T1ow)의 값이 설정되고, 제 2 클럭 버퍼(104)에도, 위상차 D를 고려한 (T2g+T2b+T2iw)의 값이 설정된다.
지연 소자의 조정은, 예컨대, 클럭 트리 구성시에 통상 행해지는 클럭 스큐 조정시에, SDCLKO 경로의 지연 소자를 조정하여 SDCLKO의 위상을 ICLK보다도 D값분 빠른 위상으로 하면 좋다. 클럭 스큐 조정이란, 클럭 트리 구성시에, 집적 회로내에서의 클럭 위상을 구비하는 것이다. 즉, 본 실시예는, 종래 클럭의 위상을 구비하기 위해서 행해져 온 클럭 스큐 조정시에, SDCLKO의 위상을 D값 빠르게 하는 것에 의해, 외부 메모리와 액세스하는데 보다 적절한 클럭을 용이하게 제공할 수 있다.
또한, 지연 소자의 조정은, 예컨대, 클럭 스큐를 조정한 후, 즉, 클럭 위상이 정렬된 후에, SDCLKO의 지연값을 D값분 적게 하도록, 클럭 버퍼내의 지연 소자를 변경하거나, 배선을 변경함으로써 행하더라도 좋다.
도 3은 집적 회로(1000)에 있어서의 클럭 위상 조정 방법을 나타낸 흐름도이다. 클럭 위상 조정은 클럭 스큐 조정시에 실행하는 경우를 예로 든다.
우선, 단계 S1에서, 집적 회로(1000)의 레이아웃에 따라서 클럭 트리를 구성한다.
다음에 단계 S2에서, 레이아웃으로부터 회로의 네트 리스트에 대응한 지연 파라미터를 추출한다.
다음에 단계 S3에서, D값을 구하는 계산 프로그램에, 기지의 또는 요구되는 외부 요인 파라미터, 예컨대, SDRAM(110)의 데이터 셋업, 유지 시간, 보드의 배선 지연, 배선 부하, 및 SDRAM(110)의 입력 부하 용량을 설정한다.
다음에 단계 S4에서, 내부 클럭 ICLK의 시점과, SDRAM용 클럭 SDCLKO의 시점을 지정하고, 또한, 상기 조건 1 및 2의 종점인 SDRAM(110)으로의 SDCLKO의 도달점 및, 데이터의 도달점을 지정한다. 또한 상기 조건 3 및 4의 종점인 제 2 FF(l07)의 데이터 입력핀을 지정한다.
다음에 단계 S5에서, 단계 S2에서 추출한 지연 파라미터를 기초로, D의 값을 산출한다.
다음에 단계 S6에서, 단계 S2에서 추출한 지연 파라미터를 기초로, SDCLKO에 의해 데이터 및 제어 신호(커맨드)가 SDRAM(l10)에 취입되도록, 또한, SDRAM(110)이 출력한 데이터가 내부 클럭 ICLK에서 인터페이스 회로(100) 내부에 취입되도록, (수학식 1)∼(수학식 11)을 사용하여 D의 범위를 계산한다.
단계 S7로 진행하여, 단계 S5에서 산출한 D가 단계 S6에서 산출한 D의 범위를 충족하는지 여부를 판단하여, D가 범위를 충족하고 있지 않으면, 단계 S8로 진행하고, D가 범위를 충족하고 있으면, 내부 및 외부 클럭 신호의 지연값을 변경하지 않는다.
단계 S8에서는, 단계 S6에서 산출한 D의 범위로부터 적절한 D를 선택하고, 단계 S9에서, 선택한 D의 값을 기초로, 클럭 스큐 조정용 지연 소자를 치환하거나, 배선을 변경하는 등 해서, 외부 클럭 혹은 내부 클럭의 지연값을 변경한다.
이상과 같은 방법을 취함으로써 종래의 데이터 전송 장치와 같이, 설계자가 시행 착오에 의해 위상 조정하는 것도 없고, 또한 위상 조정을 위한 특별한 회로(예컨대, 일본 특허 공개 평성 제 9-185427 호에 나타내어지는 클럭 위상 조정 회로(12))를 필요로 하지 않고, 동작 확실성이 높은 위상으로 클럭 공급을 실행하는 집적 회로의 클럭 위상을 조정할 수 있다.
본 실시예에서 설명한 집적 회로(1000)내의 클럭 버퍼의 수나, 플립플롭의 수는 도 1에 나타낸 수 이외이어도 좋다.
또한, 외부 부하 용량을 최대시 1O㎊와 최소시 3㎊로 했지만, 사용하는 시스템에 있던 값을 사용하는 것으로 한다.
본 실시예에서는, 도 1에 나타내는 구성을 갖는 집적 회로(1000)에 관해서 설명하여 왔지만, 인터페이스 회로(100) 및 집적 회로(1000)의 구성은 도 1에 한정되지 않고, 클럭을 이용하여 외부 메모리와 액세스하는 디바이스 모두에 본 실시예를 적용할 수 있다. 도 1 이외의 구성의 디바이스를 설계할 때는, 상기 제 1 및 제 2 필수 조건을 충족하도록, 상기 조건 1∼4 및 (수학식 1)∼(수학식 11)을 참고하여, 지연 파라미터를 구하고, 도 3의 흐름도에 따라, 지연 파라미터를 고려한 디바이스를 설계하면 좋다.
이상 설명한 바와 같이, 본 실시예에 의한 클럭 위상 조정 방법을 이용하면, 클럭을 이용하여 외부 메모리와 액세스하는 디바이스의 레이아웃 설계시, 예컨대 클럭 스큐 조정시에 지연 소자의 값을 변경하거나, 배선을 변경함으로써, 클럭의 위상을 조정할 수 있다. 따라서, 종래와 같이 시행 착오에 의해 위상을 조절하지 않고, 또한, 클럭 위상 조정을 위한 테스트를 하지 않고, 외부 메모리와 데이터 액세스할 수 있는 회로의 클럭을 조정할 수 있다. 특히, SDRAM과 같이 고속의 액세스를 필요로 하는 경우에도, 본 실시예를 이용하면, 고속 액세스 가능한 집적 회로의 위상 조정을 용이하고 또한 보다 정확하게 실현할 수 있다.
또한, 본 실시예의 집적 회로의 설계 방법을 이용하면, 시행 착오에 의해 위상 조절하지 않고, 또한, 클럭 위상 조정을 위한 테스트를 하지 않고, 집적 회로를 설계할 수 있다. 또한, 회로 규모 및 회로 제작의 공정 수가 삭감되기 때문에, 소비 전력도 저감되며, 또한, 설계가 용이하기 때문에, 개발 기간의 단축으로도 이어지며, 또한 자동화하는 것이 가능해지는 것에 의해, 설계자의 부담을 경감할 수 있어, 단순한 설계 미스의 방지도 된다.
또한, 본 실시예의 집적 회로를 이용하면, 종래와 같은 복잡한 회로를 갖지 않더라도 적절한 클럭을 공급할 수 있는 집적 회로를 제공할 수 있다. 특히, SDRAM와 같은 고속의 액세스를 필요로 하는 인터페이스 회로를 구비한 집적 회로를 공급할 수 있다.
(실시예 2)
실시예 1에 있어서, 집적 회로(1000) 내부의 파라미터는, 집적 회로(1000)가 실장되는 시스템에 의해 크게 변화하지는 않고, 레이아웃으로부터 추출한 파라미터의 변동 범위로 예측 가능하다. 그러나, 외부 요인에 의한 파라미터, 예컨대, 보드상의 배선 부하 및 배선 지연, SDRAM(l10)의 입력 부하 용량 등은, 실장되는 시스템에 의해 편차가 있다. 그래서, 실시예 2에서는, 실시예 1에 따른 클럭 위상 조정 방법을 이용하고, 또한, 실장되는 시스템의 다양성을 고려한 클럭 위상 조정 방법, 및 외부 메모리와 액세스하는 인터페이스 회로를 구비한 집적 회로와 그 설계 방법에 대해 설명한다.
실시예 2에 따른 클럭 위상 조정 방법은, 우선, 실시예 1에 따른 클럭 위상 조정 방법을 응용한 방법(후술함)에서 위상차 D를 구하고, 집적 회로가 임의의 시스템에 실장되었을 때, 외부 요인에 의한 지연값의 변동에 대처할 수 있도록, 항상 클럭 신호의 지연을 감시하고, 검출된 클럭 신호의 위상차에 맞추어 D값을 선택할 수 있다고 하는 방법이다.
도 4는 실시예 2에 따른 클럭 위상 조정 방법을 적용하여 제작된 인터페이스 회로(400)를 구비한 집적 회로(1010) 구성의 일부를 나타내는 블럭도이다. 도 4에서는, 설명을 용이하게 하기 위해서, 집적 회로(1010)의 구성중, SDRAM(420)과의 액세스에 관한 구성을 개략적으로 나타내었다. 집적 회로(1010)는 SDRAM(420)과 데이터 액세스하는 임의의 시스템에 실장된다.
집적 회로(1010)는 인터페이스 회로(400), 클럭 발생기로서의 PLL(401) 및 분주기(402), 제 3 클럭 버퍼(403), 및 제 4 클럭 버퍼(405)를 구비하고, 인터페이스 회로(400)는 SDCLKO를 출력하는 SDCLKO 출력 버퍼(404), 출력용 플립플롭인 제 3 플립플롭(제 3 FF)(406), 데이터를 입출력하는 입출력 버퍼(407), SDCLKI 입력 버퍼(408), 제 4 플립플롭(제 4 FF)(409), 입력용 플립플롭인 제 5 플립플롭(제 5 FF)(410), 위상차 검출기(411), 및 에러 플래그 출력 버퍼(412)를 구비한다. 도면중, T로 시작되는 파라미터를 첨부한 화살표는, 후술하는 집적 회로(10l0)내의 신호 전달 및 집적 회로(1010)와 SDRAM(420)와의 신호 전달에 관한 지연 파라미터를 나타낸다.
PLL(401)는, 예컨대 27MHz로부터 체배한 1080MHz의 클럭 OCLK을 출력하는 것으로 한다.
분주기(402)는 PLL(401)로부터 입력된 클럭을 분주하여, 기준으로 되는 67.5MHz의 클럭을 생성한다.
제 3 클럭 버퍼(403)는 분주기(402)로부터 출력되는 클럭을 수신하여, 외부 메모리, 즉 SDRAM(420)에 공급하기 위한 클럭 SDCLKO를 구동한다. 또한, 제 3 클럭 버퍼(403)는 후술하는 바와 같이, 지연값이 선택 가능한 구성을 갖는다.
제 4 클럭 버퍼(405)는 분주기(402)로부터 출력되는 클럭 DIVCK을 구동하고, 집적 회로(1010)의 내부를 동작시키는 클럭 ICLK을 생성하여, ICLK를 집적 회로(1010)의 각 구성에 공급한다.
제 3 FF(406)는 제 1 FF(l05)와 마찬가지로 래치된 데이터를 ICLK에 동기하여, 입출력 버퍼(407)를 거쳐서 SDRAM(420)에 출력한다.
SDCLKI 입력 버퍼(408)는 SDRAM(420)에 입력된 SDCLKO의 피드백 클럭 SDCLKI가 입력되는 버퍼이다.
제 4 FF(409)는 SDRAM 커맨드에 의해 SDRAM(420)내의 데이터로부터 판독 데이터를, 입출력 버퍼(407)를 거쳐서, 피드백 클럭 SDCLKI에 동기하여 취입한다.
제 5 FF(410)는 제 4 FF(409)에서 취입한 데이터를 집적 회로(400)의 동작클럭 ICLK에서 래치한다.
위상차 검출기(411)는 SDRAM(420)에 공급하기 위한 SDCLKO와, SDRAM(420)로부터 피드백된 클럭 SDCLKI와, PLL(401)의 출력인 OCLK를 수신하여, SDCLKO와 SDCLKI와의 위상차 PD를 검출하는 검출 기능과, PD에 맞추어 D를 선택하는 선택기기능을 갖는다.
또한, 위상차 검출기(411)는 OCLK을 이용하여 SDCLKO와 SDCLKI와의 위상차 PD를 검출하여, 후술하는 바와 같이, 검출된 PD로부터 미리 설정된 위상차 D를 선택하고, 이하의 (수학식 16)으로부터 SDRAM 클럭의 지연값 SDCLKDLY를 결정한다. D는 이하의 식으로 표시된다.
D=(T6g+T6b+T6iw)-(T5g+T5b+T5ow)
수학식중, T6g는 분주기(402)로부터 제 4 클럭 버퍼(405)까지의 배선 지연을 나타내고, T6b는 제 4 클럭 버퍼(405)의 셀 지연을 나타내며, T6iw는 제 4 클럭 버퍼(405)로부터 제 3 FF(406)까지의 배선 지연을 나타내고, T5g는 분주기(402)로부터 제 3 클럭 버퍼(403)까지의 배선 지연을 나타내며, T5b는 제 3 클럭 버퍼(403)의 셀 지연을 나타내고, T5ow는 제 3 클럭 버퍼(403)로부터 SDCLKO 출력 버퍼(404)까지의 배선 지연을 나타낸다. 또한, (수학식 16)은,
로 표시된다.
에러 플래그 출력 버퍼(412)는, 위상차 검출기(411)가 오류를 출력하였 때에, 에러 플래그를 출력한다.
본 실시예는, 실시예 1과 마찬가지로, 제 l 및 제 2 필수 조건을 충족할 필요가 있다. SDCLKO 및 ICLK의 클럭 발생기를 분주기(402)로 하면, 제 1 필수 조건은 실시예 1의 조건 1 및 2와 마찬가지로,
조건 5 :「ICLK이 분주기(402)로부터 제 3 FF(406)에 도달하는 시간」과, 「ICLK에 의해서 제 3 FF(406)로부터 출력된 데이터가 SDRAM(420)에 도달하기까지의 시간」과의 합으로부터,「SDCLKO가 분주기(402)로부터 SDRAM(420)에 도달하기까지의 시간」을 뺀 제 1 값이, SDRAM(420)의 데이터를 취입하기 위해 필요한 데이터 유지 시간보다 크고,
SDCLKO의 1 사이클 시간으로부터 제 1 값을 뺀 값이, SDRAM(420)의 데이터를 취입하기 위해 필요한 데이터 셋업 시간보다 큰 것
으로 나타낼 수 있다. 또한, 제 2 필수 조건은,
조건 6 :「외부 클럭이 분주기(402)로부터 외부 메모리, 즉, SDRAM(420)에 도달하여, 피드백 클럭으로서 SDRAM(420)로부터 되돌아 가서 집적 회로(1010)에 입력되고, 또한, SDRAM(420)으로부터의 데이터를 피드백 클럭에 의해서 취입하기 위한 플립플롭, 즉 제 4 FF(409)에 도달하기까지의 시간」과,「제 4 FF(409)의 셀 지연」과,「제 4 FF(409)로부터 내부 클럭으로 동작하고 있는 2 단째의 데이터 취입 플립플롭, 즉, 제 5 FF(410)까지의 배선 지연」을 합한 값(이하, 값 V1이라고 부르기로 함)으로부터,
「내부 클럭이 분주기(402)로부터 제 5 FF(410)에 도달하기까지의 시간」을 뺀 값이, 제 5 FF(410)의 유지 시간보다 큰 것,
조건 7 :「내부 클럭이 분주기(402)로부터 제 5 FF(410)에 도달하기까지의 시간」과「SDRAM 클럭의 1 사이클 시간」과의 합으로부터 값 V1을 뺀 값이, 제 5 FF(410)의 셋업 시간보다 큰 것,
조건 8 : 값 V1이「내부 클럭이 분주기(402)로부터 제 5 FF(410)까지 도달하는 시간」보다 큰 것,
조건 9 : SDRAM(420)으로부터 출력되는 데이터 DQ보다, 피드백 클럭 SDCLKI가 너무 지연되지 않는 것, 즉,「SDRAM(420)으로부터 출력되는 데이터가 SDRAM(420)로부터 제 4 FF(409)에 도달하는 시간(유지 시간+배선 지연+입력 버퍼 지연)」으로부터,「SDRAM 클럭이 SDRAM(420)로부터 피드백되어, 제 4 FF(409)에 도달하기까지의 시간」을 뺀 값이,「제 4 FF(409)의 유지 시간」보다 큰 것
으로 나타낼 수 있다.
조건 5는, (수학식 6)의 파라미터를 본 실시예에 적용한 (수학식 17)로 표시된다.
수학식중, SDHOLD는 SDRAM(420)의 데이터 입력에 필요한 유지 시간을 나타내고, T6f는 제 3 FF(406)의 셀 지연을 나타내며, T6ow는 제 3 FF(406)으로부터 입출력 버퍼(407)까지의 배선 지연을 나타내고, T6ioout는 입출력 버퍼(407)의 출력 지연을 나타내며, T6bw는 입출력 버퍼(407)로부터 SDRAM(420)까지의 배선 지연을 나타내고, T5ioout는 SDCLKO 출력 버퍼(404)의 출력 지연을 나타내며, T5bw는 SDCLKO 출력 버퍼(404)로부터 SDRAM(420)까지의 배선 지연을 나타내고, SDCLKCYCLE는 SDRAM(420)으로의 공급 클럭 SDCLKO의 1 사이클 시간을 나타내며, SDSETUP는 SDRAM(420) 데이터 입력에 필요한 셋업 시간을 나타낸다.
조건 6 및 7은 (수학식 18)로 나타낼 수 있다.
수학식중, T8bw는 SDRAM(420)으로부터 SDCLKI 입력 버퍼(408)까지의 배선 지연을 나타내고, T8ioin은 SDCLKI 입력 버퍼(408)의 버퍼 지연을 나타내며, T8ow는 SDCLKI 입력 버퍼(408)로부터 제 4 FF(409)까지의 배선 지연을 나타내고, T8f는 제 4 FF(409)의 셀 지연을 나타내고, T8iw는 제 4 FF(409)으로부터 제 5 FF(410)까지의 배선 지연을 나타내며, T5FSETUP는 제 5 FF(410)의 데이터 입력에 필요한 셋업 시간을 나타내고, T5FHOLD는 제 5 FF(410)의 데이터 입력에 필요한 유지 시간을 나타낸다. 또한, SDCLKO와 ICLK는 분주기(402)에서 생성되기 때문에, 양 클럭의 1 사이클 시간은 동일하다.
위상차 검출기(411)에 의해 검출되는 위상차 PD는, 외부 클럭이 집적 회로(1010)로부터 출력되는 시점과, 외부 클럭이 외부 메모리로부터 피드백되어 집적 회로(1010)에 도달하는 시점과의 위상차이므로,
로 되고, (수학식 18)은,
로 된다.
조건 8은,
D<T5ioout+T5bw+T8bw+T8ioin+T8ow+T8f+T8iw
로 표시되지만, (수학식 l8)이 충족되면, 조건 8도 충족된다.
조건 9는,
SDQHOLD+T6bw+T7ioin+T7ow-(T8bw+T8ioin+T8ow)>T4FHOLD
로 표시된다. 상기 수학식중, SDQHOLD는 SDRAM(420)으로부터 출력되는 데이터 DQ의 유지 시간을 나타내고, T7ioin는 입출력 버퍼(407)의 버퍼 지연을 나타내며, T7ow는 입출력 버퍼(407)로부터 제 4 FF(409)까지의 배선 지연을 나타내고, T4FHOLD는 제 4 FF(409)의 데이터 입력에 필요한 유지 시간을 나타낸다.
조건 7을 나타내는 상기 식은, T6bw, T7ioin, T7ow, T8bw, T8ioin, T8ow에서 등길이 배선을 유의하는 것에 의해 충족된다. 통상, 외부 메모리에 입력된 클럭이 피드백되는 인터페이스 회로에서는, 조건 7은 필수적이기 때문에, 본 실시예에서는, 상기한 바와 같은 등길이 배선을 하여, 조건 7을 이미 충족하고 있는 것으로 한다.
(수학식 17)-(수학식 20)에 있어서, 외부 요인에 의한 파라미터, 예컨대, 보드상의 배선 부하 및 배선 지연, SDRAM(420)의 입력 부하 용량 등은, 실장되는 시스템에 의해 편차가 있지만, 인터페이스 회로(400)의 내부 파라미터, 예컨대, T6f, T6ow, T8f, T8iw, T5FSETUP, T5FHOLD 등은, 시스템에 의해 크게 변화하지는 않고, 레이아웃으로부터 추출한 파라미터의 변동 범위에서 예측 가능하다. 따라서, 레이아웃으로부터 추출된 예측 가능한 파라미터를 (수학식 20)에 대입하여, D의 범위를 MAXIMUM 조건시와 MINIMUM 조건시로 나누어 계산하면, PD 이외의 부분은 외부 부하 용량에 의해 변화하지 않기 때문에, (수학식 20)은, PD를 변수로 하는 일차 부등식으로 된다.
예컨대, 레이아웃으로부터 추출된 예측 가능한 파라미터를 (수학식 20)에 대입하여, MAXIMUM 조건시를 실시예 1과 마찬가지로, D가 TYPICAL시의 약 2배로서 계산하면, (수학식 20)은,
로 되고,
MINIMUM 조건시를 실시예 1과 마찬가지로, D가 TYPCICAL시의 약 2분의 1의 값으로서 계산하면, (수학식 20)은,
로 되는 것으로 가정한다. 수학식중, d1, d2, d3, d4는 레이아웃으로부터 추출된 예측 가능한 파라미터를 (수학식 20)에 대입하여 얻어진 정수이다.
위상차 PD는 변수이기 때문에, d2>d4>d1>d3라고 하면, (수학식 21) 및 (수학식 22)은 도 5의 그래프로 표시된다. (수학식 21)로 표시되는 D의 범위는, 도 5의 그래프상에서는, 검게 칠한 사각형과 마름모 형태가 붙은 직선의 사이이다. (수학식 22)으로 표시되는 D의 범위는, 도 5의 그래프상에서는, 검게 칠한 삼각형과 X(엑스) 형상의 화살표가 붙은 직선의 사이이다.
한편, SDCLKO가 SDRAM(420)에 도달하는 시간과, 인터페이스 회로(400)가 출력한 데이터가 도달하는 시간과의 차를 규정한 조건식인 (수학식 17)로부터 D의 범위를 산출한다. 이 때, T5ioout, T6ioout, T5bw, T6bw에 의한 배선 지연은, 등길이 배선을 유의하면, 거의 마찬가지의 부하가 발생하여, 상대적으로 지연이 발생하기 때문에, (수학식 17)에 인가되는 영향은 적고, 외부 부하 용량이 변하더라도, (수학식 17)은 변수를 갖지 않는 부등식으로 표시된다.
예컨대, 레이아웃으로부터 추출된 예측 가능한 파라미터를 (수학식 17)에 대입하여,
이 얻어진 것으로 한다. 수학식중, d5와 d6는 레이아웃으로부터 추출된 예측 가능한 파라미터를 (수학식 17)에 대입하여 얻어지는 정수를 나타낸다.
d5>d2로서 (수학식 23)을 도 5의 그래프에 반영시켜, (수학식 2l), (수학식 22) 및(수학식 23)을 충족하는 유효 범위를 사선으로 나타낸다. 위상차 D는 사선으로 도시된 유효 범위내에서 임의로 선택된다.
또한, D의 취득 범위에 어떠한 제한이 있는 경우, 제한에 맞추어 D의 유효 범위를 정하는 것도 할 수 있다. 예컨대, 하한이 d7로 정해져 있는 경우, (수학식 23)은,
d5<d7인 경우, d7<D<d6으로 되고,
d5>d7인 경우, d5<D<d6으로 된다.
본 실시예에서는, 후술하는 바와 같이, 위상차 검출기(411)가 OCLK의 카운트 수에 따라서 SDCLKO와 SDCLKI와의 위상차 PD를 검출하고 있기 때문에, 상기 D의 유효 범위중, PD가 OCLK의 카운트 수와 일치할 때의 D의 범위로부터 선택하면 좋다. 예컨대, PD=2 클럭인 때에는, d5<D<d10으로부터 위상차 D를 선택한다.
집적 회로(1010)를 제작할 때에, D의 초기 설정값을 전술의 방법으로 선택한다. 즉, PD의 초기 설정값으로서 OCLK2 클럭분에 상당하는 위상차를 선택한 경우, d5<D<d10으로부터 위상차 D의 초기 설정값을 선택한다. 실시예 1과 마찬가지로, 선택한 초기 설정값에 근거하여, 집적 회로(1010)의 클럭 트리를 구성해서, 소망하는 집적 회로(1010)를 얻는다. 또한, 본 실시예에서는 OCLK의 카운트 수에 근거하여 D를 선택했지만, 선택 방법은 이것에 한정되지 않고, 실장되는 시스템에 따라서 D를 선택하면 좋다.
실시예 2에 따른 집적 회로(1010)는, 소정의 시스템에 실장된 후, 전술의 방법에 따라서 미리 선택된 복수의 D값으로부터, 위상차 검출기(411)가 검출한 위상차에 적합한 D값을 선택할 수 있는 구성을 갖는다. 따라서, 실시예 2는 외부 요인에 의해서 지연 파라미터가 변동하는 경우에도 적절한 클럭을 자동적으로 출력할 수 있는 클럭 위상 조정 방법, 집적 회로 및 그 설계 방법을 제공할 수 있다.
다음에, 집적 회로(1010)를 소정의 시스템에 실장한 후, 위상차 검출기(411)가 검출한 위상차에 근거하여, D값을 선택하는 구성 및 방법에 대해 상세하게 설명한다.
위상차 검출기(411)는 SDCLKO와 SDCLKI와의 위상차를 OCLK에서 카운트하고, 그 카운트값, 즉 위상차에 의해서 제 3 클럭 버퍼(403)에 출력하는 설정값 PSET을 선택한다. 설정값 PSETF, 지연값 SDCLKDLY에 대응한 값이다.
위상차 검출기(4l1)는 카운트값으로 표시되는 위상차 각각에 대해, 위상차 D와, PSET와, 에러 플래그의 출력을 미리 정한 테이블을 구비하며, 테이블을 기초로 PSET를 선택한다.
도 6은 위상차 검출기(411)가 구비하는 테이블의 일례를 나타낸다. 테이블(411-l)은, 위상차 검출기(411)가 검출한 PD, 여기서는 카운트한 OCLK의 카운트값을 나타내는 표시부(411-2)와, 각 PD에 대한 D의 값을 나타내는 표시부(411-3)와, 제 3 클럭 버퍼에 출력하는 설정값 PSET을 나타내는 표시부(411-4)와, 에러 플래그의 출력을 H, 에러 플래그의 비출력을 L로 나타내는 표시부(411-5)를 갖는다.
이 때, 각 PD에 대해 설정되는 D는, 도 5의 그래프에 의해서 구해지는 D의 유효 범위와 검출되는 PD로부터 구해지는 범위로부터 미리 임의로 선택된 값이다. 예컨대, PD=2 클럭시의 D는, 도 5의 그래프보다 d5<D<d10의 범위로부터 미리 선택해 놓는다.
또한, (수학식 20)에 의한 D의 범위가 식(17)의 범위로부터 벗어나는 경우(도 5에서는 PD가 1 클럭분 또는 6 클럭분인 때), 에러 플래그 표시부(411-5)에 H를 표시한다. 예컨대, 테이블(411-1)에서는, PD가 1 클럭분, 혹은 6 클럭분인 경우, 에러 플래그 표시부(411-5)에 H가 표시되어 있지만, 이것은 D11과 D16이 (수학식 23)을 충족하고 있지 않다는 것을 나타낸다. 또, 설정값 PSET은 후술하는 제 3 클럭 버퍼가 갖는 3 상태 버퍼에 대응하고 있다.
또한, 본 실시예에서는, 위상차 검출기(411)에서 검출된 PD에 대한 D가 구해지지 않는 경우에, 에러 플래그 출력 버퍼(412)로부터 에러 플래그를 출력하도록 설정했지만, T6ioout 등에 외부 부하를 붙이는 등이면, 에러 플래그의 출력을 회피하는 것도 가능하기 때문에, 에러 플래그는 반드시 필요한 기능이 아니다.
도 7은 제 3 클럭 버퍼(403)의 구성을 예시하는 블럭도이다. 제 3 클럭 버퍼(403)는 위상차 검출기(411)에서 검출되는 PD에 맞추어, (수학식 16)부터 구해지는 SDCLKDLY가 선택되도록, 상이한 개수의 지연 소자를 갖는 복수개의 신호 라인(도 7에서는 ①∼⑤)을 구비한다. 예컨대, 도 7중의 ①은, SDCLKDLY가(T6g+T6b+T6iw)-D11로 되는 클럭이 출력되는 라인이다. 또한, 도면중 X는 X=T6g+T6b+T6iw이다.
각 라인의 최종 지연 소자(4031∼4035)는, 3 상태 버퍼라고 불리우고, 위상차 검출기(411)로부터 출력되는 설정값 PSET에 따라서 선택되며, 선택된 3 상태 버퍼로부터 출력되는 신호가 SDCLKO로서 출력된다. 도 6중의 PSET의 각 숫자는, 도 7의 3 상태 버퍼(4031∼4035)에 대응하고 있다. 즉, PSET의 최하위(LSB)는 버퍼(4031)와 대응하고, PSET의 최하위가「1」이면, 버퍼(4031)가 선택되며, 최하위가「0」이면, 버퍼(4031)는 선택되지 않는다. 또한, 도 6에서는, D=Dl6인 때 PSET는「10000」으로 되어 있지만, 이것은, D=D16인 때의 SDCLKDLY(=X-D16)가 너무 짧고, 도 7에 나타내는 신호 라인에서는 대응할 수 없고, 가장 지연값이 작은 신호 라인 ⑤에서 대용하도록 설정되어 있다.
도 8은 집적 회로(1010)의 클럭 스큐 조정시에 실행하는 클럭 위상 조정 방법을 나타낸 흐름도이다. 집적 회로(1010)를 실장한 후에 실행하는 클럭 위상 조정에 관해서는 후술한다.
우선, 단계 S10에서, 집적 회로(1010)의 레이아웃에 따라서 클럭 트리를 구성한다.
다음에 단계 Sl1에서, 레이아웃으로부터 회로의 네트 리스트에 대응한 지연 파라미터를 추출한다.
다음에 단계 S12에서, D값을 구하는 계산 프로그램에, 기지의 또는 요구되는외부 요인 파라미터, 예컨대, SDRAM(420)의 데이터 셋업, 유지 시간, 보드의 배선 지연, 배선 부하, 및 SDRAM(420)의 입력 부하 용량을 설정한다.
다음에 단계 S13에서, 내부 클럭 ICLK의 시점과, SDRAM용 클럭 SDCLKO의 시점을 지정하고, 또한, 상기 조건 5의 종점인 SDRAM(420)로의 SDCLKO의 도달점, 및 데이터의 도달점을 지정한다. 또한 상기 조건 6 내지 9의 종점인 제 5 FF(410)의 데이터 입력 핀을 지정한다.
단계 S14에서는, PD의 값을 임의로 복수 설정한다. 여기서는, OCLD에서 위상차 PD를 카운트하고 있기 때문에, PD의 값은 OCLK의 클럭 수를 기준으로 하여 설정되어 있다.
단계 S15에서는, 단계 S11에서 추출한 지연 파라미터를 기초로, SDCLKO에 의해 데이터 및 제어 신호(커맨드)가 SDRAM(420)에 취입되도록, 또한, SDRAM(420)가 출력한 데이터가 피드백 클럭 SDCLKI에서 인터페이스 회로(400) 내부에 취입되도록, (수학식 17)∼(수학식 20)을 사용하여, 위상차 D의 범위를 산출하고, 설정한 PD의 각 값에 대해 위상차 D를 선택한다.
다음에 단계 S15에서 결정된 D에 근거하여, 제 3 클럭 버퍼(403)의 지연 소자를 설정(단계 S16)하고, 단계 S15에서 결정된 D중에서, 초기값을 임의로 선택한다(단계 S17).
도 4, 도 6, 도 7을 이용하여, 집적 회로(1010)가 임의의 시스템에 실장된 후의 위상차 검출기(411)의 동작 및 클럭 위상 조정에 대해 설명한다.
현재, 위상차 D는 초기 상태에서, 예컨대 PD=3 클럭, 즉, D=D13에 초기 설정되어 있고, 실장된 기판상에서 전원 투입 후, 위상차 검출기(411)가 OCLK에서 2 클럭분의 위상차 PD를 카운트한 것으로 가정한다. D의 값은 도 6으로부터 D=D12이기 때문에, 위상차 검출기(411)는 제 3 클럭 버퍼(403)의 신호 라인이 D=D12로 전환하도록, 설정값「00010」을 제 3 클럭 버퍼(403)에 출력한다.
제 3 클럭 버퍼(403)에서는, 설정값「00010」에 대응하는 3 상태 버퍼(4032)가 선택되고, 선택된 버퍼(4032)로부터 SDCLKO가 출력된다.
이상과 같이, 실장한 보드에 의한 지연 및 외부 부하의 편차가 있더라도, LSI 스스로 자동적으로 위상차를 검출하고, 또한, 위상차 D를 재설정함으로써, 복수의 시스템으로의 대응이 용이하게 된다.
집적 회로(l010)의 설계는 이하의 순서에 따라서 행해진다.
우선, 집적 회로(1010)의 레이아웃을 제작하여, 레이아웃으로부터 추출된 각 파라미터와 (수학식 17) 및 (수학식 20)에 의해 산출되는 D의 범위를 구한다.
구한 D의 범위를 기초로, 위상차 검출기(411)의 테이블(411-1)을 제작한다.
테이블(411-1)과 (수학식 16)을 기초로, 제 3 클럭(403)의 클럭 트리를 제작한다.
이상과 같은 설계 방법을 취함으로써 종래의 데이터 전송 디바이스와 같이, 설계자가 시행 착오에 의해 위상 조정할 필요도 없고, 또한 위상 조정을 위한 특별 회로를 필요로 하는 것도 없으며, 실장되는 시스템의 다양성을 고려한 동작 확실성이 높은 위상에서의 클럭 공급이 가능한 집적 회로를 용이하게 제작할 수 있다.
이상 설명한 바와 같이, 외부 메모리에 출력하는 외부 클럭과, 외부 메모리로부터의 피드백 클럭과의 위상차를 검출하는 것에 의해, 내부 클럭과 외부 클럭과의 위상차를 조정할 수 있다. 따라서, 실장되는 시스템의 배선 지연이나, 외부 부하 용량 등의 외부 요인이 다양하더라도, 최적의 클럭 위상을 용이하게 조정할 수 있다.
또, 본 실시예에서는, OCLK을 1080MHz, 분주한 기준으로 되는 클럭을 67.5MHz로 했지만 임의의 주파수로도 좋다. 또한, 제 3 클럭 버퍼(403)의 구성은, 일례이며 이것으로 한하지는 아니다. 또한, 위상차 검출기(411)는 각 클럭의 위상차를 검출하고 그 차를 카운트하여 시간을 계측했지만, 임의의 위상 비교 수단으로도 좋다. 또한, 본 실시예에서는, 에러 플래그를 출력하도록 했지만, 반드시 출력할 필요는 없고, 또한, 독립적으로 갖지 않고, 다른 핀을 공용하더라도 좋다.
본 실시예에서는, 도 4에 예시한 인터페이스 회로(400)를 구비한 집적 회로(1010)에 관해서 설명하여 왔지만, 집적 회로의 구성은 도 4에 한정되지 않고, 클럭을 이용하여 외부 메모리와 액세스하는 디바이스 모두에 본 실시예를 적용할 수 있다. 도 4 이외의 구성의 디바이스를 설계할 때는, 상기 제 1 및 제 2 필수 조건을 충족하도록, 상기 조건 5∼7 및 (수학식 16)∼(수학식 20)을 참고로 하여, 지연 파라미터를 구하고, 외부 클럭의 위상차에 맞추어 지연 파라미터를 선택할 수 있는 구성을 구비하는 디바이스를 설계하면 좋다.
(실시예 3)
또한, 실시예 1에서는, 완전 동기 설계를 전제로 했지만, 피드백 클럭 방식을 채용하는 회로를 실시예 1과 마찬가지의 위상 조정 방법과 설계 방법으로 실현할 수 있다.
도 9는 실시예 3에 따른 클럭 위상 조정 방법을 적용하여 제작한 외부 메모리, 즉 SDRAM(110)에 데이터 액세스하는 인터페이스 회로(500)를 구비한 집적 회로(1020) 구성의 일부를 나타내는 블럭도이다. 도 9에서는, 설명을 용이하게 하기 위해서, 집적 회로(1020)의 구성중, SDRAM(l10)과의 액세스에 관한 구성을 개략적으로 나타내었다. 또한, 도 1과 마찬가지의 구성에 관해서는, 동일한 참조 번호를 부여하여, 여기서는 그 설명을 생략한다.
집적 회로(1020)는 클럭 발생기(101)와, 제 1 클럭 버퍼(102)와, 제 2 클럭 버퍼(104)와, 인터페이스 회로(500)를 구비하며, 인터페이스 회로(500)는 SDCLKO 출력 버퍼(1O3)와, 출력용 플립플롭인 제 1 플립플롭(제 1 FF)(105)과, 입출력 버퍼(106)와, SDCLKI 입력 버퍼(508)와, 입력용 플립플롭인 제 6 플립플롭(제 6 FF) (509)와, 제 7 플립플롭(제 7 FF)(510)을 구비한다. 도면 중, T로 시작되는 파라미터가 첨부되어 있는 화살표는, 후술하는 집적 회로(1020)내의 신호 전달 및 집적 회로(1020)와 SDRAM(110)와의 신호 전달에 관한 지연 파라미터를 나타낸다.
SDCLKI 입력 버퍼(508)는 SDRAM(420)에 입력된 SDCLKO의 피드백 클럭 SDCLKI가 입력되는 버퍼이다.
제 6 FF(509)는 SDFAM 커맨드에 의해 SDRAM(l10)내로부터 판독된 판독 데이터를, 입출력 버퍼(106)를 거쳐, 피드백 클럭 SDCLKI에 동기하여 취입한다.
제 7 FF(510)는 제 6 FF(509)에서 취입한 데이터를 집적 회로(1020)의 동작클럭 ICLK에서 래치한다.
제 2 클럭 버퍼(104)는 기준 클럭을 구동하고, 집적 회로(1020) 내부를 동작시키는 내부 클럭 ICLK을 생성하여, ICLK를 집적 회로(1020)내의 구성에 공급한다. 도 9는 설명을 용이하게 하기 위해서, ICLK를 제 1 FF(l05) 및 제 7 FF(510)에 출력한 경우에 대해 나타낸다.
도 10은 데이터 판독시의 클럭과 데이터의 위상 관계를 나타낸 타이밍차트이다. 도 9와 도 10을 이용하여, 클럭과 데이터의 위상 관계에 대해 설명한다. SDCLKO 신호 및 SDRQAM 커맨드가 SDRAM(l10)에 도달하기까지의 차트는, 도 2와 마찬가지이기 때문에, 여기서는 그 설명을 생략한다.
SDCLKO의 피드백 클럭 SDCLKI는, SDRAM(l10)으로 되돌아가고 나서, T9bw+T9ioin+T9ow의 지연 후, 제 6 FF(509)에 도달한다. 또, T9bw+T9ioin+T9ow≒T2bw+T3ioin+Tl0ow로 한다. 이것은, 실시예에서 서술한 바와 같다.
판독되는 데이터(판독 데이터)는, SDCLKO가 SDRAM(l10)에 도달하고 나서, SDQDELAY로 표시되는 시간 후에 판독된다.
또한, 상기 조건으로부터, 판독 데이터는 SDCLKI가 제 6 FF(509)에 도달하고 나서 SDQDELAY로 표시되는 시간 후에, 제 6 FF(509)에 도달하는 것으로 생각할 수 있다.
SDCLKI에 동기하여 제 6 FF(509)에 래치된 데이터는, Tl0f+T9iw로 표시되는 시간 후에 제 7 FF(510)에 도달한다. Tl0f는 제 6 FF(509)에 있어서의 지연을 나타내고, T9iw는 제 6 FF(509)로부터 제 7 FF(510)까지의 배선 지연을 나타낸다.
또, SDRAM(l10)로부터 출력되는 데이터 DQ의 유지 시간을 SDQHOLD로 나타내고, 제 7 FF(510)에서의 데이터 입력시에, 필요한 셋업 시간을 T9FSETUP로 나타내며, 필요한 유지 시간을 T9FHOLD로 나타내어, 도 10중에 나타내었다.
다음에, 도 9 및 도 10을 이용하여, 데이터 전송 회로의 클럭 위상 조정 방법에 있어서 중요한 클럭의 위상차 D의 계산 방법에 대해 서술한다.
실시예 1에서 서술한 조건 1 및 2의 조건에 부가하여, 실시예 2에서 서술한 조건 6 내지 9를 실시예 3에 적용한 조건이 가해진다. 즉,
조건 10 :「외부 클럭, 즉 SDRAM 클럭이 클럭 발생기(101)로부터 외부 메모리, 즉 SDRAM(110)에 도달하고, 피드백 클럭으로서 SDRAM(l10)로부터 되돌아 가서 집적 회로(1020)에 입력되며, 또한, SDRAM(l10)으로부터의 데이터를 피드백 클럭에 의해서 취입하기 위한 플립플롭, 즉 제 6 FF(509)에 도달하기까지의 시간」과, 「제 6 FF(509)의 셀 지연」과,「제 6 FF(509)로부터, 내부 클럭에서 동작하고 있는 2 단째의 데이터 취입 플립플롭, 즉 제 7 FF(510)까지의 배선 지연」을 합한 값(이하, 값 V2라고 부르기로 함)으로부터,
「내부 클럭이 클럭 발생기(101)로부터 제 7 FF(510)에 도달하기까지의 시간」을 뺀 값이, 제 7 FF(510)의 유지 시간보다 큰 것,
조건 11 :「내부 클럭이 클럭 발생기(101)로부터 제 7 FF(510)에 도달하기까지의 시간」과「SDRAM 클럭의 1 사이클 시간」과의 합으로부터 값 V2를 뺀 값이, 제 7 FF(510)의 셋업 시간보다 큰 것,
조건 l2 : 값 V2가「내부 클럭이 클럭 발생기(101)로부터 제 7 FF(510)까지 도달하는 시간」보다 큰 것.
조건 13 :「SDRAM(110)으로부터 출력되는 데이터가 SDRAM(l10)로부터 제 6 FF(509)에 도달하는 시간(유지 시간+배선 지연+입력 버퍼 지연)」으로부터, 「SDRAM 클럭이 SDRAM(l10)로부터 피드백되어, 제 6 FF(509)에 도달하기까지의 시간」을 뺀 값이,「제 6 FF(509)의 유지 시간」보다 큰 것.
조건 10 내지 13은, 이하의 식을 충족하는 것에 의해 얻어진다. 또, 클럭 스큐 조정 결과로부터, 제 2 클럭 버퍼(104)로부터 제 7 클럭 버퍼(510)까지의 배선 지연 T13iw가 T13iw≒T2iw인 것으로 한다.
조건 10 : (CKD+T9bw+T9ioin+T9ow)+Tl0f+T9iw-MCKD>T9FHOLD
(수학식)중, T9bw는 SDRAM(l10)으로부터 SDCLKI 버퍼(508)까지의 배선 지연을 나타내고, T9ioin은 SDCLKI 입력 버퍼(508)의 버퍼 지연을 나타내며, T9ow는 SDCLKI 입력 버퍼(408)로부터 제 6 FF(509)까지의 배선 지연을 나타내고, T9iw는제 6 FF(509)로부터 제 7 FF(510)까지의 배선 지연을 나타내며, T9FHOLD는 제 7 FF(510)의 데이터 입력에 필요한 유지 시간을 나타낸다.
조건 1l : (MCKD+SDCLKCYCLE)-(CKD+T9bw+T9ioin+T9ow+Tl0f+T9iw)>T9FSETUP
수학식중, T9FSETUP은 제 7 FF(510)의 데이터 입력에 필요한 셋업 시간을 나타낸다.
조건 12 : CKD+T9bw+T9ioin+T9ow+Tl0f+T9iw>MCKD
조건 13 : SDQHOLD+T2bw+T3ioin+Tl0ow-(T9bw+T9ioin+T9ow)>Tl0FHOLD
상기에 나타낸 조건 8 내지 11을 충족하기 위한 식을 정리하면, 이하의 3개의 식이 얻어진다.
Tlioout+T1bw+T9bw+T9ioin+T9ow+T10f+T9iw-T9FHOLD
>D>
Tlioout+Tlbw+T9bw+T9ioin+T9ow+Tl0f+T9iw-SDCLKCYCLE+T9FSETUP
Tlioout+Tlbw+T9bw+T9ioin+T9ow+T10f+T9iw>D
SDQHOLD+T2bw+T3ioin+Tl0ow-(T9bw+T9ioin+T9ow)>Tl0FHOLD
예컨대, 실시예 1과 마찬가지로, 표 1 및 표 2에 나타낸 MAX 조건, MINIMUM 조건을 충족하는 경우, D의 값은,
1.652<D<3.64
1.612<D<2.94
로 되어, 이 경우, 이상의 D의 범위로부터, 중심값을 취하고, D≒2.3nsec를 설정하면 좋다.
집적 회로(1020)의 레이아웃을 제작한 후, 위상차 D가 산출된 값으로 되도록, 클럭 트리를 구성하면, 피드백 클럭을 이용한 경우에도 SDRAM(l10)으로의 확실한 액세스를 가능하게 하는 인터페이스 회로(500)를 구비하는 집적 회로(1020)를 얻을 수 있다.
본 실시예에서는, 도 9에 나타내는 구성을 갖는 집적 회로(1020)에 관해서 설명하여 왔지만, 인터페이스 회로(500) 및 집적 회로(1020)의 구성은 도 9에 한정되지 않고, 피드백 클럭을 이용하여 외부 메모리와 액세스하는 디바이스 모두에 본실시예를 적용할 수 있다.
이상 설명한 바와 같이, 본 실시예에 따른 클럭 위상 조정 방법을 이용하면, 피드백 클럭을 이용하여 외부 메모리와 액세스하는 디바이스의 레이아웃 설계시, 예컨대, 클럭 스큐 조정시에 클럭 버퍼의 지연값을 변경함으로써, 클럭의 위상을 조정할 수 있다. 따라서, 종래와 같이 시행 착오에 의해 위상을 조절하지 않고, 또한, 클럭 위상 조정을 위한 테스트를 하지 않고, 외부 메모리와 확실하게 데이터 액세스할 수 있는 회로를 생성할 수 있다. 특히, SDRAM과 같이 고속의 액세스를 필요로 하는 경우에도, 본 실시예를 이용하면, 고속 액세스 가능한 집적 회로의 외부 클럭과 내부 클럭과의 위상 조정을 용이하고 또한 보다 정확하게 실현할 수 있다.
또한, 본 실시예의 집적 회로의 설계 방법을 이용하면, 시행 착오에 의해 위상 조절하지 않으며, 또한, 클럭 위상 조정을 위한 테스트를 하지 않고, 집적 회로를 설계할 수 있다. 또한, 회로 규모 및 회로 제작의 공정 수가 삭감되기 때문에, 소비 전력도 저감되고, 또한, 설계가 용이하기 때문에, 개발 기간의 단축으로도 이어지며, 또한 자동화하는 것이 가능해지는 것에 의해, 단순한 설계 미스 방지도 된다.
또한, 본 실시예의 집적 회로를 이용하면, 종래와 같은 복잡한 회로를 갖지 않더라도 적절한 클럭을 공급할 수 있는 집적 회로를 제공할 수 있다. 특히, SDRAM과 같은 고속의 액세스를 필요로 하는 인터페이스 회로를 구비한 집적 회로를 공급할 수 있다.
(실시예 4)
매우 고속의 클럭을 이용하여 집적 회로가 외부 메모리에 액세스하는 경우, 실시예 1에서 나타낸 구성에서는, 위상차 D의 선택이 불가능한 경우에도 발생한다.
예컨대, 표 l, 표 2의 파라미터중, 클럭 사이클을 12.3nsec(81MHz)로서, 조건 1의 (수학식 6)에 의해 SDCLKO와 ICLK의 위상차 D의 범위를 산출하고, 조건 2의 (수학식 11)에 의해 SDCLKO와 ICLK와의 위상차 D의 범위를 산출한다. 조건 1은,
1-(1.36+1.58+7.79+0.233-0.105)
<D<
12.3-3-(1.36+l.58+7.79+0.233-7.33-0.105)
즉, -5.28<D<5.772로 되고, 조건 2는,
(7.33+0.l05+0.233+1.4+2.27)+9-12.3+0.89
<D<
(7.33+0.105+0.233+1.4+2.27)+3-0
즉, 8.928<D<14.338로 된다.
그러나, 상기 계산 결과가 나타내는 D의 범위를 동시에 충족하는 값은 없고, 적절한 D의 값을 선택할 수 없다.
이러한 경우, 외부 메모리로부터 데이터를 취입하기 위한 클럭을 2 계통으로 하여, 2개의 위상차 D0 및 D1의 값을 조절함으로써, 소망하는 회로를 실현할 수 있다.
도 11은 실시예 4에 따른 클럭 위상 조정 방법을 적용하여 제작한 외부 메모리, 즉 SDRAM(l10)에 데이터 액세스하는 인터페이스 회로(600)를 구비한 집적 회로(1030)의 구성의 일부를 나타내는 블럭도이다. 도 11에서는, 설명을 용이하게 하기 위해서, 집적 회로(1030)의 구성중, SDRAM(l10)과의 액세스에 관한 구성을 개략적으로 나타내었다. 또, 도 1과 마찬가지의 구성에 관해서는, 동일한 참조 번호를 부여하고, 여기서는 그 상세한 설명을 생략한다.
집적 회로(1030)는 클럭 발생기(101)와, 제 1 클럭 버퍼(102)와, 제 2 클럭 버퍼(104)와, 제 3 클럭 버퍼(60l)와, 인터페이스 회로(600)를 구비하며, 인터페이스 회로(600)는 SDCLKO 출력 버퍼(103)와, 출력용 플립플롭인 제 1 플립플롭(제 1 FF)(105)과, 입출력 버퍼(106)와, 입력용 플립플롭인 제 8 플립플롭(제 8 FF)(602)와, 제 9 플립플롭(제 9 FF)(510)을 구비한다. 도면 중, T로 시작되는 파라미터가 첨부되어 있는 화살표는, 후술하는 집적 회로(1030)내의 신호 전달 및 집적 회로(1030)와 SDRAM(l10)과의 신호 전달에 관한 지연 파라미터를 나타낸다.
제 8 FF(602)는 SDRAM 커맨드에 의해 SDRAMl10)내의 데이터로부터 판독된 리드 데이터를, 입출력 버퍼(106)를 거쳐서, 제 3 클럭 버퍼(601)로부터 출력되는 클럭 ICLK1에 동기하여 취입한다.
제 9 FF(603)는 제 8 FF(602)에서 취입한 데이터를, 제 2 클럭 버퍼(104)로부터 출력되는 클럭 ICLK0에서 래치한다.
제 2 클럭 버퍼(104)는 기준 클럭을 구동하고, 집적 회로(1030) 내부를 동작시키는 내부 클럭 ICLK0을 생성하여, ICLK0을 집적 회로(1030)내의 임의의 구성에 공급한다. 도 9에는, 설명을 용이하게 하기 위해서, ICLK0를 제 1 FF(l05) 및 제9 FF(603)에 출력한 경우에 대해 나타낸다.
제 3 클럭 버퍼(60l)는 기준 클럭을 구동하여, 클럭 ICLK1을 생성한다.
도 12는 데이터 판독시의 클럭과 데이터의 위상 관계를 나타낸 타이밍차트이다. 도 11과 도 12를 이용하여, 클럭과 데이터의 위상 관계에 대해 설명한다. SDCLKO 신호 및 SDRQAM 커맨드가 SDRAM(l10)에 도달하기까지의 차트는, 도 2와 마찬가지이기 때문에, 여기서는 그 설명을 생략한다.
D0은 SDRAM 클럭 SDCLKO(LSI)와 내부 클럭 ICLK0과의 위상차, 즉, ICLK0이 클럭 발생기(101)로부터 제 1 FF(105)에 도달하는 시간으로부터, SDCLKO가 클럭 발생기(101)로부터 SDCLKO 출력 버퍼(103)에 도달하는 시간을 뺀 값이다.
D1은 SDCLKO와 내부 클럭 ICLK1과의 위상차, 즉, ICLK1이 클럭 발생기(101)로부터 제 8 FF(602)에 도달하는 시간으로부터, SDCLKO가 클럭 발생기(101)로부터 SDCLKO 출력 버퍼(103)에 도달하는 시간을 뺀 값이다.
ICLK0의 타이밍에서 제 1 FF(105)가 SDRAM 커맨드를 출력하고, T2ow+2 Tioout+T2bw로 표시되는 시간 후에 SDRAM(110)에 도달한다.
SDRAM(l10)로부터 데이터를 판독할 때는, SDCLKO가 SDRAM(l10)에 도달하고 나서 SDQDELAY로 표시되는 시간 후에, 데이터의 판독이 개시된다.
판독되는 데이터(판독 데이터)는, SDRAM(110)으로부터 판독되고 나서, T2bw+T3ioin+Tl1ow로 표시되는 시간 후에 제 8 FF(602)에 도달한다. Tllow는 입출력 버퍼(106)로부터 제 8 FF(602)까지의 배선 지연을 나타낸다.
또한, 제 8 FF(602)에 입력된 데이터는, ICLK1이 상승하고 나서, Tllf+T1liw로 표시되는 시간 후에 제 9 FF(603)에 도달한다. Tllf는 제 8 FF(602)의 셀 지연을 나타내고, Tlliw는 제 8 FF(602)로부터 제 9 FF(603)까지의 배선 지연을 나타낸다.
다음에, 클럭의 위상차 D의 계산 방법에 대해 서술한다. D0 및 D1은 이하의 조건을 충족한다.
조건 14 : D0은 실시예 l의 (수학식 6)을 충족한다.
조건 15 : D1은 실시예 1의 (수학식 11)을 충족한다.
조건 16 : ICLK1로부터 출력된 데이터가 (T1lf+Tlliw)로 표시되는 지연값만큼 보낼 수 있고, 제 9 FF(603)에 도달하더라도, ICLK0에서 데이터를 취입할 수 있으며, 즉, ICLKl과 ICLKO와의 위상차(SDCLKCYCLE-(Dl-DO))로부터, 데이터의 지연값 (Tllf+Tlliw)을 뺀 값이 제 9 FF의 셋업 시간보다 크다.
조건 16을 식으로 나타내면,
SDCLKCYCLE-(D1-DO)-(Tllf+Tlliw)>TllFSETUP
로 되고, (수학식)중, TllFSETUP은 제 9 FF(603)의 셋업 시간을 나타낸다.
조건 14∼16을 충족하는 D의 산출에 대해, 예를 들어 설명한다. 각 파라미터는 실시예 1의 표 1 및 표 2의 값을 이용하여, 클럭 사이클을 12.3nsec(81MHz)로 변경한다. 또한, Tllf, Tlliw, 및 Tl1FSETUP의 파라미터는 표 3에 나타낸다.
또한, 클럭 발생기(101)로부터 제 3 클럭 버퍼(601)까지의 배선 지연 T12g, 제 3 클럭 버퍼(601)의 셀 지연 T12b, 제 3 클럭 버퍼(601)로부터 제 8 FF(602)까지의 배선 지연 T12iw는 T2g, T2b, T2iw와 각각 동등한 것으로 하고, 제 2 클럭 버퍼(104)로부터 제 9 FF(603)로의 배선 지연 T14iw는, T2iw와 동등한 것으로 하며, Tl1ow는 T3ow와 동등한 것으로 하고, 제 8 FF(602)의 셋업 시간 및 유지 시간은, T3FSETUP, T3FHOLD와 각각 동등한 것으로 한다.
상기 파라미터를 이용하여 조건 14∼16을 충족하는 D를 실시예 1과 마찬가지로, 계산하여 보면, 이하와 같이 된다.
MAXIMUM 조건시에는, 위상차 D0, D1의 TYPICAL시의 약 2배로서 계산하면,
조건 14로부터,
1-(1.36+1.58+7.79+0.233-0.105)
<2D0<
12.3-3-(1.36+1.58+7.79+0.233-7.33-0.105)
-2.14<D0<2.886
조건 15로부터,
(7.33+0.105+0.233+1.4+2.27)+9-12.3+0.89
<2D1<
(7.33+0.105+0.233+l.4+2.27)+3-0
4.464<D1<7.169
MINIMUM 조건시에는, 위상차 D가 TYPICAL시의 약 2분의 1의 값으로서 계산하면,
조건 14로부터,
1-(0.17+0+1.24+0.099-1.23-0.105)
<D0/2<
12.3-3-(0.17+0+1.24+0.099-1.23-0.105)
1.724<D<18.252
조건 15로부터,
(1.23+0.105+0.099+0.17+0)+9-12.3+0.41
<D1/2<
(1.23+0.105+0.099+0.17+0)+3-0
-2.572<D1<9.208
이상으로부터,
1.724<D0<2.886
4.464<D1<7.169
또, 조건 16으로부터, MAXIMUM 조건시에는,
2(D1-D0)<9.24
D1-D0<4.62로 되고, MINIMUM 조건시에는,
(D1-D0)/2<11.53
D1-D0<23.06
로 되며, 조건 16에 있어서의 MAXIMUM 및 MINIMUM 조건을 충족하는 범위는,
D1-D0<4.62로 된다.
조건 14, 15, 및 16을 충족하는 D0 및 D1은, 예컨대,
D0≒2.3nsec
D1≒5.8nsec
로 선택할 수 있다.
집적 회로(1030)의 레이아웃을 제작한 후, 위상차 D가 산출된 값으로 되도록, 클럭 트리를 구성하면, SDRAM(l10)에 액세스 가능한 인터페이스 회로(600)를 구비하는 집적 회로(1030)를 얻을 수 있다.
본 실시예에서는, 도 11에 나타내는 구성을 갖는 집적 회로(1030)에 관해서 설명하여 왔지만, 인터페이스 회로(600) 및 집적 회로(1030)의 구성은 도 11에 한정되지 않고, 클럭을 이용하여 외부 메모리와 액세스하는 디바이스 모두에 본 실시예를 적용할 수 있다.
이상 설명한 바와 같이, 본 실시예에 따른 클럭 위상 조정 방법을 이용하면, 보다 고속의 클럭을 이용하여 외부 메모리와 액세스하는 디바이스의 설계를 용이하고 또한 확실하게 실행할 수 있다. 특히, SDRAM과 같이 고속의 액세스를 필요로 하는 경우에 유효하다.
또, 여기서는, 제 9 FF 앞에 마련하는 FF는 제 8 FF 1단뿐이지만, 복수 단이더라도 마찬가지이다.
또한, 이것과 마찬가지의 클럭 버퍼도 ICLK1의 제 3 클럭 버퍼(60l)뿐이지만, 복수 단 사용으로 해도 마찬가지의 방법으로 가능한 것은 말할 필요도 없다.
또한, 종래와 같은 복수 신호 경로에 복수의 지연 소자를 삽입하는 것과 같은 복잡한 회로를 갖지 않더라도, 적절한 데이터 전송을 실행할 수 있고, 또한 클럭을 공급할 수 있는 집적 회로를 제공할 수 있다. 특히, SDRAM와 같은 고속의 액세스를 필요로 하는 디바이스의 설계를 용이하게 한다. 또한, 외부 메모리에 출력하는 외부 클럭과, 외부 메모리로부터의 피드백 클럭과의 위상차를 검출하는 검출기를 마련하는 것에 의해, 인터페이스 회로 스스로 실 지연을 검출하여, 내부 클럭과, 외부 클럭과의 위상차를 조정할 수 있다. 따라서, 실장되는 시스템의 배선 지연이나, 외부 부하 용량 등의 외부 요인이 다양하더라도, 최적의 클럭 위상을 조정할 수 있다.
또, 실시예 1 내지 4의 방법을 CAD 시스템에 내장하는 것에 의해, 설계를 자동화할 수 있다.
또한, 실시예 1 내지 4에서는, Tlbw, T2bw, T3bw는 보드 레이아웃으로부터 산출되는 지연 정보로 하였지만, 보드 레이아웃에 대해 요구되는 지연값이더라도 무방하다.
또한, 실시예 1 내지 4에서는, 집적 회로로부터 SDRAM에 출력하는 데이터에 착안하여 계산했지만, RAS, CAS 등의 제어 신호의 지연값도 고려되어 있다.
또한, 외부 메모리와 액세스하는 인터페이스 회로, 집적 회로 및 디바이스중의 플립플롭은, 외부 메모리와 액세스하는 데이터의 종류에 의해서 적절하게 마련되는 것이다. 따라서, 출력용의 플립플롭과 입력용의 플립플롭의 수는, 실시예 1 내지 4의 예에 한정되는 것이 아니라, 인터페이스 회로, 집적 회로, 디바이스, 시스템에 따라서 변경된다.
또한, 본 실시예에서는 집적 회로에 SDRAM이 1개 접속된 경우에 대해 설명하였지만, 집적 회로에 접속되는 외부 메모리의 수는 복수이더라도 좋다. 이 경우, 각각의 외부 메모리의 파라미터, 예를 들면, 셋업 시간, 유지 시간, 데이터 출력 지연을 추출하여, 본 실시예에 적용하면 좋다.
본 발명은 외부 메모리와 데이터 액세스하는 집적 회로에 적용할 수 있다.

Claims (11)

  1. 클럭에 동기하여 외부 메모리와 데이터 액세스하는 집적 회로에 있어서,
    클럭을 생성하는 클럭 발생기와,
    상기 클럭 발생기에 의해 생성한 클럭을 분기한 클럭의 한쪽이 입력되고, 상기 외부 메모리에 공급하기 위한 외부 클럭으로서 출력하는 적어도 1개의 제 1 클럭 버퍼와,
    상기 클럭 발생기에 의해 생성한 클럭을 분기한 클럭의 다른쪽이 입력되어, 상기 집적 회로를 동작시키기 위한 내부 클럭으로서 출력하는 적어도 1개의 제 2 클럭 버퍼와,
    상기 제 1 클럭 버퍼가 출력한 외부 클럭을 상기 외부 메모리에 출력하는 클럭 출력 버퍼와,
    상기 외부 메모리에 출력하기 위한 데이터를 상기 내부 클럭에 동기하여 출력하는 데이터 출력용 플립플롭과,
    상기 외부 메모리로부터 출력되는 데이터를 상기 내부 클럭에 동기하여 취입하는 입력용 플립플롭을 구비하며,
    상기 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하기까지의 시간과, 도달한 상기 내부 클럭에 의해서 상기 데이터 출력용 플립플롭으로부터 출력된 데이터가 상기 외부 메모리에 도달하기까지의 시간과의 합으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하기까지의 시간을 빼는 것에 의해 얻어지는 제 1 값이, 상기 외부 메모리의 데이터 유지 시간보다 크다고 하는 제 1 조건과,
    상기 외부 클럭의 1 사이클 시간으로부터 상기 제 1 값을 뺀 값이, 상기 외부 메모리의 데이터 셋업 시간보다 크다고 하는 제 2 조건과,
    상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하기까지의 시간과, 도달한 상기 클럭을 수신하여 상기 외부 메모리로부터 출력되는 데이터 유지 시간과, 상기 데이터가 상기 입력용 플립플롭에 도달하기까지의 시간과의 합으로부터, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 입력용 플립플롭의 데이터 유지 시간보다 크다고 하는 제 3 조건과,
    상기 내부 클럭의 1 사이클 시간과, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 입력용 플립플롭에 도달하기까지의 시간과의 합으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하는 시간과, 도달한 상기 외부 클럭을 수신하여 상기 외부 메모리로부터 출력되는 데이터의 출력 지연 시간과, 상기 데이터가 상기 입력용 플립플롭에 도달하기까지의 시간과의 합을 뺀 값이, 상기 입력용 플립플롭의 데이터 셋업 시간보다 크다고 하는 제 4 조건
    을 충족하도록, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 클럭 출력 버퍼에 도달하는 시간을 뺀 값인 위상차 D의 값이 설정되어 있는 것을 특징으로 하는 집적 회로.
  2. 클럭에 동기하여 외부 메모리와 데이터 액세스하는 집적 회로에 있어서,
    클럭을 생성하는 클럭 발생기와,
    상기 클럭 발생기가 생성한 클럭을 외부 클럭으로서 구동하는 적어도 1개의 제 1 클럭 버퍼와,
    상기 클럭 발생기가 생성한 클럭을 내부 클럭으로서 구동하는 적어도 1개의 제 2 클럭 버퍼와,
    상기 외부 클럭을 상기 외부 메모리에 출력하는 클럭 출력 버퍼와,
    상기 외부 메모리에 출력하기 위한 데이터를 상기 내부 클럭에 동기하여 출력하는 데이터 출력용 플립플롭과,
    상기 외부 메모리로부터 출력되는 데이터를, 상기 외부 메모리에 입력한 외부 클럭의 피드백 클럭에 의해서 래치하는 제 1 입력용 플립플롭과,
    상기 제 1 입력용 플립플롭에 래치된 데이터를, 상기 내부 클럭에 의해서 래치하는 제 2 입력용 플립플롭을 구비하며,
    상기 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하기까지의 시간과, 도달한 상기 내부 클럭에 의해서 상기 데이터 출력용 플립플롭으로부터 출력된 데이터가 상기 외부 메모리에 도달하기까지의 시간과의 합으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하기까지의 시간을 빼는 것에 의해 얻어지는 제 1 값이, 상기 외부 메모리의 데이터 유지 시간보다 크고,
    상기 외부 클럭의 1 사이클 시간으로부터 상기 제 1 값을 뺀 값이, 상기 외부 메모리의 데이터 셋업 시간보다 크며,
    상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하고, 피드백 클럭으로서 상기 외부 메모리로부터 되돌아 가서 상기 제 1 입력용 플립플롭에 도달하기까지의 시간과, 상기 제 1 입력용 플립플롭의 셀 지연과, 상기 제 1 입력용 플립플롭으로부터 상기 제 2 입력용 플립플롭까지의 배선 지연을 합한 값 V로부터, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 제 2 입력용 플립플롭의 유지 시간보다 크고,
    상기 내부 클럭이 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭에 도달하기까지의 시간과 상기 외부 클럭의 1 사이클 시간과의 합으로부터, 상기 값 V를 뺀 값이 상기 제 2 입력용 플립플롭의 셋업 시간보다 크며,
    상기 값 V가 상기 내부 클럭의 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭까지 도달하는 시간보다 크며,
    상기 외부 메모리로부터 출력되는 데이터의 상기 외부 메모리로부터 상기 제 1 입력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭의 상기 외부 메모리로부터 피드백되어 상기 제 1 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이 상기 제 1 입력용 플립플롭의 유지 시간보다 큰 조건을 충족하도록,
    상기 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 클럭 출력 버퍼에 도달하는 시간을 뺀 위상차 D의 값이 설정되어 있는 것을 특징으로 하는 집적 회로.
  3. 제 2 항에 있어서,
    상기 집적 회로는,
    상기 외부 클럭이 상기 집적 회로로부터 출력되는 시점과, 상기 외부 클럭이상기 외부 메모리로부터 피드백되어 상기 집적 회로에 도달하는 시점과의 제 2 위상차와, 상기 제 2 위상차에 대해 상기 조건을 충족하는 제 1 위상차가 미리 복수 세트 설정되어, 상기 집적 회로가 임의의 시스템에 실장된 후, 실제로 제 2 위상차를 검출하고, 상기 검출한 결과로부터 해당하는 제 1 위상차를 선택하는 위상차 검출 회로를 더 구비하며,
    상기 제 1 및/또는 제 2 클럭 버퍼는, 상기 미리 설정된 복수의 제 1 위상차가 각각 대응하는 지연 소자군을 구비하고, 상기 위상차 검출 회로가 선택한 제 1 위상차에 근거하여, 상기 지연 소자군이 전환되는 것을 특징으로 하는 집적 회로.
  4. 제 1 항에 있어서,
    상기 집적 회로는,
    상기 입력용 플립플롭으로서, 상기 외부 메모리로부터 출력되는 데이터를 래치하는 제 1 입력용 플립플롭과, 상기 제 1 입력용 플립플롭에 래치된 데이터를 래치하는 제 2 입력용 플립플롭과,
    상기 제 2 클럭 버퍼로서, 상기 데이터 출력용 플립플롭 및 상기 제 2 입력용 플립플롭에 제 1 내부 클럭을 공급하는 클럭 버퍼와, 상기 제 1 입력용 플립플롭에 제 2 내부 클럭을 공급하는 클럭 버퍼를 구비하며,
    상기 조건 1 및 2를 충족하도록, 상기 제 1 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 클럭 출력용 버퍼에 도달하는 시간을 뺀 위상차 D0의 값이 설정되고,
    상기 조건 3 및 4를 충족하는 상기 제 2 내부 클럭이 상기 클럭 발생기로부터 상기 제 1 입력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 클럭 출력용 버퍼에 도달하는 시간을 뺀 위상차 D1이, 상기 위상차 D0과 상기 위상차 D1과의 위상차로부터 상기 제 1 입력용 플립플롭에 입력된 데이터가 상기 제 2 입력용 플립플롭에 도달하기까지의 지연을 뺀 값이, 상기 제 2 입력용 플립플롭의 셋업 시간보다 크게 되도록 설정되는 것을 특징으로 하는 집적 회로.
  5. 임의의 디바이스가 클럭에 동기하여, 외부 메모리와 데이터 액세스할 때의 클럭 위상 조정 방법에 있어서,
    상기 디바이스의 설계시에 상기 디바이스의 레이아웃으로부터, 상기 디바이스내의 신호 전달 및 상기 디바이스와 상기 외부 메모리와의 신호 전달에 관한 시간 파라미터를 추출하는 공정과,
    상기 파라미터를 기초로, 상기 외부 메모리에 공급되는 외부 클럭의 출력 시점과, 상기 디바이스를 동작시키는 내부 클럭이 데이터 입출력의 기준점에 도달하는 시점과의 제 1 위상차를 산출하는 공정과,
    상기 파라미터를 기초로, 상기 외부 메모리가 상기 디바이스로부터 출력되는데이터를 취입할 수 있고, 또한 상기 디바이스가 상기 외부 메모리로부터 출력되는 데이터를 취입할 수 있는 조건을 충족하는 상기 제 1 위상차의 범위를 산출하는 공정과,
    상기 산출된 제 1 위상차가 상기 산출된 제 1 위상차의 범위를 충족하는지 여부를 판단하는 공정과,
    상기 판단 공정에 의해서, 상기 산출된 제 1 위상차가 상기 산출된 제 1 위상차의 범위를 충족하지 않는 것이라고 판단된 경우, 상기 산출된 범위로부터 임의의 제 1 위상차를 선택하는 공정과,
    상기 선택된 제 1 위상차를 기초로, 상기 디바이스의 설계시에, 상기 디바이스내의 외부 클럭 신호 또는 내부 클럭 신호의 지연값을 변경하는 공정
    을 포함하는 것을 특징으로 하는 클럭 위상 조정 방법.
  6. 제 5 항에 있어서,
    상기 제 1 위상차는, 상기 내부 클럭이 상기 디바이스내의 클럭 발생기로부터 상기 디바이스내의 데이터 출력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 디바이스내의 외부 클럭 출력용 버퍼에 도달하는 시간을 뺀 값이며,
    상기 제 1 위상차의 범위를 산출하는 공정은,
    상기 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에도달하는 시간과, 상기 내부 클럭에 의해서 상기 데이터 출력용 플립플롭으로부터 출력된 데이터가 상기 외부 메모리에 도달할 때까지의 시간과의 합으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하기까지의 시간을 뺀 제 1 값이, 상기 외부 메모리의 데이터를 취입하기 위해 필요한 데이터 유지 시간보다 큰 제 1 조건과,
    상기 외부 클럭의 1 사이클 시간으로부터, 상기 제 1 값을 뺀 값이 상기 외부 메모리의 데이터를 취입하기 위해 필요한 데이터 셋업 시간보다 큰 제 2 조건과,
    상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하기까지의 시간과, 상기 외부 클럭을 수신하여 상기 외부 메모리로부터 출력되는 데이터의 유지 시간과, 상기 출력된 데이터가 상기 디바이스내의 입력용 플립플롭에 도달하기까지의 시간과의 합으로부터, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 입력용 플립플롭의 데이터 입력 유지 시간보다 큰 제 3 조건과,
    상기 내부 클럭의 1 사이클 시간과, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 입력용 플립플롭에 도달하기까지의 시간과의 합으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하는 시간과, 상기 외부 클럭을 수신하여 상기 외부 메모리로부터 출력되는 데이터의 출력 지연 시간과, 상기 데이터가 상기 입력용 플립플롭에 도달하기까지의 시간과의 합을 뺀 값이, 상기 입력용 플립플롭의 데이터 입력 셋업 시간보다 큰 제 4 조건
    을 충족하는 상기 제 1 위상차의 범위를 산출하는 것을 특징으로 하는 클럭 위상 조정 방법.
  7. 제 5 항에 있어서,
    상기 제 1 위상차는, 상기 내부 클럭이 상기 디바이스내의 클럭 발생기로부터 상기 디바이스내의 데이터 출력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 디바이스내의 외부 클럭 출력용 버퍼에 도달하는 시간을 뺀 값이고,
    상기 외부 메모리로부터 출력되는 데이터는, 상기 외부 메모리에 입력한 외부 클럭이 상기 디바이스에 피드백된 클럭에 의해서, 상기 디바이스내의 제 1 입력용 플립플롭에 래치되고, 상기 래치된 데이터는 상기 내부 클럭에 의해서, 상기 디바이스내의 제 2 입력용 플립플롭에 래치되며,
    상기 제 1 위상차의 범위를 산출하는 공정은,
    상기 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하는 시간과, 상기 외부 클럭에 의해서 상기 데이터 출력용 플립플롭으로부터 출력된 데이터가 상기 외부 메모리에 도달하기까지의 시간과의 합으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하기까지의 시간을 뺀 제 1 값이, 상기 외부 메모리의 데이터를 취입하기 위해 필요한 데이터 유지 시간보다 크고, 상기 외부 클럭의 1 사이클 시간으로부터 상기 제 1 값을 뺀 값이,상기 외부 메모리의 데이터를 취입하기 위해 필요한 데이터 셋업 시간보다 크며,
    상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하여, 피드백 클럭으로서 상기 외부 메모리로부터 되돌아 가서 상기 제 1 입력용 플립플롭에 도달하기까지의 시간과, 상기 제 1 입력용 플립플롭의 셀 지연과, 상기 제 1 입력용 플립플롭으로부터 상기 제 2 입력용 플립플롭까지의 배선 지연을 합한 값 V로부터, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 제 2 입력용 플립플롭의 유지 시간보다 크고,
    상기 내부 클럭이 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭에 도달하기까지의 시간과 상기 외부 클럭의 l 사이클 시간과의 합으로부터 상기 값 V를 뺀 값이, 상기 제 2 입력용 플립플롭의 셋업 시간보다 크며,
    상기 값 V가 상기 내부 클럭의 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭까지 도달하는 시간보다 크고,
    상기 외부 메모리로부터 출력되는 데이터의 상기 외부 메모리로부터 상기 제 1 입력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭의 상기 외부 메모리로부터 피드백되어 상기 제 1 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 제 1 입력용 플립플롭의 유지 시간보다 큰 조건을 충족하는 상기 제 1 위상차의 범위를 산출하는 것을 특징으로 하는 클럭 위상 조정 방법.
  8. 임의의 디바이스가 클럭에 동기하여, 외부 메모리와 데이터 액세스할 때의 클럭 위상 조정 방법에 있어서,
    상기 디바이스의 설계시에 상기 디바이스의 레이아웃으로부터, 상기 디바이스내의 신호 전달 및 상기 디바이스와 상기 외부 메모리와의 신호 전달에 관한 시간 파라미터를 추출하는 공정과,
    상기 내부 클럭이 상기 디바이스내의 클럭 발생기로부터 상기 디바이스내의 데이터 출력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 디바이스내의 외부 클럭 출력용 버퍼에 도달하는 시간을 뺀 제 1 위상차의 범위를, 상기 파라미터를 기초로 산출하는 공정과,
    상기 외부 클럭이 상기 디바이스로부터 출력되는 시점과, 상기 외부 클럭이 상기 외부 메모리로부터 피드백되어 상기 디바이스에 도달하는 시점과의 제 2 위상차를 임의로 복수 설정하는 공정과,
    상기 설정된 복수의 상기 제 2 위상차 각각에 대해, 상기 산출된 범위로부터 제 1 위상차를 설정하는 공정과,
    상기 디바이스가 임의의 시스템에 실장된 후, 실제로 제 2 위상차를 검출하는 공정과,
    상기 검출한 결과와 상기 설정된 제 2 위상차를 비교하여, 해당하는 제 1 위상차를 선택하는 공정과,
    상기 선택된 제 1 위상차를 기초로, 상기 디바이스내의 상기 외부 클럭 신호 또는 상기 내부 클럭 신호의 클럭 버퍼의 지연값을 전환하는 공정을 포함하며,
    상기 외부 메모리로부터 출력되는 데이터는, 상기 메모리에 입력한 외부 클럭이 상기 디바이스에 피드백된 클럭에 의해서, 상기 디바이스내의 제 1 입력용 플립플롭에 래치되고, 상기 래치된 데이터는, 상기 내부 클럭에 의해서, 상기 디바이스내의 제 2 입력용 플립플롭에 래치되며,
    상기 제 1 위상차의 범위를 산출하는 공정에서,
    상기 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하는 시간과, 상기 내부 클럭에 의해서 상기 데이터 출력용 플립플롭으로부터 출력된 데이터가 상기 외부 메모리에 도달하기까지의 시간과의 합으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하기까지의 시간을 뺀 제 1 값이, 상기 외부 메모리의 데이터를 취입하기 위해 필요한 데이터 유지 시간보다 크고, 상기 외부 클럭의 1 사이클 시간으로부터 상기 제 1 값을 뺀 값이, 상기 외부 메모리의 데이터를 취입하기 위해 필요한 데이터 셋업 시간보다 크며,
    상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하여, 피드백 클럭으로서 상기 외부 메모리로부터 되돌아 가서 상기 제 1 입력용 플립플롭에 도달하기까지의 시간과, 상기 제 1 입력용 플립플롭의 셀 지연과, 상기 제 1 입력용 플립플롭으로부터 상기 제 2 입력용 플립플롭까지의 배선 지연과를 합힌 값 V로부터, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 제 2 입력용 플립플롭의 유지 시간보다 크고,
    상기 내부 클럭이 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭에 도달하기까지의 시간과 상기 외부 클럭의 1 사이클 시간과의 합으로부터, 상기 값 V를 뺀 값이, 상기 제 2 입력용 플립플롭의 셋업 시간보다 크며,
    상기 값 V가 상기 내부 클럭의 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭까지 도달하는 시간보다 크고,
    상기 외부 메모리로부터 출력되는 데이터의 상기 외부 메모리로부터 상기 제 1 입력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭의 상기 외부 메모리로부터 피드백되어 상기 제 1 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 제 1 입력용 플립플롭의 유지 시간보다 큰 조건을 충족하는 상기 제 1 위상차의 범위가 산출되는 것을 특징으로 하는 클럭 위상 조정 방법.
  9. 제 6 항에 있어서,
    상기 디바이스는 상기 입력용 플립플롭으로서, 상기 외부 메모리로부터 출력되는 데이터를 래치하는 제 1 입력용 플립플롭과, 상기 제 1 입력용 플립플롭에 래치된 데이터를 래치하는 제 2 입력용 플립플롭을 구비하며,
    상기 클럭 발생기는 상기 데이터 출력용 플립플롭 및 상기 제 2 입력용 플립플롭에 공급되는 제 1 내부 클럭과, 상기 제 1 입력용 플립플롭에 공급되는 제 2 내부 클럭을 공급하고,
    상기 제 1 위상차는,
    상기 제 1 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 클럭 출력용 버퍼에 도달하는 시간을 뺀 위상차 D0과,
    상기 제 2 내부 클럭이 상기 클럭 발생기로부터 상기 제 1 입력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 클럭 출력용 버퍼에 도달하는 시간을 뺀 위상차 D1을 포함하며,
    상기 제 1 위상차의 범위를 산출하는 공정은,
    상기 제 1 및 제 2 조건을 충족하는 상기 위상차 D0의 범위, 및 상기 제 3 및 제 4 조건을 충족하는 상기 위상차 D1의 범위를 산출하고, 또한 상기 위상차 D0 및 D1와의 위상차로부터, 상기 제 1 입력용 플립플롭에 입력된 데이터가 상기 제 2 입력용 플립플롭에 도달하기까지의 지연을 뺀 값이, 상기 제 2 입력용 플립플롭의 셋업 시간보다도 크다고 하는 조건을 충족하는 상기 위상차 D0 및 D1의 범위를 산출하고,
    상기 클럭 신호의 지연값 변경 공정은,
    상기 선택된 위상차 D0 및 D1의 위상차에 근거하여, 상기 디바이스내의 외부 클럭 신호 또는 내부 클럭 신호의 지연값을 변경하는 공정
    을 포함하는 것을 특징으로 하는 클럭 위상 조정 방법.
  10. 클럭에 동기하여 외부 메모리와 데이터 액세스하는 집적 회로를 설계하는 방법에 있어서,
    상기 집적 회로는,
    상기 내부 클럭과 상기 외부 클럭을 생성하는 클럭 발생기와,
    상기 외부 메모리에 출력하는 데이터를 래치하는 데이터 출력용 플립플롭과,
    상기 외부 메모리로부터 출력되는 데이터를, 상기 외부 메모리에 입력한 외부 클럭의 피드백 클럭에 의해서 래치하는 제 1 입력용 플립플롭과,
    상기 제 1 입력용 플립플롭에 래치된 데이터를, 상기 내부 클럭에 의해서 래치하는 제 2 입력용 플립플롭과,
    상기 내부 클럭이 상기 집적 회로내의 클럭 발생기로부터 상기 집적 회로내의 데이터 출력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 집적 회로내의 외부 클럭 출력용 버퍼에 도달하는 시간을 뺀 제 1 위상차와, 상기 외부 클럭이 상기 집적 회로로부터 출력되는 시점 및 상기 외부 클럭이 상기 외부 메모리로부터 피드백되어 상기 집적 회로에 도달하는 시점의 제 2 위상차가 미리 복수 세트 설정되고, 상기 집적 회로가 임의의 시스템에 실장된 후, 실제로 제 2 위상차를 검출하여, 상기 검출한 결과로부터 해당하는 제 1 위상차를 선택하는 위상차 검출 회로와,
    상기 미리 설정된 복수의 제 1 위상차 각각에 대응하는 지연 소자군을 구비하고, 상기 위상차 검출 회로가 선택한 제 1 위상차에 근거하여 상기 지연 소자군이 전환되는 클럭 버퍼를 구비하며,
    상기 설계 방법은,
    상기 집적 회로의 레이아웃으로부터, 상기 집적 회로내의 신호 전달 및 상기 집적 회로와 상기 외부 메모리와의 신호 전달에 관한 시간 파라미터를 추출하는 공정과,
    상기 내부 클럭이 상기 클럭 발생기로부터 상기 데이터 출력용 플립플롭에 도달하는 시간과, 상기 내부 클럭에 의해서 상기 데이터 출력용 플립플롭으로부터 출력된 데이터가 상기 외부 메모리에 도달하기까지의 시간과의 합으로부터, 상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하기까지의 시간을 뺀 제 1 값이, 상기 외부 메모리의 데이터를 취입하기 위해 필요한 데이터 유지 시간보다 크고,
    상기 외부 클럭의 1 사이클 시간으로부터 상기 제 1 값을 뺀 값이, 상기 외부 메모리의 데이터를 취입하기 위해 필요한 데이터 셋업 시간보다 크며,
    상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하여, 피드백 클럭으로서 상기 외부 메모리로부터 되돌아 가서 상기 제 1 입력용 플립플롭에 도달하기까지의 시간과, 상기 제 1 입력용 플립플롭의 셀 지연과, 상기 제 1 입력용 플립플롭으로부터 상기 제 2 입력용 플립플롭까지의 배선 지연을 합한 값 V로부터, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 제 2 입력용 플립플롭의 유지 시간보다 크고,
    상기 내부 클럭이 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭에 도달하기까지의 시간과 상기 외부 클럭의 1 사이클 시간과의 합으로부터, 상기 값 V를 뺀 값이 상기 제 2 입력용 플립플롭의 셋업 시간보다 크며,
    상기 값 V가 상기 내부 클럭의 상기 클럭 발생기로부터 상기 제 2 입력용 플립플롭까지 도달하는 시간보다 크고,
    상기 외부 메모리로부터 출력되는 데이터의 상기 외부 메모리로부터 상기 제 1 입력용 플립플롭에 도달하는 시간으로부터, 상기 외부 클럭의 상기 외부 메모리로부터 피드백되어 상기 제 1 입력용 플립플롭에 도달하기까지의 시간을 뺀 값이, 상기 제 1 입력용 플립플롭의 유지 시간보다 큰 조건을 충족하는 상기 제 1 위상차의 범위를, 상기 파라미터를 기초로 산출하는 공정과,
    상기 제 2 위상차를 임의로 복수 설정하는 공정과,
    상기 설정된 복수의 상기 제 2 위상차 각각에 대해, 상기 조건을 충족하는 제 1 위상차를 설정하는 공정과,
    상기 산출된 상기 제 1 위상차 각각에 대응한 상기 집적 회로내의 외부 클럭 신호 또는 내부 클럭 신호의 지연값을 설정하는 공정
    을 구비하는 것을 특징으로 하는 집적 회로의 설계 방법.
  11. 클럭에 동기하여 외부 메모리와 데이터 액세스하는 집적 회로에 있어서,
    클럭을 생성하는 클럭 발생기와,
    상기 클럭 발생기에 의해 생성한 클럭을 분기한 클럭의 한쪽이 입력되어, 상기 외부 메모리에 공급하기 위한 외부 클럭으로서 출력하는 적어도 1개의 제 1 클럭 버퍼와,
    상기 클럭 발생기에 의해 생성한 클럭을 분기한 클럭의 다른쪽이 입력되어, 상기 집적 회로를 동작시키기 위한 내부 클럭으로서 출력하는 적어도 1개의 제 2 클럭 버퍼와,
    상기 제 1 클럭 버퍼가 출력한 외부 클럭을 상기 외부 메모리에 출력하는 클럭 출력 버퍼와,
    상기 외부 메모리에 출력하기 위한 데이터를 상기 내부 클럭에 동기하여 출력하는 데이터 출력용 플립플롭과,
    상기 외부 메모리로부터 출력되는 데이터를 상기 내부 클럭에 동기하여 취입하는 입력용 플립플롭을 구비하며,
    상기 외부 메모리가 상기 집적 회로로부터 출력되는 데이터를 취입하는 것을 가능하게 하고, 또한 상기 집적 회로가 상기 외부 메모리로부터 출력되는 데이터를 취입하는 것을 가능하게 하는 조건을 충족하도록,
    상기 외부 클럭이 상기 클럭 발생기로부터 상기 외부 메모리에 도달하기까지의 시간과, 상기 내부 클럭이 상기 클럭 발생기로부터 상기 집적 회로내의 데이터 입출력 기준점에 도달하기까지의 시간과의 위상차가 설정되어 있는 것을 특징으로 하는 집적 회로.
KR10-2001-7007380A 1998-12-15 1999-12-15 클럭 위상 조정 방법, 및 집적 회로와 그 설계 방법 KR100431384B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP35655098 1998-12-15
JP98-356550 1998-12-15

Publications (2)

Publication Number Publication Date
KR20020008109A KR20020008109A (ko) 2002-01-29
KR100431384B1 true KR100431384B1 (ko) 2004-05-14

Family

ID=18449594

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-7007380A KR100431384B1 (ko) 1998-12-15 1999-12-15 클럭 위상 조정 방법, 및 집적 회로와 그 설계 방법

Country Status (7)

Country Link
US (2) US6556505B1 (ko)
EP (1) EP1156420B1 (ko)
JP (1) JP3542967B2 (ko)
KR (1) KR100431384B1 (ko)
DE (1) DE69926084T2 (ko)
TW (1) TW461073B (ko)
WO (1) WO2000036512A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7023833B1 (en) 1999-09-10 2006-04-04 Pulse-Link, Inc. Baseband wireless network for isochronous communication
AU2001282881B2 (en) 2000-07-07 2007-06-14 Visigen Biotechnologies, Inc. Real-time sequence determination
US7035246B2 (en) * 2001-03-13 2006-04-25 Pulse-Link, Inc. Maintaining a global time reference among a group of networked devices
US20020178427A1 (en) * 2001-05-25 2002-11-28 Cheng-Liang Ding Method for improving timing behavior in a hardware logic emulation system
JP2003068077A (ja) * 2001-08-28 2003-03-07 Mitsubishi Electric Corp 半導体記憶装置
US7177288B2 (en) * 2001-11-28 2007-02-13 Intel Corporation Simultaneous transmission and reception of signals in different frequency bands over a bus line
US6845424B2 (en) * 2002-01-31 2005-01-18 Intel Corporation Memory pass-band signaling
US7198197B2 (en) * 2002-11-05 2007-04-03 Rambus, Inc. Method and apparatus for data acquisition
KR100468776B1 (ko) * 2002-12-10 2005-01-29 삼성전자주식회사 클락 지터의 영향을 감소시킬 수 있는 동기식 반도체메모리장치
KR100592188B1 (ko) * 2003-10-20 2006-06-23 (주)씨앤에스 테크놀로지 에스디램 엑세스를 위한 데이터 인터페이스장치
JP4502644B2 (ja) * 2004-01-07 2010-07-14 株式会社リコー メモリ制御装置
JP4757583B2 (ja) * 2005-09-20 2011-08-24 エルピーダメモリ株式会社 出力制御信号発生回路
US7266021B1 (en) * 2005-09-27 2007-09-04 Lsi Corporation Latch-based random access memory (LBRAM) tri-state banking architecture
JP4425243B2 (ja) * 2005-10-17 2010-03-03 Okiセミコンダクタ株式会社 半導体記憶装置
EP3540736B1 (en) 2006-12-14 2023-07-26 Rambus Inc. Multi-die memory device
US7864623B2 (en) * 2008-05-22 2011-01-04 Elpida Memory, Inc. Semiconductor device having latency counter
KR100949272B1 (ko) * 2008-07-10 2010-03-25 주식회사 하이닉스반도체 반도체 소자와 그의 구동 방법
KR101375466B1 (ko) 2009-01-12 2014-03-18 램버스 인코포레이티드 다중 전력 모드를 갖는 메조크로노스 시그널링 시스템
JP5427564B2 (ja) * 2009-11-20 2014-02-26 パナソニック株式会社 メモリインターフェース回路、及びメモリデバイスのドライブ能力調整方法
WO2016162970A1 (ja) * 2015-04-08 2016-10-13 三菱電機株式会社 回路設計支援装置及び回路設計支援方法及び回路設計支援プログラム
US10241538B2 (en) * 2017-02-22 2019-03-26 Integrated Device Technology, Inc. Resynchronization of a clock associated with each data bit in a double data rate memory system
JP6784626B2 (ja) * 2017-03-24 2020-11-11 キヤノン株式会社 記録装置、制御方法、及びプログラム
JP6784631B2 (ja) * 2017-03-30 2020-11-11 キヤノン株式会社 記録再生装置、記録再生装置の制御方法、及び、プログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5258660A (en) 1990-01-16 1993-11-02 Cray Research, Inc. Skew-compensated clock distribution system
JP2956228B2 (ja) 1991-01-16 1999-10-04 富士通株式会社 デジタル回路のタイミングチェック方式
US5571236A (en) * 1992-08-28 1996-11-05 Sumitomo Electric Industries, Ltd. Diamond wire drawing die
JP3458406B2 (ja) 1993-04-02 2003-10-20 松下電器産業株式会社 インターフェース回路
JP3256597B2 (ja) 1993-06-21 2002-02-12 株式会社東芝 自動配置設計方法および自動配置設計装置
JPH0773118A (ja) 1993-09-02 1995-03-17 Toshiba Corp 遅延時間補償装置
JPH07248847A (ja) 1994-03-11 1995-09-26 Fujitsu Ltd クロック信号調整方法および装置
JPH08123717A (ja) * 1994-10-25 1996-05-17 Oki Electric Ind Co Ltd 半導体記憶装置
US5577236A (en) * 1994-12-30 1996-11-19 International Business Machines Corporation Memory controller for reading data from synchronous RAM
JPH08221315A (ja) 1995-02-15 1996-08-30 Hitachi Ltd 情報処理装置
JP2853985B2 (ja) 1995-12-28 1999-02-03 株式会社グラフィックス・コミュニケーション・ラボラトリーズ クロック位相調整回路およびクロック位相調整方法
US5946712A (en) * 1997-06-04 1999-08-31 Oak Technology, Inc. Apparatus and method for reading data from synchronous memory
US5917761A (en) * 1997-11-06 1999-06-29 Motorola Inc. Synchronous memory interface
JP4079507B2 (ja) * 1998-05-12 2008-04-23 富士通株式会社 メモリ制御システムおよびメモリ制御方法
JP2000067577A (ja) * 1998-06-10 2000-03-03 Mitsubishi Electric Corp 同期型半導体記憶装置
JP2000311028A (ja) * 1999-04-28 2000-11-07 Hitachi Ltd 位相制御回路、半導体装置及び半導体メモリ

Also Published As

Publication number Publication date
JP3542967B2 (ja) 2004-07-14
DE69926084D1 (de) 2005-08-11
TW461073B (en) 2001-10-21
EP1156420A4 (en) 2004-03-17
DE69926084T2 (de) 2006-05-04
WO2000036512B1 (fr) 2000-10-05
EP1156420B1 (en) 2005-07-06
KR20020008109A (ko) 2002-01-29
EP1156420A1 (en) 2001-11-21
US20030179625A1 (en) 2003-09-25
US6556505B1 (en) 2003-04-29
US6853589B2 (en) 2005-02-08
WO2000036512A1 (fr) 2000-06-22

Similar Documents

Publication Publication Date Title
KR100431384B1 (ko) 클럭 위상 조정 방법, 및 집적 회로와 그 설계 방법
US7501866B2 (en) Delay locked loop circuit
KR100910669B1 (ko) 시험장치
US6986072B2 (en) Register capable of corresponding to wide frequency band and signal generating method using the same
US6144713A (en) Delay locked loop circuit for controlling delay time with reduced lock-up time
KR20040074983A (ko) 타이밍 발생기 및 시험 장치
US20030028835A1 (en) Semiconductor integrated circuit
JP3846765B2 (ja) プログラマブル遅延ライン
US6529424B2 (en) Propagation delay independent SDRAM data capture device and method
CN115051693B (zh) 一种偏移校准电路及存储器
US7134060B2 (en) Semiconductor integrated circuit including operation test circuit and operation test method thereof
CN114791556A (zh) 片内时钟网络延时测试方法和测试电路
JP3202722B2 (ja) クロック同期式回路用動作速度評価回路及び方法
US7487571B2 (en) Control adjustable device configurations to induce parameter variations to control parameter skews
JP2001337862A (ja) メモリシステム及びそのセットアップ方法
CN214315216U (zh) 延迟电路
CN112687321B (zh) 校准方法、装置及对应的延迟电路
US6351161B2 (en) Integrated circuit with actuation circuit for actuating a driver circuit
KR102666336B1 (ko) 클록 생성 회로, 메모리 및 클록 듀티 사이클 교정 방법
CN118138022B (zh) 一种带相位校准的时钟信号传输电路和芯片
US20040078774A1 (en) Semiconductor integrated circuit
US6903997B2 (en) Operation verification system and adaptive control system
JP2001257566A (ja) イネーブル付きラッチ回路
US20080272817A1 (en) Integrated Circuit on a Semiconductor Chip with a Phase Shift Circuit and a Method for Digital Phase Shifting
KR20000022911A (ko) 지연 기능이 부가된 플립플롭 회로 및 클록 신호 배선의자동 설계 장치

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: 20070424

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee