KR100247477B1 - 비중복 2위상 클럭 간의 스큐 조절을 위한 클럭 장치 - Google Patents

비중복 2위상 클럭 간의 스큐 조절을 위한 클럭 장치 Download PDF

Info

Publication number
KR100247477B1
KR100247477B1 KR1019970029638A KR19970029638A KR100247477B1 KR 100247477 B1 KR100247477 B1 KR 100247477B1 KR 1019970029638 A KR1019970029638 A KR 1019970029638A KR 19970029638 A KR19970029638 A KR 19970029638A KR 100247477 B1 KR100247477 B1 KR 100247477B1
Authority
KR
South Korea
Prior art keywords
clock
delay
delay means
redundant
phase
Prior art date
Application number
KR1019970029638A
Other languages
English (en)
Other versions
KR19990005441A (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 김영환
Priority to KR1019970029638A priority Critical patent/KR100247477B1/ko
Priority to US09/106,856 priority patent/US6073246A/en
Publication of KR19990005441A publication Critical patent/KR19990005441A/ko
Application granted granted Critical
Publication of KR100247477B1 publication Critical patent/KR100247477B1/ko

Links

Images

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
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Pulse Circuits (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
반도체 칩 설계
2. 발명이 해결하고자 하는 기술적 과제
두 개의 클럭에 대해 스큐를 줄이기 위한 정확한 클럭 트리를 생성하고 분석하기 어렵기 때문에 우선 두 개의 클럭에 대해 별도의 트리를 구성한 다음 그 결과를 분석하여 분석 결과에 따라 프로그램 가능한 지연블록을 두어 일정한 비중복 구간을 유지하는 비중복 2위상 클럭 간의 스큐 조절을 위한 클럭 장치를 제공하고자 함.
3. 발명의 해결 방법의 요지
클럭 생성 장치의 내부에 클럭 스큐가 비중복 구간을 침해하지 않고, 비중복 구간을 가장 효율적으로 만들기 위해 두 개 클럭간의 큰 지연 차이를 따로 보정하는 프로그래머블한 지연회로를 포함하여 클럭 스큐를 조정하는 비중복 2위상 클럭 간의 스큐 조절을 위한 클럭 장치.
4. 발명의 중요한 용도
2위상 클럭을 사용하는 모든 칩 설계시 적용가능함.

Description

비중복 2위상 클럭 간의 스큐 조절을 위한 클럭 장치
본 발명은 반도체 칩의 설계시 2위상 비중복(nonoverlapping) 클럭을 사용하여 설계하는 회로에 필수적으로 필요한 클럭 장치의 구조에 관한 것이다.
현재 설계되고 있는 대부분의 칩들은 클럭을 사용한 동기 회로로 설계되어 있으며, 그 중에서도 많은 칩들이 두 개 이상의 클럭을 사용하는 경우가 많다. 그중 가장 많이 사용되고 있는 것이 비중복 구간을 가지는 2위상 클럭을 사용하는 것이다. 일반적으로 클럭을 사용하여 칩을 설계할 때 클럭 스큐(skew)에 의해 펑션(function)이 제대로 수행되지 않은 경우가 자주 있고, 더욱이 여러 개의 클럭을 사용할 때는 그들간의 스큐에 의해서도 많은 문제점이 나타난다. 따라서 기존에도 클럭 스큐를 줄이기 위한 여러 가지 방법들이 제안되어 있다.
종래의 기술로서는 대부분 클럭 소스로부터 각각의 수신처(destination)가 되는 래치나 플립플롭의 클럭 입력까지 다단계의 클럭 트리를 배열하는 방법과 이런 경우에 각 단계의 클럭 버퍼를 어떻게 구성하여 경로를 지정하는가에 중점을 두었다. 또한, 각 버퍼가 해당되는 타겟을 어떤방법으로 클러스터화 (clustering)나 그룹화(grouping)하는가에 중점을 두었으며, 이런 방법에 의해 자동적으로 클럭 트리(clock tree)를 생성하고 배열하고 라우팅(routing)하는 분야에 대한 발명이 개발되어 있다.
그러나, 종래의 기술들의 가장 큰 문제점은 클럭 트리를 생성하는 단계와 그것들을 배열하고 라우팅하는 단계에서 클럭 스큐를 줄인다는 것이다. 그러나 이러한 방법에는 클럭 스큐를 줄이는 데 한계가 있으며, 이같은 이유는 클럭 트리를 만들어 배열 및 라우팅하는 부분이 전체 지연을 정확히 고려해야하는데 이러한 지연은 클럭뿐만 아니라 기타 다른 셀이나 다른 신호의 금속 배선의 기하학적 모양과 관련이 크기 때문이다. 더욱이 2위상 비중복 클럭을 사용하는 설계에서는 두 클럭간의 스큐에 대해서도 고려되어야 한다. 만약 두 클럭간의 스큐가 비중복 구간내에 들어오지 않는다면 중복되는 클럭 구간이 발생하고 이에 의해 잘못된 기능을 수행할 수 있기 때문에 클럭 스큐의 정확도는 중요한 문제이며, 종래의 기술에서는 클럭 스큐를 줄이는 데 한계가 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 두 개의 클럭에 대해 스큐를 줄이기 위한 정확한 클럭 트리를 생성하고 분석하기 어렵기 때문에 우선 두 개의 클럭에 대해 별도의 트리를 구성한 다음 그 결과를 분석하여 분석 결과에 따라 프로그램 가능한 지연블록을 두어 일정한 비중복 구간을 유지하는 비중복 2위상 클럭 간의 스큐 조절을 위한 클럭 장치를 제공하는데 그 목적이 있다.
도1은 2위상 비중복 클럭 생성 장치를 포함하는 클럭 장치의 구조도,
도2는 프로그램 가능한 지연블록을 포함하는 비중복 2위상 클럭 생성장치를 도시한 회로도,
도3은 클럭 신호 사이의 구간별 지연을 도시한 신호 다이어그램,
도4는 딜레이 회로의 내부 구조 및 프로그램 예를 도시한 도면.
상기 목적을 달성하기 위한 본 발명은 1위상 클럭을 입력받아 비중복 제1 클럭 및 제2 클럭을 생성하는 비중복 2위상 클럭 생성 장치, 상기 비중복 2위상 클럭 생성 장치로부터 출력되는 상기 제1 클럭에 대한 제1 클럭트리, 상기 2위상 클럭 생성 장치로부터 출력되는 상기 제2 클럭에 대한 제2 클럭트리, 상기 제1 클럭트리로부터 출력되는 상기 제1 클럭을 사용하는 래치/플립플롭 그룹, 및 상기 제2 클럭트리로부터 출력되는 상기 제2 클럭을 사용하는 래치/플립플롭 그룹을 포함하는 클럭 장치에 있어서, 상기 비중복 2위상 클럭 생성 장치는 상기 제1 클럭 및 상기 제2 클럭을 입력으로 받아 각각 지연하여 출력하는 지연 블록을 더 포함하며, 상기 지연 블록을 프로그램 가능하게 구성하여 상기 클럭 장치 내의 전체 클럭 스큐와 상기 제1 클럭 및 상기 제2 클럭 간의 비중복 구간의 조절을 가능하게 하는 클럭 장치를 포함하여 이루어진다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 살펴본다.
도1은 2위상 비중복 클럭 생성 장치를 포함하는 클럭 장치의 구조도로서, 1위상 클럭(CLK)을 생성하는 외부 혹은 내부에 있는 클럭 소스(1), 1위상 클럭(CLK)을 입력받아 2위상 클럭(Phi1,Phi2)을 생성하는 본 발명의 프로그램 가능한 비중복 2위상 클럭 생성 장치(2), 클럭 생성 장치로부터 출력되는 Phi1에 대한 제1 클럭트리(3), 클럭 생성 장치로부터 출력되는 Phi2에 대한 제2 클럭트리(4), 제1 클럭트리로부터 출력되는 제1 클럭(Phi1)을 사용하는 래치/플립플롭 그룹(5), 제2 클럭트리로부터 출력되는 제2 클럭(Phi2)을 사용하는 래치/플립플롭 그룹(6)으로 구성되어진다.
외부나 내부에서 만들어진 1위상 클럭 CLK은 본 발명의 프로그램 가능한 클럭 생성 장치(2)를 거쳐 두 개의 2위상 클럭 Phi1, Phi2로 생성된다. 이러한 두 개의 클럭을 사용하여 전체 회로는 동기회로로 구성되며 실제 클럭에 대해 로딩과 지연을 고려하여 클럭 트리를 생성하여 연결하는데 이 때 두 개의 클럭 트리는 서로 독립적으로 형성된다. 사실 두 클럭 트리를 서로 연관시켜 클럭 트리를 만들수도 있으나, 이러한 작업은 클럭 생성장치(2)의 내부에서 수행하기 때문에 굳이 서로 연관시켜 클럭 트리를 만들고 스큐를 줄일 필요는 없다. 일단 도1과 같이 두 개의 클럭 트리(3,4)가 만들어지면 각각에 대해 구성된 클럭 트리가 얼마나 정확히 스큐를 줄였는가와 이 둘 간의 전체 지연 차이를 분석할 필요가 있다.
우선 각각의 클럭 스큐를 알기 위해 일단 클럭 생성장치(2)의 출력인 Phi1과 모든 Phi1클럭을 사용하는 래치/플립플롭(5) 간의 지연을 알아낸다. 이러한 지연 계산은 모든 레이아웃 작업이 완료된 후 실제 레이아웃된 상태에서 각각의 와이어의 금속배선에 대한 저항값과 커패시턴스값을 추출(extraction)하여 정적으로 모든 경로에 대한 지연을 알아낸다. 이렇게 모든 지연을 찾으면 가장 긴 경로에 대한 지연과 가장 짧은 경로에 대한 지연을 얻을 수 있으며 이 둘간의 차이가 바로 Phi1클럭에 대한 스큐가 되는 것이다. 이때 사용되는 래치나 플립플롭이 하나의 엣지(상승 또는 하강)만 사용한다면, 하나의 지연만 얻으면 되지만 두 개의 엣지를 모두 사용한다면 클럭 트리에 사용된 버퍼 셀의 상승이나 하강 지연이 서로 다를수 있기 때문에 각각 따로 구해야한다. 따라서 각각의 트리에 대해 모두 4가지의 지연을 얻어야 한다. 즉, Phi1에 대해서는 P1Rmax(Phi1 Rising maximum delay), P1Rmin(Phi1 Rising minimum delay), P1Fmax(Phi1 Falling Maximum delay), P1Fmin(Phi1 Falling Minimum delay)등이 된다. 또한, Phi2에 대해서는 P2Rmax, P2Rmin, P2Fmax, P2Fmin 등을 구해야한다. 이러한 모든 지연을 사용하여 본 발명에서 제시하는 프로그램 가능한 비중복 2위상 클럭 생성장치(2) 내부의 비중복 구간을 정하는 클럭 위상을 지연시키는데 사용될수 있다.
도2는 프로그램 가능한 지연블록을 포함하는 비중복 2위상 클럭 생성장치를 도시한 회로도로서, 제1 클럭(Phi1)을 생성하기 위해 클럭소스로부터 입력되는 클럭(CLK)을 입력받아 지연시키는 버퍼(20), 제2 클럭(Phi2)을 생성하기 위해 클럭소스로부터 입력되는 클럭(CLK)을 입력받아 반전하는 제1 인버터(21), 상기 버퍼(20)로부터 출력되는 신호와 제2 클럭(Phi2)과의 관계에서 비중복 구간만큼의 지연된 신호를 피드백하여 입력하는 신호를 부정논리곱하는 제1 부정논리곱게이트(NAND1), 및 상기 제1 인버터(21)로부터 출력되는 신호와 제1 클럭(Phi1)과의 관계에서 비중복 구간만큼의 지연된 신호를 피드백하여 입력하는 신호를 부정논리곱하는 제2 부정논리곱게이트(NAND2)로 이루어진 클럭 발생 블록(100), 상기 클럭 발생 블록(100)의 상기 제1 부정논리곱게이트(NAND1)와 상기 제2 부정논리곱게이트(NAND2)로부터 출력되는 2위상 클럭을 지연하는 지연 블록(200), 및 상기 지연 블록(200)에서 출력되는 제1 클럭,제2 클럭 각각에 대한 신호를 반전하여 각각의 클럭트리로 보내는 최종 제1 클럭과 최종 제2 클럭을 출력하는 제2 인버터(24), 제3 인버터(25)를 포함하는 반전부(300)로 구성된다.
상기 지연 블록(200)은 제2 클럭(Phi2) 하강 엣지와 제1 클럭(Phi1) 상승 엣지 사이의 비중복 구간을 결정하는 제1 딜레이 회로, 제1 클럭(Phi1) 하강 엣지와 제2 클럭(Phi2) 상승 엣지 사이의 비중복 구간을 결정하는 제2 딜레이 회로 및 제1 클럭(Phi1) 전체의 위상을 지연하는 제3 딜레이 회로, 제2 클럭(Phi2) 전체의 위상을 지연하는 제4 딜레이 회로를 포함한다. 상기 다수의 딜레이 회로는 도4와 같이 프로그램 가능한 단위 딜레이 요소의 배수로 전체 지연값을 구성할 수 있도록 구성된다.
전체 구성은 기존의 비중복 클럭 생성 장치와 유사하나 다른 부분은 제1 및 제2 및 제3 및 제4 딜레이회로와 같은 지연 회로를 프로그램 가능하게 만들어 비중복 구간의 간격과 전체 클럭 위상에 대한 지연을 조절한다는 것이다. 이 회로에 대한 동작 방법에 대해 간단히 살펴보면 다음과 같다. 우선 입력 클럭(CLK)이 "0"에서 "1"로 천이되면 제1 인버터(21)를 거쳐 제2 부정논리곱게이트(23)의 하나의 입력이 "0"으로 바뀌기 때문에 제2 부정논리곱게이트(23)의 출력은 항상 "1"이 되고, 이 값은 지연 블록(200)의 제2 딜레이회로와 제4 딜레이회로를 거치고 나서 다시 반전되어 제2 클럭(Phi2)의 출력은 "0"으로 된다. 또한, 제2 딜레이회로의 출력인 "1"은 다시 피드백되어 제1 부정논리곱게이트(22)의 출력은 "0"이 된다. 제1 클럭(Phi2)과 마찬가지로 이 신호는 지연 블록(200)의 제1 딜레이회로와 제3 딜레이회로를 거치고 나서 다시 반전되어 제1 클럭(Phi1)의 출력으로 "1"이 나가게된다. 또한 제1 딜레이회로의 출력인 "0"은 다시 피드백되어 제2 부정논리곱게이트(23)의 입력으로 들어가나 이미 다른 입력이 "0"이 되어 있기 때문에 더 이상의 로직 변화는 일어나지 않으며, 안정된 상태를 유지하게 된다. 마찬가지의 동작이 CLK가 "1"에서 "0"으로 변할때도 발생하는데, 이 때는 제1 클럭(Phi1)이 먼저 "0"으로 떨어지고 다시 피드백 경로를 거쳐 제2 클럭(Phi2)을 "1"로 만들어 안정한 상태를 유지시키게 된다. 이러한 동작 방법을 보면 대략적으로 제1 딜레이회로 및 제2 딜레이회로와 제3 딜레이회로 및 제4 딜레이회로가 어떠한 역할을 하는지를 알 수 있다. 즉, 제3 딜레이회로 및 제4 딜레이회로는 서로 다른 클럭에 영향을 주지 않고 단지 자기의 클럭에만 영향을 주므로 각 클럭의 전체 지연, 즉 위상을 늦추거나 빠르게 할 수 있는 요소라는 것을 알 수 있다.
도3은 이들의 역할과 클럭 신호 사이의 타이밍 관계를 보여주고 있다. 일단 이러한 분석을 하기 위해 클럭 생성 장치의 각 부분에 대한 지연을 지정하여 제1 인버터(21)와 버퍼(20)는 동일한 지연을 가지며, 그 지연 값을 BD라하고, 제1 부정논리곱게이트나 제2 부정논리곱게이트는 서로 같은 회로를 갖도록 하고 이것의 지연값을 ND라 하고, 또한 반전부(300)의 제2 인버터 및 제3 인버터도 서로 같은 지연인 BD1을 가진다. 또한, 제1 딜레이 회로는 NO1만큼의 지연을 가지며, 제2 딜레이 회로는 NO2만큼의 지연을 가지고, 제3 딜레이 회로는 PD1만큼의 지연을, 제4 딜레이 회로는 PD2만큼의 지연을 가진다. 도3은 클럭 생성장치의 구간별 지연을 다이어그램으로 보인 것으로서, 도면에서 보이는 모든 구간에 대한 지연을 상기 각 구성요소의 지연으로 계산하여 아래 수학식 1과 같이 공식화 할 수 있다.
A = BD + ND + NO2 + PD2 + BD1
B = BD + ND + NO2 + ND + NO1 + PD1 + BD1
C = BD + ND + NO1 + PD1 + BD1
D = BD + ND + NO1 + ND + NO2 + PD2 + BD1
B - A = ND + NO1 + (PD1 - PD2)
D - C = ND + NO2 + (PD2 - PD1)
우선 비중복 2위상 클럭에는 두 개의 비중복 구간이 존재하는데 첫 번째는 입력 CLK가 "0"에 "1"로 가는 경우에 발생하는 Phi2 하강과 Phi1 상승사이의 비중복 구간이고, 두 번째는 입력 CLK가 "1"에서 "0"으로 가는 경우에 발생하는 Phi1 하강과 Phi2 상승 사이의 비중복 구간이다. 우선 첫 번째 비중복 구간은 CLK가 "1"로 천이된후 Phi1이 "1"로 천이할 때까지의 지연에서 Phi2가 "0"으로 천이할 때까지의 지연의 차에서 발생하고, 수학식 1에서와 같이 이 값은 ND + NO1 + (PD1 - PD2)에 의해 결정되고, 마찬가지로 두 번째 비중복 구간은 수학식 2에서와 같이 ND + NO2 + (PD2 - PD2)에 의해 결정된다. 따라서 버퍼와 제1 인버터의 지연 BD를 제외한 나머지 요소를 적절히 프로그램한다면 원하는 만큼의 비중복 구간을 만들 수 있다.
기본적으로 2위상 클럭의 비중복 구간은 전체 클럭 디자인에 의해 발생될 수 있는 클럭 스큐와 두 클럭간의 지연 차이에 의해 규정될 수 있다는 것이다. 만약 극단적으로 전체 클럭의 스큐가 0이고 Phi1과 Phi2사이에 전혀 지연 차가 없다면 비중복 구간이 0에 가까워도 문제되지 않는다. 일반적으로 어느 정도의 클럭 스큐가 발생할 수 있기 때문에 적당한 정도의 비중복 구간을 가지도록 설계하여 마지막 단에서 두 개의 클럭 위상이 서로 중복되지 않도록 하는 것이다. 즉, 두 클럭간의 최대 스큐만큼의 비중복 구간이 있으면 본 발명의 기본적인 근거가 되는 것이다. 그러나 이 때 문제점이 될 수 있는 것은 무한히 비중복 구간을 늘릴수 없다는 것이다. 비중복 구간이 늘어나면 늘어나는 만큼 클럭의 액티브 구간이 작아지게 되므로 문제될 수 있다. 따라서 본 발명에서는 두가지의 요소로 두 클럭간의 스큐를 분석하고 이를 근거로 비중복 구간을 가능한 한 최소화하는 방향으로 구성한다. 두 클럭간의 스큐는 크게 두 개 사이의 평균적인 지연차와 각각 자체적인 스큐로 나눌수있는데, 우선 평균 지연차는 Phi1과 Phi2에 달리는 팬 아웃등이 기본적으로 다를수 있기 때문에 이런 경우에 각각의 클럭 트리의 단계와 크기가 달라진다. 이런 전체적인 두 클럭간의 차이는 클럭 생성장치 내부의 제3 딜레이회로나 제4 딜레이회로에 의해 조절될수있으며, 이렇게 하는 것은 클럭의 듀티에 영향을 주지않기 때문에 최대한 이 값을 통해 스큐 차이를 보정하는 것이 바람직하다.
제3 딜레이회로와 제4 딜레이회로의 지연 값(PD1,PD2)의 결정 방법은 다음과 같다. 우선 두 클럭(Phi1,Phi2)에 대한 평균 지연을 구하고 두 클럭간의 차이를 구해야 하는데, 일단 Phi1의 액티브 하이 구간의 중간 값의 평균 지연 P1avr = ((P1Rmax + P1Rmin)/2 + (P1Fmax + P1Fmin)/2)/2 로 구해지며, Phi2에 대해서는 P2avr = ((P2Rmax + P2Rmin)/2 + (P2Fmax + P2Fmin)/2)/2 로 구해진다. 이 두 값을 비교하면 어느 쪽의 클럭이 더 지연되는 지를 알 수 있다. 일단 둘 중에 한쪽의 지연 값이 작으면 그에 해당되는 클럭의 위상을 뒤로 미루면 되기 때문에 제3 딜레이회로 및 제4 딜레이회로 중 하나의 지연을 0으로 하고 나머지 딜레이회로는 P1avr - P2avr의 차이만큼의 지연을 갖도록 프로그램한다. 즉, P1avr > P2avr인 경우에는 제3 딜레이회로의 지연 값 PD1은 0이고, 제4 딜레이회로의 지연 값 PD2는 P1avr - P2avr이고, P1avr < P2avr인 경우에는 제4 딜레이회로의 지연 값 PD2는 0이고, 제3 딜레이회로의 지연 값 PD1은 P1avr - P2avr로 프로그램한다.
또한, 제1 딜레이 회로와 제2 딜레이 회로의 지연값은 두 클럭 간의 최대 스큐에 의한 값으로 결정될 수 있는데, 우선 제1 딜레이 회로의 지연값(NO1)은 도3에서 보듯이 Phi2 하강 엣지와 Phi1 상승 엣지 사이의 비중복 구간에 의해 결정되는데, 이 비중복 구간이 클럭 스큐에 의해 발생될 수 있는 최대 중복 구간인 P2Fmax - P1Rmin보다 더 커야 한다. 즉 NO1은 아래 수학식 2를 만족하도록 결정되어야 한다.
ND + NO1 + (PD1 - PD2) > P2Fmax - P1Rmin,
NO1 > (P2Fmax - P1Rmin) - (PD1 - PD2) - ND
마찬가지로 제2 딜레이회로의 지연 값(NO2)은 Phi1 하강 엣지와 Phi2 상승 엣지 사이의 비중복 구간에 의해 결정되며 이때의 스큐에 의해 발생될 수 있는 최대 중복 구간은 P1Fmax - P2Rmin이므로, NO2는 아래 수학식 3을 만족하도록 결정되어야 한다.
ND + NO2 + (PD2 - PD1) > P1Fmax - P2Rmin,
NO2 > (P1Fmax - P2Rmin) - (PD2 - PD1) - ND
상기에서 구해진 제1 딜레이회로,제2 딜레이회로,제3 딜레이회로 및 제4 딜레이회로의 지연값, 즉 NO1,NO2,PD1,PD2는 도4에서 보여지듯 각 단위 지연 요소(버퍼)의 배수(N)로 각 딜레이 회로에서 전체 지연값으로 프로그램된다. 이 때 프로그램되는 N의 값은 아래의 수학식 4에 의해 구해질 수 있다.
단위 지연을 UD, 요구되는 전체 지연값을 D라 하면,
UD * (N-1) < D <= UD * N을 만족하는 정수.
이렇게 구해진 PD1,PD2,NO1,NO2를 클럭 생성 장치 내부에 프로그램함으로써 전체 디자인에서 절대로 Phi1과 Phi2 사이에서 중복 구간이 발생하지 않는 가장 적절한 비중복 2위상 생성장치를 얻게 되는 것이다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기와 같이 이루어지는 본 발명은 일단 두 개의 클럭에 대해 각각 트리를 구성하고 다른 모든 레이아웃 단계를 수행한 이후에 수행되므로, 일단 수행된 결과를 가지고 정확히 클럭 트리에 대해 스큐를 분석하여, 그 스큐에 의해 요구되어지는 두 클럭 간의 비중복 구간의 값을 보다 정확히 알 수 있어 그 값을 지연 블록에 간단히 프로그램함으로써 클럭의 중복 구간에 의해 발생될 수 있는 칩의 오동작을 미리 막을 수 있으며, 전체 공정의 수율를 올릴 수 있는 효과가 있다.

Claims (6)

1위상 클럭을 입력받아 비중복 제1 클럭 및 제2 클럭을 생성하는 비중복 2위상 클럭 생성 장치, 상기 비중복 2위상 클럭 생성 장치로부터 출력되는 상기 제1 클럭에 대한 제1 클럭트리, 상기 2위상 클럭 생성 장치로부터 출력되는 상기 제2 클럭에 대한 제2 클럭트리, 상기 제1 클럭트리로부터 출력되는 상기 제1 클럭을 사용하는 래치/플립플롭 그룹, 및 상기 제2 클럭트리로부터 출력되는 상기 제2 클럭을 사용하는 래치/플립플롭 그룹을 포함하는 클럭 장치에 있어서,
상기 비중복 2위상 클럭 생성 장치는
상기 제1 클럭 및 상기 제2 클럭을 입력으로 받아 각각 지연하여 출력하는 지연 블록을 더 포함하며, 상기 지연 블록을 프로그램 가능하게 구성하여 상기 클럭 장치 내의 전체 클럭 스큐와 상기 제1 클럭 및 상기 제2 클럭 간의 비중복 구간의 조절을 가능하게 하는 클럭 장치.
제 1 항에 있어서, 상기 지연 블록은
상기 제2 클럭 하강 엣지와 상기 제1 클럭 상승 엣지 사이의 비중복 구간을 결정하는 제1 딜레이수단;
상기 제1 클럭 하강 엣지와 상기 제2 클럭 상승 엣지 사이의 비중복 구간을 결정하는 제2 딜레이 수단;
상기 제1 클럭 전체의 위상을 지연하는 제3 딜레이 수단; 및
상기 제2 클럭 전체의 위상을 지연하는 제4 딜레이 수단을 포함하는 클럭 장치.
제 2 항에 있어서, 상기 제1 딜레이 수단, 상기 제2 딜레이 수단, 상기 제3 딜레이 수단 및 제4 딜레이수단은 단위 지연 요소의 배수로 구성하여 각각 해당 딜레이 수단의 전체 지연 값을 각각 해당 딜레이 수단에서 프로그램할 수 있는 클럭 장치.
제 2 항에 있어서, 상기 제1 딜레이수단은
(상기 제2 클럭의 하강 엣지의 최대 지연값 - 상기 제1 클럭의 상승 엣지의 최소 지연값) - (상기 제3 딜레이 수단의 지연값 - 상기 제4 딜레이 수단의 지연값) - 제1 부정논리곱게이트의 지연값 보다 큰 지연값을 가지는 클럭 장치.
제 2 항에 있어서, 상기 제2 딜레이수단은
(상기 제1 클럭의 하강 엣지의 최대 지연값 - 상기 제2 클럭의 상승 엣지의 최소 지연값) - (상기 제4 딜레이 수단의 지연값 - 상기 제3 딜레이 수단의 지연값) - 제2 부정논리곱게이트의 지연값 보다 큰 지연값을 가지는 클럭 장치.
제 2 항에 있어서, 상기 제3 딜레이수단 및 상기 제4 딜레이수단은상기 제1 클럭트리와 상기 제2 클럭트리의 평균 지연의 차를 상기 제1 클럭과 상기 제2 클럭 중 지연이 작은 클럭의 딜레이 수단의 지연값으로 프로그램하고 지연이 큰 클럭의 딜레이 수단의 지연값으로 0을 갖는 클럭 장치.
KR1019970029638A 1997-06-30 1997-06-30 비중복 2위상 클럭 간의 스큐 조절을 위한 클럭 장치 KR100247477B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019970029638A KR100247477B1 (ko) 1997-06-30 1997-06-30 비중복 2위상 클럭 간의 스큐 조절을 위한 클럭 장치
US09/106,856 US6073246A (en) 1997-06-30 1998-06-30 Clock generating apparatus for skew control between two-phase non-overlapping clocks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970029638A KR100247477B1 (ko) 1997-06-30 1997-06-30 비중복 2위상 클럭 간의 스큐 조절을 위한 클럭 장치

Publications (2)

Publication Number Publication Date
KR19990005441A KR19990005441A (ko) 1999-01-25
KR100247477B1 true KR100247477B1 (ko) 2000-03-15

Family

ID=19512598

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970029638A KR100247477B1 (ko) 1997-06-30 1997-06-30 비중복 2위상 클럭 간의 스큐 조절을 위한 클럭 장치

Country Status (2)

Country Link
US (1) US6073246A (ko)
KR (1) KR100247477B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100760153B1 (ko) * 2001-05-21 2007-09-18 매그나칩 반도체 유한회사 전압적응 2위상 클럭 발생회로

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327274B1 (en) * 1998-09-15 2001-12-04 Nokia Telecommunications, Inc. Method for estimating relative skew between clocks in packet networks
US6603338B1 (en) 1998-10-30 2003-08-05 Stmicroelectronics, Inc. Device and method for address input buffering
US6294939B1 (en) * 1998-10-30 2001-09-25 Stmicroelectronics, Inc. Device and method for data input buffering
JP3703333B2 (ja) * 1999-03-25 2005-10-05 Necエレクトロニクス株式会社 論理接続情報変換装置
JP3317948B2 (ja) * 2000-01-20 2002-08-26 エヌイーシーマイクロシステム株式会社 半導体集積回路のレイアウト設計方法及び半導体集積回路
US6339348B1 (en) * 2000-09-12 2002-01-15 Semiconductor Components Industries Llc Programmable non-overlap time output driver
US6738921B2 (en) * 2001-03-20 2004-05-18 International Business Machines Corporation Clock controller for AC self-test timing analysis of logic system
US6782519B2 (en) * 2001-12-18 2004-08-24 Cadence Design Systems, Inc. Clock tree synthesis for mixed domain clocks
US6981233B2 (en) * 2003-02-24 2005-12-27 Cadence Design Systems, Inc. Method for analyzing path delays in an IC clock tree
TWI500267B (zh) * 2009-07-16 2015-09-11 Realtek Semiconductor Corp 具有延遲功能之時脈電路及其相關方法
US8949652B2 (en) * 2011-11-03 2015-02-03 Nvidia Corporation Glitchless programmable clock shaper
US9831860B2 (en) * 2015-03-16 2017-11-28 Taiwan Semiconductor Manufacturing Company, Ltd. Clock generation circuit
US9837995B2 (en) * 2015-07-27 2017-12-05 Qualcomm Incorporated Clock gating using a delay circuit

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3745472A (en) * 1971-07-01 1973-07-10 Texas Instruments Inc Synchronous digital system having a clock distribution system
US4165490A (en) * 1977-12-19 1979-08-21 International Business Machines Corporation Clock pulse generator with selective pulse delay and pulse width control
US5258660A (en) * 1990-01-16 1993-11-02 Cray Research, Inc. Skew-compensated clock distribution system
US5305451A (en) * 1990-09-05 1994-04-19 International Business Machines Corporation Single phase clock distribution circuit for providing clock signals to multiple chip integrated circuit systems
US5307381A (en) * 1991-12-27 1994-04-26 Intel Corporation Skew-free clock signal distribution network in a microprocessor
US5455931A (en) * 1993-11-19 1995-10-03 International Business Machines Corporation Programmable clock tuning system and method
JP3557640B2 (ja) * 1993-12-14 2004-08-25 ソニー株式会社 同期回路
US5570045A (en) * 1995-06-07 1996-10-29 Lsi Logic Corporation Hierarchical clock distribution system and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100760153B1 (ko) * 2001-05-21 2007-09-18 매그나칩 반도체 유한회사 전압적응 2위상 클럭 발생회로

Also Published As

Publication number Publication date
US6073246A (en) 2000-06-06
KR19990005441A (ko) 1999-01-25

Similar Documents

Publication Publication Date Title
KR100247477B1 (ko) 비중복 2위상 클럭 간의 스큐 조절을 위한 클럭 장치
US5570045A (en) Hierarchical clock distribution system and method
US7868655B2 (en) Configurable time borrowing flip-flops
US8115530B2 (en) Robust time borrowing pulse latches
US8253463B1 (en) Pulse width control circuitry
US20080263488A1 (en) Method for generating a skew schedule for a clock distribution network containing gating elements
JP2013179598A (ja) 減少された挿入遅延を持つプログラマブル遅延回路
Ganusov et al. Time-borrowing platform in the Xilinx Ultrascale+ family of FPGAs and MPSoCs
JP2611034B2 (ja) 遅延回路
KR20050099714A (ko) 고집적 저전력 글리치리스 클럭 선택회로 및 이를구비하는 디지털 프로세싱 시스템
KR102263674B1 (ko) 프로그램가능 지연 회로 블록
US7302657B2 (en) Optimization of the design of a synchronous digital circuit
Amiri et al. On the timing uncertainty in delay-line-based time measurement applications targeting FPGAs
CN111459878B (zh) 一种自动减小时钟延时偏差方法和系统
US7752420B2 (en) Configuration layout number controlled adjustable delaying of connection path changes among processors in array to reduce transition glitches
EP0461291A1 (en) Clock generation in a multi-chip computersystem
Stephenson Design guidelines for optimal results in FPGAs
EP1308862B1 (en) Optimization of the design of a synchronous digital circuit
KR100422349B1 (ko) 클럭신호발생기
US8136061B2 (en) Method of logic circuit synthesis and design using a dynamic circuit library
Uysal et al. Synthesis of clock networks with a mode reconfigurable topology and no short circuit current
CN116167331B (zh) 用于构建时钟树的方法、时钟树及芯片
KR102648088B1 (ko) 멀티 입력 스위칭을 반영한 반도체 소자의 동작 타이밍 분석 장치 및 방법
KR100760153B1 (ko) 전압적응 2위상 클럭 발생회로
JP2519526Y2 (ja) 半導体装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121121

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20131118

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20141119

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 17

LAPS Lapse due to unpaid annual fee