콘텐츠로 이동

IBIS 파일 포맷

IBIS란? 에서 다룬 개념이 파일에서 어떤 문법으로 기술되는지 정리한다. 설명에 사용하는 예시는 3.3V CMOS 출력·입력·양방향 버퍼와 차동 쌍(differential pair)을 갖는 가상 부품 EXAMPLE-100 이다. 전체 파일은 맨 뒤 전체 예시 에 있다.

IBIS 파일의 키워드 포함 관계 — 헤더, [Component] 블록, [Model] 블록, [End]

키워드는 대괄호로 표기하며, 상위 키워드가 나오면 그 지점부터 새 블록이 시작된다. 하나의 파일에 [Component][Model] 이 각각 여럿 올 수 있고, [Pin] 이 둘을 연결한다.

파일의 신원과 출처를 기술한다.

|************************************************************************
| 설명용으로 작성한 가상 부품이다. 설계에 사용하지 않는다
|************************************************************************
[IBIS Ver] 7.0
[File Name] example.ibs
[File Rev] 1.0
[Date] 2026-08-23
[Source] 설명용 예시. 실측값이 아니다
[Notes] 단위 접두사는 대소문자를 구분한다 — M 은 메가, m 은 밀리다
[Disclaimer] 예시 파일이다
키워드내용
[IBIS Ver]파일이 준수하는 규격 버전. 파서가 허용 키워드 집합을 결정하는 기준이다
[File Name]실제 파일명과 일치해야 한다
[File Rev]모델 개정 번호. 규격 버전과 별개다
[Date] · [Source]작성 시점과 데이터 취득 경로 — 측정인지 시뮬레이션인지 확인할 근거다
[Notes] · [Disclaimer] · [Copyright]자유 서술

| 로 시작하는 행은 주석이다. [Comment Char] 로 주석 문자를 변경할 수 있으므로, 파서는 이 키워드를 먼저 처리한 뒤 본문을 해석해야 한다.

[Component] EXAMPLE-100
[Manufacturer] Example Semiconductor
[Package]
| typ min max
R_pkg 50.0m 40.0m 60.0m
L_pkg 4.00nH 3.20nH 4.80nH
C_pkg 0.60pF 0.50pF 0.70pF

[Package]모든 핀에 공통으로 적용되는 패키지 기생 성분이다. 핀별로 값이 다르면 아래 [Pin] 행에 직접 기재하며, 그 값이 [Package] 보다 우선한다.

R_pkg50.0m 은 50 밀리옴이다. 대문자 M 은 메가를 뜻하므로 50.0M 으로 적으면 50 메가옴이 된다. 단위 접두사의 대소문자가 값을 세 자릿수 이상 바꾼다.

[Pin] signal_name model_name R_pin L_pin C_pin
1 CLK_OUT OUT_33 45.0m 3.8nH 0.55pF
2 DATA0 IO_33 48.0m 4.1nH 0.61pF
3 RESET_N IN_33 47.0m 4.0nH 0.58pF
4 LVDS_P DIFF_OUT 44.0m 3.7nH 0.54pF
5 LVDS_N DIFF_OUT 44.0m 3.7nH 0.54pF
6 VDD POWER
7 GND GND

각 행이 물리 핀 하나를 [Model] 이름에 대응시킨다. 세 번째 열의 값 중 다음 셋은 모델 이름이 아니라 예약어다.

예약어의미
POWER전원 핀
GND접지 핀
NC미접속 핀

R_pin · L_pin · C_pin 세 열은 선택 항목이다. 머리행에 열 이름이 선언된 경우에만 존재하므로, 파서는 열 개수를 고정으로 가정하지 않고 머리행을 읽어 판단해야 한다.

여러 전원 계통을 갖는 부품은 [Pin Mapping] 으로 각 신호 핀이 어느 전원·접지 버스(bus)에 속하는지 기술한다. 동시 스위칭 해석에서 이 대응이 필요하다.

[Diff Pin] inv_pin vdiff tdelay_typ tdelay_min tdelay_max
4 5 0.20V 0ps -20ps 20ps

[Diff Pin] 은 두 핀을 한 쌍으로 묶는다. vdiff 는 차동 판별 임계이고, tdelay_* 는 두 핀 사이에 허용되는 스큐다. 쌍의 두 핀은 [Pin] 표에서 같은 모델을 참조한다.

[Series Pin Mapping]Model_typeSeries 또는 Series_switch 인 모델이 어느 두 핀을 잇는지 지정한다.

[Model] OUT_33
Model_type Output
Polarity Non-Inverting
Vmeas 1.65V
Cref 0.0pF
Rref 500
Vref 0V
C_comp 2.00pF 1.80pF 2.20pF
|
[Voltage Range] 3.30V 3.00V 3.60V
[Temperature Range] 25.0 85.0 -40.0
항목내용
Model_type이 모델이 기술하는 I/O 동작 유형
Polarity · Enable반전 여부, 출력 인에이블 극성(polarity) — 3-state · I/O 에서 사용한다
Vmeas · Cref · Rref · Vref데이터시트 타이밍 규격이 측정된 시험 부하 조건
C_comp버퍼의 내부 커패시턴스
[Voltage Range]세 코너(corner)의 공급 전압
[Temperature Range]세 코너의 접합 온도

입력 모델은 구동 표 대신 판별 임계를 기술한다.

[Model] IN_33
Model_type Input
Vinl 0.80V
Vinh 2.00V
C_comp 1.80pF 1.60pF 2.00pF

각 행은 전압 typ min max 네 열이다. 전류의 부호는 핀으로 들어가는 방향을 양(+) 으로 한다.

[Pulldown]
| Vpin typ min max
-3.30V -95.0mA -78.0mA -112.0mA
0.00V 0.00A 0.00A 0.00A
1.65V 52.0mA 43.0mA 62.0mA
3.30V 95.0mA 78.0mA 112.0mA
6.60V 130.0mA 110.0mA 152.0mA
[Pullup]
| Vcc - Vpin typ min max
-3.30V 95.0mA 78.0mA 112.0mA
0.00V 0.00A 0.00A 0.00A
1.65V -52.0mA -43.0mA -62.0mA
3.30V -95.0mA -78.0mA -112.0mA
6.60V -130.0mA -110.0mA -152.0mA

전압 범위가 -Vcc 에서 2×Vcc 까지 확장되어 있는 점에 주의한다. 오버슈트·언더슈트 구간의 거동을 표현하기 위한 것이며, 규격이 권장하는 범위다.

보호 다이오드 두 종은 정상 동작 구간에서 전류가 0 이고, 레일을 벗어나는 구간에서만 값을 갖는다.

[GND Clamp]
| Vpin typ min max
-1.20V -420.0mA -350.0mA -510.0mA
-0.70V -18.0mA -12.0mA -26.0mA
-0.30V -0.05mA -0.03mA -0.08mA
0.00V 0.00A 0.00A 0.00A
3.30V 0.00A 0.00A 0.00A
|
[POWER Clamp]
| Vcc - Vpin typ min max
-1.20V 420.0mA 350.0mA 510.0mA
-0.70V 18.0mA 12.0mA 26.0mA
0.00V 0.00A 0.00A 0.00A
3.30V 0.00A 0.00A 0.00A

네 표를 곡선으로 옮기면 이렇게 된다. 표의 각 행이 곡선의 한 점이다.

예시 파일의 V-I 표 네 종을 곡선으로 나타낸 그림. 표마다 가로축의 뜻이 다르다

두 구동 곡선이 원점(origin) 대칭으로 보이지만 가로축의 뜻이 서로 다르다. 왼쪽은 핀 전압이고 오른쪽은 Vcc − Vpin 이다. 같은 모양으로 그려지는 것은 상측·하측 소자의 구동 능력이 대칭이기 때문이며, 축을 통일해 다시 그리면 두 곡선은 겹치지 않는다.

보호 곡선 두 종은 정상 동작 구간에서 0 이다가 레일을 벗어나는 지점부터 급격히 꺾인다. 전류 눈금이 구동 곡선의 세 배임에 주의한다 — 클램핑 전류가 구동 전류보다 훨씬 크다.

[Ramp]
| variable typ min max
dV/dt_r 1.65/0.45n 1.40/0.62n 1.85/0.35n
dV/dt_f 1.65/0.42n 1.40/0.58n 1.85/0.33n
R_load = 50

값은 전압변화/시간 형식의 분수로 적는다. 1.65/0.45n 은 0.45ns 동안 1.65V 가 변한다는 뜻이다. R_load 는 이 값이 측정된 부하 저항이며, 생략하면 50옴으로 해석한다.

[Rising Waveform]
R_fixture = 50
V_fixture = 0
| time typ min max
0.00ns 0.010V 0.008V 0.012V
0.20ns 0.180V 0.120V 0.240V
0.40ns 0.980V 0.760V 1.180V
0.60ns 1.480V 1.290V 1.620V
0.80ns 1.600V 1.520V 1.650V
1.00ns 1.630V 1.580V 1.660V

R_fixtureV_fixture 가 이 파형을 측정한 부하 조건이다. 부하 조건이 다르면 파형도 다르므로, 두 값 없이는 데이터를 해석할 수 없다. 위 예시는 50옴을 통해 0V 로 종단한 조건이며, 그래서 정상 상태 값이 공급 전압이 아니라 그 절반 부근에서 수렴한다.

조건을 달리한 파형 데이터를 복수로 수록할 수 있다. [Falling Waveform] 도 동일한 구조다.

두 파형 데이터를 곡선으로 옮기면 이렇게 된다.

예시 파일의 상승·하강 파형 데이터를 곡선으로 나타낸 그림

정상 상태 값이 공급 전압 3.3V 가 아니라 그 절반인 1.65V 부근에서 수렴한다. 50옴 부하로 0V 에 종단한 조건이기 때문이며, 파선이 그 수위를 가리킨다. 부하 조건이 달라지면 같은 버퍼도 다른 곡선을 낸다. 코너 세 벌이 벌어지는 폭이 전이 구간에서 가장 크다는 점도 함께 확인한다.

핀 하나가 설정에 따라 여러 특성으로 동작하면, 후보 모델을 묶어 두고 [Pin] 이 그 묶음을 참조하게 한다.

[Model Selector] DRIVE_SEL
OUT_33_4MA 4 mA 구동 설정
OUT_33_8MA 8 mA 구동 설정
OUT_33_12MA 12 mA 구동 설정
항목규약
주석기본은 | 다. [Comment Char] 로 변경할 수 있다
단위생략하면 기본 단위(V·A·s·F·H·Ω)로 해석한다. 2.00pF2.00p 는 같다
접두사T G M k m u n p fM(메가)과 m(밀리)을 구분한다
코너 열typ 은 필수다. min · maxNA 로 비울 수 있다
수치지수 표기(1.5e-9)를 허용한다
행 길이상한이 있으며 규격 버전마다 다르다. 대상 버전의 규격을 확인한다
표 행 수V-I 표와 파형 데이터의 행 수에 상한이 있다. 대상 버전의 규격을 확인한다
  1. [Comment Char] 를 먼저 처리한다. 주석 문자를 확정하기 전에 본문을 해석하면 안 된다
  2. 전압 기준을 표별로 구분한다. [Pullup] · [POWER Clamp]Vcc − Vpin 이며, 이때 Vcc 는 해석 중인 코너의 [Voltage Range] 값이다
  3. 코너 열을 값의 대소로 판단하지 않는다. min 열이 더 큰 값을 가질 수 있다
  4. NA 를 0 으로 치환하지 않는다. 데이터 없음과 값이 0 인 것은 다르다
  5. [Pin] 의 열 개수를 머리행에서 읽는다. 3열과 6열이 모두 유효하다
  6. 핀별 R/L/C 가 [Package] 보다 우선한다
  7. 접두사 대소문자를 구분해 파싱한다
  8. [Package Model] · [External Model] 등 외부 파일을 참조하는 키워드는 별도 파일 해석이 필요하다

IBIS Open Forum 이 배포하는 검증 도구 ibischk 로 문법을 확인한다. 오류뿐 아니라 경고까지 확인하며, 경고는 대개 데이터 품질 문제(코너 누락, 표 단조성 위반, 부하 조건 미기재)를 가리킨다.

문법 검증을 통과해도 데이터가 타당한지는 별개다. 다음을 함께 확인한다.

  • V-I 표가 단조로운가 — 구동 표에서 전압이 증가할 때 전류가 감소하는 구간이 있으면 수렴(convergence)이 어려워진다
  • 파형 데이터의 정상 상태 값이 R_fixture · V_fixture 조건과 V-I 표에서 계산한 값과 맞는가
  • [Ramp] 의 기울기가 파형 데이터의 기울기와 어긋나지 않는가

지금까지의 조각을 하나로 이은 파일이다.

|************************************************************************
| EXAMPLE-100 — 설명용으로 작성한 가상 부품이다. 설계에 사용하지 않는다
|************************************************************************
[IBIS Ver] 7.0
[File Name] example.ibs
[File Rev] 1.0
[Date] 2026-08-23
[Source] 설명용 예시. 실측값이 아니다
[Disclaimer] 예시 파일이다
[Component] EXAMPLE-100
[Manufacturer] Example Semiconductor
[Package]
| typ min max
R_pkg 50.0m 40.0m 60.0m
L_pkg 4.00nH 3.20nH 4.80nH
C_pkg 0.60pF 0.50pF 0.70pF
|
[Pin] signal_name model_name R_pin L_pin C_pin
1 CLK_OUT OUT_33 45.0m 3.8nH 0.55pF
2 DATA0 IO_33 48.0m 4.1nH 0.61pF
3 RESET_N IN_33 47.0m 4.0nH 0.58pF
4 LVDS_P DIFF_OUT 44.0m 3.7nH 0.54pF
5 LVDS_N DIFF_OUT 44.0m 3.7nH 0.54pF
6 VDD POWER
7 GND GND
|
[Diff Pin] inv_pin vdiff tdelay_typ tdelay_min tdelay_max
4 5 0.20V 0ps -20ps 20ps
|
|************************************************************************
[Model] OUT_33
Model_type Output
Polarity Non-Inverting
Vmeas 1.65V
Cref 0.0pF
Rref 500
Vref 0V
C_comp 2.00pF 1.80pF 2.20pF
|
[Voltage Range] 3.30V 3.00V 3.60V
[Temperature Range] 25.0 85.0 -40.0
|
[Pulldown]
| Vpin typ min max
-3.30V -95.0mA -78.0mA -112.0mA
0.00V 0.00A 0.00A 0.00A
1.65V 52.0mA 43.0mA 62.0mA
3.30V 95.0mA 78.0mA 112.0mA
6.60V 130.0mA 110.0mA 152.0mA
|
[Pullup]
| Vcc - Vpin typ min max
-3.30V 95.0mA 78.0mA 112.0mA
0.00V 0.00A 0.00A 0.00A
1.65V -52.0mA -43.0mA -62.0mA
3.30V -95.0mA -78.0mA -112.0mA
6.60V -130.0mA -110.0mA -152.0mA
|
[GND Clamp]
| Vpin typ min max
-1.20V -420.0mA -350.0mA -510.0mA
-0.70V -18.0mA -12.0mA -26.0mA
-0.30V -0.05mA -0.03mA -0.08mA
0.00V 0.00A 0.00A 0.00A
3.30V 0.00A 0.00A 0.00A
|
[POWER Clamp]
| Vcc - Vpin typ min max
-1.20V 420.0mA 350.0mA 510.0mA
-0.70V 18.0mA 12.0mA 26.0mA
0.00V 0.00A 0.00A 0.00A
3.30V 0.00A 0.00A 0.00A
|
[Ramp]
| variable typ min max
dV/dt_r 1.65/0.45n 1.40/0.62n 1.85/0.35n
dV/dt_f 1.65/0.42n 1.40/0.58n 1.85/0.33n
R_load = 50
|
[Rising Waveform]
R_fixture = 50
V_fixture = 0
| time typ min max
0.00ns 0.010V 0.008V 0.012V
0.20ns 0.180V 0.120V 0.240V
0.40ns 0.980V 0.760V 1.180V
0.60ns 1.480V 1.290V 1.620V
0.80ns 1.600V 1.520V 1.650V
1.00ns 1.630V 1.580V 1.660V
|
[Falling Waveform]
R_fixture = 50
V_fixture = 3.30
| time typ min max
0.00ns 3.180V 3.120V 3.220V
0.20ns 2.960V 3.040V 2.840V
0.40ns 1.980V 2.240V 1.720V
0.60ns 1.480V 1.620V 1.400V
0.80ns 1.390V 1.460V 1.360V
1.00ns 1.360V 1.420V 1.340V
|
|************************************************************************
[Model] IN_33
Model_type Input
Vinl 0.80V
Vinh 2.00V
C_comp 1.80pF 1.60pF 2.00pF
|
[Voltage Range] 3.30V 3.00V 3.60V
|
[GND Clamp]
| Vpin typ min max
-1.20V -400.0mA -330.0mA -480.0mA
-0.70V -16.0mA -11.0mA -24.0mA
0.00V 0.00A 0.00A 0.00A
3.30V 0.00A 0.00A 0.00A
|
[POWER Clamp]
| Vcc - Vpin typ min max
-1.20V 400.0mA 330.0mA 480.0mA
-0.70V 16.0mA 11.0mA 24.0mA
0.00V 0.00A 0.00A 0.00A
3.30V 0.00A 0.00A 0.00A
|
|************************************************************************
[End]