스콧 루벨 스코틀랜드 루블0 , 박사, NXP Semiconductors 수석 수석 엔지니어
토드 제이콥스 , 박사, NXP Semiconductors 수석 엔지니어
제임스 넬슨 텍사스넬슨 , 소프트웨어 엔지니어 및 Six Sigma Black Belt, 독립 계약자
소개
최신 칩 설계에는 프로세스, 전압 및 온도 민감도가 서로 다른 여러 IP 구성 요소가 있습니다.이러한 구성 요소는 모두 광범위한 작동 조건에서 작동해야 하지만, 서로 다른 구성 요소는 서로 다른 프로세스 코너에서 더 큰 어려움을 겪게 됩니다. 일부는 고온, 일부는 저전압 등입니다.제조 전에 성능을 예측한 다음 실제 실리콘을 테스트할 수 있는 시기를 특성화할 수 있습니다. IP 구성 요소가 많을수록 더 많은 모델링/특성화 작업이 필요합니다.
여기에는 고객마다 고유한 성능 요구 사항이 있습니다. 어떤 사람은 전력에 거의 신경 쓰지 않고 매우 높은 작동 속도를 요구할 수도 있고, 다른 사람은 극도로 엄격한 전력 요구 사항을 요구하여 일부 칩 구성 요소를 완전히 끌 수도 있습니다.별도의 프로세스나 제품 버전을 실행하면 이러한 요구 사항이 충족되지 않습니다. 대신 각 생산 배치는 다양한 성능 등급이 혼합되어 있습니다.다양한 고객 요구 사항에 맞게 이 조합을 최적화합니다( ~이다 ) 제조 공정 전반에 걸쳐 총 마진에 큰 영향을 미칩니다. 즉, 특정 빈이 너무 많거나 너무 적으면 판매할 수 없는 제품이 발생하며 이는 본질적으로 수율 손실입니다.
몬테카를로 시뮬레이션은 다양한 조건에서 이러한 속도-전력 분포 및 빈 혼합을 시뮬레이션하는 데 최적입니다. 많은 수의 통계 매개변수(일반적으로 40 – 60 및 공분산 행렬) 및 빈 제한(~20-100)이 포함됩니다.이를 관리하려면 일관된 매개변수 추출과 문서화가 중요하며, 바로 JMP 스크립팅이 필요한 부분입니다. "처음부터 올바른" 시뮬레이션을 보장하기 위한 통계 도구와 저널링 기능을 제공합니다.게다가, 그것의 f 빠른 실행 시간(실행당 1~5분)과 일관된 문서화를 통해 실시간으로 여러 비즈니스 사례를 비교할 수 있습니다.
시뮬레이션 흐름
아래 다이어그램은 일반적인 일련의 시뮬레이션 실행에 대한 프로세스 흐름을 보여줍니다.우리는 예측된 또는 실제 성능 특성으로 시작하고, 이로부터 제품을 설명하는 기본 통계 매개변수를 추출합니다. 그런 다음 이러한 매개변수(특히 분산)를 확장하여 다양한 시나리오를 평가할 수 있습니다.이 시점에서 몬테카를로 엔진은 속도-전력 분포의 시뮬레이션된 "구름"을 생성합니다.여기에는 Bin 제한(고객 요구 사항)이 포함됩니다.한계 내에서 구름 부피를 수치적으로 통합하면 이 특정 구름에 대한 빈의 통계적 분포가 결정됩니다.scipt는 다양한 제조 조건에서 이를 자동으로 반복하여 빈 혼합이 허용되는 프로세스 창(비판매 다이 없음)을 결정합니다.이 시점에서 우리는 다양한 시나리오를 고려할 수 있으며, 이 경우 주어진 수요 혼합에 대한 프로세스와 한계의 최적 조합에 도달할 때까지 다양한 스케일링 및/또는 한계를 사용하여 시뮬레이션을 다시 실행할 수 있습니다.

속도-전력 분배 및 비닝
아래 플롯은 일반적인(시뮬레이션된) 속도와 일반 속도를 보여줍니다. 단일 IP 도메인에 대한 전력 플롯.주파수는 거의 항상 로그(정적 누설 전류 = SIdd)의 선형 함수이므로 기울기, 절편, RMSE(잡음)로 설명됩니다.log(SIdd) 자체는 평균과 표준편차로 설명됩니다.우리는 일반적으로 표준 편차 변화를 평가하기 때문에 스케일링 매개변수를 입력 중 하나로 포함합니다. 이는 클라우드에 전력에 대한 3개의 매개변수와 각 전압 및 온도에서 각 주파수 테스트에 대한 3개의 매개변수가 있음을 의미합니다.아래 플롯에서는 샘플 빈 제한을 보여줍니다. 0.32 logA 정적 전력 미만 및 1040MHz 초과(녹색 상자 내부)는 이 빈의 요구 사항을 통과합니다.

공칭 테스트 전압을 조정하여(고객 사양 범위 내에서) 통과 다이 수를 확장할 수 있습니다.더 높은 전압에서는 부품이 더 빠르게 작동하므로 더 느리게 작동하여 이제 주파수 요구 사항을 통과할 수 있습니다.그러나 부품은 더 많은 정적 및 동적 전력을 소비하며 이에 대한 고정 예산이 있습니다.해당 예산 내에서 유지하려면 고정 기준 전압에서 허용되는 정적 구성요소가 더 낮아야 합니다.아래 그림의 밝은 녹색 상자는 고전압에서 빈 요구 사항을 통과하는 추가 다이를 보여줍니다.낮은 전압에서는 그 반대가 적용됩니다. 진한 녹색 상자는 이 시나리오에서 캡처된 추가 주사위를 보여줍니다.

전압이 다르더라도 하나의 빈을 통과하지 못하는 것은 여전히 다른 빈을 통과할 수 있습니다.아래 플롯은 이러한 이상값을 포착하는 두 개의 추가 빈, 즉 저속 저전력 빈(파란색)과 고속 고전력 빈(빨간색)을 보여줍니다.

물론 많은 다이가 여러 사양을 통과할 수 있습니다. 다음 플롯은 이러한 중첩 영역을 보여줍니다. 가장 어두운 녹색 사분면에 있는 영역은 녹색 사양 제한과 빨간색 및 파란색 사양 제한에 대한 모든 전압을 전달합니다.비닝 영역은 전압 전체에 걸친 논리적 OR와 온도 및 IP 도메인 전체에 걸친 논리적 AND의 조합으로 설명됩니다.이 다이는 필요에 따라 한 빈에서 다른 빈으로 공급을 유연하게 하는 데 사용할 수 있습니다. .

각 상자에 대해 주사위를 계산하는 방법에는 두 가지가 있습니다.첫 번째는 최대 분배, 빈의 속도/전력 요구 사항을 통과할 수 있는 모든 가능한 다이를 계산합니다.이는 중요한 공급 제약입니다. 수요가 최대 분배를 초과하면 공급이 항상 부족하여 판매할 수 없는 자재(수율 손실)가 발생합니다.이 메트릭의 경우 통과하는 각 bin에 대해 겹치는 영역 수가 계산되므로 bin 전체의 분포 합계가 100%를 초과할 수 있습니다.
주사위를 계산하는 두 번째 방법은 다음과 같습니다. 나는 혼합되어 있습니다. 이 방법론에서 사용자는 정렬 순서 각 빈에 대해 다이가 고려됩니다. 주사위가 상자를 통과하면 추가 고려 사항에서 제거됩니다.따라서 이중 계산이 발생하지 않으므로 빈 혼합 분포의 합은 항상 100%입니다.이것이 우리가 고려하는 두 번째 주요 공급 제약입니다. 이는 실제 생산에서 수요를 충족할 만큼 충분한 다이가 있는지 여부를 결정합니다.최대 분포와 달리 빈 혼합 분포는 다른 정렬 순서를 사용하여 변경될 수 있으며 일반적으로 제품 수명 전반에 걸쳐 이러한 옵션을 평가합니다.
아래 표는 5개 다이 세트의 최대 및 빈 혼합 분포가 어떻게 다른지 보여줍니다.

Bin 할당 및 계산의 원칙은 간단하지만 구현은 매우 복잡할 수 있습니다.스크립팅은 강력한 도움이 되는 곳입니다. 스크립트는 매번 각 다이에 대해 로직이 올바르게 실행되도록 보장하여 사용자 오류의 주요 잠재적 원인을 제거합니다.
입력 구성 파일
우리는 쉽고 일관된 문서화를 위해 시뮬레이션에 대한 수많은 입력을 하나의 파일에 모두 포함하려고 합니다.또한 통계 추출과 실제 시뮬레이션 실행을 관리하는 스크립트 인터페이스가 필요합니다.다행스럽게도 JMP는 모든 입력에 사용하는 단일 데이터 객체에서 이 모든 것을 지원할 수 있습니다.예는 다음과 같습니다.

상위 영역은 다양한 스크립팅 루틴에 사용됩니다.매개변수 이름은 길고 복잡한 경우가 많기 때문에 JMP의 텍스트 구문 분석 명령을 사용하여 매개변수 이름을 덜 번거로운 이름으로 바꿀 수 있는 옵션을 포함시켰습니다.데이터 파일을 기반으로 한 초기 실행 중에 스크립트는 필요한 모든 통계 매개변수를 추출하여 구성 파일에 저장합니다. 향후 실행에서는 저장된 매개변수를 간단히 사용할 수 있습니다.사용자는 데이터 파일을 별도로 저장할 필요가 없으므로 누구나 제품의 구성 파일을 사용하여 동일한 시뮬레이션을 실행할 수 있습니다.이는 사용자가 다양한 입력 데이터 세트를 기반으로 분석할 때 불일치를 방지합니다.
스크립트에는 구성 테이블의 유효성을 검사하는 옵션도 포함되어 있습니다.이는 잘못된 결과를 생성할 수 있는 수많은 잠재적인 오류를 검사하므로 "처음부터 올바른" 시뮬레이션을 가능하게 하는 중요한 도구입니다.매번 전문적인 사용자 검토에 의존하는 대신 스크립트는 누락된 주요 입력(한계, 테스트, 온도 또는 전압 그룹화 매개변수 등)이 없는지 확인하고 가짜를 생성할 수 있는 더 미묘한 오류도 확인합니다(그러나 현실적으로 보이는). ) 시뮬레이션: 항상 0% 또는 100% 분포를 보장하는 완벽하게 상관된 매개변수, 비물리적 상관관계 또는 빈/패턴/그룹화 조합.
저널 출력
우리는 JMP의 저널 파일 기능을 사용하여 결과를 집계하고 표준화하여 문서화에 대한 모범 사례를 보장합니다.대부분의 분석에 대한 주요 특징은 시뮬레이션된 속도-전력 분포(원하는 경우 여러 매개변수 쌍을 플롯할 수 있음)와 제조 공정 범위 전반에 걸친 최대 및 빈 혼합 능력 분포 플롯입니다.그래프 외에도 파일에는 구성 파일의 통계 매개변수 및 기타 모든 입력도 포함되어 있으므로 모든 기본 시뮬레이션 세부 정보를 완벽하게 추적할 수 있습니다.이는 제품 수명 주기 초기에 여러 시나리오를 고려할 때 매우 중요합니다. 기본 입력을 문서화하지 않으면 많은 혼란이 발생할 수 있지만 출력을 스크립팅하여 이러한 일이 발생하지 않도록 보장합니다.

시나리오 모델링
자동화된 문서화를 통해 우리는 다양한 시나리오를 신속하게 평가하는 데 집중할 수 있습니다.시뮬레이션 시간이 매우 짧기 때문에(1~5분) 일반적인 시뮬레이션은 회의에서 실시간으로 평가할 수 있어 마케팅 및 디자인 팀과의 논의가 크게 촉진됩니다.아래에서는 가장 간단한 것 중 하나인 공정 분산 조정부터 시작하여 몇 가지 예를 보여줍니다.첫 번째 그래프는 공장 공정 제어가 개선될 때 단일 용기의 최대 분포에 미치는 영향을 보여줍니다. 일부 지역에서는 분포가 떨어지지만 최적 목표에서는 훨씬 더 좋습니다.이러한 상황은 매우 일반적이므로 분산 스케일링은 구성 파일에서 조정 가능한 매개변수입니다.

두 번째로 살펴볼 매우 일반적인 변형은 bin 정렬 순서를 변경하는 것입니다. 이는 제품 수명주기 전반에 걸쳐 발생할 수 있습니다.아래 플롯은 정렬 순서가 주황색, 빨간색, 연한 녹색, 진한 녹색, 파란색일 때 제조 공정 전반에 걸친 빈 혼합 분포를 보여줍니다.(최대 분포도는 정렬 순서의 영향을 받지 않으므로 여기에 표시되지 않습니다.)프로세스 대상(검은색 수직선)에서는 주황색 빈이 우세하며 소량의 연한 녹색 및 빨간색 빈 다이가 있고 파란색 또는 짙은 녹색 분포가 거의 없습니다.

이제 우리는 빨간색과 진한 녹색 상자의 정렬 순서를 교환하는 효과를 평가하고 싶습니다. 전자는 얼마나 적게, 후자는 얼마나 더 많이 배송할 수 있습니까?정렬 순서는 구성 파일에서 쉽게 변경할 수 있는 매개변수이므로 이 비교를 실행하는 데 몇 분 밖에 걸리지 않습니다. 아래 플롯은 결과를 보여줍니다. 밝은 녹색 상자는 새로운 순서에서 먼저 테스트되는 진한 녹색 상자로 완전히 덮여 있습니다.

주황색 상자 분포는 변경되지 않은 반면, 다이의 상당 부분(~30%)은 이제 이전처럼 빨간색이나 밝은 녹색이 아닌 진한 녹색 상자에 속하게 됩니다.이 결과를 고객 요구와 비교하여 테스트 프로그램을 변경해야 하는지 결정할 수 있습니다.
시뮬레이션이 필요한 또 다른 일반적인 시나리오는 사전 조립 다이 정렬입니다.이 경우, 제품은 성능에 따라 다른 패키지로 구성될 수 있습니다.전반적인 빈 혼합을 이해하는 것 외에도 이제 각 패키지 유형에 대한 혼합이 무엇인지 이해하여 추가적인 복잡성 계층을 도입하고자 합니다.또한 사전 조립 테스트가 올바른 패키지로 얼마나 잘 이어지는지 이해하고 싶습니다.각 테스트와 각 bin의 통과/실패 데이터가 각 다이에 포함되기 때문에 JMP 스크립트를 사용하면 이 작업을 쉽게 수행할 수 있습니다.아래 플롯에서 우리는 웨이퍼 사전 조립 속도 테스트에 실패한 다이(청록색)가 ACSCAN_PLAT_MIN_FMAX로 조립한 후 테스트할 때 실제로 가장 느린 다이 중 하나라는 것을 알 수 있습니다. 그러나 상관 관계는 완벽하지 않습니다. 청록색 다이는 다른 다이와 상당히 많이 겹칩니다. Bin 경계(이 시뮬레이션에서는 이전 예제와 다른 테스트 및 Bin을 사용합니다.)

이 상관 관계가 생산에 사용하기에 충분한지 여부는 결과 패키지별 빈 분포가 허용되는지 여부에 따라 달라집니다.아래 그래프는 모두 다이를 만드는 것(왼쪽)과 모두를 만드는 것의 차이를 보여줍니다. 하지만 청록색 주사위(오른쪽).명확성을 위해 빈 혼합 분포에 해당하는 그래프는 표시되지 않지만 평가의 일부로 간주됩니다.

시나리오 모델링: 변수 한계
일반적이지만 좀 더 복잡한 상황은 다양한 bin 제한을 고려하려는 경우입니다. 이는 제품 정의 단계에서 가장 자주 발생합니다.고객에게 어떤 기능을 제공해야 할지 불확실할 수도 있고, 설계 팀이 원하는 것보다 느리게 실행되는 IP 조각의 의미를 이해하기를 원할 수도 있습니다.우리의 시뮬레이션 스크립트에는 개별 단계에서 빈 제한을 변경할 수 있는 유연성이 있습니다. 그런 다음 분포 영향을 연구할 수 있습니다.이러한 분석은 매우 다를 수 있으므로 특별한 그래픽 출력을 생성하지 않지만 분포 데이터는 원하는 대로 연구할 수 있는 별도의 데이터 테이블로 쉽게 저장됩니다.아래 예는 전력 제한이 11단계로 변경됨에 따라 "Bin 1 Combo" 최대 분포에 대한 표준 출력을 보여줍니다. 더 엄격한 전력 제한을 위해 피크가 낮아지고 오른쪽으로 이동합니다.(Bin 2-5에는 한계가 변경되지 않기 때문에 단일 곡선만 있습니다.오른쪽에는 Bin 제한의 함수로 대상 프로세스(검은색 수직선)에서 Bin 1 분포를 표시하는 사용자 정의 그래프가 표시됩니다(단계 번호로 표시됨. 필요에 따라 이를 실제 전력 값으로 변환할 수 있음).평소와 같이 원한다면 빈 혼합 분포에 대해서도 이 분석을 수행할 수 있습니다.

오른쪽 그래프에서 Bin 1 분포가 급격하게 떨어지기 시작하기 전에 전력 제한을 3~4단계 강화할 여지가 있음을 알 수 있습니다. 그 시점에서 공급은 사소한 변화에 매우 민감해집니다.우리는 고객에게 어떤 전력 사양을 제공할지 고려할 때 마케팅 팀에 이 정보를 다시 제공할 것입니다.
특정 IP 부분에 대한 속도 민감도를 평가할 수도 있습니다.다시 빈 한도를 높이고 세 가지 측정항목을 고려합니다.첫 번째는 최적의 프로세스 목표(X축의 피크 분포 위치)입니다. 이는 무한히 조정 가능하지도 않고 사소하게 수행되지도 않으므로 프로세스 목표가 속도 손실에 민감해지기를 원하지 않습니다.또한 합리적인 프로세스 창(공급이 수요와 일치하는 범위)이 필요하며 물론 고객 주문을 충족하려면 해당 상자를 충분히 통과해야 합니다.아래 세 가지 그래프는 모두 비슷한 내용을 나타냅니다. 최대 40MHz의 속도 손실을 허용할 수 있지만 그 이상에서는 최적의 프로세스 목표가 속도 변화에 매우 민감하고 프로세스 창이 빠르게 줄어들며 빈 공급 자체가 감소하기 시작합니다. 무너지다.이러한 입력은 설계 팀에게 성공을 위한 명확한 기준을 제공하고 시뮬레이션에 어느 정도의 마진을 포함해야 하는지에 대한 확실한 느낌을 제공합니다.

특히 복잡한 상황에서는 속도와 출력 변화를 동시에 고려할 수 있습니다. 예를 들어, 속도 여유를 개선하면 전력 비용이 발생하는 경우입니다.스크립팅 도구에 내장된 저널링은 모든 변화하는 입력을 자동으로 문서화하므로 특히 중요합니다.
요약
JMP 스크립트를 사용하여 제품 성능 모델링 능력이 크게 향상되었습니다.일반적인 사용자 오류를 방지하기 위해 내장된 유효성 검사를 통해 복잡한 입력을 관리할 수 있습니다.스크립트는 Monte Carlo 시뮬레이션 자체의 수학을 처리하므로 사용자는 통계적 세부 사항보다는 부가 가치 결과에 집중할 수 있습니다.또한 모범 사례를 포괄하는 일관된 결과를 보장하므로 전문가 검토나 긴 문서 사양 없이도 모든 분석이 철저하게 문서화됩니다.
이 도구는 실리콘 데이터와 함께 사용하거나 제품을 준비하기 전에 성능 추정치를 제공할 수 있습니다.여기에 가장 큰 가치가 있습니다. 우리는 제품 수명 주기 초기에 제품에 영향을 미칠 수 있으며 최종 사양이 확정되기 전에 디자인 및 마케팅 팀에 의미 있는 피드백을 제공할 수 있습니다.이를 통해 고객 참여가 향상되고 제품 출시 시 모든 제품이 제대로 기능하고 판매 가능하도록 보장됩니다.마지막으로, 강력한 프로세스 창을 확보하는 민감도 분석을 신속하게 수행할 수 있습니다.출시 시 이러한 기준을 충족하는 제품은 수익성이 더 높고, 원활한 제조 운영을 보장하며, 전체 수명 동안 고객 요구를 더 잘 충족합니다.