SPICE에서 몬테카를로 기본 원리: 이론 및 시연

Zachariah Peterson
|  작성 날짜: 사월 14, 2022  |  업데이트 날짜: 구월 2, 2024
몬테 카를로 in SPICE

PCB에 구성 요소를 배치할 때마다 마치 도박을 하는 것과 같습니다. 모든 구성 요소에는 허용 오차가 있으며, 일부 구성 요소는 매우 정밀한 허용 오차를 가지고 있습니다(예: 저항기). 그러나 다른 구성 요소는 명목값에 대해 매우 넓은 허용 오차를 가질 수 있습니다(예: 와이어 와운드 인덕터나 페라이트). 이러한 구성 요소의 허용 오차가 너무 커지면, 이러한 허용 오차가 회로에 어떤 영향을 미칠지 어떻게 예측할 수 있을까요?

명목 전기 값(전압, 전류 또는 전력) 주변의 변동을 수작업으로 계산할 수는 있지만, 큰 회로에서 이러한 계산을 수작업으로 실행하는 것은 매우 시간이 많이 소요됩니다. 그러나 SPICE 시뮬레이터는 확률 이론에서 가져온 매우 유용한 유형의 시뮬레이션을 사용하여 이러한 질문에 답할 수 있도록 도와줍니다. 이 유형의 시뮬레이션은 몬테카를로로 알려져 있으며, 이제 Altium Designer의 SPICE 패키지로 이 시뮬레이션을 수행할 수 있습니다.

이 기사에서는 몬테카를로 시뮬레이션을 이해하고 구축하는 데 관련된 이론에 대한 개요를 제공한 다음, 전력 조정 회로에 대한 몇 가지 예제 결과와 허용 오차에 의해 결과가 어떻게 영향을 받는지 보여드리겠습니다. 몬테카를로 시뮬레이션은 회로 작동에 대한 통계를 취할 수 있는 많은 데이터를 생성하며, 이는 제품이 구성 요소 값의 허용 오차로 인해 사양에 매우 잘 맞을 가능성이 높은지 여부에 대한 좋은 아이디어를 제공합니다.

SPICE 시뮬레이션에서의 몬테카를로

몬테카를로 시뮬레이션은 간단한 과정으로 작동합니다: 임의의 숫자 세트를 생성한 다음, 이러한 임의의 숫자를 수학적 모델에 사용하여 유용한 것을 계산합니다. SPICE에서 몬테카를로 시뮬레이션이 사용될 때, 시뮬레이션은 정의한 허용 오차를 사용하여 회로의 구성 요소 값을 임의로 생성합니다. 그런 다음 이러한 임의로 생성된 구성 요소 값을 사용하여 표준 SPICE 시뮬레이션을 실행합니다. 이 과정은 구성 요소 허용 오차로 인해 회로 동작이 어떻게 변하는지를 설명하는 데이터 세트를 제공하기 위해 여러 번(때로는 100번 이상) 반복됩니다.

SPICE 패키지는 간단한 과정을 통해 몬테카를로 시뮬레이션을 구현합니다. 이는 임의의 숫자 생성 및 표준 SPICE 알고리즘에서의 전압 및 전류 계산을 포함하며, 그 다음에는 표나 그래프에서 결과를 표시합니다:

  1. 원하는 구성 요소를 선택하여 무작위 변동을 경험하게 하고, 구성 요소의 허용 오차를 정의하십시오.
  2. 구성 요소 허용 오차에 대한 분포를 선택합니다(가우시안이 가장 일반적으로 사용됩니다) 및 시뮬레이션 실행 횟수를 정의합니다.
  3. SPICE 시뮬레이터는 스키마에서 정의된 명목값과 2단계에서 정의된 허용 오차/분포를 사용하여 무작위 구성 요소 값을 생성합니다.
  4. SPICE 시뮬레이터는 3단계에서 무작위 구성 요소 값을 사용하여 회로의 각 지점에서 목표 전압/전류/전력을 계산합니다.
  5. 3단계와 4단계는 원하는 시뮬레이션 실행 횟수에 도달할 때까지 반복됩니다.
  6. 5단계에서의 결과는 추가 검사나 분석을 위해 그래프나 표로 컴파일됩니다.

예시: 전압 조정기의 몬테카를로 시뮬레이션

다음 예에서는 아래에 표시된 벅 컨버터 회로를 사용했습니다. 이 회로는 주요 섹션(L1)에 상대적으로 큰 인덕터를 사용하고, 스위칭 노이즈를 더욱 줄이기 위해 출력에 L-필터를 따라 사용합니다. 출력 커패시터는 스너버 저항이 있어 과도 응답의 강도를 줄이고 출력 전압을 부드럽게 합니다.

Monte Carlo SPICE buck converter
이 예제 시뮬레이션에서 사용할 벅 컨버터 회로.

이 회로는 입력 25V를 약 6.75V로 낮추는 것을 목적으로 합니다. 제 시뮬레이션에서는 인덕터 값이 최대 30%까지 변할 수 있도록 허용하고, 15번의 실행을 수행할 것입니다. 이러한 큰 변동은 일부 와이어와운드 인덕터와 페라이트에서 발견될 수 있으며, 이렇게 큰 변동을 사용하면 리플과 오버슈트의 극단적인 값이 어떻게 될 수 있는지 확인하는 데 도움이 될 수 있습니다.

인덕터가 변하는 구성 요소인 또 다른 이유는 출력 리플의 주요 결정 요인이기 때문입니다. 변환기가 연속 도통 모드에서 작동할 때 특히 그렇습니다. 우리는 심지어 최악의 전기적 동작을 확인해야 할 정도로 필요하다면 인덕터 전류 자체를 살펴보고 인덕터 전류가 연속 도통에 얼마나 가까운지 확인할 수도 있습니다.

결과

초기 결과 중 일부는 구성 요소 값의 30% 변동을 주었을 때의 과도 응답을 아래에 보여줍니다. 이 창에서 우리는 변환기가 이미 인덕터의 값에 따라 8.37V에서 8.56V까지 다양한 오버슈트를 보이고 있음을 볼 수 있습니다. 하단 윤곽(녹색, L1 = 91.9 uH, L2 = 6.16 uH)과 상단 윤곽(보라색, L1 = 122uH, L2 = 7.64 uH)의 값은 아래 그래프에 표시되어 있습니다.

Monte Carlo SPICE simulation
SPICE에서 몬테카를로를 사용하여 생성된 벅 컨버터에 대한 과도 분석 결과.

각 곡선은 무작위로 생성된 인덕터 값의 한 쌍에 해당합니다. 결과에서 우리는 인덕터의 변동이 미치는 영향을 명확하게 볼 수 있습니다:

  1. 레귤레이터가 켜질 때 상승 시간, 오버슈트, 그리고 과도 응답에 일부 변동이 있습니다.
  2. 가능한 인덕턴스 값마다 출력 전압 파형의 리플에 매우 작은 변화를 일으킵니다.

출력 리플이 이렇게 낮게 유지된다는 사실은 고무적입니다; 이는 모든 다른 매개변수에서 작은 변동을 가정할 때 이 설계를 통해 일관된 리플을 출력할 수 있다는 것을 의미합니다.

리플의 변화가 왜 이렇게 낮은가요?

출력 인덕턴스의 함수로서 출력 리플 방정식을 보지 않고서는, 인덕턴스의 +/- 30% 변화가 출력 인덕턴스에서 비슷하게 큰 변동을 일으킬 것이라고 가정하는 것이 자연스럽습니다. 그러나, 연속 도통 모드에서 작동하는 벅 컨버터의 출력 전류에 대한 전압 파형 리플의 방정식을 살펴보면, 이것이 사실이 아닌 이유를 알 수 있습니다:

Monte Carlo SPICE
벅 컨버터의 출력 전류 리플.

인덕턴스 값이 분모에 있기 때문에, 이러한 변동의 영향은 감소됩니다. 명목 인덕터 값에 대한 변동을 취하고 인덕턴스의 변동에 비례하는 리플 민감도를 살펴보면 이를 볼 수 있습니다:

Monte Carlo SPICE
인덕터에 대한 30% 허용 오차에 대한 출력 리플 전류의 변화. 우리는 인덕터가 더 클 때 이러한 변화의 영향이 더 작다는 것을 알 수 있습니다.

이러한 변동의 영향은 인덕터의 값에 의해 감소됩니다. 즉, 큰 인덕터에 대한 30% 허용 오차는 작은 인덕터에 동일한 30% 허용 오차보다 출력 리플에서 훨씬 적은 변화를 일으킵니다. 이러한 행동은 어떤 전기적 값(이 경우는 전류)이 질문의 구성 요소 값과 비선형적으로 관련되어 있을 때 전형적입니다.

또한 출력 필터(L2 + C2)의 3 dB 롤오프 주파수는 이미 Q1을 변조하는 PWM 주파수보다 낮습니다. 이 필터 섹션의 3 dB 롤오프는 명목상 41.1 kHz이며, 리플 주파수는 100 kHz의 PWM 주파수와 일치합니다. 리플은 이미 상당히 필터링되므로 롤오프 주파수의 변동이 출력 리플에 미치는 영향은 그다지 크지 않습니다.

통계 분석

몬테카를로 분석을 하려면, 구성 요소 값의 무작위 변동으로 인한 회로의 동작 한계를 정말로 이해하기 위해 일부 통계 분석을 수행해야 할 수도 있습니다. 아래 그래프에서는 위의 과도 분석 결과를 가져와서 켜짐 단계에서 과도 현상으로 인해 발생하는 최대 전압을 추출했습니다. 인덕턴스 값의 변동 효과를 정량화하기 위해 평균과 표준 편차를 계산했습니다.

과도 결과를 CSV 또는 다른 데이터 형식으로 내보내려면, Altium Designer의 메인 메뉴에서 파일 → 내보내기 → 플롯 명령을 사용하세요. 그런 다음 데이터를 Excel, MATLAB, Mathematica 또는 다른 데이터 분석 프로그램으로 가져올 수 있습니다.

Monte Carlo SPICE statistics
오버슛 전압의 평균 및 표준 편차는 과도 응답에서 결정됩니다.

우리가 수집한 데이터와 위의 통계적 값들을 사용하여 신뢰 구간을 구성하면, 이 회로들 중 95%는 8.375V에서 8.605V 사이의 오버슈트를 보일 것입니다. 최악의 경우 분석과 같은 추가 분석을 수행하고 싶다면, 이러한 극단적인 값들 중 하나를 사용하여 회로의 동작을 이해할 수 있습니다.

더 큰 데이터셋을 가지고 신뢰성 평가하기

신뢰성을 통계적으로 평가하기 위해, 훨씬 더 많은 시뮬레이션을 실행하여 많은 데이터 포인트를 살펴볼 수 있습니다. 더 많은 데이터를 가지고 있다면, 추출한 측정값에서 히스토그램을 구성하고 이를 사용하여 회로의 동작을 정의하는 확률 분포를 얻을 수 있으며; 그런 다음 이러한 값들을 사용하여 회로가 완전히 받아들일 수 없는 영역(우리의 신뢰 구간에서의 극단적인 값들을 넘어서)에서 작동할 확률을 결정할 수 있습니다.

재미로, 이 분석에서 수행된 시뮬레이션의 수를 100회로 늘렸습니다. 100회 반복으로 수행된 과도 결과는 아래에 나타나 있습니다. 이러한 곡선에서, 우리는 다시 켜짐 단계 동안의 최대 오버슈트 전압을 추출할 수 있습니다.

Monte Carlo SPICE statistics
켜짐 단계의 처음 100us 동안의 과도 응답. 이 100개의 곡선 세트에서 각 곡선에 대한 오버슛 전압을 추출하고 최대 전압을 설명하는 확률 분포를 결정할 수 있습니다.

결과를 Excel로 내보내면 아래에 표시된 것과 같은 히스토그램을 만들기에 충분한 데이터를 갖게 됩니다. 겹쳐진 오렌지색 곡선은 분류된 데이터에서 결정된 누적 함수를 보여주며, 현재 구간 이하에서 데이터의 어느 비율이 있는지를 보여주며, 이 회로의 예상 운영 범위를 측정하는 데 사용될 수 있습니다.

Monte Carlo SPICE statistics
100번의 시뮬레이션을 통해 결정된 오버슛 전압 통계.

여기서 얻을 수 있는 교훈은 구성 요소의 허용 오차를 고려할 때 회로 성능이 어떻게 변할지를 빠르고 쉽게 확인할 수 있는 방법을 갖고 있다는 것입니다. 결과가 우리의 사양이나 안전 여유 범위 내에 있지 않다면, PCB 레이아웃을 생성하고 프로토타입을 조립하기 전에 회로를 수정해야 합니다.

몬테카를로 시뮬레이션Altium Designer® 내부에서 회로에 대해 실행하는 데 관심이 있다면, 외부 시뮬레이션 패키지나 전문 분석 소프트웨어가 필요하지 않습니다. 회로를 평가하고 신뢰성 시뮬레이션을 수행하는 데 필요한 모든 것을 Altium Designer의 스키매틱 편집기 내에서 찾을 수 있습니다. PCB를 완성하고 설계를 협업자나 제조업체와 공유할 준비가 되면, Altium 365™ 플랫폼을 통해 완성된 설계를 공유할 수 있습니다. 고급 전자 제품을 설계하고 생산하는 데 필요한 모든 것을 하나의 소프트웨어 패키지에서 찾을 수 있습니다.

우리는 Altium 365에서 Altium Designer로 할 수 있는 가능성의 겉면만 긁어봤을 뿐입니다. 오늘 Altium Designer + Altium 365의 무료 체험을 시작하세요.

작성자 정보

작성자 정보

Zachariah Peterson은 학계 및 업계에서 폭넓은 기술 분야 경력을 가지고 있으며, 지금은 전자 산업 회사에 연구, 설계 및 마케팅 서비스를 제공하고 있습니다. PCB 업계에서 일하기 전에는 포틀랜드 주립대학교(Portland State University )에서 학생들을 가르치고 랜덤 레이저 이론, 재료 및 안정성에 대한 연구를 수행했으며, 과학 연구에서는 나노 입자 레이저, 전자 및 광전자 반도체 장치, 환경 센서, 추계학 관련 주제를 다루었습니다. Zachariah의 연구는 10여 개의 동료 평가 저널 및 콘퍼런스 자료에 게재되었으며, Zachariah는 여러 회사를 위해 2천여 개의 PCB 설계 관련 기술 문서를 작성했습니다. Zachariah는 IEEE Photonics Society, IEEE Electronics Packaging Society, American Physical Society 및 PCEA(Printed Circuit Engineering Association)의 회원입니다. 이전에는 양자 전자 공학의 기술 표준을 연구하는 INCITS Quantum Computing Technical Advisory Committee에서 의결권이 있는 회원으로 활동했으며, 지금은 SPICE 급 회로 시뮬레이터를 사용하여 광자 신호를 나타내는 포트 인터페이스에 집중하고 있는 IEEE P3186 Working Group에서 활동하고 있습니다.

관련 자료

관련 기술 문서

홈으로 돌아가기
Thank you, you are now subscribed to updates.