(57)【要約】【課題】故障検出の向上に効果的な箇所に最小限の数を挿入することで、品質向上と低コストを両立できる半導体集積回路の設計装置を提供する。【解決手段】論理回路のネットリストと、論理回路の中で故障検出が不可能な論理ゲートの情報、又は故障検出処理が打ち切られた論理ゲートの情報を用いて、検査点の挿入を行う。故障検出が不可能な箇所では、故障検出を妨げる論理ゲート若しくは端子又はハードマクロである故障検出障害箇所から見て論理段数が最も少ない位置に存在する未検出論理に検査点を挿入する。また、故障検出処理が打ち切られた箇所では、組合せ回路に信号を送信するフリップフロップと、その組合せ回路から出力される信号を受信するフリップフロップ間の論理経路において、組合せ回路に信号を送信するフリップフロップの出力端子から最も論理段数が少ない位置にある未検出箇所に接続する信号線に検査点を挿入する。【選択図】図２
2012099028.tif 000002
【特許請求の範囲】
【請求項１】
複数の論理ゲートの端子が信号線で接続された論理回路に検査点を挿入する半導体集積回路の設計装置であって、
前記論理回路のネットリストを入力するネットリスト入力部と、
前記論理回路のうち、故障検出が不可能な論理ゲートの端子の故障と前記故障検出が不可能な論理ゲートの端子と等価な故障をＡＵ故障の集合としてその情報を入力する故障情報入力部と、
前記ＡＵ故障の集合のうち、前記ＡＵ故障が同一信号経路上に複数個存在する場合、故障検出を妨げる論理ゲート若しくは端子又はハードマクロである故障検出障害箇所の出力属性端子が接続する方向の信号経路上で、前記故障検出障害箇所から見て論理段数が一番少ない位置に存在するＡＵ故障に接続される信号線に検査点を挿入する第１検査点挿入部と、
前記検査点が挿入されたネットリストを出力するネットリスト出力部と、
を備えた設計装置。
【請求項２】
複数の組合せ回路と順序回路が信号線で接続された論理回路に検査点を挿入する半導体集積回路の設計装置であって、
前記論理回路のネットリストを入力するネットリスト入力部と、
前記論理回路のうち、故障検出制御ができないために故障検出処理が打ち切られた論理ゲートの端子の故障と前記故障検出処理が打ち切られた論理ゲートの端子と等価な故障の集合をＵＣ故障の集合としてその情報を入力する故障情報入力部と、
前記論理回路のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路に信号を送信するフリップフロップの出力端子から一番論理段数の少ない位置のＵＣ故障に接続される信号線に検査点を挿入する第１検査点挿入部と、
前記検査点が挿入されたネットリストを出力するネットリスト出力部と、
を備えた設計装置。
【請求項３】
複数の組合せ回路と順序回路が信号線で接続された論理回路に検査点を挿入する半導体集積回路の設計装置であって、
前記論理回路のネットリストを入力するネットリスト入力部と、
前記論理回路のうち、故障観測ができないために故障検出処理が打ち切られた論理ゲートの端子の故障と前記故障検出処理が打ち切られた論理ゲートの端子と等価な故障の集合をＵＯ故障の集合としてその情報を入力する故障情報入力部と、
前記論理回路のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路から出力される信号を受信するフリップフロップのデータ入力端子から一番論理段数の少ない位置のＵＯ故障に接続される信号線に検査点を挿入する第１検査点挿入部と、
前記検査点が挿入されたネットリストを出力するネットリスト出力部と、
を備えた設計装置。
【請求項４】
請求項１に記載の設計装置であって、
さらに、前記検査点に関して挿入すべき数値の情報を入力する数値情報入力部と、
複数存在する前記ＡＵ故障の各々に関して、前記ＡＵ故障とこれに等価とされる未検出故障の和を算出する未検出故障和算出部と、を備え、
前記第１検査点挿入部は、前記和の大きい順に前記ＡＵ故障に検査点を挿入する設計装置。
【請求項５】
請求項１又は４に記載の設計装置であって、
さらに、前記論理回路の検査点挿入禁止情報を入力する禁止情報入力部と、
前記ＡＵ故障の集合の情報が、前記検査点挿入禁止情報に含まれるか否かを判断する判断部と、
前記ＡＵ故障の集合の情報のうち、前記検査点挿入禁止情報に含まれるＡＵ故障を除いたＡＵ故障のうち、前記故障検出障害箇所から見て論理段数が一番少ない位置に存在するＡＵ故障に接続される信号線に検査点を挿入する第２検査点挿入部と、
を備えた設計装置。
【請求項６】
請求項１又は４に記載の設計装置であって、
前記論理回路の検査点挿入許可情報を入力する許可情報入力部と、
前記ＡＵ故障の集合の情報が、前記検査点挿入許可情報に含まれるか否かを判断する判断部と、
前記ＡＵ故障の集合の情報のうち、前記検査点挿入許可情報に含まれないＡＵ故障を除いたＡＵ故障のうち、前記故障検出障害箇所から見て論理段数が一番少ない位置に存在するＡＵ故障に接続される信号線に検査点を挿入する第２検査点挿入部と、
を備えた設計装置。
【請求項７】
請求項１、４、５及び６のいずれか一項に記載の設計装置であって、
前記検査点を挿入する前の故障検出率情報を入力する故障検出率情報入力部と、
前記検査点挿入箇所と、前記検査点挿入箇所の論理出力を組合せ回路経由で受信するフリップフロップとの間の論理経路において、前記検査点挿入箇所と、前記フリップフロップのデータ端子から見て前記検査点挿入箇所方向の最も論理段数が少ない箇所にあるＡＵ故障との論理経路間に存在する、ＡＵ故障数と前記ＡＵ故障と等価な故障数の総和を求める総故障数和導出部と、
前記総故障数和導出部によって求められた故障数の総和を、検査点挿入前の検出数に加えることで、前記検査点挿入後の故障検出率を算出する故障検出率算出部と、
前記検査点挿入後の故障検出率を出力する故障検出率出力部と、
を備えた設計装置。
【請求項８】
請求項７に記載の設計装置であって、
さらに、前記検査点挿入箇所の論理出力を組合せ回路経由で受信するフリップフロップのデータ端子から見て前記検査点挿入箇所方向の最も論理段数が少ない箇所にあるＡＵ故障に接続される信号経路に関して、前記故障検出障害箇所への信号経路ではない信号経路でのＡＵ故障数と前記ＡＵ故障と等価な故障数の総和を算出する総故障数算出部と、
前記総故障数算出部によって算出された総和に、前記総故障数和導出部で求めた総和を加算する総和加算部と、を備え、
前記故障検出率算出部は、
前記総和加算部が求めた値を、前記検査点挿入前の検出数に加えることで、前記検査点挿入後の故障検出率を算出する設計装置。
【請求項９】
請求項２に記載の設計装置であって、
さらに、前記検査点の挿入すべき数値の情報を入力する数値情報入力部と、
複数存在する前記ＵＣ故障の各々に関して、前記ＵＣ故障と前記ＵＣ故障と等価とされる未検出故障数の和を算出する第１未検出故障数和算出部と、
前記和の大きい順に、かつ前記検査点を挿入する数値の情報と同等の個数まで、前記ＵＣ故障に検査点を挿入する第２検査点挿入部と、
を備えた設計装置。
【請求項１０】
請求項２又は９に記載の設計装置であって、
さらに、前記論理回路の検査点挿入禁止情報を入力する禁止情報入力部と、
前記ＵＣ故障の集合の情報が、前記検査点挿入禁止情報に含まれるか否かを判断する判断部と、
前記ＵＣ故障の集合の情報のうち、前記検査点挿入禁止情報に含まれるＵＣ故障を除いたＵＣ故障のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路に信号を送信するフリップフロップの出力端子から一番論理段数が少ない位置のＵＣ故障に接続される信号線に検査点を挿入する第３検査点挿入部と、
を備えた設計装置。
【請求項１１】
請求項２又は９に記載の設計装置であって、
さらに、前記論理回路の検査点挿入許可情報を入力する許可情報入力部と、
前記ＵＣ故障の集合の情報が、前記検査点挿入許可情報に含まれるか否かを判断する判断部と、
前記ＵＣ故障の集合の情報のうち、前記検査点挿入許可情報に含まれないＵＣ故障を除いたＵＣ故障のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路に信号を送信するフリップフロップの出力端子から一番論理段数が少ない位置のＵＣ故障に接続される信号線に検査点を挿入する第３検査点挿入部と、
を備えた設計装置。
【請求項１２】
請求項３に記載の設計装置であって、
さらに、前記検査点の挿入すべき数値の情報を入力する数値情報入力部と、
複数存在する前記ＵＯ故障の各々に関して、前記ＵＯ故障と前記ＵＯ故障と等価とされる未検出故障数の和を算出する未検出故障数和算出部と、
前記和の大きい順に、かつ前記検査点を挿入する数値の情報と同等の個数まで、前記ＵＯ故障に検査点を挿入する第２検査点挿入部と、
を備えた設計装置。
【請求項１３】
請求項３又は１２に記載の設計装置であって、
さらに、前記論理回路の検査点挿入禁止情報を入力する禁止情報入力部と、
前記ＵＯ故障の集合の情報が、前記検査点挿入禁止情報に含まれるか否かを判断する判断部と、
前記ＵＯ故障の集合の情報のうち、前記検査点挿入禁止情報に含まれるＵＯ故障を除いたＵＯ故障のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路からの信号を受信するフリップフロップのデータ入力端子から一番論理段数が少ない位置のＵＯ故障に接続される信号線に検査点を挿入する第３検査点挿入部と、
を備えた設計装置。
【請求項１４】
請求項３又は１２に記載の設計装置であって、
さらに、前記論理回路の検査点挿入許可情報を入力する許可情報入力部と、
前記ＵＯ故障の集合の情報が、前記検査点挿入許可情報に含まれるか否かを判断する判断部と、
前記ＵＯ故障の集合の情報のうち、前記検査点挿入許可情報に含まれないＵＯ故障を除いたＵＯ故障のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路からの信号を受信するフリップフロップのデータ入力端子から一番論理段数が少ない位置のＵＯ故障に接続される信号線に検査点を挿入する第３検査点挿入部と、
を備えた設計装置。
【請求項１５】
請求項２、９、１０及び１１のいずれか一項に記載の設計装置であって、
さらに、前記検査点を挿入する前の故障検出率情報を入力する故障検出率情報入力部と、
前記検査点を挿入したＵＣ故障と前記ＵＣ故障と等価とされる未検出故障数の和を算出する第２未検出故障数和算出部と、
前記算出された和の値を前記検査点挿入前の検出故障数に合算することで、前記検査点挿入後の故障検出率を算出する故障検出率算出部と、
を備えた設計装置。
【請求項１６】
請求項３、１２、１３及び１４のいずれか一項に記載の設計装置であって、
さらに、前記検査点を挿入する前の故障検出率情報を入力する故障検出率情報入力部と、
前記検査点を挿入したＵＯ故障と前記ＵＯ故障と等価とされる未検出故障数の和を算出する第２未検出故障数和算出部と、
前記算出された和の値を前記検査点挿入前の検出故障数に合算することで、前記検査点挿入後の故障検出率を算出する故障検出率算出部と、
を備えた設計装置。
【請求項１７】
複数の論理ゲートの端子が信号線で接続された論理回路に検査点を挿入する半導体集積回路の設計装置の設計方法であって、
前記設計装置が、
前記論理回路のネットリストを入力するネットリスト入力ステップと、
前記論理回路のうち、故障検出が不可能な論理ゲートの端子の故障と前記故障検出が不可能な論理ゲートの端子と等価な故障をＡＵ故障の集合としてその情報を入力する故障情報入力ステップと、
前記ＡＵ故障の集合のうち、前記ＡＵ故障が同一信号経路上に複数個存在する場合、故障検出を妨げる論理ゲート若しくは端子又はハードマクロである故障検出障害箇所の出力属性端子が接続する方向の信号経路上で、前記故障検出障害箇所から見て論理段数が一番少ない位置に存在するＡＵ故障に接続される信号線に検査点を挿入する第１検査点挿入ステップと、
前記検査点が挿入されたネットリストを出力するネットリスト出力ステップと、
を有する設計方法。
【請求項１８】
複数の組合せ回路と順序回路が信号線で接続された論理回路に検査点を挿入する半導体集積回路の設計装置の設計方法であって、
前記設計装置が、
前記論理回路のネットリストを入力するネットリスト入力ステップと、
前記論理回路のうち、故障検出制御ができないために故障検出処理が打ち切られた論理ゲートの端子と前記故障検出処理が打ち切られた論理ゲートの端子と等価な故障の集合をＵＣ故障の集合としてその情報を入力する故障情報入力ステップと、
前記論理回路のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路に信号を送信するフリップフロップの出力端子から一番論理段数の少ない位置のＵＣ故障に接続される信号線に検査点を挿入する第１検査点挿入ステップと、
前記検査点が挿入されたネットリストを出力するネットリスト出力ステップと、
を有する設計方法。
【請求項１９】
複数の組合せ回路と順序回路が信号線で接続された論理回路に検査点を挿入する半導体集積回路の設計装置の設計方法であって、
前記設計装置が、
前記論理回路のネットリストを入力するネットリスト入力ステップと、
前記論理回路のうち、故障観測ができないために故障検出処理が打ち切られた論理ゲートの端子の故障と前記故障検出処理が打ち切られた論理ゲートの端子と等価な故障の集合をＵＯ故障の集合としてその情報を入力する故障情報入力ステップと、
前記論理回路のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路から出力される信号を受信するフリップフロップのデータ入力端子から一番論理段数の少ない位置のＵＯ故障に接続される信号線に検査点を挿入する第１検査点挿入ステップと、
前記検査点が挿入されたネットリストを出力するネットリスト出力ステップと、
を有する設計方法。
【請求項２０】
請求項１７に記載の設計方法であって、
前記設計装置が、
さらに、前記検査点に関して挿入すべき数値の情報を入力する数値情報入力ステップと、
複数存在する前記ＡＵ故障の各々に関して、前記ＡＵ故障とこれに等価とされる未検出故障の和を算出する未検出故障和算出ステップと、を有し、
前記第１検査点挿入ステップでは、前記和の大きい順に前記ＡＵ故障に検査点を挿入する設計方法。
【請求項２１】
請求項１７又は２０に記載の設計方法であって、
前記設計装置が、
さらに、前記論理回路の検査点挿入禁止情報を入力する禁止情報入力ステップと、
前記ＡＵ故障の集合の情報が、前記検査点挿入禁止情報に含まれるか否かを判断する判断ステップと、
前記ＡＵの集合の情報のうち、前記検査点挿入禁止情報に含まれるＡＵ故障を除いたＡＵ故障のうち、前記故障検出障害箇所から見て論理段数が一番少ない位置に存在するＡＵ故障に接続される信号線に検査点を挿入する第２検査点挿入ステップと、
を有する設計方法。
【請求項２２】
請求項１７又は２１に記載の設計方法であって、
前記設計装置が、
前記論理回路の検査点挿入許可情報を入力する許可情報入力ステップと、
前記ＡＵ故障の集合の情報が、前記検査点挿入許可情報に含まれるか否かを判断する判断ステップと、
前記ＡＵ故障の集合の情報のうち、前記検査点挿入許可情報に含まれないＡＵ故障を除いたＡＵ故障のうち、前記故障検出障害箇所から見て論理段数が一番少ない位置に存在するＡＵ故障に接続される信号線に検査点を挿入する第２検査点挿入ステップと、
を有する設計方法。
【請求項２３】
請求項１７、２０、２１及び２２のいずれか一項に記載の設計方法であって、
前記設計装置が、
前記検査点を挿入する前の故障検出率情報を入力する故障検出率情報入力ステップと、
前記検査点挿入箇所と、前記検査点挿入箇所の論理出力を組合せ回路経由で受信するフリップフロップとの間の論理経路において、前記検査点挿入箇所と、前記フリップフロップのデータ端子から見て前記検査点挿入箇所方向の最も論理段数が少ない箇所にあるＡＵ故障との論理経路間に存在する、ＡＵ故障数と前記ＡＵ故障と等価な故障数の総和を求める総故障数和導出ステップと、
前記総故障数和導出ステップで求められた故障数の総和を、検査点挿入前の検出数に加えることで、前記検査点挿入後の故障検出率を算出する故障検出率算出ステップと、
前記検査点挿入後の故障検出率を出力する故障検出率出力ステップと、
を有する設計方法。
【請求項２４】
請求項２３に記載の設計方法であって、
前記設計装置が、
さらに、前記検査点挿入箇所の論理出力を組合せ回路経由で受信するフリップフロップのデータ端子から見て前記検査点挿入箇所方向の最も論理段数が少ない箇所にあるＡＵ故障に接続する信号経路に関して、前記故障検出障害箇所への信号経路ではない信号経路でのＡＵ故障数と前記ＡＵ故障と等価な故障数の総和を算出する総故障数算出ステップと、
前記総故障数算出ステップで算出された総和に、前記総故障数和導出ステップで求めた総和を加算する総和加算ステップと、を有し、
前記故障検出率算出ステップでは、
前記総和加算ステップで求めた値を、前記検査点挿入前の検出数に加えることで、前記検査点挿入後の故障検出率を算出する設計方法。
【請求項２５】
請求項１８に記載の設計方法であって、
前記設計装置が、
さらに、前記検査点の挿入すべき数値の情報を入力する数値情報入力ステップと、
複数存在する前記ＵＣ故障の各々に関して、前記ＵＣ故障と前記ＵＣ故障と等価とされる未検出故障数の和を算出する第１未検出故障数和算出ステップと、
前記和の大きい順に、かつ前記検査点を挿入する数値の情報と同等の個数まで、前記ＵＣ故障に検査点を挿入する第２検査点挿入ステップと、
を有する設計方法。
【請求項２６】
請求項１８又は２５に記載の設計方法であって、
前記設計装置が、
さらに、前記論理回路の検査点挿入禁止情報を入力する禁止情報入力ステップと、
前記ＵＣ故障の集合の情報が、前記検査点挿入禁止情報に含まれるか否かを判断する判断ステップと、
前記ＵＣ故障の集合の情報のうち、前記検査点挿入禁止情報に含まれるＵＣ故障を除いたＵＣ故障のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路に信号を送信するフリップフロップの出力端子から一番論理段数が少ない位置のＵＣ故障に接続される信号線に検査点を挿入する第３検査点挿入ステップと、
を有する設計方法。
【請求項２７】
請求項１８又は２５に記載の設計方法であって、
前記設計装置が、
さらに、前記論理回路の検査点挿入許可情報を入力する許可情報入力ステップと、
前記ＵＣ故障の集合の情報が、前記検査点挿入許可情報に含まれるか否かを判断する判断ステップと、
前記ＵＣ故障の集合の情報のうち、前記検査点挿入許可情報に含まれないＵＣ故障を除いたＵＣ故障のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路に信号を送信するフリップフロップの出力端子から一番論理段数が少ない位置のＵＣ故障に接続される信号線に検査点を挿入する第３検査点挿入ステップと、
を有する設計方法。
【請求項２８】
請求項１９に記載の設計方法であって、
前記設計装置が、
さらに、前記検査点の挿入すべき数値の情報を入力する数値情報入力ステップと、
複数存在する前記ＵＯ故障の各々に関して、前記ＵＯ故障と前記ＵＯ故障と等価とされる未検出故障数の和を算出する未検出故障数和算出ステップと、
前記和の大きい順に、かつ前記検査点を挿入する数値の情報と同等の個数まで、前記ＵＯ故障に検査点を挿入する第２検査点挿入ステップと、
を有する設計方法。
【請求項２９】
請求項１９又は２８に記載の設計方法であって、
前記設計装置が、
さらに、前記論理回路の検査点挿入禁止情報を入力する禁止情報入力ステップと、
前記ＵＯ故障の集合の情報が、前記検査点挿入禁止情報に含まれるか否かを判断する判断ステップと、
前記ＵＯ故障の集合の情報のうち、前記検査点挿入禁止情報に含まれるＵＯ故障を除いたＵＯ故障のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路からの信号を受信するフリップフロップのデータ入力端子から一番論理段数が少ない位置のＵＯ故障に接続される信号線に検査点を挿入する第３検査点挿入ステップと、
を有する設計方法。
【請求項３０】
請求項１９又は２８に記載の設計方法であって、
前記設計装置が、
さらに、前記論理回路の検査点挿入許可情報を入力する許可情報入力ステップと、
前記ＵＯ故障の集合の情報が、前記検査点挿入許可情報に含まれるか否かを判断する判断ステップと、
前記ＵＯ故障の集合の情報のうち、前記検査点挿入許可情報に含まれないＵＯ故障を除いたＵＯ故障のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路からの信号を受信するフリップフロップのデータ入力端子から一番論理段数が少ない位置のＵＯ故障に接続される信号線に検査点を挿入する第３検査点挿入ステップと、
を有する設計方法。
【請求項３１】
請求項１８、２５、２６及び２７のいずれか一項に記載の設計方法であって、
前記設計装置が、
さらに、前記検査点を挿入する前の故障検出率情報を入力する故障検出率情報入力ステップと、
前記検査点を挿入したＵＣ故障と前記ＵＣ故障と等価とされる未検出故障数の和を算出する第２未検出故障数和算出ステップと、
前記算出された和の値を前記検査点挿入前の検出故障数に合算することで、前記検査点挿入後の故障検出率を算出する故障検出率算出ステップと、
を有する設計方法。
【請求項３２】
請求項１９、２８、２９及び３０のいずれか一項に記載の設計方法であって、
前記設計装置が、
さらに、前記検査点を挿入する前の故障検出率情報を入力する故障検出率情報入力ステップと、
前記検査点を挿入したＵＯ故障と前記ＵＯ故障と等価とされる未検出故障数の和を算出する第２未検出故障数和算出ステップと、
前記算出された和の値を前記検査点挿入前の検出故障数に合算することで、前記検査点挿入後の故障検出率を算出する故障検出率算出ステップと、
を有する設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計装置及び設計方法に関する。
【背景技術】
【０００２】
半導体集積回路（以下「ＬＳＩ」という）においては、ＡＴＰＧ（Automatic Test Pattern Generator）ツールを用いて自動でテストパタンを生成し、このテストパタンをテスタでＬＳＩに印加し、その結果を観測することで、検査が行われる。検査の結果、故障が検出されない場合、ＬＳＩは製品として出荷される。
【０００３】
デジタル論理回路である場合、ほとんどの回路に関し、スキャン設計といわれるテスト容易化設計（ＤＦＴ）が可能である。その回路構成を用いて、ＥＤＡ（Electronic Design Automation）ツールによりテストパタンをＡＴＰＧで生成することが可能である。大多数のＬＳＩはこの設計方法を取り入れている。この設計方法は、一般にスキャン設計といわれる設計手法である。スキャン設計として広く用いられているものは、ＬＳＩを構成する論理セルの端子が１又は０にショートした状態を、縮退故障モデルとして用いたＡＴＰＧである。
【０００４】
生成したテストパタンで検査できる回路の割合を表す数値として故障検出率がある。この故障検出率は、ＬＳＩを構成する全論理セルの端子数の２倍の値（全故障数）に対する、故障検出が可能な論理セルの端子数の２倍の値（検出故障数：ＤＴ）の割合で求められる。ここで、２倍の値が用いられるのは、縮退故障モデルでは、前述した通り、１と０の２通りのモデルがあるからである。故障検出率はＬＳＩの品質を表す１つの指標になっており、一般的に９８〜９９％前後の値となることが多い。
【０００５】
スキャン設計では、理想的に、全てのフリップフロップ（ＦＦ）をスキャンＦＦ（ＳＦＦ）化する必要がある。ＳＦＦは、ＦＦに比べ、データ入力端子にセレクタが接続されており、ＬＳＩの実動作を行う場合のデータ入力端子（Ｄ）とテスト動作を行う場合のデータ入力端子（ＤＴ）をセレクタの選択端子で切り替える構成を有する。
【０００６】
セレクタの選択信号は、スキャンイネーブル（ＳＥ）といわれる信号で制御される。ＳＦＦでは、スキャンチェーンといわれる、ＳＦＦのＤＴ端子と出力端子が互いに接続されたチェーン構成にする必要がある。初段のＳＦＦのＤＴ端子に接続されているＬＳＩの端子（ＳＩ）と終端のＳＦＦの出力端子に接続されているＬＳＩの端子（ＳＯ）がテスタに接続され、テストデータの印加と観測を行うことで、検査が行われる。
【０００７】
テストのシーケンスでは、まず、テスタからＳＥを値１にして、テスト動作を行う信号を選択し、ＳＩにテストパタンを印加すると、クロックに同期してテストデータがＤＴ経由でＳＦＦに取り込まれ、順次スキャンチェーンをシリアルシフトしていく。全てのＳＦＦにテストデータがシフトし終わった後、ＳＥを値０にすることで、ＬＳＩの実動作を行う信号経路が選択され、その時にクロックを印加することで、テストデータに対する実動作信号経路の応答結果を、その実動作信号経路の先にあるＳＦＦで取り込む。次に、ＳＥを値１にすることで、取り込んだ応答結果をスキャンチェーンでシフトしてＳＯに出力し、テスタで観測することで、検査が行われる。
【０００８】
ＡＴＰＧツールでは、一般的に、前述したようなテスト動作モード（以下「スキャンモード」という）時に、ブラックボックス（以下「ＢＢ」という。特に、アナログマクロセルやメモリマクロセル等の、デジタル記述できないマクロセル）やノンスキャンフリップフロップ（以下「ＮＦＦ」という。スキャン化できないＦＦ）に対し、スキャンチェーンを用いても任意の値を設定することができない。このため、ＢＢやＮＦＦの出力が不定値（０か１かわからない値）となる。
【０００９】
この場合、ＡＴＰＧツールは、該当するＢＢやＮＦＦの出力端子から先が、１又は０にショートした故障検出が不可能（以下「ＡＵ故障」という）と判断する。また、スキャンモード設定のために１又は０に固定されるような外部端子では、論理の入力値も固定してしまう。例えば、外部端子が値１に固定されている場合でかつ、ＯＲゲートに接続されているような場合、ＯＲゲートの出力信号は値１にしかならないので、その出力信号が値１にショートした故障検出はＡＵ故障と判断する。
【００１０】
また、論理回路が複雑である等の理由で、ＳＦＦまで論理の応答結果が伝播し難く、故障の観測ができない場合、ＡＴＰＧは故障検出の処理を打ち切る（以下「ＵＯ故障」という）。また同様に、論理回路が複雑である等の理由で、故障を検出するための制御が難しい場合も、ＡＴＰＧは故障検出の処理を打ち切る（以下「ＵＣ故障」という）。
【００１１】
このように、ＡＵ故障、ＵＯ故障、ＵＣ故障は、未検出故障といわれ、テストパタンの生成ができないので、テスタでの検査ができない箇所（未検出故障箇所）となる。また、これらの未検出故障と等価な未検出故障はＥＱ故障といわれ、ＡＵ、ＵＯ、ＵＣ故障箇所に接続するバッファやインバータ等の入力や出力端子等がこれに相当する。この箇所に存在するＥＱ故障も未検出故障となる。
【００１２】
一般に、ＡＴＰＧツールは、ＬＳＩ中の論理の端子に関し、故障検出ができたか否かの情報を出力することができる。さらに、ＥＱ故障を含め、ＡＵ、ＵＣ、ＵＯ等の故障リストといわれるリストにそれぞれ分けて出力することができる。
【００１３】
一方、ＬＳＩの大規模化が進み、全故障（以下「ＦＵ」という）数が数千万箇所から数億箇所以上と膨大な数になっている。これは、回路規模の増大により論理セル数も増加するためである。このような大規模ＬＳＩでＡＴＰＧを行い、算出した故障検出率は９８〜９９％程度となる。つまり、未故障検出率も１〜２％あり、仮に全故障を１億個とすると、１００〜２００万個の未検出故障、つまり、テスタで検査できない箇所が存在し、ＬＳＩの品質を低下させる原因となっている。
【００１４】
このため、これらの未検出故障箇所に検査点を挿入して故障検出率を上げて未検出故障数を減らし、テスタで検査できる箇所を増やすための、検査点挿入の手法が提案されている。ここで、検査点とは、故障検出ができない、あるいは難しい箇所に、ＳＦＦ等を挿入することで、故障検出を可能とする回路である。この検査点の挿入は、広く一般に用いられるが、故障検出ができない箇所が、数千〜数万箇所、又は、前述したように１００万箇所になる場合が大多数であるので、効率的に検査点を挿入する手法が提案されている。
【００１５】
特許文献１，２では、スキャンモード設定時の端子固定により、出力の値が固定される回路に検査点を挿入する方法や、ＡＴＰＧの限界を超える論理箇所に検査点を挿入する方法が提案されている。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２００６−２５９８２０号公報
【特許文献２】特開２００８−９８２７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
特許文献１，２に示すような、スキャンモード設定時の端子固定箇所あるいはその周辺に単に検査点を挿入する方法では、検査点までの経路の値を観測するのみである。また、固定値が論理を固定することで、固定の影響が後段に伝播して故障検出の制御ができなくなる点の考慮が不足しているので、故障検出できる箇所は限られてしまう。
【００１８】
また、ＡＴＰＧの限界は、ＡＴＰＧツールが市販ツールの場合、その限界を知ることは現実的ではなく、仮に故障検出を打ち切った箇所のことだとすると、打ち切った箇所全てに検査点を挿入することは、コスト的に現実的ではない。また、ＡＴＰＧツールによっては、ＡＴＰＧの限界値を上げる設定が可能なものもあるが、その場合、テストパタン数を多くすることで故障検出をしようとするので、テストコストが上昇する可能性が高い。
【００１９】
また、未検出故障は、一般に、故障検出不可能、故障検出処理の打ち切り等により発生するが、その中でも特に故障検出不可能な故障の原因となる、ＮＦＦ、ＢＢ等への対処が不足している。このため、従来技術で検出できるようになる未検出箇所は少なく、大多数の未検出故障箇所の故障検出はできないと推定される。
【００２０】
本発明の目的は、故障検出の向上に効果的な箇所に最小限の数を挿入することで、品質向上と低コストを両立できる半導体集積回路の設計装置及び設計方法を提供することである。
【課題を解決するための手段】
【００２１】
本発明の請求項１に記載の設計装置は、複数の論理ゲートの端子が信号線で接続された論理回路に検査点を挿入する半導体集積回路の設計装置であって、前記論理回路のネットリストを入力するネットリスト入力部と、前記論理回路のうち、故障検出が不可能な論理ゲートの端子の故障と前記故障検出が不可能な論理ゲートの端子と等価な故障をＡＵ故障の集合としてその情報を入力する故障情報入力部と、前記ＡＵ故障の集合のうち、前記ＡＵ故障が同一信号経路上に複数個存在する場合、故障検出を妨げる論理ゲート若しくは端子又はハードマクロである故障検出障害箇所の出力属性端子が接続する方向の信号経路上で、前記故障検出障害箇所から見て論理段数が一番少ない位置に存在するＡＵ故障に接続される信号線に検査点を挿入する第１検査点挿入部と、前記検査点が挿入されたネットリストを出力するネットリスト出力部と、を備える。
【００２２】
この構成により、同一パス上に複数個存在するＡＵ故障の中でも、ＡＵ故障の発生源に一番近い箇所にあるＡＵ故障に検査点を挿入できるので、１つの検査点で多くのＡＵ故障を検出できるようになる。これは、ＡＵ故障の箇所はＡＴＰＧ不可能な箇所であって、ＡＴＰＧツールがテストデータを設定できないからであるが、検査点を挿入してテストデータの設定ができるようになると、検査点が挿入されたＡＵ故障の後段の論理に対し、最初のＳＦＦまでの間の論理に対してテストデータが設定でき、その値に基づく応答結果を後段のＳＦＦで観測することで、故障検出の可能性が飛躍的に高まり、多くの未検出故障箇所を故障検出できるようになるからである。
【００２３】
本発明の請求項２に記載の設計装置は、複数の組合せ回路と順序回路が信号線で接続された論理回路に検査点を挿入する半導体集積回路の設計装置であって、前記論理回路のネットリストを入力するネットリスト入力部と、前記論理回路のうち、故障検出制御ができないために故障検出処理が打ち切られた論理ゲートの端子の故障と前記故障検出処理が打ち切られた論理ゲートの端子と等価な故障の集合をＵＣ故障の集合としてその情報を入力する故障情報入力部と、前記論理回路のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路に信号を送信するフリップフロップの出力端子から一番論理段数の少ない位置のＵＣ故障に接続される信号線に検査点を挿入する第１検査点挿入部と、前記検査点が挿入されたネットリストを出力するネットリスト出力部と、を備える。
【００２４】
この構成により、同一パス上に複数個存在するＵＣ故障においては、ＵＣ故障は後段に影響を及ぼすが、一番送信側のフリッププロップに近いＵＣ箇所に検査点を挿入できるので、１つの検査点で多くのＵＣ故障を検出できるようになる。これは、ＵＣ故障の箇所がＡＴＰＧ処理を打ち切った箇所であり、ＡＴＰＧツールが既存のＳＦＦのみへのテストデータの設定では、故障検出のための制御が困難なためであるが、ＵＣ箇所へ検査点を挿入してテストデータの設定ができるようになると、ＵＣ箇所の後段方向の論理回路に対し、最初のＳＦＦまでの間の論理回路に対してテストデータを設定でき、その値に基づく応答結果を後段のＳＦＦで観測することで、故障検出の可能性が高まり、多くの未検出故障箇所を故障検出できるようになるからである。
【００２５】
本発明の請求項３に記載の設計装置は、複数の組合せ回路と順序回路が信号線で接続された論理回路に検査点を挿入する半導体集積回路の設計装置であって、前記論理回路のネットリストを入力するネットリスト入力部と、前記論理回路のうち、故障観測ができないために故障検出処理が打ち切られた論理ゲートの端子の故障と前記故障検出処理が打ち切られた論理ゲートの端子と等価な故障の集合をＵＯ故障の集合としてその情報を入力する故障情報入力部と、前記論理回路のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路から出力される信号を受信するフリップフロップのデータ入力端子から一番論理段数の少ない位置のＵＯ故障に接続される信号線に検査点を挿入する第１検査点挿入部と、前記検査点が挿入されたネットリストを出力するネットリスト出力部と、を備える。
【００２６】
この構成により、同一パス上に複数個存在するＵＯ故障に対して、ＵＯ故障は後段に影響を及ぼすが、一番受信側のフリップフロップに近いＵＯ箇所に検査点を挿入するので、最小限の検査点で多くのＵＯ故障を検出できるようになる。これは、ＵＯ箇所は、ＡＴＰＧ処理を打ち切った箇所であり、ＡＴＰＧツールが既存のＳＦＦのみへのテストデータの設定では、故障検出のための観測が困難なためであるが、ＵＯ箇所に検査点を挿入してテストデータの設定ができるようになると、ＵＯ箇所の前段方向の論理回路に対し、最初のＳＦＦまでの間の論理回路に対してテストデータに基づく応答結果を検査点で観測することで、故障検出の可能性が高まり、多くの未検出故障箇所を故障検出できるようになるからである。
【００２７】
本発明の請求項４に記載の設計装置は、請求項１に記載の設計装置であって、さらに、前記検査点に関して挿入すべき数値の情報を入力する数値情報入力部と、複数存在する前記ＡＵ故障の各々に関して、前記ＡＵ故障とこれに等価とされる未検出故障の和を算出する未検出故障和算出部と、を備え、前記第１検査点挿入部は、前記和の大きい順に前記ＡＵ故障に検査点を挿入する。
【００２８】
この構成により、請求項１の効果に加え、挿入する検査点数を設定するので、検査点が占有するチップ面積の概算が把握できる。このため、ＬＳＩのチップ面積に影響の無い範囲、つまりコストアップしない範囲での検査点の挿入が可能となる。また、あるＡＵ故障とこれと等価とされる未検出故障の数を足し算し、その数値（和）が大きい順に検査点を挿入するので、１つの検査点で検出できる数が大きい順に検査点を挿入できることになり、許されたチップ面積増の範囲で検査点の挿入効果を最大にすることができる。
【００２９】
本発明の請求項５に記載の設計装置は、請求項１又は４に記載の設計装置であって、さらに、前記論理回路の検査点挿入禁止情報を入力する禁止情報入力部と、前記ＡＵ故障の集合の情報が、前記検査点挿入禁止情報に含まれるか否かを判断する判断部と、前記ＡＵ故障の集合の情報のうち、前記検査点挿入禁止情報に含まれるＡＵ故障を除いたＡＵ故障のうち、前記故障検出障害箇所から見て論理段数が一番少ない位置に存在するＡＵ故障に接続される信号線に検査点を挿入する第２検査点挿入部と、を備える。
【００３０】
この構成により、請求項１の効果に加え、検査点の挿入禁止箇所や論理回路の指定が可能となるので、例えば、ＬＳＩ設計でスキャン化しない方針のブロックへの検査点挿入を防ぐことができる。また別のケースとして、テストモードを決定しているブロック（ＴＭＤＢＫ）は、通常、外部端子（テストモード決定端子）で固定値を印加することでテストモードを決めている。外部端子数が少ない等の理由で、テストモード決定端子が別のブロックの入力端子等と兼用して設計せざるをえない場合がある。その場合、テストモード決定端子からＴＭＤＢＫ間の信号経路と、ＴＭＤＢＫ内に検査点を挿入すると、スキャンテスト時に印加されスキャンチェーンをシフトしていくデータによっては、スキャンテストモードから外れてしまう不具合が発生する可能性がある。しかし、テストモード決定端子からＴＭＤＢＫ間のパスと、ＴＭＤＢＫ内を検査点挿入禁止として設定することで、この不具合を防ぐことができる。
【００３１】
本発明の請求項６に記載の設計装置は、請求項１又は４に記載の設計装置であって、前記論理回路の検査点挿入許可情報を入力する許可情報入力部と、前記ＡＵ故障の集合の情報が、前記検査点挿入許可情報に含まれるか否かを判断する判断部と、前記ＡＵ故障の集合の情報のうち、前記検査点挿入許可情報に含まれないＡＵ故障を除いたＡＵ故障のうち、前記故障検出障害箇所から見て論理段数が一番少ない位置に存在するＡＵ故障に接続される信号線に検査点を挿入する第２検査点挿入部と、を備える。
【００３２】
この構成により、請求項１の効果に加え、検査点の挿入許可箇所や論理回路の指定が可能となる。テストモードを決定しているブロック（ＴＭＤＢＫ）は、通常、外部端子（テストモード決定端子）で固定値を印加することでテストモードを決めている。外部端子数が少ない等の理由で、テストモード決定端子が別のブロックの入力端子等と兼用して設計せざるをえない場合がある。その場合、テストモード決定端子からＴＭＤＢＫ間のパスと、ＴＭＤＢＫ内に検査点を挿入すると、スキャンテスト時に印加されスキャンチェーンをシフトしていくデータによっては、スキャンテストモードから外れてしまう不具合が発生する可能性がある。しかし、検査点挿入許可ブロックとして、これらの論理回路を指定しないことで、この不具合を防ぐことができる。
【００３３】
本発明の請求項７に記載の設計装置は、請求項１、４、５及び６のいずれか一項に記載の設計装置であって、前記検査点を挿入する前の故障検出率情報を入力する故障検出率情報入力部と、前記検査点挿入箇所と、前記検査点挿入箇所の論理出力を組合せ回路経由で受信するフリップフロップとの間の論理経路において、前記検査点挿入箇所と、前記フリップフロップのデータ端子から見て前記検査点挿入箇所方向の最も論理段数が少ない箇所にあるＡＵ故障との論理経路間に存在する、ＡＵ故障数と前記ＡＵ故障と等価な故障数の総和を求める総故障数和導出部と、前記総故障数和導出部によって求められた故障数の総和を、検査点挿入前の検出数に加えることで、前記検査点挿入後の故障検出率を算出する故障検出率算出部と、前記検査点挿入後の故障検出率を出力する故障検出率出力部と、を備える。
【００３４】
この構成により、請求項１の効果に加え、つぎのような効果がある。すなわち、検査点挿入箇所から受信フリップフロップまでの間にあるＡＵ故障数と、それと等価な故障の数を足し合わせて、検査点挿入によりその数の未検出故障箇所が検出できると推測し、その推定数を検査点挿入前の検出数と足し合わせ、この足し合わせた後の数を故障検出数として、総故障数との割合で故障検出率を概算することができる。これにより、通常、数十時間の処理時間を要するＡＴＰＧを実施しなくても、検査点挿入後のおおよその故障検出率の算出が可能となる。
【００３５】
本発明の請求項８に記載の設計装置は、請求項７に記載の設計装置であって、さらに、前記検査点挿入箇所の論理出力を組合せ回路経由で受信するフリップフロップのデータ端子から見て前記検査点挿入箇所方向の最も論理段数が少ない箇所にあるＡＵ故障に接続される信号経路に関して、前記故障検出障害箇所への信号経路ではない信号経路でのＡＵ故障数と前記ＡＵ故障と等価な故障数の総和を算出する総故障数算出部と、前記総故障数算出部によって算出された総和に、前記総故障数和導出部で求めた総和を加算する総和加算部と、を備え、前記故障検出率算出段は、前記総和加算部が求めた値を、前記検査点挿入前の検出数に加えることで、前記検査点挿入後の故障検出率を算出する。
【００３６】
この構成により、請求項７で算出された故障数と、故障発生源への信号経路ではない信号経路でのＡＵ故障数とＡＵ故障と等価な故障数の総和を、加算した数値を計算し、検査点挿入によりその加算した数値の未検出故障箇所が検出できると推測し、その推定数を検査点挿入前の検出数と足し合わせ、この足し合わせた後の数を故障検出数として、総故障数との割合で故障検出率を概算することができる。これにより、通常、数十時間の処理時間を要するＡＴＰＧを実施しなくても、検査点挿入後のおおよその故障検出率の算出が可能となる。このように、故障検出率として、請求項７では最低限の推測値であり、請求項８では最大限の推測値となる。
【００３７】
本発明の請求項９に記載の設計装置は、請求項２に記載の設計装置であって、さらに、前記検査点の挿入すべき数値の情報を入力する数値情報入力部と、複数存在する前記ＵＣ故障の各々に関して、前記ＵＣ故障と前記ＵＣ故障と等価とされる未検出故障数の和を算出する第１未検出故障数和算出部と、前記和の大きい順に、かつ前記検査点を挿入する数値の情報と同等の個数まで、前記ＵＣ故障に検査点を挿入する第２検査点挿入部と、を備えた。
【００３８】
この構成により、請求項２の効果に加え、挿入する検査点数を設定できるので、検査点が占有するチップ面積の概算が可能となる。このため、ＬＳＩのチップ面積に影響の無い範囲、つまりコストアップしない範囲での検査点の挿入が可能となる。また、あるＵＣ故障とそれと等価とされる未検出故障の数を足し算し、その数値が大きい順に検査点を挿入するので、１つの検査点で検出できる数が大きい順に検査点を挿入できることになり、許されたチップ面積増の範囲で検査点の挿入効果を最大にすることができる。
【００３９】
本発明の請求項１０に記載の設計装置は、請求項２又は９に記載の設計装置であって、さらに、前記論理回路の検査点挿入禁止情報を入力する禁止情報入力部と、前記ＵＣ故障の集合の情報が、前記検査点挿入禁止情報に含まれるか否かを判断する判断部と、前記ＵＣ故障の集合の情報のうち、前記検査点挿入禁止情報に含まれるＵＣ故障を除いたＵＣ故障のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路に信号を送信するフリップフロップの出力端子から一番論理段数が少ない位置のＵＣ故障に接続される信号線に検査点を挿入する第３検査点挿入部と、を備える。
【００４０】
この構成により、請求項２の効果に加え、検査点の挿入禁止箇所（ブロック）や論理回路の指定が可能となるので、例えば、ＬＳＩ設計でスキャン化しない方針のブロックや論理回路への検査点挿入を防ぐことができる。また別のケースとして、テストモードを決定しているブロック（ＴＭＤＢＫ）は、通常、外部端子（テストモード決定端子）で固定値を印加することでテストモードを決めているが、外部端子数が少ない等の理由で、テストモード決定端子が別のブロックの入力端子等と兼用して設計せざるをえない場合がある。その場合、テストモード決定端子からＴＭＤＢＫ間のパスと、ＴＭＤＢＫ内に検査点を挿入すると、スキャンテスト時に印加されスキャンチェーンをシフトしていくデータによっては、スキャンテストモードから外れてしまう不具合が発生する可能性がある。しかし、テストモード決定端子からＴＭＤＢＫ間の信号経路と、ＴＭＤＢＫ内を検査点挿入禁止論理として設定することで、この不具合を防ぐことができる。また、タイミング余裕の無いブロック等への挿入も防ぐことができる。
【００４１】
本発明の請求項１１に記載の設計装置は、請求項２又は９に記載の設計装置であって、さらに、前記論理回路の検査点挿入許可情報を入力する許可情報入力部と、前記ＵＣ故障の集合の情報が、前記検査点挿入許可情報に含まれるか否かを判断する判断部と、前記ＵＣ故障の集合の情報のうち、前記検査点挿入許可情報に含まれないＵＣ故障を除いたＵＣ故障のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路に信号を送信するフリップフロップの出力端子から一番論理段数が少ない位置のＵＣ故障に接続される信号線に検査点を挿入する第３検査点挿入部と、を備える。
【００４２】
この構成により、請求項２の効果に加え、検査点の挿入許可箇所（ブロック）や論理回路の指定が可能となる。前述した請求項１０の効果と類似するが、テストモードを決定しているブロック（ＴＭＤＢＫ）は、通常、外部端子（テストモード決定端子）で固定値を印加することでテストモードを決めている。外部端子数が少ない等の理由で、テストモード決定端子が別のブロックの入力端子等と兼用して設計せざるをえない場合がある。その場合、テストモード決定端子からＴＭＤＢＫ間のパスと、ＴＭＤＢＫ内に検査点を挿入すると、スキャンテスト時に印加されスキャンチェーンをシフトしていくデータによっては、スキャンテストモードから外れてしまう不具合が発生する可能性がある。しかし、検査点挿入許可ブロックとして、これらの論理を指定しないことで、この不具合を防ぐことができる。
【００４３】
本発明の請求項１２に記載の設計装置は、請求項３に記載の設計装置であって、さらに、前記検査点の挿入すべき数値の情報を入力する数値情報入力部と、複数存在する前記ＵＯ故障の各々に関して、前記ＵＯ故障と前記ＵＯ故障と等価とされる未検出故障数の和を算出する未検出故障数和算出部と、前記和の大きい順に、かつ前記検査点を挿入する数値の情報と同等の個数まで、前記ＵＯ故障に検査点を挿入する第２検査点挿入部と、を備える。
【００４４】
この構成により、請求項３の効果に加え、挿入する検査点数を設定できるので、検査点が占有するチップ面積の概算がわかる。このため、ＬＳＩのチップ面積に影響の無い範囲、つまりコストアップしない範囲での検査点の挿入が可能となる。また、あるＵＯ故障とそれと等価とされる未検出故障の数を足し算し、その数値が大きい順に検査点を挿入するので、１つの検査点で検出できる数が大きい順に検査点を挿入できることになり、許されたチップ面積増の範囲で検査点の挿入効果を最大にすることができる。
【００４５】
本発明の請求項１３に記載の設計装置は、請求項３又は１２に記載の設計装置であって、さらに、前記論理回路の検査点挿入禁止情報を入力する禁止情報入力部と、前記ＵＯ故障の集合の情報が、前記検査点挿入禁止情報に含まれるか否かを判断する判断部と、前記ＵＯ故障の集合の情報のうち、前記検査点挿入禁止情報に含まれるＵＯ故障を除いたＵＯ故障のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路からの信号を受信するフリップフロップのデータ入力端子から一番論理段数が少ない位置のＵＯ故障に接続される信号線に検査点を挿入する第３検査点挿入部と、を備える。
【００４６】
この構成により、請求項３及び１２の効果に加え、検査点の挿入禁止箇所（ブロック）や論理回路の指定が可能となる。したがって、例えば、ＬＳＩ設計でスキャン化しない方針のブロックや論理回路、タイミング余裕の無いブロックや信号経路等への検査点挿入を防ぐことができる。
【００４７】
本発明の請求項１４に記載の設計装置は、請求項３又は１２に記載の設計装置であって、さらに、前記論理回路の検査点挿入許可情報を入力する許可情報入力部と、前記ＵＯ故障の集合の情報が、前記検査点挿入許可情報に含まれるか否かを判断する判断部と、前記ＵＯ故障の集合の情報のうち、前記検査点挿入許可情報に含まれないＵＯ故障を除いたＵＯ故障のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路からの信号を受信するフリップフロップのデータ入力端子から一番論理段数が少ない位置のＵＯ故障に接続される信号線に検査点を挿入する第３検査点挿入部と、を備える。
【００４８】
この構成により、請求項３及び１２の効果に加え、検査点の挿入許可箇所（ブロック）や論理回路の指定が可能となる。前述した請求項１３の効果と類似するが、検査点挿入許可ブロックとして、スキャン化する方針のブロックや、タイミングに問題が無いブロックを指定することで、意図しないブロックや信号経路への挿入を防ぐことができる。
【００４９】
本発明の請求項１５に記載の設計装置は、請求項２、９、１０及び１１のいずれか一項に記載の設計装置であって、さらに、前記検査点を挿入する前の故障検出率情報を入力する故障検出率情報入力部と、前記検査点を挿入したＵＣ故障と前記ＵＣ故障と等価とされる未検出故障数の和を算出する第２未検出故障数和算出部と、前記算出された和の値を前記検査点挿入前の検出故障数に合算することで、前記検査点挿入後の故障検出率を算出する故障検出率算出部と、を備える。
【００５０】
この構成により、請求項２及び９の効果に加え、検査点挿入箇所から受信フリップフロップ間にあるＵＣ故障と、それと等価な故障の数を足し合わせて、検査点挿入によりその数の未検出故障箇所が検出できると推測し、その推定数を検査点挿入前の検出数と足し合わせ、この足し合わせた後の数を故障検出数として、総故障数との割合で故障検出率を概算することができる。これにより、通常、数十時間の処理時間を要するＡＴＰＧを実施しなくても、検査点挿入後のおおよその故障検出率の算出が可能となる。
【００５１】
本発明の請求項１６に記載の設計装置は、請求項３、１２、１３及び１４のいずれか一項に記載の設計装置であって、さらに、前記検査点を挿入する前の故障検出率情報を入力する故障検出率情報入力部と、前記検査点を挿入したＵＯ故障と前記ＵＯ故障と等価とされる未検出故障数の和を算出する第２未検出故障数和算出部と、前記算出された和の値を前記検査点挿入前の検出故障数に合算することで、前記検査点挿入後の故障検出率を算出する故障検出率算出部と、を備える。
【００５２】
この構成により、請求項３及び１２の効果に加え、検査点挿入箇所から受信フリップフロップ間にあるＵＯ故障と、それと等価な故障の数を足し合わせて、検査点挿入によりその数の未検出故障箇所が検出できると推測し、その推定数を検査点挿入まえの検出数と足し合わせる、この足し合わせた後の数を故障検出数として、総故障数との割合で故障検出率を概算することができる。これにより、通常、数十時間の処理時間を要するＡＴＰＧを実施しなくても、検査点挿入後のおおよその故障検出率の算出が可能となる。
【００５３】
このような設計装置を構築することで、より短い設計期間でミス無く、検査点を挿入することが可能となる。
【００５４】
本発明の請求項１７に記載の半導体集積回路の設計装置の設計方法は、複数の論理ゲートの端子が信号線で接続された論理回路に検査点を挿入する設計装置の設計方法であって、前記設計装置が、前記論理回路のネットリストを入力するネットリスト入力ステップと、前記論理回路のうち、故障検出が不可能な論理ゲートの端子の故障と前記故障検出が不可能な論理ゲートの端子と等価な故障をＡＵ故障の集合としてその情報を入力する故障情報入力ステップと、前記ＡＵ故障の集合のうち、前記ＡＵ故障が同一信号経路上に複数個存在する場合、故障検出を妨げる論理ゲート若しくは端子又はハードマクロである故障検出障害箇所の出力属性端子が接続する方向の信号経路上で、前記故障検出障害箇所から見て論理段数が一番少ない位置に存在するＡＵ故障に接続される信号線に検査点を挿入する第１検査点挿入ステップと、前記検査点が挿入されたネットリストを出力するネットリスト出力ステップと、を有する。
【００５５】
この構成により、同一パス上に複数個存在するＡＵ故障の中でも、ＡＵ故障の発生源に一番近い箇所にあるＡＵ故障に検査点を挿入できるので、１つの検査点で多くのＡＵ故障を検出できるようになる。
【００５６】
本発明の請求項１８に記載の半導体集積回路の設計装置の設計方法は、複数の組合せ回路と順序回路が信号線で接続された論理回路に検査点を挿入する設計装置の設計方法であって、前記設計装置が、前記論理回路のネットリストを入力するネットリスト入力ステップと、前記論理回路のうち、故障検出制御ができないために故障検出処理が打ち切られた論理ゲートの端子と前記故障検出処理が打ち切られた論理ゲートの端子と等価な故障の集合をＵＣ故障の集合としてその情報を入力する故障情報入力ステップと、前記論理回路のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路に信号を送信するフリップフロップの出力端子から一番論理段数の少ない位置のＵＣ故障に接続される信号線に検査点を挿入する第１検査点挿入ステップと、前記検査点が挿入されたネットリストを出力するネットリスト出力ステップと、を有する設計方法。
【００５７】
この構成により、同一パス上に複数個存在するＵＣ故障においては、ＵＣ故障は後段に影響を及ぼすが、一番送信側のフリッププロップに近いＵＣ箇所に検査点を挿入できるので、１つの検査点で多くのＵＣ故障を検出できるようになる。
【００５８】
本発明の請求項１９に記載の半導体集積回路の設計装置の設計方法は、複数の組合せ回路と順序回路が信号線で接続された論理回路に検査点を挿入する設計装置の設計方法であって、前記設計装置が、前記論理回路のネットリストを入力するネットリスト入力ステップと、前記論理回路のうち、故障観測ができないために故障検出処理が打ち切られた論理ゲートの端子の故障と前記故障検出処理が打ち切られた論理ゲートの端子と等価な故障の集合をＵＯ故障の集合としてその情報を入力する故障情報入力ステップと、前記論理回路のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路から出力される信号を受信するフリップフロップのデータ入力端子から一番論理段数の少ない位置のＵＯ故障に接続される信号線に検査点を挿入する第１検査点挿入ステップと、前記検査点が挿入されたネットリストを出力するネットリスト出力ステップと、を有する。
【００５９】
この構成により、同一パス上に複数個存在するＵＯ故障に対して、ＵＯ故障は後段に影響を及ぼすが、一番受信側のフリップフロップに近いＵＯ箇所に検査点を挿入するので、最小限の検査点で多くのＵＯ故障を検出できるようになる。
【００６０】
本発明の請求項２０に記載の設計装置の設計方法は、請求項１７に記載の設計方法であって、前記設計装置が、さらに、前記検査点に関して挿入すべき数値の情報を入力する数値情報入力ステップと、複数存在する前記ＡＵ故障の各々に関して、前記ＡＵ故障とこれに等価とされる未検出故障の和を算出する未検出故障和算出ステップと、を有し、前記第１検査点挿入ステップでは、前記和の大きい順に前記ＡＵ箇所に検査点を挿入する。
【００６１】
この構成により、挿入する検査点数を設定するので、検査点が占有するチップ面積の概算が把握できる。
【００６２】
本発明の請求項２１に記載の設計装置の設計方法は、請求項１７又は２０に記載の設計方法であって、前記設計装置が、さらに、前記論理回路の検査点挿入禁止情報を入力する禁止情報入力ステップと、前記ＡＵ故障の集合の情報が、前記検査点挿入禁止情報に含まれるか否かを判断する判断ステップと、前記ＡＵの集合の情報のうち、前記検査点挿入禁止情報に含まれるＡＵ故障を除いたＡＵ故障のうち、前記故障検出障害箇所から見て論理段数が一番少ない位置に存在するＡＵ故障に接続される信号線に検査点を挿入する第２検査点挿入ステップと、を有する。
【００６３】
この構成により、検査点の挿入禁止箇所や論理回路の指定が可能となるので、例えば、ＬＳＩ設計でスキャン化しない方針のブロックへの検査点挿入を防ぐことができる。
【００６４】
本発明の請求項２２に記載の設計装置の設計方法は、請求項１７又は２１に記載の設計方法であって、前記設計装置が、前記論理回路の検査点挿入許可情報を入力する許可情報入力ステップと、前記ＡＵ故障の集合の情報が、前記検査点挿入許可情報に含まれるか否かを判断する判断ステップと、前記ＡＵ故障の集合の情報のうち、前記検査点挿入許可情報に含まれないＡＵ故障を除いたＡＵ故障のうち、前記故障検出障害箇所から見て論理段数が一番少ない位置に存在するＡＵ故障に接続される信号線に検査点を挿入する第２検査点挿入ステップと、を有する。
【００６５】
この構成により、検査点の挿入許可箇所や論理回路の指定が可能となる。
【００６６】
本発明の請求項２３に記載の設計装置の設計方法は、請求項１７、２０、２１及び２２のいずれか一項に記載の設計方法であって、前記設計装置が、前記検査点を挿入する前の故障検出率情報を入力する故障検出率情報入力ステップと、前記検査点挿入箇所と、前記検査点挿入箇所の論理出力を組合せ回路経由で受信するフリップフロップとの間の論理経路において、前記検査点挿入箇所と、前記フリップフロップのデータ端子から見て前記検査点挿入箇所方向の最も論理段数が少ない箇所にあるＡＵ故障との論理経路間に存在する、ＡＵ故障数と前記ＡＵ故障と等価な故障数の総和を求める総故障数和導出ステップと、前記総故障数和導出ステップで求められた故障数の総和を、検査点挿入前の検出数に加えることで、前記検査点挿入後の故障検出率を算出する故障検出率算出ステップと、前記検査点挿入後の故障検出率を出力する故障検出率出力ステップと、を有する。
【００６７】
この構成により、通常、数十時間の処理時間を要するＡＴＰＧを実施しなくても、検査点挿入後のおおよその故障検出率の算出が可能となる。
【００６８】
本発明の請求項２４に記載の設計装置の設計方法は、請求項２３に記載の設計方法であって、前記設計装置が、前記検査点挿入箇所の論理出力を組合せ回路経由で受信するフリップフロップのデータ端子から見て前記検査点挿入箇所方向の最も論理段数が少ない箇所にあるＡＵ故障に接続する信号経路に関して、前記故障検出障害箇所への信号経路ではない信号経路でのＡＵ故障数と前記ＡＵ故障と等価な故障数の総和を算出する総故障数算出ステップと、前記総故障数算出ステップで算出された総和に、前記総故障数和導出ステップで求めた総和を加算する総和加算ステップと、を有し、前記故障検出率算出ステップでは、前記総和加算ステップで求めた値を、前記検査点挿入前の検出数に加えることで、前記検査点挿入後の故障検出率を算出する。
【００６９】
この構成により、通常、数十時間の処理時間を要するＡＴＰＧを実施しなくても、検査点挿入後のおおよその故障検出率の算出が可能となる。
【００７０】
本発明の請求項２５に記載の設計装置の設計方法は、請求項１８に記載の設計方法であって、前記設計装置が、さらに、前記検査点の挿入すべき数値の情報を入力する数値情報入力ステップと、複数存在する前記ＵＣ故障の各々に関して、前記ＵＣ故障と前記ＵＣ故障と等価とされる未検出故障数の和を算出する第１未検出故障数和算出ステップと、前記和の大きい順に、かつ前記検査点を挿入する数値の情報と同等の個数まで、前記ＵＣ故障に検査点を挿入する第２検査点挿入ステップと、を有する。
【００７１】
この構成により、許されたチップ面積増の範囲で検査点の挿入効果を最大にすることができる。
【００７２】
本発明の請求項２６に記載の設計装置の設計方法は、請求項１８又は２５に記載の設計方法であって、前記設計装置が、さらに、前記論理回路の検査点挿入禁止情報を入力する禁止情報入力ステップと、前記ＵＣ故障の集合の情報が、前記検査点挿入禁止情報に含まれるか否かを判断するステップと、前記ＵＣ故障の集合の情報のうち、前記検査点挿入禁止情報に含まれるＵＣ故障を除いたＵＣ故障のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路に信号を送信するフリップフロップの出力端子から一番論理段数が少ない位置のＵＣ故障に接続される信号線に検査点を挿入する第３検査点挿入ステップと、を有する。
【００７３】
この構成により、検査点の挿入禁止箇所（ブロック）や論理回路の指定が可能となるので、例えば、ＬＳＩ設計でスキャン化しない方針のブロックや論理回路への検査点挿入を防ぐことができる。
【００７４】
本発明の請求項２７に記載の設計装置の設計方法は、請求項１８又は２５に記載の設計方法であって、前記設計装置が、さらに、前記論理回路の検査点挿入許可情報を入力する許可情報入力ステップと、前記ＵＣ故障の集合の情報が、前記検査点挿入許可情報に含まれるか否かを判断する判断ステップと、前記ＵＣ故障の集合の情報のうち、前記検査点挿入許可情報に含まれないＵＣ故障を除いたＵＣ故障のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路に信号を送信するフリップフロップの出力端子から一番論理段数が少ない位置のＵＣ故障に接続される信号線に検査点を挿入する第３検査点挿入ステップと、を有する。
【００７５】
この構成により、検査点の挿入許可箇所（ブロック）や論理回路の指定が可能となる。
【００７６】
本発明の請求項２８に記載の設計装置の設計方法は、請求項１９に記載の設計方法であって、前記設計装置が、さらに、前記検査点の挿入すべき数値の情報を入力する数値情報入力ステップと、複数存在する前記ＵＯ故障の各々に関して、前記ＵＯ故障と前記ＵＯ故障と等価とされる未検出故障数の和を算出する未検出故障数和算出ステップと、前記和の大きい順に、かつ前記検査点を挿入する数値の情報と同等の個数まで、前記ＵＯ故障に検査点を挿入する第２検査点挿入ステップと、を有する設計方法。
【００７７】
この構成により、挿入する検査点数を設定できるので、検査点が占有するチップ面積の概算がわかる。
【００７８】
本発明の請求項２９に記載の設計装置の設計方法は、請求項１９又は２８に記載の設計方法であって、前記設計装置が、さらに、前記論理回路の検査点挿入禁止情報を入力する禁止情報入力ステップと、前記ＵＯ故障の集合の情報が、前記検査点挿入禁止情報に含まれるか否かを判断する判断ステップと、前記ＵＯ故障の集合の情報のうち、前記検査点挿入禁止情報に含まれるＵＯ故障を除いたＵＯ故障のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路からの信号を受信するフリップフロップのデータ入力端子から一番論理段数が少ない位置のＵＯ故障に接続される信号線に検査点を挿入する第３検査点挿入ステップと、を有する。
【００７９】
この構成により、検査点の挿入禁止箇所（ブロック）や論理回路の指定が可能となる。
【００８０】
本発明の請求項３０に記載の設計装置の設計方法は、請求項１９又は２８に記載の設計方法であって、前記設計装置が、さらに、前記論理回路の検査点挿入許可情報を入力する許可情報入力ステップと、前記ＵＯ故障の集合の情報が、前記検査点挿入許可情報に含まれるか否かを判断する判断ステップと、前記ＵＯ故障の集合の情報のうち、前記検査点挿入許可情報に含まれないＵＯ故障を除いたＵＯ故障のうち、組合せ回路に信号を送信するフリップフロップと前記組合せ回路から出力される信号を受信するフリップフロップとの間の論理経路において、前記組合せ回路からの信号を受信するフリップフロップのデータ入力端子から一番論理段数が少ない位置のＵＯ故障に接続される信号線に検査点を挿入する第３検査点挿入ステップと、を有する。
【００８１】
この構成により、検査点の挿入許可箇所（ブロック）や論理回路の指定が可能となる。
【００８２】
本発明の請求項３１に記載の設計装置の設計方法は、請求項１８、２５、２６及び２７のいずれか一項に記載の設計方法であって、前記設計装置が、さらに、前記検査点を挿入する前の故障検出率情報を入力する故障検出率情報入力ステップと、前記検査点を挿入したＵＣ故障と前記ＵＣ故障と等価とされる未検出故障数の和を算出する第２未検出故障数和算出ステップと、前記算出された和の値を前記検査点挿入前の検出故障数に合算することで、前記検査点挿入後の故障検出率を算出する故障検出率算出ステップと、を有する。
【００８３】
この構成により、通常、数十時間の処理時間を要するＡＴＰＧを実施しなくても、検査点挿入後のおおよその故障検出率の算出が可能となる。
【００８４】
本発明の請求項３２に記載の設計装置の設計方法は、請求項１９、２８、２９及び３０のいずれか一項に記載の設計方法であって、前記設計装置が、さらに、前記検査点を挿入する前の故障検出率情報を入力する故障検出率情報入力ステップと、前記検査点を挿入したＵＯ故障と前記ＵＯ故障と等価とされる未検出故障数の和を算出する第２未検出故障数和算出ステップと、前記算出された和の値を前記検査点挿入前の検出故障数に合算することで、前記検査点挿入後の故障検出率を算出する故障検出率算出ステップと、を有する。
【００８５】
この構成により、通常、数十時間の処理時間を要するＡＴＰＧを実施しなくても、検査点挿入後のおおよその故障検出率の算出が可能となる。
【発明の効果】
【００８６】
本発明によれば、故障検出の向上に効果的な箇所に最小限の数を挿入することで、品質向上と低コストを両立できる。
【図面の簡単な説明】
【００８７】
【図１】第１の実施形態におけるＬＳＩ設計装置の構成を示すブロック図
【図２】検査点を挿入した後のネットリストとして出力される論理回路の例を示す図
【図３】第１の実施形態の適用前の図２に相当する論理回路の例を示す図
【図４】検査点の構成を示す回路図
【図５】自動検査点挿入処理の手順を示すフローチャート
【図６】第２の実施形態の適用前のネットリストである論理回路の例を示す図
【図７】一般的な検査点の構成を示す回路図
【図８】自動検査点挿入処理の手順を示すフローチャート
【図９】第３の実施形態の適用前のネットリストである論理回路の例を示す図
【図１０】一般的な検査点の構成を示す回路図
【図１１】自動検査点挿入処理の手順を示すフローチャート
【図１２】（Ａ），（Ｂ）は第４の実施形態の適用前のネットリストである論理回路の例を示す図
【図１３】自動検査点挿入処理の手順を示すフローチャート
【図１４】第５の実施形態における検査点を挿入した後のネットリストとして出力される論理回路の例を示す図
【図１５】自動検査点挿入処理の手順を示すフローチャート
【図１６】自動検査点挿入処理の手順を示すフローチャート
【図１７】第７の実施形態におけるＬＳＩ設計装置の構成を示すブロック図
【図１８】自動検査点挿入処理及び故障検出率計算処理の手順を示すフローチャート
【図１９】第５の実施形態に適用された場合の自動検査点挿入処理及び故障検出率計算処理の手順を示すフローチャート
【図２０】第６の実施形態に適用された場合の自動検査点挿入処理及び故障検出率計算処理の手順を示すフローチャート
【図２１】（Ａ），（Ｂ）は第９の実施形態の適用前のネットリストである論理回路を示す図
【図２２】自動検査点挿入処理の手順を示すフローチャート
【図２３】第１０の実施形態における検査点を挿入した後のネットリストとして出力される論理回路の例を示す図
【図２４】自動検査点挿入処理の手順を示すフローチャート
【図２５】自動検査点挿入処理の手順を示すフローチャート
【図２６】（Ａ），（Ｂ）は第１２の実施形態における検査点を挿入した後のネットリストとして出力される論理回路の例を示す図
【図２７】自動検査点挿入処理の手順を示すフローチャート
【図２８】第１３の実施形態における検査点を挿入した後のネットリストとして出力される論理回路の例を示す図
【図２９】自動検査点挿入処理の手順を示すフローチャート
【図３０】自動検査点挿入処理の手順を示すフローチャート
【図３１】自動検査点挿入処理及び故障検出率計算処理の手順を示すフローチャート
【図３２】自動検査点挿入処理及び故障検出率計算処理の手順を示すフローチャート
【発明を実施するための形態】
【００８８】
本発明に係る半導体集積回路の設計装置及び設計方法の実施形態について、図面を参照して説明する。以下説明する半導体集積回路の設計装置は、ネットリストとして出力される論理回路に検査点を自動で挿入するＬＳＩ設計装置に適用される。なお、以下説明する用語「論理回路」は、ＡＮＤやＯＲ、ＮＯＴ等といった少なくとも１つの論理ゲートを含む論理演算回路を意味する。
【００８９】
（第１の実施形態）
図１は、第１の実施形態におけるＬＳＩ設計装置の構成を示すブロック図である。ＬＳＩ設計装置５０は、ＡＴＰＧ部５１と、未検出故障リスト生成部５２と、入力部５３と、始点リスト生成部５４と、パスリスト生成部５５と、ＴＰＩリスト生成部５６と、検査点挿入部５７と、出力部５８とを備える。
【００９０】
ＡＴＰＧ部５１は、対象となる論理回路のネットリストと、検出したい故障のリストを入力すると、その故障を検出するためのテストパタンを自動的に生成する。未検出故障リスト生成部５２は、ＡＴＰＧ処理結果から、未検出故障リストを生成する。ここでは、未検出故障リストとして、ＡＵ（ＵＣ、ＵＯ）故障リストが生成される。入力部５３は、検査点挿入前のネットリスト及び未検出故障リストを入力する。
【００９１】
始点リスト生成部５４は、入力されたＡＵ（ＵＣ、ＵＯ）故障リストのうち、ＡＵ（ＵＣ、ＵＯ）故障だけを抽出してＡＵ（ＵＣ、ＵＯ）始点リストを生成する。パスリスト生成部５５は、トレースを行い、このトレース結果から、ＡＵ（ＵＣ、ＵＯ）始点から終点までの論理ゲートの接続関係をパスリストとして生成する。
【００９２】
ＴＰＩリスト生成部５６は、論理パス中の最終のＡＵ（ＵＣ、ＵＯ）箇所までトレースを行い、そのＡＵ（ＵＣ、ＵＯ）箇所の論理ゲートと端子をＴＰＩリストとして生成する。検査点挿入部５７は、端子に接続されている信号線に検査点を挿入する。出力部５８は、検査点挿入後のネットリストを出力する。
【００９３】
図２は、検査点を挿入した後のネットリストとして出力される論理回路の例を示す図である。図２に示す論理回路１００は、複数の論理ゲートの端子が信号線で接続された論理回路であり、ブラックボックス（以下「ＢＢ」という）ＢＬＫ１、組合せ回路や順序回路で構成される論理回路ＢＬＫ２、非スキャン化されたフリップフロップ（以下「ＮＦＦ」という）等を含む論理回路ＢＬＫ３、スキャンモード設定用論理回路１５１、及びＩＯ端子ＩＯ１を有する。
【００９４】
ＩＯ端子ＩＯ１は、スキャンモード状態に設定する信号であって、かつ、論理回路ＢＬＫ２へ信号を印加する外部入力端子である。
【００９５】
論理回路ＢＬＫ２を構成する論理回路は、スキャンフリップフロップ（以下「ＳＦＦ」という）（１）１０と、３入力の論理ゲート１１と、１入力の論理ゲート１２と、１入力の論理ゲート１３と、本実施形態の適用後に挿入される検査点１（以下「ＴＰ１」という）１４と、本実施形態の適用後に挿入される検査点２（以下「ＴＰ２」という）１５と、２入力の論理ゲート１６と、１入力の論理ゲート１７とを有する。各論理ゲートはそれぞれ信号線で接続されている。
【００９６】
論理回路ＢＬＫ３を構成する論理回路は、１入力の論理ゲート１８と、本実施形態の適用後に挿入される検査点３（以下「ＴＰ３」という）１９と、ＮＦＦ１１０と、２入力の論理ゲート１１１と、１入力の論理ゲート１１２と、ＳＦＦ（２）１１３と、１入力の論理ゲート１１４と、ＳＦＦ（３）１１５とを有する。
【００９７】
図２の各論理回路の中に記載されている、符号ＡＵ１〜ＡＵ３は、ＡＴＰＧツール（ＡＴＰＧ部５１）でＡＵ故障と判断された論理ゲートの端子である。また、符号ＥＱ１〜ＥＱ２０は入力側のＡＵ故障と等価、つまりＡＵ故障と同じであると判断された論理ゲートの端子である。なお、「ＡＵ故障」とは、該当する論理ゲートの端子の故障（０又は１にショートしたと仮定した故障）を検出するためのテストパタンを生成することができない故障のことである。
【００９８】
図３は、第１の実施形態の適用前の図２に相当する論理回路の例を示す図である。図３に示す論理回路４５０は、複数の論理回路が信号線で接続された論理回路である。論理回路４５０は、論理回路ＢＬＫ４０１と、組合せ回路や順序回路で構成される論理回路ＢＬＫ４０２と、ＮＦＦ等を含む論理回路ＢＬＫ４０３と、スキャンモード設定用論理回路４５１と、ＩＯ端子４０とを有する。
【００９９】
ＩＯ端子４０は、スキャンモード状態に設定する信号を論理回路ＢＬＫ４０２に印加するための外部入力端子である。
【０１００】
論理回路ＢＬＫ４０２を構成する論理回路は、ＳＦＦ（１）４００、３入力の論理ゲート４０１、１入力の論理ゲート４０２、１入力の論理ゲート４０３、２入力の論理ゲート４０６、及び１入力の論理ゲート４０７である。これらの論理ゲートはそれぞれ信号線で接続されている。
【０１０１】
論理回路ＢＬＫ４０３を構成する論理回路は、１入力の論理ゲート４０８、ＮＦＦ４０１０、２入力の論理ゲート４０１１、１入力の論理ゲート４０１２、ＳＦＦ（２）４０１３、１入力の論理ゲート４０１４、及びＳＦＦ（３）４０１５である。これらの論理ゲートはそれぞれ信号線で接続されている。
【０１０２】
図３の各論理ゲートの中に記載されている、符号ＡＵ１〜ＡＵ３は、ＡＴＰＧツールでＡＵ故障と判断された論理ゲートの端子である。また、符号ＥＱ１〜ＥＱ２０は、入力側のＡＵ故障と等価、つまりＡＵ故障と同じであると判断された論理ゲートの端子である。
【０１０３】
まず、図３の論理回路に対するＡＴＰＧ処理から説明する。ＡＴＰＧツール（ＡＴＰＧ部５１）は、ＳＦＦ（２）４０１３やＳＦＦ（３）４０１５等のスキャンチェーン接続されているＳＦＦ（図３では、スキャンチェーンの記載は省略されている）に対し、スキャンチェーン経由で任意の値を設定し、その設定値に応じた論理出力をＳＦＦ（１）４００で取り込み、その値をスキャンチェーン経由で出力する。この出力された論理出力を外部出力端子で観測することで、ＳＦＦ（２）４０１３やＳＦＦ（３）４０１５からＳＦＦ（１）４００までの間の論理パス上の論理ゲートの故障検出が行われる。
【０１０４】
しかし、スキャンチェーンに接続されていないブラックボックスＢＬＫ４０１、ＮＦＦ４０１０、及びＡＴＰＧを実施するスキャンモードに固定されたＩＯ端子４０については、任意の値を設定することができない。このため、ブラックボックスＢＬＫ４０１とＮＦＦ４０１０から不定値が、また、ＩＯ端子４０から固定値が出力される。したがって、ブラックボックスＢＬＫ４０１、ＮＦＦ４０１０、ＩＯ端子４０とＳＦＦ４００との間の論理パスには、故障検出ができない箇所ができてしまう。
【０１０５】
ＡＴＰＧツールは、ブラックボックスＢＬＫ４０１に接続されている論理ゲート４０３の入力端子をＡＵ故障と判断し、出力端子をＡＵ故障と等価のＥＱ故障と判断する。さらに、ＡＴＰＧツールは、論理ゲート４０３の出力に接続される論理ゲート４０２や、その論理ゲート４０２が接続されている論理ゲート４０１の端子（ＬＳＩでは、論理ゲート４０１の入力ゲート）に対してもＡＵ故障と等価のＥＱ故障と判断する。
【０１０６】
また、ＩＯ端子４０は、スキャンモードに設定するために、値１に固定されなければならない設計の場合、値１に固定されると、例えば論理ゲート４０１がＯＲゲートの場合、ＯＲゲートの出力は値１にしかならない。このため、ＡＴＰＧツールは、その出力信号が値１にショートしたような故障検出が不可能であると判断する。
【０１０７】
さらに、ＮＦＦ４０１０は、スキャンチェーンに接続されていないので、その出力が不定となる。したがって、論理ゲート４０８及び論理ゲート４０７はＡＵ故障又はＥＱ故障となる。
【０１０８】
また、ＳＦＦ（２）４０１３とＳＦＦ（３）４０１５はＳＦＦであるので、ＡＴＰＧツールは、値を任意に設定して、故障検出可能なはずである。しかし、論理ゲート４０６がＯＲゲートの場合、ＮＦＦ４０１０が論理ゲート４０７を経由して接続されているＯＲゲートの入力には不定な信号が印加されるため、その出力は値１にしかならず、値１にショートしている故障を検出することができない。
【０１０９】
このように、ＢＢ、ＮＦＦ、固定された外部ＩＯ端子があることで、図３の例では、本来の故障検出すべき箇所のうち、半分程度しか故障検出することができないので、回路品質が大きく低下することになる。これは、ＬＳＩ製造過程で、配線や論理ゲートの入力ゲートや出力箇所に発生する可能性がある、物理的な欠陥を検査するためのテストパタンを生成することができなくなることに繋がり、ＬＳＩ内の該当部の検査ができないことから不良品を出荷してしまう可能性が高くなるからである。
【０１１０】
次に、図２を用いて第１の実施形態のＬＳＩ設計装置について説明する。論理回路の構成は、検査点１４、検査点１５及び検査点１９以外、図３と同様である。
【０１１１】
ＬＳＩ設計装置５０は、図３のネットリストを用いてＡＴＰＧ処理を行い、その結果をもとに、ＢＢ、ＩＯ端子、ＮＦＦにおいて、一番論理段数の少ないＡＵ故障箇所の信号線に対し、検査点を挿入する。そして、検査点を挿入した後の論理回路は図２に示すとおりである。
【０１１２】
ＡＴＰＧ処理では、図３の説明と同様、スキャンモード時に、図２の論理ゲート１３の入力端子がＡＵ故障と判断される。これは、ＢＢから出力される値が不定なためである。ここで、論理ゲート１３の入力端子が接続されている、実動作経路１１６に検査点を挿入する。
【０１１３】
図４は、検査点の構成を示す回路図である。検査点には、一般的に図４に示すような構成の回路が使用される。検査点１４はＳＦＦ１８１とセレクタ１８２で主に構成される。なお、検査点１５、１９も同様の構成を有する。
【０１１４】
ＳＦＦ１８１には、スキャンチェーンが接続され、テストデータが入力されるＤＴ端子、データを入力するＤ端子、クロック端子、及び受信したデータを出力するＱ端子が設けられる。ＳＦＦ１８１では、ＳＦＦ自身の故障を検出するために、Ｄ端子はＱ端子に接続されている。
【０１１５】
セレクタ１８２には、実動作の信号経路２が接続される０端子とＳＦＦ１８１のＱ端子が接続される１端子、及び実動作の信号経路１が接続されるＹ端子が設けられる。
【０１１６】
検査点１４は、破線で示されており、検査点挿入前、実動作の信号経路１と信号経路２は直結されているので、実動作の信号経路に割り込むように挿入される。
【０１１７】
検査点を挿入する場合、検査点１４では、図４における実動作の信号経路１を実動作経路１１６に接続し、図４における実動作の信号経路２を実動作経路１１７に接続する。スキャンモード時、検査点のセレクト信号は、スキャンモードで値１になるので、セレクタ１８２の１端子側を選択することで、ブラックボックス（ＢＢ）ＢＬＫ１からの不定値を遮断する。
【０１１８】
この時、検査点１４のＳＦＦ１８１には、スキャンインからＡＴＰＧツールが設定した値が入力され、この値がセレクタの１端子を経由して実動作の信号経路１、つまり、実動作経路１１６に供給される。この検査点１４の挿入により、ＡＴＰＧツールは、任意の値を論理ゲート１３に設定できるようになるので、論理ゲート１３はＡＵ故障ではなくなるとともに、論理ゲート１２はＥＱ故障でなくなり、故障検出が可能な状況になる。
【０１１９】
本実施形態では、ブラックボックス（ＢＢ）ＢＬＫ１に一番近いＡＵ故障箇所に検査点を挿入することで、２つの論理ゲートの故障検出が可能となる。実際のＬＳＩでは、論理ゲート１３，１２に相当する論理段数が数十段になる場合もあるので、１つの検査点で数十段分の故障検出が可能となる。したがって、このような検査点の挿入は、製品の品質向上につながり、かつ、チップ面積の点で非常に効率的である。
【０１２０】
また、ＩＯ端子ＩＯ１は、スキャンモードに設定するために、値１に固定される。ＡＵ故障と判定された論理ゲート１１のＡＵ３端子も、ＩＯ端子から一番論理段数の少ないＡＵ故障箇所の信号線に検査点１５を挿入することで、故障検出可能な状態となる。すなわち、ＡＴＰＧツールが検査点１５内のＳＦＦ経由で、論理ゲート１１のＡＵ３端子に対し、任意に値を設定することで、論理ゲート１１は故障検出可能な状態となる。
【０１２１】
なお、このとき、スキャンモード設定用論理回路１５１に検査点を挿入しないのは、検査点をスキャンモード設定用論理回路１５１に挿入すると、ＡＴＰＧツールの設定によって、ＡＴＰＧモードの設定から外れてしまうことを防ぐためである。この詳細については、後述する実施形態において説明する。
【０１２２】
また、検査点１９も、検査点１５と同様、ＮＦＦ１１０に一番近いＡＵ故障箇所の論理ゲート１８の信号線に挿入することで、効率的に故障検出が可能になる。これにより、論理ゲート１６のＥＱ８端子は、ＡＴＰＧツールで任意の値に設定できるようになった。したがって、論理ゲート１６のＥＱ６端子が接続されている論理ゲート１１１，１１２，１１４の論理出力は、ＳＦＦ１１３とＳＦＦ１１５で設定された任意の値により値を論理ゲート１６の先まで伝播できるようになり、これらの故障検出が可能な状態となった。
【０１２３】
このように、検査点１４，１５，１９の挿入により、論理ゲート１１の入力値はＡＴＰＧツールで任意に設定できるようになったことで、確実に全ての論理ゲートの出力値がＳＦＦ１０に伝播されるようになり、その値を外部端子で観測できるようになった。
【０１２４】
また、検査点はＡＵ故障の発生源に最も近い箇所に挿入されるので、検査点の挿入数に対し、検出が可能になった未検出故障の割合が最大となる。このため、コスト面や品質面で非常に有利である。本実施形態の検査点の挿入を用いない場合、これらのＡＵやＥＱのどこかに検査点を挿入することになり、かつ、複数の検査点を挿入する可能性もある。したがって、効率的な検査点の挿入とはならない。
【０１２５】
ＬＳＩ設計装置５０は、検査点挿入部５７により、この検査点を挿入したネットリストを出力し、次の工程で使用する。
【０１２６】
図５は、自動検査点挿入処理の手順を示すフローチャートである。ＬＳＩ設計装置５０は、まず、予めネットリスト（図３参照）に対してＡＴＰＧ処理を行い、未検出故障リストを生成しておく（ステップＳ１）。ネットリストとは、ＬＳＩを構成する複数の論理ゲートとそれらを接続する信号線等で構成される。また、未検出故障リストとは、故障検出が不可能な論理ゲートとその端子群のリスト（ＡＵ故障リスト）や、故障検出に必要な値の観測が困難であるために故障検出処理を打ち切った論理ゲートとその端子群のリスト（ＵＯ故障リスト）や、故障検出に必要な論理ゲートの入力値の制御が困難であるために故障検出処理を打ち切った論理ゲートとその端子群のリスト（ＵＣ故障リスト）等である。これらのリストは、「ＡＵ  インスタンス名／端子名」、「ＵＯ  インスタンス名／端子名」や「ＵＣ  インスタンス名／端子名」という記述の羅列である。
【０１２７】
ＬＳＩ設計装置５０は、ネットリストと、ステップＳ１で生成した未検出故障リストを入力する（ステップＳ２）。ここでは、未検出故障リストとして、ＡＵ故障リストを指す。
【０１２８】
ＬＳＩ設計装置５０は、入力されたＡＵ故障リスト中に存在する、ＡＵ故障とそれと等価な故障（ＥＱ故障）のうち、ＡＵ故障だけを抽出し、ＡＵ始点リストを生成する（ステップＳ３）。ここで、ＥＱ故障は、故障リスト中に「ＥＱ  インスタンス名／端子名」等で記載されている。
【０１２９】
ＬＳＩ設計装置５０は、ＡＵ始点リストを用いてパスリストを生成する（ステップＳ４）。このパスリストの生成では、ＡＵ始点リストに記載されている、１つのＡＵの論理ゲートの端子について、まず、その端子の入力方向へのトレースを行う。このトレースは、ＳＦＦ、ＮＦＦ、ＢＢ、ＩＯ端子（ここでは、それらを終点という言葉で表す）に到達するまで行われる。ＬＳＩ設計装置５０は、このトレース結果から、ＡＵ始点から終点までの論理ゲートの接続関係をパスリストとして生成する。ＬＳＩ設計装置５０は、ＡＵ始点リストに記載されている残りのＡＵ全てに関しても、同様にトレースを行い、パスリストに記載する。
【０１３０】
ＬＳＩ設計装置５０は、ＡＵの発生源の特定を行う（ステップＳ５）。まず、ＬＳＩ設計装置５０は、パスリスト内の１つのパスに関して、ＡＵ始点の論理ゲートの端子から、その端子の入力方向へのトレースを最初のＡＵ発生源まで行う。ここで、ＡＵ発生源とは、ＮＦＦ、ＢＢやＩＯ端子である。
【０１３１】
ＬＳＩ設計装置５０は、ステップＳ５でトレースした論理パスを、逆方向に、つまりＡＵ発生源の論理ゲートの端子の出力方向にトレースする（ステップＳ６）。このトレースは、論理パス中の最初のＡＵ箇所まで行われる。ＬＳＩ設計装置５０は、そのＡＵ箇所の論理ゲートと端子をＴＰＩリストとして生成する。
【０１３２】
ＬＳＩ設計装置５０は、ステップＳ５，６のトレースがパスリスト中の全てのパスで行われたか否かを判断する（ステップＳ７）。全てのパスでトレースが行われていない場合、ＬＳＩ設計装置５０は、再度、ステップＳ５、Ｓ６でパスリストに記載されているパスに対してトレースを行う。一方、全てのパスでトレースが行われている場合、ＬＳＩ設計装置５０は、ＴＰＩリストを完成させたとして、ステップＳ８の処理に進む。
【０１３３】
ＬＳＩ設計装置５０は、ＴＰＩリストに記載されているＡＵ箇所の論理ゲートと端子に関し、端子に接続されている信号線に検査点を挿入する（ステップＳ８）。そして、ＬＳＩ設計装置５０は、検査点挿入後のネットリストを出力する（ステップＳ９）。この後、ＬＳＩ設計装置５０は、自動検査点挿入処理を終了する。
【０１３４】
ここで、本フローチャートにおける効率化の観点について説明を追加する。通常、ＡＵ故障は、ＬＳＩの規模にもよるが、数万箇所から数十万箇所と非常に多く存在する。これら全ての箇所に検査点を挿入することは、ＬＳＩのコスト面から現実的ではない。
【０１３５】
このため、検査点の挿入を最小限にし、かつ、故障検出能力を最大限に高めることが重要となる。また、ＡＵ故障箇所が多いため、検査点挿入箇所を特定するためのコンピュータ処理の負荷も非常に重くなる。これら検査点挿入の効率化、及び処理の軽減を実現するための方法として、ステップＳ５、Ｓ６の処理について説明を追加する。
【０１３６】
まず、ステップＳ５の処理では、処理負荷の軽減について説明する。ＡＵ論理ゲートは、ＬＳＩの規模によって数万箇所から数十万箇所になるが、その１つ１つを入力方向にトレースすると、膨大な処理時間とメモリが必要となり、コンピュータ処理が現実的ではなくなる。
【０１３７】
このため、まず、ＡＵ論理ゲートの端子の入力方向へトレースを行う際、トレースした論理ゲートの端子には、プログラム内でフラグを立てることにする。
【０１３８】
次に、残りのパスリスト中のパスに関してトレースを行うが、その際、フラグが立っている論理ゲートの端子がＡＵ始点の場合、そのＡＵ始点のトレースを行わない。また、トレース過程でフラグが立っている論理ゲートの端子が出現した場合、２つの方法がある。１つは、そのフラグから入力方向のトレースを破棄し、現在のトレースを有効としてＡＵ発生源までトレースし、ＡＵの原因となっている論理ゲートの端子を特定する。
【０１３９】
もう１つは、既存のフラグから入力方向へのトレース結果と、既存のトレースを発見した現在のトレース結果を足し合わせることで、ＡＵ発生源を特定する。このことにより、ある論理パスに重複するＡＵ論理ゲートの端子があった場合、重複するトレースを行わないので、処理負荷を軽減しつつ、ＡＵ発生源を特定することができる。
【０１４０】
また、ステップＳ６の処理では、検査点挿入の効率化について説明する。通常、論理パス中にＡＵ箇所がある場合、その影響を受け、ＡＵ箇所に接続する出力側の後段の論理ゲートもＡＵとなり、それが、次の後段へと続いていく。あるＡＵ論理ゲートからＡＵ発生源までの論理ゲートの経路中に、複数のＡＵ論理ゲートが存在する場合、一番、ＡＵ発生源に近いＡＵ論理ゲートの端子に接続されている信号線に検査点を挿入し、故障を検出することで、そのＡＵ論理ゲートの後段に存在するＡＵ論理ゲートも故障を検出できる可能性が出てくる。
【０１４１】
このことにより、少ない検査点の挿入で、多くの未検出箇所を検出できるようになる。検査点挿入後のネットリストで、再度、ＡＴＰＧ処理を行ったとき、仮に前記論理経路にＡＵ論理ゲートが残っている場合、再度、本実施形態のステップを実行することで、未検出故障を検出できるようになる。
【０１４２】
（第２の実施形態）
第２の実施形態のＬＳＩ設計装置の構成は第１の実施形態と同様であるので、その説明を省略する。
【０１４３】
図６は、第２の実施形態の適用前のネットリストである論理回路の例を示す図である。図６に示す論理回路２００は、信号受信のスキャンフリップフロップ（以下「受信ＳＦＦ」という）２０１と、２入力の論理ゲート２０２と、１入力の論理ゲート２０３と、３入力の論理ゲート２０４と、２入力の論理ゲート２０５と、２入力の論理ゲート２０６と、組合せ論理回路群２０７と、信号送信のスキャンフリップフロップ（以下「送信ＳＦＦ」という）２０８とを有する。このように、論理回路２００は、組み合わせ回路及び順序回路から構成される。また、図６には、検査点２０９の挿入箇所が示されている。
【０１４４】
また、ＵＣ故障は、論理ゲート２０６の入力端子において制御性が悪いために故障検出が打ち切られた故障（以下「ＵＣ」という）を表す。また、ＥＱ故障は各論理ゲートの入力端子と出力端子でＵＣ故障と等価な故障の箇所を表す。
【０１４５】
ＬＳＩ設計装置５０において、検査点挿入前の図６のネットリストを用いてＡＴＰＧ処理を実施すると、組合せ論理回路群２０７中の何らかの要因で論理ゲート２０６の入力端子の故障検出のための制御性が悪く、ＡＴＰＧ処理が打ち切られる。この場合、論理ゲート２０６の入力端子はＵＣ故障と判断される。
【０１４６】
また、論理ゲート２０６の出力端子から論理ゲート２０２の入力端子への信号経路の各論理ゲートの入力端子と出力端子はＥＱ故障と判断され、故障検出ができない。このような場合、ＬＳＩ設計装置５０は、検査点挿入前のネットリストと、このＡＴＰＧ処理の際に出力される故障リストを用いて、送信ＳＦＦ２０８の出力端子Ｑから最も論理段数が少ないＵＣ故障の端子が接続されている信号線に検査点を挿入する。
【０１４７】
図７は、一般的な検査点の構成を示す回路図である。検査点２０９は、ＳＦＦ２５２とセレクタ２５１で構成される。ＳＦＦ２５２には、スキャンチェーンが接続され、テストデータが入力されるＤＴ端子、実動作データが入力されるＤ端子、クロック端子、及び受信したデータを出力するＱ端子が設けられる。
【０１４８】
なお、Ｄ端子は、実動作の信号経路２に接続され、その故障を観測する。また、セレクタ２５１には、実動作の信号経路２が接続される０端子、ＳＦＦ２５２のＱ端子が接続される１端子、及び実動作の信号経路１が接続するＹ端子が設けられる。
【０１４９】
実動作の信号経路１、２は検査点挿入前に直結されているので、検査点２０９を実動作の信号経路に割り込ませる。すなわち、検査点２０９を挿入する場合、実動作の信号経路１、２を検査点２０９の信号線の箇所に割り込ませるようにする。
【０１５０】
スキャンモード時、検査点２０９のセレクト信号はスキャンモードで値１になるので、ＬＳＩ設計装置５０は、セレクタ２５１の１端子側を選択することで、組合せ論理群７からの信号を遮断する。
【０１５１】
検査点２０９のＳＦＦ２５２には、スキャンインからＡＴＰＧツールが設定する値が入力されると、この値がセレクタ２５１の１端子を経由して実動作の信号経路１、つまり、論理ゲート２０６に供給される。この検査点の挿入により、ＡＴＰＧツールは、任意の値を論理ゲート２０６に設定できるようになるので、制御性が良くなる。したがって、ＵＣ故障自体が無くなり、論理ゲート２０６から論理ゲート２０２の等価な故障であるＥＱ故障も無くなる。
【０１５２】
ＡＴＰＧツールが設定した値に応じた論理ゲートの出力値は、受信ＳＦＦ２０１で取り込まれ、スキャンチェーンに出力され、外部端子で観測される。これにより、故障検出が可能になる。
【０１５３】
本実施形態のＬＳＩ設計装置によれば、送信ＳＦＦ２０８のＱ端子から論理段数が一番少ない箇所にあるＵＣ箇所の信号線に１つの検査点２０９を挿入することで、８つの論理の故障検出が可能となる。したがって、製品の品質向上に繋がり、かつ、チップ面積の点で非常に効率的である。一方、本実施形態の検査点の挿入を用いない場合、これらのＵＣ箇所やＥＱ箇所のどこかに検査点を挿入することになり、かつ、複数の検査点を挿入する可能性もあるので、効率的な検査点の挿入とはならない。
【０１５４】
この後、ＬＳＩ設計装置５０は、この検査点２０９を挿入したネットリストを出力し、次の工程で使用する。
【０１５５】
図８は、自動検査点挿入処理の手順を示すフローチャートである。ＬＳＩ設計装置５０は、まず、予めネットリスト（図６参照）に対してＡＴＰＧ処理を行い、未検出故障リストを生成しておく（ステップＳ１１）。
【０１５６】
ここで、ネットリストとは、ＬＳＩを構成する複数の論理回路とそれらを接続する信号線等で構成される。また、未検出故障リストとは、故障検出が不可能な論理ゲートとその端子群のリスト（ＡＵ故障リスト）や、故障検出に必要な値の観測が困難であるために故障検出処理を打ち切った論理ゲートとその端子群のリスト（ＵＯ故障リスト）や、故障検出に必要な論理ゲートの入力値の制御が困難であるために故障検出処理を打ち切った論理ゲートとその端子群のリスト（ＵＣ故障リスト）等である。これらのリストは、「ＡＵ  インスタンス名／端子名」、「ＵＯ  インスタンス名／端子名」や「ＵＣ  インスタンス名／端子名」という記述の羅列である。
【０１５７】
ＬＳＩ設計装置５０は、ネットリストと、ステップＳ１１で生成した未検出故障リストを入力する（ステップＳ１２）。ここでは、未検出故障リストとして、ＵＣ故障リストの場合を示す。ＬＳＩ設計装置５０は、入力されたＵＣ故障リスト中に存在する、ＵＣ故障数とそれと等価な故障（ＥＱ故障）数を合算し、その数が多い順にＵＣ故障のみを抽出してＵＣ始点リストを生成する（ステップＳ１３）。ここで、ＥＱ故障は、故障リスト中に「ＥＱ  インスタンス名／端子名」等で記載されている。
【０１５８】
ＬＳＩ設計装置５０は、ＵＣ始点リストを用いてパスリストを生成する（ステップＳ１４）。このパスリストの生成では、ＵＣ始点リストに記載されている、１つのＵＣの論理ゲートの端子について、その端子の入力方向へ送信ＳＦＦ間までのトレースを行う。ここで、送信ＳＦＦは、具体的に図６の送信ＳＦＦ２０８である。ＬＳＩ設計装置５０は、このトレース結果から、トレース結果をＵＣ始点から送信ＳＦＦまでの論理ゲートの接続関係をパスリストとして生成する。ＬＳＩ設計装置５０は、ＵＣ始点リストに記載されている残りのＵＣ故障全てに関しても、同様にトレースを行い、パスリストに記載する。
【０１５９】
ＬＳＩ設計装置５０は、パスリスト内の１つのパスに関し、送信ＳＦＦ２０８の出力端子に論理段数が最も少ない箇所にあるＵＣの論理（つまり、最も送信ＳＦＦに近いＵＣ論理）の端子をＴＰＩリストとして抽出する（ステップＳ１５）。
【０１６０】
ＬＳＩ設計装置５０は、ステップＳ１５でトレースがパスリスト中の全てのパスで行われたか否かを判断する（ステップＳ１６）。全てのパスでトレースが行われていない場合、ＬＳＩ設計装置５０は、再度、ステップＳ１５でパスリストに記載されているパスに対してトレースを行う。一方、全てのパスでトレースが行われている場合、ＬＳＩ設計装置５０は、ＴＰＩリストを完成させたとして、ステップＳ１７の処理に進む。
【０１６１】
ＬＳＩ設計装置５０は、ＴＰＩリストに記載されているＵＣ箇所の論理ゲートと端子に関し、端子に接続されている信号線に検査点を挿入する（ステップＳ１７）。そして、ＬＳＩ設計装置５０は、検査点挿入後のネットリストを出力する（ステップＳ１８）。この後、ＬＳＩ設計装置５０は、自動検査点挿入処理を終了する。
【０１６２】
ここで、本フローチャートにおける効率化の観点について説明を追加する。ステップＳ１５では、通常、論理パス中にＵＣ故障がある場合、その影響を受けて、ＵＣ故障に接続される出力側の後段の論理ゲートもＵＣ故障となり、それが、次の後段へと続いていく。これらの故障をＥＱ故障という。あるＵＣ論理ゲートから送信ＳＦＦまでの論理経路中に、複数のＵＣ論理ゲートが存在する場合、送信ＳＦＦに最も近いＵＣ論理ゲートの端子に接続されている信号線に検査点を挿入し、故障を検出することで、そのＵＣ論理ゲートの後段に存在するＥＱ故障も検出できる可能性が出てくる。
【０１６３】
また、ステップＳ１３では、ＵＣ故障数とそれと等価なＥＱ故障数を合算し、その数が多い順にＵＣ故障のみを抽出してＵＣ始点リストを生成する。これは、前述したステップＳ１５における効率化の説明で示したように、多くのＥＱ故障を従えるＵＣ故障箇所に検査点を挿入することで、１つの検査点で多くのＥＱ故障が効率的に検出できるようになる。
【０１６４】
このように、ステップＳ１３、Ｓ１５を使うことで、少ない検査点の挿入で、多くの未検出箇所を検出できるようになる。検査点挿入後のネットリストで再度ＡＴＰＧ処理を行ったときに、仮に前記論理経路にＵＣ論理が残っている場合、再度、本実施形態のステップ処理を実行することで、未検出故障を検出できるようになる。
【０１６５】
（第３の実施形態）
第３の実施形態のＬＳＩ設計装置の構成は第１の実施形態と同様であるので、その説明を省略する。
【０１６６】
図９は、第３の実施形態の適用前のネットリストである論理回路の例を示す図である。図９に示した論理回路３００は、信号受信のスキャンフリップフロップ（以下「受信ＳＦＦ」という）３０１と、２入力の論理ゲート３０２と、１入力の論理ゲート３０３と、３入力の論理ゲート３０４と、２入力の論理ゲート３０５と、２入力の論理ゲート３０６と、組合せ論理回路群３０７と、信号送信のスキャンフリップフロップ（以下「送信ＳＦＦ」という）３０８とを有する。図９には、検査点３０９の挿入箇所が示されている。
【０１６７】
また、ＵＯ故障は、論理ゲート３０６の入力端子において観測性が悪いために故障検出が打ち切られた故障（以下「ＵＯ」ともいう）を表す。また、ＥＱ故障は、各論理ゲートの入力端子と出力端子でＵＯ故障と等価な故障を表す。
【０１６８】
ＬＳＩ設計装置５０において、検査点挿入前の図９のネットリストを用いてＡＴＰＧ処理を実施すると、組合せ論理回路群３０７中の何らかの要因で論理ゲート３０２の入力端子の故障検出のための観測性が悪く、ＡＴＰＧ処理が打ち切られる場合を示す。この場合、論理ゲート３０２の入力端子はＵＯ故障と判断される。
【０１６９】
また、論理ゲート３０３の出力端子から論理ゲート３０２の入力端子への信号経路の各論理ゲートの入力端子と出力端子はＥＱ故障と判断され、故障検出ができない。このような場合、ＬＳＩ設計装置５０は、検査点挿入前のネットリストと、このＡＴＰＧ処理の際に出力される故障リストを用いて、受信ＳＦＦ３０１の入力端子Ｄから最も論理段数が少ないＵＯの端子が接続されている信号線に検査点３０９を挿入する。
【０１７０】
図１０は、一般的な検査点の構成を示す回路図である。検査点３０９は、ＳＦＦ３５１で構成される。ＳＦＦ３５１には、スキャンチェーンが接続され、テストデータが入力されるＤＴ端子、実動作データが入力されるＤ端子、クロック端子、受信したデータをスキャンチェーンに出力するＱ端子が設けられる。
【０１７１】
なお、Ｄ端子は、実動作の信号経路に接続され、その故障を観測する。検査点３０９は、図１０の破線で囲まれた部分であり、ＳＦＦ３５１のＤ端子は実動作信号経路に接続される。図９において検査点３０９を挿入する場合、図１０の実動作の信号経路を、検査点３０９の信号線の箇所に直結するように挿入する。
【０１７２】
この検査点の挿入により、検査点３０９のＳＦＦ３５１が実動作の信号経路の値をＤ端子経由で取り込むことで、スキャンチェーン経由で観測できるようになり、ＵＯ故障は無くなる。また、論理ゲート３０３から論理ゲート３０６の等価故障のＥＱ故障も、この検査点３０９のＳＦＦ３５１で観測できるようになるので、無くなる。
【０１７３】
本実施形態のＬＳＩ設計装置によれば、受信ＳＦＦ３０１のＤ端子から論理段数が一番少ない箇所にあるＵＯ箇所の信号線に１つの検査点を挿入することで、７つの論理ゲートの故障検出が可能となる。したがって、製品の品質向上に繋がり、かつ、チップ面積の点で非常に効率的である。本実施形態の検査点の挿入を用いない場合、これらのＵＯやＥＱのどこかに検査点を挿入することになり、かつ、複数の検査点を挿入する可能性もあるので、効率的な検査点の挿入とはならない。
【０１７４】
そして、ＬＳＩ設計装置５０は、この検査点を挿入したネットリストを出力し、次の工程で使用する。
【０１７５】
図１１は、自動検査点挿入処理の手順を示すフローチャートである。ＬＳＩ設計装置５０は、まず、予めネットリスト（図９参照）に対してＡＴＰＧ処理を行い、未検出故障リストを生成しておく（ステップＳ２１）。
【０１７６】
ネットリストとは、ＬＳＩを構成する複数の論理ゲートとそれらを接続する信号線等で構成される。また、未検出故障リストとは、故障検出が不可能な論理ゲートとその端子群のリスト（ＡＵ故障リスト）や、故障検出に必要な値の観測が困難であるために故障検出処理を打ち切った論理ゲートとその端子群のリスト（ＵＯ故障リスト）や、故障検出に必要な論理ゲートの入力値の制御が困難であるために故障検出処理を打ち切った論理ゲートとその端子群のリスト（ＵＣ故障リスト）等である。これらのリストは、「ＡＵ  インスタンス名／端子名」、「ＵＯ  インスタンス名／端子名」や「ＵＣ  インスタンス名／端子名」という記述の羅列である。
【０１７７】
ＬＳＩ設計装置５０は、ネットリストと、ステップＳ２１で生成した未検出故障リストを入力する（ステップＳ２２）。ここでは、未検出故障リストとして、ＵＯ故障リストを指す。ＬＳＩ設計装置５０は、入力されたＵＯ故障リスト中に存在する、ＵＯ故障数とそれと等価な故障（ＥＱ故障）数を合算し、その数が多い順にＵＯ故障のみを抽出してＵＯ始点リストを生成する（ステップＳ２３）。ここで、ＥＱ故障は、故障リスト中に「ＥＱ  インスタンス名／端子名」等で記載されている。
【０１７８】
ＬＳＩ設計装置５０は、ＵＯ始点リストを用いてパスリストを生成する（ステップＳ２４）。このパスリストの生成では、ＵＯ始点リストに記載されている、１つのＵＯ故障の論理ゲートの端子について、その端子の入力方向へ送信ＳＦＦ間までのトレースを行う。ここで、送信ＳＦＦは具体的に図９の送信ＳＦＦ３０８であり、受信ＳＦＦは図９の受信のＳＦＦ３０１である。ＬＳＩ設計装置５０は、このトレース結果をＵＯ始点から送信ＳＦＦまでの論理ゲートの接続関係をパスリストとして生成する。ＬＳＩ設計装置５０は、ＵＯ始点リストに記載されている残りのＵＯ故障全てに関しても、同様にトレースを行い、パスリストに記載する。
【０１７９】
ＬＳＩ設計装置５０は、パスリスト内の１つのパスに関し、送信ＳＦＦ３０８の出力端子に論理段数が最も多い箇所にあるＵＯ故障の論理ゲート（つまり、最も受信ＳＦＦに近いＵＯ故障の論理ゲート）の端子をＴＰＩリストとして抽出する（ステップＳ２５）。ＬＳＩ設計装置５０は、ステップＳ２５でトレースがパスリスト中の全てのパスで行われたか否かを判断する（ステップＳ２６）。全てのパスでトレースが行われていない場合、ＬＳＩ設計装置５０は、再度、ステップＳ２５でパスリストに記載されているパスに対してトレースを行う。一方、全てのパスでトレースが行われている場合、ＬＳＩ設計装置５０は、ＴＰＩリストを完成させたとして、ステップＳ２７の処理に進む。
【０１８０】
ＬＳＩ設計装置５０は、ＴＰＩリストに記載されているＵＯ箇所の論理ゲートと端子に関し、端子に接続されている信号線に検査点３０９を挿入する（ステップＳ２７）。そして、ＬＳＩ設計装置５０は、検査点挿入後のネットリストを出力する（ステップＳ２８）。この後、ＬＳＩ設計装置５０は、自動検査点挿入処理を終了する。
【０１８１】
ここで、本フローチャートにおける効率化の観点について説明を追加する。ステップＳ２５では、通常、論理パス中にＵＯ故障がある場合、その影響を受けて、ＵＯ箇所に接続する入力側の前段の論理ゲートもＵＯ故障となり、それが、次の前段へと続いていく。これらの故障をＥＱ故障という。
【０１８２】
あるＵＯ故障の論理ゲートから受信ＳＦＦまでの論理経路中に、複数のＵＯ故障の論理ゲートが存在する場合、受信ＳＦＦに最も近いＵＯ故障の論理ゲートの端子に接続されている信号線に検査点を挿入し、故障を検出することで、そのＵＯ故障の論理ゲートの前段に存在するＥＱ故障も検出できる可能性がでてくる。
【０１８３】
また、ステップＳ２３では、ＵＯ故障数とそれと等価なＥＱ故障数を合算し、その数が多い順にＵＯ故障のみを抽出してＵＯ始点リストを生成する。これは、前述したステップＳ２５における効率化の説明で示したように、多くのＥＱ故障を従えるＵＯ故障箇所に検査点を挿入することで、１つの検査点で多くのＥＱ故障が効率的に検出できるようになる。
【０１８４】
このように、ステップＳ２３、Ｓ２５を使うことで、少ない検査点の挿入で、多くの未検出箇所を検出できるようになる。検査点挿入後のネットリストで再度ＡＴＰＧ処理を行ったときに、仮に前記論理経路にＵＯ故障の論理ゲートが残っている場合、再度、本実施形態のステップ処理を実行することで、未検出故障を検出できるようになる。
【０１８５】
（第４の実施形態）
第４の実施形態におけるＬＳＩ設計装置の構成は第１の実施形態と同様である。第４の実施形態では、入力部５３を介して、検査点に関して挿入すべき数値の情報が入力可能である。
【０１８６】
図１２（Ａ）及び図１２（Ｂ）は、第４の実施形態の適用前のネットリストである論理回路の例を示す図である。図１２（Ａ）に示す論理回路５００は、信号受信のスキャンフリップフロップ（以下「受信ＳＦＦ」という）５０１と、２入力の論理ゲート５０２と、１入力の論理ゲート５０３と、３入力の論理ゲート５０４と、２入力の論理ゲート５０５と、２入力の論理ゲート５０６と、組合せ論理回路群５０７と、信号送信のスキャンフリップフロップ（以下「送信ＳＦＦ」という）５０８とを有する。図１２（Ａ）には、検査点５０９の挿入箇所が示されている。
【０１８７】
第４の実施形態のＬＳＩ設計装置５０は、第１の実施形態をもとに、挿入可能な検査点（制御用フリップフロップ）に制限がある場合や、少ない検査点で実施したい場合に、効果が大きい箇所から順に入れることを可能とする。さらに、ＬＳＩ設計装置５０は、検査点に関して挿入すべき数値の情報を入力し、複数存在するＡＵ箇所の各々に関して、ＡＵ故障とこれと等価（ＥＱと表記）とされる未検出故障の和を算出する。そして、ＬＳＩ設計装置５０は、ＡＵ故障とＥＱ故障の和の大きい順にＡＵ箇所に検査点を挿入する。
【０１８８】
例えば、検査点を１個のみしか入れたくない場合、挿入すべき数値の情報を入力する際、値１と記載する。図１２（Ａ）の場合、送信ＳＦＦ５０８と受信ＳＦＦ５０１の間のＥＱ故障の数は８個である。一方、図１２（Ｂ）の場合、信号送信のスキャンフリップフロップ（送信ＳＦＦ）５８０と信号受信のスキャンフリップフロップ（受信ＳＦＦ）５５１の間のＥＱ故障の数は１個である。そして、送信ＳＦＦ５０８と受信ＳＦＦ５０１の間のみに、検査点５０９が挿入される。
【０１８９】
このように、第４の実施形態のＬＳＩ検査装置によれば、検査点の数を指定可能とすることで、効果の大きな箇所に優先順位を決めて検査点を挿入可能とする設計方法を提供することができる。
【０１９０】
図１３は、自動検査点挿入処理の手順を示すフローチャートである。第１の実施形態と同一のステップ処理について同一のステップ番号が付されている。第４の実施形態では、第１の実施形態と比べ、ステップＳ６ＡのＴＰＩリスト生成条件に、あらかじめ指定した検査点の最大数を記載する条件が追加される点が異なる。その他のステップ処理は第１の実施形態と同様であるので、その説明を省略する。
【０１９１】
ステップＳ６Ａにおいては、ＬＳＩ検査装置５０は、ステップＳ５でトレースした論理パスをＡＵ発生源の論理ゲートの端子の出力方向へトレースし、最初の任意のインスタンスのＡＵ故障の端子をＴＰＩリスト集合の一要素とする。さらに、ＬＳＩ検査装置５０は、予め指定した検査点の最大数情報をもとに、ステップＳ５でトレースした論理パスをＡＵ発生源の論理ゲートの端子の出力方向へトレースし、等価故障（ＥＱと表記）数が多いものから順番に予め指定した検査点の最大数分のＴＰＩリストを生成する。
【０１９２】
このように、第４の実施形態のＬＳＩ検査装置によれば、検査点挿入数の制約を満たしつつ、第１の実施形態に近い、故障検出率の向上を得ることが可能となる。
【０１９３】
（第５の実施形態）
図１４は、第５の実施形態における検査点を挿入した後のネットリストとして出力される論理回路の例を示す図である。
【０１９４】
第５の実施形態では、検査点の挿入禁止箇所の情報（検査点挿入禁止情報）に基づき、挿入禁止箇所における検査点を回避し、かつ、故障検出率の向上の高い検査点を挿入する手順が加わることにより、第１の実施形態と比べ、検査点ＴＰ３の挿入箇所が異なる。
【０１９５】
検査点ＴＰ３以外、第１の実施形態と同様であるので、その説明を省略する。また、第５の実施形態の適用前の回路は、図３の回路に該当し、第１の実施形態と同様であるので、その説明を省略する。さらに、第５の実施形態における検査点の構成は、第１の実施形態と同様であるので、その説明を省略する。
【０１９６】
図１４に示すように、第５の実施形態における検査点の挿入禁止箇所は、論理回路ＢＬＫ３、ＩＯ端子ＩＯ１、スキャンモード設定用論理回路１５１、及びＩＯ端子ＩＯ１からスキャンモード設定用論理回路１５１に接続される経路であるとして、説明する。なお、図１４の回路構成は、検査点５０２０及び検査箇所５０２１を除き、前述した図２の回路構成と同様である。
【０１９７】
検査点（ＴＰ１）１４は、挿入禁止箇所に関連しないので、第１の実施形態と同様の箇所に挿入される。また、検査点（ＴＰ２）１５は、第１の実施形態、すなわち挿入禁止箇所の情報がない場合、検査箇所５０２１に挿入される。検査箇所５０２１は、スキャンモード設定用論理回路１５１に接続される経路上に位置するので、ＩＯ端子ＩＯ１の設定値がスキャンモード設定用論理回路１５１に正しく伝播せず、スキャンモードの設定が外れてＡＴＰＧ処理ができなくなる。
【０１９８】
スキャンモードの設定を検査点挿入前と同じ状態にしつつ、ＡＵ３故障を検出するためには、ＩＯ端子ＩＯ１、スキャンモード設定用論理回路１５１、及びＩＯ端子ＩＯ１からスキャンモード設定用論理回路１５１に接続される経路に含まれず、かつ、ＩＯ端子ＩＯ１から一番論理段数の少ない箇所である検査点１５の位置に検査点（ＴＰ２）を挿入することで、実現が可能である。
【０１９９】
すなわち、ＩＯ端子ＩＯ１、スキャンモード設定用論理回路１５１、及びＩＯ端子ＩＯ１からスキャンモード設定用論理回路１５１に接続される経路を、挿入禁止箇所と定義付けると、挿入禁止箇所以外、かつ論理ゲート１１のＡＵ３故障から前段の検査点挿入可能箇所であり、かつ、ＩＯ端子ＩＯ１から論理段数が一番少ない箇所である検査点１５に、検査点が挿入される。
【０２００】
また、検査点（ＴＰ３）５０２０の挿入例は、論理回路ＢＬＫ３に検査点の挿入を行わない場合の例である。
【０２０１】
第１の実施形態では、検査箇所５０１９に検査点が挿入される。第５の実施形態では、論理回路ＢＬＫ３を挿入禁止箇所と定義付ける。ＬＳＩ設計装置５０は、この挿入禁止箇所以外、かつ論理ゲート１１のＡＵ故障に等価なＥＱ１４故障から前段の検査点挿入可能箇所であり、かつＮＦＦ１１０から論理段数が一番少ない箇所に、検査点として検査点５０２０を挿入する選択を行う。これにより、故障検出率を向上するために、もっとも相応しい検査点が挿入される。
【０２０２】
また、第５の実施形態のＬＳＩ設計装置は、第４の実施形態と組み合わせて実施されることも可能である。
【０２０３】
図１５は、自動検査点挿入処理の手順を示すフローチャートである。第１の実施形態と同一のステップ処理について同一のステップ番号が付されている。第５の実施形態では、第１の実施形態と比べ、ステップＳ６ＢでＴＰＩリスト生成条件に、挿入禁止箇所の条件が追加される点が異なる。その他のステップ処理は第１の実施形態と同様であるので、その説明を省略する。
【０２０４】
第５の実施形態では、ＬＳＩ設計装置５０は、予め用意した検査点挿入禁止箇所インスタンス情報をもとに、ステップＳ５でトレースした論理パスをＡＵ発生源の論理ゲートの端子の出力方向へトレースし、最初の検査点挿入禁止箇所インスタンス以外のインスタンスのＡＵ故障の端子をＴＰＩリスト集合の一要素とする（ステップＳ６Ｂ）。
【０２０５】
このように、第５の実施形態のＬＳＩ設計装置によれば、検査点挿入禁止箇所の制約を満たしつつ、できる限り第１の実施形態に近い故障検出率の向上を図ることが可能となる。なお、第５の実施形態は、前述したように、第４の実施形態と組み合わせて実施されることが可能である。
【０２０６】
（第６の実施形態）
第６の実施形態における検査点を挿入した後のネットリストとして出力される論理回路は第５の実施形態と同様である。第６の実施形態では、検査点の挿入許可箇所の情報（検査点挿入許可情報）に基づき、挿入許可箇所かつ故障検出率の向上の高い検査点を挿入する手順が加わることにより、第１の実施形態と比べ、検査点ＴＰ３の挿入箇所が異なる。
【０２０７】
検査点ＴＰ３以外、第１の実施形態と同様であるので、その説明を省略する。また、第６の実施形態の適用前の回路は、図３の回路に該当し、第１の実施形態と同様であるので、その説明を省略する。さらに、第６の実施形態における検査点の構成は、第１の実施形態と同様であるので、その説明を省略する。
【０２０８】
第６の実施形態における検査点の挿入許可箇所は、論理回路ＢＬＫ２として説明する。図１４の回路構成は、検査点１４、検査点１５、検査箇所５０１９、検査箇所５０２１の他、図２の回路構成と同様である。
【０２０９】
検査点（ＴＰ１）１４は、挿入許可箇所にあるので、第１の実施形態と同様の箇所に挿入される。検査点（ＴＰ２）１５は、第１の実施形態、すなわち挿入許可箇所の情報がない場合、検査箇所５０２１に挿入される。この検査箇所５０２１は、スキャンモード設定用論理回路１５１に接続される経路上に位置するので、ＩＯ端子ＩＯ１の設定値がスキャンモード設定用論理回路１５１に正しく伝播せず、スキャンモードの設定が外れてＡＴＰＧ処理ができなくなる。
【０２１０】
スキャンモードの設定を検査点挿入前と同じ状態にしつつ、論理ゲート１１のＡＵ３故障を検出するためには、ＩＯ端子ＩＯ１、スキャンモード設定用論理回路１５１、ＩＯ端子ＩＯ１からスキャンモード設定用論理回路１５１に接続される経路に含まれない箇所、かつＩＯ端子ＩＯ１から一番論理段数の少ない箇所である検査点１５の位置に検査点（ＴＰ２）を挿入することで、実現が可能である。
【０２１１】
すなわち、ＩＯ端子ＩＯ１、スキャンモード設定用論理回路１５１、ＩＯ端子ＩＯ１からスキャンモード設定用論理回路１５１に接続される経路を含まない、論理回路ＢＬＫ２を挿入許可箇所と定義付ける。これにより、挿入許可箇所、かつ論理ゲート１１のＡＵ３故障から前段の検査点挿入可能箇所、かつＩＯ端子ＩＯ１から論理段数が一番少ない箇所である検査点１５に検査点が挿入される。
【０２１２】
検査点（ＴＰ３）の挿入例は、論理回路ＢＬＫ３に検査点挿入を行わない場合の例である。第１の実施形態では、検査箇所５０１９に検査点１９が挿入される。これに対し、第６の実施形態では、挿入許可箇所を論理回路ＢＬＫ２と定義付け、挿入許可箇所、かつ論理ゲート１１のＡＵ故障に等価なＥＱ１４故障から前段の検査点挿入可能箇所、かつＮＦＦ１１０から論理段数が一番少ない箇所である検査箇所５０２０を挿入する検査点として選択する。これにより、故障検出率を向上するために、もっとも相応しい検査点が挿入される。また、第６の実施形態のＬＳＩ設計装置は、第４の実施形態と組み合わせて実施されることも可能である。
【０２１３】
図１６は、自動検査点挿入処理の手順を示すフローチャートである。第１の実施形態と同一のステップ処理について同一のステップ番号が付されている。第６の実施形態では、第１の実施形態と比べ、ステップＳ６ＣでＴＰＩリスト生成条件に、挿入許可箇所の条件が追加される点が異なる。その他のステップ処理は第１の実施形態と同様であるので、その説明を省略する。
【０２１４】
第６の実施形態では、ＬＳＩ検査装置５０は、予め用意した検査点挿入許可箇所のインスタンス情報をもとに、ステップＳ５でトレースした論理パスをＡＵ発生源の論理ゲートの端子の出力方向へトレースし、最初の検査点挿入許可箇所のインスタンスのＡＵ故障の端子をＴＰＩリスト集合の一要素とする（ステップＳ６Ｃ）。
【０２１５】
このように、第６の実施形態によれば、検査点挿入許可箇所の制約を満たしつつ、できる限り第１の実施形態に近い故障検出率の向上を図ることが可能となる。なお、第６の実施形態は、前述したように、第４の実施形態と組み合わせて実施されることが可能である。
【０２１６】
（第７の実施形態）
第７の実施形態のＬＳＩ設計装置は、第１、第４、第５、第６の実施形態に対して適用可能であり、挿入する検査点の箇所を抽出した時点で、検査点を挿入した後の故障検出率を仮想的に計算する。この故障検出率算出方法は、検査点挿入前の回路構造によって、計算値に幅が生じる。本実施形態では、検査点挿入による故障検出率の向上の効果が最小となる場合を示す。
【０２１７】
なお、第７の実施形態における故障検出率を算出する方法は、第１、第４、第５、第６の実施形態の差分に依存しないので、代表して第１の実施形態において故障検出率を算出する場合を示し、第４、第５、第６の実施形態については、その説明を省略する。
【０２１８】
図１７は、第７の実施形態におけるＬＳＩ設計装置の構成を示すブロック図である。図１７に示すＬＳＩ設計装置５０は、第１の実施形態と同様に、ＡＴＰＧ部５１と、未検出故障リスト生成部５２と、入力部５３と、始点リスト生成部５４と、パスリスト生成部５５と、ＴＰＩリスト生成部５６と、検査点挿入部５７と、出力部５８とを備え、さらに、故障検出率計算部５９を備える。故障検出率計算部５９は、つぎのような方法で故障検出率を算出する。
【０２１９】
一般に、故障検出率は、式（１）、（２）で示される。
ＴＣ（ｘ）＝（ΣＤＴ（ｘ））／（ＦＵ（ｘ）−ΣＲＥ（ｘ））  …（１）
ＦＣ（ｘ）＝（ΣＤＴ（ｘ））／（ＦＵ（ｘ））  …（２）
ＴＣ（ｘ）：回路ｘのＴｅｓｔ  Ｃｏｖｅｒａｇｅ
ＦＣ（ｘ）：回路ｘのＦａｕｌｔ  Ｃｏｖｅｒａｇｅ
ΣＤＴ（ｘ）：回路ｘの検出故障の総和
ＦＵ（ｘ）：回路ｘの全故障数
ΣＲＥ（ｘ）：回路ｘの冗長故障の総和
【０２２０】
第１の実施形態における検査点挿入前の故障検出率が式（３）、（４）で表されると仮定し、検査点挿入後の故障検出率を式（５）、（６）で定義する。
ＴＣ（ｐｒｅ）＝（ΣＤＴ（ｐｒｅ））／（ＦＵ（ｐｒｅ）−ΣＲＥ（ｐｒｅ））  …（３）
ＦＣ（ｐｒｅ）＝（ΣＤＴ（ｐｒｅ））／（ＦＵ（ｐｒｅ））  …（４）
ＴＣ（ｐｒｅ）：検査点挿入前のＴｅｓｔ  Ｃｏｖｅｒａｇｅ
ＦＣ（ｐｒｅ）：検査点挿入前のＦａｕｌｔ  Ｃｏｖｅｒａｇｅ
ΣＤＴ（ｐｒｅ）：検査点挿入前の検出故障の総和
ＦＵ（ｐｒｅ）：検査点挿入前の全故障数
ΣＲＥ（ｐｒｅ）：検査点挿入前の冗長故障の総和
ＴＣ（ｐｏｓｔ）＝（ΣＤＴ（ｐｏｓｔ））／（ＦＵ（ｐｏｓｔ）−ΣＲＥ（ｐｏｓｔ））  …（５）
ＦＣ（ｐｏｓｔ）＝（ΣＤＴ（ｐｏｓｔ））／（ＦＵ（ｐｏｓｔ））  …（６）
ＴＣ（ｐｏｓｔ）：検査点挿入後のＴｅｓｔ  Ｃｏｖｅｒａｇｅ
ＦＣ（ｐｏｓｔ）：検査点挿入後のＦａｕｌｔ  Ｃｏｖｅｒａｇｅ
ΣＤＴ（ｐｏｓｔ）：検査点挿入後の検出故障の総和
ＦＵ（ｐｏｓｔ）：検査点挿入後の全故障数
ΣＲＥ（ｐｏｓｔ）：検査点挿入後の冗長故障の総和
【０２２１】
第１の実施形態の回路図（図２参照）において、検査点１４、検査点１５、検査点１９を検査点として挿入した後、最低限向上する故障検出率を算出する方法について説明する。
【０２２２】
第１の実施形態において、検査点１９を挿入することで、最低限、未検出ＡＵ故障から検出故障になると想定できる故障は、ＡＵ２、ＥＱ１６、ＥＱ４、ＥＱ５、ＥＱ７、ＥＱ８、ＥＱ１４、ＥＱ１５の各故障である。続いて、検査点１４を挿入することで、最低限、未検出ＡＵ故障から検出故障になると想定できる故障は、ＡＵ１、ＥＱ１、ＥＱ２、ＥＱ３、ＥＱ１２、ＥＱ１５の各故障である。更に、検査点１５を挿入することで、最低限、未検出ＡＵ故障から検出故障になると想定できる故障は、ＡＵ３、ＥＱ１５の各故障である。
【０２２３】
これらのことを踏まえると、検査点１４、検査点１５、検査点１９を挿入した場合、検出故障数ΣＤＴ（ｐｏｓｔ）は、式（７）で表記できる。
【０２２４】
ΣＤＴ（ｐｏｓｔ）＝ΣＤＴ（ｐｒｅ）＋（ＡＵ２＋ＥＱ１６＋ＥＱ４＋ＥＱ５＋ＥＱ７＋ＥＱ８＋ＥＱ１４＋ＥＱ１５＋ＡＵ１＋ＥＱ１＋ＥＱ２＋ＥＱ３＋ＥＱ１２＋ＡＵ３）  …（７）
【０２２５】
式（７）を一般化すると、式（８）となる。
ΣＤＴ（ｐｏｓｔ）＝ΣＤＴ（ｐｒｅ）＋Σｉ＝０→ｎＡＵＭＩＮ（ｉ）  …（８）
ＡＵＭＩＮ（ｉ）：検査点ｉを挿入することにより、最低限ＤＴ故障になるＡＵ故障数
ｎ：挿入する検査点の個数
【０２２６】
次に、検査点挿入後の全故障数ＦＵ（ｐｏｓｔ）は、検査点挿入前の全故障数ＦＵ（ｐｒｅ）に対し、挿入する検査点に存在する故障数分増加する。しかし、一般的に、検査点挿入前の全故障数ＦＵ（ｐｒｅ）は、挿入する検査点の個数と比較して十分に大きい場合、式（９）で表される。
ＦＵ（ｐｏｓｔ）＝ＦＵ（ｐｒｅ）＋Σｉ＝０→ｎＴＰ（ｉ）
≒ＦＵ（ｐｒｅ）（ｉｆ  ＦＵ（ｐｒｅ）＞＞Σｉ＝０→ｎＴＰ（ｉ））  …（９）
ＴＰ（ｉ）：検査点ｉの故障数
ｎ：挿入する検査点の個数
【０２２７】
更に、一般に、冗長故障数は検査点挿入操作に依存して変化しないので、検査点挿入後の冗長故障数ΣＲＥ（ｐｏｓｔ）は、式（１０）で表される。
ΣＲＥ（ｐｏｓｔ）＝ΣＲＥ（ｐｒｅ）  …（１０）
【０２２８】
最後に、前述した式（８）、（９）、（１０）を、検査点挿入後の故障検出率の式（５）、（６）に代入すると、式（１１）、（１２）が導き出せる。
ＴＣ（ｐｏｓｔ）＝（ΣＤＴ（ｐｒｅ）＋Σｉ＝０→ｎＡＵＭＩＮ（ｉ））／（ＦＵ（ｐｒｅ）−ΣＲＥ（ｐｒｅ））  …（１１）
ＦＣ（ｐｏｓｔ）＝（ΣＤＴ（ｐｒｅ）＋Σｉ＝０→ｎＡＵＭＩＮ（ｉ））／（ＦＵ（ｐｒｅ））  …（１２）
ＴＣ（ｐｏｓｔ）：検査点挿入後のＴｅｓｔ  Ｃｏｖｅｒａｇｅ
ＦＣ（ｐｏｓｔ）：検査点挿入後のＦａｕｌｔ  Ｃｏｖｅｒａｇｅ
ΣＤＴ（ｐｒｅ）：検査点挿入前の検出故障の総和
ＦＵ（ｐｒｅ）：検査点挿入前の全故障数
ΣＲＥ（ｐｒｅ）：検査点挿入前の冗長故障の総和
ＡＵＭＩＮ（ｉ）：検査点ｉを挿入することにより、最低限ＤＴ故障になるＡＵ故障数
ｎ：挿入する検査点の個数
【０２２９】
式（１１）、（１２）によると、検査点ｉを挿入して最低限検出故障になるＡＵ故障数を算出することにより、検査点挿入前のＡＴＰＧ結果より得られる検査点挿入前の検出故障の総和ΣＤＴ（ｐｒｅ）と、検査点挿入前の全故障数ＦＵ（ｐｒｅ）と、検査点挿入前の冗長故障の総和ΣＲＥ（ｐｒｅ）とから、検査点を挿入した後の故障検出率を仮想的に得ることが可能となる。
【０２３０】
図１８は、自動検査点挿入処理及び故障検出率計算処理の手順を示すフローチャートである。このフローチャートでは、第１の実施形態の図５に示すフローチャートに比べ、検査点を挿入した後の仮想的な故障検出率を計算するステップＳ１０、Ｓ１１の処理が追加される点が異なる。その他のステップＳ１〜Ｓ９の処理は第１の実施形態と同様であるので、その説明を省略する。また、本実施形態では、第１、第４、第５、第６の実施形態の差分に依存しないので、代表して、第１の実施形態について説明し、第４、第５、第６の実施形態についての説明は省略する。
【０２３１】
ＬＳＩ設計装置５０は、ステップＳ７で得られる検査点に対応した、ステップＳ５で得られるＡＵインスタンスの入力端子を入力側にトレースして得られるパスリストから、式（１１）で示されるＡＵＭＩＮ（ｉ）を検査点挿入後に故障検出可能となる故障数として、ステップＳ１の入力となる検査点を挿入する前の検出故障数に加えることで、仮想的に検査点を挿入した後の故障検出率を算出する（ステップＳ１０）。そして、ＬＳＩ設計装置５０は、検査点挿入後の故障検出率の見積もり結果を出力し（ステップＳ１１）、本処理を終了する。
【０２３２】
このように、第７の実施形態のＬＳＩ設計装置によれば、検査点を挿入する前に検査点挿入による故障検出率の向上・効果を見積もることが可能となる。
【０２３３】
なお、前述したように、図１８を用いて第１の実施形態における場合を示したが、第５、第６の実施形態においても同様である。図１９は、第５の実施形態に適用された場合の自動検査点挿入処理及び故障検出率計算処理の手順を示すフローチャートである。図２０は、第６の実施形態に適用された場合の自動検査点挿入処理及び故障検出率計算処理の手順を示すフローチャートである。
【０２３４】
また、第４の実施形態は、第１の実施形態と第５の実施形態と第６の実施形態のそれぞれと同時に実施することが可能である。
【０２３５】
（第８の実施形態）
第８の実施形態のＬＳＩ設計装置は、第１、第４、第５、第６の実施形態に対して適用可能であり、挿入する検査点の箇所を抽出した時点で、検査点を挿入した後の故障検出率を仮想的に計算する。この故障検出率算出方法は、検査点挿入前の回路構造によって、計算値に幅が生じる。本実施形態では、検査点挿入による故障検出率の向上の効果が最大となる場合を示す。
【０２３６】
なお、第８の実施形態における故障検出率を算出する方法は、第１、第４、第５、第６の実施形態の差分に依存しないので、代表して第１の実施形態において故障検出率を算出する場合を示し、第４、第５、第６の実施形態については、その説明を省略する。
【０２３７】
第８の実施形態におけるＬＳＩ設計装置の構成は、第７の実施形態と同様、図１７に示したとおりである。
【０２３８】
第８の実施形態では、第７の実施形態と比べ、式（７）、（８）で示される検査点を挿入した後の検出故障数ΣＤＴ（ｐｏｓｔ）の抽出方法のみが異なるので、ΣＤＴ（ｐｏｓｔ）の抽出方法と関連する内容以外の説明を省略する。
【０２３９】
第１の実施形態における図２の回路図において、検査点１４、検査点１５、検査点１９を検査点として挿入した後、最大限向上する故障検出率を算出する方法について説明する。
【０２４０】
検査点１９を挿入することで、最大限未検出ＡＵ故障から検出故障になると想定できる故障は、ＡＵ２、ＥＱ１６、ＥＱ４、ＥＱ５、ＥＱ７、ＥＱ８、ＥＱ１４、ＥＱ１５に加え、ＥＱ２０、ＥＱ１８、ＥＱ１０、ＥＱ１９、ＥＱ１７、ＥＱ１１、ＥＱ９、ＥＱ６の各故障である。続いて、検査点１４を挿入することで、最低限未検出ＡＵから検出故障になると想定できる故障は、第７の実施形態と同様、ＡＵ１、ＥＱ１、ＥＱ２、ＥＱ３、ＥＱ１２、ＥＱ１５の各故障である。更に、検査点１５を挿入することで、最低限未検出ＡＵから検出故障になると想定できる故障は、第７の実施形態と同様、ＡＵ３、ＥＱ１５の各故障である。
【０２４１】
これらのことを踏まえると、検査点１４、検査点１５、検査点１９を挿入した場合の検出故障数ΣＤＴ（ｐｏｓｔ）は、式（１３）で表記できる。
【０２４２】
ΣＤＴ（ｐｏｓｔ）＝ΣＤＴ（ｐｒｅ）＋（ＡＵ２＋ＥＱ１６＋ＥＱ４＋ＥＱ５＋ＥＱ７＋ＥＱ８＋ＥＱ１４＋ＥＱ１５＋ＥＱ２０＋ＥＱ１８＋ＥＱ１０＋ＥＱ１９＋ＥＱ１７＋ＥＱ１１＋ＥＱ９＋ＥＱ６＋ＡＵ１＋ＥＱ１＋ＥＱ２＋ＥＱ３＋ＥＱ１２＋ＡＵ３）  …（１３）
【０２４３】
式（１３）は、一般化すると、式（１４）となる。
ΣＤＴ（ｐｏｓｔ）＝ΣＤＴ（ｐｒｅ）＋Σｉ＝０→ｎＡＵＭＡＸ（ｉ）  …（１４）
ＡＵＭＡＸ（ｉ）：検査点ｉを挿入することにより、最大限ＤＴ故障になるＡＵ故障数
ｎ：挿入する検査点の個数
【０２４４】
式（１４）、（１２）、（１３）を、検査点挿入後の故障検出率の式（５）、（６）に代入すると、式（１５）、（１６）を導き出すことができる。
ＴＣ（ｐｏｓｔ）＝（ΣＤＴ（ｐｒｅ）＋Σｉ＝０→ｎＡＵＭＡＸ（ｉ））／（ＦＵ（ｐｒｅ）−ΣＲＥ（ｐｒｅ））  …（１５）
ＦＣ（ｐｏｓｔ）＝（ΣＤＴ（ｐｒｅ）＋Σｉ＝０→ｎＡＵＭＡＸ（ｉ））／（ＦＵ（ｐｒｅ））  …（１６）
ＴＣ（ｐｏｓｔ）：検査点挿入後のＴｅｓｔ  Ｃｏｖｅｒａｇｅ
ＦＣ（ｐｏｓｔ）：検査点挿入後のＦａｕｌｔ  Ｃｏｖｅｒａｇｅ
ΣＤＴ（ｐｒｅ）：検査点挿入前の検出故障の総和
ＦＵ（ｐｒｅ）：検査点挿入前の全故障数
ΣＲＥ（ｐｒｅ）：検査点挿入前の冗長故障の総和
ＡＵＭＡＸ（ｉ）：検査点ｉを挿入することにより、最大限ＤＴ故障になるＡＵ故障数
ｎ：挿入する検査点の個数
【０２４５】
式（１５）、（１６）によると、検査点ｉを挿入して最大限検出故障になるＡＵ故障数を算出することにより、検査点挿入前のＡＴＰＧ結果より得られる検査点挿入前の検出故障の総和ΣＤＴ（ｐｒｅ）と検査点挿入前の全故障数ＦＵ（ｐｒｅ）と検査点挿入前の冗長故障の総和ΣＲＥ（ｐｒｅ）とから、検査点を挿入した後の故障検出率を仮想的に得ることが可能となる。
【０２４６】
第７の実施形態と同様、図１８のフローチャートにおいて、検査点を挿入した後の仮想的な故障検出率を計算する。
【０２４７】
ＬＳＩ設計装置５０は、ステップＳ７で得られる検査点に対応した、ステップＳ５で得られるＡＵインスタンスの入力端子を入力側にトレースして得られるパスリストから、式（１５）で示されるＡＵＭＩＮ（ｉ）を検査点挿入後に故障検出可能となる故障数として、ステップＳ１の入力となる検査点を挿入する前の検出故障数に加えることで、仮想的に検査点を挿入した後の故障検出率を算出する（ステップＳ１０）。そして、ＬＳＩ設計装置５０は、検査点挿入後の故障検出率の見積もり結果を出力し（ステップＳ１１）、本処理を終了する。
【０２４８】
このように、第８の実施形態のＬＳＩ設計装置によれば、第７の実施形態と同様、検査点を挿入する前に検査点挿入による故障検出率の向上・効果を見積もることが可能となる。
【０２４９】
（第９の実施形態）
第９の実施形態におけるＬＳＩ設計装置の構成は第１の実施形態と同様である。第９の実施形態では、入力部５３を介して、検査点に関して挿入すべき数値の情報が入力可能である。
【０２５０】
図２１（Ａ）及び図２１（Ｂ）は、第９の実施形態の適用前のネットリストである論理回路を示す図である。図２１（Ａ）に示す論理回路６００は、信号受信のスキャンフリップフロップ（以下「受信ＳＦＦ」という）６０１と、２入力の論理ゲート６０２と、１入力の論理ゲート６０３と、３入力の論理ゲート６０４と、２入力の論理ゲート６０５と、２入力の論理ゲート６０６と、組合せ論理回路群６０７と、信号送信のスキャンフリップフロップ（以下「送信ＳＦＦ」という）６０８とを有する。図２１（Ａ）には、検査点６０９の挿入箇所が示されている。
【０２５１】
第９の実施形態のＬＳＩ設計装置５０は、第１の実施形態をもとに、挿入可能な検査点（制御用フリップフロップ）に制限がある場合や、少ない検査点で実施したい場合に、効果が大きい箇所から順に入れることを可能とする。さらに、ＬＳＩ設計装置５０は、検査点に関して挿入すべき数値の情報を入力し、複数存在するＵＣ箇所の各々に関して、ＵＣ故障とこのＵＣ故障と等価（ＥＱと表記）とされる未検出故障の和を算出する。そして、ＬＳＩ設計装置５０は、ＵＣ故障とＥＱ故障の和の大きい順にＵＣ箇所に検査点を挿入する。
【０２５２】
例えば、検査点を１個のみしか入れたくない場合、挿入すべき数値の情報として、値１を入力すると記載する。図２１（Ａ）に示すように、送信ＳＦＦ６０８と信号受信のＳＦＦ６０１の間のＥＱ故障の数は８個である。一方、図２１（Ｂ）に示すように、信号送信のスキャンフリップフロップ（送信ＳＦＦ）６８０と信号受信のスキャンフリップフロップ（受信ＳＦＦ）６５１の間のＥＱ故障の数は１個である。したがって、送信ＳＦＦ６８０と受信ＳＦＦ６５１の間のみに、検査点６０９が挿入される。
【０２５３】
このように、検査点の数を指定可能とすることで、効果の大きな箇所に優先順位を決めて検査点を挿入可能とする設計方法を提供することができる。
【０２５４】
図２２は、自動検査点挿入処理の手順を示すフローチャートである。第９の実施形態は、第２の実施形態と比べ、ステップＳ１５Ａで、ＴＰＩリスト生成条件に、あらかじめ指定した検査点の最大数を記載する条件が追加される点が異なる。その他、ステップＳ１１〜Ｓ１４、Ｓ１６〜Ｓ１８の処理は、第２の実施形態と同様であるので、その説明を省略する。
【０２５５】
第９の実施形態において、ＬＳＩ設計装置５０は、ステップＳ１４でトレースした論理パスをＵＣ故障発生源の論理ゲートの端子の出力方向へトレースし、最初の任意のインスタンスのＵＣ故障の端子をＴＰＩリスト集合の一要素とする。第９の実施形態では、予め指定した検査点の最大数情報をもとに、ステップＳ１４でトレースした論理パスをＵＣ故障発生源の論理の端子の出力方向へトレースし、等価故障（ＥＱと表記）数が多いものから順番に予め指定した検査点の最大数分のＴＰＩリストを生成する（ステップＳ１５Ａ）。
【０２５６】
このように、第９の実施形態のＬＳＩ設計装置によれば、検査点挿入数の制約を満たしつつ、最大限第２の実施形態に近い故障検出率の向上効果を得ることが可能となる。
【０２５７】
（第１０の実施形態）
図２３は、第１０の実施形態における検査点を挿入した後のネットリストとして出力される論理回路の例を示す図である。
【０２５８】
第１０の実施形態では、検査点の挿入禁止箇所の情報に基づき、挿入禁止箇所における検査点を回避し、かつ、故障検出率の向上の高い検査点を挿入する手順が加わることにより、第９の実施形態と比べ、検査点の挿入箇所が異なる。また、ＬＳＩ検査装置は、第１の実施形態と同様であるので、その説明を省略する。検査点以外、第１の実施形態と同様であるので、その説明を省略する。また、第１０の実施形態の適用前の回路は、図６の回路に該当し、前記２の実施形態と同様である。
【０２５９】
図２３では、検査点７１０の箇所に検査点が挿入される点が異なる。図２３における検査点７１０、論理回路ＢＬＫ１０００２、論理回路ＢＬＫ１０００３以外の説明は、第１、第２の実施形態と同様のため省略する。また、第１０の実施形態における検査点は、第２の実施形態と同様であるので、その説明を省略する。
【０２６０】
第１０の実施形態において、論理回路ＢＬＫ１０００２は、検査点挿入を行うことができない回路、論理回路ＢＬＫ１０００１は検査点挿入を行うことが可能な回路として、これ以降、説明する。
【０２６１】
図２３において、検査点７０９と検査点７１０に何も存在しない検査点挿入前の図２３の回路を用いたＡＴＰＧ処理結果として、論理ゲート７０６が入力端子がＵＣ故障と判断される。また、論理ゲート７０６の出力端子から論理ゲート７０２の入力端子への信号経路の各論理の入力端子と出力端子は、ＥＱ故障と判断される。
【０２６２】
第２の実施形態のように、検査点の挿入禁止箇所の情報がない場合、図２３の論理回路ＢＬＫ１０００２に含まれる検査点７０９に図７の検査点が挿入される。第１０の実施形態では、論理回路ＢＬＫ１０００２への検査点挿入を回避するために、挿入禁止箇所として、論理回路ＢＬＫ１０００２を定義付ける。
【０２６３】
したがって、挿入禁止箇所ではない箇所、かつ、ＵＣ故障の前段にある信号送信のＦＦのＱ端子から論理段数が一番少ない箇所にあるＵＣ箇所に対する検査点７１０に、検査点を挿入する操作により、検査点の挿入が実現する。なお、本実施形態は、第９の実施形態と同時に実施することも可能である。
【０２６４】
図２４は、自動検査点挿入処理の手順を示すフローチャートである。第１０の実施形態では、第２の実施形態に対して、ステップＳ１５ＢのＴＰＩリスト生成条件に、挿入禁止箇所の条件が追加される点が異なる。ステップＳ１１〜Ｓ１４、Ｓ１６〜Ｓ１８の処理は、第２の実施形態と同様であるので、その説明を省略する。
【０２６５】
第１０の実施形態では、ＬＳＩ設計装置５０は、予め用意した検査点挿入禁止箇所インスタンス情報をもとに、信号送信ＳＦＦの出力端子に論理段数が最も少ない箇所に存在する検査点挿入禁止箇所インスタンス以外のインスタンスのＵＣ故障の端子をＴＰＩリストとして集合の一要素とする（ステップＳ１５Ｂ）。
【０２６６】
このように、第１０の実施形態のＬＳＩ設計装置によれば、検査点挿入禁止箇所の制約を満たしつつ、最大限、第２の実施形態に近い故障検出率の向上効果を得ることが可能となる。なお、第１０の実施形態は第９の実施形態と組み合わせて実施することも可能である。
【０２６７】
（第１１の実施形態）
第１１の実施形態における検査点を挿入した後のネットリストとして出力される論理回路の例は、第１０の実施形態と同様である。第１１の実施形態では、第２の実施形態と比べ、検査点の挿入許可箇所の情報に基づき、挿入許可箇所のみに極力、故障検出率の向上効果の高い検査点を挿入する手順が加わることにより、図２３の検査箇所に検査点７１０が挿入される点が異なる。
【０２６８】
検査点７１０、論理回路ＢＬＫ１０００２、論理回路ＢＬＫ１０００１以外の説明は、第１、第２の実施形態と同様であるので、その説明を省略する。また、第１１の実施形態における検査点は、第２の実施形態と同様であるので、その説明を省略する。第１１の実施形態では、論理回路ＢＬＫ１０００２は検査点挿入を行うことができない回路、論理回路ＢＬＫ１０００１は検査点挿入が行うことが可能な回路として、これ以降、説明する。
【０２６９】
図２３において、検査点７０９と検査点７１０に、何も存在しない検査点挿入前の図２３の回路を用いたＡＴＰＧ処理結果として、論理ゲート７０６の入力端子がＵＣ故障と判断される。また、論理ゲート７０６の出力端子から論理ゲート７０２の入力端子への信号経路の各論理ゲートの入力端子と出力端子はＥＱ故障と判断される。
【０２７０】
第２の実施形態では、検査点の挿入禁止箇所の情報がない場合、図２３のブラックボックスＢＬＫ１０００２に含まれる検査点７０９の箇所に図４２の検査点が挿入される。第１１の実施形態では、論理回路ＢＬＫ１０００２への検査点挿入を回避するために、挿入許可箇所として、論理回路ＢＬＫ１０００１を定義付けると、挿入許可箇所、かつ、ＵＣ故障の前段にある信号送信のＦＦのＱ端子から論理段数が一番少ない箇所にある検査点７１０の箇所に検査点を挿入する操作により、検査点挿入が実現する。なお、第１１の実施形態は、第９の実施形態と同時に実施することも可能である。
【０２７１】
図２５は、自動検査点挿入処理の手順を示すフローチャートである。第１１の実施形態は、第２の実施形態と比べ、ステップＳ１５ＣのＴＰＩリスト生成条件に、挿入禁止許可の条件が追加される点が異なる。その他のステップＳ１１〜Ｓ１４、ステップＳ１６〜Ｓ１８は第２の実施形態と同様であるので、その説明を省略する。
【０２７２】
第１１の実施形態では、ＬＳＩ設計装置５０は、予め用意した検査点挿入許可箇所インスタンス情報をもとに、信号送信ＳＦＦの出力端子に論理段数が最も少ない箇所に存在する検査点挿入許可インスタンスのＵＣ故障の端子をＴＰＩリストとして集合の一要素とする（ステップＳ１５Ｃ）。
【０２７３】
このように、第１１の実施形態のＬＳＩ設計装置によれば、検査点挿入許可箇所の制約を満たしつつ、最大限、第２の実施形態に近い故障検出率の向上効果を得ることが可能となる。なお、第１１の実施形態は、第９の実施形態と組み合わせて実施することも可能である。
【０２７４】
（第１２の実施形態）
図２６（Ａ）及び図２６（Ｂ）は、第１２の実施形態における検査点を挿入した後のネットリストとして出力される論理回路の例を示す図である。ＬＳＩ検査装置は、第１の実施形態と同様であるので、その説明を省略する。
【０２７５】
第１２の実施形態のＬＳＩ設計装置は、第３の実施形態をもとに、挿入可能な検査点（観測用フリップフロップ）に制限がある場合や少ない検査点で実施したい場合、効果が大きい箇所から順に入れることを可能とする。ＬＳＩ設計装置は、検査点に関して挿入すべき数値の情報を入力し、複数存在するＵＯ箇所の各々に関し、ＵＯ故障とこのＵＯ故障と等価（ＥＱと表記）とされる未検出故障の和を算出し、このＵＯ故障とＥＱ故障の和の大きい順にＵＯ箇所に検査点を挿入する。
【０２７６】
例えば、検査点を１個のみしか入れたくない場合、ＬＳＩ設計装置５０は、挿入すべき数値の情報として値１を入力する。図２６（Ａ）に示すように、信号送信のスキャンフリップフロップ（以下「送信ＳＦＦ」という）８０８と信号受信のスキャンフリップフロップ（以下「受信ＳＦＦ」という）８０１の間のＥＱ故障の数は８個である。一方、図２６（Ｂ）に示すように、信号送信のスキャンフリップフロップ（送信ＳＦＦ）８５８と信号受信のスキャンフリップフロップ（受信ＳＦＦ）８５１の間のＥＱ故障の数は１個である。したがって、送信ＳＦＦ８０８と受信ＳＦＦ８０１の間のみに、検査点８０９が挿入される。
【０２７７】
このように、第１２の実施形態のＬＳＩ設計装置によれば、検査点の数を指定可能とすることで、効果の大きな箇所に優先順位を決めて検査点を挿入可能とする設計方法を提供することができる。
【０２７８】
図２７は、自動検査点挿入処理の手順を示すフローチャートである。第１２の実施形態は、第３の実施形態と比べ、ステップＳ２５Ａで、ＴＰＩリスト生成条件に、あらかじめ指定した検査点の最大数を記載する条件が追加される点が異なる。その他、ステップＳ２１〜Ｓ２４、Ｓ２６〜Ｓ２８の処理は、第３の実施形態と同様であるので、その説明を省略する。
【０２７９】
第１２の実施形態において、ＬＳＩ設計装置５０は、ステップＳ２４で抽出したパスリスト集合中の１つのパスに対し、信号送信ＳＦＦの出力端子に論理段数が最大となる箇所に存在する任意のインスタンスのＵＯ故障の端子をＴＰＩリストとして集合の一要素とする。そして、第１２の実施形態では、ＬＳＩ設計装置５０は、予め指定した検査点の最大数情報をもとに、ステップＳ２４で抽出したパスリスト集合中の１つのパスに対し、信号送信ＳＦＦの出力端子に等価なＥＱ故障数が多いものから順番に予め指定した検査点の最大数分のＴＰＩリストを生成する（ステップＳ２５Ａ）。
【０２８０】
このように、第１２の実施形態のＬＳＩ設計装置によれば、検査点挿入数の制約を満たしつつ、最大限、第３の実施形態に近い故障検出率の向上効果を得ることが可能となる。
【０２８１】
（第１３の実施形態）
図２８は、第１３の実施形態における検査点を挿入した後のネットリストとして出力される論理回路の例を示す図である。
【０２８２】
第１３の実施形態では、第３の実施形態、第１２の実施形態と比べ、検査点の挿入禁止箇所の情報に基づき、挿入禁止箇所への検査点挿入を回避しつつ、極力、故障検出率の向上効果の高い検査点を挿入する手順が加わることにより、検査点が挿入される点が異なる。また、第１３の実施形態のＬＳＩ検査装置の構成は、第１の実施形態と同様であるので、その説明を省略する。また、第１３の実施形態の適用前の回路は、図９の回路に該当し、第３の実施形態と同様である。
【０２８３】
第１３の実施形態のＬＳＩ検査装置は、図２８の検査点９１０、論理回路ＢＬＫ１３００２、論理回路ＢＬＫ１３００１を除き、第３の実施形態とこの第３の実施形態から派生する第１２の実施形態と同様であるので、その説明を省略する。また、第１３の実施形態における検査点の構成は、第３の実施形態と同様であるので、その説明を省略する。
【０２８４】
第１３の実施形態では、論理回路ＢＬＫ１３００１は検査点挿入を行うことができない回路、論理回路ＢＬＫ１３００２は検査点挿入を行うことが可能な回路として、これ以降、説明する。
【０２８５】
図２８では、検査点９０９と検査点９１０の箇所に何も存在しない検査点挿入前の回路を用いたＡＴＰＧ処理結果として、論理ゲート９０２の入力端子はＵＯ故障と判断される。また、論理ゲート９０３の出力端子から論理ゲート９０６の入力端子への入力方向への信号経路の各論理ゲートの入力端子と出力端子は、ＥＱ故障と判断され、未検出故障と判定される。
【０２８６】
第３の実施形態及び第１２の実施形態では、検査点の挿入禁止箇所の情報がない場合、図２８の論理回路ＢＬＫ１３００１に含まれる検査点９０９に図１０の検査点が挿入される。第１３の実施形態のＬＳＩ設計装置では、論理回路ＢＬＫ１３００１への検査点挿入を回避するために、挿入禁止箇所として論理回路ＢＬＫ１３００１を定義付けると、挿入禁止箇所でない箇所、かつ、ＵＯ故障の後段にある信号受信のＦＦのＤ端子から論理段数が一番少ない箇所にあるＵＯ箇所である検査箇所に、検査点９１０が挿入される。なお、第１３の実施形態は、第１２の実施形態と同時に実施することも可能である。
【０２８７】
図２９は、自動検査点挿入処理の手順を示すフローチャートである。第１３の実施形態では、第３の実施形態に対し、ステップＳ２５ＢのＴＰＩリスト生成条件に、挿入禁止箇所の条件が追加される点が異なる。ステップＳ２１〜Ｓ２４、Ｓ２６〜Ｓ２８の処理は、第３の実施形態と同様であるので、その説明を省略する。
【０２８８】
第１３の実施形態では、ＬＳＩ設計装置５０は、予め用意した検査点挿入禁止箇所インスタンス情報をもとに、ステップＳ２４で抽出したパスリスト集合中の１つのパスに対し、信号送信ＳＦＦの出力端子に論理段数が最大となる箇所に存在する検査点挿入禁止箇所インスタンス以外のインスタンスのＵＯ故障の端子をＴＰＩリストとして集合の一要素とする（ステップＳ２５Ｂ）。
【０２８９】
このように、第１３の実施形態のＬＳＩ設計装置によれば、検査点挿入禁止箇所の制約を満たしつつ、最大限、第３の実施形態に近い故障検出率の向上効果を得ることが可能となる。
【０２９０】
（第１４の実施形態）
第１４の実施形態における検査点を挿入した後のネットリストとして出力される論理回路の例は、第１３の実施形態と同様である。第１４の実施形態では、第３の実施形態、第１２の実施形態と比べ、検査点の挿入許可箇所の情報に基づき、挿入許可箇所のみに極力、故障検出率の向上効果の高い検査点を挿入する手順が加わることにより、図２８の検査点９１０に検査点が挿入される点が異なる。
【０２９１】
検査点９１０、論理回路ＢＬＫ１３００２、論理回路ＢＬＫ１３００１以外の説明は、第３の実施形態とこの第３の実施形態から派生する第１２の実施形態と同様であるので、その説明を省略する。また、第１４の実施形態における検査点の構成は、第３の実施形態と同様であるので、その説明を省略する。
【０２９２】
第１４の実施形態では、論理回路ＢＬＫ１３００１は検査点挿入を行うことができない回路、論理回路ＢＬＫ１３００２は検査点挿入を行うことが可能な回路として、これ以降、説明する。
【０２９３】
図２８において、検査点９０９と検査点９１０の箇所に何も存在しない検査点挿入前の回路を用いたＡＴＰＧ処理結果として、論理ゲート９０２の入力端子はＵＯ故障と判断される。また、論理ゲート９０３の出力端子から論理ゲート９０６の入力端子への入力方向への信号経路の各論理ゲートの入力端子と出力端子はＥＱ故障と判断され、未検出故障と判定される。
【０２９４】
第３の実施形態及び第１２の実施形態では、検査点の挿入禁止箇所の情報が無い場合、図２８の論理回路ＢＬＫ１３００１に含まれる検査点９０９の箇所に図４３の検査点が挿入される。一方、第１４の実施形態では、論理回路ＢＬＫ１３００１への検査点挿入を回避するために、挿入許可箇所として論理回路ＢＬＫ１３００２を定義付けると、挿入許可箇所、かつ、ＵＯ故障の後段にある信号受信のＦＦのＤ端子から論理段数が一番少ない箇所にあるＵＯ箇所である検査点９１０の箇所に、検査点が挿入される。なお、第１４の実施形態は、第１２の実施形態と同時に実施することも可能である。
【０２９５】
図３０は、自動検査点挿入処理の手順を示すフローチャートである。第１４の実施形態は、第３の実施形態と比べ、ステップＳ２５ＣのＴＰＩリスト生成条件に、挿入禁止許可の条件が追加される点が異なる。その他のステップＳ２１〜Ｓ２４、ステップＳ２６〜Ｓ２８は第３の実施形態と同様であるので、その説明を省略する。
【０２９６】
第１４の実施形態では、ＬＳＩ設計装置５０は、予め用意した検査点挿入許可箇所インスタンス情報をもとに、信号送信ＳＦＦの出力端子に論理段数が最も少ない箇所に存在する検査点挿入許可インスタンスのＵＯ故障の端子をＴＰＩリストとして集合の一要素とする（ステップＳ２５Ｃ）。
【０２９７】
このように、第１４の実施形態のＬＳＩ設計装置によれば、検査点挿入許可箇所の制約を満たしつつ、最大限、第３の実施形態に近い故障検出率の向上効果を得ることが可能となる。
【０２９８】
（第１５の実施形態）
第１５の実施形態のＬＳＩ設計装置は、第２の実施形態、第９の実施形態、第１０の実施形態又は第１１の実施形態に適用され、挿入する検査点の箇所を抽出した時点で、検査点を挿入した後の故障検出率を仮想的に計算する。第１５の実施形態のＬＳＩ検査装置の構成は第７の実施形態のＬＳＩ設計装置（図１７参照）と同様であるので、その説明を省略する。
【０２９９】
第１５の実施形態における故障検出率を算出する方法は、第２、第９、第１０又は第１１の実施形態の差分に依存しないので、代表して第２の実施形態において故障検出率を算出する場合について説明する。その他の第９、第１０、第１１の実施形態における故障検出率の算出方法は、第２の実施形態における故障検出率の算出方法と同様であるので、その説明を省略する。
【０３００】
さらに、第１５の実施形態では、第７の実施形態と比べ、式（７）、（８）で示される検査点を挿入した後の検出故障数ΣＤＴ（ｐｏｓｔ）の抽出方法のみが異なるので、ΣＤＴ（ｐｏｓｔ）の抽出方法と関連する内容以外の説明を省略する。
【０３０１】
第２の実施形態の回路図（図６参照）において、検査点２０９を挿入した後に向上する故障検出率を算出する方法について説明する。検査点２０９を挿入することで、未検出ＵＣ故障から検出故障になると想定できる故障は、論理回路２０６のＵＣ、ＥＱ、論理回路２０５の入力側ＥＱ、出力側ＥＱ、論理回路２０４の入力側ＥＱ、出力側ＥＱ、論理ゲート２０３の入力側ＥＱ、出力側ＥＱ、論理ゲート２０２のＥＱの各故障である。これらのことを踏まえると、検査点２０９を挿入した場合の検出故障数ΣＤＴ（ｐｏｓｔ）は、式（１７）で表記することができる。
【０３０２】
ΣＤＴ（ｐｏｓｔ）＝ΣＤＴ（ｐｒｅ）＋（論理ゲート２０６のＵＣ＋論理ゲート２０６のＥＱ＋論理ゲート２０５の入力側ＥＱ＋論理ゲート２０５の出力側ＥＱ＋論理ゲート２０４の入力側ＥＱ＋論理ゲート２０４の出力側ＥＱ＋論理ゲート２０３の入力側ＥＱ＋論理ゲート２０３の出力側ＥＱ＋論理ゲート２０２のＥＱ）  …（１７）
【０３０３】
式（１７）を一般化すると、式（１８）となる。
ΣＤＴ（ｐｏｓｔ）＝ΣＤＴ（ｐｒｅ）＋Σｉ＝０→ｎＵＣ（ｉ）  …（１８）
ＵＣ（ｉ）：検査点ｉを挿入することにより、ＤＴ故障になるＵＣ故障数
ｎ：挿入する検査点の個数
【０３０４】
式（１８）、（１２）、（１３）を、検査点挿入後の故障検出率の式（５）、（６）に代入すると、式（１９）、（２０）が導き出される。
ＴＣ（ｐｏｓｔ）＝（ΣＤＴ（ｐｒｅ）＋Σｉ＝０→ｎＵＣ（ｉ））／（ＦＵ（ｐｒｅ）−ΣＲＥ（ｐｒｅ））  …（１９）
ＦＣ（ｐｏｓｔ）＝（ΣＤＴ（ｐｒｅ）＋Σｉ＝０→ｎＵＣ（ｉ））／（ＦＵ（ｐｒｅ））  …（２０）
ＴＣ（ｐｏｓｔ）：検査点挿入後のＴｅｓｔ  Ｃｏｖｅｒａｇｅ
ＦＣ（ｐｏｓｔ）：検査点挿入後のＦａｕｌｔ  Ｃｏｖｅｒａｇｅ
ΣＤＴ（ｐｒｅ）：検査点挿入前の検出故障の総和
ＦＵ（ｐｒｅ）：検査点挿入前の全故障数
ΣＲＥ（ｐｒｅ）：検査点挿入前の冗長故障の総和
ＵＣ（ｉ）：検査点ｉを挿入することにより、最大限ＤＴ故障になるＡＵ故障数
ｎ：挿入する検査点の個数
【０３０５】
式（１９）、（２０）によると、検査点ｉを挿入することにより検出故障になるＵＣ故障数を算出することにより、検査点挿入前のＡＴＰＧ結果より得られる検査点挿入前の検出故障の総和ΣＤＴ（ｐｒｅ）と、検査点挿入前の全故障数ＦＵ（ｐｒｅ）と、検査点挿入前の冗長故障の総和ΣＲＥ（ｐｒｅ）とから、検査点を挿入した後の故障検出率を仮想的に得ることが可能となる。
【０３０６】
図３１は、自動検査点挿入処理及び故障検出率計算処理の手順を示すフローチャートである。このフローチャートでは、第２、第９の実施形態と比べ、検査点を挿入した後の仮想的な故障検出率を計算する、ステップＳ１９、Ｓ２０の処理が追加されるが異なる。その他のステップＳ１１〜Ｓ１８の処理は、第２、第９の実施形態と同様であるので、その説明を省略する。さらに、第１５の実施形態は、第２、第９の実施形態の差分に依存しないので、代表して第２の実施形態に対して説明し、第９の実施形態に対する説明は省略する。
【０３０７】
第１５の実施形態のＬＳＩ設計装置５０は、ステップＳ１６で得られる検査点に対応した、ステップＳ１４で得られるＵＣインスタンスの出力端子を出力側にトレースし、得られるパスリストから抽出される式（１８）で示されるＵＣ（ｉ）を、検査点挿入後に故障検出可能となる故障数として、ステップＳ１１の入力となる検査点を挿入する前の検出故障数に加えることで、仮想的に検査点を挿入した後の故障検出率を算出する（ステップＳ１９）。そして、ＬＳＩ設計装置５０は、算出した、検査点を挿入した後の故障検出率の見積もり結果を出力する（ステップＳ２０）。
【０３０８】
このように、第１５の実施形態のＬＳＩ設計装置によれば、検査点を挿入する前に検査点挿入による故障検出率の向上効果を見積もることが可能となる。
【０３０９】
（第１６の実施形態）
第１６の実施形態のＬＳＩ設計装置は、第３の実施形態、又は第１２の実施形態に適用され、挿入する検査点の箇所を抽出した時点で、検査点を挿入した後の故障検出率を仮想的に計算する。第１６の実施形態のＬＳＩ検査装置の構成は第７の実施形態のＬＳＩ設計装置（図１７参照）と同様であるので、その説明を省略する。
【０３１０】
第１６の実施形態における故障検出率を算出する方法は、第３、第１２、第１３又は第１４の実施形態の差分に依存しないので、代表して第３の実施形態における故障検出率を算出する方法に適用された場合について説明する。その他の第１２、第１３、第１４の実施形態における故障検出率の算出方法は、第３の実施形態における故障検出率の算出方法と同様であるので、その説明を省略する。さらに、第１６の実施形態では、第７の実施形態と比べ、式（７）、（８）で示される検査点を挿入した後の検出故障数ΣＤＴ（ｐｏｓｔ）の抽出方法のみが異なるので、ΣＤＴ（ｐｏｓｔ）の抽出方法と関連する内容以外の説明を省略する。
【０３１１】
第３の実施形態の回路図（図９参照）において、検査点３０９を挿入した後に向上する故障検出率を算出する方法について説明する。
【０３１２】
検査点３０９を挿入することで、未検出ＵＯ故障から検出故障になると想定できる故障は、論理ゲート３０２の入力側のＵＯと、論理ゲート３０３の入力側のＥＱと論理ゲート３０３の出力側のＥＱと、論理ゲート３０３の入力側のＥＱと論理ゲート３０３の出力側のＥＱと、論理ゲート３０４の入力側のＥＱと論理ゲート３０４の出力側のＥＱと、論理ゲート３０５の入力側のＥＱと論理ゲート３０５の出力側のＥＱと、論理ゲート３０６の入力側のＥＱと論理ゲート３０６の出力側のＥＱの各故障である。これらのことを踏まえると、検査点３０９を挿入した場合の検出故障数ΣＤＴ（ｐｏｓｔ）は、式（２１）で表記することができる。
【０３１３】
ΣＤＴ（ｐｏｓｔ）＝ΣＤＴ（ｐｒｅ）＋（論理ゲート３０２の入力側のＵＯ＋論理ゲート３０３の入力側のＥＱ＋論理ゲート３０３の出力側のＥＱ＋論理ゲート３０４の入力側のＥＱ＋論理ゲート３０４の出力側のＥＱ＋論理ゲート３０５の入力側のＥＱ＋論理ゲート３０５の出力側のＥＱ＋論理ゲート３０６の入力側のＥＱ＋論理ゲート３０６の出力側のＥＱ）  …（２１）
【０３１４】
式（２１）を一般化すると、式（２２）となる。
ΣＤＴ（ｐｏｓｔ）＝ΣＤＴ（ｐｒｅ）＋Σｉ＝０→ｎＵＯ（ｉ）  …（２２）
ＵＯ（ｉ）：検査点ｉを挿入することにより、ＤＴ故障になるＵＣ故障数
ｎ：挿入する検査点の個数
【０３１５】
式（２２）、（１２）、（１３）を、検査点挿入後の故障検出率の式（５）、（６）に代入すると、式（２３）、（２４）が導き出される。
ＴＣ（ｐｏｓｔ）＝（ΣＤＴ（ｐｒｅ）＋Σｉ＝０→ｎＵＣ（ｉ））／（ＦＵ（ｐｒｅ）−ΣＲＥ（ｐｒｅ））  …（２３）
ＦＣ（ｐｏｓｔ）＝（ΣＤＴ（ｐｒｅ）＋Σｉ＝０→ｎＵＣ（ｉ））／（ＦＵ（ｐｒｅ））  …（２４）
ＴＣ（ｐｏｓｔ）：検査点挿入後のＴｅｓｔ  Ｃｏｖｅｒａｇｅ
ＦＣ（ｐｏｓｔ）：検査点挿入後のＦａｕｌｔ  Ｃｏｖｅｒａｇｅ
ΣＤＴ（ｐｒｅ）：検査点挿入前の検出故障の総和
ＦＵ（ｐｒｅ）：検査点挿入前の全故障数
ΣＲＥ（ｐｒｅ）：検査点挿入前の冗長故障の総和
ＵＯ（ｉ）：検査点ｉを挿入することにより、最大限ＤＴ故障になるＡＵ故障数
ｎ：挿入する検査点の個数
【０３１６】
式（２３）、（２４）によると、検査点ｉを挿入することにより検出故障になるＵＯ故障数を算出することにより、検査点挿入前のＡＴＰＧ結果より得られる検査点挿入前の検出故障の総和ΣＤＴ（ｐｒｅ）と、検査点挿入前の全故障数ＦＵ（ｐｒｅ）と、検査点挿入前の冗長故障の総和ΣＲＥ（ｐｒｅ）とから、検査点を挿入した後の故障検出率を仮想的に得ることが可能となる。
【０３１７】
図３２は、自動検査点挿入処理及び故障検出率計算処理の手順を示すフローチャートである。このフローチャートでは、第３、第１２の実施形態と比べ、検査点を挿入した後の仮想的な故障検出率を計算する、ステップＳ２９、Ｓ３０の処理が追加されるが異なる。その他のステップＳ２１〜Ｓ２８の処理は第３、第１２の実施形態と同様であるので、その説明を省略する。さらに、第１６の実施形態は、第３、第１２の実施形態の差分に依存しないので、代表して第３の実施形態に対して説明し、第１２の実施形態に対する説明は省略する。
【０３１８】
第１６の実施形態のＬＳＩ設計装置５０は、ステップＳ２６で得られる検査点に対応した、ステップＳ２４で得られるＵＯインスタンスの出力端子を出力側にトレースし、得られるパスリストから抽出される式（２２）で示されるＵＯ（ｉ）を、検査点挿入後に故障検出可能となる故障数として、ステップＳ２１の入力となる検査点を挿入する前の検出故障数に加えることで、仮想的に検査点を挿入した後の故障検出率を算出する（ステップＳ２９）。そして、ＬＳＩ設計装置５０は、算出した、検査点を挿入した後の故障検出率の見積もり結果を出力する（ステップＳ３０）。
【０３１９】
このように、第１６の実施形態のＬＳＩ設計装置によれば、検査点を挿入する前に検査点挿入による故障検出率の向上効果を見積もることが可能となる。
【産業上の利用可能性】
【０３２０】
本発明に係る半導体集積回路の設計装置は、ネットリストとして出力される論理回路に検査点を自動で挿入するＬＳＩ設計装置等として有用である。
【符号の説明】
【０３２１】
１０，１１３，１１５，４００，４０１３，４０１５  スキャンフリップフロップ（ＳＦＦ）
１４，１５，１９  検査点
５０  ＬＳＩ設計装置
５１  ＡＴＰＧ部
５２  未検出故障リスト生成部
５３  入力部
５４  始点リスト生成部
５５  パスリスト生成部
５６  ＴＰＩリスト生成部
５７  検査点挿入部
５８  出力部
５９  故障検出率計算部
１００  論理回路
１１０，４０１０  ノンスキャンフリップフロップ（ＮＦＦ）
２０１，３０１，５０１，５５１，６０１，６５１，８０１，８５１  信号受信のフリップフロップ
２０２〜２０６  論理ゲート
２０７  組合せ論理回路群
２０８，３０８，５０８，５８０，６０８，６８０，８０８，８５８  信号送信のフリップフロップ
ＢＬＫ１，ＢＬＫ４０１  ブラックボックス
ＢＬＫ２，ＢＬＫ４０２  組合せ回路や順序回路で構成される論理回路
ＢＬＫ３，ＢＬＫ４０３  非スキャン化されたフリップフロップ等を含む論理回路
ＢＬＫ１０００１，ＢＬＫ１３００２  検査点を挿入することができる回路
ＢＬＫ１０００２，ＢＬＫ１３００１  検査点を挿入することができない回路
【図１】
2012099028.tif 000003
【図２】
2012099028.tif 000004
【図３】
2012099028.tif 000005
【図４】
2012099028.tif 000006
【図５】
2012099028.tif 000007
【図６】
2012099028.tif 000008
【図７】
2012099028.tif 000009
【図８】
2012099028.tif 000010
【図９】
2012099028.tif 000011
【図１０】
2012099028.tif 000012
【図１１】
2012099028.tif 000013
【図１２】
2012099028.tif 000014
【図１３】
2012099028.tif 000015
【図１４】
2012099028.tif 000016
【図１５】
2012099028.tif 000017
【図１６】
2012099028.tif 000018
【図１７】
2012099028.tif 000019
【図１８】
2012099028.tif 000020
【図１９】
2012099028.tif 000021
【図２０】
2012099028.tif 000022
【図２１】
2012099028.tif 000023
【図２２】
2012099028.tif 000024
【図２３】
2012099028.tif 000025
【図２４】
2012099028.tif 000026
【図２５】
2012099028.tif 000027
【図２６】
2012099028.tif 000028
【図２７】
2012099028.tif 000029
【図２８】
2012099028.tif 000030
【図２９】
2012099028.tif 000031
【図３０】
2012099028.tif 000032
【図３１】
2012099028.tif 000033
【図３２】
2012099028.tif 000034