티스토리 뷰
목차
자동 배치 배선 환경 구축 및 배치 계획
셀 라이브러리 (Cell Library) 사용자의 특정한 용도에 적합하도록 만들어지는 주문형 집적회로(ASIC, Application Specific IC)를 설계하는 방식으로 분류하면 그림과 같이 크게 완전주문형 IC, 반주문 형 IC 그리고 FPLD(Field Programmable Logic Device)로 나눌 수 있다.
반주문형 IC도 크게 2가지가 있는 데, SOG(Sea-of-Gates) 방식과 표준 셀 방식이다. 각각 의 특징을 정리하면 다음과 같다.
SOG 방식은, 레이아웃은 기본셀이라 불리는 셀의 2차원 배열로 이루어지며, 이 기본셀들 은 NAND 또는 NOR 게이트 구조로 구성되어 있다. 이것은 어떠한 논리 함수도 NAND나 NOR 게이트만을 사용하여 구성될 수 있다는 원리에 기초한 것이다. 메탈 레이어를 사용하여 하나 이상의 기본셀들을 ‘프로그램’ 하여 논리 게이트 등을 비롯한 각종 논리 블록들을 구성할 수 있다. 별도의 배선 영역이 따로 없다. 셀 간의 배선 을 위해서는 기능이 ‘프로그램’ 되지 않는 기본 셀 위를 지나간다. 마스크 상에 이미 배열된 게이트를 배선하여 사용자의 요구 논리 함수를 구현하는 것이기 때문에 완전주문 형 IC나 표준셀 방식보다 개발 기간이 많이 단축된다. 한편 표준셀 방식은, 이미 동작과 성능이 검증된 기본 논리 게이트를 포함한 논리 블록 들이 표준셀이라는 이름으로 모아져 있는 데이터베이스(이를 셀 라이브러리라 부른다.)를 활용한다. 표준셀 각각의 레이아웃은 완전주문형 방식으로 설계되어 면적과 성능을 최적 화한다. 주문자가 요구하는 기능을 셀 라이브러리에 있는 블록들의 논리 기능을 조합하여 설계하고, 이 설계된 데이터(네트리스트)와 역시 셀 라이브러리에 있는 블록들의 레이아웃 데이터를 입력으로 하여 자동 배치 배선 툴을 사용하여 최종 레이아웃을 설계한다. 각 표준셀의 레이아웃은 정해진 일정한 높이의 레이아웃 형태를 가지 며, 전원용 금속층의 위치 및 두께도 모두 일정하다.
셀은 행에 배치되며, 셀들 간의 연결을 위한 배선 채널 영역이 있다. VDD와 GND 선은 수평방향으로 놓이고, 입력 및 출력 단자들은 셀의 위쪽이나 아래쪽(때 론 양쪽 모두)에 놓인다. 표준 셀의 종류는 기본 논리 게이트에서부터 복잡한 중앙처리장치(CPU)에 이르기까지 광 범위하고 다양하다. 표준셀의 집합체인 셀 라이브러리에 포함되는 주요 정보로는 다음과 같은 것들이 있다.
- HDL(Hardware Description Language) 데이터
- 논리 심볼 및 회로도, 트랜지스터 회로도
- 시뮬레이션 타이밍 정보 데이터
- 레이아웃 데이터
IP (Intellectual Property) 반도체 공정기술의 급속한 발달에 힘입어 시스템을 구성하는 모든 요소들을 하나의 집적 회로 안에 포함시킬 수 있게 되었는 바, 이렇게 개발된 소자를 SoC(Systems on Chip)라 부 른다. SoC는 1990년대 후반 프로세서 코어를 집적하게 되면서 시작하였는데, 그 후 MP3P, 휴대폰, DTV 등 각종 디지털 전자 응용 시스템을 위한 핵심 소자로서 자리매김하고 있다. SoC는 시스템 기술과 반도체 기술을 융합하는 핵심 기술이며 소형화, 고성능화 및 저전력 화 등을 가능하게 하여 제품 경쟁력의 향상을 가져온다. SoC는 주로 표준셀 방식에서 진화된 셀 기반(Cell-based) 방식으로 설계된다.
이와 같은 셀 기반 설계 방식에서 사용되어지는 각각의 특정 기능 매크로 셀들은 매번 새 로이 설계할 수도 있지만, 그렇게 하면 개발 기간이 길어져 집적회로의 시장 출하 시간이 늦어지고 이로 인해 시장 점유율이 떨어질 수 있다. 따라서 이러한 매크로 기능 셀들은이미 그 기능 및 성능이 검증된 것들을 재사용하면 설계 시간을 크게 단축시킬 수 있는 데, 이 때 이렇게 재사용되는 셀들을 반도체 IP라 부른다. IP는 하드웨어 구현 정도에 따라 하드웨어 IP와 소프트웨어 IP로 나눌 수 있다.
Hard IP란 특정한 공정의 설계 규칙에 따라 레이아웃으로 완성되어 있는 IP를 말하며, Firm IP는 특정 공정에 따라 합성까지만 완료되어 있는 네트리스트의 형태로서 타이밍 검 증까지 완료되어 있다. 그리고 Soft IP는 VHDL이나 Verilog 같은 하드웨어 기술언어로 구 현되어 있는 IP로서 필요에 따라 특정 공정에 맞게 합성이 가능한 수준까지 서술되어 있 다. 그러므로 최적화 정도에서는 Hard IP가 제일 높고, 재사용 성에서는 Soft IP가 가장 높은 특징을 보인다. Source Code IP는 C나 C++ 같은 소스 코드로 제공되므로 사용될 하드웨어에 따라 컴파일 을 하면 된다. 따라서 기능의 변경이나 추가가 매우 용이하다. Object Code IP는 이미 컴 파일이 완료되어 실행파일 형태로 제공되므로 사용 가능한 하드웨어가 제한되며 기능의 변경 등이 불가능하다.
평면 계획 (Floor Plannig) 셀 기반 설계에서 셀(블럭)들의 상대적인 배치 위치를 정하는 과정을 평면 계획이라 한다. 이 평면 계획의 준비 단계로 분할(Partitioning)이 있다. 분할이란 주어진 시스템을 자동화 툴이 다룰 수 있는 단계의 여러 셀들로 나누는 과정을 일컫는다. 분할 문제의 목표는 분할 된 셀들 간의 인터페이스 개수와 분할에 의해 증가되는 지연 시간을 최소화하는 데 있다. 분할에 의해 결정된 셀들에는 Hard IP처럼 그 모양과 면적이 확정되어 있는 것도 있고, 그 외 IP나 로직 부분처럼 그 모양과 면적이 추후 결정되는 것들도 있다. 이러한 셀들에 대한 정보와 네트리스트를 입력으로 하여 셀들 간의 상대적인 위치를 결정하는 작업이 평면 계 획인 것이다. 평면 계획의 목표는 전체 면적과 배선 길이를 줄이면서, 배선 율을 최대화하는 것이다. 이 과정에서 모양이 결정되지 않았던 셀들은 모양이 정해지게 된다.
셀에 관한 정보 중에서 실제 자세한 레이아웃에 대한 정보는 없이, 전체 셀의 가로 세로 크기, 셀의 입출력 신호들의 이름과 연결 위치 등의 간략한 정보만을 가지고 있어서 평면 계획이나 이후 수행되는 배치 및 배선 작업에 활용이 용이하도록 만들어진 셀을 특히 팬 텀 셀(Phantom Cell)이라 부른다.
[실습]
환경 구축하기
1. 논리적 데이터 준비하기
- 모든 표준 셀들에 대한 타이밍 및 기능 정보 준비하기
- Hard IP에 대한 타이밍 정보 준비하기
- 최대 팬아웃, 최대 지연 시간, 최대/최소 커패시턴스 등 구동/부하 설계 규칙 준비하기
- 설계 제약 조건(constraints) 파일 준비하기
- 게이트 수준 네트리스트 준비하기
2. 물리적 데이터 준비하기
- 배치/배선을 위해 필요한 표준셀, hard IP, 패드 셀 등에 대한 물리적 정보 준비하기
- 배치 열의 높이, 우선 배선 방향, 배선 트랙 피치 등 배치 기준 정의하기
- 제조 공정 기술(technology) 파일 준비하기
- RC 모델 파일 준비하기
3. 작업 환경 구축하기
- 툴 사용 초기화(initialization) 파일 준비하기
- 작업 공간 마련하기
- 합성된 논리 네트리스트 읽어 들이기
- 라이브러리 일관성(consistency) 검사하기
- 타이밍 제약조건(constraints) 적용 및 완전성 검사하기
- 적절한 클록 트리(clock tree) 모델링하기
평면 계획하기
칩 수준 평면 계획은 다음과 같은 것들을 정의하는 것을 포함한다.
- 셀 크기, 모양, 배치 열
- 입출력신호, 전원, 모서리셀, 채우기(filler) 셀 등 외곽 셀들의 위치
- 마크로 셀 배치
- 차단영역(blockage) 등 표준셀 배치 제약조건
1. 평면 계획 시작하기
- 전원 셀, 모서리 셀 등 물리적 패드 셀 생성하기
- 패드 셀 위치 서술하기
- 평면 계획 초기화하기
- 채우기 패드 셀 첨가하기
- 무시 배선 레이어(layer) 서술하기
- 매크로/표준 셀 배치 지정하기
- 배치 차단영역 지정하기
2. 가상 평탄(flat) 배치 및 혼잡도 줄이기
- 배치 전략 매개변수(parameter) 지정하기
- 가상 평탄 배치하기
- 혼잡도 분석하기
- 배치 제약 조건 수정하기
- 혼잡도를 중심으로 한 가상 평탄 배치하기
- 평면 계획 개선하기
- 매크로/표준 셀 등 모든 셀 위치 확정하기
3. 전원선 합성하기
- 논리적 전원선 연결 정의하기
- 매크로 셀 주변 전원선 링(ring) 생성하기
- 전원선 제약 조건 적용하기
- 전원선 합성하기
- 각 연결선에서의 전압 강하(IR drop) 분석하기
- 필요시 수동으로 전원 패드 셀 삽입하기
- 전원 패드와 내부 전원선 연결하기
- 전기적 오류 없는 배치 확정하기
4. 지연 시간 줄이기 및 출력하기
- 전역 배선 후 혼잡도 분석하기
- 타이밍 분석하기
- 반복적 실행을 통해 평면 계획 개선하기
- 출력 파일 (예, DEF) 생성하기
'반도체 공정 및 설계 > ASIC 설계' 카테고리의 다른 글
Synthesis (합성) [ASIC 설계] (0) | 2022.10.22 |
---|---|
자동 배치 배선 및 기생 성분 추출 [레이아웃 설계] (0) | 2022.10.21 |
설계 가이드의 이해와 레이아웃 적용 [레이아웃 설계] (0) | 2022.10.20 |
커스텀 레이아웃 [레이아웃 설계] (0) | 2022.10.20 |
배선 계획 수립 [레이아웃 설계] (0) | 2022.10.20 |