KR19980035668A - 버퍼 교체를 통한 클럭 스큐의 최소화 시스템 및 그에 따른 클럭 스큐의 최소화 방법 - Google Patents

버퍼 교체를 통한 클럭 스큐의 최소화 시스템 및 그에 따른 클럭 스큐의 최소화 방법 Download PDF

Info

Publication number
KR19980035668A
KR19980035668A KR1019960054078A KR19960054078A KR19980035668A KR 19980035668 A KR19980035668 A KR 19980035668A KR 1019960054078 A KR1019960054078 A KR 1019960054078A KR 19960054078 A KR19960054078 A KR 19960054078A KR 19980035668 A KR19980035668 A KR 19980035668A
Authority
KR
South Korea
Prior art keywords
clock
clock skew
cell
layout
skew
Prior art date
Application number
KR1019960054078A
Other languages
English (en)
Other versions
KR100219566B1 (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 KR1019960054078A priority Critical patent/KR100219566B1/ko
Publication of KR19980035668A publication Critical patent/KR19980035668A/ko
Application granted granted Critical
Publication of KR100219566B1 publication Critical patent/KR100219566B1/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • H03K19/00323Delay compensation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

본 발명에 따른 정확한 타이밍 계산과 버퍼 교체를 통한 클럭 스큐의 최소화 방법이 개시된다.
클럭 트리가 포함된 레이 아웃으로부터 네트 리스트 파일과 실제 칩상의 셀 배치정보(GDS Ⅱ) 파일을 출력하는 단계;, 상기 출력된 네트 리스트 파일을 SPICE 파일로 변환하는 단계;, 상기 변환된 SPICE 파일정보와 상기 실제 칩상의 셀 배치정보(GDS Ⅱ)를 비교하여 실제 공정상에 적합한 레이아웃을 작성하는 단계; 상기 작성된 레이아웃의 구성요소를 플래튼시키는 단계; 및 상기 플래튼된 레이아웃의 클럭 트리에서 클럭 스큐를 분석한 후에, 버퍼 교체를 통해 클럭 스큐를 제로화시키는 단계를 포함한다.
따라서, 상술한 바와 같이 본 발명에 따른 정확한 타이밍 계산과 버퍼 교체를 통한 클럭 스큐의 최소화 방법에 의하면, 클럭 스큐를 최소화하여 회로의 오동작률을 줄임으로써, 칩의 불량률을 감소시키는 효과를 갖는다.

Description

버퍼 교체를 통한 클럭 스큐의 최소화 시스템 및 그에 따른 클럭스큐의 최소화 방법.
본 발명은 고속 디지털 회로에서 클럭 스큐의 최소화 시스템 및 그에 따른 클럭 스큐의 최소화방법에 관한 것으로서, 더욱 상세하게는 정확한 타이밍 계산과 버퍼 교체를 통한 클럭 스큐의 최소화 시스템 및 클럭 스큐의 최소화방법에 관한 것이다.
고속 디지털 회로에서, 클럭속도가 증가함에 따라 동일한 지연 클럭이 인가되어야 할 소정의 회로가 정상적인 동작을 수행하기 위해서는 클럭 스큐가 중요한 요소가 된다. 클럭 스큐(clock skew)란, 클럭원에서부터 동일한 지연 클럭이 사용될 적어도 한 개 이상의 터미널까지로 형성되는 적어도 한 개 이상의 클러 트리들의 위상 지연시간의 차이에 의해 발생되는 동기간의 오차를 말한다.
초고속 디지털 회로에서 클럭 스큐와 위상 지연시간 즉, 클럭원에서 터미널까지의 위상 지연시간은 원하는 주파수에서 지연 클럭의 제어를 받는 회로가 올바른 동작을 할 수 있도록 매우 작은 허용범위내에서 제어되어야 한다.
클럭 스큐를 최소화하기 위한 종래의 기술은 셀을 연결하기 위한 배선의 폭과 길이를 조정하는 방법에 의존하고 있다. 그러나 이러한 방법은 와이어링 캐페시터 성분의 증가를 가져오고 금속 와이어링 프로세서의 변화가 커지게 되어 클럭 스큐를 제어하기 어렵게 된다. 또한, 디지털 회로에서 클럭은 다이나믹 전력 소모의 주요한 원천이므로 와이어링 캐페시터 성분의 증가는 전력 소모를 증가시키는 원인이 된다.
한편, 클럭신호의 엣지 비율(기울기)은 회로의 동작에 중요한 영향을 미치는데, 와이어링 캐페시터 성분의 증가는 클럭신호와 엣지 비율를 증가시켜 회로의 오동작을 초래할 수 있다. 이러한 문제점을 해결하기 위해 최근에는 클럭 트리상에 중간 버퍼를 삽입하여 와이어링 캐페시터 성분의 증가를 막으면서 클럭 스큐를 최소화하는 클럭 트리 합성방법이 이용되고 있다. 그러나 이 방법을 이용하기 위해서는 정확한 클럭 스큐 분석이 필요하며, 정확한 클럭 스큐의 분석을 위해서는 와이어링 상의 정확한 RC 파라메터 추출과 그 RC 파라메터의 타이밍 계산이 선행되어야 한다. 즉, 와이어링 캐페시터 성분의 정확한 추출을 위해서는 각 층간의 3차원 구조를 고려하여 오버랩 캐페시터 성분, 측 캐페시터 성분(Lateral capacitance) 및 프랜지 캐패시터 성분(fringe capacitance) 등을 추출해야 한다. 또한 저항 성분을 추출하기 위해서는 콘텍홀, 비아(via) 등의 각 요소에 따라 각각 다르게 추출되어야 하며, 전류 흐름을 고려한 정확한 추출이 이루어져야 한다. 이와 같은 정확한 RC 파라메터 추출을 전제로 신호의 파형을 고려하여 회로의 입력에서 출력까지 신호의 파형을 전파하여, 각 클럭 트리의 정확한 타이밍 계산이 이루어져야 한다.
그러나, 현재 사용하고 있는 레이아웃 배치 툴인 place routing 툴( 이하 P R 툴이라 한다.)에서의 클럭 트리 합성기는 배선에 대해 대강의 RC 성분을 계산을 하면서 자동 레이아웃이 생성된다. 따라서, 정확한 RC 파라메터의 추출을 수행할 수 없으며, 입력 클럭신호의 기울기를 고려한 정확한 지연시간 계산을 수행하지 못한다. 따라서, 정확한 RC 파라메터 추출과 지연시간의 계산을 통해, P R 툴의 클럭 트리 합성기에서 구성된 클럭 트리에서 발생되는 클럭 스큐를 최소화하는 과정이 요구된다. 다만, 레이아웃 재설계에 소요되는 시간을 줄이기 위해 이미 제작된 회로의 레이아웃을 변화시키지 않으면서 버퍼 교체를 통해 클럭 스큐를 최소화하는 시스템이 요구된다.
본 발명은 상술한 요구에 부응하기 위해 창출된 것으로서, 버퍼용 셀(이하 셀)의 구동능력만 다르게 하고, 입력 캐페시턴스 성분, 레이아웃상의 셀 모양 등은 동일하게 하여 레이아웃 재배치에 영향을 주지 않으면서, 와이어링의 정확한 RC 파라메터를 추출하고, 추출된 파라메터에 대해 근사파형을 예측하는 알고리즘을 이용하여 계산된 타이밍을 기초하여 지연시간을 맞추면서, 소정의 버퍼를 교체함으로써, 클럭 스큐를 최소화시키는 클럭 스큐 최소화 시스템을 제공하는 것을 그 목적으로 하고, 그에 따른 클럭 스큐 최소화 방법을 제공하는 것을 다른 목적으로 한다.
도 1은 본 발명에 따른 클럭 스큐를 최소화하기 위한 클럭 스큐 최소화 시스템의 구성을 설명하기 위한 도면이다.
도 2는 본 발명에 의한 CSM를 실행시키기 위한 초기화면을 나타낸 도면이다.
도 3은 본 발명에 따른 CSM에서 클럭 스큐를 최소화시키는 방법을 설명하기 위한 흐름도이다.
도 4는 도 3에 도시된 본 발명에 따른 클럭 스큐제로화(SQZERO) 수행단계를 상세히 설명하기 위한 도면이다.
도 5는 소정의 셀과 셀에 인가되는 전압원과 RC 성분의 부하를 모델링한 회로를 나타낸 도면이다.
도 6은 AWE 알고리즘을 이용하여 지연시간을 계산하기 위한 도 5에 도시된 회로의 등가 모델을 나타낸 도면이다.
도 7은 본 발명에 의한 슬랙 계산의 일례를 설명하기 위한 도면이다.
도 8은 도 7에 도시된 슬랙 계산 방법을 설명하기 위한 도면이다.
상기의 목적을 달성하기 위한 본 발명에 따른 클럭의 스큐를 최소화하기 위한 시스템은 자동 레이아웃 구성 수단; 상기 자동 레이아웃 구성 수단에 의해 생성된 네트 리스트를 SPICE 파일로 변환하는 네트 리스트 변환수단; 상기 네트 리스트 변환수단에 의해 변환된 클럭 네트의 RC 파라메터를 추출하는 vericheck수단; 및 상기 vericheck수단에 의해 추출된 RC 파라메터와 버퍼들로 구성된 소정 경로의 정확한 클럭 스큐를 분석 후에, 클럭 스큐를 최소화시키 위한 버퍼를 교체하는 클럭 스큐 제로화 수단(SQZERO)를 포함하는 것을 특징으로 한다.
본 발명에 의한, 상기 클럭 스큐 최소화 시스템은 구이(GUI)환경으로 구현하여 필요한 입출력 파일만을 지정함으로써 상기 각 수단의 기능이 수행됨을 특징으로 한다.
본 발명에 있어서, 상기 vericheck 수단은 실제 반도체 칩상의 레이아웃된 셀과 심볼로 표시된 셀의 배치관계를 비교하는 단계; 상기 비교단계에 의한 정확한 배치관계에 따라, RC 파라메터를 추출하려는 net의 레이아웃을 플래튼(flatten)시키는 단계; 및 상기 플레튼시킨 네트에서 RC를 추출하는 단계를 포함하는 것을 특징으로 한다.
상기의 다른 목적을 달성하기 위한 본 발명에 따른 클럭의 스큐를 최소화 방법은 클럭 트리가 포함된 레이 아웃으로부터 네트 리스트 파일과 실제 칩상의 셀 배치정보(GDS Ⅱ) 파일을 출력하는 단계; 상기 출력된 네트 리스트 파일을 SPICE 파일로 변환하는 단계; 상기 변환된 SPICE 파일정보와 상기 실제 칩상의 셀 배치정보(GDS Ⅱ)를 비교하여 실제 공정상에 적합한 레이아웃을 작성하는 단계; 상기 작성된 레이아웃의 구성요소를 플래튼시키는 단계; 및 상기 플래튼된 레이아웃의 클럭 트리에서 클럭 스큐를 분석한 후에, 버퍼 교체를 통해 클럭 스큐를 제로화시키는 단계를 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 클럭 스큐 제로화 단계는 배선을 포함한 셀의 지연시간을 산출하는 단계; 상기 지연시간이 산출된 셀을 포함한 모든 클럭 트리의 슬랙을 추출하는 단계; 상기 추출된 슬랙만큼의 지연시간에 적합하도록 교체된 셀을 통해 출력되는 신호의 기울기를 조사하는 단계; 및 상기 조사된 출력신호의 기울기가 정상적일 때, 최종의 교체 셀의 정보를 전송하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 배선을 포함한 셀의 지연시간을 산출하는 단계는 RC 등가 모델을 이용하여에 의해 산출되는 2-D 테이블을 이용함을 특징으로 한다.
본 발명에 있어서, 상기 슬랙을 추출하는 단계는 클럭원으로부터 각 경로의 터미널까지의 팬아웃 지연시간을 구하는 단계;와 원하는 지연시간과 상기 단계에서 구해진 각 경로의 지연시간의 차이를 계산하여 교체될 셀을 지정하는 단계를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명을 보다 상세히 설명한다.
도 1은 본 발명에 따른 클럭 스큐를 최소화하기 위한 클럭 스큐 최소화 시스템의 구성을 설명하기 위한 도면으로서, 참조부호 10은 자동 레이아웃 구성 수단을. 참조부호 12는 자동 레이아웃 구성 수단(10)에 의해 배치된 기본 레이아웃에서 클럭 스큐를 최소화 하기 위한 클럭 스큐 최소화 수단(Clock Skew Minimizer ; 이하 CSM이라 한다.)을 각각 나타낸다. 여기서, 자동 레이아웃 구성 수단(10)은 ArcCell-BV , ArcCell-XO , Gate 앙상블(Ensemble), Cell3 앙상블(Ensemble)을 이용한다. 클럭 스큐 최소화 수단(12)은 자동 레이 아웃 구성 수단(10)에 의해 기능으로 구성된 클럭 트리에 대하여 클럭 스큐를 최소화하는 기능을 수행하는데, 자동 레이아웃 구성 수단(10)에 의해 생성된 네트 리스트를 SPICE 파일로 변환하는 네트 리스트 변환수단(120), 네트 리스트 변환 수단(120)에 의해 변환된 SPICE 파일에서 클럭 네트의 RC 파라메터를 추출하는 vericheck수단(122) 및 정확한 클럭 스큐분석과 이에 따른 클럭 스큐 최소화하는 클럭 스큐 제로화 수단(SQZERO)(124)으로 이루어진다.
종래에는 상술한 바와 같이 여러 종류의 툴을 사용해야 함으로 설계자가 개별적으로 각 툴을 수행시키므로, 각 툴간에 주고 받는 데이터의 종류를 인식하고 직접 지정해야하기 때문에 그 선택과정에서 문제가 발생할 수 있다. 따라서 본 발명에서는 종래의 기술에서 발생될 수 있는 문제를 최소화시키기 위해서, 인터페이스 환경으로 구현한다. 즉, 단순한 구이(GUI)환경으로 구현함으로써 설계자가 각 툴을 수행하기 위한 명령이나 옵션을 몰라도 구이(GUI)의 데이터 입력판넬에서 필요한 입출력 파일만을 지정하기만 하면 다음 단계를 수행할 수 있도록 구성한다.
도 2는 본 발명에 의한 CSM를 실행시키기 위한 초기화면을 나타낸 도면으로서, CSM을 수행시키기 위한 명령을 인가하면, 도 2에 도시된 바와 같은 콘솔 윈도우가 나타난다. 설계자는 메뉴바에 있는 각 명령을 Netlist, VerCheck, SQZERO, Update 순서로 실행시키면 최종적으로 클럭 스큐를 최소화하기 위한 버퍼 셀 변환 정보가 담긴 결과를 얻게 된다.
도 3은 본 발명에 따른 CSM에서 클럭 스큐를 최소화시키는 방법을 설명하기 위한 흐름도이다.
자동 레이아웃 수단(10)에 의해 생성된 클럭 트리의 레이 아웃으로부터 Netlist 파일과 GDS Ⅱ 파일을 출력한다.(300단계) 여기서, ArcCell-BV , ArcCell-XO에서는 verilog 파일을 출력하고, Gate Ensemble , Cell3 Ensemble 에서는 DEF 파일을 출력한다. GDS Ⅱ 파일은 이진수로 표시된 좌표값인 실제 반도체상에서의 칩의 레이아웃에 관한 정보 파일이다.
Netlist 파일을 SPICE 파일로 변환한다.(302단계) 여기서, 지정된 클럭원으로부터 터미널까지의 만들어진 클럭 트리의 구성인 clock net name file을 추출한다. 이 clock net name file은 VeriCheck 의 Flatnet 단계에서 사용된다.
VeriCheck LVS를 수행한다.(306단계) 여기서, LVS(Layout versus Schematic)는 SPICE 파일로 변환된 Netlist 파일의 정보를 자동으로 인식하여 수행된다. 즉, 실제 레이아웃 상의 셀과 심볼로 표시된 셀의 배치관계가 옳은지를 판단한다. 이 때,LVS 수행에 필요한 Run set file 은 설계자가 공정이나 레이아웃에 적합하게 작성하여 지정해야 한다.
VeriCheck Flatnet를 수행한다.(308단계) 여기서, RC 의 파라메터를 추출하려는 net의 레이아웃을 플래튼(flatten)시키는 단계로서, 추출대상의 net 정보는 302단계에서 만들어지며, 추출하려는 클럭 트리원은 여러개를 동시에 지정할 수 도 있다.
VeriCheck RCE를 수행한다.(310단계) 여기서, RCE(resistance capacitance extraction)은 flatnet을 통해 플래튼된 net의 RC를 추출한다. LVS에서와 같이 공정에 적합한 RCE 용 run set file을 지정해야 한다. RCE의결과로써, run set file에서 지정한 이름으로 RC SPICE file 이 만들어진다.
SQZERO를 수행한다.(312단계) 여기서, SQZERO는 VeriCheck Flatnet 단계(308단계)에서 만들어진 인덱스 파일과 REC 수행단계(310단계)에서 만들어진 RC SPICE 파일을 입력으로하여 클럭의 지연과 스큐를 분석하여 출력파일을 만들고, 클럭 스큐를 최소화하기 위한 클럭 버퍼 셀의 교체 정보를 출력한다.
자동 레이아웃 툴의 레이아웃 데이터를 업데이트하기 위해 CSM의 업데이트 명령을 실행한다.(314단계) 여기서 업데이트는 스큐를 제로화하기 위한 버퍼셀의 교체정보 파일을 입력받아 ArcCell-BV , ArcCell-XO에는 도형 기능 파일로 변환시키고, Gate Ensemble , Cell3 Ensemble 에는 DEF 파일로 변환시킨다.
자동 레이아웃 툴에서 업데이트 결과 파일을 로드한다.(316단계)
이와 같은 흐름을 설계자가 개별적으로 수행하려면 각 툴 간에 주고 받는 데이터 파일을 일일이 지정해야 하지만 본 발명에 따른 CSM 환경에서는 그와 같은 툴간의 데이터 인터페이스를 자동으로 지정해 둠으로써 설계시간의 단축을 얻을 수 있다.
도 4는 도 3에 도시된 본 발명에 따른 스큐제로화(SQZERO) 단계를 상세히 설명하기 위한 도면이다.
도 3에 도시된 배선의 RC성분과 버퍼 셀의 연결정보를 입력하여 배선을 포함한 셀의 지연시간을 산출한다.(40단계) 즉, AWE(Asymptotic Waveform Evaluation ; 근사적 파형 추측) 알고리즘을 이용하여 소정 터미널까지의 RC 파라메터를 포함한 셀들의 지연시간을 계산한다. 설계공정의 고미세화 추세는 트랜지스터 셀의 크기와 셀간의 배선 폭을 지속적으로 감소시켜서 셀의 지연시간의 감소를 가져오며, 이에 반해 배선 지연시간의 상대적인 증가를 가져온다. 따라서, 배선의 지연시간을 정확하게 분석하는 작업은 매우 중요하다. 종래에는 배선의 지연시간을 계산하기 위해, Elmore 계산법과 Penfield-Rubinstein 방법이 사용되는데, 이는 회로의 첫 번째 모우먼트를 이용하여 스텝 입력이 인가될 때 지연시간의 최대 범위와 최소 범위를 구한다. 그러나, 다양한 형태의 클럭 트리에서 배선의 길이가 긴 경우에는 이에 따른 오차가 커지게 된다. 따라서, 최근에는 정확한 지연시간을 계산하기 위해 AWE 알고리즘을 이용하는데, 이는 임의의 선형 RLC 회로에 대하여 차수를 증가시키면서 근사 응답이 정확한 응답에 수렴할 때 까지 계산을 수행하여 응답을 구하는 방법이다.
여기서, AWE 알고리즘을 이용한 지연시간 계산 방법을 살펴보면 다음과 같다.
임의의 선형 RLC 회로에 대해 회로 방정식을 세우면 키르호프(Kirchhoff)의 전압/전류 법칙에 따라 다음의 수학식 1과 같은 매트릭스 방정식으로 표현된다.
여기서,는 모든 독립 전압원과 전류원으로 구성되는 벡터이다.는 회로소자의 연결상태를 나타내는 메트릭스이다.
이와 같이 구한 회로 방정식에 대해 라플라스 변환을 취하고,를 테일러 급수로 전개한면, 다음의 수학식 2와 같이 표현된다.
수학식 2의 양변에서 각의 계수를 비교하면 다음의 수학식 3과 같은 관계식을 얻을 수 있다.
수학식 3과 같은 선형 연립방정식의 해를 차례로 구함으로써, 타임 모우먼트를 구할 수 있다.
회로내의 각 노드 전압에 대한 저차수 q-pole 모텔로부터 다음의 수학식 4와 같이 pole(), 나머지(), 타임 모우먼트()의 관계식을 구한다.
이와 같은 비선형 연립 방정식을 풀어서 극(pole)과 나머지를 구할 수 있다.
이상의 절차에 의하여 q개의 극과 나머지 구하면, 회로의 임펄스 응답은 다음의 수학식 5와 같이 표현된다.
일반적인 전원 파형 즉, 계단함수, 또는 경사함수(ramp function) 등에 대한 응답 또는 이들 함수의 선형 결합형태로 주어진 입력에 대한 응답은 입펄스 응답으로부터 합성할 수 있다.
지연시간의 계산은 응답의 정상값이 5v라 하고,이 정상상태값의 50 % 즉, 2.5 v에 도달하는 시간에서 입력의 2.5 v 도달 시간차이므로,= 2.5 v의 비선형 방정식의 근을 구함으로써 계산할 수 있다. 또한 응답의 기울기(edge rate)는 정상상태값의 10 % 즉, 0.5 v 에 도달하는 시간으로부터 90 % 즉, 4.5 v 에 도달하는 시간이다.
도 5는 소정의 셀과 셀에 인가되는 전압원과 RC 성분의 부하를 모델링한 회로를 나타낸 도면이고, 도 6은 AWE 알고리즘을 이용하여 지연시간을 계산하기 위한 도 5에 도시된 회로의 등가 모델을 나타낸 도면이다.
각 회로의 구동점(driving point)에서 지연시간이 같아지도록 모델링한 등가 캐페시턴스 성분을 effecvive capacitance(이하 Ceff라고 한다.)라고 하고, 이는 도 5에 도시된 C1과 C2의 합성에 의한 초기값으로부터 출발하여 도 6의 구동점에서의 지연시간에 따라 산출한다. 즉, 구동 포인트에서 출력되는 파형의 지연시간(Rdr)이 근사적으로 같아질때까지 Ceff 값을 조절함으로써 최종의 값을 구할 수 있다. 또한, Vramp(t)는 그 때의 전압을 의미한다. 여기서 구해진 Ceff를 이용하여 입력신호의 기울기와 캐패시터 성분에 의해 셀의 지연시간이 구해진 2-D 테이블을 이용해 기존의 셀 지연시간에 슬랙 만큼이 더해진 최적의 셀에 대응되는 버퍼를 선택할 수 있다. 즉 Rdr, Ceff 및 입력신호 기울기간의 관계는 다음의 수학식 6과 같이 표현된다.
여기서,은 입력신호가 90 %에 도달하는 시간을,은 입력신호가 50 %에 도달하는 시간을,은 effective capacitance를 각각 나타낸다.
지연 시간이 산출된 셀에 의해 구성된 클럭 트리의 슬랙을 추출한다.(42단계)
도 7은 본 발명에 의한 스랙 계산의 일례를 설명하기 위한 도면으로서, 참조부호 70 내지 76은 버퍼용 셀을 나타낸다. 셀(74)의 타이밍은 1 ㎱이고, 셀(70), 셀(72)와 셀(75)의 타이밍은 2㎱ 이고, 셀(71), 셀(76)의 타이밍은 3 ㎱이며, 셀(72)의 타이밍은 4 ㎱이다. 타이밍에 있어서 스랙이란 기준 위상 지연시간에 대한 그 경로의 시간지연 오차를 의미한다. 즉, 클럭원에서부터 셀 70, 71, 73에 이르는 클럭의 경로를 제1경로라고 하고 이 경로의 전체 타이밍은 7 ㎱이다. 클럭원에서 셀 70, 71, 74에 이르는 클럭의 경로를 제2경로라고 하고 이 경로의 전체 타이밍은 6 ㎱ 이다. 클럭원에서 셀 70, 72, 75에 이르는 클럭의 경로를 제3경로라고 하고 이 경로의 전체 타이밍은 8 ㎱, 클럭원에서 셀 70, 72, 76에 이르는 클럭의 경로를 제4경로라고 하고 이 경로의 전체 타이밍은 9 ㎱이다.
도 8은 도 7에 도시된 슬랙을 계산하는 방법을 설명하기 위한 도면으로서, 먼저, 클럭원으로부터 각 경로의 터미널까지의 팬아웃 지연시간을 구한다.(80단계) 원하는 지연시간과 80단계에 의해 계산된 각 경로의 지연시간의 차이를 계산한다.(82단계) 여기서, 계산된 지연시간의 차이만큼에 해당되는 지연시간이 스랙이며, 이 스랙에 해당되는 셀을 교체하게 된다. 예를 들어 설명하면, 도 7에 도시된 4가지의 경로에서, 원하는 목표 지연경로가 9 ㎱라고 하면, 먼저 기준 셀에서 동일 계층의 셀의 지연시간이 균형을 이루도록 스랙을 구한다. 즉, 셀(71)를 기준 셀이라고 하면, 셀 73과 셀 74가 균형을 이루기 위해 셀(74)에 1 ㎱의 슬랙을 증감한다. 또한, 셀(72)를 기준하여 셀(76)과 균형을 이루도록 하기 위해 셀(75)에 1 ㎱의 슬랙을 증감한다. 또한, 셀(70)를 기준으로 목표 지연시간 9 ㎱로 맞추기 위해서, 셀(71)에 2 ㎱의 슬랙을 증감한다. 따라서, 교체되어야 할 셀은 셀(71)자리에 5 ㎱의 셀, 셀(74)자리에 2 ㎱의 셀, 셀(75)자리에 4 ㎱의 셀이다.
버퍼셀을 교체한다.(44단계)
교체된 셀로 구성된 새로운 클럭 트리의 출력신호를 조사한다.(46단계)
조사된 기울기가 원하는 기울기 인가를 판단한다.(48단계) 여기서, 만약 원하는 기울기가 조사되지 않으면, 44단계의 버퍼 교체 단계에서 문제가 되는 버퍼를 재교체하게 되고, 설계자가 원하는 기울기가 조사되면, 최종적으로 교체될 셀 정보를 자동 레이아웃 배치 수단에 전송하게 된다.
이상과 같은 방법을 통해 버퍼 교체를 통한 클럭 스큐의 최소화 방법은 , 클럭 트리의 위상 지연시간과 스랙(Slack) 계산을 통해 타이밍 정보를 분석하고 원하는 위상지연에 모든 경로의 지연시간을 일치시키는 방식으로 수행한다. 따라서 최대 지연시간에 맞추어 셀을 교체할 때는 각 경로의 지연시간이 늘어나도록 셀을 교체하고, 최소의 위상 지연시간에 맞추어 셀을 교체할 때는 각 경로의 지연시간이 줄어들도록 셀을 교체한다. 또한, 설계자가 특정 위상 지연시간을 유지하기를 원할 경우에는 그 위상지연시간에 맞추어 최소의 셀 교체를 통해 클럭 스큐를 최소화할 수 있다. 한편, 클럭 트리상의 각 터미널에서의 신호 기울기는 회로의 동작을 위해서 가장 중요한 조건으로써, 최우선적으로 맞추어야한다. 또한, 클럭 트리의 각 터미널에 존재하는 플립플롭의 트리거 형태를 고려하여 위의 기능이 스행되어야하며, 상승, 하강 등 한 클럭 트리에서 트리거의 형태가 혼합되었을 경우에도 최적의 클럭 스큐의 최소화가 이루어져야 한다.
또한, 본 발명에서는 셀 교체를 통한 클럭 스큐의 최소화를 위해서는 셀의 구동 능력에 따라 세밀한 분포를 이루도록 다양한 셀들을 구비한다. 입력신호의 상승시간과 하강 시간이 대칭을 이루도록 설계되어야 한다.
또한, 자동 레이아웃 구성 후에, 레이아웃을 고치지 않는 상태에서 버퍼 교체를 이루기 위해 교체할 수 있는 버퍼들 사이에는 같은 모양을 유지하도록 해야하며, 버퍼 교체 후, 로딩 변화를 팬아웃에 국한시키기 위해 버퍼들의 입력핀 용량을 같게 설계해햐 한다.
표 1은 STD70(0.6μ) 라이브러리의 NID 셀 시리즈를 이용한 간단한 지연시간계산을 통해 셀들의 지연상태를 알아본 결과이다.
XY X1 X2 X3 X4 X6
6 0.552 0.4 0.38 0.296 0.29
12 0.934 0.58 0.51 0.392 0.36
14 1.678 0.94 0.75 0.584 0.48
STD70, NID 사용, X8 이상은 무시, tplh 여기서, X는 셀의 종류를 나타내고, Y는 Ceff를 나타낸다. 물론 간단한 계산이지만 셀의 부하에 따라, 미세한 지연시간을 갖음을 알 수 있다.
따라서, 본 발명에서는 X1, X2, X3, X4, X5, X6, X8, X12, X16 등의 8종의 버퍼를을 개발하여 사용한다. 이들의 입력 캐패시터 성분(cap)과 에어리어(gate count)를 정리해 보면 다음의 표 2와 같다. 즉, 표 2는 X2=1에 대한 다른 셀들의 상대 cap와 area를 나타낸 것이다.
X1 X2 X3 X4 X6 X8 X12 X16
cap 1 1 1 1.5 2 2.5 3 4.5
area 0.7 1 1.3 1.7 2.3 3 4.5 6.5
cap , area는 X2=1 일때의 상대값이들 모든 셀들의 모양을 같게 하면, 구동 용량이 작은 셀들에서는 area의 손실이 너무 크고, 입력 캐페시터 성분도 너무 커지므로 이들을 소그룹으로 나누어 소그룹안에서만 상호 교체가 가능하게 하고 있다,
다음의 표 3은 상술한 바와 같은 원리에 의해 생성될 수 있는 4가지 형태의 소그룹의 분포의 예를 나타낸다. 즉, 교체 가능한 버퍼들의 그룹 분포를 나타낸다.
X1 X2 X3 X4 X6 X8 X12 X16
1 A A A B B B B B
2 C C C C C C D D
3 A A A A C C D D
이어서, 본 발명에 의한 CSM의 성능을 검증하기 위해 5만 게이트급의 MPEG2회로인 BZ1000X을 이용하고, 회로의 최대 클럭 주파수를 27MHZ로하여 실험한 결과를 토대로 그 효과를 입증한다.
다음의 표 4a 내지 표 4c는 277개의 버퍼로 구성된 클럭 네트의 실험결과를 나타낸 것으로서, 저항 30950 개, 캐페시터 45402 개, 버퍼 및 네트 수는 227개이고 플립플롭의 수는 1006개인 클럭 트리에 대한 실험 결과이다.
표 4a에서는 가장 빠른 ctbuf8c 버퍼를 사용하여 구성한 트리에 대해 기존의 최대 위상 지연시간을 목표로 나머지 경로의 지연시간을 늘려가는 방법의 클럭 스큐 최소화를 수행한 결과이다. 이 때. 엣지 비율의 변화는 얻도록 하였다.
이름 최대 스큐 최대위상지연 최대 엣지비율 교체된 버퍼수 버퍼종류 수행시간
huffclk27 개선전 개선후 개선률 개선전 개선후 개선률 개선전 개선후 개선률 44개 ctbuf8dc 395s
0.78 0.2 74 % 2.79 2.81 -0.7% 0.343 0.346 -0.9%
(단위 ㎱) 표 4b는 ctbuf4dc 버퍼를 사용하여 구성된 트리에 대해 최대의 엣지 비율의 개선 효과를 보이기 위한 클럭 스큐의 최소화를 수행하였다. 클럭 스큐는 46 %, 엣지 비율은 32 %가 개선됨을 알 수 있다.
이름 최대 스큐 최대위상지연 최대 엣지비율 교체된 버퍼수 버퍼종류 수행시간
huffclk27 개선전 개선후 개선률 개선전 개선후 개선률 개선전 개선후 개선률 107개 ctbuf4dc 456s
0.66 0.36 46 % 3.5 3.0 14% 0.81 0.55 32.9%
(단위 ㎱) 표 4c 는 ctbuf4dc 버퍼를 사용해 구성된 트리에 대해 일정한 위상 지연시간(3.0 ㎱)을 얻기 위한 클럭 스큐 최소화를 수행하였다. 클럭 스큐는 65 % 개선됨을 알 수 있다.
이름 최대 스큐 최대위상지연 최대 엣지비율 교체된 버퍼수 버퍼종류 수행시간
huffclk27 개선전 개선후 개선률 개선전 개선후 개선률 개선전 개선후 개선률 74개 ctbuf4dc 412s
0.9 0.32 65 % 3.5 3.0 14 % 0.5 0.46 8 %
(단위 ㎱) 표 5는 409개의 ctbuf8dc 버퍼로 구성된 실제 클럭 네트의 실험결과를 나타낸 것으로서, 저항이 54757개 캐페시터가 54708 개, 버퍼 및 네크수가 409개이고, 플립플롭의 수는 2952개인 클럭 트리이다, 최대 크기(가장 빠른)의 버퍼로 구성된 클럭 트리이므로 최대 위상 지연시간에 맞추는 클럭 스큐 최소화를 수행하였다, 클럭 스큐는 최대 69 %의 개선 효과를 얻었다.
이름 최대 스큐 최대위상지연 최대 엣지비율 교체된 버퍼수 버퍼종류 수행시간
clk27 개선전 개선후 개선률 개선전 개선후 개선률 개선전 개선후 개선률 709개 ctbuf8dc 1538s
1.0 0.31 69 % 3.16 3.28 -4 % 0.49 0.52 -6%
(단위 ㎱)
상술한 바와 같이 본 발명에 따른 정확한 타이밍 계산과 버퍼 교체를 통한 클럭 스큐의 최소화 방법에 의하면, 클럭 스큐를 최소화하여 회로의 오동작률을 줄임으로써, 칩의 불량률을 감소시키는 효과를 갖는다.

Claims (7)

  1. 클럭의 스큐를 최소화하기 위한 시스템에 있어서,
    자동 레이아웃 구성 수단;
    상기 자동 레이아웃 구성 수단에 의해 생성된 NETlist 를 SPICE 파일로 변환하는 NETlist 변환수단;
    상기 NETlist 환수단에 의해 변환된 클럭 네트의 RC 파라메터를 추출하는 vericheck 수단; 및
    상기 vericheck 수단에 의해 추출된 RC 파라메터와 버퍼들로 구성된 소정 경로의 정확한 클럭 스큐를 분석 후에, 클럭 스큐를 최소화시키 위한 버퍼를 교체하는 클럭 스큐 제로수단(SQZERO)를 포함하는 클럭 스큐 최소화 시스템.
  2. 제1항에 있어서, 상기 클럭 스큐 최소화 시스템은 구이(GUI)환경으로 구현하여 필요한 입출력 파일만을 지정함으로써 상기 각 수단의 기능이 수행됨을 특징으로 하는 클럭 스큐 최소화 시스템.
  3. 제1항에 있어서, 상기 vericheck 수단은
    실제 반도체 칩상의 레이아웃된 셀과 심볼로 표시된 셀의 배치관계를 비교하는 단계;
    상기 비교단계에 의한 정확한 배치관계에 따라, RC 파라메터를 추출하려는 net의 레이아웃을 플래튼(flatten)시키는 단계; 및
    상기 플레튼시킨 네트에서 RC를 추출하는 단계를 포함하는 것을 특징으로 하는 클럭 스큐 최소화 시스템.
  4. 클럭 스큐를 최소화하는 방법에 있어서,
    클럭 트리가 포함된 레이 아웃으로부터 네트 리스트 파일과 실제 칩상의 셀 배치정보(GDS Ⅱ) 파일을 출력하는 단계;
    상기 출력된 네트 리스트 파일을 SPICE 파일로 변환하는 단계;
    상기 변환된 SPICE 파일정보와 상기 실제 칩상의 셀 배치정보(GDS Ⅱ)를 비교하여 실제 공정상에 적합한 레이아웃을 작성하는 단계;
    상기 작성된 레이아웃의 구성요소를 플래튼시키는 단계; 및
    상기 플래튼된 레이아웃의 클럭 트리에서 클럭 스큐를 분석한 후에, 버퍼 교체를 통해 클럭 스큐를 제로화시키는 단계를 포함하는 클럭 스큐 최소화 방법.
  5. 제4항에 있어서, 상기 클럭 스큐 제로화 단계는
    배선을 포함한 셀의 지연시간을 산출하는 단계;
    상기 지연시간이 산출된 셀을 포함한 모든 클럭 트리의 슬랙을 추출하는 단계;
    상기 추출된 슬랙만큼의 지연시간에 적합하도록 교체된 셀을 통해 출력되는 신호의 기울기를 조사하는 단계; 및
    상기 조사된 출력신호의 기울기가 정상적일 때, 최종의 교체 셀의 정보를 전송하는 단계를 포함하는 것을 특징으로 하는 클럭 스큐 최소화 방법.
  6. 제5항에 있어서, 상기 배선을 포함한 셀의 지연시간을 산출하는 단계는
    RC 등가 모델을 이용하여에 의해 산출되는 2-D 테이블을 이용함을 특징으로 하는 클럭 스큐 최소화 방법.
  7. 제5항에 있어서, 상기 슬랙을 추출하는 단계는
    클럭원으로부터 각 경로의 터미널까지의 팬아웃 지연시간을 구하는 단계;와 원하는 지연시간과 상기 단계에서 구해진 각 경로의 지연시간의 차이를 계산하여 교체될 셀을 지정하는 단계를 포함하는 것을 특징으로 하는 클럭 스큐 최소화 방법.
KR1019960054078A 1996-11-14 1996-11-14 버퍼 교체를 통한 클럭 스큐의 최소화 시스템 및그에 따른 클럭 스큐의 최소화 방법 KR100219566B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960054078A KR100219566B1 (ko) 1996-11-14 1996-11-14 버퍼 교체를 통한 클럭 스큐의 최소화 시스템 및그에 따른 클럭 스큐의 최소화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960054078A KR100219566B1 (ko) 1996-11-14 1996-11-14 버퍼 교체를 통한 클럭 스큐의 최소화 시스템 및그에 따른 클럭 스큐의 최소화 방법

Publications (2)

Publication Number Publication Date
KR19980035668A true KR19980035668A (ko) 1998-08-05
KR100219566B1 KR100219566B1 (ko) 1999-09-01

Family

ID=19481845

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960054078A KR100219566B1 (ko) 1996-11-14 1996-11-14 버퍼 교체를 통한 클럭 스큐의 최소화 시스템 및그에 따른 클럭 스큐의 최소화 방법

Country Status (1)

Country Link
KR (1) KR100219566B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100664474B1 (ko) * 1999-10-25 2007-01-04 후지쯔 가부시끼가이샤 반도체 집적 회로 장치의 레이아웃 설계 시스템, 반도체집적 회로 장치의 레이아웃 설계 방법 및 그 시스템에있어서의 각 수단 또는 그 방법에 있어서의 각 공정을컴퓨터에서 실행시키는 프로그램을 기록한 컴퓨터 판독가능한 기록 매체
CN110852026A (zh) * 2019-11-07 2020-02-28 许继集团有限公司 一种fpga及其时序收敛方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100664474B1 (ko) * 1999-10-25 2007-01-04 후지쯔 가부시끼가이샤 반도체 집적 회로 장치의 레이아웃 설계 시스템, 반도체집적 회로 장치의 레이아웃 설계 방법 및 그 시스템에있어서의 각 수단 또는 그 방법에 있어서의 각 공정을컴퓨터에서 실행시키는 프로그램을 기록한 컴퓨터 판독가능한 기록 매체
CN110852026A (zh) * 2019-11-07 2020-02-28 许继集团有限公司 一种fpga及其时序收敛方法
CN110852026B (zh) * 2019-11-07 2023-10-20 许继集团有限公司 一种fpga及其时序收敛方法

Also Published As

Publication number Publication date
KR100219566B1 (ko) 1999-09-01

Similar Documents

Publication Publication Date Title
US20030182640A1 (en) Signal integrity analysis system
US6405348B1 (en) Deep sub-micron static timing analysis in the presence of crosstalk
US6591407B1 (en) Method and apparatus for interconnect-driven optimization of integrated circuit design
US5654898A (en) Timing-driven integrated circuit layout through device sizing
US8661402B2 (en) Method and apparatus for AMS simulation of integrated circuit design
US6718529B1 (en) Method for calculation of cell delay time
EP0508075A2 (en) Automatic logic model generation from schematic data base
JPH06274565A (ja) 論理シミュレーション用のデータ作成方法,論理シミュレーション方法及び論理シミュレータ
US6832361B2 (en) System and method for analyzing power distribution using static timing analysis
JPH10207937A (ja) レイアウト・クリティカルなネット用のタイミング・エラー限界値をフィルタリングすることにより、マイクロエレクトロニクス回路のレイアウト後検証を実行する方法、装置およびコンピュータ・プログラム製品
US7689964B2 (en) System and method for routing connections
US6611948B1 (en) Modeling circuit environmental sensitivity of a minimal level sensitive timing abstraction model
KR100749753B1 (ko) 게이트 레벨에서의 동적 시뮬레이션 방법, 게이트 레벨의 시뮬레이션 장치, 집적 회로의 디자인 방법, 전압 섬을 포함하는 집적 회로 칩에 대한 디자인 방법 및 칩 설계 방법
JP2001022813A (ja) 不要輻射解析方法
WO2006131146A1 (en) Mixed-domain analog/rf simulation
US7546227B2 (en) Segmentation and interpolation of current waveforms
US7110929B1 (en) System and method of providing additional circuit analysis using simulation templates
KR19980035668A (ko) 버퍼 교체를 통한 클럭 스큐의 최소화 시스템 및 그에 따른 클럭 스큐의 최소화 방법
US5715170A (en) Apparatus for forming input data for a logic simulator
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
Hedlund Electrical optimization of PLAs
JP4053969B2 (ja) 半導体集積回路の設計装置および半導体集積回路の設計方法
CN113536726A (zh) 用于最大瞬时峰值功率的矢量生成
KR100475014B1 (ko) 인터콘넥터의 지연 시간 계산방법
Benkoski et al. The role of timing verification in layout synthesis

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

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee