DEF(.def) 파일이란 무엇인가요?

DEF(Design Exchange Format)는 설계의 물리적 구현 결과를 담는 파일입니다. Cell의 좌표, net의 routing 경로, power grid, blockage 등 P&R의 전 과정을 기록합니다. P&R tool의 주요 입출력 format입니다. DEF는...

DEF(.def) 파일이란 무엇인가요?
Photo by UX Indonesia / Unsplash

DEF(Design Exchange Format)는 설계의 물리적 구현 결과를 담는 파일입니다. Cell의 좌표, net의 routing 경로, power grid, blockage 등 P&R의 전 과정을 기록합니다. P&R tool의 주요 입출력 format입니다.

DEF는 PowerPlan DEF, SCAN DEF, Floorplan DEF 등 다양한 P&R 과정마다의 DEF들이 있습니다.

DEF 파일의 전체 구조

VERSION 5.8 ;
DIVIDERCHAR "/" ;
BUSBITCHARS "[]" ;
DESIGN top_design ;
UNITS DISTANCE MICRONS 1000 ;

DIEAREA ( 0 0 ) ( 500000 500000 ) ;

# Row 정의
ROW ROW_0 core_site 1000 1000 N DO 2400 BY 1 STEP 200 0 ;
ROW ROW_1 core_site 1000 2080 FS DO 2400 BY 1 STEP 200 0 ;
ROW ROW_2 core_site 1000 3160 N DO 2400 BY 1 STEP 200 0 ;

# Track 정의
TRACKS X 320 DO 3900 STEP 640 LAYER M2 ;
TRACKS Y 320 DO 3900 STEP 640 LAYER M1 ;

# Component (Cell Instance) 배치
COMPONENTS 5 ;
    - U1 NAND2_X1 + PLACED ( 10000 1000 ) N ;
    - U2 BUF_X4 + PLACED ( 10400 1000 ) N ;
    - reg_0 DFFRNQ_X1 + FIXED ( 15000 1000 ) N ;
    - reg_1 DFFRNQ_X1 + PLACED ( 15000 2080 ) FS ;
    - ICG_0 ICG_X2 + PLACED ( 20000 1000 ) N ;
END COMPONENTS

# Pin (IO Port) 정의
PINS 3 ;
    - clk + NET clk + DIRECTION INPUT
        + PLACED ( 0 250000 ) N
        + LAYER M3 ( -500 -500 ) ( 500 500 ) ;
    - data_in[0] + NET data_in[0] + DIRECTION INPUT
        + PLACED ( 100000 0 ) N
        + LAYER M2 ( -500 -500 ) ( 500 500 ) ;
    - data_out[0] + NET data_out[0] + DIRECTION OUTPUT
        + PLACED ( 400000 500000 ) N
        + LAYER M3 ( -500 -500 ) ( 500 500 ) ;
END PINS

# Special Net (Power/Ground)
SPECIALNETS 2 ;
    - VDD ( * VDD )
        + ROUTED M1 320 + SHAPE STRIPE ( 0 1040 ) ( 500000 * )
          NEW M5 5000 + SHAPE STRIPE ( 0 250000 ) ( 500000 * )
        ;
    - VSS ( * VSS )
        + ROUTED M1 320 + SHAPE STRIPE ( 0 0 ) ( 500000 * )
          NEW M5 5000 + SHAPE STRIPE ( 0 0 ) ( 500000 * )
        ;
END SPECIALNETS

