KR100249251B1 - 논리회로 최적화 장치 및 그 방법 - Google Patents

논리회로 최적화 장치 및 그 방법 Download PDF

Info

Publication number
KR100249251B1
KR100249251B1 KR1019970002747A KR19970002747A KR100249251B1 KR 100249251 B1 KR100249251 B1 KR 100249251B1 KR 1019970002747 A KR1019970002747 A KR 1019970002747A KR 19970002747 A KR19970002747 A KR 19970002747A KR 100249251 B1 KR100249251 B1 KR 100249251B1
Authority
KR
South Korea
Prior art keywords
circuit
logic circuit
delay
optimization
path
Prior art date
Application number
KR1019970002747A
Other languages
English (en)
Other versions
KR970059940A (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 KR970059940A publication Critical patent/KR970059940A/ko
Application granted granted Critical
Publication of KR100249251B1 publication Critical patent/KR100249251B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist

Abstract

계층 구조를 갖는 논리 회로를 입력하는 계층 회로 사양 입력부와, 논리 회로의 지연 제약을 입력하는 지연 제약 입력부와, 논리 회로 및 지연 제약을 저장하고 유지하는 회로 데이터 베이스부와, 논리 회로에 대하여 타이밍 해석을 행하는 타이밍 해석부와, 논리 회로의 최적화 가능성에 의거하여 지연 제약을 각 계층으로 분배하는 지연 제약 분배부와, 논리회로의 각각의 계층 서브 회로로 분배되는 지연 제약에 따라 논리 회로의 지연 최적화를 행하는 최적화부와, 논리 회로에 대한 타이밍 해석에 사용되는 라이브러리 정보를 입력하는 라이브러리 입력부와, 라이브러리 정보를 유지하는 라이브러리 데이터 베이스부와, 최적화 처리과정이 실시된 논리 회로를 출력하는 출력부를 구비하는 최적화 장치.

Description

논리회로 최적화 장치 및 그 방법{LOGIC CIRCUIT OPTIMIZATION APPARATUS AND ITS METHOD}
본 발명은 논리회로의 최적화 장치 및 그 방법에 관한 것으로서, 특히 계층구조를 갖는 논리회로의 지연의 최적화를 도모하는 논리회로의 최적화 장치 및 그 방법에 관한 것이다.
논리회로의 설계에 있어서, 설계대상인 논리회로의 성능의 향상을 도모하기 위하여, 논리회로의 최적화를 행하도록 컴퓨터 시스템을 이용한 최적화 장치가 사용된다. 계층구조를 가지는 논리회로에 관하여, 논리회로의 계층 서브회로 (sub-circuit) 에 까지 걸쳐진 경로의 지연을 최적화하는 방법이 제안되어 있다.
종래의 이러한 종류의 최적화 기술로서는, 예를 들면 일본 특개평 4-51367호에 "논리회로 합성장치" 로 개시되어 있는 기술이 있다. 도 8 은 상기 공보에 개시된 종래의 논리회로의 최적화 장치의 구성을 나타낸다. 도 8 로부터, 상기 공보에 개시된 논리회로의 최적화 장치는, 계층구조를 갖는 최적화 대상의 논리회로를 입력하는 계층회로 사양 입력부 (110) 와, 관련 논리회로의 지연 제약을 입력하는 지연 제약 입력부 (120) 와, 입력한 논리회로 및 지연 제약을 저장하는 회로 데이터 베이스부 (130) 와, 회로 데이터 베이스부 (130) 에 유지되어 있는 논리회로에 대하여 타이밍 해석을 행하는 타이밍 해석부 (140) 와, 소정 지연 제약에 의거하여 지연의 최적화를 행하는 최적화부 (160) 와, 논리회로의 타겟 라이브러리를 입력하는 라이브러리 입력부 (170) 와, 최적화된 논리회로를 출력하는 출력부 (190) 를 구비한다.
상기 최적화 장치의 동작에 대하여 설명한다. 우선, 회로 데이터 베이스부 (130) 에 저장하기 위해, 계층회로 사양 입력부 (110) 가 최적화 대상의 논리회로를 입력한다. 지연 제약 입력부 (120) 가, 회로전체 혹은 각 계층 서브 회로에 대하여, 클럭 정보, 계층 서브 회로의 입력 단자에 있어서의 신호의 도착시간, 및 계층 서브 회로의 출력단자에 있어서의 신호의 요구시간을 포함하는 지연 제약값을 입력하여, 회로 데이터 베이스부 (130) 에 저장된 논리회로에 부가한다. 상승시간, 하강시간, 사이클 시간과 같은 클럭정보에 따라, 소정의 클럭으로 사이클 동작하는 DFF 등과 같은 기억소자의 셋업 시간(setup time) 및 홀드 시간(hold time)을 고려하여, 출력단자에 있어서의 신호 (출력신호) 의 도착시간 및 입력단자에 있어서의 신호 (입력신호) 의 요구시간을 각각 산출할 수 있다.
이어서, 라이브러리 입력부 (170) 가 타겟 라이브러리에 있어서의 각 블록의 타이밍 해석에 사용하는 정보를 포함하는 라이브러리 데이터를 입력하여, 라이브러리 데이터베이스 (180) 에 저장한다. 다음으로, 타이밍 해석부 (140) 가 입력회로의 타이밍 해석을 행한다. 편의상, 여기에서는 최대 지연시간에 대해서만 설명하지만, 최소 지연시간에 대해서도 동일한 처리과정이 적용될 수 있다.
타이밍 해석은 다음과 같이 하여 실행한다.
계층 서브 회로의 입력단자 또는 기억소자의 출력핀 (이하, 회로의 시점이라 한다) 에 설정되어 있는 도착시간에 대하여, 라이브러리 데이터 베이스 (108) 를 참조하여, 하위 계층 서브 회로를 참조하는 블록이나 회로에 포함된 신호에 대한 경로 상의 프리미티브 소자 블록(primitive device block)의 내부 지연시간과 블록간의 배선부분의 지연시간을 가산한다. 그리고, 출력핀마다 각 입력핀으로부터의 지연시간의 최대치를 블록의 출력핀에 도달시간으로서 설정한다. 상술된 도착시간상에서 전달 처리(propagation processing)가 계층 서브 회로의 출력단자나 기억소자의 입력핀 (이하, 회로의 종점이라 한다) 에 도달할 때까지 반복된다. 따라서, 각 블록의 출력핀에 도착시간이 설정된다.
블록이 타겟 라이브러리에 매핑되어 있으면, 라이브러리 데이터 베이스부 (180) 를 참조하여 회로의 상황과 라이브러리에 있는 저장치를 조합함으로써 계산할 수 있는 값에 따라, 관련 블록의 내부지연이나 배선지연을 얻을 수 있다. 또, 블록이 매핑되어 있지 않으면, 논리 스테이지 (stages) 수의 관점에서 지연이 예측될 수 있거나, 조합회로를 논리식으로 표현하였을 때의 논리의 복잡도나 팬아웃(fan-out)에 의하여 블록의 내부지연이나 배선지연 시간이 예측될 수 있다. 예를 들면, 논리의 복잡도나 팬아웃에 의하여 예측하는 방법이 문헌 "Delay Prediction for Technology-Independent Logic Equations"(1992년, TAU 92 Proceeding) 에 기재되어 있다.
그 후, 도착시간의 전달과는 반대 방향으로 요구시간을 전달한다. 회로의 종점에 설정되어 있는 요구시간에 대하여, 회로 중의 신호가 도달하는 경로 상의 프리미티브 소자의 블록이나 하위계층 서브회로를 참조하는 블록의 내부 지연시간과 블록간의 배선부분의 지연시간이 감산되고, 블록의 입력핀, 출력핀에 요구시간이 설정된다. 이상의 요구시간의 전달 처리가 회로의 시점에 도달할 때까지 반복한다. 하위계층 서브 회로의 내부지연은 마찬가지로 반복적으로 타이밍 해석을 함으로써 계산될 수 있다.
전술된 바와 같이 계산된 요구시간과 도착시간의 차를 슬랙이라 하고, 슬랙이 마이너스 값인 부분회로는 지연 제약을 충족하고 있지 않게 된다. 이와 같은 부분회로에 있어서, 회로의 시점에서 종점까지의 블록열을 크리티컬 경로라 한다. 최소 블록으로 이루어지는 슬랙을 갖는 경로를 최대 크리티컬 경로라 한다. 이상, 최대 지연시간을 계산하는 경우를 설명하였다. 최소 지연시간을 계산하기 위해서는, 각 출력핀에 대한 각 입력핀으로부터의 지연시간의 최소치가 블록의 출력핀에 도달시간으로서 설정되고 전달된다.
전술된 바와 같이 타이밍 해석을 실시한 후, 최적화부 (160) 는 크리티컬 경로의 지연을 단축하도록 회로를 변경하고, 회로 데이터 베이스부 (130) 에 저장한다. 모든 경로 상의 슬랙이 플러스 값으로 되면, 제약을 만족하게 된다. 최적화 과정이 실시된 논리회로는 출력부 (190) 로부터 출력된다.
통상, 논리회로, 특히 LSI 등과 같은 대규모 회로를 설계할 때에는, 논리회로를 특정한 부분기능에 따라 계층으로 분할하고 설계한다. 도 9 는, 계층서브 회로를 갖도록 설계한 논리회로의 일례를 나타낸다. 도 9 로부터 탑 (top) 회로(901) 는 설계될 논리회로의 전체를 나타내고, 그 내부에 하위 참조 계층 서브 회로 (902, 903) 가 참조되고 있는 것을 나타낸다. 하위 참조 계층 서브 회로 (902) 의 정의 계층 서브 회로 (904) 가 하위 참조 계층 서브 회로 (905, 906) 를 참조하고 있다. 하위 참조 계층 서브 회로(905) 의 정의 계층 서브 회로 (907) 는 최하위 계층 서브 회로이고, 프리미티브 소자 블록만으로 구성되고, 또한 하위 참조 계층 서브 회로는 존재하지 않는다.
주로 대규모 논리회로에 대하여 특정한 기능마다 부분회로를 설계, 검증할 수 있고, 설계효과가 향상될 수 있고, 각 부분회로를 다른 설계자가 병렬로 작업할 수 있고, 설계기간이 단축될 수 있고, 논리합성에 요구되는 시간이 단축될 수 있기 때문에 논리회로가 계층 서브 회로의 형태로 설계된다. 논리 합성 시스템을 사용하여 논리회로를 설계하는 경우, 최적화 알고리즘의 계산 복잡도가 소자수의 n 승에 비례하면, 여러 가지 최적화 알고리즘에 있어서, 통상 n 은 1 보다도 큰 것으로 알려져 있다. 즉, 부분회로로 분할함으로써, 한 번으로 처리되는 회로규모가 작아지고 소자수가 감소하므로 토탈 처리시간이 단축될 수 있다.
여기서, 도 10 에 나타낸 바와 같이, 계층 서브 회로에 걸쳐지는 경로를 갖는 조합회로가 존재하는 것으로 가정한다. 상위 계층 서브 회로 (1001) 내에 하위 계층 서브회로 (1002, 1003) 가 존재하고, 하위 계층 서브 회로(1002) 내에는 DFF (1004), 조합회로 (1005, 1006) 가 존재하고, 하위 계층 서브 회로 (1003) 내에는 DFF (1009), 조합회로 (1007, 1008) 가 존재한다. DFF (1004) 의 출력핀은 경로의 시점이 되고, 조합회로 (1005, 1006) 를 경유하여 계층 서브회로 (1002) 에서 나온 후, 계층 서브 회로 (1003) 로 들어가고, 조합회로 (1007, 1008) 를 경유하여 DFF (1009) 의 종점인 입력핀에 도달한다.
모델의 간략화를 위하여, DFF (1004, 1009) 의 셋업·홀드 시간, 클럭스큐 (clock skew), 상승 및 하강의 구별, 최대지연, 최소지연, 배선지연시간 등이 무시된다. 조합회로 (1005) 에서 조합회로 (1008) 까지의 각 조합회로의 지연시간을 각각 1 ㎱, 2 ㎱, 2 ㎱ 및 4㎱ 로 가정한다. DFF (1004) 의 출력핀의 도착시간이 0 ㎱, DFF (1009) 의 입력핀의 요구시간을 6 ㎱ 로 할 때, 조합회로 (1005) 내지 조합회로 (1008) 의 출력핀에서의 도착시간은 각각 1 ㎱, 3 ㎱, 5 ㎱ 및 9 ㎱ 로 된다. 이 경로 상의 슬랙은 모두 - 3 ㎱ 이고, 이 경로에 관하여 계층 서브 회로 (1002),(1003)에 동일한 지연 제약 - 3 ㎱ 가 설정되게 된다. 지연의 최적화를 각 계층 서브 회로마다 실행하므로, 예를 들어 계층 서브 회로 (1004) 를 우선 최적화하기로 가정할 때, 지연을 3 ㎱ 로 단축하는 제약이 설정되어 있기 때문에, 이 계층 서브 회로 (1004) 만으로 3 ㎱ 단축할 수 있으면 경로의 지연 제약은 충족되게 된다. 즉, 계층 서브 회로(1002) 는 최적화하지 않아도 되게 된다.
상술한 바와 같이, 논리회로의 계층 서브 회로에 걸쳐진 경로의 지연을 최적화하는 종래의 최적화 기술은, 지연 최적화의 가능성을 고려하지 않고 각 계층서브 회로를 최적화하여, 경로 전체에서 보면 최적화 될 계층 서브 회로 선택순서에 의존하여 매우 밸런스가 좋지 않은 최적화 결과로 되고, 따라서 논리회로의 면적이 증대하거나, 최적화 처리과정의 반복에 의하여 처리시간이 길어진다는 결점이 있었다.
계층구조를 갖는 논리회로에 관하여, 논리회로의 계층 서브 회로에 걸쳐진 경로의 지연을 최적화하는 다른 최적화 기술이, 예를 들면 일본 특개평4-320575 호 「논리합성방법 및 그 장치」에 개시되어 있다. 상기 공보에서 장치는 계층형 논리회로 정보를 전개형 논리회로 정보로 전개하는 계층전개부와, 논리최적화부와, 최적화후의 전개형 논리회로 정보를 계층형 논리회로 정보로 변환하는 계층 서브 회로 복원부를 구비하고, 최적화 전에 계층 서브 회로를 전개하고, 각각의 크리티컬 경로의 지연을 최적화하고, 최적화 완료후 원래의 계층구조로 되돌린다. 따라서, 크리티컬 경로에 대하여 밸런스가 좋고, 면적 오버 헤드가 적은 효율 좋은 최적화가 가능하다.
그러나, 논리회로의 계층구조를 전개하면, 최적화 대상의 회로가 대규모로 되기 때문에, 최적화 처리과정에 필요한 시간이 매우 길어진다. 또한, 최적화 결과로서, 계층 서브 회로의 경계의 블록이 소멸되어 원래 계층 서브 회로의 단자를 복원할 수 없는 경우가 발생할 수도 있다.
본 발명의 목적은, 상기 종래의 결점을 해결함으로써, 논리회로의 구조에 알맞은 밸런스가 좋은 최적화 처리과정을 할 수 있는 최적화 장치 및 그 방법을 제공하는 데 있다.
본 발명의 다른 목적은, 상기 목적에 더하여 논리회로의 계층구조를 전개하지 않고 밸런스가 좋은 최적화 처리과정을 할 수 있는 최적화 장치 및 그 방법을 제공하는 데 있다.
도 1 은 본 발명의 제 1 실시예에 따른 논리회로 최적화 장치의 구성을 도시한 블록도.
도 2 는 실시예에 따른 최적화 처리과정을 도시한 순서도.
도 3 은 제 1 실시예에 따른 지연 제약 분배기 (timing budgeter) 에 의한 처리과정을 도시한 순서도.
도 4 는 제 1 실시예에 따른 논리회로의 지연 제약을 결정하는 예를 도시한 회로도.
도 5 는 본 발명의 제 2 실시예에 따른 논리회로 최적화 장치 상에 장착된 지연 제약 분배부에 의한 처리과정을 도시한 순서도.
도 6 은 본 발명의 제 2 실시예에 따른 논리 회로 최적화 장치의 구성을 도시한 블록도.
도 7 은 제 3 실시예에 따른 논리회로의 지연 제약을 결정하는 예를 도시한 회로도.
도 8 은 종래의 논리회로 최적화 장치의 구성을 도시한 블록도.
도 9 는 계층 구조를 갖는 논리회로의 구성을 도시한 다이어그램.
도 10 은 종래의 최적화 장치에 의한 논리회로 지연 제약을 결정하는 예를 도시한 회로도.
* 도면의 주요 부분에 대한 부호의 설명 *
10 : 계층회로 사양 입력부
20 : 지연 제약 입력부
30 : 회로 데이터 베이스부
40 : 타이밍 해석부
50 : 지연 제약 분배부
60 : 최적화부
70 : 라이브러리 입력부
80 : 라이브러리 데이터 베이스부
90 : 출력부
본 발명의 제 1 실시예에 따라, 계층구조를 갖는 논리회로를 최적화하는 최적화 장치는,
계층구조를 갖는 논리회로를 입력하는 계층회로 사양 입력수단,
입력된 상기 논리회로에 있어서의 지연시간의 제약조건을 나타내는 소정의 정보로 부여된 지연 제약을 입력하는 지연 제약 입력수단,
입력된 상기 논리회로 및 지연 제약을 저장하여 유지하는 회로 데이터 베이스수단,
상기 회로 데이터 베이스 수단에 의해 유지되어 있는 상기 논리회로의 타이밍 해석을 실행하는 타이밍 해석수단,
상기 회로 데이터 베이스 수단에 의해 유지되어 있는 상기 논리회로의 최적화 가능성에 의거하여, 상기 지연 제약을 상기 논리회로를 구성하는 각 계층 서브 회로로 분배하는 지연 제약 분배수단,
상기 지연 제약 분배수단에 의해 상기 논리회로의 각 계층 서브 회로에 분배된 상기 지연 제약에 의거하여, 상기 논리회로의 지연 최적화를 행하는 최적화 수단,
상기 논리회로에 대한 타이밍 해석에 사용되는 라이브러리 정보를 입력하는 라이브러리 입력수단,
입력된 라이브러리 정보를 유지하는 라이브러리 데이터 베이스 수단,
최적화처리된 논리회로를 출력하는 출력수단으로 구성된다.
바람직한 구성에 있어서, 지연 제약 분배수단이 처리대상인 논리회로 또는 그 부분회로를 구성하는 경로로부터 슬랙 증가 순으로 경로를 선택하여, 그 경로 상의 조합회로의 최적화 가능성을 설정하고, 그 최적화 가능성에 의거하여 상기 조합회로마다 지연 제약을 설정한다.
바람직한 구성에 있어서, 지연 제약 분배수단이 처리대상인 논리회로 또는 그 부분회로를 구성하는 경로로부터 소정의 조건하에서 차례대로 경로를 선택하여 그 경로상의 조합회로의 최적화 가능성을 설정하고, 그 조합회로에 대하여 최적화를 행한 경우의 회로면적의 증가비율과 단축되는 지연시간의 관계를 고려하여, 그 회로면적의 증가가 최소가 되도록 지연 제약을 설정한다.
또한, 바람직한 구성에 있어서, 지연 제약 분배수단이 상기 지연 제약을 상기 논리회로를 구성하는 각 계층 서브 회로 및 배선에 분배하고, 각 계층 서브 회로에 대하여 상기 최적화 수단이 상기 논리회로를 최적화하고, 또한 상기 논리회로를 구성하는 각 계층 서브 회로의 레이아웃을 나타낸 플로어 플랜 (floor plan) 에 따라 상기 각 계층 서브 회로간의 배선의 지연시간을 최소화한다.
또한, 바람직한 구성에 있어서, 지연 제약 분배수단이 처리대상인 논리회로 또는 그 부분회로를 구성하는 경로로부터, 슬랙이 증가하는 순으로 경로를 선택하여, 그 경로상의 조합회로의 최적화 가능성을 설정하고, 그 최적화 가능성에 의거하여 상기 각 조합회로에 대해 지연 제약을 설정하고, 상기 논리회로를 구성하는 각 계층 서브 회로의 레이아웃을 나타내는 플로어 플랜에 의거하여 조합회로간 및 계층 서브 회로간의 배선에 지연 제약을 설정하고, 각 계층 서브 회로에 대해 상기 최적화수단이 상기 논리회로를 최적화하고, 또한 상기 플로어 플랜에 따라 상기 각 계층 서브 회로간의 배선의 지연시간을 최소화한다.
전술한 구성에 있어서, 지연 제약 분배수단이 처리대상인 논리회로 또는 그 부분회로를 구성하는 경로로부터, 소정의 조건하에서 차례대로 경로를 선택하여, 그 경로상의 조합회로의 최적화 가능성을 설정하고, 그 조합회로가 최적화 될 때 회로면적의 증가비율과 단축되는 지연시간의 관계를 고려하여, 그 회로면적의 증가가 최소가 되도록 지연 제약을 설정하고, 상기 논리회로를 구성하는 각 계층 서브 회로의 레이아웃을 나타내는 플로어 플랜에 의거하여 조합회로간 및 계층간의 배선에 지연 제약을 설정하고, 각 계층 서브 회로에 대해 상기 최적화 수단이 상기 논리회로를 최적화하고, 상기 플로어 플랜에 따라 상기 계층 서브 회로간의 배선의 지연시간을 최소화한다.
본 발명의 제 2 실시예에 따라, 계층구조를 갖는 논리회로를 최적화 하기 위한 방법은,
계층구조를 갖는 논리회로를 입력하는 제 1 단계,
입력된 상기 논리회로에서의 지연시간의 제약조건을 나타내는 소정의 정보로 주어진 지연 제약을 입력하는 제 2 단계,
상기 입력된 논리 회로에 대해 타이밍 해석을 실행하는 제 3 단계,
상기 지연 제약을 상기 입력된 논리 회로의 최적화 가능성에 따라 상기 논리 회로를 구성하는 각 계층으로 분배하는 제 4 단계,
상기 논리 회로의 각 계층 서브 회로에 전달되는 상기 지연 제약에 의거하여 상기 논리 회로에 대한 지연 최적화를 실행하는 제 5 단계, 및
최적화된 논리회로를 출력하는 제 6 단계로 구성된다.
바람직한 구성에 있어서, 상기 지연 제약을 분배하기 위한 제 3 단계는, 처리될 논리회로 또는 그 부분 회로를 구성하는 경로로부터 슬랙이 증가하는 순으로 경로를 선택함으로써 꺼내는 단계와, 상기 선택된 경로 상의 조합회로에 대해 최적화 가능성이 설정되었는지 안되었는지를 판정하는 단계와, 상기 조합회로에 대해 최적화 가능성이 설정되지 않은 경우 최적화 가능성을 설정하는 단계와, 또한 상기 최적화 가능성에 의거하여 각 상기 조합회로에 대해 지연 제약을 결정하는 단계를 구비한다.
바람직한 구성에 있어서, 상기 지연 제약을 분배하기 위한 제 3 단계는, 처리될 논리회로 또는 그 부분회로를 구성하는 경로로부터 임의의 조건하에서 순차적으로 경로를 선택함으로서 꺼내는 단계와, 상기 선택된 경로상의 조합회로에 대해 최적화 가능성의 설정여부를 판정하는 단계와, 상기 조합회로에 대해 최적화 가능성이 설정되지 않은 경우 최적화 가능성을 설정하는 단계와, 상기 조합회로 가 최적화된 경우 회로 면적의 증가율과 단축되는 지연시간의 관계를 고려하는 단계, 및 상기 회로 면적의 증가가 최소가 되도록 지연 제약을 설정하는 단계를 구비한다.
본 발명의 제 3 실시예에 따라, 계층구조를 갖는 논리회로를 최적화하기위한 최적화 방법은,
계층 구조를 갖는 논리회로를 입력하는 제 1 단계,
입력된 논리회로에서 지연시간의 제약 조건을 나타내는 소정의 정보로 주어진 지연 제약을 입력하는 제 2 단계,
상기 입력된 논리 회로에 대한 타이밍 해석을 실행하는 제 3 단계,
상기 지연 제약을 상기 입력된 논리회로의 최적화 가능성에 의거하여 상기 논리회로를 구성하는 각 계층 서브 회로 및 각 배선으로 분배하는 제 4 단계,
상기 논리 회로의 각 계층으로 전달되는 상기 지연 제약에 의거하여 상기 논리회로의 지연 최적화를 실행하는 제 5 단계, 및
최적화된 논리회로를 출력하는 제 6 단계로 구성된다.
전술한 구성에서, 상기 지연 제약을 분배하기 위한 제 3 단계는, 처리될 논리 회로 또는 그 부분 회로를 구성하는 경로로부터 슬랙이 증가하는 순으로 경로를 차례로 선택함으로써 꺼내는 단계와, 상기 선택된 경로 상의 조합회로 및 배선에 대해 최적화 가능성이 설정되어 있는지 없는지를 판정하는 단계와, 상기 조합회로 또는 상기 배선에 대해 최적화 가능성이 설정되어있지 않은 경우 최적화 가능성을 설정하는 단계와, 또한 상기 최적화 가능성에 의거하여 각 상기 조합회로에 대해 지연 제약을 설정하는 단계를 구비한다.
전술된 구성에 있어서, 상기 지연 제약을 분배하기 위한 제 3 단계는, 처리될 논리회로 또는 그 부분 회로를 구성하는 경로로부터 임의의 조건하에서 순차적으로 경로를 선택함으로써 꺼내는 단계와, 상기 선택된 경로 상의 조합회로 및 각 배선에 대해 최적화 가능성이 설정되어 있는지 없는지를 판정하는 단계와, 상기 조합회로 또는 상기 배선에 대해 최적화 가능성이 없는 경우 최적화 가능성을 설정하는 단계와, 상기 조합회로 및 상기 배선이 최적화된 경우 회로 면적의 증가율과 단축되는 지연시간 사이의 관계를 고려하여 상기 회로 면적의 증가가 최소가 되도록 지연 제약을 설정하는 단계를 구비한다.
본 발명의 형태 및 이점이 명백하게 이하에 상술된다.
본 발명의 바람직한 실시예는 첨부된 도면을 참조하여 이하에 상세하게 설명된다. 이하 서술에서, 많은 특정 설명들은 본 발명의 완전한 이해를 제공하기 위해 제시되었다. 한편, 당해 기술 분야에서 숙련된 기술자들에게 있어서 본 발명은 상기 내용 없이도 실시될 수도 있다는 것은 명백하다. 다른 예에서, 공지된 구조들은 본 발명을 불필요하게 불명료하게 하기 때문에 상세하게 나타내지 않았다.
도 1 은 본 발명의 제 1 실시예에 따른 논리회로 최적화 장치의 구성을 나타낸 블록도이다.
도 1 로부터, 이러한 실시예에 따른 최적화 장치는, 계층구조를 가지며 최적화 대상이 되는 논리 회로를 입력하는 계층회로 사양입력부 (10) 와, 관련 논리회로의 지연 제약을 입력하는 지연 제약 입력부 (20), 입력한 논리회로 및 지연 제약을 저장하기 위한 회로 데이터 베이스부 (30), 회로 데이터 베이스 (30) 에 유지되는 논리회로의 타이밍 해석을 실행하기 위한 타이밍 해석부 (40), 최적화 가능성에 따라 각 계층 서브 회로로 지연 제약을 분배하는 지연 제약 분배부 (50), 소정의 지연 제약에 따라 지연을 최적화하는 최적화 부 (60), 논리 회로의 타겟 라이브러리를 입력하는 라이브러리 입력부 (70), 입력된 라이브러리 정보를 유지하는 라이브러리 데이터 베이스부 (80) 및 최적화된 논리 회로를 출력하는 출력부 (90) 를 구비한다. 도 1 은 본 실시예의 특징적인 구조만 보여주고 다른 일반적인 구조는 생략했다.
상기 구조에서, 계층 회로 사양 입력부 (10), 지연 제약 입력부 (20) 및 라이브러리 입력부 (70) 는, 프로그램 제어되는 CPU, 적당한 인터페이스 및 입력 장치로 이루어진다. 회로 데이터 베이스부 (30) 및 라이브러리 데이터 베이스부 (80) 는 소정의 외부 기억 장치 (예를 들면, 자기 디스크 드라이버) 와 내부 기억 장치 (예를 들면, RAM) 로 이루어진다. 타이밍 해석부 (40), 지연 제약 분배부 (50) 및 최적화부 (60) 는 프로그램 제어되는 CPU 로 이루어진다. 출력 (90) 은 적당한 인터페이스 및 출력 장치로 이루어진다.
이러한 실시예의 동작은 도 2 에 나타낸 순서도를 참조하여 서술된다.
먼저, 계층 회로사양 입력부 (10) 는 계층 사양으로 (이하, 특정되지 않으면 논리 회로라고 함) 최적화될 논리 회로의 전부 또는 일부를 입력하여, 회로 데이터 베이스부 (30) 에 저장한다. 입력되는 논리 회로는 레지스터 전달 (RT) 레벨의 하드웨어 기술 언어 (HDL) 로 기록되거나 게이트 레벨의 네트 리스트로 기록될 수도 있다.
지연 제약 입력부 (20) 는, 최적화의 대상인 논리회로에 대하여, 클럭 정보, 입력 단자에 신호의 도착 시간, 출력단자에의 신호의 요구시간을 포함하는 소정의 정보로 부여된 지연제약값을 회로 데이터 베이스부 (30) 에 저장된 논리회로에 부가한다(단계 (202)). 종래와 동일한 방법으로, 상승 시간, 하강 시간 및 클럭 신호의 사이클을 포함하는 클럭 정보에 의거하여, 출력핀에의 신호 (출력신호) 의 도착시간 및 입력핀에의 신호 (입력신호) 의 요구시간은 해당 클럭으로 사이클 동작을 수행하는 DFF 와 같은 저장 장치의 셋업시간 및 홀드시간을 고려하여 계산될 수 있다.
그 후, 라이브러리 입력부 (70) 는 타겟 라이브러리에서의 각 블록의 타이밍 해석을 위해 사용되는 정보를 입력하여, 라이브러리 데이터 베이스부 (80) 에 저장한다(단계 (203)).
그리고, 타이밍 해석부 (40) 는 회로 데이터 베이스부 (30) 에 저장된 논리회로의 타이밍 해석을 실행한다(단계 (204)). 서술의 간편성을 위하여, 최대 지연 시간만에 대해 서술한다. 회로의 시점에 대해 설정된 도착시간에 대하여, 라이브러리 데이터 베이스부 (8) 를 참조하여, 하위 계층 서브 회로를 참조하는 블록, 또는 회로에 포함된 신호가 도착하는 경로상에서의 프리미티브 장치 블록의 내부 지연 시간과, 블록간 배선의 지연 시간이 부가된다. 또한, 각각의 출력핀에 대해, 각 입력핀으로부터의 지연 시간의 최대값은 블록의 출력핀에의 도착시간으로 설정된다. 상술한 도착 시간상의 전달 처리는 회로의 종점에 도착할 때까지 반복된다. 다시 말해, 도착시간은 각 블록의 출력핀에 대해 설정된다.
만약 블록이 특정 타겟 라이브러리로 매핑되면, 라이브러리 데이터 베이스부 (8) 를 참고하여, 회로의 상태와 라이브러리에 저장된 값을 조합함으로써 계산될 수 있는 값에 의거하여, 관련 블록의 내부 지연 및 배선 지연이 얻어진다. 그리고, 만약 블록이 매핑되지 않았다면, 전술한 바와 같이, 조합회로를 논리식으로 표시한 경우 논리의 복잡성과 팬아웃을 기초로한 블록의 내부 지연 및 배선지연을 예측하는 방법, 또는 논리 단계의 수를 고려하여 지연을 예측하는 방법으로 지연 시간이 예측된다.
그런 다음, 요구시간은 도착 시간의 전달과 반대 방향으로 전달된다. 회로의 종점에 설정된 요구시간에 대해서, 회로에서 신호가 도착하는 경로 상에서의 프리미티브 장치 블록 또는 하위 계층 서브 회로를 참조하는 블록의 내부 지연시간과, 블록간 배선의 지연 시간이 단축되고, 요구시간은 블록의 입력핀 혹은 출력핀에 설정된다. 전술한 요구시간의 전달 처리는 회로의 시점에 도달할 때까지 반복된다. 하위 계층 서브 회로의 내부 지연은 동일 방법으로 타이밍 해석을 반복해서 실행함으로써 계산될 수 있다. 최대 지연 시간을 계산하는 것을 전술했지만, 최소 지연 시간의 전달이 다르다는 것만 제외하고 동일 절차가 최소 지연 시간을 계산하는데 적용될 수 있다.
상기 타이밍 해석을 완료후, 타이밍 해석부 (40) 는 완료를 판단한다.(단계 (207)). 특히 타이밍 해석 결과가 모든 경로의 슬랙이 음수가 아니라면, 제약 위반 경로가 없으며, 처리가 출력부 (90) 로 가는 것을 의미한다(단계 (208)). 반대로, 슬랙이 음수값을 갖는 경로가 있다면 관련 경로가 제약 위반 부분을 갖는다는 것을 나타낸다. 그후, 최적화 가능성이 있다면, 다음 처리가 계속된다.
지연 제약 분배부 (50) 가 지연 제약을 계층 서브 회로에 걸쳐있는 경로로 분배한다(단계 (205)). 도 3 은 지연 제약 분배부 (50) 에 의한 처리를 상세히 보여준다. 도 3 에 있어서, 제약 분배 처리과정을 통하지 않고 처리되는 경로 중에서 최소 슬랙을 갖는 경로가 꺼내진다 (단계 301). 그후, 계층 서브 회로에 걸쳐있는 경로의 부분 조합회로 및 배선에 대해 최적화 가능성의 설정 여부를 판단하여, 설정이 아직 완료되지 않았으면, 최적화의 가능성이 설정된다 (단계 302, 303).
논리 회로에 대한 제약 분배의 실시예를 나타내는 도 4 를 참조로 하여 최적화 가능성 설정 처리과정이 서술된다. 도면에서, 상위 계층 서브 회로 (401) 는 하위 계층 서브회로 (402, 403) 를 포함하고, 하위 계층 서브회로 (402) 는 DFF (404) 및 조합 회로 (405) 를 포함하며, 또한 하위 계층 서브 회로 (403) 는 DFF (407) 및 조합 회로 (406) 를 포함한다. 대상 경로는 DFF (404) 의 출력핀으로부터 시작하고, 조합 회로 (405) 를 통하여 계층 서브 회로 (402) 의 밖으로 나가고, 계층 서브 회로 (403) 로 들어가서, 조합 회로 (406) 를 통하여 DFF (407) 의 입력핀에서 완료된다. 지연 제약은 배선에 분배되지 않고 조합 회로 (405, 406) 에 분배된다.
모델을 간략화 하기 위하여, DFF 의 셋업 홀드 시간, 클럭 스큐, 상승과 하강 사이의 구별, 최대 지연, 최소지연 및 배선 지연 시간이 고려되지 않는다. 조합회로 (405, 406) 의 지연 시간을 각각 3 ns 및 6 ns 로 가정한다. DFF (404) 의 출력핀의 도착시간이 0 ns 및 DFF (407) 의 입력핀의 요구시간이 6 ns 일 때, 조합 회로 (405 및 406) 의 출력핀들의 도착시간은 각각 3 ns 및 9 ns 이다. 조합 회로 (405 및 406) 의 지연이 현재 지연 시간으로부터 1/3 로 단축될 수 있다고 가정될 때, 최적화 가능성은 조합 회로 (405)에 대해서는 1 ns 이며, 조합 회로 (406) 에 대해서는 2 ns 이다. 최적화 가능성은 다양한 형태의 방법으로 계산된다. 몇 가지 실시예들이 이하 설명된다.
합성이 면적우선으로 실행될 때, 지연 시간에 관하여 주어진 비율로부터 계산하는 제 1 방법에서, 최적화 가능성은 다음 식으로 표현된다.
최적화 가능성 = α* (합성이 면적우선으로 수행된 경우의 지연 시간) + β ‥‥‥ (1)
위 식에서, α와 β는 현재 지연 시간으로부터 단축될 수 있는 비율을 표시하는 계수를 나타내고, 실험에 의한 많은 데이터의 통계적인 분석으로부터 설정될 수 있다. 회로에서는 일정한 값이 되도록 요구하는 것은 아니다. 동일한 방법이 다음 식에 적용된다.
기존의 회로에 대한 최적화 가능성에 기초하여 유사 회로의 가능성을 예측하는 두 번째 방법에서, 최적화 가능성이 다음 식으로 표현된다.
최적화 가능성 = α * (기존의 회로에 기초한 예측) + β ‥‥‥ (2)
논리 복잡도와 팬아웃을 고려하여 예측하는 세 번째 방법에서, 최적화 가능성은 다음 식에 의해서 표현된다.
최적화 가능성 = α * {a*(논리복잡도) + b*(팬아웃)} + β ‥‥‥ (3)
위 식에서, a 및 b 는 지연을 예측할 때의 계수를 나타내고, a 는 논리복잡도에 대한 지연시간에의 기여도를 나타내고, b 는 팬아웃에 대한 지연시간에 대한 기여도를 나타낸다. 상기 실시예에서, 최적화 가능성을 1 차식으로 나타내지만, 더 복잡한 함수에 의해서 표현 될 수도 있다. 또한, 최적화 가능성에 면적 및 소비전력의 오버헤드를 고려하는 것도 가능하다. 이러한 경우, 식 (1)은 다음과 같이 확장될 수도 있다.
최적화 가능성 = α * ( 합성이 면적우선으로 수행된 경우의 지연 시간 )/ ( 1 + ?? *(면적 증가 비율)) + β ‥‥‥ (4)
여기서, ?? 는 면적증가 비율을 고려한 계수이다. ?? = 0 인 경우, 식 (4) 는 식 (1) 과 동일하게 되고, 면적 증가는 고려하지 않는다. 따라서, 최적화 가능성은 부분 경로의 면적 증가 비율을 고려하여 계산될 수 있다. 동일한 방법으로, 소비전력 오버헤드도 고려될 수 있다.
상술한 바와 같이 최적화 가능성 설정 후, 대상 경로 ( 단계 (304))상의 조합회로에 지연 제약을 설정한다(단계 (304)). 지연시간의 설정처리과정에 의해서, DFF (404) 의 출력핀에서 계층 서브회로 (402) 까지와, 계층 서브 회로 (403) 에서 DFF (407) 입력핀까지에 설정되는 지연제약, 즉, 조합회로 (405,406) 에 설정되는 지연 제약은 다음 식으로 나타낸다.
지연 제약 = (잔여 슬랙) * (최적화 가능성) / Σ(최적화 가능성) ‥‥ (5)
잔여 슬랙은 다음 식에 의해서 계산된다.
잔여 슬랙 = { ( 종점에서 요구시간) - (종점에서 도착시간)}- Σ(분배 제약) ‥‥‥ (6)
상기 식에서, Σ(분배 제약) 은 도 3 에 나타낸 반복 처리과정에 있어서 부여된 부분 경로에 할당된 제약의 합계이고, Σ(최적화 가능성) 은 지연 제약이 분배된 경로상의 모든 부분 경로의 최적화 가능성의 합계이다. 도 4 에 나타난 실시예에서는, Σ(분배 제약)은 0 이므로, 조합 회로 (405) 에의 지연 제약은 식 (5) 에 따른 다음 식으로 표현된다.
(6 - 9) * 1 / (1 + 2) = -3 * 1/3 = -1
그리고, 조합회로 (406) 에의 지연 제약은 다음과 같이 표현된다.
(6 - 9) * 2 / (1 + 2) = -3 * 2/3 = -2
따라서, 조합회로 (405) 는 1 ns 로, 조합회로 (406) 는 2 ns 로 단축 될 수 있도록 지연 제약이 설정된다. 경로 상의 하나의 계층 서브 회로에 조합회로가 단지 하나인 경우가 상술되었지만, 다수의 조합 회로가 있는 경우에도 상기 식 (6)과 동일하게 지연 제약을 분배할 수 있다. 통상적으로, 프리미티브 소자 블록보다 큰 블록, 예를 들면 트리 구조를 형성하는 블록의 집합을 하나의 조합회로의 단위로서 제약을 분배한다.
필요한 지연 제약을 설정후, 모든 대상 경로의 처리가 완료되었을 때 지연 제약 분배부 (50)의 처리가 완료된다(단계 (305)). 완료판단에 의해 미처리의 경로가 있으면, 처리가 단계 (301) 로 되돌아가고, 다음 경로가 동일한 처리의 반복을 위해 선택된다. 최적화 가능성은 가능성을 나타내고, 그 실현을 확신할 수 없는 수치값이다. 식 (1) 내지 (4)에서 계수 α, β 는 통계적으로 얻을 수 있는 값에 대하여 어느 정도의 마진을 가질 수 있는 값이다.
지연 제약 분배부 (50) 의 처리 (단계 205) 완료 후, 최적화부 (60) 는 단계 (205) 에서 설정된 지연 제약에 의거하여 분배된 지연제약을 갖는 각 계층 서브회로에 대하여 회로 데이터베이스부 (30) 에 저장된 논리회로의 지연 최적화를 실행한다. 최적화된 논리회로는 회로 데이터 베이스부 (30) 에 저장된다.
그후, 최적화 결과가 좋은지 안 좋은지의 여부의 판단을 하기 위하여, 타이밍 해석부 (40) 에 의한 처리 단계 (204) 로 되돌아간다. 이때, 최적화에 의해서 변경된 부분회로와 관련 부분회로에 의해 영향을 받는 부분에 대하여 점진적으로 타이밍 해석을 실행함으로써, 처리를 고속화할 수 있다.
타이밍해석의 결과 제약 위반 경로가 없거나, 또는 더 이상 최적화가 될 수 없다고 판단된 경우에는, 출력부 (90) 가, 회로 데이터 베이스부 (30) 에 저장되어 있는 최적화된 논리회로를 출력한다 (단계 (207, 208)).
전술된 바와 같이, 크리티컬이 아닌 경로에 대해서도 지연 제약이 분배되기 때문에, 최적화부 (60) 에 의한 단계 (206) 의 처리에 있어서, 지연 제약 위반을 하지 않는 범위 내에서 로우 파워 블록 (low power block) 을 사용하여 회로면적과 소비전력을 감소할 수 있다. 이러한 경우, 분배되는 지연 제약은 단축되어야만 하는 지연시간이 아니고, 지연시켜도 좋은 지연 여유시간을 의미한다.
다음에, 본 발명의 제 2 의 실시예에 따른 논리회로 최적화 장치에 대해서 설명한다.
제 2 실시예에 따른 최적화 장치는, 도 1 에 나타낸 제 1 실시예에 따른 최적화 장치와 동일하게 구성된다. 도 3 을 참조하여 제 1 실시예에서 설명한 바와 같이, 슬랙이 증가하는 순으로 지연 제약 분배부 (50) 는 각 경로에 대하여 지연 제약을 분배하지만, 본 실시예에서는, 면적 증가 비율을 고려하여 지연 제약을 분배한다. 도 5 는 본 실시예의 지연 제약 분배부 (50) 에 의한 처리과정을 나타낸다.
도 5 를 참조하면, 경로를 선택하여 최적화 가능성을 설정하는 단계 (501)로부터 단계 (503) 까지의 동작은, 도 3 에 나타낸 제 1 실시예의 단계 (301)로부터 단계 (303) 까지의 동작과 동일하다. 그러나, 단계 (501) 에 있어서, 제 1 실시예와 같이, 슬랙이 증가하는 순으로 경로를 선택할 필요는 없으며, 임의의 조건하에서 경로를 선택하면 된다.
최적화 가능성을 설정한 후, 면적 / 지연 관계 설정 단계 (504) 에서, 소정의 경로 "
Figure pat00001
" 상의 각 부분 경로 "
Figure pat00002
" 에 대하여 지연 제약을
Figure pat00003
로 하면, 관련 지연 제약을 만족하는 것에 의한 면적 증가 비율
Figure pat00004
는, 이하의 1 차식으로 표시할 수 있다. 분배 대상의 지연 제약
Figure pat00005
는, 제약을 위반하고 있는 한 음의 수로 표시한다.
Figure pat00006
=k *
Figure pat00007
+ h ‥‥‥ (7)
여기서, k, h 는 계수이며, 실험을 통한 다수의 데이터에 의한 통계 처리로부터 구할 수 있는데, 회로 중에서 일정한 값일 필요는 없다.
면적과 지연의 관계를 설정한 후, 모든 대상 경로에 대하여 처리가 종료되었는지 아닌지를 판정하고, 어떤 미처리의 경로가 남아있으면, 단계 (501) 로 돌아가, 다음의 경로를 선택하고, 동일한 처리과정을 반복한다 (단계 (505)).
모든 경로에 대하여 처리를 종료했을 때, 다음의 관계식이 작성된다 (단계 (506)). 즉, 각 경로 (
Figure pat00008
) 에 대하여, 각 부분 경로 (j) 의 지연 최적화 가능성을
Figure pat00009
로 하면, 식은 다음과 같이 된다.
-
Figure pat00010
Figure pat00011
‥‥‥ (8)
또, 경로의 지연 제약, 즉 슬랙이
Figure pat00012
인 경우, 다음 식이 성립하도록 지연 제약이 분배되고, 제약대로 최적화가 완료되면 경로
Figure pat00013
의 제약 위반은 해소되게 된다.
Figure pat00014
‥‥‥ (9)
상기식 (7), (8), (9) 의 조건하에서, 다음의 (10) 식의 값이 최소가 되도록, 선형계획법을 사용하여 풀고, 각 부분 경로의 지연 제약
Figure pat00015
을 구한다 (단계 (507)).
Figure pat00016
‥‥‥ (10)
전술한 바와 같이, 본 실시예에서는, 면적 증가 비율과 지연 제약의 관계에 기초하여 면적 증가가 가장 적은 지연 제약 분배가 실행됐지만, 마찬가지로 소비전력의 증가비율과 지연제약의 관계에 기초하여 소비전력 증가가 가장 적은 지연 제약 분배를 실행할 수도 있다.
다음에, 본 발명의 제 3 의 실시예에 의한 논리회로의 최적화 장치에 대하여 설명한다.
도 6 은 본 실시예의 최적화 장치의 구성을 나타내는 블록도이다. 도시와 같이, 본 실시예에 따른 최적화 장치는 도 1 에 나타낸 제 1 실시예의 최적화 장치와 거의 동일하게 구성된다. 최적화부 (60A) 는, 도 1 에 나타낸 제 1 실시예의 최적화부 (60) 가 논리합성수법에 기초한 논리회로의 변환에 의한 지연 최적화를 실행하는 것과 달리, 논리합성수법만이 아니라 LSI 에 있어서 각 계층의 플로어 플랜을 실행함으로써 지연 최적화를 실행한다.
논리회로를 LSI 각 계층 서브 회로마다 칩상에 형성할 때, 계층 서브 회로간의 배선 길이를 가능한 한 짧게 하여, 배선 지연을 단축할 수 있다. 다시 말하면, 비교적 긴 배선, 예를 들면 계층 서브 회로간의 배선 부분에 지연 제약을 할당하여, 플로어 플랜을 변경함으로써 지연 최적화를 실행할 수 있다.
도 7 은, 배선 부분에 지연 제약을 할당한 논리회로의 예를 나타낸다. 도 7 을 참조하면, 도 4 에 나타낸 제약 분배 예와의 상이점은, 계층 서브 회로 (702) 와 계층 서브 회로 (703) 사이의 배선 지연이 2 ns 이고, 관련 배선 지연의 최적화 가능성에 의거하여, 지연 제약 -1 ns 가 설정된다는 것을 포함한다.
또한, 배선 지연은, 블록의 출력핀의 드라이브 실행능력, 입력신호의 무딤, 타겟 팬아웃에서의 배선용량과 입력핀 용량의 합계와 같은 파라미터를 포함하는 함수로 표시되는 일이 많다. 그리고, LSI 의 설계에 있어서, 딥 서브미크론 (deep submicron) 과 같은 설계룰의 미세화에 의해, 비교적 긴 배선에 관해서는, 배선 저항이 배선 지연시간에 매우 크게 영향을 준다는 것이 알려져 있다. 또, 분기나 배선의 형상 등을 무시한 경우, 배선 저항을 고려했을 때의 배선 지연시간은 배선 길이의 2 제곱에 비례한다는 것이 알려져 있다. 따라서, 플로어 플랜으로 계층간에서 비교적 긴 배선이 되는 것을 미리 알고 있는 경우는, 버퍼 또는 인버터를 삽입하는 것에 의한 지연 최적화도 고려하여, 배선 부분에도 지연 제약을 분배할 수 있다.
지연 최적화는 긴 배선을 균등 분할하는 버퍼 또는 인버터를 하나 이상 삽입함으로써, 배선 저항에 관한 지연시간을 단축한다. 인버터를 삽입하는 경우는 배선 상의 논리가 반전되지 않도록 짝수개 삽입할 필요가 있다. 단, 삽입하는 버퍼 또는 인버터의 내부 지연이나, 입력핀 용량 등도 증가하므로, 적절한 배선 분할 및 삽입을 실시할 필요가 있다.
전술한 바와 같이, 본 발명의 논리회로의 최적화 장치 및 그 방법은, 각 부분 경로의 최적화 가능성에 기초하여, 논리회로를 구성하는 각 계층서브 회로나 배선에 지연 제약을 분배하는 지연 제약 분배처리과정을 실행함으로써, 균형이 맞는 최적화 처리과정을 실행할 수 있다는 효과가 있다. 이에 의해, 종래 기술의 결점이였던, 최적화의 대상인 계층 서브 회로의 선택순서에 의존한, 매우 균형이 맞지 않는 최적화 결과의 발생을 방지할 수 있다. 또, 회로 면적 증대의 요인을 제거함과 동시에 최적화의 반복 처리에 의한 처리시간의 증대를 방지할 수 있다.
또, 최적화 처리과정 자체는 논리회로의 계층 구조를 전개하지 않고 실행되므로, 최적화 대상의 회로가 대규모가 되어, 최적화 처리과정에 필요한 시간이 길어지거나, 최적화의 결과, 계층 서브 회로의 경계의 블록이 소멸하여 원래 계층 서브 회로의 단자를 복원할 수 없는 사태는 발생하지 않는다.
또한, 지연 최적화 방법으로서 논리합성에 의한 계층 서브 회로 내의 최적화뿐만 아니라, 플로어 플랜을 사용한 최적화와, 계층 서브회로 간의 배선에 버퍼나 인버터를 삽입하는 것에 의한 최적화를 실행하여, 관련 논리회로에 적합한 지연 최적화를 선택할 수 있으며, 소요 면적이 작고 또 동작 주파수가 큰 논리회로를 효율 높게 설계할 수 있다는 효과가 있다.
비록 본 발명에서는 예시적인 실시예에 대해서 서술 및 설명하였지만, 당해분야의 통상의 전문가에 의해, 본 발명의 정신과 범주로부터 일탈함이 없이, 본 발명에 이전의 여러 가지 변화, 생략 또는 부가될 수 있는 것으로 이해되어야 한다. 따라서, 본 발명은 앞에 개시된 특정 실시예에 한정하는 것이 아니라, 첨부된 청구범위에 개시된 태양에 대해, 본 발명의 범주 내에서 구현될 수 있는 모든 가능한 실시예들과 등가물들을 포함시키려는 것으로 이해되어져야 한다.

Claims (12)

  1. (정정)
    계층 구조를 갖는 논리 회로를 입력하는 계층 회로 사양 입력 수단,
    입력된 상기 논리 회로에 있어서 지연 시간의 제약 조건을 나타내는 소정의 정보로 부여된 지연 제약을 입력하는 지연 제약 입력 수단,
    입력된 상기 논리 회로 및 상기 지연 제약을 저장하고 유지하는 회로 데이터 베이스 수단,
    상기 회로 데이터 베이스 수단으로 유지되는 상기 논리 회로에 대한 타이밍 해석을 실행하는 타이밍 수단,
    상기 회로 데이터베이스 수단으로 유지되는 상기 논리 회로의 최적화 가능성에 의거하여 상기 논리 회로를 구성하는 각 계층 서브 회로로 상기 지연 제약을 분배하는 지연 제약 분배 수단,
    상기 지연 제약 분배 수단에 의하여 상기 논리 회로의 각 계층 서브 회로로 분배된 상기 지연 제약에 의거하여, 상기 논리 회로의 지연 최적화를 실행하는 최적화 수단,
    상기 논리 회로에 대한 타이밍 해석에 사용되는 라이브러리 정보를 입력하는 라이브러리 입력 수단,
    입력된 상기 라이브러리 정보를 유지하는 라이브러리 데이터 베이스 수단, 및
    최적화가 실시된 논리 회로를 출력하는 출력 수단으로 구성되는 것을 특징으로 하는 계층 구조를 갖는 논리 회로를 최적화하는 최적화 장치.
  2. (정정)
    제 1 항에 있어서,
    상기 지연 제약 분배 수단이 처리 대상인 논리 회로 또는 그 부분 회로를 구성하는 경로로부터, 슬랙이 증가하는 순서로 경로를 선택하여, 상기 경로 상에서 조합 회로의 최적화 가능성을 설정하고, 상기 최적화 가능성에 의거하여 상기 각 조합 회로에 대해 지연 제약을 설정하는 것을 특징으로 하는 논리 회로 최적화 장치.
  3. (정정)
    제 1 항에 있어서,
    상기 지연 제약 분배 수단이 처리 대상인 논리 회로 또는 그 부분 회로를 구성하는 경로로부터 소정의 조건하에서 순서대로 경로를 선택하여, 상기 경로 상에서 조합 회로의 최적화 가능성을 설정하고, 상기 조합 회로의 최적화가 실행된 경우 회로 면적의 증가 비율 과 단축되는 지연 시간과의 관계를 고려하여 상기 회로 면적의 증가가 최소가 되도록 지연 제약을 설정하는 것을 특징으로 하는 논리 회로 최적화 장치.
  4. (정정)
    제 1 항에 있어서,
    상기 지연 제약 분배 수단이 상기 지연 제약을 상기 논리 회로를 구성하는 각 계층 서브 회로 및 배선으로 분배하고, 상기 최적화 수단이 계층 서브 회로 각각에 대해 상기 논리 회로를 최적화하고 상기 논리 회로를 구성하는 각 계층 서브 회로의 레이아웃을 나타내는 플로어 플랜에 의거하여 상기 계층 서브 회로간 배선의 지연 시간을 최소화하는 것을 특징으로 하는 논리회로 최적화 장치.
  5. (정정)
    제 1 항에 있어서,
    상기 지연 제약 분배 수단이 처리 대상인 논리 회로 또는 그 부분 회로를 구성하는 경로로부터 슬랙이 증가하는 순으로 경로를 선택하고, 상기 경로 상에 조합 회로의 최적화 가능성을 설정하고, 상기 최적화 가능성에 의거하여 상기 각 조합 회로마다 지연 제약을 설정하며, 상기 논리 회로를 구성하는 각 계층 서브 회로의 레이아웃을 나타낸 플로어 플랜에 의거하여 조합 회로 간 및 계층 서브 회로간의 배선 상에 지연 제약을 설정하고,
    상기 최적화 수단이 각 계층 서브 회로에 대해 상기 논리 회로를 최적화하여, 상기 플로어 플랜에 의거하여 상기 계층 서브 회로간의 배선의 지연 시간을 최소화하는 것을 특징으로 하는 논리회로 최적화 장치.
  6. (정정)
    제 1 항에 있어서,
    상기 지연 제약 분배 수단이 처리 대상인 논리 회로 또는 그 부분 회로를 구성하는 경로로부터 소정의 조건하에서 순서대로 경로를 선택하고, 상기 경로 상에 조합 회로의 최적화 가능성을 설정하며, 상기 조합 회로가 최적화를 이룬 경우 회로 면적의 증가 비율과 단축되는 지연 시간과의 관계를 고려하여, 상기 회로 면적의 증가가 최소가 되도록 지연 제약을 설정하고, 또한 상기 논리 회로를 구성하는 각 계층 서브 회로의 레이아웃을 나타내는 플로어 플랜에 의거하여 조합 회로간 및 계층 서브 회로간의 배선 상에 지연 제약을 설정하고,
    상기 최적화 수단이 각 계층 서브 회로에 대해 상기 논리 회로를 최적화, 상기 플로어 플랜에 의거하여 상기 계층 서브 회로간의 배선의 지연 시간을 최소화하는 것을 특징으로 하는 논리회로 최적화 장치.
  7. (정정)
    계층 구조를 갖는 논리 회로를 입력하는 제 1 단계,
    입력된 상기 논리 회로에 있어서 지연 시간의 제약 조건을 나타내는 소정의 정보로 부여된 지연 제약을 입력하는 제 2 단계,
    입력된 상기 논리 회로에 대하여 타이밍 해석을 행하는 제 3 단계,
    입력된 상기 논리 회로의 최적화 가능성에 의거하여 상기 논리 회로를 구성하는 각 계층 서브 회로로 상기 지연 제약을 분배하는 제 4 단계,
    상기 논리 회로의 각 계층 서브 회로로 전달된 상기 지연 제약에 의거하여 상기 논리 회로의 지연 최적화를 행하는 제 5 단계, 및
    최적화된 논리 회로를 출력하는 제 6 단계를 구성하는 것을 특징으로 하는 계층 구조를 갖는 논리 회로를 최적화하는 최적화 방법.
  8. 제 7 항에 있어서, 상기 지연 제약을 분배하는 제 3 단계는
    처리 대상인 논리 회로 또는 그 부분 회로를 구성하는 경로로부터 슬랙이 증가하는 순으로 경로를 선택해서 꺼내는 단계,
    상기 꺼낸 경로 상의 조합 회로에 최적화 가능성이 설정되어 있는지 여부를 판정하는 단계,
    상기 조합 회로에 대해 최적화 가능성이 설정되어 있지 않는 경우에 최적화 가능성을 설정하는 단계, 및
    상기 최적화 가능성에 의거하여 상기 각 조합 회로마다 지연 제약을 설정하는 단계로 구성되는 것을 특징으로 하는 논리회로 최적화 방법.
  9. (정정)
    제 7 항에 있어서,
    상기 지연 제약을 분배하는 제 3 단계가,
    처리 대상인 논리 회로 또는 그 부분 회로를 구성하는 경로로부터 임의의 조건하에서 순서대로 경로를 선택해서 꺼내는 단계,
    상기 꺼낸 경로 상의 조합 회로에 최적화 가능성이 설정되어 있는지 여부를 판정하는 단계,
    상기 조합 회로에 최적화 가능성이 설정되어 있지 않는 경우에 최적화 가능성을 설정하는 단계, 및
    상기 조합 회로가 최적화된 경우에 회로 면적의 증가 비율 및 단축되는 지연 시간과의 관계를 고려하여, 상기 회로 면적의 증가가 최소가 되도록 지연 제약을 설정하는 단계를 구성으로 하는 것을 특징으로 하는 논리회로 최적화 방법.
  10. (정정)
    계층 구조를 갖는 논리 회로를 입력하는 제 1 단계,
    입력된 상기 논리 회로에 있어서 지연 시간의 제약 조건을 나타내는 소정의 정보로 부여된 지연 제약을 입력하는 제 2 단계,
    입력된 상기 논리 회로에 대하여 타이밍 해석을 실행하는 제 3 단계,
    입력된 상기 논리 회로의 최적화 가능성에 의거하여, 상기 논리 회로를 구성하는 각 계층 서브 회로 및 각 배선으로 상기 지연 제약을 분배하는 제 4 단계,
    상기 논리 회로의 각 계층 서브 회로로 전달된 상기 지연 제약에 의거하여, 상기 논리 회로의 지연 최적화를 행하는 제 5 단계, 및
    최적화된 논리 회로를 출력하는 제 6 단계로 구성되는 것을 특징으로 하는 계층 구조를 갖는 논리 회로를 최적화하는 최적화 방법.
  11. (정정)
    제 10 항에 있어서,
    상기 지연 제약을 분배하는 제 3 단계가,
    처리 대상인 논리 회로 또는 그 부분 회로를 구성하는 경로로부터 슬랙이 증가하는 순으로 경로를 선택해서 꺼내는 단계,
    상기 꺼낸 경로 상의 조합 회로 및 배선에 대해 최적화 가능성이 설정되어 있는지 여부를 판정하는 단계,
    상기 조합 회로 또는 상기 배선에 최적화 가능성이 설정되어 있지 않는 경우에 최적화 가능성을 설정하는 단계, 및
    상기 최적화 가능성에 의거하여 상기 각 조합 회로에 대해 지연 제약을 설정하는 단계로 구성되는 것을 특징으로 하는 논리회로 최적화 방법.
  12. (정정)
    제 10 항에 있어서,
    상기 지연 제약을 분배하는 제 3 단계가,
    처리 대상인 논리 회로 또는 그 부분 회로를 구성하는 경로로부터 임의의 조건하에서 순서대로 경로를 선택해서 꺼내는 단계,
    상기 꺼낸 경로 상의 조합 회로 및 각 배선에 대해 최적화 가능성이 설정되어 있는지 여부를 판정하는 단계,
    상기 조합 회로 또는 상기 배선에 최적화 가능성이 설정되어 있지 않는 경우에 최적화 가능성을 설정하는 단계,
    상기 조합 회로 및 상기 배선이 최적화된 경우에 회로 면적의 증가 비율 및 단축되는 지연 시간과의 관계를 고려하여, 상기 회로 면적의 증가가 최소가 되도록 지연 제약을 설정하는 단계로 구성되는 것을 특징으로 하는 논리회로 최적화 방법.
KR1019970002747A 1996-01-30 1997-01-30 논리회로 최적화 장치 및 그 방법 KR100249251B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP8014049A JP2874628B2 (ja) 1996-01-30 1996-01-30 論理回路の最適化装置及びその方法
JP96-014049 1996-01-30

Publications (2)

Publication Number Publication Date
KR970059940A KR970059940A (ko) 1997-08-12
KR100249251B1 true KR100249251B1 (ko) 2000-03-15

Family

ID=11850248

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970002747A KR100249251B1 (ko) 1996-01-30 1997-01-30 논리회로 최적화 장치 및 그 방법

Country Status (4)

Country Link
US (1) US5883808A (ko)
JP (1) JP2874628B2 (ko)
KR (1) KR100249251B1 (ko)
TW (1) TW322562B (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2910723B2 (ja) * 1997-04-09 1999-06-23 日本電気株式会社 半導体集積回路の設計支援方法及びその方法を用いたシステム及びその方法を記録した記録媒体
US6401231B1 (en) * 1997-04-25 2002-06-04 Cadence Design Systems, Inc. Method and apparatus for performing both negative and positive slack time budgeting and for determining a definite required constraint during integrated circuit design
US6090151A (en) * 1997-07-01 2000-07-18 Motorola, Inc. Electronic device parameter estimator and method therefor
US6292926B1 (en) * 1997-07-03 2001-09-18 Matsushita Electric Industrial Co., Ltd. Functional module model, pipelined circuit synthesis and pipelined circuit device
US6044209A (en) * 1997-09-15 2000-03-28 International Business Machines Corporation Method and system for segmenting wires prior to buffer insertion
US6360350B1 (en) * 1997-10-07 2002-03-19 International Business Corporation Method and system for performing circuit analysis on an integrated-circuit design having design data available in different forms
US6430726B1 (en) * 1997-12-19 2002-08-06 Nec Corporation Logic circuit synthesizing method and logic synthesizing system
JP3090136B2 (ja) 1999-01-25 2000-09-18 日本電気株式会社 論理合成用制約生成処理装置及び論理合成用制約生成処理方法
US6553550B1 (en) * 1999-03-05 2003-04-22 Peter Menegay Method and apparatus for computing delay correlation effects in digital circuits
US6412101B1 (en) * 1999-06-08 2002-06-25 Hewlett-Packard Company Simultaneous path optimization (SPO) system and method
JP4315532B2 (ja) * 1999-08-04 2009-08-19 株式会社ルネサステクノロジ 配線データ生成方法および当該方法により設計される大規模集積回路装置
US6678644B1 (en) * 1999-09-13 2004-01-13 Synopsys, Inc. Integrated circuit models having associated timing exception information therewith for use with electronic design automation
KR100335376B1 (ko) * 1999-11-19 2002-05-06 조양호 디지털회로의 지연시간 조건 재합성 시스템 및 그 방법
US7036104B1 (en) 1999-12-06 2006-04-25 International Business Machines Corporation Method of and system for buffer insertion, layer assignment, and wire sizing using wire codes
US7013253B1 (en) 2000-04-03 2006-03-14 Magma Design Automation, Inc. Method and apparatus for calculation of crosstalk noise in integrated circuits
JP4031905B2 (ja) 2000-11-09 2008-01-09 富士通株式会社 回路設計装置及び回路設計方法
US6857116B1 (en) * 2000-11-15 2005-02-15 Reshape, Inc. Optimization of abutted-pin hierarchical physical design
JP3992947B2 (ja) * 2001-06-22 2007-10-17 富士通株式会社 論理回路遅延最適化システム、論理回路遅延最適化方法、及びプログラム
WO2003021499A1 (en) 2001-08-29 2003-03-13 Morphics Technology Inc. Integrated circuit chip design
US6526543B1 (en) * 2001-11-29 2003-02-25 International Business Machines Corporation Method, system, and computer program product for optimizing logic during synthesis of logic designs
JP2004102703A (ja) * 2002-09-10 2004-04-02 Matsushita Electric Ind Co Ltd レジスタ転送レベル設計支援装置
US6981233B2 (en) * 2003-02-24 2005-12-27 Cadence Design Systems, Inc. Method for analyzing path delays in an IC clock tree
US7178118B2 (en) 2003-05-30 2007-02-13 Synplicity, Inc. Method and apparatus for automated circuit design
JP4418708B2 (ja) * 2004-05-07 2010-02-24 パナソニック株式会社 タイミング制約作成方法
JP4389701B2 (ja) * 2004-07-09 2009-12-24 日本電気株式会社 集積回路階層設計システム及び集積回路階層設計プログラム
US7584449B2 (en) * 2004-11-22 2009-09-01 Fulcrum Microsystems, Inc. Logic synthesis of multi-level domino asynchronous pipelines
US7240310B2 (en) * 2004-12-07 2007-07-03 International Business Machines Corporation Method, system and program product for evaluating a circuit
US7424693B2 (en) * 2005-10-20 2008-09-09 Agere Systems Inc. Methods for measurement and prediction of hold-time and exceeding hold time limits due to cells with tied input pins
US7350171B2 (en) * 2005-11-17 2008-03-25 Lizheng Zhang Efficient statistical timing analysis of circuits
US7681158B2 (en) * 2007-04-09 2010-03-16 Kabushiki Kaisha Toshiba Delay budget allocation with path trimming
US10831958B2 (en) * 2018-09-27 2020-11-10 International Business Machines Corporation Integrated circuit design with optimized timing constraint configuration

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970002747A (ko) * 1995-06-09 1997-01-28 심상철 환형연결망을 지닌 화상검사용 병렬 다중컴퓨터시스템

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095454A (en) * 1989-05-25 1992-03-10 Gateway Design Automation Corporation Method and apparatus for verifying timing during simulation of digital circuits
US5210700A (en) * 1990-02-20 1993-05-11 International Business Machines Corporation Automatic delay adjustment for static timing analysis
JP2980348B2 (ja) * 1990-06-20 1999-11-22 株式会社東芝 論理回路の合成装置
US5353433A (en) * 1990-09-06 1994-10-04 Digital Equipment Corporation Method and apparatus for organizing and analyzing timing information
US5365463A (en) * 1990-12-21 1994-11-15 International Business Machines Corporation Method for evaluating the timing of digital machines with statistical variability in their delays
JPH04320575A (ja) * 1991-04-19 1992-11-11 Nec Corp 論理合成方法およびその装置
US5381524B2 (en) * 1991-11-12 1997-07-08 Chronology Corp Automated development of timing diagrams for electrical circuits
JPH05274390A (ja) * 1992-03-30 1993-10-22 Matsushita Electric Ind Co Ltd 回路素子割り付け方法及び遅延最適化方法並びに論理設計システム
US5508937A (en) * 1993-04-16 1996-04-16 International Business Machines Corporation Incremental timing analysis
US5581738A (en) * 1993-06-07 1996-12-03 Xilinx, Inc. Method and apparatus for back-annotating timing constraints into simulation models of field programmable gate arrays
US5461576A (en) * 1993-09-01 1995-10-24 Arcsys, Inc. Electronic design automation tool for the design of a semiconductor integrated circuit chip
US5544071A (en) * 1993-12-29 1996-08-06 Intel Corporation Critical path prediction for design of circuits
US5475607A (en) * 1994-04-12 1995-12-12 International Business Machines Corporation Method of target generation for multilevel hierarchical circuit designs
US5636372A (en) * 1994-09-30 1997-06-03 International Business Machines Corporation Network timing analysis method which eliminates timing variations between signals traversing a common circuit path
US5726902A (en) * 1995-06-07 1998-03-10 Vlsi Technology, Inc. Method and apparatus for characterizing timing behavior of datapaths for integrated circuit design and fabrication
US5778216A (en) * 1995-06-30 1998-07-07 Cadence Design Systems, Inc. Method for hierarchical time drive circuit layout by rebudgeting timing constraints of plurality of logical blocks after placement
US5790830A (en) * 1995-12-29 1998-08-04 Synopsys, Incorporated Extracting accurate and efficient timing models of latch-based designs

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970002747A (ko) * 1995-06-09 1997-01-28 심상철 환형연결망을 지닌 화상검사용 병렬 다중컴퓨터시스템

Also Published As

Publication number Publication date
KR970059940A (ko) 1997-08-12
TW322562B (ko) 1997-12-11
JP2874628B2 (ja) 1999-03-24
US5883808A (en) 1999-03-16
JPH09212533A (ja) 1997-08-15

Similar Documents

Publication Publication Date Title
KR100249251B1 (ko) 논리회로 최적화 장치 및 그 방법
US6080201A (en) Integrated placement and synthesis for timing closure of microprocessors
CN101187957B (zh) 设计集成电路的公共时钟域中的多个锁存器的布图的系统和方法
US5751596A (en) Automated system and method for identifying critical timing paths in integrated circuit layouts for use with automated circuit layout system
US6993738B2 (en) Method for allocating spare cells in auto-place-route blocks
CN101206686A (zh) 设计时钟域中锁存器的布图的方法和计算机系统
US20050268268A1 (en) Methods and systems for structured ASIC electronic design automation
JP2002500435A (ja) タイミング閉鎖方法
US10915685B1 (en) Circuit stage credit based approaches to static timing analysis of integrated circuits
US11030383B2 (en) Integrated device and method of forming the same
JP2001357090A (ja) 論理合成方法及び論理合成装置
US20220300688A1 (en) Fast synthesis of logical circuit design with predictive timing
US9047434B2 (en) Clustering for processing of circuit design data
US9646126B1 (en) Post-routing structural netlist optimization for circuit designs
US7100140B2 (en) Generation of graphical congestion data during placement driven synthesis optimization
US20230274064A1 (en) On-the-fly multi-bit flip flop generation
US6968524B2 (en) Method and apparatus to optimize an integrated circuit design using transistor folding
US6557144B1 (en) Netlist resynthesis program based on physical delay calculation
US7496870B2 (en) Method of selecting cells in logic restructuring
US7149993B1 (en) Method, system, and apparatus for incremental design in programmable logic devices using floorplanning
Stefanidis et al. Design optimization by fine-grained interleaving of local netlist transformations in Lagrangian relaxation
Kutzschebauch et al. Layout driven decomposition with congestion consideration
Singh et al. Register-Transfer-Level Design for Application-Specific Integrated Circuits
US11836000B1 (en) Automatic global clock tree synthesis
US11526642B1 (en) Clock network power estimation for logical designs

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

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee