저작자표시 비영리 공연 및 방송할 수...

32
저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의 조건을 따르는 경우에 한하여 자유롭게 l 이 저작물을 복제, 배포, 전송, 전시, 공연 및 방송할 수 있습니다. l 이차적 저작물을 작성할 수 있습니다. 다음과 같은 조건을 따라야 합니다: l 귀하는, 이 저작물의 재이용이나 배포의 경우, 이 저작물에 적용된 이용허락조건 을 명확하게 나타내어야 합니다. l 저작권자로부터 별도의 허가를 받으면 이러한 조건들은 적용되지 않습니다. 저작권법에 따른 이용자의 권리는 위의 내용에 의하여 영향을 받지 않습니다. 이것은 이용허락규약 ( Legal Code) 을 이해하기 쉽게 요약한 것입니다. Disclaimer 저작자표시. 귀하는 원저작자를 표시하여야 합니다. 비영리. 귀하는 이 저작물을 영리 목적으로 이용할 수 없습니다. 동일조건변경허락. 귀하가 이 저작물을 개작, 변형 또는 가공했을 경우 에는, 이 저작물과 동일한 이용허락조건하에서만 배포할 수 있습니다.

Upload: others

Post on 02-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

저 시-비 리-동 조건 경허락 2.0 한민

는 아래 조건 르는 경 에 한하여 게

l 저 물 복제, 포, 전송, 전시, 공연 송할 수 습니다.

l 차적 저 물 성할 수 습니다.

다 과 같 조건 라야 합니다:

l 하는, 저 물 나 포 경 , 저 물에 적 허락조건 확하게 나타내어야 합니다.

l 저 터 허가를 러한 조건들 적 지 않습니다.

저 에 른 리는 내 에 하여 향 지 않습니다.

것 허락규약(Legal Code) 해하 쉽게 약한 것 니다.

Disclaimer

저 시. 하는 원저 를 시하여야 합니다.

비 리. 하는 저 물 리 적 할 수 없습니다.

동 조건 경허락. 하가 저 물 개 , 형 또는 가공했 경에는, 저 물과 동 한 허락조건하에서만 포할 수 습니다.

Page 2: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

공학석사학위논문

클락 타이밍 위반을 해결하기 위한 다종의

가변 지연 버퍼 활용

Utilization of Multiple Types of Adjustable Delay Buffers

for Resolving Clock Timing Violation

2014년 2월

서울대학교 대학원

전기 컴퓨터 공학부

박 기 태

Page 3: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

공학석사학위논문

클락 타이밍 위반을 해결하기 위한 다종의

가변 지연 버퍼 활용

Utilization of Multiple Types of Adjustable Delay Buffers

for Resolving Clock Timing Violation

2014년 2월

서울대학교 대학원

전기 컴퓨터 공학부

박 기 태

Page 4: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

클락 타이밍 위반을 해결하기 위한

다종의 가변 지연 버퍼 활용

Utilization of Multiple Types of Adjustable Delay

Buffers for Resolving Clock Timing Violation

지도교수 김 태 환

이 논문을 공학석사 학위논문으로 제출함

2014년 2월

서울대학교 대학원

전기 컴퓨터 공학부

박 기 태

박기태의 공학석사 학위논문을 인준함

2014년 2월

위 원 장 : 최 기 영 ;

부위원장 : 김 태 환 ;

위 원 : 김 재 하 ;

Page 5: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

i

초록

클락 트리(clock tree) 합성에 있어 클락 스큐 제약조건(clock skew

constraint)을 만족시키는 것은 매우 중요한 일이다. 또한 집적회로 설계의

추세가 사용 목적(application)에 따라 공급 전압(supply voltage)이 변하는 다중

전력 모드(multiple power mode)를 지원하는 쪽으로 증가하고 있는데, 클락

신호 지연시간(clock signal delay) 또한 실행 도중 다양하게 변하기 때문에 모든

전력 모드에서 클락 스큐 제약조건을 만족시키는 것은 더욱 어려운 일이 된다.

최근의 연구들은 지연시간을 다양하게 조정할 수 있는 가변 지연

버퍼(adjustable delay buffer, ADB)를 사용하면 다중 전력 모드 하의 클락 스큐

변화 문제를 효과적으로 해결할 수 있음을 보였다. 하지만, 이전 ADB 할당에

대한 연구들은 본질적으로 두 가지 치명적인 문제들을 수반하고 있는데, 이는

(1) ADB에 의해 조정된 지연시간은 항상 증가한다는 점과 (2) (저비용의) 버퍼

사이징(buffer sizing)이 앞서서 고려되지 않았거나 전혀 고려되지 않았다는

점이다. 두 가지 한계를 극복하는 것이 클락 스큐 제약조건을 해결하는데

얼마나 효과적인지 살펴보기 위해, CADB(capacitor based ADB, 캐패시터

기반의 ADB)와 IADB(inverter based ADB, 인버터 기반의 ADB)라 칭할 두

종류의 ADB 의 특성을 묘사하고, IADB 에 의해 조정된 지연시간이

감소한다는 것을 보일 것이다. 또한 몇 가지 다중 전력 모드 하의 클락

트리에서 클락 스큐 위반(violation) 문제가 버퍼 사이징 기법과 소수의

IADB와 CADB의 사용을 동시에 적용함으로써 해결될 수 있음을 보일 것이다.

Page 6: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

ii

본 논문에서 제안하는 버퍼 사이징과 ADB 할당이 더해진 알고리즘은 클락

신호 지연시간을 증가/감소시키기 위한 (저비용의) 버퍼 사이징, IADB 의

할당을 통한 지연시간 감소, 그리고 CADB의 할당을 통한 지연시간의 증가의

세 단계로 이뤄져 있다. 90~130ps 의 클락 스큐 제한조건 하에서 진행된

벤치마크 실험 결과에선, 이전까지 가장 좋은 것으로 알려진 CADB

알고리즘에 비해, 본 논문에서 제안된 버퍼 사이징, CADB, IADB들을 활용한

알고리즘을 사용했을 때 56.3% 적은 수의 ADB 가 사용되고, 클락

지연시간(clock latency)은 11.5% 줄어들며, ADB 가 차지하는 면적은 50.3%

감소하는 것으로 나타났다.

주요어 : 클락 스큐, 가변 지연 버퍼, ADB, IADB, 다중 전력 모드

학 번 : 2012-20767

Page 7: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

iii

목차

초록 i

목차 iii

표 목차 iv

그림 목차 v

제 1 장 서론 1

제 2 장 가변 지연 버퍼의 특성 4

제 3 장 연구 동기 예제 7

제 4 장 버퍼 사이징이 더해진 ADB 할당 알고리즘 9

제 5 장 실험 결과 1 5

제 6 장 결론 1 9

참고문헌 2 0

ABSTRACT 2 2

Page 8: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

iv

표 목차

표 1 ADB-mix와 ADB-PULLUP의 ADB 할당 결과 비교 ...................... 18

Page 9: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

v

그림 목차

그림 1 ADB 구현 사례의 논리 회로 구조. ............................................... 6

그림 2 CADB, IADB와 일반 버퍼의 지연시간 범위 비교 ................... 6

그림 3 ADB 할당 결과를 비교하기 위한 예시 ....................................... 8

그림 4 ADB-mix의 단계별 과정 묘사. .................................................... 11

Page 10: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

제 1 장 서론

동기 회로(synchronous circuit) 설계에서 사용되는 모든 순차 소자(sequential

element)는 클락 신호(clock signal)라 불리는 공통된 신호에 의해 동기화된다.

이상적으론 클락 신호는 모든 순차 소자에 동시에 도착해야 한다. 하지만

실제로는 신호 경로 상의 변화로 인해서, 클락원(clock source)과 순차 소자

사이의 클락 신호 경로들 사이에 지연 시간 차이가 발생한다. 클락 신호들의

도착 시간(arrival time)들 중 가장 큰 시간 차이는 클락 스큐(clock skew)라고

불린다. 클락 스큐를 0으로 만드는 것은 어렵기 때문에, 클락 스큐의 변동을

견뎌낼 수 있을 만큼 클락 스큐에 제한을 거는 것이 현실적인 대안이다.

클락 스큐 최적화를 위한 선행 연구들로는 클락 토폴로지 생성(clock

topology generation), 클락 라우팅(clock routing), 클락 버퍼 삽입 및 사이즈

조절(clock buffer insertion and sizing), 와이어 사이즈 조절(wire sizing) 등과

같은 기법에 대한 것 등이 있다([1, 2, 3, 4, 5, 6, 7]). 이 연구들은 모두 합성된

클락 트리(clock tree)가 단일 전압 모드(single voltage mode) 조건 하의 설계에

사용된다는 가정을 하고 있다. 다중 전압 혹은 전력 모드(multiple voltage/power

mode) 조건 하의 설계에선, 클락 경로 상의 신호 지연 시간이 적용된 전력

모드에 따라 변할 수 있다. 이는 한 전력 모드에서 클락 스큐 제약조건을

만족하도록 합성된 클락 트리가 다른 전력 모드의 클락 스큐 제약조건은

만족하지 못할 수 있음을 뜻한다. 만약 선행 연구들이 모든 전력 모드의 클락

스큐 제약조건을 고려했더라도, 합성된 클락 트리가 매우 긴

Page 11: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

배선길이(wirelength)를 가질 가능성이 높거나, 모든 전력 모드의 클락 스큐

제약조건을 만족하는 클락 트리가 없을 수도 있다.

반면, 가변 지연 버퍼(adjustable delay buffer, ADB) 삽입과 같은 포스트-

실리콘 튜닝(post-silicon tuning) 기법([8, 9, 10, 11])은 공정 및 환경 변화(process

and environment variations)에 따른 타이밍 문제를 해결하기 위해 많은 곳에서

사용되는 방법이다. ADB 의 지연 시간은 지연 제어 입력(delay control

input)[12]에 의해 조절될 수 있기 때문에, 공정 변화에 의한 클락 스큐 변화는

제조가 완료된 후 ADB들을 적절히 삽입함으로써 조정될 수 있다. 다중 전력

모드 클락 트리에 ADB를 사용하는 발상의 핵심은 일부 평범한 클락 버퍼를

ADB 들로 교체하여 모든 전력 모드에서 클락 스큐 제약조건을 만족시키는

것이다. 예를 들어 두 전력 모드 M-1과 M-2를 사용하는 설계에서는, M-1에서

조절된 클락 트리 내부 ADB들의 지연시간이 M-2에서 클락 스큐 제약조건을

만족시키기 위해 다시 조절된다. ADB 논리 소자는 일반 버퍼보다 훨씬 크고

제어 라인을 필요로 하기 때문에, 가장 중요한 문제는 사용되는 ADB의 수를

최소화하는 것이다.

[13, 14]에서는 ADB 의 지연시간을 최소화하는 선형시간(linear-time) 최적

알고리즘을 제안하고 ADB 최소 할당 문제를 그리디 알고리즘(greedy

algorithm)을 사용해서 휴리스틱(heuristic)한 방법으로 풀어냈다. [15]에선

하향식(top-down)으로 알고리즘을 삽입한 뒤 상향식(bottom-up)으로 ADB 를

제거하는 두 단계로 구성된 알고리즘을 제안했다. [16]에서는 ADB 삽입

문제를 각 전력 모드에서 최적으로 해결하는 선형시간 알고리즘을 제안했다.

하지만, 개별 전력 모드의 최적인 결과를 더하는 것이 모든 전력 모드에서

Page 12: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

최적인 결과가 되지는 않는다. 최근, [17]에서는 ADB 할당 문제를 재조명하며,

모든 전력 모드에서 삽입되는 ADB 숫자를 최소화하는 문제를 최적으로 푸는

O(n log n)시간 알고리즘을 제안했다. 본 논문은 선행 연구들의 두 가지

기초적인 단점을 극복하고 있다. 그 단점들은 (1) ADB 의 지연시간이 항상

증가한다는 것 (2) ADB 역할을 대신할 (저비용의) 버퍼 사이징 기법을

시도하지 않았다는 것 두 가지다. 본 논문의 핵심적인 기여는 다음과 같다:

1. CADB(capacitor based ADB)와 IADB(inverter based ADB)라고 칭할 두

가지 ADB의 특성을 묘사한다. 또한 IADB에 의해 조절된 지연시간이 감소될

수 있으며, 이를 이용해 클락 트리의 일반 버퍼를 IADB 로 교체함으로써

IADB에 의해 드라이브(drive)되는 플립-플랍(flip-flop, FF)에 도달하는 신호의

도착 시간을 줄일 수 있음을 보인다.

2. 다중 전력 모드 클락 트리의 클락 스큐 위반(violation)이 버퍼 사이징

기법의 적용과 소수의 ADB를 사용함으로써 해결될 수 있음을 보인다. 다시

말해, 다중 전력 모드 설계에서 클락 스큐 위반을 해결하기 위해 CADB뿐만

아니라 버퍼 사이징과 IADB 를 섞어서 사용하면 효과적이고 효율적일 때가

있다.

3. 버퍼 사이징과 CADB, IADB를 섞어서 할당하는 알고리즘을 제안한다.

이 알고리즘은 첫째, 버퍼 사이징을 사용한 클락 신호 지연시간의 증가 혹은

감소, 둘째, IADB 할당을 통한 지연시간의 감소, 셋째, CADB의 할당을 통한

지연시간의 증가의 세 단계로 이뤄진다.

4. 선행 연구 중 가장 우수한 CADB 단독 사용에 비해, CADB, IADB와 버퍼

사이징을 동시에 사용한 것이 설계비용을 줄이는데 얼마나 더 효율적인지

Page 13: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

평가하기 위한 종합적인 실험을 수행했다. 결과적으로, 본 연구에서 제시한

버퍼 사이징을 더한 ADB 할당 알고리즘은 90~130ps 의 클락 스큐 제한조건

하에서 평균적으로 56.3% 적은 수의 ADB 를 사용하였고, 최장 지연시간을

11.5% 감소시켰으며, ADB가 차지하는 면적은 50.3% 감소하였다.

제 2 장 가변 지연 버퍼의 특성

그림 1(a)의 캐패시터 기반 ADB(capacitor based ADB, CADB)와 그림 1(b)의

인버터 기반 ADB(inverter based ADB, IADB)는 널리 쓰이는 두 종류의

ADB들이다. 그림 1(a)의 CADB는 인버터 두 개, 캐패시터 뱅크(capacitor bank),

그리고 캐패시터 뱅크 제어기(capacitor bank controller)로 구성되어 있다. 만약

캐패시터 뱅크 내부의 캐패시터들이 모두 같은 크기를 갖는다면, CADB 의

지연시간은 뱅크 내부에 활성화된 캐패시터의 숫자에 선형으로 비례한다. 즉,

더 많은 캐패시터가 활성화될수록, 좌측 트랜지스터의 출력 부하(output

load)가 증가하기 때문에 CADB 의 지연시간도 증가하게 된다. 반면, 그림

1(b)의 IADB는 두 인버터와 SEL 핀들에 연이어 연결된 인버터 체인(inverter

chain)들로 구성된다. SEL 신호는 다양한 드라이빙 모드(driving mode)를

제공하는데, IADB의 지연시간은 이에 맞춰서 조절된다. 예를 들어 모든 SEL

신호가 논리값 0으로 설정된 경우, 각 SEL 핀들에 연결된 인버터들이 작동을

멈춘다. 따라서 왼쪽 끝의 오른쪽 끝의 SEL 핀이 없는 인버터들만이 출력을

드라이브하게 된다. ADB 의 지연시간은 SEL 신호의 논리값을 1 로 바꿔

Page 14: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

연결된 인버터들을 활성화함으로써 조절될 수 있다. CADB와 달리 IADB에선

더 많은 SEL 신호가 켜질수록 더 많은 양의 전류가 충전되거나 방전되기

때문에 지연시간이 증가하게 된다.

그림 1 의 CADB 와 IADB 의 구현을 위해서 45nm Nangate Open Cell

Library 의 일반 버퍼 BUF_X8 과 BUF_X16 과 함께 HSPICE 시뮬레이션을

수행했다. CADB 와 IADB 는 BUF_X8 의 설계를 토대로 입력단과 출력단

인버터 사이에 캐패시터 뱅크와 인버터 체인을 연결하여 구현하였다. 그림

2 는 CADB, IADB 와 두 종의 버퍼의 지연시간 특성을 나타내고 있다. 다른

버퍼들의 지연시간과는 달리, CADB 의 지연시간은 활성화된 캐피시터의

숫자가 늘어날수록 증가하고, 반면 IADB 의 지연시간은 활성화된 인버터

체인의 개수가 증가할수록 줄어들게 된다. 그림 2의 곡선들은 다중 전력 모드

설계에서 클락 스큐를 최적화하기 위해선, CADB만 사용하는 것보다 IADB와

버퍼 사이징을 적절하게 사용하는 편이 설계 비용을 상당히 줄일 수 있고 더

나은 성능을 얻을 수 있다는 점을 보여준다.

Page 15: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

그림 1. ADB 구현 사례의 논리 회로 구조. (a) 캐패시터를 기반으로 한

ADB(CADB)[18, 16]. (b) 인버터 기반의 ADB(IADB) [19, 15].

그림 2. CADB, IADB와 일반 버퍼의 지연시간 범위 비교.

Page 16: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

제 3 장 연구 동기 예제

그림 3은 CADB만 사용하여 지연시간을 조절했을 때[17]와 CADB, IADB,

버퍼 사이징을 섞어서 사용했을 때의 ADB 할당 결과를 비교한 것이다. 그림

3(a)의 붉은 숫자들은 4개의 CADB가 삽입되었을 때 FF s1, s2, …, s12의 갱신된

신호 도착 시간을 나타낸 것이다(CADB 의 지연시간 증가량은 각 CADB 의

옆에 적혀있다.). 가장 이른 지연시간이 Mode-1에선 8에서 20으로 증가했고,

Mode-2 에선 7 에서 22 로 증가한 것으로 되어있다. 반면, 그림 3(b)의 붉은

숫자들은 CADB(노란색)하나, IADB(푸른색) 하나와 사이징된 버퍼(회색)가

삽입되었을 때 갱신된 신호 도착 시간을 보여준다. IADB 때문에 감소된

지연시간으로 인해, Mode-1 에서 가장 늦은 지연시간은 24 에서 22 로

줄어들었고, Mode-2 에선 23 에서 21 로 줄어들었다. 분명, 그림 3(b)의 ADB

할당은 단 두 개의 ADB 만을 사용하기 때문에, ADB 할당으로 인한 설계의

복잡도와 면적 비용(제어 라인, 스위치 논리회로를 포함한 ADB 회로 등)이

그림 3(a)의 4개의 ADB를 사용한 경우에 비해 크게 감소한다.

Page 17: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

그림 3. ADB 할당 결과를 비교하기 위한 예시. (a) 노드 n1, n3, n7, 그리고 n9에

있는 네 버퍼를 CADB들로 바꿔 클락 스큐 제약조건을 만족시켰다. 전력 모드

Mode-1 과 Mode-2 에서 CADB 로 인해 증가한 지연시간은 CADB 옆에

적시되어 있다. (b) 노드 n3, n4에 있는 버퍼를 CADB, IADB로 교체하고, n1에

있는 버퍼에 사이징을 적용하여 클락 스큐 제약조건을 만족시켰다.

(a)

Page 18: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

제 4 장 버퍼 사이징이 더해진 ADB 할당 알고리즘

본 논문에서 해결하고자 하는 ADB 기반 클락 스큐 최적화 문제는 다음과

같이 기술할 수 있다.

ADB 기반 클락 스큐 최적화 문제: 버퍼가 있는 클락 트리(buffered clock tree)

T, 전력 모드 m1, m2, …, mK, 모든 전력 모드에 대한 클락 신호 도착 시간 정보,

그리고 클락 스큐 제약조건이 주어졌을 때, T 에 속한 일부(또는 모든)

노드(node)들에 CADB 할당, IADB 할당, 그리고 버퍼 사이징 기법을 적용하여

다음과 같이 정의된 ∆Atot를 최소화하라:

∆Atot=area(CADB)+area(IADB)+area(BS) (1)

여기서 area(CADB), area(IADB), 그리고 area(BS)는 각각 모든 전력

모드에서 클락 스큐 제약이 만족될 때의 CADB의 할당으로 인한 면적 증가량,

IADB의 할당으로 인한 면적 증가량, 그리고 버퍼 사이징 기법으로 인한 면적

증가량을 의미한다.

여기서는 다음과 같은 관찰에 기반하여 ADB 할당과 버퍼 사이징 문제를

순차적으로 풀게 된다. (1) [16]에 서술되어 있듯이, IADB 는 큰 단위로

지연시간을 조절하는데 적합하며, 반대로 CADB는 더 세밀하게 지연시간을

조절하는데 적합하다. 이는 그림 2 에서도 알 수 있는데, IADB 는 비교적

가파른 지연시간 곡선(지연시간 범위가 -12ps에서 +42ps에 걸쳐 있다)을 갖는

반면 CADB 의 곡선은 좀 더 완만한 곡선을 갖는 편이다(지연시간 범위가

Page 19: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

10

+14ps 에서 +23ps 에 걸쳐있다). 따라서 IADB 할당의 우선 순위를 CADB

할당보다 높게 두어서, 먼저 적은 숫자의 IADB를 사용해 일부 전력 모드에서

긴 클락 신호 지연시간을 줄인다. (2) 버퍼 사이징은 ADB 할당에 비해

상대적으로 간단한 설계 복잡도를 갖는다(제어 라인이 없고 스위치

논리회로가 없는 등). 따라서 버퍼 사이징을 IADB 와 CADB 할당보다

우선한다.

위와 같은 관찰에 기반하여, 본 논문에서 제안하는 버퍼 사이징과 결합된

ADB 할당 알고리즘 – ADB-mix라 칭한다 – 은 수식(1)의 ∆Atot 을 최소화하기

위해 다음과 같이 4단계에 걸쳐서 수행된다.

(1단계) 초기 버퍼가 있는 클락 트리에 버퍼 사이징 기법을 사용한다. 만약

클락 스큐 제약이 만족된다면, ADB-mix 는 결과를 리턴(return)하고 나머지

실행을 중단한다.

(2단계) 1단계에서 얻어진 클락 트리에 IADB를 할당한다. 만약 클락 스큐

제약이 만족된다면, ADB-mix 는 결과를 리턴(return)하고 나머지 실행을

중단한다.

(3단계) 2단계에서 얻어진 클락 트리에 CADB를 할당한다.

(4단계) IADB와 CADB가 같이 할당된 노드의 지연시간 최종 증가량 혹은

최종 감소량을 계산하고, 어떤 종류와 크기의 ADB 를 노드에 최종적으로

삽입할지 결정한다.

Page 20: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

11

Page 21: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

12

그림 4. ADB-mix 의 단계별 과정 묘사. (a) 1 단계: 버퍼 사이징을 적용해

클락 스큐를 줄인다. (b) 2 단계: IADB 를 할당해 클락 지연시간을 감소시켜

클락 스큐를 줄인다. (c) 3 단계: CADB 를 할당해 클락 지연시간을 증가시켜

클락 스큐를 줄인다. (d) 4단계: IADB와 CADB가 함께 할당된 노드의 ADB

종류를 결정한다.

Page 22: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

13

• 1 단계 (수식(1)의 area(BS)를 최소화하기 위한 버퍼 사이징) : 몇 가지

주목할만한 연구들이 단일 전력 모드의 설계에서 버퍼 사이징을 사용해 클락

스큐를 최소화하고자 한 바 있다(버퍼 라이브러리(library)에서 동적

프로그래밍(dynamic programming)을 이용해 최적의 버퍼들을 고르는 방법[20],

최소 지연시간/전력의 제로 클락 스큐(zero clock skew)를 위한 버퍼의

크기들을 선택하는 방법[6] 등). 하지만, 선행 연구들이 다중 전력 모드 설계에

적용될 수 있을 가능성은 낮다. 특정 전력 모드에서 버퍼 사이징을 통해 클락

스큐를 최소화하면 다른 전력 모드의 클락 스큐에 영향이 있기 때문이다. 본

연구에서는 그리디 알고리즘을 사용한다. 클락 트리의 노드 ni 에 있는 모든

버퍼에 대해, 버퍼 라이브러리에 있는 다른 버퍼 bufj 를 사용해 크기를

조절하고 이득 g(∙)를 계산한다:

g (ni, bufj)= ∑ (sk(mi)-sk'(mi)mi∈M )/BS(ni,buf

j) (2)

여기서 M 은 전력 모드의 집합이며, sk(mi)와 sk’(mi)는 각각 전력 모드

mi에서 노드 ni에 버퍼 사이징을 적용한 후/적용하기 전의 클락 스큐고, BS(ni,

bufj) 는 ni에 bufj 로 버퍼 사이징을 적용했을 때 증가한 버퍼의 면적이다.

그 다음, BS(ni, bufj)<0 이라면 가장 작은 이득 g(∙)를 갖는 노드를, BS(ni,

bufj)>0이라면 가장 큰 이득 g(∙)를 갖는 노드를 선택하여 버퍼 사이징을 적용,

즉 ni 에 있는 버퍼를 새로운 버퍼 bufj 로 교체한다. 이를 줄어든 클락 스큐가

클락 스큐 제약조건을 만족하거나 더 이상 버퍼 사이징이 불가능할 때까지

반복한다. 예시를 위한 그림 4(a)에서 클락 트리의 각 노드에 대한 이득 g를 볼

수 있다. 그 중 n1에서 사이즈를 조절할 경우 이득으로 g = +6 이 계산되며 s1과

s2 에 있는 FF 의 도착시간이 Mode-1 에선 14 와 13 으로, Mode-2 에선 12 와

Page 23: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

14

19로 각각 증가한다. 가장 이른 지연시간의 증가로 인해 클락 스큐는 Mode-

1에서는 16에서 15로, Mode-2에선 16에서 11로 감소한다.

• 2 단계 (수식(1)에서 area(IADB)를 최소화하기 위한 IADB 할당) : IADB

할당 문제의 목표는 라이브러리에서 가져온 IADB 를 최소한의 숫자만

할당해서 클락 스큐 제약조건을 만족시키는 것이다. 1 단계와 마찬가지로

그리디 알고리즘을 사용한다. 유일한 차이는 이득 함수 g(∙)이다.

