자료제공 : ST마이크로일렉트로닉스(www.st.com)
A.페라라(A.Ferrara), A.페라리(A.Ferrari), P.드 로렌티스(P. De Laurentiis)


어떤 LUCT(Low Uncertainty Clock Tree, 불확실성이 낮은 클럭 트리)가 퍼스트-레벨 및 세컨드-레벨 클럭 트리인가?
시스템온칩(SoC)의 성능 차이는 주로 클럭 트리 설계 및 동일 조건에서의 설계 방식 선택에서 찾을 수 있다.
지금까지는 ASIC 클럭 트리 설계 시 상용화된 자동 클럭 트리 툴을 활용하여 실행 시간을 위한 예측 가능한 결과치를 얻고자 했다. 하지만 결과적으로 이것은 클럭 스큐(clock skew)와 삽입 지연(insertion delay) 측면에서는 좋지 않은 결과를 초래하여 높은 복잡성/주파수/크기 설계 시에는 전통적인 방식을 사용할 수가 없다.

불확실성이 낮은 클럭 트리(LUCT, Low Uncertainty Clock Tree) 설계 및 알고리즘은 SoC에 적용시, 전통적인 방식의 비효율성을 모두 해결할 수 있는 퍼스트-레벨(first-level) 클럭 트리의 물리적 정의와 관련된다.

이는 탑 레벨의 루트 클럭 넷(root clock net)부터 중간 클럭 넷 셋트까지 고품질의 균형잡힌 트리(balanced tree)이다. 목적은 칩 영역의 주요 부분에 중앙 PLL의 클럭 신호를 전달하는 것이다. 드 로렌티스(De Laurentiis)의 ‘다수의 클럭 싱크가 있는 SoC에서 클럭 트리 분배 방법의 최적화(Optimizing clock tree distribution in SoCs with multiple clock sinks)’ 논문에서는 LUCT 방법론 및 아키텍처에 대해 상세히 기술하고 규격 정의에서부터 레이아웃 합성에 이르는 관련 설계 플로우 단계를 제시하고 있다.

▲ 그림 1. ASIC 설계 상의 최적화된 클럭 배분 스타일



이러한 클럭 배분 방법은 기존의 기타 클럭 설계 방법들을 다룬 자료에서 구조화된 클럭 트리로 분류할 수 있다. 클럭 소스에서 레지스터에 이르는 전체 클럭 트리는 퍼스트-레벨 클럭 트리와 세컨드-레벨(또는 로컬) 클럭 트리로 구성된다. 상용화된 EDA 툴을 위해서는 로컬 트리 구현이 필요하다. ST마이크로일렉트로닉스 디지털 ASIC 제품 사업부의 설계 방법론팀이 개발한 LuctGenKit은 LUCT 아키텍처의 물리적인 구현을 지원한다.


LUCT 툴의 주요 기능
LuCT 합성용 툴은 LuCT 방법론의 모든 중요한 기능을 포함하고 있으며 사용할 수 있다.
▲ 그림 2. LuCTgenKit을 이용한 설계 플로우

▲균형 트리(Balanced Tree)
- 길이 이퀄라이제이션(length equalization)을 통한 밸런싱 및 능동부하 매칭
- 차단 인식(Blockage Awareness)
- 신호화를 위한 상위 저저항 메탈 레이어
- 쉴딩(shielding) 및 기생 성분 매칭

▲광범위한 강도를 위한 강화된 주문형 셀 라이브러리

▲32/28 벌크, 28 FD-SOI 등, 여러 기술 및 후속 지원

▲블록 및 차단 배치 회피

▲P&R 환경과 풀 통합

LuCT 설계 플로우
LuCTgenKit를 사용한 설계 플로우는 4 단계로 도식화할 수 있으며 이 글의 나머지 부분에서 자세히 설명한다. 이는 특히 다수의 설계자들이 전체 프로젝트의 물리적 구현에 참여하는 설계 환경에서 복잡한 ASIC 설계를 용이하게 해준다. 일반적인 설계 조직에서 물리적 구현에 주요점은 데이터베이스 준비 과정과 규격 정의에 있는 반면 마지막 단계들은 전문 LuCT 엔지니어의 영역이다. 데이터베이스가 준비되고 규격이 정확하고 충분히 정의되면 전체 탑 레벨 클럭 트리(심지어 다수의 탑 레벨 클럭 트리 까지)의 실행 및 마무리 작업은 단 1명의 LuCT 설계자에 의해 1일 이내에 완료될 수 있다.