# Signal Net Routing
NETS 3 ;
    - net_1 ( U1 ZN ) ( reg_0 D )
        + ROUTED M1 ( 10320 1400 ) ( 10320 1600 )
          NEW M1 ( 10320 1600 ) VIA1_1x1
          NEW M2 ( 10320 1600 ) ( 15080 * )
          NEW M2 ( 15080 1600 ) VIA1_1x1
          NEW M1 ( 15080 1600 ) ( 15080 1400 )
        ;
    - clk ( PIN clk ) ( reg_0 CK ) ( reg_1 CK ) ( ICG_0 CK )
        + ROUTED M3 ( 0 250000 ) ( 25000 * )
          /* ... clock routing ... */
        ;
    - data_in[0] ( PIN data_in[0] ) ( U1 A1 )
        + ROUTED M2 ( 100000 0 ) ( 100000 1000 )
          /* ... */
        ;
END NETS

# Blockage
BLOCKAGES 1 ;
    - LAYER M3
        RECT ( 50000 50000 ) ( 100000 100000 ) ;
END BLOCKAGES

END DESIGN

DEF 주요 섹션 설명

DIEAREA는 chip의 경계를 좌표(μm × 1000)로 정의합니다. (0 0)에서 (500000 500000)은 500μm × 500μm die입니다.

ROW는 standard cell이 배치되는 행을 정의합니다. 시작 좌표, site 이름, 방향(N=normal, FS=flipped), 반복 횟수와 간격을 포함합니다.

COMPONENTS는 cell instance의 배치 정보입니다. PLACED는 tool이 이동할 수 있고, FIXED는 고정입니다. 좌표와 orientation(N, S, FN, FS, W, E, FW, FE)을 지정합니다.

NETS는 signal routing 정보입니다. 연결된 pin들과 metal layer, 좌표, via를 순서대로 기술합니다. ( 10320 1600 ) ( 15080 * )에서 *는 이전 좌표의 해당 값을 유지한다는 뜻입니다(Y좌표 유지 = 수평 routing).

SPECIALNETS는 power/ground net의 routing입니다. VDD/VSS stripe과 ring을 정의합니다.

DEF의 활용 단계

Floorplan DEF는 DIEAREA, ROW, macro placement만 포함합니다. Placement DEF는 COMPONENTS의 좌표가 추가됩니다. Routing DEF는 NETS의 routing 정보가 추가됩니다. 각 단계의 결과를 DEF로 저장하고, 다음 단계의 입력으로 사용합니다.

정리

DEF는 P&R의 물리적 결과를 기록하는 format입니다. Die area, row, cell placement, routing, power grid, blockage 정보를 담으며, flow의 각 단계를 연결합니다. LEF가 "library"라면 DEF는 "design instance"입니다.

글 참여 도구

공유하기 토론 참여
이 글이 어떤 도움을 줬나요? 공개 숫자 없이 품질 개선 신호로만 사용합니다.

비공개 제보

오류나 추가 설명이 필요한가요?

공개 토론 대신 편집자에게 직접 보낼 수정·질문·다음 글 요청을 남겨주세요.

VLSI Korea

비공개 제보 보내기

작성한 내용은 [email protected]로 전달됩니다.

어떻게 받을까요?

익명 모드는 이름과 이메일을 보내지 않습니다. 다만 전송 서비스가 IP 등 기술 정보를 처리할 수 있어 절대적인 익명성을 보장하지는 않습니다.

ENGINEER DISCUSSION

현장에서는 어떻게 보고 계신가요?

동의, 반론, 보완 자료와 현업 경험을 남겨주세요. 답글 알림이 다시 토론으로 연결됩니다.

VLSI KOREA BRIEFING

매일, 중요한 신호만.

반도체 설계와 산업의 변화를 현직 엔지니어 관점에서 정리합니다. 무료이며 페이월이 없습니다.

FOR BUSINESS

이런 기술 콘텐츠가 필요하신가요?

기업용 기술 콘텐츠, 스폰서드 딥다이브, 사내 브리핑을 명확한 범위와 가격으로 진행합니다.

협업 방식·가격 보기 →
VLSI Korea Free forever · No paywall · Weekly semiconductor insights from practicing engineers
MY VLSI

내 읽기 보관함

저장한 글과 읽던 글을 한곳에서 이어보세요.