g(ni, 𝐼𝐴𝐷𝐵j)= ∑ (sk(mi)-sk'(mi)mi∈M )/area(ni,𝐼𝐴𝐷𝐵j) (2)

여기서 sk(mi)와 sk’(mi)는 각각 전력 모드 mi에서 노드 ni에 IADB를 할당한

후/할당하기 전의 클락 스큐고, area(ni, IADBj) 는 mi에 IADBj 를 할당했을 때

IADB 에 의해 증가한 면적이다. 예를 들어, 그림 4(b)에서 n4 에 IADB 를

할당하면 s7 과 s8 의 도착시간이 감소하고, 이로 인해 클락 스큐는 Mode-

1에서는 15에서 13으로, Mode-2에서는 11에서 10으로 감소한다.

• 3단계 (수식(1)에서 area(CADB)를 최소화하기 위한 CADB 할당) : CADB

할당에 대한 많은 알고리즘이 존재하기 때문에 기존에 있던 알고리즘들을

사용할 수 있다. 여기서는 ADB-PULLUP[17]을 사용해 각 전력 모드에서

CADB 를 최적으로 할당한다. 1 단계에서 사이징된 버퍼들과 2 단계에서

할당된 IADB들이 있는 클락 트리를 ADB-PULLUP의 입력으로 한다. ADB-

PULLUP 의 역할은 모든 전력 모드에서 클락 트리의 각 노드에 지연시간

증가가 필요한지를 결정하고, 필요한 경우 지연시간의 증가량을 계산하는

것이다. 예를 들어 그림 4(c)에서는 n3 에 CADB 하나를 할당해 Mode-1 에서

Page 24: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

15

클락 스큐를 13에서 9로 줄이고, Mode-2의 클락 스큐는 변화시키지 않으면서

모든 전력 모드에서 클락 스큐 제약조건을 만족하게 된다.

• 4 단계 (ADB 종류 결정, 미세조정) : 이 단계는 클락 트리의 한 노드에

IADB 와 CADB 가 동시에 할당되는 것을 해결하기 위한 과정이다. 2 단계와

3단계에서 각 노드의 지연시간이 각각 감소/증가함을 보였다. 예를 들어 그림

4(c)에서는 ADB 가 이중으로 할당되는 노드가 없다. 하지만 그림 4(d)에

묘사된 것처럼 다른 종류의 ADB 가 같은 곳에 할당된다면, ADB 의 종류를

결정해야만 한다. 그림 4(d)의 위쪽 예시는 지연시간을 증가시키는 CADB가

최종적으로 할당되는 경우를 보여준다. 반면 그림 4(d)의 아래쪽 예시는

지연시간을 감소시키는 IADB가 최종적으로 할당되는 경우를 보여준다.

제 5 장 실험 결과

본 논문에서 제안한 ADB-mix 알고리즘과 [17]의 ADB-PULLUP

알고리즘을 8 코어 2.5Ghz Intel Xeon CPU, 8GB 메모리 환경의 리눅스 머신

상에서 Python3 언어를 사용해 구현했다. 모든 입력용 클락 트리는 Synopsys IC

Compiler 와 45nm Nangate Open Cell Library 를 사용해 생성했다. 실험용

회로로는 ISPD’09 클락 네트워크 합성 콘테스트(clock network synthesis

contest)의 벤치마크를 사용했다. 각 벤치마크 별로 4~7 개의 전력

서브도메인(subdomain)으로 나눠지며, 각 서브도메인은 0.9V와 1.1V의 전압

Page 25: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

16

수준에서 동작할 수 있다. 4개의 전력 모드를 사용한다고 가정하였으며, 모든

전력 모드에서 가장 큰 클락 스큐를 찾았다. 또한 각 ADB 는 10ps 혹은 그

이하의 수준으로 지연시간을 세분화해서 조절할 수 있다고 가정하였다.

표 1은 ADB-PULLUP 과 ADB-mix의 실험 결과를 비교한 것이다. 표의 첫

열에는 벤치마크 회로의 이름들이 있다. 둘째, 셋째, 넷째, 다섯째, 그리고

여섯째 열의 수치들은 각각 벤치마크 클락 트리 내부의 플립-플랍들의 개수,

버퍼들의 개수, 가장 큰 클락 스큐, 최장 지연시간, 그리고 클락 스큐

제약조건을 의미한다. 일곱 번째, 여덟 번째, 아홉 번째 열의 값은 ADB-

PULLUP 에서 클락 스큐 제약조건을 만족하기 위해 사용된 ADB 들(즉,

CADB들)의 개수와 ADB들이 차지하는 면적, 그리고 ADB를 삽입한 후 클락

트리의 최장 지연시간을 의미한다. 면적의 경우, ADB 가 회로에 삽입될 때

차지하는 면적은 실제 라이브러리를 제작해야 정확한 값을 알 수 있기 때문에,

여기서는 ADB 에 삽입되는 트랜지스터들의 W, L 수치를 곱한 값이 면적에

비례한다고 가정하고 그 값을 면적으로 사용하였다. 열 번째, 열한 번째, 열두

번째, 열세 번째 열은 ADB-mix 에서 사용된 CADB, IADB 의 개수와

ADB들(CADB와 IADB 모두)이 차지하는 면적, 그리고 ADB들을 삽입한 후

클락 트리의 최장 지연시간이다. 마지막 두 열은 ADB-PULLUP 의 결과와

ADB-mix 의 결과에서 ADB 들이 차지하는 면적과 최장 지연시간을 비교해

백분율로 나타낸 것이다. 대부분의 결과에서 ADB 가 차지하는 면적과 최장

지연시간이 명백하게 줄어드는 것을 확인할 수 있다. 클락 스큐 제약조건

90ps~130ps 사이에서 ADB-PULLUP 과 비교했을 때 ADB-mix 에서는 ADB

개수가 평균적으로 56.3% 가량 감소하며, 클락 최장 지연시간 또한 11.5% 짧다.

Page 26: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

17

예를 들어 F21의 결과를 보면, 스큐 제약조건이 90ps일 때 ADB-PULLUP에선

31 개의 ADB(CADB)를 사용해 최장 지연시간이 3033.2ps 가 되며 스큐를

만족시켰지만, ADB-mix에선 21개 더 적은 총 10개의 ADB(CADB+IADB)만

사용하며 최장 지연시간은 2568.2ps로 465ps 가량 더 적다. 면적 또한 더 적은

수의 ADB를 사용하였기 때문에 전체적으로 평균 50.3% 가량 감소한 것으로

나타났다. 버퍼 사이징의 경우 ADB보다 훨씬 적은 수가 사용되어 이로 인한

면적 증가는 거의 없는 것으로 나타났다. F12, F21, F22에서 1~2개의 ADB가

사용된 것과 같이 극적인 결과가 나타나는 경우도 있다.

Page 27: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

18

표 1

. AD

B-m

ix와

AD

B-P

UL

LU

P의

AD

B 할당

결과

비교

Circuits

#F

Fs

#B

ufsS

kew

(orig.)

Latency

(orig.)

Sk

ew

bo

und

#C

AD

B

[17

]

AD

B area

[17

]

Latency

[17

]

#C

AD

B

(AD

B-m

ix)

#IA

DB

(AD

B-m

ix)

AD

B area

(AD

B-m

ix)

Latency

(AD

B-m

ix)

Area ratio

(vs. [17

])

Latency ratio

(vs. [17

])

90ps

30

2.7

3046.1

ps

19

22

.03μ

2630.1

ps

75%

86%

110ps

14

1.2

2968.1

ps

12

21

.40μ

2624.1

ps

111%

88%

130ps

30

.27μ

2968.1

ps

02

0.3

2744.1

ps

117%

92%

90ps

33

2.9

2684.8

ps

10

21

.22μ

2163.8

ps

41%

81%

110ps

31

2.7

2660.8

ps

92

1.1

2152.8

ps

40%

81%

130ps

30

2.7

2616.8

ps

01

0.1

2476.8

ps

6%

95%

90ps

31

2.7

3033.2

ps

82

1.0

2568.2

ps

37%

85%

110ps

27

2.4

3013.2

ps

72

0.9

2566.2

ps

39%

85%

130ps

90

.81μ

2998.2

ps

02

0.3

2719.2

ps

39%

91%

90ps

27

2.4

2197.3

ps

11

31

.46μ

1769.3

ps

60%

81%

110ps

15

1.3

2128.3

ps

93

1.2

1757.3

ps

95%

83%

130ps

15

1.3

2128.3

ps

73

1.1

1745.3

ps

82%

82%

90ps

39

3.5

4164.2

ps

26

22

.66μ

3713.2

ps

76%

89%

110ps

23

2.0

4157.2

ps

15

21

.67μ

3719.2

ps

80%

89%

130ps

14

1.2

4157.2

ps

92

1.1

3706.2

ps

89%

89%

90ps

41

3.6

4313.0

ps

24

22

.48μ

3779.0

ps

67%

88%

110ps

39

3.5

4233.0

ps

14

21

.58μ

3782.0

ps

45%

89%

130ps

39

3.5

4233.0

ps

92

1.1

3768.0

ps

32%

89%

90ps

23

2.0

4069.9

ps

31

0.4

3830.9

ps

21%

94%

110ps

12

1.0

4029.9

ps

31

0.4

3826.9

ps

40%

95%

130ps

50

.45μ

4035.9

ps

31

0.4

3826.9

ps

95%

95%

90ps

44

3.9

4305.6

ps

92

1.1

3616.6

ps

28%

84%

110ps

26

2.3

4228.6

ps

62

0.8

3616.6

ps

37%

86%

130ps

12

1.0

4208.6

ps

62

0.8

3616.6

ps

79%

86%

90ps

37

3.3

4197.4

ps

10

21

.22μ

3649.4

ps

36%

87%

110ps

37

3.3

4197.4

ps

72

0.9

3660.4

ps

28%

87%

130ps

20

.18μ

4153.4

ps

01

0.1

4126.4

ps

88%

99%

0.0

01.0

01.0

00.5

00.8

80.5

00.8

8

F1

1121

159

144ps

3010.7

2ps

F1

2117

143

126ps

2528.2

4ps

F2

1117

156

126ps

2969.2

2ps

F2

291

90

126ps

2043.0

7ps

F3

1273

328

198ps

4236.9

4ps

F3

2190

262

198ps

4144.0

6ps

F3

3209

257

162ps

4147.9

1ps

F3

4157

210

198ps

4075.3

4ps

0.4

4

F3

5193

239

198ps

4268.9

5ps

Average ratio

vs. [17

]

Page 28: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

19

제 6 장 결론

본 연구는 다중 전력(또는 다중 전압) 모드 설계 환경 하에서 가변 지연 시간

버퍼(ADB)를 사용하여 클락 스큐 최적화 문제를 해결하는 새로운 알고리즘을

제안하였다. 본 연구는 버퍼 사이징에 더해 다양한 종류의 ADB를 사용하는

것이 상당히 효율적인 설계로 이어질 수 있음을 보였다. 좀 더 자세하게는 (1)

각 전압 모드 별로 큰 클락 스큐 변동을 겪는 다중 전압 모드 설계 하에서, 먼저

IADB(inverter based ADB)를 할당해 큰 틀에서 스큐를 조절하고, 이어서

CADB(capacitor based ADB)를 할당해 세밀하게 스큐를 조절하는 것이

최소한의 ADB 자원을 활용해 클락 스큐 위반 문제를 해결하기 위한 효율적인

방법이 될 수 있다. (2) 때때로 ADB 할당 과정 전에 버퍼 사이징을 적용하면

매우 적은 수의 ADB 만 사용하여 클락 스큐 위반 문제를 해결할 수 있다.

Page 29: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

20

참고문헌

[1] C. J. Alpert, A. Devgan, and S. T. Quay, “Buffer insertion with accurate gate

and interconnect delay computation,” DAC, 1999.

[2] J. Cong, C. Koh, and K. Leung, “Simultaneous buffer and wire sizing for

performance and power optimization,” ISLPED, 1996.

[3] C. C. N. Chu and D. F. Wong, “An efficient and optimal algorithm for

simultaneous buffer and wire sizing,” IEEE TCAD, Vol. 18, September 1999.

[4] I. -M. Liu, T. -L. Chou, A. Aziz, and D. F. Wong, “Zero-

skew clock tree construction by simultaneous routing, wire sizing, and buffer in

sertion,” ISPD, 2000.

[5] T. Okamoto and J. Cong, “Buffered steiner tree construction with wire sizing fo

r interconnect layout optimization,” ICCAD, 1996.

[6] J. -L. Tsai, T. -H. Chen, and C. C. -P. Chen, “Zero skew clock tree optimization

with buffer insertion/sizing and wire sizing,” IEEE TCAD, Vol. 23, April 2004.

[7] K. Wang, Y. Ran, H. Jiang, and M. Marek-Sadowska, “General skew constraine

d clock network sizing based on sequential linear programming,” IEEE TCAD,

Vol. 24, May 2005.

[8] S. Hu and J. Rabaey, “Unifed adaptivity optimization of clock and logic signals,”

ICCAD, 2007.

[9] V. Khandelwal and A. Srivastave, “Variability-driven formulation for simultane

ous gate sizing and post-silicon tenability allocation,” ISPD, 2007.

[10] J. -L. Tsai, L. Zhang, and C. Chen, “Statistical timing analysis driven post-silic

on-tunable clock-tree synthesis,” ICCAD, 2005.

Page 30: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

21

[11] E. Takahashi, Y. Kasai, M. Murakawa, and T. Higuchi, “A post-silicon clock ti

ming adjustment using genetic algorithms,” Proc. of Symposium on VLSI circuit

s, pp. 13-16, 2003

[12] S. Tam, S. Rusu, U. N. Desai, R. Kim, J. Zhang, and I. Young, “Clock generatio

n and distribution for the first IA-64 microprocessor,” IEEE JSSC, Vol. 35, Nov

ember 2000.

[13] Y. -S. Su, W. -K. Hon, C. -C. Yang, S. -C Chang, and Y. –J Chang, “Value assi

gnment of adjustable delay buffers for clock skew minimization in multi-voltag

e mode designs,” ICCAD, 2009.

[14] Y. -S. Su, W. -K. Hon, C. -C. Yang, S. -C Chang, and Y.-J Chang, “Clock ske

w minimization in multi-voltage mode designs using adjustable delay buffers,” I

EEE TCAD, Vol. 29, December 2010.

[15] K.-Y. Lin, H.-T. Lin, and T.-Y. Ho, “An effcient algorithm of adjustable delay

buffer insertion for clock skew minimization in multiple supply voltage designs,”

ASPDAC, 2011.

[16] K.-H. Lim and T. Kim, “An optimal algorithm for allocation, placement, and d

elay assignment of adjustable delay buffers for clock skew minimization in mult

i-voltage mode designs,” ASPDAC, 2011.

[17] J. Kim, D. Joo, and T. Kim, “An optimal algorithm of adjustable delay buffer i

nsertion for solving clock skew variation problem,” DAC, 2013.

[18] A. Kapoor, N. Jayakumar, and S. P. Khatri, “A novel clock distribution and dy

namic de-skewing methodology,” ICCAD, 2004.

[19] G. N. Roberts, “Adjustable buffer driver,” Patent, 1994, US 5361003.

[20] J. Chung and C.-K. Cheng, “Optimal buffered clock tree synthesis,” IEEE ASI

C Conference and Exhibit, 1994.

Page 31: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

22

ABSTRACT

Satisfying the clock skew constraint is an important task in the clock tree

synthesis. Furthermore, as the design trend moves to that of multiple voltage

modes, in which the supply voltage changes as the execution of applications

varies, meeting the clock skew constraint for all power modes becomes much

hard since the clock signal delay also varies dynamically during the

execution. Recently, many works have shown that adjustable delay buffer

(ADB) whose delay is adjustable dynamically can effectively solve the clock

skew variation problem in the multiple power modes. However, all the

previous works of ADB allocation inherently entail two critical limitations,

which are (1) the adjusted delays by ADB are always increments and (2) the

(low cost) buffer sizing has never been or not been primarily taken into

account. To demonstrate how much overcoming the two limitations is

effective in resolving the clock skew constraint, we characterize the two

types of ADBs called CADB (capacitor based ADB) and IADB (inverter

based ADB) and show that the adjusted delays by IADB can be decremented,

and show that the clock skew violation in some clock trees of multiple power

modes can be resolved by applying buffer sizing together with using only a

small number of IADBs and CADBs. Precisely, our proposed algorithm of

ADB allocation combined with buffer sizing systematically performs the

three tasks: (low cost) buffer sizing to lengthen or shorten clock signal delays,

Page 32: 저작자표시 비영리 공연 및 방송할 수 있습니다s-space.snu.ac.kr/bitstream/10371/123034/1/000000016952.pdf · 저작자표시-비영리-동일조건변경허락 2.0

23

allocating IADBs to shorten the delay, and allocating CADBs to lengthen the

delay. The experimental results on benchmarks show that compared to the

results produced by a best known CADB algorithm, our algorithm which

utilizes buffer sizing, CADBs, and IADBs uses 56.3% less number of ADBs,

even reducing the clock latency and ADB area by 11.5% and 50.3% on

average respectively, under 90ps~ 130ps clock skew bound.

Keywords : clock skew, adjustable delay buffer, ADB, IADB, multiple power

mode

Student Number : 2012-20767