【上級編】半導体製造プロセス後工程の詳細なモデルを作成する

概要

この記事では以前の記事で作成した半導体製造プロセスをサンプルとしたモデルがより現実に即した詳細なモデルとなるように、複数の分岐や良品の選別といったプロセスを追加したモデルを作成していきます。

モデルの作成

前回のモデルは入荷→置き場→組立→置き場→加工→置き場→検品→置き場→運搬→出荷と10のプロセスからなる上図のようなモデルでした。

今回はウェーハーからのダイの切り出しや複数製品の製造、不良品の検査と良品の選別、出荷先の仕分けなどを盛り込んだ構成となります。

STEP1 プロセス図の作成

今回はプロセス図が大きいため4つのブロック(入荷、部品、加工と検品、出荷と廃棄)に分割してモデルを作成していきます。

入荷ブロック

入荷プロセス:
特に変更なし

置き場プロセス:
プロセス名称を「入荷品置き場」へ変更

運搬(人)プロセス:
特に変更なし

分岐プロセス:
プロセス名称を「部品分岐」へ変更
「ウェーハー置き場」と「ワイヤー置き場」へ分岐

(ウェーハー側)置き場プロセス:
プロセス名称を「ウェーハー置き場」へ変更
部品ブロックのウェーハー側へ

(ワイヤー側)置き場プロセス:
プロセス名称を「ワイヤー置き場」へ変更
部品ブロックのワイヤー側へ

部品ブロック:


材料ごとに分岐し、ウェーハー側は加工を行いダイにしますが、ワイヤー側は加工せずに材料置き場へ合流します。

ウェーハー側

(ウェーハー側)置き場プロセス:(再掲)
プロセス名称を「ウェーハー置き場」へ変更

(ウェーハー側)分解プロセス:
プロセス名称を「ダイシング」へ変更

(ウェーハー側)置き場プロセス:
プロセス名称を「ダイ置き場」へ変更

(ウェーハー側)運搬(人)プロセス:
特に変更なし

置き場プロセス:
プロセス名称を「材料置き場」へ変更

ワイヤー側

(ワイヤー側)置き場プロセス(再掲):
プロセス名称を「ワイヤー置き場」へ変更

(ワイヤー側)運搬(人)プロセス:
特に変更なし
「009材料置き場」へ接続

組立と検品ブロック:


材料から半導体を加工し、半導体Aと半導体Bのプロセスに分岐します。

組立プロセス:
プロセス名称を「ワイヤーボンディング」に変更

置き場プロセス:
プロセス名称を「半導体置き場」へ変更

作業プロセス:
プロセス名称を「モールディング」へ変更

分岐プロセス:
プロセス名称を「品目別分岐」へ変更
「半導体A置き場」と「半導体B置き場」へ分岐

(半導体A側)置き場プロセス:
プロセス名称を「半導体A置き場」へ変更
半導体A側へ

(半導体B側)置き場プロセス:
プロセス名称を「半導体B置き場」へ変更
半導体B側へ

半導体A側

(半導体A側)置き場プロセス(再掲):
プロセス名称を「半導体A置き場」へ変更

(半導体A側)検品プロセス:
プロセス名称を「半導体A検品」へ変更

(半導体A側)分岐プロセス:
プロセス名称を「半導体A選別」へ変更
「半導体A合格品置き場」と「半導体A不良品置き場」を設置

(半導体Aの合格品側)置き場プロセス:
プロセス名称を「半導体A合格品置き場」へ変更
出荷と破棄ブロックの半導体Aの合格品へ

(半導体Aの不良品側)置き場プロセス:
プロセス名称を「半導体A不良品置き場」へ変更
出荷と破棄ブロックの半導体Aの不良品へ

半導体B側

(半導体B側)置き場プロセス(再掲):
プロセス名称を「半導体B置き場」へ変更

(半導体B側)検品プロセス:
プロセス名称を「半導体B検品」へ変更

(半導体B側)分岐プロセス:
プロセス名称を「半導体B選別」へ変更
「半導体B合格品置き場」と「半導体B不良品置き場」を設置

(半導体Bの合格品側)置き場プロセス:
プロセス名称を「半導体B合格品置き場」へ変更
出荷と破棄ブロックの半導体Bの合格品へ

(半導体Bの不良品側)置き場プロセス:
プロセス名称を「半導体B不良品置き場」へ変更
出荷と破棄ブロックの半導体Bの不良品へ

出荷と廃棄ブロック:

半導体Aの合格品はX工場向けと、Y工場向けに出荷。半導体Bの合格品はY工場向けと、Z工場向けに出荷、
不良品は破壊(加工プロセス)したうえで破棄(出荷プロセス)します。

半導体Aの合格品側

(半導体Aの合格品側)置き場プロセス(再掲):
プロセス名称を「半導体A合格品置き場」へ変更

(半導体Aの合格品側)分岐プロセス:
プロセス名称を「半導体A行き先別仕分け」へ変更
「X工場行き半導体A置き場」と「Y工場行き半導体A置き場」を設置

(X工場向け半導体A)置き場プロセス:
プロセス名称を「X工場向け半導体A置き場」へ変更
X工場向け半導体Aへ

(Y工場向け半導体A)置き場プロセス:
プロセス名称を「Y工場向け半導体A置き場」へ変更
Y工場向け半導体Aへ

X工場向け半導体A

(X工場向け半導体A)置き場プロセス:
プロセス名称を「X工場向け半導体A置き場」へ変更

(X工場向け半導体A)運搬(人)プロセス:
特に変更なし

(X工場向け半導体A)出荷プロセス:
プロセス名称を「X工場向け出荷」と設定

Y工場向け半導体A

(Y工場向け半導体A)置き場プロセス:
プロセス名称を「Y工場向け半導体A置き場」へ変更

(Y工場向け半導体A)運搬(人)プロセス:
特に変更なし

(Y工場向け半導体A)出荷プロセス:
プロセス名称を「Y工場向け出荷」と設定

半導体Aの不良品側

(半導体Aの不良品側)置き場プロセス(再掲):
プロセス名称を「半導体A不良品置き場」へ変更

(半導体Aの不良品側)運搬(人)プロセス:
特に変更なし

(半導体A不良品)加工プロセス:
プロセス名称を「破壊」へ変更

(半導体A不良品)出荷プロセス:
プロセス名称を「廃棄」と設定

半導体Bの合格品側

(半導体Bの合格品側)置き場プロセス(再掲):
プロセス名称を「半導体B合格品置き場」へ変更

(半導体Bの合格品側)分岐プロセス:
プロセス名称を「半導体B行き先別仕分け」へ変更
「Y工場行き半導体B置き場」と「Z工場行き半導体B置き場」を設置

(Y工場向け半導体B)置き場プロセス:
プロセス名称を「Y工場向け半導体B置き場」へ変更
Y工場向け半導体Bへ

(Z工場向け半導体B)置き場プロセス:
プロセス名称を「Z工場向け半導体B置き場」へ変更
Z工場向け半導体Bへ

Y工場向け半導体B

(Y工場向け半導体B)置き場プロセス(再掲):
プロセス名称を「Y工場向け半導体B置き場」へ変更

(Y工場向け半導体B)運搬(人)プロセス:
特に変更なし

(Y工場向け半導体B)出荷プロセス:
「024Y工場向け出荷」へ接続

Z工場向け半導体B

(Z工場向け半導体B)置き場プロセス(再掲):
プロセス名称を「Z工場向け半導体B置き場」へ変更

(Z工場向け半導体B)運搬(人)プロセス:
特に変更なし

(Z工場向け半導体B)出荷プロセス:
プロセス名称を「Z工場向け出荷」と設定

半導体Bの不良品側

(半導体Bの不良品側)置き場プロセス:
プロセス名称を「半導体B不良品置き場」へ変更

(半導体Bの不良品側)運搬(人)プロセス:
特に変更なし
「027破壊」へ接続

STEP2 パラメーターの設定

それではモデルを作成していきます。「図から作成」ボタンを押して編集画面を立ち上げた後、以下の様にブロックに分けて各プロセスを配置します。

入荷ブロック

001 入荷:
下図のように複数の入荷パーツを設定
1つ目:パーツ名を「ウェーハー」に変更、個数を「10個」、発生間隔を「1分」と設定
2つ目:パーツ名を「ワイヤー」に変更、個数を「1000個」、発生間隔を「1分」と設定