LuCT 툴
데이터베이스 준비

데이터베이스 준비는 플로어 플랜의 새니티(sanity) 확인, 전원 공급 그리드 형태의 애트리뷰트(read attributes) 확인, 더욱 향상된 클럭 라이브러리 연결 및 LuCT 구축 알고리즘과의 밀착 배치를 위한 P&R 툴 설치와 같은 주요 사항 체크 및 실행이 있다. 또한 이 단계에서는 구조화된 클럭 트리를 전압 강하 및 누화 내성(cross-talk immunity)에서 최상의 성능을 낼 수 있도록 하는 것이 매우 중요하며 이를 위해서는 현재 사용중인 기술을 사용해야 한다.

LuCT 규격

각 클럭을 종합하기 위해서는 다음과 같은 정보를 툴에 제공해야 한다:
▲기술 노드
▲주요 트리 스타트포인트(PLL)
- X 및 Y 좌표
▲주요 트리 엔드포인트
- 각 리프(leaf)의 X 및 Y 좌표
▲주파수 범위
▲공정, 전압, 온도 코너
▲클럭 셀 파라미터 선택 정보
GUI 인터페이스는 모든 필요 데이터를 입력하고 설계 방식 선택을 할 수 있도록 최적화되었다.

▲ 그림 3. LuCT 애플리케이션을 위한 GUI 메뉴

실행: LuCT 구축

LuCT규합을 위한 자동화 툴은 다음의 목표들과 연결되어 있다.
- 설계 규격
- 플로어 플랜 정보 (배치 차단, 배선 차단 포함)
- 파워 그리드
- 설계 및 레이아웃 규칙
- 넷리스트
- 레이아웃
- GUI
- 보고서
- 핸드 오프(Hand Off)

ST가 자체 개발한 알고리즘을 클럭 트리 토폴로지 생성에 사용할 수 있다. 이것은 균형 경로 길이(balanced paths length)와 이퀄라이제이션, 동질(homogenous) 와이어 배선에 기반하고 있다. 플로어플랜의 모델링 및 초기화와 경로 계산은 그래픽 기반 기능을 위한 Lemon C++ 라이브러리를 사용한다. 이는 다음과 같은 단계로 구성되어 있다.

- 그리드 생성: 플로어플랜으로부터 데이터를 판독한 후 장애물 모델(obstacles models)과 전원 형태 모델(power shapes models)이 생성된다. 이러한 모델들을 통해 전체 포인트(그리드)를 계산하여 LuCT 알고리즘에 따라 배치 및 배선(P&R) 공간 정의를 제시한다.

- 바이너리 트리 구성(Binary Tree Construction): ST가 자체 개발한 알고리즘을 사용하여 리프들을 짝을 지워 그룹을 만든다. 균등 통합 경로를 계산하여 장애물을 회피하여 통합 포인트(merging point)라고 하는 경로의 중간 포인트를 통해 각개 짝들을 통합 한다. 알고리즘은 단지 1개의 포인트(루트)가 획득될 때까지 새로운 리프들(통합 포인트)에 반복적으로 적용된다(그림 4~6 참고).

▲ 그림 4. 엔드포인트 집합

▲ 그림 5. LuCT 구축 트리 알고리즘은 연결할 포인트들을 결정하고 통합한다

▲ 그림 6. 이전 단계에서 통합된 포인트들이 다시 짝을 짓고 통합된다


- 드라이버 삽입 및 와이어 배선: 바텀-업(bottom-up) 접근법을 적용하여 장애물 배치와 장애물 배선을 각각 고려하면서 드라이버를 삽입하고 와이어 배선을 개선한다.

클럭 트리 구조가 생성되면 레이아웃 구현은 P&R(place and route) CAD 툴 스위트에서 스크립트 루틴에 의해 달성된다. 레이아웃 설정은 복수의 병렬 드라이버의 배치 및 전력-노이즈 고려 배치를 통해 고성능 배선/와이어링을 위한 일반적인 규칙을 통해 이루어진다. 바이너리 트리 아키텍처와 구성에 상당한 영향을 미치는 몇 가지 파라미터를 통해 알고리즘 조정이 이루어질 수 있다.

