半導体製造プロセス後工程の詳細モデル作成の解説

ー概要ー

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

モデルの作成

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

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

入荷ブロック:
入荷→置き場→運搬→分岐→
・部品ごとに分岐

部品ブロック:
(ウェーハー側)置き場→分解→置き場→運搬→
(ワイヤー側)置き場→運搬→

組立ブロック:
合流→組立→置き場→加工→分岐→
・半導体AとBの系統に分岐、それぞれの系統のプロセス構成は同一

検品ブロック:
置き場→検品→分岐→
・良品と不良品で分岐
(不良品破棄側)置き場→運搬→
(出荷側)置き場→分岐→
・出荷先をX工場向けとY工場向け、Z工場向けの3系統に分岐

出荷ブロック:
(合格品の出荷)置き場→運搬→出荷
(不良品破棄側)加工→出荷
完成したモデルは非常に大きく表示が難しいため、5つのブロック(入荷、部品、加工、検品、出荷)に分割してモデルを作成していきます。

ープロセスの配置と設定ー

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

入荷ブロック

入荷プロセス:
詳細設定より複数の入荷パーツを設定
1つ目:パーツ名を「ウェーハー」に変更、発生間隔を「1分」、個数を「10個」へ設定
2つ目:パーツ名を「ワイヤー」に変更、発生間隔を「1分」、個数を「1000個」へ設定

置き場プロセス:
プロセス名称を「到着品置き場」へ変更、容量を「10000個」と設定

運搬(人)プロセス:
積荷容量を「2000」、運搬時間を「1分」、作業人数を「10人」と設定

分岐プロセス:*条件設定についてのより詳細な解説はTCの記事をご覧ください
プロセス名称を「部品分岐」へ変更、処理時間を「1分」、作業人数を「200人」に設定
分岐条件は部品ブロック配置後に設定

部品ブロック

(ウェーハー側)置き場プロセス:
プロセス名称を「ウェーハー置き場」へ変更、容量を「1000個」と設定

(ウェーハー側)分解プロセス:
プロセス名称を「ダイシング」へ変更、処理時間を「1分」、作業人数を「50人」、
対象パーツ名称を「ウェーハー」、個数を「1個」、
出力パーツを2つ設定し、1つ目の名称を「ダイA」、個数を「5個」、2つ目の名称を「ダイB」、個数を「5個」
に設定

(ウェーハー側)置き場プロセス:
プロセス名称を「ダイ置き場」へ変更、容量を「1000個」と設定

(ウェーハー側)運搬(人)プロセス:
積荷容量を「200」、運搬時間を「1分」、作業人数を「10人」と設定

(ワイヤー側)置き場プロセス:
プロセス名称を「ワイヤー置き場」へ変更、容量を「10000個」と設定

(ワイヤー側)運搬(人)プロセス:
積荷容量を「2000」、運搬時間を「1分」、作業人数を「10人」と設定

部品分岐の分岐条件:
詳細画面の「分岐条件」右側のマークをクリックして編集画面を立ち上げ、2つの置き場を送り先として以下の条件を追加
条件1:
・送り先:ウェーハー置き場
・分岐条件:パーツ名が一致
・パーツ名:ウェーハー
条件2:
・送り先:ワイヤー置き場
・分岐条件:パーツ名が一致
・パーツ名:ワイヤー

加工ブロック

置き場プロセス:*ウェーハ側運搬(人)プロセスの後に配置
プロセス名称を「材料置き場」へ変更、容量を「20000個」と設定

合流プロセス:*接続のみでカードとして図には表示されません
部品ブロックのワイヤー側運搬(人)プロセスを材料置き場へ接続

組立プロセス:
プロセス名称を「ワイヤーボンディング」に変更、処理時間を「1分」、作業人数を「100人」と設定
詳細設定を用いてプロセスを2つ設定
1つ目:
対象パーツ名称を2つ設定し、それぞれ名称を「ダイA」、個数を「10個」、名称を「ワイヤー」、個数を「100個」と設定、
出力パーツ名称を「半導体A」、個数を「10個」と設定
2つ目:
対象パーツ名称を2つ設定し、それぞれ名称を「ダイB」、個数を「10個」、名称を「ワイヤー」、個数を「100個」と設定、
出力パーツ名称を「半導体B」、個数を「10個」と設定

置き場プロセス:
プロセス名称を「半導体置き場」へ変更、容量を「1000個」と設定

作業プロセス:
プロセス名称を「モールディング」へ変更、処理時間を「1分」、作業人数を「100人」と設定

分岐プロセス:プロセス名称を「完成品分岐」へ変更、処理時間を「1分」、作業人数を「100人」に設定
分岐条件は検品ブロック前半配置後に設定

検品ブロック

前半

半導体Aと半導体Bに分岐し、置き場、検品、分岐をそれぞれ設定

(半導体A側)置き場プロセス:
プロセス名称を「半導体A置き場」へ変更、容量を「1000個」と設定

(半導体A側)検品プロセス:
プロセス名称を「半導体A検品」へ変更、不良品率を「10%」、処理時間を「1分」、作業人数を「50人」と設定

(半導体A側)分岐プロセス:
プロセス名称を「半導体A選別」へ変更、作業人数を「50人」と設定
分岐条件は不良品側設定後に設定

(半導体B側)置き場プロセス:
プロセス名称を「半導体B置き場」へ変更、容量を「1000個」と設定

(半導体B側)検品プロセス:
プロセス名称を「半導体B検品」へ変更、不良品率を「10%」、処理時間を「1分」、作業人数を「50人」と設定

(半導体B側)分岐プロセス:
プロセス名称を「半導体B選別」へ変更、処理時間を「1分」、作業人数を「50人」と設定
分岐条件は不良品側の設定後に設定

完成品分岐の分岐条件:
詳細画面の「分岐条件」右側のマークをクリックして編集画面を立ち上げ、2つの置き場を送り先として以下の条件を追加
条件1:
・送り先:半導体A置き場
・分岐条件:パーツ名が一致
・パーツ名:半導体A
条件2:
・送り先:半導体B置き場
・分岐条件:パーツ名が一致
・パーツ名:半導体B

後半

半導体Aと半導体Bのそれぞれの選別を行い、不良品の破棄などを設定、半導体AとBのそれぞれにプロセスを配置

(半導体Aの合格品側)置き場プロセス:
プロセス名称を「半導体A合格品置き場」へ変更、容量を「1000個」と設定

(半導体Aの合格品側)分岐プロセス:
プロセス名称を「半導体A行き先別仕分け」へ変更、処理時間を「1分」、作業人数を「50人」と設定
分岐条件は出荷ブロックの設定後に設定

(半導体Aの不良品側)置き場プロセス:
プロセス名称を「半導体A不良品置き場」へ変更、容量を「1000個」と設定

(半導体Aの不良品側)運搬(人)プロセス:
積荷容量を「100個」、運搬時間を「5分」、作業人数を「10人」と設定
分岐条件は出荷ブロックの設定後に設定

半導体A選別の分岐条件:
詳細画面の「分岐条件」右側のマークをクリックして編集画面を立ち上げ、2つの置き場を送り先として以下の条件を追加
条件1:
・送り先:半導体A合格品置き場
・分岐条件:パーツステータスが一致
・ステータス:正常
条件2:
・送り先:半導体A不良品置き場
・分岐条件:パーツステータスが一致
・ステータス:不良

(半導体Bの合格品側)置き場プロセス:
プロセス名称を「半導体B合格品置き場」へ変更、容量を「1000個」と設定

(半導体Bの合格品側)分岐プロセス:
プロセス名称を「半導体B行き先別仕分け」へ変更、処理時間を「1分」、作業人数を「50人」と設定
分岐条件は出荷ブロックの設定後に設定

(半導体Bの不良品側)置き場プロセス:
プロセス名称を「半導体B不良品置き場」へ変更、容量を「1000個」と設定

(半導体Bの不良品側)運搬(人)プロセス:
積荷容量を「100個」、運搬時間を「5分」、作業人数を「10人」と設定
分岐条件は出荷ブロックの設定後に設定

半導体B選別の分岐条件:
詳細画面の「分岐条件」右側のマークをクリックして編集画面を立ち上げ、2つの置き場を送り先として以下の条件を追加
条件1:
・送り先:半導体B合格品置き場
・分岐条件:パーツステータスが一致
・ステータス:正常
条件2:
・送り先:半導体B不良品置き場
・分岐条件:パーツステータスが一致
・ステータス:不良

出荷ブロック

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

(X工場向け半導体A)置き場プロセス:
プロセス名称を「X工場向け半導体A置き場」へ変更、容量を「1000個」と設定

(X工場向け半導体A)運搬(人)プロセス:
運搬容量「100個」、運搬時間を「5分」、運搬人数を「10人」と設定

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

(Y工場向け半導体A)置き場プロセス:
プロセス名称を「Y工場向け半導体A置き場」へ変更、容量を「1000個」と設定

(Y工場向け半導体A)運搬(人)プロセス:
運搬容量「100個」、運搬時間を「5分」、運搬人数を「10人」と設定

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

半導体A行き先別仕分けの分岐条件:
デフォルトのまま(ランダムに「X工場向け」と「Y工場向け」に行先が決定)

(半導体A不良品)加工プロセス:
プロセス名称を「破壊」へ変更、処理時間を「1分」、作業人数を「10人」と設定
加工内容は半導体B側の不良品を接続した後に以下のように設定
詳細設定を用いてプロセスを2つ設定
1つ目:
対象パーツの名称を「半導体A」、個数を「1個」と設定、
出力パーツ名称を「廃棄品」、個数を「1個」と設定
2つ目:
対象パーツの名称を「半導体B」、個数を「1個」と設定、
出力パーツ名称を「廃棄品」、個数を「1個」と設定

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

(Z工場向け半導体B)運搬(人)プロセス:
運搬容量「100個」、運搬時間を「5分」、運搬人数を「10人」と設定

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

(Y工場向け半導体B)置き場プロセス:
プロセス名称を「Y工場向け半導体B置き場」へ変更、容量を「1000個」と設定

(Y工場向け半導体B)運搬(人)プロセス:
運搬容量「100個」、運搬時間を「5分」、運搬人数を「10人」と設定

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

半導体B行き先別仕分けの分岐条件:
デフォルトのまま(ランダムに「Z工場向け」と「Y工場向け」に行先が決定)

(半導体B不良品)加工プロセス:
半導体A側の不良品の「破壊」プロセスへ接続

ーシミュレーションー

以上のプロセス配置と設定が終わったらシミュレーションを行います。適切に設定できていれば、以下の様なシミュレーション結果が表示されます。*分岐や不良品発生にランダム変数が含まれるため毎回結果が異なり一致はしません。

シミュレーション開始直後はプロセス間の作業や運搬などに時間が必要で出荷量が低くなっています。また、ブレがありますが、設定どおり10%程度の不良品が発生して廃棄されていることが分かります。

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

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

ーまとめー

今回の記事で解説したようにassimeeでは、様々なプロセスを組み合わせることで、半導体の製造ラインを始めとした複雑なプロセスをPC上に簡単に再現し、いつでもシミュレーションをすることが、可能となっています。

関連記事