002 入荷品置き場:
容量を「10000個」と設定

003 運搬(人):
最大積載量を「2000個」、人数を「10人」、搬送時間(片道)を「1分」と設定

004 部品分岐
1回あたりの処理時間を「1分」、
分岐条件1:「ウェーハー」を「005ウェーハー置き場」、
分岐条件2:「ワイヤー」を「041ワイヤー置き場」と設定
詳細設定に入り、作業員のチェックボックスにチェックを入れて、作業効率を「1」、作業人数を「200人」と設定

部品ブロック:

005 ウェーハー置き場:
容量を「1000個」と設定

006 ダイシング:
下図のように詳細設定に入り、
対象品目を「ウェーハー」、個数を「1個」と設定
出力品目を2つ
 1つ目の名称を「ダイA」、個数を「5個」、
 2つ目の名称を「ダイB」、個数を「5個」と設定
作業員のチェックボックスにチェックを入れて、1回あたりの処理時間を「1分」、作業効率を「1」、作業人数を「50人」と設定

007 ダイ置き場:
容量を「1000個」と設定

008 運搬(人):
最大積載量を「200個」、人数を「10人」、搬送時間(片道)を「1分」と設定

009 材料置き場
容量を「20000個」と設定

041 ワイヤー置き場:
容量を「10000個」と設定

042 運搬(人):
最大積載量を「2000個」、人数を「10人」、搬送時間(片道)を「1分」と設定

組立と検品ブロック:

010 ワイヤーボンディング:
下図のように詳細設定に入り、
組立パターンを2つ設定
パターン1:
対象品目を2つ
 1つ目の名称を「ダイA」、個数を「10個」、
 2つ目の名称を「ワイヤー」、個数を「100個」、
出力品目を「半導体A」、個数を「10個」と設定
パターン2:
対象品目を2つ
 1つ目の名称を「ダイB」、個数を「10個」、
 2つ目の名称を「ワイヤー」、個数を「100個」、
出力品目を「半導体B」、個数を「10個」と設定
作業員のチェックボックスにチェックを入れて、1回あたりの処理時間を「1分」、作業効率を「1」、作業人数を「100人」と設定

011 半導体置き場:
容量を「1000個」と設定

012 モールディング:
対象品目を2つ
 1つ目の名称を「半導体A」、個数を「1個」、
 2つ目の名称を「半導体B」、個数を「1個」と設定
詳細設定に入り、作業員のチェックボックスにチェックを入れて、1回あたりの処理時間を「1分」、作業効率を「1」、作業人数を「100人」と設定

013 品目別分岐:
分岐条件1:「半導体A」を「014半導体A置き場」、
分岐条件2:「半導体B」を「029半導体B置き場」と設定
詳細設定に入り、作業員のチェックボックスにチェックを入れて、1回あたりの処理時間を「1分」、作業効率を「1」、作業人数を「100人」と設定

半導体A側

014 半導体A置き場:
容量を「1000個」と設定

015 半導体A検品:
下図のように詳細設定に入り、
不良品率を「10%」と設定
作業員のチェックボックスにチェックを入れて、1回あたりの処理時間を「1分」、作業効率を「1」、作業人数を「50人」と設定

016 半導体A選別:
下図のように詳細設定に入り、
分岐条件1:「正常:半導体A」を「017半導体A合格品置き場」、
分岐条件2:「不良:半導体A」を「025半導体A不良品置き場」と設定
作業員のチェックボックスにチェックを入れて、1回あたりの処理時間を「1分」、作業効率を「1」、作業人数を「50人」と設定

半導体B側

029 半導体B置き場:
容量を「1000個」と設定

030 半導体B検品:
不良品率を「10%」と設定
詳細設定に入り、作業員のチェックボックスにチェックを入れて、1回あたりの処理時間を「1分」、作業効率を「1」、作業人数を「50人」と設定

031 半導体B選別:
分岐条件1:「正常:半導体A」を「032半導体B合格品置き場」、
分岐条件2:「不良:半導体A」を「039半導体B不良品置き場」と設定
詳細設定に入り、作業員のチェックボックスにチェックを入れて、1回あたりの処理時間を「1分」、作業効率を「1」、作業人数を「50人」と設定

出荷と廃棄ブロック

半導体Aの合格品側

017 半導体A合格品置き場:
容量を「1000個」と設定

018 半導体A行先別仕分:
分岐条件はデフォルト設定(ランダム)
詳細設定に入り、作業員のチェックボックスにチェックを入れて、1回あたりの処理時間を「1分」、作業効率を「1」、作業人数を「50人」と設定

019 X工場向け半導体A置き場:
容量を「1000個」と設定

020 運搬(人):
最大積載量を「100個」、人数を「10人」、搬送時間(片道)を「5分」と設定

021 X工場向け出荷:
特に設定なし

022 Y工場向け半導体A置き場:
容量を「1000個」と設定

023 運搬(人):
最大積載量を「100個」、人数を「10人」、搬送時間(片道)を「5分」と設定

024 Y工場向け出荷:
特に設定なし

半導体Aの不良品側

025 半導体A不良品置き場:
容量を「1000個」と設定

026 運搬(人):
最大積載量を「100個」、人数を「10人」、搬送時間(片道)を「5分」と設定

027 破壊:
加工パターンを2つ設定
パターン1:
対象品目の名称を「半導体A」、個数を「1個」と設定、
出力品目の名称を「廃棄品」、個数を「1個」と設定
パターン2:
対象品目の名称を「半導体B」、個数を「1個」と設定、
出力品目の名称を「廃棄品」、個数を「1個」と設定
詳細設定に入り、作業員のチェックボックスにチェックを入れて、1回あたりの処理時間を「1分」、作業効率を「1」、作業人数を「10人」と設定

028 破棄:
特に設定なし

半導体Bの合格品側

032 半導体B合格品置き場:
容量を「1000個」と設定

033 半導体B行先別仕分:
分岐条件はデフォルト設定(ランダム)
詳細設定に入り、作業員のチェックボックスにチェックを入れて、1回あたりの処理時間を「1分」、作業効率を「1」、作業人数を「50人」と設定

034 Y工場向け半導体B置き場:
容量を「1000個」と設定

035 運搬(人):
最大積載量を「100個」、人数を「10人」、搬送時間(片道)を「5分」と設定

036 Z工場向け半導体B置き場:
容量を「1000個」と設定

037 運搬(人):
最大積載量を「100個」、人数を「10人」、搬送時間(片道)を「5分」と設定

038 Z工場向け出荷:
特に設定なし

半導体Bの不良品側

039 半導体B不良品置き場:
容量を「1000個」と設定

040 運搬(人):
最大積載量を「100個」、人数を「10人」、搬送時間(片道)を「5分」と設定

ーシミュレーションー

以上のプロセス配置と設定が終わったらシミュレーションを行います。先ずはシミュレーション時間を「300分」としてシミュレーションを行います。

シミュレーションが終わると以下のようにダッシュボードが表示されます。

左下のサマリーから結果を選びます。適切に設定できていれば、以下の様なシミュレーション結果(累積生産推移、生産推移、生産数、生産割合)が表示されます。*分岐や不良品発生にランダム変数が含まれるため毎回結果が異なり一致はしません。

シミュレーション開始直後はプロセス間の作業や運搬などに時間が必要なため、後の時間と比べて出荷量が低くなっています。また、不良品の発生にランダム変数を含むため設定よりやや多いですが、10%強の不良品が発生して廃棄されていることが分かります。

さらにシミュレーションの実行時間をデフォルトの300分(5時間)から600分(10時間)へ変更してシミュレーションを行ってみましょう。

こちらも300分のシミュレーション結果と同様に結果を得ることが出来ました。このようにassimeeではシミュレーション時間を変更して気軽にシミュレーションを繰り返すことが可能です。

まとめ

今回の記事で解説したようにassimeeでは、様々なプロセスを組み合わせることで、半導体の製造ラインを始めとした複雑な製造プロセスをPC上に簡単に再現することができます。また、1度モデルを作成すれば、パラメーター設定を変えながら、何度でもシミュレーションを行うことが可能です。