GDSII(.gds)와 OASIS(.oas) 파일이란 무엇인가요?

GDSII(.gds)와 OASIS(.oas) 파일이란 무엇인가요?
Photo by Stephen Holdaway / Unsplash

GDSII는 반도체 layout의 최종 출력 format으로, 모든 polygon을 layer별로 담고 있습니다. Foundry에 전달하는 tape-out 파일이며, mask 제작의 입력입니다. OASIS는 GDSII의 후속 format으로, 파일 크기를 크게 줄인 것이 특징입니다.

GDSII의 구조

GDSII는 바이너리 format이므로 텍스트로 직접 읽을 수 없습니다!!

구조를 개념적으로 표현하면 다음과 같습니다:

# GDSII 구조 (개념적 표현)
HEADER: version 600
BGNLIB: 2026/03/23
LIBNAME: top_design
UNITS: 0.001 um (database), 1e-9 m (user)

STRUCTURE: NAND2_X1
    BOUNDARY:
        layer: 1 (diffusion)
        datatype: 0
        xy: (0,0) (200,0) (200,500) (0,500) (0,0)
    BOUNDARY:
        layer: 5 (poly)
        datatype: 0
        xy: (60,0) (92,0) (92,1080) (60,1080) (60,0)
    BOUNDARY:
        layer: 9 (M1)
        datatype: 0
        xy: (60,400) (92,680) ...
    PATH:
        layer: 9 (M1)
        width: 32
        xy: (300,400) (300,680)
    TEXT:
        layer: 9
        texttype: 0
        xy: (76,540)
        string: "A1"

STRUCTURE: top_design
    SREF: NAND2_X1
        xy: (10000, 1000)
        transform: none
    SREF: NAND2_X1
        xy: (10400, 1000)
        transform: mirror_x
    AREF: filler_cell
        xy: (0, 0)
        columns: 100, rows: 50
        col_spacing: 200, row_spacing: 1080

GDSII 주요 요소

STRUCTURE는 하나의 cell(또는 block)을 정의합니다. Verilog의 module에 해당합니다. BOUNDARY는 polygon을 정의합니다. Layer 번호와 꼭짓점 좌표로 구성됩니다. PATH는 center line과 width로 wire를 정의합니다. SREF는 다른 structure를 인스턴스화합니다(single reference). AREF는 array 형태로 반복 배치합니다(array reference).

Layer 번호는 foundry의 layer map에 의해 물리적 공정 layer에 매핑됩니다. 예를 들어, layer 1 = diffusion, layer 5 = poly, layer 9 = M1 등입니다.

GDSII의 한계와 OASIS

GDSII는 1970년대에 설계된 format으로, 몇 가지 한계가 있습니다. 좌표가 32-bit integer로 제한되어 대형 chip에서 정밀도가 부족할 수 있습니다. 반복 구조의 압축이 제한적이어서 파일 크기가 큽니다. Advanced node의 full-chip GDSII는 수십~수백 GB에 달합니다.

OASIS(Open Artwork System Interchange Standard)는 이 한계를 해결합니다. Cell 반복의 효율적 압축, 가변 길이 정수로 좌표 정밀도 향상, GDSII 대비 파일 크기 5~20배 감소가 주요 개선점입니다. 대부분의 foundry가 GDSII와 OASIS를 모두 지원하며, 파일 크기 때문에 OASIS로 전환하는 추세입니다.

그러나 반도체를 설계하는 과정은 여전히 RTL2GDS, Fabless가 Foundry에게 Tape-out 하는 과정을 GDS Out라고 불립니다.

GDSII 생성 과정

P&R 결과(DEF)와 cell library(GDS)를 merge하여 full-chip GDSII를 생성합니다. Metal fill 삽입 후 최종 GDSII가 완성됩니다. Physical verification(DRC, LVS)은 이 GDSII를 입력으로 수행합니다. 검증 통과 후 foundry에 전달하여 mask를 제작합니다.

GDS 관련 Tool 명령

# Innovus에서 GDS 출력
streamOut top_design.gds \
    -mapFile layer.map \
    -merge cell_library.gds \
    -units 1000

# Calibre에서 GDS 읽기 (DRC)
LAYOUT PRIMARY top_design
LAYOUT PATH "top_design.gds"
LAYOUT SYSTEM GDSII

정리

GDSII는 tape-out용 최종 layout 파일이며, 모든 polygon을 layer별로 담고 있습니다. OASIS는 GDSII의 후속으로 파일 크기를 크게 줄였습니다. P&R 결과와 cell GDS를 merge하여 생성하며, physical verification과 mask 제작의 입력입니다.

Enjoyed this article?

Get deep-dive semiconductor analysis and career insights delivered weekly. Free forever — no paywall, no upsell. Funded by sponsorships with a strict editorial firewall (Editorial Standards).

Work with me

Consulting · Collaboration · Support

Paid 1:1 technical consulting, speaker invitations, collaboration proposals, or just want to say thanks — all welcome.

View options →
VLSI Korea Free forever · No paywall · Weekly semiconductor insights from practicing engineers
Support