
목적 : Gate-Level Netlist를 실제 칩으로 구현하기 위해 물리적 레이아웃을 설계합니다.
입력 : Gate-Level Netlist
기능 : 각 게이트의 위치를 결정하고, Routing(게이트 간의 연결을 물리적으로 배선)
출력 : GDSII 파일 (Graphic Data System II).
단계


기능 : RTL 소스를 읽어들여 논리적 표현으로 변환합니다.
read_verilog : Verilog로 작성된 RTL 소스를 읽어들입니다.read_vhdl : VHDL로 작성된 RTL 소스를 읽어들입니다.read_sverilog : SystemVerilog로 작성된 RTL 소스를 읽어들입니다.이 과정에서는 RTL 소스가 GTECH 형태의 일반적인 불린 게이트로 변환됩니다. 이 상태는 아직 특정 기술 라이브러리와 매핑되지 않은 상태(unmapped ddc format)이라고 합니다.
* GTECH: GTECH(Gate Technology) 라이브러리는 논리 합성 도구가 사용하는 기본 게이트 라이브러리입니다. 이는 특정 기술에 종속되지 않으며, 기술 매핑 전에 사용됩니다.
** mapped ddc format: 이는 특정 기술 라이브러리에 매핑된 형태의 넷리스트를 나타냅니다. 여기에는 특정 제조 공정에 맞는 게이트들이 포함됩니다.
기능 : 설계에 대한 제약 조건을 설정합니다.
set_max_area : 설계의 최대 면적을 설정합니다.create_clock : 클럭 신호를 정의합니다.set_input_delay : 입력 신호의 지연을 설정합니다.compile_ultra : 이 명령은 최적화와 매핑을 수행하여 논리적 게이트를 기술 라이브러리의 구체적인 게이트로 변환합니다.이 과정에서 생성되는 결과는 mapped ddc format이라고 하며, 이는 기술별 게이트로 매핑된 넷리스트입니다. 이 단계에서 설계의 성능, 면적, 전력 소비 등이 최적화됩니다.
기능: 합성된 설계를 파일로 저장합니다.
write_icc2_files : ICC2(Physical Design Tool)에서 사용할 수 있도록 파일을 저장합니다.이 과정은 최적화되고 매핑된 설계를 물리적 설계 도구에서 사용할 수 있도록 하기 위한 것입니다. 최종적으로 생성된 파일은 칩 제조를 위한 GDSII 파일 생성에 사용됩니다.
**write_icc2_files : 이 명령어는 합성된 설계를 ICC2(Integrity Chapter 2, Synopsys의 물리적 설계 도구) 형식으로 저장하여 물리적 설계 도구에서 사용할 수 있도록 합니다.
over-buffered gate: 필요 이상으로 많은 버퍼가 추가되어 회로의 면적과 전력 소비가 증가합니다.
under-buffered gate: 필요한 버퍼가 충분히 추가되지 않아 타이밍 문제나 신호 전달 문제가 발생할 수 있습니다.
- Pre-Layout
Pre-layout 단계는 실제 물리적 레이아웃이 생성되기 전의 설계 단계를 의미합니다. 이 단계에서는 논리 설계와 합성이 주로 이루어집니다.
- 논리 합성: RTL (Register Transfer Level) 소스를 사용하여 게이트 수준의 넷리스트를 생성합니다.
- 초기 타이밍 분석: WLM (Weighted Load Model) 또는 추정된 RC 모델을 사용하여 타이밍 분석을 수행합니다.
- 설계 검증: 기능적 검증과 기본적인 타이밍 검증을 수행합니다.
- 제약 조건 설정: 설계 목표에 따라 타이밍, 전력, 면적 등의 제약 조건을 설정합니다.
- 빠른 피드백: 설계의 초기 검증 단계로, 빠르게 피드백을 받을 수 있어 설계 수정이 용이합니다.
- Post-Layout
Post-layout 단계는 실제 물리적 레이아웃이 생성된 후의 설계 단계를 의미합니다. 이 단계에서는 레이아웃을 기반으로 한 정확한 타이밍 분석과 검증이 이루어집니다.
- 물리적 설계: 셀 배치(placement), 배선(routing), 클럭 트리 합성(CTS) 등이 이루어집니다.
- 정밀 타이밍 분석: 실제 배선 경로와 RC 추출을 기반으로 타이밍 분석을 수행합니다.
- 전력 분석: 실제 배선 길이를 고려한 전력 분석을 수행합니다.
- 신호 무결성 검증: 신호 지연, 교차 간섭 등의 신호 무결성 문제를 검증합니다.
한줄요약
WLM mode : 초기 설계 단계에서 빠른 검증을 위해 사용되며, 정확도가 떨어질 수 있지만 시간이 절약됩니다.
Topographical mode : 실제 레이아웃을 반영하여 정확한 타이밍 분석을 수행하며, 최종 설계에 근접한 결과를 얻을 수 있지만, 계산 시간이 더 오래 걸립니다.
DC Shell과 Design Vision은 Design Compiler를 사용하기 위한 두 가지 다른 인터페이스입니다.
Topographical Mode는 Design Compiler에서 실제 레이아웃을 반영한 정확한 타이밍 분석을 수행하기 위한 작동 모드입니다.
Topographical Mode는 DC Shell이나 Design Vision에서 사용할 수 있으며, 둘 중 어느 인터페이스를 사용하더라도 모드를 설정할 수 있습니다.
따라서, DC Shell과 Design Vision은 인터페이스의 종류이고, Topographical Mode는 작동 모드입니다. 이 둘은 같은 것이 아니라, 상호 보완적으로 사용됩니다.