SPEF(.spef) 파일이란 무엇인가요?

SPEF(Standard Parasitic Exchange Format)는 layout에서 추출한 기생 R(저항)과 C(용량) 값을 담는 표준 파일입니다. STA tool이 SPEF를 읽어 net delay를 계산하며, timing 분석의 정확도를 결정하는 핵심 입력입니다....

SPEF(.spef) 파일이란 무엇인가요?
Photo by Trophim Laptev / Unsplash

SPEF(Standard Parasitic Exchange Format)는 layout에서 추출한 기생 R(저항)과 C(용량) 값을 담는 표준 파일입니다. STA tool이 SPEF를 읽어 net delay를 계산하며, timing 분석의 정확도를 결정하는 핵심 입력입니다.

자세한 문법은 IEEE1481을 참고하세요.

SPEF 파일의 구조

*SPEF "IEEE 1481-2009"
*DESIGN "top_design"
*DATE "Mon Mar 23 2026"
*VENDOR "Synopsys"
*PROGRAM "StarRC"
*VERSION "V-2024.06"
*DESIGN_FLOW "NETLIST_TYPE_VERILOG"
*DIVIDER /
*DELIMITER :
*BUS_DELIMITER [ ]
*T_UNIT 1 NS
*C_UNIT 1 PF
*R_UNIT 1 OHM
*L_UNIT 1 HENRY

*NAME_MAP
*1 clk
*2 rst_n
*3 U1/ZN
*4 U2/A
*5 reg_0/D

*PORTS
clk I *C 0.0200
rst_n I *C 0.0150

*D_NET *3 0.0085
*CONN
*P *3:1 *C 0.0005
*I *4:A I *C 0.0012
*I *5:D I *C 0.0011

*CAP
1 *3:1 0.0005
2 *3:2 0.0008
3 *3:3 0.0012
4 *3:3 *7:2 0.0003
5 *3:4 0.0011
6 *4:A 0.0012
7 *5:D 0.0011

*RES
1 *3:1 *3:2 2.50
2 *3:2 *3:3 4.80
3 *3:3 *3:4 3.20
4 *3:4 *4:A 1.50
5 *3:3 *5:D 2.10

*END

*D_NET *1 0.2500
*CONN
*P *1 I
*I reg_0/CK:CK I *C 0.0015
*I reg_1/CK:CK I *C 0.0015
/* ... clock net의 RC 상세 ... */
*END

SPEF의 주요 섹션 설명

Header는 단위 정의(시간, 용량, 저항)와 design 정보를 포함합니다. NAME_MAP은 긴 net 이름을 짧은 번호로 매핑하여 파일 크기를 줄입니다. *3은 실제로 U1/ZN net을 의미합니다.

D_NET은 하나의 net에 대한 parasitic 정보를 담는 블록입니다. *CONN은 net에 연결된 pin들을 나열합니다. *P는 port, *I는 instance pin입니다.

*CAP 섹션에서 4 *3:3 *7:2 0.0003은 coupling capacitance입니다. Net *3의 node 3과 net *7의 node 2 사이에 0.0003pF의 coupling이 있다는 뜻입니다. Coupling capacitance는 crosstalk 분석에 사용됩니다.

*RES 섹션에서 1 *3:1 *3:2 2.50은 node 1에서 node 2까지의 wire resistance가 2.50Ω이라는 뜻입니다.

SPEF의 종류: Reduced vs Detailed

Detailed SPEF는 wire를 여러 RC segment로 나누어 분포 RC(distributed RC)를 기술합니다. 위 예제처럼 여러 node와 resistor로 wire를 모델링합니다. 정확하지만 파일 크기가 큽니다.

Reduced SPEF는 RC network을 간소화하여 node 수를 줄입니다. Pi-model이나 T-model로 근사합니다. 파일 크기가 작고 STA 속도가 빠르지만, 정확도가 약간 떨어집니다.

SPEF 생성 과정

Parasitic extraction tool(StarRC, QRC 등)이 routing된 layout을 분석하여 SPEF를 생성합니다. Metal layer의 geometry, via 위치, 인접 wire 간 간격을 기반으로 R과 C를 계산합니다. RC corner(Cmax, Cmin, RCbest, RCworst 등)에 따라 서로 다른 SPEF를 생성합니다.

STA에서 SPEF 사용

# PrimeTime에서 SPEF 로드
read_parasitics -format spef top_design_rcworst.spef
report_timing -max_paths 10

STA tool은 SPEF의 RC 정보와 Liberty의 cell delay를 결합하여 path delay를 계산합니다. RC corner와 cell timing corner의 적절한 조합이 sign-off 정확도를 결정합니다.

정리

SPEF는 net의 기생 R/C를 표준 format으로 기술합니다. Extraction tool이 생성하고 STA tool이 소비하며, coupling capacitance 정보를 통해 SI 분석도 가능합니다. RC corner별로 별도 SPEF를 생성하여 MCMM 분석에 사용합니다.

글 참여 도구

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

비공개 제보

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

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

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

내 읽기 보관함

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