'model'에 해당되는 글 4건

  1. 2015.08.05 Package parasitic SPICE model extractor from IBIS file
  2. 2013.04.16 디커플링 커패시터 모델 어떤 것을 사용해야 하나
  3. 2013.01.24 IBIS 버퍼 모델
  4. 2012.02.28 S-Parameter 모델

Package parasitic SPICE model extractor from IBIS file

도구/기타 2015. 8. 5. 22:00

IBIS 파일 안에는 디바이스(component)의 버퍼 정보 외에도 각 핀들에 대한 패키지 기생 정보 즉 패키지의 R, L, C 값에 대한 정보가 담겨 있다. 보통 시뮬레이터들은 이 정보를 활용하여 시뮬레이션을 할 수 있다. 시뮬레이션에 패키지 정보를 포함시킬 수도 있고 뺄 수도 있다. 보통 핀에서 프로빙을 할 경우에 문제가 되지 않지만 다이(die)에서 신호 프로빙을 할 경우, 패키지 정보가 포함 되지 않는 시뮬레이터들이 많다. 이 경우 정확도를 위해 패키지 정보를 포함 시키려면 불편함을 감수하면 패키지 기생 값을 R,L,C 모델로 스키메틱에서 그려야 하는 수고를 해야한다. - Hyperlynx 같은 툴은 사용자의 추가 노력 없이 핀에서 프로빙 할 지 다이에서 할 지 고를 수 있는 옵션이 있어서 편하다. 

아무튼, 핀 수가 좀 많으면 이것을 일일이 그리는 것도 은근히 시간 많이 걸리고 귀찮다. 부품 평균 값으로 쓸 수도 있지만 그것은 어디까지나 평균 값인 것이고 핀에 따라서 편차가 클수도 있으므로 개별 핀의 기생 값을 사용하는 것이 바람직할 것이다. 암튼, 매뉴얼로 값 넣다 보면 실수하기도 쉽고... 귀찮다. 그래서, IBIS 파일에서 핀의 패키지 기생 R, L, C 값을 읽고 자동으로 SPICE 모델을 만들어 주는 툴을 만들어 보았다.


rlc spice model generator from ibs 150802.xlsm


그냥 급하게 만들어 본 것이라 제약 사항이 좀 있다.

*.ibs 파일의 형식은 windows 형식(LF+CR) 텍스트 파일이어야 한다. UNIX 형식(LF)은 오류가 난다. 일부 *.ibs 파일은 유닉스 형식을 저장되는 경우가 있으므로 확인해야 한다. 워드로 읽어서 저장할 때 윈도우 형식으로 저장하면 쉽게 형식을 바꿀 수 있다. 그 외에 2번 실행시 파일 저장 안되는 오류 등 몇가지 버그들이 있지만 사용에 큰 지장은 없다. 필요하다면 VBA 소스 코드를 수정해서 사용하면 된다.

부가적으로 SPICE 모델 추출 외에 각 핀의 패키지 내 wire impedance와 propagation delay 리스트를 작성해 준다.

아래는 사용 과정이다.

먼저, 탐색기에서 rlc spice model generator form ibs 150802.xlm를 클릭하여 실행한다.


매크로 보안 경고가 뜨면 '콘텐츠 사용'을 눌러 프로그램을 실행 시키다.


IBIS 파일을 찾는 파일 열기 다이얼로그가 열리면 모델 추출을 원하는 *.ibs 파일을 찾아서 연다.


프로그램이 즉시 실행되어 ZnTD라는 시트가 생성되며, 각 핀의 패키지 impedance와 propagation delay 가 자동 계산되어 리스트로 보여진다.


첫 번째 시트(Sheet1)를 클릭하면 방금 읽어 들인 IBIS 파일이 보여진다.


이제 방금 엑셀 매크로를 실행한 폴더를 다시 보면 IBIS 파일 안에 정의된 부품 이름으로 된 폴더가 생긴 것을 확인할 수 있다. 폴더 하나를 들어가 보면 각 해당 핀 별로 기생 SPICE 모델이 생긴것을 확인할 수 있다.


모든 핀에 대한 SPICE 모델이 부품 폴더 안에 들어 있다.  그 중 하나를 텍스트 에디터로 열면 아래 처럼 자동으로 생성된 모델으 확인할 수 있다.





'도구 > 기타' 카테고리의 다른 글

Wave 2 Table  (0) 2018.09.03
Spreadsheet Schematic Editor for Allegro  (0) 2016.12.05
패키지/커넥터 핀맵 작성기  (0) 2016.11.21
누적 공차 계산기  (0) 2016.07.03
몬테카를로 시뮬레이션  (0) 2016.07.02
:

디커플링 커패시터 모델 어떤 것을 사용해야 하나

원 포인트 레슨 2013. 4. 16. 18:21

커패시터 제조 회사들은 시뮬레이션의 편의를 위해서 디커플링 커패시터 모델을 제공해 준다. 대부분 2가지 종류를 제공하는데 하나는 RLC 모델이고 다른 하나는 S-Parameter 모델이다. 이 둘 중에서 어떤 것을 사용하는 것이 적절할까?

아래 그림이 힌트를 주고 있다.

위 그림은 Xillinx white paper(wp411__Sim_Power_Integrity.pdf)에서 발췌한 것이다.

진한 파란색은 RLC 모델의 임피던스 특성을 보여주고 있고, 빨간색은 S파라미터 모델의 임피던스 특성을 보여준다. 공진점 살짝 위 주파수까지는 두 모델이 같은 특성을 보여 준다. 그러나 공진점 살짝 위 주파수부터 두 모델 간에 임피던스 값이 벌어지기 시작한다. 100 MHz에서 보면, 최소 50%에서 최대  250%정도까지 차이가 벌어진 것을 확인할 수 있다. 

따라서 고주파 영역의 정밀도가 중요할 경우 RLC 모델 대신에 S파라모델을 사용하는 것이 좋다.



:

IBIS 버퍼 모델

확장/자료 2013. 1. 24. 08:49

물리적인 이론은 단지 수학적 모델이다. 따라서 그것이 실제와 일치하느냐 하느냐고 묻는 것은 의미가 없다. 오히려 그것의 예측이 관찰한 것에 부합하느냐고 묻는 것이 중요하다.


전기적 모델은 2가지 방법으로 유도될 수 있다.

  1) 물리적 구조와 속성으로부터

  2) 행동을 관찰한 것으로부터

전기적 모델이 물리적 실제와 부합하는지는 관계가 없다. 행동을 예측하는 것이 필요할 뿐이다. 따라서 모든 모델은 행동적이다.


모델은 무엇인가?

모델은 물리적 디바이스의 전기적 표현이다. 예들들어 전송선은 무수히 많은 RLGC의 사다리꼴 조합으로 모델될 수 있다. 패키지는 transmission line과 lumped elements의 조합으로 모델될 수 있다. 입력과 출력 버퍼도 다양한 방법으로 모델될 수 있다.


정확한 모델의 중요성

T라인, 패키지, 커넥터, 비아, 리턴 경로 등은 매우 정밀하게 모델될 수 있다. 그러나 입력(stimulus)이 부정확하면 그것들은 쓸모없는 것이 되버린다. 쓰레기를 입력하면 쓰레기가 나온다(GIGO; Garbage In, Garbage Out). 따라서, 모델 데이터의 근원을 이해하는 것은 매우 중요하다. 모델링 타입 그리고 제한과 친숙해져야 하고, 그것을 만들거나 전달 받았을 때 꼼꼼히 체크해야 한다. 또한 툴(EDA tool)에서 어떻게 모델 데이터를 사용하는지도 알아야 한다.


I/O 버퍼는 어떻게 모델하나?

  1) Linear 모델: 이상적 전원 소스 + 이상적 저항

      IP에 대한 정보가 없다. 시뮬레이션 속도는 빠르며 Sweep 능력도 있다.

  2) Behavioral 모델: 선형 혹은 비선형일수 있으며 I-V와 V-t 데이터를 갖는다.

     IP에 대한 정보는 조금만 가지고 있다. 시뮬레이션 속도가 빠르며 어느정도 Sweep 능력이 있다.

  3) Transistor 회로: 트랜지스터, 프리-드라이버 회로, 리시버, 디퍼런셜 앰프등 자세한 모든 정보를 포함한다.

     IP정보를 많이 포함하고 있다. 시뮬레이션 속도가 느리며 sweep 능력도 제한된다.


기본적인 CMOS 버퍼 모델

  1) 출력(드라이버): 

      pull-up 디바이스 + pull-down 디바이스 + power clamp 디바이스 + ground clamp 디바이스 + capacitance

  2) 입력(리시버): 

      capacitance + power clamp 디바이스 + ground clamp 디바이스


버퍼에 대한 가정

인터커넥트로 인가되는 전압과 버퍼에서의 반사계수가 시간 상에서 일정하고 선형적이라고 가정한다. 그러나, 대부분의 버퍼는 선형적이지 않다. 전압은 전류 의존적이어서 시간에 따라서 변한다. 그래서 저항, 커패시터, 인덕터 대신에 I-V 커브 요소를 사용한다.


Behavioral 버퍼 모델링의 시작

버퍼를 적당한 I-V 임피던스 함수로 대체하면 실제 트랜지스터 모델 없이도 네트워크 상의 모든 노드에 대해서 전앖과 전류의 응답을 결정할 수 있다. 이것을 기초로 90년대 초기에 IBIS가 만들어졌다.


IBIS와 벤더 특정 모델 타입

IBIS(I/O Buffer Information Specification)는 펜티엄 프로 시절에 엔지니어가 버퍼 정보(I-V)를 고객에게 주기에서 간단하게 만들어 졌고, 버전업 되면서 V-t 커브가 추가되고, staged device가 추가되는 등 계속 발전 중에 있다. 많은 벤더들이 IBIS에서 변환된 자신들 고유 포맷을 사용하고 있다.


IBIS 파일은 무엇인가?

디지털 디바이스에 있는 버퍼의 아날로그 행동을 묘사하기 위한 파일로 평범한 ASCII 텍스트 파일이다. IBIS 파일은 실제로 모델이 아니며 단지 사용될 데이터를 담고만 있다. 우연히 IBIS는 모델로 불리지만 실제로는 규격(Spec)이다. 시뮬레이션 툴은 이 행동 규격을 해석해서 자신들의 모델과 알고리즘으로 구현한다.


IBIS의 핵심부


MOS I-V 커브

  위는 high-to-low 전이를 보여준다. 

  버퍼의 임피던스는 전이 - 완전한 open에서 완전히 드라이빙 하는(Ron) - 되는 동안 동적이다.


Pull down I-V 데이터 생성


Ground clamp I-V 데이터 생성


Pull up I-V 데이터 생성


Power clamp I-V 데이터 생성

IBIS에서 I-V 커브

  .IBIS는 파워 레일에 달려있는 모든 디바이스에 대해서 Vcc 기준 I-V 커브를 사용한다.

  .그것은 I-V 커브를 쉬프트해서 반전시키는 것과 같다.

  .그렇게 하는 주요 있는 파워 연결에 상관없이(VCC 독립적으로) 같은 모델을 사용하기 위해서다.


High/Low 드라이브에 대한 심플 모델

  .high와 low 스위치는 이상적으로 상보관계(complementary)이다.

  .실제 디바이스는 약간 다른 특성을 갖는다.

V-t 데이터 생성

  .high와 low 스위치 각각에 대해서 2개씩 총 4개의 V-t 커브가 필요하다.

  .Rload가 사용될 부하 모델의 20% 이내에 있으면 정확도가 향상된다.

왜 4개의 V-t 커브를 사용하나?

  .V-t 커브가 time-correlate되는 것은 중요하다.

  .4개의 V-t커브는 pull-up과 pull-down 디바이스의 상대적 스위칭 시간을 묘사한다.


PVT 코너

  .PVT = Process, Voltage, Temperature

  .과거의 모델들은 "코너"에서 만들어 졌다.

   모든 버퍼 특성은 PVT와 관련된 파라미터에 의존한다.

Fast 코너 = fast process, high voltage, low temp.

Slow 코너 = slow process, low voltage, high temp.

  .이런 것은 IBIS 모델안에 "min"과 "max"로 들어가 있다.

  .요즘 세대에서는 fast와 slow 코너만가지고 모든 효과를 적절히 커버하기 어렵니다.

   이런 경우 다른 타입의 모델이 주워진다.

  .보상된 버퍼가 요구되는 버퍼 코너의 조합을 없애버린다.

그것들은 PVT 효과를 대신해서 추가 회로를 사용한다.

이것은 PVT와 버퍼 특성을 독립적 파라미터로 만든다.


Envelope 또는 Spec 모델

  .역사적으로, 우리는 반복적으로 buffer strength와 edge rates를 부정확하게 예측해왔다.

buffer strength는 흔히 실리콘보다 약하다.

edge rates는 흔히 실리콘보다 느리다.

  .사용할 수 있는 하나의 접근은 envelope이나 spec 모델을 만드는 것이다.


Spec 커브 모델 이슈

  .spec에 따라서 합법이다.

  .때에 따라 더 qualification이 요구된다.


CMOS 모델 만들기 예

  .주워진 값:

VCC = 2.0V

측정 threshold = 1V, Vil = 0.8V, Vih = 1.2V

NMOS Ron = 10ohm

PMOS Ron = 10ohm

모든 edge rates = ramps of 2V/ns

버퍼의 다이 패드에서 capacitance = 2.5pF

클램프는 1ohm이고 레일 위와 아래 0.6V에서 시작한다

PMOS는 NMOS가 꺼지고(rising edge) 100ps 후에 켜지기 시작한다.

NMOS는 PMOS가 꺼지가(falling edge) 100ps 후에 켜지기 시작한다.

  .Mentor Visual IBIS editor들을 이용하여 편집할 수 있다.

   헤더

   패키지 정의 및 핀 할당

   모델 명세

special_IO가 전에 단일 핀에서 할당되었던 것을 주의하라

하나의 부품에 많은 핀과 모델이 규정될 수 있다.

   I-V 커브

   100ps delay 스펙을 갖는 4개의 V-t 파형

   fixture의 부하 라인과 해당 I-V 커브의 교차점은 Voh와 Vol을 결정한다.

   Voh와 Vol은 해당 V-t 섹션에서 사용되어야한다.

   Ramp와 End

Ramp가 규정되지만 시뮬레이터는 Ramp를 사용할지 V-t 데이터를 사용할지 결정할 수 있다.

End 명세가 필요하다.


   

GTL+ on die termination

  .GTL 버퍼는 pull-down 트랜지스터만 가지고 있다. PMOS로 스위치되지 않는다.

  .많은 칩들이 I/O 버퍼 내에 터미네이션 장치를 포함하고 있다.


On-die 터미네이션

  .ODT를 포함하는 하나의 방법은 클램프 섹션에서 터미네이션 전류와 다이오드 전류를 중첩해서 더하는 것이다.

  .클램프는 버퍼가 드라이빙하든 리시빙하든 항상 active이다. 따라서 터미네이션은 항상 active이다.


IBIS에서 패키지 모델링

  .3가지 방법이 있다.

IBIS 파일 안에서 lumped R, L, C 값

Package 모델

EBD(Electrical Board Description)

  .Package 모델과 EBD는 다음 규칙을 따른다

[Len=l R=r L=l C=c]

  .예:

lumped resistor: Len=0 R=50 L=0 C=0

capacitor package: Len=0 R=[ESR] L=[ESL] C=1uF

package trace: Len=1.234 R=0 L=10E-9 C=2E-12


Vol 계산

  .저항 부하에 대한 I-V

  .버퍼에 대한 I-V(NMOS)

  .Vol 계산

NMOS I-V 커브와 부하 라인의 교차를 이용해서 Vol을 계산한다.

Vol은 V-t 파형의 Vol과 부합해야 한다.


Voh 계산

  . PMOS I-V 커브와 부하 라인의 교차로 부터 Voh를 계산한다.

  . Voh는 V-t 파형의 Voh와 부합해야 한다.


HSPICE에서 IBIS 모델 사용하기

  .위에서 보여준 IBIS 파일(위 아래 10ohm 저항)을 사용하면 다음과 같다.


HSPICE 블럭 다이어그램


버퍼에 대한 3개의 라이브러리 만들기

  .driver: source-resistor 모델

  .driver_ibis: ramp데이터를 사용하는 10ohm CMOS IBIS 모델

  .driver_ibis_two: rising과 falling edge에 대한 2개의 V-t 커브를 가진 10ohm CMOS IBIS 모델


결과

  .대충 보기 결과 나쁘지 않다.

  .rising wave 확대 보기

  .falling wave 확대 보기


IBIS 모델링에 대한 추가 정보

  .IBIS 파일은 원하는 성능을 위해 튠 될 수 있다.

  .IBIS 파일이 어떻게 사용되냐에 따라 시뮬레이터는 변할 수 있다. 특히 규정된 부하와 멀리 떨어져 사용될 때.


* www.intel.com에 있는 Class17_18_IBIS_io_buffer_class.ppt에서 그림과 내용을 발췌(번역)하여 요약한 것입니다.


'확장 > 자료' 카테고리의 다른 글

Chip Discretes Size  (0) 2015.01.22
Capacitor S-parameter Data  (0) 2013.12.18
:

S-Parameter 모델

원 포인트 레슨 2012. 2. 28. 21:55
 원래 S-parameter는 RF 분야에서 사용되는 개념이었는데, 요즘엔(2000년대 이후) 고속 보드 레벨 회로 설계에서도 흔히 사용하는 개념이다. 간략히 설명하자면 회로 네트웍에서 입출력 신호의 비율로서 그 네특웍의 특성을 묘사하기 위해 고안된 것이 S-parameter이다.
 S-parameter 모델은 네트웍의 입출력 신호비 만으로 구성되기 때문에 spice에 비해서 시뮬레이션 속도가 빠르며, 모델 자체만으로 네트웍의 특징을 우리에게 비교적 직관적으로 알 수 있게 해준다.

S21(insertion loss)
 2포트 짜리 네트웍이 있다고 하자. 포트 1이  입력이고 포트 2가 출력이라고 한다면, 입력으로 들어가서 출력으로 나오는 신호의 비를 S21 혹은 insertion loss 라고 부른다. S 다음의 숫자가 신호가 나오는 포트이고 그 다음 숫자가 들어가는 포트이다.
 만약에 S21 =  0dB 이면, 포트 1로 들어간 모든 신호가 손실없이 포트 2로 나온 것을 의미한다. S21 = -3dB 이면, 입력 대비 출력 신호의 파워가 반으로 줄어든 것을 의미한다(전압 기준으로 입력이 1V이면, 출력이 0.71V). S21이 -3dB 이하라면 그 네트웍은 insertion loss가 큰 편에 속한다고 볼 수 있을 것이다.

참고> dB
dB(데시벨)는 어떤 기준 전력에 대한 전력 비의 상용로그 값(벨)에 1/10을 취한 값이다.

S11(return loss)
 네트웍의 입력포트로 신호가 들어갈 때, 그 들어간 포트로 다시 돌아 나오는 신호의 비를 S11 혹은 return loss라고 부른다. S11 = 0dB 이면 들어간 모든 신호가 다시 반사되어 나온 것이다. 일반적으로 S11 = -20dB 이하인 네트웍 사용을 권장하는데 -20dB이면 전력비가 1/100이고, 전압으로 본다면 입력 전압이 1V 일 때, 반사되어 나오는 신호는 0.1V인 것을 의미한다.

S41(far end cross-talk) 
 4포트 짜리 네트웍이 있다고 하자. 포트 1과 포트 3는 입력이고, 포트 2은 네트웍 내부에서 포트 1과  conductor로 연결된 출력이고 포트 4는 포트 2와 conductor로 연결된 출력이라고 하자. 이때 포트 1로 신호가 들어가서 포트 2로 나오면 위에 설명된 S21이 된다. 그런데 포트 1로 신호가 들어가서 포트 4로 나오면, 우리는 그것을 S41라 부르는데, 그것은 우리가 흔히 알고 있는 cross-talk이라고 부르는 신호 성분이다. cross-talk 신호가 관찰되는 곳이 입력의 반대편에 있기 때문에 구체적으로 far end cross-talk(FEXT)이라고 부른다. S41은 S11보다도 더 작은 것이 바람직할 것이다.

S31(near end cross-talk)
 포트 1로 들어간 신호 중 포트 3으로 나오는 신호의 비는 S31이라 하는데, 이 것도 S41과 마찬가지로 cross-talk 신호 성분이다. 이 경우는 3번 포트가 1번 포트의 같은편에 있기 때문에 near end cross-talk(NEXT)이라고 부른다. NEXT와 FEXT는 다른 특징을 보인다 - Xtalk 부분 참조.

S-parameter 모델로 적용될 수 있는 곳
 IC의 핀 부터 핀까지 interconnect를 구성하는 모든 부분은 s-parameter 모델로 표현될 수 있다.  PCB(trace + via), connector, cable 들이 부분별로 S-parameter 모델로 표현될 수 있고, 모두를 합쳐서 표현될 수도 있다.

위상
  위에서는 크기만으로 s-parameter 모델을 설명하였지만, s-parameter 모델에는 크기 뿐만하니라 위상 정보도 같이 표현된다. 그래야만 정확히 신호를 묘사할 수 있기 때문이다.

고속 인테페이스에서의 규약
 표준 고속 인터페이스에서는 커넥터나 케이블등의 사용에 있어서 S-parameter 규약이 있을 수 있다. 다음은 DDR3 UDIMM 소켓에 관한 표준 spec이다. 마더보드에 사용되는 UDIMM DDR3 소켓은 아래 spec을 만족해야만 신호 품질을 보증할 수 있을 것이다.

 insertion loss   S21 < -1.2 dB,  f <= 3.5 GHz
 return loss   S11 < -10.0 dB, f <= 3.5 GHz
 far end xtalk   S14 < -13.5 dB, f <= 3.5 GHz
 near end xtalk   S13 < -9.5 dB, f <= 3.5 GHz

: