DRC/LVS Rule Deck(.svrf) 파일이란 무엇인가요?

DRC/LVS Rule Deck(.svrf) 파일이란 무엇인가요?
Photo by Google DeepMind / Unsplash

SVRF(Standard Verification Rule Format)는 Calibre에서 DRC, LVS, ERC rule을 기술하는 파일입니다. Foundry가 Fabless에게 제공하며, layout이 제조 규칙을 만족하는지 검증하는 데 사용됩니다.

DRC Rule Deck 예제

// example_drc.svrf
// Calibre DRC Rule Deck

LAYOUT PRIMARY top_design
LAYOUT PATH "top_design.gds"
LAYOUT SYSTEM GDSII

DRC RESULTS DATABASE "drc_results.db"
DRC SUMMARY REPORT "drc_summary.rpt"

// ============================================
// Layer 정의
// ============================================
LAYER M1        31
LAYER VIA1      51
LAYER M2        32
LAYER POLY      5
LAYER DIFF      1
LAYER NWELL     2

// Derived layer
M1_WIDE = M1 WITH WIDTH > 0.100

// ============================================
// M1 Design Rules
// ============================================
// M1 minimum width: 0.032um
M1_MIN_WIDTH {
    INTERNAL M1 < 0.032
}

// M1 minimum spacing: 0.032um
M1_MIN_SPACE {
    EXTERNAL M1 < 0.032
}

// M1 minimum area: 0.015um^2
M1_MIN_AREA {
    AREA M1 < 0.015
}

// M1 wide wire spacing: width > 0.1um needs 0.05um spacing
M1_WIDE_SPACE {
    EXTERNAL M1_WIDE M1 < 0.050
}

// ============================================
// VIA1 Rules
// ============================================
// VIA1 enclosure by M1: 0.010um
VIA1_ENC_M1 {
    ENCLOSURE VIA1 M1 < 0.010
}

// VIA1 enclosure by M2: 0.010um  
VIA1_ENC_M2 {
    ENCLOSURE VIA1 M2 < 0.010
}

// VIA1 minimum spacing: 0.070um
VIA1_MIN_SPACE {
    EXTERNAL VIA1 < 0.070
}

// ============================================
// Density Rules
// ============================================
// M1 density: 20% ~ 80%
M1_DENSITY_MIN {
    DENSITY M1 < 0.20 WINDOW 50.0 STEP 25.0
}
M1_DENSITY_MAX {
    DENSITY M1 > 0.80 WINDOW 50.0 STEP 25.0
}

// ============================================
// Antenna Rules
// ============================================
ANTENNA_M1_RATIO {
    ANTENNA RATIO M1 4000.0 POLY
}

DRC Rule 문법 설명

INTERNAL은 같은 polygon 내에서의 최소 거리(width) check입니다. EXTERNAL은 서로 다른 polygon 간의 최소 거리(spacing) check입니다. ENCLOSURE은 한 layer가 다른 layer를 얼마나 감싸는지 check합니다. AREA는 polygon의 면적 check입니다. DENSITY는 특정 window 내에서 metal 밀도를 check합니다.

LVS Rule Deck 예제

// example_lvs.svrf
LAYOUT PRIMARY top_design
LAYOUT PATH "top_design.gds"
LAYOUT SYSTEM GDSII

SOURCE PRIMARY top_design
SOURCE PATH "top_design.v"
SOURCE SYSTEM SPICE

LVS REPORT "lvs_report.rpt"
LVS REPORT OPTION S

// Layer 정의
LAYER M1     31
LAYER POLY   5
LAYER DIFF   1
LAYER NWELL  2
LAYER PPLUS  3
LAYER NPLUS  4
LAYER CONT   50

// Device 인식
// NMOS: DIFF와 POLY가 교차하고 PPLUS가 없는 영역
NGATE = DIFF AND POLY NOT PPLUS
// PMOS: DIFF와 POLY가 교차하고 NWELL 위에 있는 영역
PGATE = DIFF AND POLY AND NWELL

// Connectivity
CONNECT M1 DIFF BY CONT
CONNECT M2 M1 BY VIA1

// Device 추출
DEVICE MN NMOS NGATE POLY DIFF DIFF
DEVICE MP PMOS PGATE POLY DIFF DIFF

// LVS 비교
LVS COMPARE

LVS에서 하는 일

LVS rule deck은 layout에서 device(transistor)를 인식하고, connectivity를 추출하여 schematic(또는 netlist)과 비교합니다. Layer의 Boolean 연산(AND, OR, NOT)으로 derived layer를 생성하고, 이를 통해 NMOS/PMOS를 식별합니다. CONNECT로 layer 간 전기적 연결을 정의합니다.

Calibre 실행

# DRC 실행
calibre -drc -hier example_drc.svrf

# LVS 실행
calibre -lvs -hier example_lvs.svrf

# 결과 확인
calibredrv -m drc_results.db    # GUI로 결과 확인

정리

SVRF는 Calibre의 DRC/LVS rule을 기술하는 format입니다. Foundry가 제공하며, layer 정의, design rule check, device 인식, connectivity 추출 규칙을 담고 있습니다. DRC는 제조 규칙 준수를, LVS는 설계 의도와의 일치를 검증합니다.

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