앞서 설명한 내용의 예는 다음과 같다:
▲자동 또는 수동으로 리프 커플(leaf couple)을 생성한다.
▲순수한 맨해튼 방식(Manhattan fashion)을 사용하거나 장애물을 고려해 거리를 계산한다.
▲라우팅된 회로의 방향을 알맞게 조정하여 구부러짐(bend)을 최소화한다.
▲각 라우팅 및 통합 단계에서 아크(arc)를 전체적으로 다시 맵핑하여 전체 전류단 단자의 중앙으로 통합 부분들을 조정한다.
▲장애물 강도와 관련하여 클럭 트리를 제시하여 스큐/삽입 지연 성능과 혼잡성 간에 절충한다.

▲ 그림 7. LuCT 툴을 이용한 설계 플로우

예제 및 결과
그림 8은 28 FD-SOI 기술에서 LuCTgenKit를 사용하여 앞서 설명한 방법론을 적용한 사례를 나타낸 것이다. 1GHz 클럭 신호가 클럭 소스로부터 8개의 리프(leaf)로 분배되어 장애물을 방지하고 이것을 인지하는 스큐의 이퀄리제이션을 실행한다. 그림 9는 보다 상위 수준에서 커플들을 결합할 때 길이 이퀄리제이션이 수행되는 과정을 자세하게 설명한 것이다.


▲ alt="0010()"

▲ alt="0011(표 1. 그림8과 그림 9에 제시한 LuCT 의 데이터 및 결과)"

이 사례의 주요 결과물은 비정상 경로가 상당히 크지만 베이스 지연(base delay) 계산 시 스큐가 매우 제한된다는 것이다.


참고문헌
Optimizing clock tree distribution in SoCs with multiple clock sinks
Alberto Ferrara and Pierpaolo De Laurentiis, STMicroelectronics
embedded.com
http://embedded.com/design/mcus-processors-and-socs/4409637/Optimizing-clock-tree-distribution-in-SoCs-with-multiple-clock-sinks-
Myth busters: Microprocessor clocking is from Mars, ASICs clocking is from Venus
Kozhaya, J. ; Restle, P. ; Haifeng Qian
Computer-Aided Design (ICCAD), 2011 IEEE/ACM International Conference on
Digital Object Identifier: 10.1109/ICCAD.2011.6105340
Publication Year: 2011 , Page(s): 271 - 275
Clocking Design Automation in Intel’s Core i7 and Future Designs
Ali M. El-Husseini and Matthew Morrise
Computer-Aided Design, International Conference on, pp. 276-278, 2011 IEEE/ACM International Conference on Computer-Aided Design, 2011
LEMON Graph Library - Library for Efficient Modeling and Optimization in Networks
http://lemon.cs.elte.hu/trac/lemon
The design and analysis of the clock distribution network for a 1.2 GHz Alpha microprocessor,
T. Xanthopoulos, D. Bailey, A. Gangwar, M. Gowan, A. Jain, and B. Prewitt,
Digest of Technical Papers IEEE International Solid-State Circuits Conference (ISSCC 2001),
2001, pp. 402-403.
Scalable sub-10ps skew global clock distribution for a 90nm multi-GHz IA microprocessor
N. Bindal, T. Kelly, N. Velastegui, and K. Wong,
Digest of Technical Papers IEEE International Solid-State Circuits Conference
(ISSCC 2003), 2003, pp. 346-347, 498.
The clock distribution of the Power4 microprocessor
P. Restle, C. Carter, J. Eckhardt, B. Krauter, B. McCredie, K. Jenkins, A.Weger, and A. Mule,
Digest of Technical Papers IEEE International Solid-State Circuits Conference
(ISSCC 2002), vol. 1, 3-7 Feb. 2002, pp. 144-145
Method of generating wiring routes with matching delay in the presence of process variation, US Pat. 7865861
Habitz et al,
Filed 22 Apr 2008 - Issued 4 Jan 2011 - International Business Machines Corporation
Method for the computer-aided ascertainment of a clock tree and Integrated Semiconductor Circuit,
US Pat. 7707529
Heinz Endres, Thomas Zettler
Filed 13 Oct 2005 - Issued 27 Apr 2010 - Infineon Technologies AG
Clocking Design and Analysis for a 600MHz Alpha Microprocessor
D.W.Bailey, B.J.Benscheider,
IEEE Journal of Solid-State Circuits, Vol. 33(11): pp.1627-1633, November 1998
Automatic Synthesis of Clock Distribution Networks, US Pat. 8205182 B1
Zlatanovici et al,
Filed 22 Aug 2008 - Issued 19 Jun 2012 - Cadence Design Systems, Inc


회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지