KR20040046284A - 클럭트리 합성방법 및 클럭트리 합성효과의 예측방법 - Google Patents
클럭트리 합성방법 및 클럭트리 합성효과의 예측방법 Download PDFInfo
- Publication number
- KR20040046284A KR20040046284A KR1020020074131A KR20020074131A KR20040046284A KR 20040046284 A KR20040046284 A KR 20040046284A KR 1020020074131 A KR1020020074131 A KR 1020020074131A KR 20020074131 A KR20020074131 A KR 20020074131A KR 20040046284 A KR20040046284 A KR 20040046284A
- Authority
- KR
- South Korea
- Prior art keywords
- clock
- clock tree
- tree synthesis
- synthesis
- layout
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
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)
Abstract
본 발명은 클럭트리 합성방법 및 클럭트리 합성효과의 예측방법에 관한 것으로, 본 발명에 따른 클럭트리 합성방법은 게이티드 클럭 또는 다중 클럭 소스가 존재할 경우에, 이들을 고려하여 클럭간 상관관계를 분석함으로써 클럭트리의 합성이 곤란한 클럭 체계를 레이아웃하기 전에 미리 발견하고 클럭트리의 합성이 가능한 구조로 바꾸어 클럭트리의 합성을 수행하는 것을 특징으로 하고, 본 발명에 따른 클럭트리 합성효과의 예측방법은 모델링된 가상의 클럭트리 셀을 이용하여 레이아웃 전 단계에서 미리 클럭트리의 타이밍 효과, 소비전력, 및 버퍼 삽입으로 인한 칩상의 면적 증가에 대한 정보를 얻을 수 있는 것을 특징으로 한다.
본 발명에 따른 클럭트리 합성방법에 의해 게이티드 클럭 또는 다중 클럭 소스가 존재할 경우에도 클럭트리의 합성이 가능하다. 또한 본 발명에 따른 클럭트리 합성효과의 예측방법에 의해 레이아웃 전 단계에서 미리 클럭트리 합성 결과에 대한 정보를 얻을 수 있다.
Description
본 발명은 클럭트리 합성방법 및 클럭트리 합성효과의 예측방법에 관한 것으로, 특히 게이티드 클럭 또는 다중 클럭 소스가 존재할 경우에 클럭트리의 합성이 가능한 클럭트리 합성방법, 및 레이아웃 전 단계에서 미리 클럭트리 합성 결과에 대한 정보를 얻을 수 있는 클럭트리 합성효과의 예측방법에 관한 것이다.
최근, 반도체 공정기술의 발달로 높은 집적도를 사용한 SOC(System-On-Chip) 설계가 보편화되고 있다. 또한, IT(Information Technology) 산업의 급속한 발전과 광대역 통신망의 대중화는 방대한 정보를 빠른 속도로 처리할 수 있도록 하기 위하여 고속에서 안정적으로 동작하는 SOC의 개발을 요구하고 있다.
반도체 장치의 설계에 있어서, 높은 성능과 동작의 신뢰성을 확보하기 위해 고려해야 하는 가장 중요한 요소가 클럭의 동기화이다. 대부분의 디지털 회로는 클럭의 천이(transition)에 동기되어 작동하므로 클럭신호가 빠르게 시프트(shift) 될수록 시스템 내에서 데이터의 시간당 이동량도 증가하며, 이는 성능의 향상으로 이어진다. 클럭신호를 전송하는 클럭 네트는 종종 클럭분산 네트워크라고 표현되는데, 그 이유는 일반적으로 단일 클럭 소스가 수백에서 수천만 개의 플립플롭들로 구성된 로드들을 구동하며 이들 로드들은 칩 전체에 걸쳐서 배치되는 경향이 있기 때문이다. 클럭신호를 전체 플립플롭에 분산시키기 위한 다양한 클럭 네트워크 구조가 제안되었다. 지금까지 제안된 클럭 네트워크의 구조에는 트렁크, 메쉬, 대칭 H-tree, 버퍼 클럭트리 등과 이들이 혼합된 형태의 네트워크 구조가 있다. 이들 클럭 구조 중 버퍼 클럭트리 방식은 버퍼가 추가적으로 삽입되므로 칩 사이즈가 증가한다는 단점은 있으나, 삽입된 버퍼가 연결선들의 임피던스로 인하여 감소하는 클럭신호를 증폭시키고 과도한 로딩을 분리시켜 주는 역할을 하기 때문에 고성능의 클럭특성을 얻을 수 있다. 그러므로, 버퍼 클럭트리 방식은 SOC 설계환경에 가장 적합하다.
레이아웃 단계에서 자동으로 클럭트리를 구성하고 적절한 위치에 버퍼를 삽입하는 작업을 클럭트리 합성(Clock Tree Synthesis; CTS)이라 부른다. 초기의 CTS는 매우 간단한 클럭체계를 처리하는 수준이었으나, 점차 낮은 소비전력을 위한 게이티드 클럭을 지원하고 SOC 설계를 위해 다수의 클럭을 동시에 고려하도록 기능을 확장한 결과 클럭트리 합성의 대상이 되는 클럭체계의 복잡도가 증가하는 추세이다. 이와 같은 현상은 다음과 같은 문제를 야기한다. 첫째, 클럭트리 합성의 결과가 반도체 칩의 성능 및 면적에 상당한 영향을 미침에도 불구하고 레이아웃 전 단계에서 이러한 효과를 예측하기가 쉽지 않다. 둘째, 복잡한 클럭체계에 대하여 정확한 클럭트리 합성을 수행하기 위해서는 다양한 제약조건의 설정이 필요하다. 셋째, 레이아웃 설계자가 클럭트리 합성을 할 때 필요한 각종 정보들을 논리회로 설계자로부터 자동으로 전달받는 자동화된 플로우가 없기 때문에 의사전달 실수에 의한 휴먼 에러가 발생될 수 있다.
결국, 게이티드 클럭 또는 다중 클럭 소스가 존재할 경우에 클럭트리의 합성이 가능한 방법이 필요하고, 레이아웃 전 단계에서 미리 클럭트리 합성 결과에 대한 정보를 얻을 수 있는 클럭트리 합성효과의 예측방법이 필요하다.
본 발명의 목적은 게이티드 클럭 또는 다중 클럭 소스가 존재할 경우에 클럭트리의 합성이 가능한 클럭트리 합성방법을 제공하는 것이다.
본 발명의 다른 목적은 레이아웃 전 단계에서 미리 클럭트리 합성 결과에 대한 정보를 얻을 수 있는 클럭트리 합성효과의 예측방법을 제공하는 것이다.
도 1(a)은 클럭트리 합성을 행하기 전 단일 레벨 형태의 클럭 네트를 나타낸 도면이고, 도 1(b)은 버퍼를 삽입하여 클럭트리 합성을 행한 후의 다중 레벨 형태의 클럭 네트를 나타낸 도면이다.
도 2는 클럭 사이의 상관관계를 추출하기 위해 클럭전달 방법을 적용한 하나의 예이다.
도 3(a)는 클럭 머지의 하나의 예를 나타낸 도면이고, 도 3(b)는 클럭 충돌의 하나의 예를 나타낸 도면이고, 도 3(c)은 클럭 오버랩의 하나의 예를 나타낸 도면이다.
도 4는 클럭트리 합성(CTS)의 수행 순서 리스트 생성의 하나의 실시예를 나타낸 도면이다.
도 5는 예제 설계의 클럭트리 합성(CTS)의 팬아웃과 게이트의 수에 따른 삽입 지연시간 분포도이다.
도 6은 클럭트리 셀(CTC) 선택표의 하나의 예를 나타내는 도면이다.
도 7은 지연시간을 계산할 때 CTC의 효과를 설명하기 위한 도면이다.
도 8은 본 발명에 따른 레이아웃 전 단계의 클럭트리 합성(CTS) 관련 플로우를 나타내는 흐름도이다.
본 발명에 따른 클럭트리 합성방법은 게이티드 클럭 또는 다중 클럭 소스가 존재할 경우에, 이들을 고려하여 클럭간 상관관계를 분석함으로써 클럭트리의 합성이 곤란한 클럭 체계를 레이아웃하기 전에 미리 발견하고 클럭트리의 합성이 가능한 구조로 바꾸어 클럭트리의 합성을 수행하는 것을 특징으로 한다.
본 발명에 따른 클럭트리 합성방법은 클럭루트를 지정하고 클럭네트를 분석하는 제 1 단계, 상기 제 1 단계에서 클럭루트를 분석한 결과 클럭트리 합성에 문제가 있으면 유저 동기 핀과 유저 무시 핀을 설정하고 다시 클럭네트를 분석하고, 상기 제 1 단계에서 클럭루트를 분석한 결과 클럭트리 합성에 문제가 없으면 자동 클럭트리 셀을 삽입하는 제 2 단계, 상기 제 2 단계에서 삽입된 상기 클럭트리 셀을 사용하여 지연시간을 계산하는 제 3 단계, 상기 제 3 단계에서 계산된 결과를 가지고 레이아웃 전 단계에서 타이밍을 검증하는 제 4 단계, 상기 제 4 단계에서 검증한 결과 이상이 없으면 클럭트리 합성의 정보파일을 출력하는 제 5 단계, 및레이아웃에서 클럭트리 합성이 수행되는 제 6 단계를 구비하는 것을 특징으로 한다.
본 발명에 따른 클럭트리 합성효과의 예측방법은 모델링된 가상의 클럭트리 셀을 이용하여 레이아웃 전 단계에서 미리 클럭트리의 타이밍 효과, 소비전력, 및 버퍼 삽입으로 인한 칩상의 면적 증가에 대한 정보를 얻을 수 있는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 클럭트리 합성방법 및 클럭트리 합성효과의 예측방법에 대해 설명한다.
레이아웃 관점에서 클럭트리 합성은 셀 배치 후 고정된 칩 상의 소스와 리시버의 위치를 기반으로 버퍼분산을 통하여 네트워크의 로드 균형을 얻는 기술이다. 도 1(a)은 클럭트리 합성을 행하기 전 단일 레벨 형태의 클럭 네트를 나타낸 도면이고, 도 1(b)은 버퍼를 삽입하여 클럭트리 합성을 행한 후의 다중 레벨 형태의 클럭 네트를 나타낸 도면이다. 여기서, 소스 핀은 클럭루트이고 리시버 핀은 일반적으로 플립플롭의 클럭 핀이 된다. 클럭트리의 레벨 및 버퍼 아래 팬아웃의 개수에 따라 다양한 형태의 클럭트리가 생성될 수 있으며 다음과 같은 특성 항목이 있다.
Ti는 삽입 지연시간으로서 소스 핀에서 특정 리시버 핀까지의 전달 지연시간을 의미한다. Timax는 최대 삽입 지연시간으로서 삽입 지연시간 중 가장 큰 값을 의미하고, Timin는 최소 삽입 지연시간으로서 삽입 지연시간 중 가장 작은 값을 의미한다. Ts는 클럭 스큐로서 Ts = Timax - Timin으로 정의된다. 도 1(b)에 도시된 바와 같이, 클럭 루트(2)에서 플립플롭(FF4)의 클럭 핀까지 도달하는 데 걸리는 시간이 Timin으로서 2.0 ns이고, 클럭 루트(2)에서 플립플롭(FF6)의 클럭 핀까지 도달하는 데 걸리는 시간이 Timax로서 2.5 ns이므로, Ts는 0.5가 된다. 클럭 스큐가 설계 허용범위를 벗어날 경우 클럭 레이스 문제가 발생되고, 최대 삽입 지연시간은 클럭의 주기를 결정한다. 칩의 성능을 유지하면서 전력소비를 줄일 수 있는 효율적인 방법에 특정 시간구간에 동작하지 않는 회로의 일부 클럭신호를 단절시키는 게이티드 클럭 기술이 있다. 일부 클럭신호가 단절되면 클럭 네트 자체의 로딩이 줄어들 뿐 아니라 플립플롭의 출력도 안정해져 스위칭에 의한 동적소비전력을 크게 줄일 수 있다. 클럭을 마스크 오프 하기 위해서 클럭트리의 일정 부분에 미리 게이트가 추가되는데, 이것은 클럭트리 합성의 측면에서 제약조건이 된다.
다양한 모듈이 집적되어 있는 SOC의 특성상 다수의 클럭신호가 외부에서 칩 내로 유입되거나 분기회로에 의해 발생된다. 그리고, 반도체 칩의 테스트를 위한 스캔클럭 및 리셋신호와 같은 높은 팬아웃 네트에 이르기까지 클럭트리 합성의 대상은 점점 늘어나고 있는 추세이다. 그런데, 상용의 클럭트리 합성이 아직까지 다중 클럭소스를 동시에 처리할 수 없으므로, 이들 클럭신호가 게이팅 셀이나 멀티플렉서를 거쳐 만나게 될 경우 설계자는 클럭트리 합성을 할 적절한 도메인과 순서를 설정해 주어야 한다.
(클럭 네트워크 분석기술)
게이티드 클럭이나 다중 클럭소스에 대한 정확한 클럭트리 합성을 행하기 위해서는 클럭트리 합성을 행하려고 하는 클럭 네트워크에 대한 분석이 필수적이다. 클럭 네트워크 분석기능은 설정된 클럭의 범위와 다른 클럭간의 관계를 파악함으로써 클럭트리 합성이 곤란한 클럭 체계를 레이아웃 하기 전에 미리 발견하고 클럭트리 합성이 가능한 구조로 바꿀 수 있는 능력을 설계자에게 제공한다. 설계자가 클럭루트를 설정하면 이를 근거로 각 클럭 네트워크에 대한 구조를 구성하고 다시 클럭 도메인간의 상관관계를 추출한다. 클럭 네트워크의 분석은 클럭트리합성(CTS) 제약조건을 조금씩 수정해 가면서 점진적 분석이 가능해야 하므로, 클럭루트의 개수가 많을 경우에 모든 게이트에 대하여 클럭간의 관계를 파악하는 것은 상당한 시간이 소요되어 적절하지 못하다. 빠른 수행속도를 얻기 위해 정적 타이밍 분석(STA)의 작동과 유사한 방식인 논리회로 레벨링(leveling) 및 클럭전달을 기반으로 한 검색방식을 사용한다. 클럭루트에 가상의 클럭 웨이브를 정의하고 전달을 수행한다. 그 결과 클럭 네트워크상의 모든 게이트에는 전달된 클럭에 대한 정보가 수납된다. 도 2는 클럭 사이의 상관관계를 추출하기 위해 클럭전달 방법을 적용한 하나의 예이다. 논리회로 레벨링을 통해 클럭트리 내의 모든 네트의 순서(lev1, lev2, lev3)를 정하고 정해진 순서에 따라 클럭 전달을 수행한다. 그 결과, 게이트(G1)에는 클럭루트(21)와 클럭루트(22)에서 정의된 클럭이 도달되며, 게이트(G2)에는 클럭루트(22)와 클럭루트(23)에서 정의된 클럭이 도달한다.
클럭전달 결과 특정 게이트에 1 개 이상의 클럭이 도달해 있다면 클럭트리 합성(CTS)을 수행할 수 없을 가능성이 있으므로 설계자에게 정보를 제공해 주어야 한다. 클럭간의 상관관계는 클럭 머지(clock merge), 클럭 충돌(clock conflict), 및 클럭 오버랩(clock overlap)으로 분류되어 출력된다. 클럭 머지는 두 개 이상의 클럭신호가 하나의 게이트에서 만나 동일한 경로를 공유하는 경우의 상관관계를 말하고, 클럭 충돌은 하나의 클럭신호가 중간에 분기되어 서로 다른 패스로 진행하다가 다시 하나의 게이트에서 만나는 경우의 상관관계를 말하고, 클럭 오버랩은 하나의 클럭루트가 다른 클럭신호에 의해 구동되는 경우의 상관관계를 말한다.
도 3(a)는 클럭 머지의 하나의 예를 나타낸 도면이고, 도 3(b)는 클럭 충돌의 하나의 예를 나타낸 도면이고, 도 3(c)은 클럭 오버랩의 하나의 예를 나타낸 도면이다. 클럭 머지와 클럭 오버랩은 클럭트리 합성(CTS)의 순서에 따라 다른 결과를 발생시키므로, 반드시 설계자가 클럭트리 합성(CTS)의 수행순서를 설정해 주어야 한다. 클럭 충돌의 경우 클럭트리 합성(CTS)의 알고리듬이 어떤 것을 기준으로 스큐를 최소화할지 알 수 없으므로, 설계자의 가이드가 없다면 클럭트리 합성(CTS)의 진행 중에 수행 에러가 발생할 수 있다.
클럭트리는 하위 레벨에서 시작하여 상위 레벨 방향으로 구현되므로, 클럭 오버랩이 발생할 경우 하위의 클럭 루트부터 클럭트리 합성(CTS)이 수행되어야 상위 클럭트리 합성(CTS)을 할 때 해당하는 핀의 정보를 이용할 수 있다. 이러한 관계를 이용하여 전체 클럭루트를 대상으로 순서를 정한 후 그 결과를 순서 리스트 형태로 출력한다. 도 4는 클럭트리 합성(CTS)의 수행 순서 리스트 생성의 하나의 실시예를 나타낸 도면이다. 9 개의 클럭 도메인 사이에서 추출된 11 개의 클럭 오버랩 포인트를 입력으로 상관관계 그래프를 생성한 후 상위에서 하위 방식으로 탐색하면서 수행순서를 할당한다. 클럭트리 합성(CTS)은 레벨 3에서 레벨 0의 순서로 수행하며 동일 레벨에서는 수행순서가 없다.
클럭트리 합성(CTS)의 측면에서 클럭 네트워크의 단말 핀들은 클럭트리 합성(CTS)을 수행할 때, 클럭 스큐 최소화의 고려대상이 되는 싱크(sync) 핀과 클럭트리 합성(CTS)을 수행할 때 무시되는 무시(ignore) 핀으로 나누어진다. 또한, 이들 싱크(sync) 핀과 무시(ignore) 핀은 지정된 성격에 따라 각각 임플리싯(implicit) 핀과 유저(user) 핀으로 분류되는데, 이들을 CTS 제약조건이라 한다. 임플리싯 핀은 레이아웃의 CTS 모듈이 기본적으로 인식하는 핀으로서, 플립플롭의 클럭 핀이나 래치의 콘트롤 핀 등이 이에 해당한다. 유저 핀은 게이티드 핀 중에서 설계자의 필요에 따라 강제로 설정한 싱크(sync) 핀과 무시(ignore) 핀이다. 클럭 분석을 한 후 클럭 충돌, 클럭 머지, 또는 클럭 오버랩 문제가 발생할 경우 올바른 클럭트리 합성(CTS)을 위해 설계자가 유저 동기 핀 또는 유저 무시 핀을 설정할 수 있다. 동기 핀과 무시 핀이 새로 설정되면 클럭의 경계가 바뀌므로 클럭의 분석을 다시 수행해야 한다. 모든 클럭간의 문제가 해결될 때까지 분석과 핀 설정 작업을 반복할 수 있는데, 수정이 발생한 곳만 점진적으로 분석하므로 반복 수행에 의한 부담은 적다. 마지막 핀의 설정 결과는 레이아웃의 CTS 모듈의 제약조건으로 변환되어 넘어가 올바른 클럭트리 합성(CTS)이 수행되도록 한다.
(CTC를 사용한 레이아웃 전 단계 CTS 예측)
클럭트리 셀(Clock Tree Cell; CTC)은 레이아웃 단계의 CTS 효과를 레이아웃 전 단계에서 미리 반영하기 위해 모델링된 가상의 셀이다. 따라서, 물리적인 모습이 존재하지 않으며 네트리스트에 삽입될 수도 없다. 하지만, 명령어를 사용하여 기존 네트리스트의 클럭루트에 할당하면 마치 해당 셀이 연결되어 있는 것처럼 동작한다. 클럭트리 셀(CTC)를 사용함으로써 레이아웃 단계에 들어가기 전에 개략적인 클럭트리의 타이밍 효과, 소비전력, 및 버퍼의 삽입으로 인해 추가된 면적에 대한 정보를 얻을 수 있다.
클럭트리 합성(CTS)의 효과를 모델링하기 위해 다양한 예제 설계를 사용하여 클럭트리 합성(CTS)을 수행하고 그 결과를 바탕으로 대표 값을 선정하는 통계적인 방법을 사용한다. 클럭트리 합성(CTS)의 결과로부터 추출하는 데이터는 클럭스큐, 최소 삽입 지연시간, 트리의 단말에서의 평균 변이시간, 평균로딩 정전용량, 클럭트리 합성(CTS)에 의한 평균 소비전력, 및 삽입된 버퍼크기의 합으로 계산된 평균 면적확장 값 등이다. 이들 데이터는 클럭트리 셀(CTC) 내부에 포함되어 나중에 지연시간을 계산할 때 사용된다. 클럭트리 합성(CTS)의 특성을 결정하는 가장 기본적인 사항은 클럭 네트워크의 팬아웃과 게이트의 수이다. 팬아웃의 수는 네트워크의 단말단에 달려 있는 플립플롭의 수를 의미하며 게이트의 수는 클럭트리 합성(CTS)이 될 면적의 크기이며 플립플롭들이 분산되어 있는 배치영역의 경계를 의미한다. 모델링의 정확도를 높이기 위해 가능한 한 넓은 범위에서 다양한 예제를 확보한다. 기존의 레이아웃 데이터를 통계처리해서 모델링에 의한 데이터 값의 하위 값과 상위 값을 설정한 후 약 50 개의 예제 설계를 생성하였다. 도 5는 예제 설계의 클럭트리 합성(CTS)의 팬아웃과 게이트의 수에 따른 삽입 지연시간 분포도이다. 도 5에는 예제 설계들 각각의 클럭트리 합성(CTS) 결과에서 삽입 지연시간만 추출하여 표시하고 유사한 값끼리 그룹을 만든 예이다. 나머지 데이터에 대해서도 동일한 방법으로 실험을 행한다. 이 실험을 바탕으로 각각의 그룹 영역을 하나의 셀(CTC)로 만든다. 도 6은 클럭트리 셀(CTC) 선택표의 하나의 예를 나타내는 도면이다. 설계자는 도 6에 도시된 클럭트리 셀(CTC) 선택표를 참고하여 적절한 클럭트리 셀(CTC)을 선택한다.
레이아웃 전 단계에서 지연시간을 계산할 때, 클럭네트는 높은 팬아웃 네트이므로 상당히 큰 지연시간 값이 출력된다. 하지만, 이런 경우는 실제로 발생하지 않는데, 그 이유는 레이아웃시 클럭트리 합성(CTS) 단계에서 삽입된 버퍼에 의해 작은 팬아웃 네트로 변하기 때문이다. 이러한 클럭트리 합성(CTS)효과를 고려하려면 레이아웃 전 단계에서 지연시간을 계산할 때 클럭트리 셀(CTC)이 할당되어 있는 경우 해당 패스의 지연시간을 클럭트리 셀(CTC) 내부에 모델링된 삽입 지연시간의 값으로 대체하도록 처리하면 된다. 그런데, 클럭트리 셀(CTC)은 가상 셀이므로 출력되는 지연시간 파일에 나타낼 수 없다. 따라서, 클럭루트에 직접 연결된 셀의 핀에 클럭트리 셀(CTC)의 지연시간을 넣고, 나머지 패스 지연시간을 제로(0)로 설정한다. 도 7은 지연시간을 계산할 때 CTC의 효과를 설명하기 위한 도면이다. 도 7에서, 모든 플립플롭까지의 패스 지연시간은 게이트(72)까지의 지연시간에 의해 대표된다. 이와 같이 처리된 지연시간 파일을 입력으로 해서 시뮬레이션을 수행할 경우 기존의 이상적인 클럭으로 취급하는 경우와 비교해서 레이아웃 후에 매우 근접한 검증이 가능하다. 소비전력과 면적 예측시에도 클럭트리 셀(CTC)에 모델링 되어 있는 값을 사용하여 클럭트리 합성(CTS)으로 인해 추가로 발생될 수 있는 소비전력 및 면적의 증가치를 각각 리포트(report)한다.
레이아웃 전 단계의 정확한 예측을 위한 선행조건은 설계자가 클럭 네트워크마다 적절한 클럭트리 셀(CTC)을 선택하는 일이다. 그런데, 클럭 체계가 점점 복잡해짐에 따라 클럭 경계가 명확하지 않아서 클럭트리 셀(CTC)의 선택을 위해 반드시 필요한 팬아웃과 게이트의 수를 알기 어렵다. 따라서, 본 발명에서는 네트리스트를 분석하고 이 과정을 자동화하는 기능을 구현하였다. 게이트의 수는 클럭루트와 말단 셀을 동시에 포함하는 공통 계층 셀의 면적에서, 팬아웃의 수는 크럭루트에서 말단 셀까지의 팬아웃 트리를 생성하여 구한다. 이를 근거로 클럭트리 셀(CTC) 선택표의 영역 내에서 가장 일치하는 클럭트리 셀(CTC)을 찾는다. 만일, 선택표의 영역 밖에 있다면 가장 근접한 4 개의 클럭트리 셀(CTC)을 찾아 추정예측 방법으로 커스텀 클럭트리 셀(custom CTC)을 생성한다.
(새로운 CTS 설계 플로우)
상술한 방법들을 집적하여 새로운 레이아웃 전 단계의 클럭트리 합성(CTS) 관련 플로우를 도 8에 도시된 바와 같이 구성하였다. 먼저 설계자는 클럭루트를 지정하고 클럭 네트워크 분석을 수행한다(S1 내지 S3). 분석결과 발견된 클럭트리 합성(CTS)의 문제는 유저 싱크(user sync)와 유저 무시(user ignore) 핀을 설정하고 다시 분석을 수행하는 방식으로 해결한다(S4 및 S5). 자동 클럭트리 셀(CTC) 삽입 단계에서 앞에서 설정한 클럭 도메인을 근거로 적절한 클럭트리 셀(CTC)을 선택하고, 이것을 클럭루트에 할당한다(S6). 할당된 클럭트리 셀(CTC)을 사용하여 지연시간 계산이 수행되며(S7) 그 결과는 레이아웃 전 단계의 타이밍 검증에서 검증된다(S8). 검증결과 이상이 없다면 CTS 정보 파일 및 CTS 제약조건을 출력하여 레이아웃으로 전달한 후 클럭트리 합성(CTS)이 수행된다(S9 및 S10). 논리회로 설계자가 설정한 각종 동기 핀들과 무시 핀들이 CTS 제약조건 파일 안에 동일하게 기술되어 논리적 설계단계와 물리적 설계단계의 클럭트리 합성(CTS)의 결과가 일치함을 보장한다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
상술한 바와 같이, 본 발명에 따른 클럭트리 합성방법에 의해 게이티드 클럭 또는 다중 클럭 소스가 존재할 경우에도 클럭트리의 합성이 가능하다. 또한 본 발명에 따른 클럭트리 합성효과의 예측방법에 의해 레이아웃 전 단계에서 미리 클럭트리 합성 결과에 대한 정보를 얻을 수 있다.
Claims (6)
- 게이티드 클럭 또는 다중 클럭 소스가 존재할 경우에, 이들을 고려하여 클럭간 상관관계를 분석함으로써 클럭트리의 합성이 곤란한 클럭 체계를 레이아웃하기 전에 미리 발견하고 클럭트리의 합성이 가능한 구조로 바꾸어 클럭트리의 합성을 수행하는 것을 특징으로 하는 클럭트리 합성방법.
- 제 1 항에 있어서, 상기 클럭간 상관관계는클럭 머지, 클럭 충돌, 및 클럭 오버랩을 포함하는 것을 특징으로 하는 클럭트리 합성방법.
- 모델링된 가상의 클럭트리 셀을 이용하여 레이아웃 전 단계에서 미리 클럭트리의 타이밍 효과, 소비전력, 및 버퍼 삽입으로 인한 칩상의 면적 증가에 대한 정보를 얻을 수 있는 것을 특징으로 하는 클럭트리 합성효과의 예측 방법.
- 제 3 항에 있어서, 상기 가상의 클럭트리 셀은다양한 예제 설계를 사용하여 클럭트리 합성을 수행하고 그 결과 데이터로부터 대푯값을 선정하는 통계적 방법을 사용하여 모델링 되는 것을 특징으로 하는 클럭트리 합성효과의 예측 방법.
- 제 4 항에 있어서,상기 결과 데이터로부터 추출되는 데이터는 클럭스큐, 최소 삽입 지연시간, 트리 단말에서의 평균 변이시간, 평균 로딩 정전용량, 클럭트리 합성에 의한 평균 소비전력, 및 삽입된 버퍼에 기인한 평균 면적확장값인 것을 특징으로 하는 클럭트리 합성효과의 예측 방법.
- 클럭루트를 지정하고 클럭네트를 분석하는 제 1 단계;상기 제 1 단계에서 클럭루트를 분석한 결과 클럭트리 합성에 문제가 있으면 유저 동기 핀과 유저 무시 핀을 설정하고 다시 클럭네트를 분석하고, 상기 제 1 단계에서 클럭루트를 분석한 결과 클럭트리 합성에 문제가 없으면 자동 클럭트리 셀을 삽입하는 제 2 단계;상기 제 2 단계에서 삽입된 상기 클럭트리 셀을 사용하여 지연시간을 계산하는 제 3 단계;상기 제 3 단계에서 계산된 결과를 가지고 레이아웃 전 단계에서 타이밍을 검증하는 제 4 단계;상기 제 4 단계에서 검증한 결과 이상이 없으면 클럭트리 합성의 정보파일을 출력하는 제 5 단계; 및레이아웃에서 클럭트리 합성이 수행되는 제 6 단계를 구비하는 것을 특징으로 하는 클럭트리 합성방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020074131A KR20040046284A (ko) | 2002-11-26 | 2002-11-26 | 클럭트리 합성방법 및 클럭트리 합성효과의 예측방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020074131A KR20040046284A (ko) | 2002-11-26 | 2002-11-26 | 클럭트리 합성방법 및 클럭트리 합성효과의 예측방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20040046284A true KR20040046284A (ko) | 2004-06-05 |
Family
ID=37341856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020074131A KR20040046284A (ko) | 2002-11-26 | 2002-11-26 | 클럭트리 합성방법 및 클럭트리 합성효과의 예측방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20040046284A (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10140412B2 (en) | 2014-10-22 | 2018-11-27 | Samsung Electronics Co., Ltd. | Timing matching method of timing analyzer and method of designing integrated circuit using the same |
US11042678B2 (en) | 2019-06-19 | 2021-06-22 | Samsung Electronics Co., Ltd. | Clock gate latency modeling based on analytical frameworks |
CN117744573A (zh) * | 2023-12-08 | 2024-03-22 | 沐曦科技(成都)有限公司 | 时钟树平衡方法 |
-
2002
- 2002-11-26 KR KR1020020074131A patent/KR20040046284A/ko not_active Application Discontinuation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10140412B2 (en) | 2014-10-22 | 2018-11-27 | Samsung Electronics Co., Ltd. | Timing matching method of timing analyzer and method of designing integrated circuit using the same |
US11042678B2 (en) | 2019-06-19 | 2021-06-22 | Samsung Electronics Co., Ltd. | Clock gate latency modeling based on analytical frameworks |
CN117744573A (zh) * | 2023-12-08 | 2024-03-22 | 沐曦科技(成都)有限公司 | 时钟树平衡方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8572532B1 (en) | Common path pessimism removal for hierarchical timing analysis | |
US8051399B2 (en) | IC design flow incorporating optimal assumptions of power supply voltage drops at cells when performing timing analysis | |
US7117143B2 (en) | Clock distribution in a circuit emulator | |
US8887110B1 (en) | Methods for designing intergrated circuits with automatically synthesized clock distribution networks | |
US7882461B2 (en) | Method for optimized automatic clock gating | |
US6799308B2 (en) | Timing analysis of latch-controlled digital circuits with detailed clock skew analysis | |
US10467365B1 (en) | Systems and methods for calculating common clock path pessimism for hierarchical timing analysis in an electronic design | |
US6782520B1 (en) | IC layout system having separate trial and detailed routing phases | |
Hung et al. | Challenges in large FPGA-based logic emulation systems | |
US20070220468A1 (en) | Method and Apparatus for Converting Globally Clock-Gated Circuits to Locally Clock-Gated Circuits | |
CN106096070B (zh) | 使用去填充和再填充操作来实现集成电路设计 | |
Ozdal et al. | Algorithms for gate sizing and device parameter selection for high-performance designs | |
US9298872B2 (en) | Apportioning synthesis effort for better timing closure | |
US6763513B1 (en) | Clock tree synthesizer for balancing reconvergent and crossover clock trees | |
US20050268268A1 (en) | Methods and systems for structured ASIC electronic design automation | |
US20100253409A1 (en) | Clock generation system and clock dividing module | |
US6640330B1 (en) | System and method for setup and hold characterization in integrated circuit cells | |
US9449127B1 (en) | System for verifying timing constraints of IC design | |
Geralla et al. | Optimization of physically-aware synthesis for digital implementation flow | |
KR20040046284A (ko) | 클럭트리 합성방법 및 클럭트리 합성효과의 예측방법 | |
JP4053969B2 (ja) | 半導体集積回路の設計装置および半導体集積回路の設計方法 | |
US12073159B2 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
Semba et al. | Conversion from synchronous RTL models to asynchronous RTL models | |
US6434728B1 (en) | Activation path simulation equipment and activation path simulation method | |
Bommu et al. | Retiming-based factorization for sequential logic optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |