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

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

공칭 시험 전압(고객 사양 범위 내)을 조정하여 통과 다이 수를 늘릴 수 있습니다. 더 높은 전압에서는 부품이 더 빨리 작동하므로, 더 느린 다이도 주파수 요건을 충족할 수 있습니다. 하지만 부품은 정적 및 동적 전력을 더 많이 소모하며, 이에 대한 예산이 고정되어 있습니다. 이 예산을 충족하려면 고정된 기준 전압에서 허용되는 정적 부품의 크기를 줄여야 합니다. 아래 그림의 밝은 녹색 상자는 고전압에서 빈 요건을 충족하는 추가 다이를 보여줍니다. 낮은 전압에서는 그 반대입니다. 진한 녹색 상자는 이 시나리오에서 포착된 추가 다이를 보여줍니다.

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

물론 많은 다이가 여러 사양을 통과할 수 있습니다. 다음 그림은 이러한 겹치는 영역을 보여주는데, 가장 어두운 녹색 사분면에 있는 다이는 녹색 사양 한계에 대한 모든 전압과 빨간색 및 파란색 사양 한계를 통과합니다. 비닝 영역은 전압에 대한 논리적 OR과 온도 및 IP 도메인에 대한 논리적 AND의 조합으로 설명됩니다. 이러한 다이는 필요에 따라 한 빈에서 다른 빈으로 공급을 가변하는 데 사용될 수 있습니다..

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

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

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

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

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

이제 빨간색과 진한 녹색 상자의 정렬 순서를 바꾸었을 때의 효과를 평가해 보겠습니다. 빨간색 상자는 얼마나 적게, 진한 녹색 상자는 얼마나 많이 배송할 수 있을까요? 정렬 순서는 구성 파일에서 쉽게 변경할 수 있는 매개변수이므로, 이 비교는 실행하는 데 몇 분밖에 걸리지 않습니다. 아래 그림은 그 결과를 보여줍니다(연한 녹색 상자가 진한 녹색 상자에 완전히 가려져 있으며, 새 순서에서 진한 녹색 상자를 먼저 테스트한 것을 확인할 수 있습니다).

주황색 상자의 분포는 변함이 없지만, 상당수의 다이(~30%)가 이전처럼 빨간색이나 연두색 상자가 아닌 진한 녹색 상자에 속하게 됩니다. 이 결과를 고객 요구와 비교하여 테스트 프로그램을 변경해야 하는지 판단할 수 있습니다.
시뮬레이션이 필요한 또 다른 일반적인 시나리오는 조립 전 다이 정렬입니다. 이 경우, 제품은 성능에 따라 다양한 패키지에 포함될 수 있습니다. 전체적인 빈 믹스(bin mix)를 이해하는 것 외에도, 각 패키지 유형의 빈 믹스가 어떻게 될지 파악해야 하며, 이는 복잡성을 더욱 가중시킵니다. 또한 조립 전 테스트가 다이를 올바른 패키지로 얼마나 잘 안내하는지 파악하고자 합니다. JMP 스크립트를 사용하면 모든 테스트와 빈에 대한 합격/불합격 데이터가 모든 다이에 포함되어 있으므로 쉽게 수행할 수 있습니다. 아래 그래프에서 웨이퍼 조립 전 속도 테스트(청록색)에서 불합격한 다이는 ACSCAN_PLAT_MIN_FMAX로 조립한 후 테스트했을 때 실제로 가장 느린 다이 중 하나임을 알 수 있습니다. 하지만 상관관계가 완벽하지는 않습니다. 청록색 다이는 다른 빈 경계와 상당히 겹칩니다(이 시뮬레이션은 이전 예제와 다른 테스트와 빈을 사용합니다).

이 상관관계가 실제 생산에 사용하기에 충분히 좋은지 여부는 패키지별 빈 분포가 수용 가능한지에 따라 달라집니다. 아래 그래프는 모든 다이(왼쪽)를 제작하는 경우와 청록색 다이 를 제외한 모든 다이(오른쪽)를 제작하는 경우의 차이를 보여줍니다. 명확성을 위해 빈 혼합 분포에 대한 해당 그래프는 표시하지 않았지만, 평가의 일부로 고려될 것입니다.

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

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

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