JP2016218577A - 故障検出率演算装置、故障検出率演算プログラム及びその方法、並びにテストパターン生成装置及び、テストパターン生成プログラム及びその方法 - Google Patents

故障検出率演算装置、故障検出率演算プログラム及びその方法、並びにテストパターン生成装置及び、テストパターン生成プログラム及びその方法 Download PDF

Info

Publication number
JP2016218577A
JP2016218577A JP2015100296A JP2015100296A JP2016218577A JP 2016218577 A JP2016218577 A JP 2016218577A JP 2015100296 A JP2015100296 A JP 2015100296A JP 2015100296 A JP2015100296 A JP 2015100296A JP 2016218577 A JP2016218577 A JP 2016218577A
Authority
JP
Japan
Prior art keywords
failure detection
failure
critical area
wiring
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015100296A
Other languages
English (en)
Inventor
岩崎 一彦
Kazuhiko Iwasaki
一彦 岩崎
潤 松嶋
Jun Matsushima
潤 松嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Semiconductor Technology Academic Research Center
Original Assignee
Semiconductor Technology Academic Research Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Semiconductor Technology Academic Research Center filed Critical Semiconductor Technology Academic Research Center
Priority to JP2015100296A priority Critical patent/JP2016218577A/ja
Publication of JP2016218577A publication Critical patent/JP2016218577A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

【課題】物理的な欠陥及び物理的な不良を考慮した故障検出率を単一の故障検出率で評価する。【解決手段】故障検出率演算方法では、ネットリストに対応する配置配線情報を使用して、微粒子により第1故障が発生する面積を示す第1CAを配線毎に演算し、配置配線情報を使用して、微粒子により第1故障と相違する第2故障が発生する面積を示す第2CAを配線毎に演算し、論理回路の動作を検証するテストパターンにより、ネットリストの配線のそれぞれにおける第1故障が検出可能であるか否かを示す第1故障検出情報、及びネットリストの配線のそれぞれにおける第2故障が検出可能であるか否かを示す第2故障検出情報を演算し、第1CAに応じて第1故障検出情報を重み付けした第1故障検出値、第2CAに応じて第2故障検出情報を重み付けした第2故障検出値及び第1CAの総和と第2CAの総和とを加算した合計CAを使用して故障検出率を演算する。【選択図】図18

Description

本発明は、故障検出率演算装置、故障検出率演算プログラム及びその方法、並びにテストパターン生成装置及び、テストパターン生成プログラム及びその方法に関する。
半導体集積回路の動作速度の高速化、及び微細化の進展に伴って、半導体集積回路の動作不良の原因となる物理的な欠陥、及び物理的な不良を高精度に検出することへの要求が高まっている。このため、物理的な欠陥、及び物理的な不良に起因する故障のテスト品質を高精度に算出する種々の技術が開発されている。
例えば、特許文献1には、遅延故障の検出を目的として半導体集積回路(以下、LSIとも称する)に印加されるテストパターンにより実現される遅延故障テスト品質を、高精度に算出する遅延故障テスト品質算出方法が記載される。特許文献1に記載される算出方法では、まず、特定のプロセス等に共通的のレイアウト要素の物理欠陥分布及びレイアウト情報を含むLSIのそれぞれに固有の情報をTEG等から取得し、取得した情報に基づいてLSIのそれぞれの遅延故障の分布を求める。次いで、遅延故障の検出を目的としてLSIに印加されるテストパターンにより実現される遅延故障テスト品質を算出する。特許文献1に記載される算出方法では、LSIのレイアウトの空き領域に配置された評価用TEGを製品の出荷テスト時に測定し、その測定結果を蓄積することによって、高信頼性の物理欠陥分布を継続的に取得する。
また、非特許文献1〜4には、物理的な欠陥、及び物理的な不良に起因する遅延故障に対するテスト品質の算出精度を更に高めるため、LSIの実際の配置配線情報を使用してテスト品質を算出する方法が記載される。非特許文献1〜4では、LSIの実際の配置配線情報から配線毎にクリティカルエリア(以下、CAとも称する)が演算され、演算したクリティカルエリアにより重み付けした故障カバレージ(以下、故障検出率とも称する)が演算される。
図1は非特許文献1〜4に記載される算出方法で使用されるクリティカルエリアを説明する図であり、図1(a)はオープン欠陥のクリティカルエリアの一例を示す図であり、図1(b)はブリッジ欠陥のクリティカルエリアの一例を示す図である。図1(c)は図1(a)に示すオープン欠陥のクリティカルエリアと微粒子の粒径との関係を示す図であり、図1(d)は図1(b)に示すブリッジ欠陥のクリティカルエリアと微粒子の粒径との関係を示す図である。図1(c)及び1(d)において、微粒子は正方形の破線で示され、微粒子の粒径は双方向矢印rで示される。
クリティカルエリアは、所定の配置配線情報が示すレイアウトに対して、欠陥を引き起こすような微粒子の中心座標が占める領域の面積を意味し、与えられた微粒子の粒径と、配線幅及び配線間隔等の配線情報とに応じた関数となる。図1(a)において、配線Bのオープン欠陥のクリティカルエリアAop(r,B)は、矢印Dで示される。また、図1(b)において、配線Aと配線Bとの間のブリッジ欠陥のクリティカルエリアAbr(r,A,B)は、矢印Eで示される。
配線Bのオープン欠陥のクリティカルエリアAop(r,B)は、図1(c)に示すように、配線Bを囲むように形成され、微粒子の一部が配線Bの幅方向を覆うときの微粒子の中心座標の軌跡となる。
配線Aと配線Bとの間のブリッジ欠陥のクリティカルエリアAbr(r,A,B)は、図1(d)に示すように、配線Aと配線Bとの間に位置し、微粒子の一部が配線A及びBnの双方に少なくとも接するときの微粒子の中心座標の軌跡となる。
非特許文献4には、半導体集積回路に配置される論理回路の配置配線情報を使用して、配線毎にオープン欠陥のクリティカルエリアを演算し、演算したクリティカルエリアにより重み付けされた故障検出カバレージWFCopen(r)が記載される。すなわち、オープン欠陥による故障モデルにおける重み付き故障カバレージWFCopen(r)は、
で示される。ここで、Aopen(r,si)は配線siのオープン欠陥による故障のクリティカルエリアを示し、Dopen(si)はテストパターンを印加したときの配線siのオープン欠陥による故障検出を示す情報である。
また、非特許文献2には、半導体集積回路に配置される論理回路の配置配線情報を使用して、配線毎にブリッジ欠陥のクリティカルエリアを演算し、演算したクリティカルエリアにより重み付けされた故障検出カバレージWFCbr(r)が記載される。すなわち、ブリッジ欠陥による故障モデルにおける重み付き故障カバレージWFCbr(r)は、
で示される。ここで、Abr(r,si,sj)は配線siと配線sjとの間のブリッジ欠陥による故障のクリティカルエリアを示し、Dbr(si,sj)はテストパターンを印加したときの配線siと配線sjとの間のブリッジ欠陥による故障検出を示す情報である。
非特許文献1〜4では、配置配線情報から演算したクリティカルエリアにより重み付けした重み付き故障検出率を算出することができるので、物理的な欠陥、及び物理的な不良を考慮したテスト品質をより高精度に算出することができる。
特開2008−128817号公報
「レイアウトを考慮した故障カバレージの高精度見積りに関する一考察」、新井 雅之 他、信学技報、2012年2月 「レイアウトを考慮したブリッジ/オープン欠陥による故障カバレージの高精度見積法」、新井 雅之 他、信学技報、2012年6月 「クリティカルエリア解析に基づく故障カバレージ見積りに関する一考察」、清水貴弘 他、信学技報、2013年2月 「異なる欠陥粒径とビアオープンを考慮した重み付き故障カバレージに関する一考察」、中山 裕太 他、信学技報、2014年2月
しかしながら、非特許文献1〜4では、オープン欠陥及びブリッジ欠陥による故障のそれぞれについて別個に重み付き故障検出率を算出するため、物理的な欠陥及び物理的な不良を考慮した故障検出率を単一の故障検出率で評価することは容易ではない。
一実施形態では、物理的な欠陥及び物理的な不良を考慮した故障検出率を単一の故障検出率で評価可能な故障検出率演算方法を提供することを目的とする。
1つの態様では、故障検出率演算装置は、半導体集積回路に配置される論理回路の接続関係を示すネットリストに対応する配置配線情報を使用して、微粒子により第1故障が発生する面積を示す第1クリティカルエリアをネットリストの配線毎に演算する第1クリティカルエリア演算部と、配置配線情報を使用して、微粒子により第1故障と相違する第2故障が発生する面積を示す第2クリティカルエリアをネットリストの配線毎に演算する第2クリティカルエリア演算部と、論理回路の動作を検証するテストパターンにより、ネットリストの配線のそれぞれにおける第1故障が検出可能であるか否かを示す第1故障検出情報、及びネットリストの配線のそれぞれにおける第2故障が検出可能であるか否かを示す第2故障検出情報を演算する故障検出情報演算部と、第1クリティカルエリアに応じて第1故障検出情報を重み付けした第1故障検出値、第2クリティカルエリアに応じて第2故障検出情報を重み付けした第2故障検出値、及び第1クリティカルエリアの総和と第2クリティカルエリアの総和とを加算した合計クリティカルエリアを使用して故障検出率を演算する故障検出率演算部と、故障検出率を出力する故障検出率出力部と、を有することを特徴とする。
さらに、本発明に係る故障検出率演算装置では、故障検出率は、第1故障検出値と、第2故障検出値とを加算した値を分子とし、第1クリティカルエリアの総和と第2クリティカルエリアの総和とを加算した合計クリティカルエリアを分母として演算されることが好ましい。
さらに、本発明に係る故障検出率演算装置では、第1故障は、ネットリストの配線が幅方向に亘って絶縁性の微粒子により切断される完全オープン欠陥による故障であり、第2故障は、ネットリストの配線の何れかの間が導電性の微粒子により連結される完全ブリッジ欠陥による故障であることが好ましい。
さらに、本発明に係る故障検出率演算装置では、配置配線情報を使用して、ネットリストの配線が微粒子により部分的に欠損する抵抗性オープン欠陥による故障である第3故障が発生する面積を示す第3クリティカルエリアをネットリストの配線毎に演算する第3クリティカルエリア演算部と、配置配線情報を使用して、ネットリストの配線の何れかの間が第2故障の微粒子の抵抗値よりも高い抵抗値を有する微粒子により連結される抵抗性ブリッジによる故障である第4故障が発生する面積を示す第4クリティカルエリアをネットリストの配線毎に演算する第4クリティカルエリア演算部と、を更に有することが好ましい。
さらに、本発明に係る故障検出率演算装置では、故障検出情報演算部は、テストパターンにより、ネットリストの配線のそれぞれにおける第3故障が検出可能であるか否かを示す第3故障検出情報、及びネットリストの配線のそれぞれにおける第4故障が検出可能であるか否かを示す第4故障検出情報を更に演算し、故障検出率は、第1故障検出値と、第2故障検出値と、第3クリティカルエリアに応じて第3故障検出情報を重み付けした第3故障検出値と、第4クリティカルエリアに応じて第4故障検出情報を重み付けした第4故障検出値とを加算した値を分子とし、第1クリティカルエリアの総和と第2クリティカルエリアの総和と第3クリティカルエリアの総和と第4クリティカルエリアの総和とを加算した合計クリティカルエリアを分母として演算されることが好ましい。
さらに、本発明に係る故障検出率演算装置では、第1クリティカルエリア及び第2クリティカルエリアは、微粒子の粒径と微粒子による欠陥発生確率との関係により補正されることが好ましい。
他の態様では、故障検出率演算方法は、半導体集積回路に配置される論理回路の接続関係を示すネットリストに対応する配置配線情報を使用して、微粒子により第1故障が発生する面積を示す第1クリティカルエリアをネットリストの配線毎に演算し、配置配線情報を使用して、微粒子により第1故障と相違する第2故障が発生する面積を示す第2クリティカルエリアをネットリストの配線毎に演算し、論理回路の動作を検証するテストパターンにより、ネットリストの配線のそれぞれにおける第1故障が検出可能であるか否かを示す第1故障検出情報、及びネットリストの配線のそれぞれにおける第2故障が検出可能であるか否かを示す第2故障検出情報を演算し、第1クリティカルエリアに応じて第1故障検出情報を重み付けした第1故障検出値、第2クリティカルエリアに応じて第2故障検出情報を重み付けした第2故障検出値、及び第1クリティカルエリアの総和と第2クリティカルエリアの総和とを加算した合計クリティカルエリアを使用して故障検出率を演算し、故障検出率を出力する、ことを有することを特徴とする。
他の態様では、故障検出率演算プログラムは、テストパターン生成装置は、半導体集積回路に配置される論理回路の接続関係を示すネットリストに対応する配置配線情報を使用して、微粒子により第1故障が発生する面積を示す第1クリティカルエリアをネットリストの配線毎に演算し、配置配線情報を使用して、微粒子により第1故障と相違する第2故障が発生する面積を示す第2クリティカルエリアをネットリストの配線毎に演算し、論理回路の動作を検証するテストパターンにより、ネットリストの配線のそれぞれにおける第1故障が検出可能であるか否かを示す第1故障検出情報、及びネットリストの配線のそれぞれにおける第2故障が検出可能であるか否かを示す第2故障検出情報を演算し、第1クリティカルエリアに応じて第1故障検出情報を重み付けした第1故障検出値、第2クリティカルエリアに応じて第2故障検出情報を重み付けした第2故障検出値、及び第1クリティカルエリアの総和と第2クリティカルエリアの総和とを加算した合計クリティカルエリアを使用して故障検出率を演算し、故障検出率を出力する、処理を演算部に実行させることを特徴とする。
他の態様では、半導体集積回路に配置される論理回路の接続関係を示すネットリストに対応する配置配線情報を使用して、微粒子により第1故障が発生する面積を示す第1クリティカルエリアをネットリストの配線毎に演算する第1クリティカルエリア演算部と、配置配線情報を使用して、微粒子により第1故障と相違する第2故障が発生する面積を示す第2クリティカルエリアをネットリストの配線毎に演算する第2クリティカルエリア演算部と、ネットリストの配線のそれぞれにおける第1故障が検出可能であるか否かを示す第1故障検出情報、及びネットリストの配線のそれぞれにおける第2故障が検出可能であるか否かを示す第2故障検出情報を、論理回路の動作を検証する複数のテストパターン毎に演算する故障検出情報演算部と、第1クリティカルエリアに応じて第1故障検出情報を重み付けした第1故障検出値、第2クリティカルエリアに応じて第2故障検出情報を重み付けした第2故障検出値、及び第1クリティカルエリアの総和と第2クリティカルエリアの総和とを加算した合計クリティカルエリアを使用して故障検出率を、複数のテストパターン毎に演算する故障検出率演算部と、複数のテストパターンの何れかを組み合わせたときの故障検出率が所望の値であるときに、組み合わせたテストパターンを、使用するテストパターンとして決定するテストパターン決定部と、テストパターン決定部が決定したテストパターンを出力するテストパターン出力部と、を有することを特徴とする。
他の態様では、テストパターン生成方法は、半導体集積回路に配置される論理回路の接続関係を示すネットリストに対応する配置配線情報を使用して、微粒子により第1故障が発生する面積を示す第1クリティカルエリアをネットリストの配線毎に演算し、配置配線情報を使用して、微粒子により第1故障と相違する第2故障が発生する面積を示す第2クリティカルエリアをネットリストの配線毎に演算し、ネットリストの配線のそれぞれにおける第1故障が検出可能であるか否かを示す第1故障検出情報、及びネットリストの配線のそれぞれにおける第2故障が検出可能であるか否かを示す第2故障検出情報を、論理回路の動作を検証する複数のテストパターン毎に演算し、第1クリティカルエリアに応じて第1故障検出情報を重み付けした第1故障検出値、第2クリティカルエリアに応じて第2故障検出情報を重み付けした第2故障検出値、及び第1クリティカルエリアの総和と第2クリティカルエリアの総和とを加算した合計クリティカルエリアを使用して故障検出率を、複数のテストパターン毎に演算し、複数のテストパターンの何れかを組み合わせたときの故障検出率が所望の値であるときに、組み合わせたテストパターンを、使用するテストパターンとして決定し、決定されたテストパターンを出力する、ことを有することを特徴とする。
他の態様では、テストパターン生成プログラムは、半導体集積回路に配置される論理回路の接続関係を示すネットリストに対応する配置配線情報を使用して、微粒子により第1故障が発生する面積を示す第1クリティカルエリアをネットリストの配線毎に演算し、配置配線情報を使用して、微粒子により第1故障と相違する第2故障が発生する面積を示す第2クリティカルエリアをネットリストの配線毎に演算し、ネットリストの配線のそれぞれにおける第1故障が検出可能であるか否かを示す第1故障検出情報、及びネットリストの配線のそれぞれにおける第2故障が検出可能であるか否かを示す第2故障検出情報を、論理回路の動作を検証する複数のテストパターン毎に演算し、第1クリティカルエリアに応じて第1故障検出情報を重み付けした第1故障検出値、第2クリティカルエリアに応じて第2故障検出情報を重み付けした第2故障検出値、及び第1クリティカルエリアの総和と第2クリティカルエリアの総和とを加算した合計クリティカルエリアを使用して故障検出率を、複数のテストパターン毎に演算し、組み合わせたときの故障検出率が所望の値であるときに、複数のテストパターンの何れかを組み合わせたテストパターンを、使用するテストパターンとして決定し、決定されたテストパターンを出力する、処理を演算部に実行させることを特徴とする。
一実施形態では、物理的な欠陥及び物理的な不良を考慮した故障検出率を単一の故障検出率で評価可能な故障検出率演算方法を提供することができる。
非特許文献1〜4に記載される算出方法で使用されるクリティカルエリアを説明する図であり、(a)はオープン欠陥のクリティカルエリアの一例を示す図であり、(b)はブリッジ欠陥のクリティカルエリアの一例を示す図であり、(c)は(a)に示すオープン欠陥のクリティカルエリアと微粒子の粒径との関係を示す図であり、(d)は(b)に示すブリッジ欠陥のクリティカルエリアと微粒子の粒径との関係を示す図である。 第1実施形態に係る故障検出率演算装置を示す図である。 図2に示す故障検出率演算装置が実行する故障検出率演算処理のフローチャートを示す図である。 図2に示すネットリスト取得部が取得するネットリストの一例を示す図であり、(a)はネットリストのテキスト表示の一例を示す図であり、(b)は(a)に示すネットリストに対応する回路図である。 図2に示すネットリスト取得部が取得するネットリストから生成される配置配線情報の配線形状の一例を示す図である。 図3に示すS103のより詳細な処理を示すフローチャートである。 図3に示すS103の処理により演算された第1クリティカルエリアを示す図であり、(a)は微粒子の粒径rが0.1μmのときの第1クリティカルエリアであり、(b)は微粒子の粒径rが0.2μmのときの第1クリティカルエリアであり、(c)は微粒子の粒径rが0.3μmのときの第1クリティカルエリアである。 図6に示すS207の処理を示す図である。 図3に示すS104のより詳細な処理を示すフローチャートである。 図3に示すS104の処理により演算された第2クリティカルエリアを示す図であり、(a)は微粒子の粒径rが0.1μmのときの第2クリティカルエリアであり、(b)は微粒子の粒径rが0.2μmのときの第2クリティカルエリアであり、(c)は微粒子の粒径rが0.4μmのときの第2クリティカルエリアである。 図9に示すS307の処理を示す図である。 図4に示す論理回路のテストパターンの一例を示す図であり、(a)は固定故障検出用のテストパターンを示す図であり、(b)は遅延故障検出用のテストパターンである。 完全オープン欠陥による故障である第1故障検出情報を示す図である。 完全ブリッジ欠陥による故障である第2故障検出情報を示す図であり、(a)は完全ブリッジ欠陥による第1故障モデルを示し、(b)は完全ブリッジ欠陥による第2故障モデルを示す。 完全ブリッジ欠陥による故障である第2故障検出情報を示す図であり、(c)はブリッジ欠陥による第3故障モデルを示し、(d)は完全ブリッジ欠陥による第4故障モデルを示す。 図14に示す完全ブリッジ欠陥による故障の概要を示す図であり、(a)は図14(a)に示す故障モデルを示し、(b)は図14(c)に示す故障モデルを示し、(c)は図14(c)に示す故障モデルを示し、(d)は図14(d)に示す故障モデルを示す。 図3に示すS107のより詳細な処理を示すフローチャートである。 図2に示す故障検出率演算部が第1故障検出値を演算する処理を示す図である。 図2に示す故障検出率演算装置の故障検出率演算処理におけるデータフローを示す図である。 第2実施形態に係る故障検出率演算装置を示す図である。 図19に示す故障検出率演算装置が実行する故障検出率演算処理のフローチャートを示す図である。 図20に示すS503のより詳細な処理を示すフローチャートである。 第1クリティカルエリア及び第3クリティカルエリアの一例を示す図である。 図21に示すS309の処理を示す図である。 図20に示すS504のより詳細な処理を示すフローチャートである。 図20に示すS507における処理を示す図である。 (a)は抵抗性オープン欠陥による故障である第3故障検出情報を示す図であり、(b)は抵抗性ブリッジ欠陥による故障である第4故障検出情報を示す図である。 図26(b)に示す抵抗性ブリッジ欠陥による故障の概要を示す図である。 図20に示すS507のより詳細な処理を示すフローチャートである。 図19に示す故障検出率演算装置の故障検出率演算処理におけるデータフローを示す図である。 第3実施形態に係るテストパターン生成装置を示す図である。 図30に示すテストパターン生成装置が実行する故障検出率演算処理のフローチャートを示す図である。 図31に示すS907〜S910の処理を示す図である。 第4クリティカルエリアの他の実施形態を示す図であり、(a)は第2クリティカルエリアを示し、(b)は第2クリティカルエリア及び第4クリティカルエリアを示す。
以下図面を参照して、故障検出率演算装置、故障検出率演算プログラム及びその方法、並びにテストパターン生成装置及び、テストパターン生成プログラム及びその方法について説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されない。
(実施形態に係る故障検出率方法の概要)
実施形態に係る故障検出率方法は、異なるモデルの故障が発生する面積を示す複数のクリティカルエリアにより故障検出情報を重み付けした故障検出値を分子とし、複数のクリティカルエリアのそれぞれの総和の合計を分母として故障検出率を演算する。実施形態に係る故障検出率方法では、物理的な欠陥及び物理的な不良を考慮した故障検出率を単一の故障検出率で評価することが可能になる。
(第1実施形態に係る故障検出率演算装置の構成)
図2は、第1実施形態に係る故障検出率演算装置を示す図である。
故障検出率演算装置1は、通信部101と、記憶部102と、表示部103と、入力部104と、出力部105と、演算部110とを有する。
通信部101は、イーサネット(登録商標)などの有線の通信インターフェース回路を有し、イーサネット(登録商標)等の有線LANにより不図示のゲートウェイを介して、イントラネットと接続される。通信部101は、イントラネットを介して不図示の他の電子計算機等と通信を行う。そして、通信部101は、電子計算機等から受信したデータを演算部110に供給する。また、通信部101は、演算部110から供給されたデータを他の電子計算機等に送信する。例えば、通信部101は、半導体集積回路に配置される論理回路の接続関係を示すネットリストを他の電子計算機から受信する。また、通信部101は、演算部110で演算された故障検出率を他の電子計算機に送信する。
記憶部102は、例えば、半導体メモリ、磁気ディスク装置、及び光ディスク装置のうちの少なくとも一つを有する。記憶部102は、演算部110による処理に用いられるドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム、データ等を記憶する。例えば、記憶部102は、ドライバプログラムとして、通信部101を制御する通信デバイスドライバプログラム等を記憶する。また、記憶部102は、オペレーティングシステムプログラムとして、TCP/IP(Transmission Control Protocol / Internet Protocol)等の通信方式による接続制御プログラム等を記憶する。また、記憶部102は、アプリケーションプログラムとして、ソフトウェアキーボードを記憶すると共に、各種データの送受信を行うデータ処理プログラム等を記憶する。コンピュータプログラムは、例えばCD−ROM、DVD−ROM等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて記憶部102にインストールされてもよい。
表示部103は、ディスプレイ、プリンタ、スピーカ等であり、オペレータへの問い合わせや処理結果の出力に使用される。入力部104は、キーボード、ポインティングデバイス等であり、オペレータからの指示や情報の入力に使用される。
演算部110は、一又は複数個のプロセッサ及びその周辺回路を有する。演算部110は、故障検出率演算装置1の全体的な動作を統括的に制御するものであり、例えば、CPUである。演算部110は、故障検出率演算装置1の各種処理が記憶部102に記憶されているプログラム等に応じて適切な手順で実行されるように、通信部101等の動作を制御する。演算部110は、記憶部102に記憶されているプログラム(ドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム等)に基づいて処理を実行する。また、演算部110は、複数のプログラム(アプリケーションプログラム等)を並列に実行することができる。
演算部110は、ネットリスト取得部111と、配置配線情報生成部112と、クリティカルエリア演算部113と、テストパターン生成部114と、故障検出情報演算部115と、故障検出率演算部116と、故障検出率出力部117とを有する。クリティカルエリア演算部113は、第1クリティカルエリア演算部131と、第2クリティカルエリア演算部132とを有するクリティカルエリア解析(Critical Area Analysis、CAA)ツールである。演算部110が有するこれらの各部は、演算部110が有するプロセッサ上で実行されるプログラムによって実装される機能モジュールである。あるいは、演算部110が有するこれらの各部は、独立した集積回路、マイクロプロセッサ、又はファームウェアとして故障検出率演算装置1に実装されてもよい。
(第1実施形態に係る故障検出率演算装置の動作)
図3は故障検出率演算装置1が実行する故障検出率演算処理のフローチャートを示す図である。
まず、ネットリスト取得部111は、半導体集積回路に配置される論理回路の接続関係を示すネットリストを、通信部101を介して他の電子計算機から取得する(S101)。
図4はネットリスト取得部111が取得するネットリストの一例を示す図であり、図4(a)はネットリストのテキスト表示の一例を示す図であり、図4(b)は図4(a)に示すネットリストに対応する回路図である。
論理回路10は、第1NAND素子11〜第6NAND素子16の6つの2入力NAND素子を有する。論理回路10への入力信号は、第1配線W1、第2配線W2、第3配線W3、第6配線W6及び第7配線W7のそれぞれに印加される。論理回路10の出力信号は、第22配線W22及び第23配線23のそれぞれから出力される。第1NAND素子11は、第1配線W1及び第3配線W3のそれぞれに印加される信号の論理積の反転信号を第10配線W10に出力する。第2NAND素子12は、第3配線W3及び第6配線W6のそれぞれに印加される信号の論理積の反転信号を第11配線W11に出力する。第3NAND素子13は、第2配線W2に印加される信号と、第2NAND素子12から第11配線W11に出力される信号との論理積の反転信号を第16配線W16に出力する。第4NAND素子14は、第7配線W7に印加される信号と、第2NAND素子12から第11配線W11に出力される信号との論理積の反転信号を第19配線W19に出力する。第5NAND素子15は、第1NAND素子11から第10配線W10に出力される信号と、第3NAND素子13から第16配線W16に出力される信号との論理積の反転信号を第22配線W22に出力する。第6NAND素子16は、第3NAND素子13から第10配線W16に出力される信号と、第4NAND素子14から第19配線W19に出力される信号との論理積の反転信号を第23配線W23に出力する。
次いで、配置配線情報生成部112は、ネットリスト取得部111が取得したネットリストに対応する配置配線情報を生成する(S102)。配置配線情報生成部112は、いわゆるレイアウトツールであり、ネットリスト取得部111が取得したネットリストから所定の配置配線アルゴリズムに基づいて配置配線情報を生成する。
図5は、ネットリスト取得部111が取得するネットリストから配置配線情報生成部112が生成した配置配線情報の配線形状の一例を示す図である。図5において、第1NAND素子11〜第6NAND素子16は省略され、配線W1〜W23のみが記載される。配線W1〜W23のそれぞれの配線幅は、0.045μmである。
次いで、第1クリティカルエリア演算部131は、配置配線情報生成部112が生成した配置配線情報を使用して、完全オープン欠陥による故障が発生する面積である第1補正クリティカルエリアを配線W1〜W23のそれぞれについて演算する(S103)。完全オープン欠陥による故障は、配線が幅方向に亘って絶縁性の微粒子により切断される欠陥である。
図6は、第1クリティカルエリア演算部131が、完全オープン欠陥による故障が発生する面積を示す第1補正クリティカルエリアを演算するS103のより詳細な処理を示すフローチャートである。
まず、第1クリティカルエリア演算部131は、微粒子の粒径rが0.1μmのときの第1配線W1の第1クリティカルエリアを演算する(S201)。第23配線W23の全ての配線を演算していないので(S202)、次いで粒径rが0.1μmのときの第2配線W2の第1クリティカルエリアを演算する(S201)。以降、粒径rが0.1μmのときに第23配線W23までの全ての第1クリティカルエリアが演算されたと判断する(S202)まで、配線W1〜W23のそれぞれについて微粒子の粒径rが0.1μmのときの第1クリティカルエリアを演算する。
粒径rが0.1μmのときに全ての配線W1〜W23の第1クリティカルエリアが演算されたと判断する(S202)と、第1クリティカルエリア演算部131は、粒径rが0.2μmのときの第1配線W1の第1クリティカルエリアを演算する(S203)。以降、微粒子の粒径rが0.2μmのときに第23配線W23までの全ての第1クリティカルエリアが演算されたと判断する(S204)まで、配線W1〜W23のそれぞれについて微粒子の粒径rが0.2μmのときの第1クリティカルエリアを演算する。
粒径rが0.2μmのときに全ての配線W1〜W23の第1クリティカルエリアが演算されたと判断する(S204)と、第1クリティカルエリア演算部131は、粒径rが0.3μmのときの第1配線W1の第1クリティカルエリアを演算する(S205)。以降、粒径rが0.3μmのときに第23配線W23までの全ての第1クリティカルエリアが演算されたと判断する(S206)まで、配線W1〜W23のそれぞれについて粒径rが0.3μmのときの第1クリティカルエリアを演算する。
図7は、S103の処理により演算された第1クリティカルエリアを示す図である。図7(a)は微粒子の粒径rが0.1μmのときの第1クリティカルエリアであり、図7(b)は微粒子の粒径rが0.2μmのときの第1クリティカルエリアであり、図7(c)は微粒子の粒径rが0.3μmのときの第1クリティカルエリアである。また、図7(d)は微粒子の粒径rが0.1μmのときの第3配線W3の第1クリティカルエリアを示す図である。
図7(a)〜7(c)において、クリティカルエリアの単位は、0.0001μm2である。例えば、図7(d)に示すように、第3配線W3の第1クリティカルエリアは、微粒子の粒径rが0.1μmのとき、255×10-4μm2であり、図中では網掛け部分の面積として求まる。
次いで、第1クリティカルエリア演算部131は、S201〜S206で演算された粒径が相違する3つの場合のクリティカルエリアを使用して欠陥発生確率に基づいて補正した第1補正クリティカルエリアを演算する(S207)。第1クリティカルエリア演算部131は、以下に示す式(3)を使用して、欠陥発生確率に基づいて補正した第1補正クリティカルエリアを演算する(S207)。
ここで、Aopen(si)は、配線W1〜W22のそれぞれの欠陥発生確率に基づいて補正した完全オープン欠陥による故障の第1補正クリティカルエリアを示し、Aopen(rk,si)は、粒径がrkのときの配線W1〜W22それぞれの第1クリティカルエリアを示す。ここで、(r1/rxは微粒子の発生確率分布を考慮する項であり、微粒子の粒径rが大きくなるに従って微粒子の発生確率の発生確率は指数の逆数に応じて減少することを示す。一例では、べき数xは2とすることができる。
図8は、式(3)を使用したS207の処理を示す図である。式(3)において、r1は0.1μmであるので、粒径rが0.1μmのときの(r1/rk2は1となり、粒径rが0.2μmのときの(r1/rk2は1/22となり、粒径rが0.3μmのときの(r1/rk2は1/32となる。第1補正クリティカルエリアが(3)を使用して粒径rに応じて重み付けして演算されることによって、第1補正クリティカルエリアは、微粒子の発生確率分布を考慮したものになる。
併せて、第1クリティカルエリア演算部131は、第1補正クリティカルエリアから第1クリティカルエリアの総和を演算する(S208)。第1クリティカルエリアの総和は、配線W1〜W23のそれぞれの第1補正クリティカルエリアの総和として演算される。図8に示すように、論理回路10では、第1クリティカルエリアの総和は、6.093×10-1μm2である。
次いで、第2クリティカルエリア演算部132は、配置配線情報生成部112が生成した配置配線情報を使用して、完全ブリッジ欠陥による故障が発生する面積を示す第2補正クリティカルエリアを配線W1〜W23のそれぞれについて演算する(S104)。完全ブリッジ欠陥による故障は、2つの配線間が導電性の微粒子により連結される欠陥である。
図9は、第2クリティカルエリア演算部132が、完全ブリッジ欠陥による故障が発生する面積を示す第2補正クリティカルエリアを演算するS104のより詳細な処理を示すフローチャートである。
まず、第2クリティカルエリア演算部132は、微粒子の粒径rが0.1μmのときの第2配線W1の第2クリティカルエリアを演算する(S301)。第23配線W23の全ての配線を演算していないので(S302)、次いで粒径rが0.1μmのときの第2配線W2の第1クリティカルエリアを演算する(S301)。以降、粒径rが0.1μmのときに第23配線W23までの全ての第2クリティカルエリアが演算されたと判断する(S302)まで、配線W1〜W23のそれぞれについて微粒子の粒径rが0.1μmのときの第2クリティカルエリアを演算する。
粒径rが0.1μmのときに全ての配線W1〜W23の第2クリティカルエリアが演算されたと判断する(S302)と、第2クリティカルエリア演算部132は、粒径rが0.2μmのときの第1配線W1の第2クリティカルエリアを演算する(S303)。以降、微粒子の粒径rが0.2μmのときに第23配線W23までの全ての第2クリティカルエリアが演算されたと判断する(S304)まで、配線W1〜W23のそれぞれについて微粒子の粒径rが0.2μmのときの第2クリティカルエリアを演算する。
粒径rが0.2μmのときに全ての配線W1〜W23の第2クリティカルエリアが演算されたと判断する(S304)と、第2クリティカルエリア演算部132は、粒径rが0.4μmのときの第1配線W1の第1クリティカルエリアを演算する(S305)。以降、粒径rが0.4μmのときに第23配線W23までの全ての第2クリティカルエリアが演算されたと判断する(S306)まで、配線W1〜W23のそれぞれについて粒径rが0.4μmのときの第1クリティカルエリアを演算する。
図10は、S104の処理により演算された第2クリティカルエリアを示す図である。図10(a)は微粒子の粒径rが0.1μmのときの第2クリティカルエリアであり、図10(b)は微粒子の粒径rが0.2μmのときの第2クリティカルエリアであり、図10(c)は微粒子の粒径rが0.4μmのときの第2クリティカルエリアである。また、図10(d)は微粒子の粒径rが0.2μmのときの第3配線W3と第10配線W10との間の完全ブリッジ欠陥による故障が発生する第2クリティカルエリアを示す図である。
図10(a)〜10(c)において、クリティカルエリアの単位は、0.0001μm2である。例えば、図7(d)に示す微粒子の粒径rが0.2μmのときの第3配線W3の第1クリティカルエリアは、8.7×10-3μm2である。
次いで、第2クリティカルエリア演算部132は、S301〜S306で演算された粒径が相違する3つの場合のクリティカルエリアを使用して欠陥発生確率に基づいて補正した第2補正クリティカルエリアを演算する(S307)。第2クリティカルエリア演算部132は、以下に示す式(4)を使用して、欠陥発生確率に基づいて補正した第2補正クリティカルエリアを演算する(S307)。
ここで、Abridge(si,sj)は、配線W1〜W22の何れか2つの間の欠陥発生確率に基づいて補正した完全ブリッジ欠陥による故障の第2補正クリティカルエリアを示す。Abridge(rk,si,sj)は粒径がrkのときの配線W1〜W22のそれぞれの第2クリティカルエリアを示す。一例では、べき数xは2とすることができる。
図11は、式(4)を使用したS307の処理を示す図である。式(4)において、r1は0.1μmであるので、粒径rが0.1μmのときの(r1/rk2は1となり、粒径rが0.2μmのときの(r1/rk2は1/22となり、粒径rが0.4μmのときの(r1/rk2は1/42となる。
併せて、第2クリティカルエリア演算部132は、第2補正クリティカルエリアから第2クリティカルエリアの総和を演算する(S308)。第2クリティカルエリアの総和は、配線W1〜W23のそれぞれの第2補正クリティカルエリアの総和として演算される。図11に示すように、論理回路10では、第2クリティカルエリアの総和は、2.706×10-1μm2である。
次いで、テストパターン生成部114は、ネットリスト取得部111が取得したネットリストの故障を検出するためのテストパターンを自動生成する(S105)。テストパターン生成部114は、製造テスト用のテストパターンを自動生成するATPG(automatic test pattern generator)である。
図12は、図4に示す論理回路10のテストパターンの一例を示す図であり、図12(a)は固定故障検出用のテストパターンを示す図であり、図12(b)は遅延故障検出用のテストパターンである。
第1固定故障検出パターンP1−1は、論理回路10の配線(W1、W2、W3、W6、W7)に(00000)を印加する。第2固定故障検出パターンP1−2は、論理回路10の配線(W1、W2、W3、W6、W7)に(01000)を印加する。第3固定故障検出パターンP1−3は、論理回路10の配線(W1、W2、W3、W6、W7)に(11101)を印加する。
第1遅延故障検出パターンP2−1は、論理回路10の配線(W1、W2、W3、W6、W7)に(00000)を印加し、所定の時間が経過した後に配線(W1、W2、W3、W6、W7)に(01101)を印加する。第2遅延故障検出パターンP2−2は、論理回路10の配線(W1、W2、W3、W6、W7)に(11111)を印加し、所定の時間が経過した後に配線(W1、W2、W3、W6、W7)に(10100)を印加する。
次いで、故障検出情報演算部115は、ネットリスト取得部111が取得したネットリストと、テストパターン生成部114が生成したテストパターンとから故障検出情報を演算する(S106)。故障検出情報は、論理回路10のそれぞれの配線における完全オープン欠陥又は完全ブリッジ欠陥による故障の有無を示す情報である。完全オープン欠陥及び完全ブリッジ欠陥による故障は固定故障として検出されるので、故障検出情報演算部115は、第1固定故障検出パターンP1−1〜第3固定故障検出パターンP1−3の3つのテストパターンを使用して故障検出情報を演算する。故障検出情報演算部115は、いわゆる故障シミュレータである。
図13は完全オープン欠陥による故障である第1故障検出情報を示す図であり、図14は完全ブリッジ欠陥による故障である第2故障検出情報を示す図である。図14(a)は完全ブリッジ欠陥による第1故障モデルを示し、図14(b)は完全ブリッジ欠陥による第2故障モデルを示し、図14(c)はブリッジ欠陥による第3故障モデルを示し、図14(d)は完全ブリッジ欠陥による第4故障モデルを示す。図13及び14において、「0」は対応する行に記載される故障が検出可能ではないことを示し、「1」は対応する行に記載される故障が検出可能であることを示す。
第1故障検出情報は、完全オープン欠陥により配線の信号が「0」に固定される0縮退故障に関する情報と、完全オープン欠陥により配線の信号が「1」に固定される1縮退故障に関する情報の2つの情報を含む。図13において、SA0は0縮退故障を示し、SA1は1縮退故障を示す。例えば、1(SA0)は第1配線W1の0縮退故障を示し、3(SA1)は第3配線W3の1縮退故障を示す。また、図13において、pat1−1は第1固定故障検出パターンP1−1を示し、pat1−2は第2固定故障検出パターンP1−2を示し、pat1−3は第3固定故障検出パターンP1−3を示す。pat1−1〜pat1−3のそれぞれの列で「1」が記載される行は、故障検出が可能であることを示す。例えば、pat1−1の列では、10(SA0)、16(SA0)及び19(SA0)の行に「1」が記載される。したがって、第1固定故障検出パターンP1−1は、第10配線W10、第16配線W16及び第19配線W19の0縮退故障を検出可能である。さらに、pat1−1の列では、1(SA1)、2(SA1)、3(SA1)、6(SA1)、7(SA1)、22(SA1)及び23(SA1)の行に「1」が記載される。したがって、第1配線W1、第2配線W2、第3配線W3、第6配線W6、第7配線W7、第22配線W22及び第23配線W23の1縮退故障を更に検出可能である。一方、pat1−1〜pat1−3のそれぞれの列で「0」が記載される行は、故障検出が可能ではないことを示す。
図13において、故障検出情報の列で「1」が記載される行は、第1固定故障検出パターンP1−1〜第3固定故障検出パターンP1−3の何れかで故障検出が可能であることを示す。一方、故障検出情報の列で「0」が記載される行は、第1固定故障検出パターンP1−1〜第3固定故障検出パターンP1−3の何れでも故障検出が可能ではないことを示す。
第2故障検出情報は、完全ブリッジ欠陥を発生する一方の配線の「0」又は「1」の何れかであるか、及び完全ブリッジ欠陥を発生する他方の配線の「0」又は「1」の何れかであるかにより、図14(a)〜14(d)にそれぞれ示される4つの情報を含む。図14(a)において、(x<−>y)(A_DOM_0)は配線xの信号が「0」であり配線yの信号が「1」のときに、ブリッジ故障により配線x及びyの信号が配線xの信号である「0」になることを示す。例えば、(1<−>2)(A_DOM_0)は第1配線W1の信号が「0」であり第2配線W2の信号が「1」のときに、ブリッジ故障により第1配線W1及び第2配線W2の信号が第1配線W1の信号である「0」になることを示す。図14(b)において、(x<−>y)(A_DOM_1)は配線xの信号が「1」であり配線yの信号が「0」のときに、ブリッジ故障により配線x及びyの信号が配線xの信号である「1」になることを示す。例えば、(1<−>2)(A_DOM_1)は第1配線W1の信号が「1」であり第2配線W2の信号が「0」のときに、ブリッジ故障により第1配線W1及び第2配線W2の信号が第1配線W1の信号である「1」になることを示す。図14(c)において、(x<−>y)(B_DOM_0)は配線xの信号が「1」であり配線yの信号が「0」のときに、ブリッジ故障により配線x及びyの信号が配線yの信号である「0」になることを示す。例えば、(1<−>2)(B_DOM_0)は第1配線W1の信号が「1」であり第2配線W2の信号が「0」のときに、ブリッジ故障により第1配線W1及び第2配線W2の信号が第2配線W2の信号である「0」になることを示す。図14(d)において、(x<−>y)(A_DOM_1)は配線xの信号が「0」であり配線yの信号が「1」のときに、ブリッジ故障により配線x及びyの信号が配線yの信号である「1」になることを示す。例えば、(1<−>2)(B_DOM_1)は第1配線W1の信号が「0」であり第2配線W2の信号が「1」のときに、ブリッジ故障により第1配線W1及び第2配線W2の信号が第2配線W2の信号である「1」になることを示す。
図15は、図14に示す完全ブリッジ欠陥による故障の概要を示す図である。図15(a)は図14(a)に示す故障モデルを示し、図15(b)は図14(c)に示す故障モデルを示し、図15(c)は図14(c)に示す故障モデルを示し、図15(d)は図14(d)に示す故障モデルを示す。
図15(a)に示す(A<−>B)(A_DOM_0)では、配線A及びBの信号が完全ブリッジ欠陥により配線Aの信号「0」になる。図15(b)に示す(A<−>B)(A_DOM_1)では、配線A及びBの信号が完全ブリッジ欠陥により配線Aの信号「1」になる。図15(c)に示す(A<−>B)(B_DOM_0)では、配線A及びBの信号が完全ブリッジ欠陥により配線Bの信号「0」になる。図15(d)に示す(A<−>B)(B_DOM_1)では、配線A及びBの信号が完全ブリッジ欠陥により配線Aの信号「1」になる。
図14(a)〜14(d)において、故障検出情報の列で「1」が記載される行は、第1固定故障検出パターンP1−1〜第3固定故障検出パターンP1−3の何れかで故障検出が可能であることを示す。一方、故障検出情報の列で「0」が記載される行は、第1固定故障検出パターンP1−1〜第3固定故障検出パターンP1−3の何れでも故障検出が可能ではないことを示す。例えば、図15(b)の(1<−>2)(A_DOM_1)の行は「1」であるので故障検出が可能であるのに対し、図15(b)の(1<−>6)(A_DOM_1)の行は「0」であるので故障検出が可能ではない。
次いで、故障検出率演算部116は、第1補正クリティカルエリア、第2補正クリティカルエリア及び故障検出情報から故障検出率を演算する(S107)。
図16は、故障検出率演算部116が、論理回路10の故障検出率を演算するS107のより詳細な処理を示すフローチャートである。
まず、故障検出率演算部116は、以下に示す式(5)を使用して、第1補正クリティカルエリアに応じて第1故障検出情報を重み付けした第1故障検出値NF1を演算する(S401)。
ここで、Aopen(si)は、第1クリティカルエリア演算部131が演算した第1補正クリティカルエリアを示す。また、dSA0(si)は第1故障検出情報のうち図13においてSA0で示される0縮退故障に関する情報を示し、dSA1(si)は第1故障検出情報のうち図13においてSA1で示される1縮退故障に関する情報を示す。第1故障検出値NF1は、右辺において、2で除算することにより、第1補正クリティカルエリアAopen(si)がdSA0(si)及びdSA1(si)で重複して乗算されることを防止する。
第1故障検出値NF1は、図8に示すように演算された第1補正クリティカルエリアと、図13に示す完全オープン欠陥による第1故障検出情報とを配線W1〜W23のそれぞれについて乗算及び加算して演算され、3.760×10-1μm2になる。
図17は、S401において、故障検出率演算部116が第1故障検出値NF1を演算する処理を示す図である。図17において、CAの列に記載されるクリティカルエリアの面積は、第1補正クリティカルエリアを0縮退故障及び1縮退故障に振り分けるため、図8に示す第1補正クリティカルエリアの1/2の値になる。
次いで、故障検出率演算部116は、以下に示す式(6)を使用して、第2補正クリティカルエリアに応じて第2故障検出情報を重み付けした第2故障検出値NF2を演算する(S402)。
ここで、Abridge(si,sj)は、第2クリティカルエリア演算部132が演算した第2補正クリティカルエリアを示す。また、dADOM0(si,sj)は第2故障検出情報のうち図14(a)に示される情報を示し、dADOM1(si,sj)は第2故障検出情報のうち図14(b)に示される情報を示す。また、dBDOM0(si,sj)は第2故障検出情報のうち図14(c)に示される情報を示し、dBDOM1(si,sj)は第2故障検出情報のうち図14(d)に示される情報を示す。第2故障検出値NF2は、右辺において、4で除算することにより、第2クリティカルエリアAbridge(si,sj)がdADOM0(si,sj)、dADOM1(si,sj)、dBDOM0(si,sj)及びdBDOM1(si,sj)で重複して乗算されることを防止する。
第2故障検出値NF2は、図11に示すように演算された第2クリティカルエリアと、図14に示す完全ブリッジ欠陥による第2故障検出情報とを配線W1〜W23のそれぞれについて乗算及び加算して演算され、1.364×10-1μm2になる。
次いで、故障検出率演算部116は、S208で演算した第1クリティカルエリアの総和と、S308で演算した第2クリティカルエリアの総和を加算して合計クリティカルエリアを演算する(S403)。第1クリティカルエリアの総和は6.093×10-1μm2であり、第2クリティカルエリアの総和は2.706×10-1μm2であるので、合計クリティカルエリアは8.799×10-1μm2になる。
そして、故障検出率演算部116は、以下に示す式(7)を使用して、故障検出率を演算する(S404)。
そして、故障検出率出力部117は、故障検出率演算部116が演算した故障検出率を出力する(S108)。表示部103は、出力された故障検出率を表示する。
図18は、故障検出率演算装置1の故障検出率演算処理におけるデータフローを示す図である。
ネットリストD1は、ネットリスト取得部111によって取得される(S101)。レイアウトとも称される配置配線情報D11は、レイアウトツールである配置配線情報生成部112によって、ネットリストD1から生成される(S102)。
第1クリティカルエリアD12は、第1クリティカルエリア演算部131によって、配置配線情報D11から生成される(S201、S203、S205)。第1クリティカルエリアD12は、微粒子の粒径が0.1μm、0.2μm及び0.3μmの場合について配線W1〜W23のそれぞれに対して生成される。また、第2クリティカルエリアD13は、第2クリティカルエリア演算部132によって、配置配線情報D11から生成される(S301、S303、S305)。第2クリティカルエリアD13は、微粒子の粒径が0.1μm、0.2μm及び0.4μmの場合について配線W1〜W23のそれぞれに対して生成される。第1補正クリティカルエリアD14は、第1クリティカルエリア演算部131によって、式(3)を使用して粒径rに応じて第1クリティカルエリアD12を重み付けして演算される(S207)。第2補正クリティカルエリアD15は、第2クリティカルエリア演算部132によって、式(4)を使用して粒径rに応じて第2クリティカルエリアD13を重み付けして演算される(S307)。
テストパターンD21は、テストパターン生成部114によって、ネットリストD1から生成される(S105)。故障検出情報D22は、故障検出情報演算部115によって、ネットリストD1及びテストパターンD21から生成される(S106)。故障検出情報D22は、完全オープン欠陥による故障である第1故障検出情報D23と、完全ブリッジ欠陥による故障である第2故障検出情報D24とを含む。
そして、故障検出率D31は、故障検出率演算部116によって、式(7)を使用して演算される(S107)。故障検出率D31は、故障検出率出力部117によって、出力される(S108)。
(第1実施形態に係る故障検出率演算装置の作用効果)
第1実施形態に係る故障検出率演算装置1は、合計のクリティカルエリアを分母とし、第1及び第2クリティカルエリアの総和でそれぞれ重み付けされた第1及び第2故障検出値を分子とする式(7)を使用して故障検出率を演算する。ここで、第1クリティカルエリアは完全オープン欠陥による故障が発生する面積を示し、第2クリティカルエリアは完全ブリッジ欠陥による故障が発生する面積を示す。第1及び第2故障検出値のそれぞれは、故障検出情報にクリティカルエリアを乗じたものであり、クリティカルエリアの大きさに依存したものである。故障検出率演算装置1は、式(7)を使用して故障検出率を演算することにより、完全オープン欠陥及び完全ブリッジ欠陥の双方による故障を包含するクリティカルエリアに依存した単一の故障検出率を生成することができる。
また、第1実施形態に係る故障検出率演算装置1では、故障検出率の演算に使用される第1及び第2クリティカルエリアの総和は、式(3)及び(4)でそれぞれ示されるように、微粒子の粒径rと欠陥発生確率との関係に基づいて補正される。第1及び第2クリティカルエリアの総和を微粒子の粒径rと欠陥発生確率との関係に基づいて補正することにより、より精度の高い故障検出率を生成することができる。
(第2実施形態に係る故障検出率演算装置の構成)
図19は、第2実施形態に係る故障検出率演算装置を示す図である。
故障検出率演算装置2は、演算部110の代わりに演算部120が配置されることが故障検出率演算装置1と相違する。演算部120は、クリティカルエリア演算部113、故障検出情報演算部115及び故障検出率演算部116の代わりにクリティカルエリア演算部123、故障検出情報演算部125及び故障検出率演算部126が配置されることが演算部110と相違する。クリティカルエリア演算部123、故障検出情報演算部125及び故障検出率演算部126以外の故障検出率演算装置2の構成要素は同一符号が付された構成要素と同一の構成及び機能を有するので、ここでは詳細な説明は省略する。
故障検出率演算装置2は、完全オープン欠陥及び完全ブリッジ欠陥による故障に加えて抵抗性オープン欠陥及び抵抗性ブリッジ欠陥による故障が発生する面積を示す第3及び第4クリティカルエリアを考慮して故障検出率を演算する。抵抗性オープン欠陥は微粒子により配線が部分的に欠損する欠陥であり、抵抗性ブリッジ欠陥は2つの配線間が高抵抗の導電性の微粒子により連結される欠陥である。すなわち、第3クリティカルエリアは微粒子により配線が部分的に欠損する欠陥である抵抗性オープン欠陥による故障が発生する面積を示す。また、第4クリティカルエリアは2つの配線間が高抵抗の導電性の微粒子により連結される欠陥である抵抗性ブリッジ欠陥による故障が発生する面積を示す。
(第2実施形態に係る故障検出率演算装置の動作)
図20は故障検出率演算装置2が実行する故障検出率演算処理のフローチャートを示す図である。図20に示すS501、S502、S505及びS508のそれぞれは、図3に示すS101、S102、S105及びS108と同一の処理を実行するので、ここでは詳細な説明は省略する。
S503において、第1クリティカルエリア演算部231が第1補正クリティカルエリアを演算すると共に、第3クリティカルエリア演算部233が第3補正クリティカルエリアを演算する。
図21は、S503のより詳細な処理を示すフローチャートである。図21に示すS601〜S608のそれぞれは、図6に示すS201〜S208と同一の処理を実行するので、ここでは詳細な説明は省略する。
第3クリティカルエリア演算部233は、S601〜S606で演算された粒径が相違する3つの場合のクリティカルエリアを使用して欠陥発生確率を考慮した第3補正クリティカルエリアを演算する(S609)。第3クリティカルエリア演算部233は、以下に示す式(8)を使用して、欠陥発生確率を考慮した第3補正クリティカルエリアを演算する(S609)。
ここで、Aopen(si)は、配線W1〜W22のそれぞれの欠陥発生確率を考慮した抵抗性オープン欠陥による故障の第3補正クリティカルエリアを示し、Lは、配線W1〜W22それぞれの配線幅を示す。
図22は、第1クリティカルエリア及び第3クリティカルエリアの一例を示す図である。図22において、矢印Aで示される領域は第3配線W3の第1クリティカルエリアの一例を示し、矢印Bで示される領域は第3配線W3の第3クリティカルエリアの一例を示す。
第3クリティカルエリアは、配線幅がLである配線が微粒子により部分的に欠損する欠陥である抵抗性オープン欠陥による故障が発生する面積なので、第1クリティカルエリアの周囲を配線幅と同一の長さLを有する枠状の形状になる。第3クリティカルエリアは、第1クリティカルエリアの周囲を配線幅と同一の長さLを有する枠状の形状になるので、式(8)により演算することができる。
図23は、式(8)を使用したS609の処理を示す図である。式(8)において、r1は0.1μmであるので、粒径rが0.1μmのときの(r1/rk2は1となり、粒径rが0.2μmのときの(r1/rk2は1/22となる。第3補正クリティカルエリアが(8)を使用して粒径rに応じて重み付けして演算されることによって、第3補正クリティカルエリアは、微粒子の発生確率分布を考慮したものになる。なお、ここでは、配線幅は0.05μmであるので、S604演算した粒径rが0.2μmのときの第1クリティカルエリアを粒径rが0.1μmのときのAopen(rk+2L,si)として援用する。同様に、S606演算した粒径rが0.3μmのときの第1クリティカルエリアを粒径rが0.2μmのときのAopen(rk+2L,si)として援用する。しかしながら、Aopen(rk+2L,si)として援用可能な第1クリティカルエリアがない場合には、第3クリティカルエリア演算部233は、粒径r及び配線幅Lに応じたAopen(rk+2L,si)を演算する。
併せて、第3クリティカルエリア演算部233は、第3補正クリティカルエリアから第3クリティカルエリアの総和を演算する(S610)。第3クリティカルエリアの総和は、配線W1〜W23のそれぞれの第3補正クリティカルエリアの総和として演算される。図23に示すように、論理回路10では、第3クリティカルエリアの総和は、4.155×10-1μm2である。
S504において、第2クリティカルエリア演算部232が第2補正クリティカルエリアを演算すると共に、第4クリティカルエリア演算部234が第3補正クリティカルエリアを演算する。
図24は、S504のより詳細な処理を示すフローチャートである。図24に示すS701〜S706のそれぞれは、図9に示すS301〜S306と同一の処理を実行するので、ここでは詳細な説明は省略する。
S707において、第2クリティカルエリア演算部232は、第2補正クリティカルエリアを演算する。第2クリティカルエリア演算部232は、式(4)及び図11を参照して説明したように、ブリッジ欠陥による故障の補正クリティカルエリアを演算する。次いで、第2クリティカルエリア演算部232は、式(4)を使用して演算した補正クリティカルエリアの中で所定の割合が第2補正クリティカルエリアであり、残りが第4補正クリティカルエリアとする。例えば、第2クリティカルエリア演算部232は、補正クリティカルエリアの中で80%が第2補正クリティカルエリアであり、20%が第4補正クリティカルエリアとする。第2補正クリティカルエリアと第4補正クリティカルエリアとの割合は、低抵抗の導電性の微粒子が存在する割合と、高抵抗の導電性の微粒子が存在する割合によって推定することができる。
図25は、S507においての第2補正クリティカルエリアと第4補正クリティカルエリアとを決定する処理を示す図である。第2クリティカルエリア演算部232は、式(4)を使用して演算した配線W1〜W23の何れか2つの間のブリッジ欠陥による故障の補正クリティカルエリアの80%を第2補正クリティカルエリアとして演算する。
併せて、第2クリティカルエリア演算部232は、第2補正クリティカルエリアから第2クリティカルエリアの総和を演算する(S708)。第2クリティカルエリアの総和は、配線W1〜W23のそれぞれの第2補正クリティカルエリアの総和として演算される。図25に示すように、論理回路10では、第2クリティカルエリアの総和は、2.165×10-1μm2である。
S709において、第4クリティカルエリア演算部234は、第4補正クリティカルエリアを演算する。図25に示すように、第4クリティカルエリア演算部234は、式(4)を使用して演算した配線W1〜W23の何れか2つの間のブリッジ欠陥による故障の補正クリティカルエリアの20%を第4補正クリティカルエリアとして演算する。
併せて、第4クリティカルエリア演算部234は、第4補正クリティカルエリアから第4クリティカルエリアの総和を演算する(S710)。第4クリティカルエリアの総和は、配線W1〜W23のそれぞれの第4補正クリティカルエリアの総和として演算される。図25に示すように、論理回路10では、第2クリティカルエリアの総和は、0.541×10-1μm2である。
故障検出情報演算部125は、ネットリスト取得部111が取得したネットリストと、テストパターン生成部114が生成したテストパターンとから故障検出情報を演算する(S506)。故障検出情報は、論理回路10のそれぞれの配線における完全オープン欠陥、抵抗性オープン欠陥、完全ブリッジ欠陥又は抵抗性ブリッジ欠陥による故障の有無を示す情報である。故障検出情報演算部125は、完全オープン欠陥及び完全ブリッジ欠陥による故障を第1固定故障検出パターンP1−1〜第3固定故障検出パターンP1−3の3つのテストパターンを使用して演算する。また、故障検出情報演算部125は、抵抗性オープン欠陥及び抵抗性ブリッジ欠陥による故障を第1遅延故障検出パターンP2−1〜第2遅延故障検出パターンP2−3の2つのテストパターンを使用して演算する。故障検出情報演算部125は、いわゆる故障シミュレータである。完全オープン欠陥による故障である第1故障検出情報及び完全ブリッジ欠陥による故障である第2故障検出情報は、図13及び14を参照して説明したので、ここでは詳しい説明は省略する。
図26(a)は抵抗性オープン欠陥による故障である第3故障検出情報を示す図であり、図26(b)は抵抗性ブリッジ欠陥による故障である第4故障検出情報を示す図である。図26において、「0」は対応する行に記載される故障が検出可能ではないことを示し、「1」は対応する行に記載される故障が検出可能であることを示す。
第3故障検出情報は、STR(Slow-to-Rise)故障に関する情報と、STF(Slow-to-Fall)故障に関する情報の2つの情報を含む。STR故障は抵抗性オープン欠陥により配線の信号が「0」から「1」への遷移が遅延する遅延故障であり、SRF故障は抵抗性オープン欠陥により配線の信号が「1」から「0」への遷移が遅延する遅延故障である。図26(a)において、STRはSTR故障を示し、STFはSTF故障を示す。例えば、1(STR)は第1配線W1のSTR故障を示し、3(STF)は第3配線W3のSTF故障を示す。
第4故障検出情報は、抵抗性ブリッジ欠陥を発生する一方の配線の「0」又は「1」の何れかであるか、及び抵抗性ブリッジ欠陥を発生する他方の配線の「0」又は「1」の何れかであるかにより、図26(b)にそれぞれ示される4つの情報を含む。図26(b)において、A−STRは配線Aの信号が「0」から「1」に遷移するときに信号が遅延することを示す。例えば、A−STRの列の(1<−>2)の行は、第1配線W1の信号「0」から「1」に遷移するときに第2配線W2との抵抗性ブリッジ欠陥により、第1配線W1の信号の立上りが遅延することを示す。図26(b)において、A−STFは配線Aの信号が「1」から「0」に遷移するときに信号が遅延することを示す。例えば、A−STFの列の(1<−>2)の行は、第1配線W1の信号「1」から「0」に遷移するときに第2配線W2との抵抗性ブリッジ欠陥により、第1配線W1の信号の立下りが遅延することを示す。図26(b)において、B−STRは配線Bの信号が「0」から「1」に遷移するときに信号が遅延することを示す。例えば、B−STRの列の(1<−>2)の行は、第2配線W2の信号「0」から「1」に遷移するときに第1配線W1との抵抗性ブリッジ欠陥により、第2配線W2の信号の立上りが遅延することを示す。図26(b)において、B−STFは配線Aの信号が「1」から「0」に遷移するときに信号が遅延することを示す。例えば、B−STFの列の(1<−>2)の行は、第2配線W2の信号「1」から「0」に遷移するときに第1配線W1との抵抗性ブリッジ欠陥により、第2配線W2の信号の立下りが遅延することを示す。
図27は、図26(b)に示す抵抗性ブリッジ欠陥よる故障の概要を示す図である。図27(a)はA−STR故障を示し、図27(b)はA−STF故障を示し、図27(c)はB−STR故障を示し、図27(d)はB−STF故障を示す。図27において、「10」は信号「1」が所定時間経過後に「0」に遷移することを示し、「01」は信号「0」が所定時間経過後に「1」に遷移することを示す。また、信号「X」は「0」又は「1」を示す。例えば、「X0」は、信号「0」が所定時間経過後にも「0」であること、又は信号「1」が所定時間経過後に「0」に遷移することを示す。
故障検出率演算部126は、第1補正クリティカルエリア〜第4補正クリティカルエリア及び故障検出情報から故障検出率を演算する(S507)。
図28は、故障検出率演算部126が、論理回路10の故障検出率を演算するS507のより詳細な処理を示すフローチャートである。図28に示すS801〜S802のそれぞれは、図16に示すS401〜S402と同一の処理を実行するので、ここでは詳細な説明は省略する。
S803において、故障検出率演算部116は、以下に示す式(9)を使用して、第3補正クリティカルエリアに応じて第3故障検出情報を重み付けした第3故障検出値NF3を演算する。
ここで、Aresistive-open(si)は、第3クリティカルエリア演算部233が演算した第3補正クリティカルエリアを示す。また、dSTR(si)は第3故障検出情報のうちSTR故障に関する情報を示し、dSTF(si)は第3故障検出情報のうちSTF故障に関する情報を示す。第3故障検出値NF3は、右辺において、2で除算することにより、第3補正クリティカルエリアAresistive-open(si)がdSTR(si)及びdSTF(si)で重複して乗算されることを防止する。
S804において、故障検出率演算部126は、以下に示す式(10)を使用して、第4補正クリティカルエリアに応じて第4故障検出情報を重み付けした第4故障検出値NF4を演算する。
ここで、Aresistive-bridge(si,sj)は、第4クリティカルエリア演算部234が演算した第4補正クリティカルエリアを示す。また、dA-STR(si,sj)は第4故障検出情報のうち図26(b)に示されるA−STRに関する情報を示し、dA-STF(si,sj)は図26(b)に示されるA−STRに関する情報を示す。また、dB-STR(si,sj)は第2故障検出情報のうち図26(b)に示されるA−STRに関する情報を示し、dB-STF(si,sj)は図26(b)に示されるA−STRに関する情報を示す。第4故障検出値NF4は、右辺において、4で除算することにより、第4クリティカルエリアAresistive-bridge(si,sj)がdA-STR(si,sj)、dA-STF(si,sj)、dB-STR(si,sj)及びdB-STF(si,sj)で重複して乗算されることを防止する。
表1に第1クリティカルエリア演算部231〜第4クリティカルエリア演算部234のそれぞれが演算したクリティカルエリアの総和、及び第1故障検出値NF1〜第4故障検出値NF4を示す。
S805において、故障検出率演算部126は、合計クリティカルエリアを演算する。合計クリティカルエリアは、S608で演算した第1クリティカルエリアの総和、S708で演算した第2クリティカルエリアの総和、S610で演算した第3クリティカルエリアの総和、S710で演算した第4クリティカルエリアの総和の加算値である。第1クリティカルエリアの総和は6.093×10-1μm2であり、第2クリティカルエリアの総和は2.165×10-1μm2であり、第3クリティカルエリアの総和は4.155×10-1μm2であり、第4クリティカルエリアの総和は0.541×10-1μm2である。
S806において、故障検出率演算部126は、以下に示す式(11)を使用して、故障検出率を演算する(S404)。
なお、式(11)を一般化すると、故障検出率WFCは式(12)で示される。
図29は、故障検出率演算装置2の故障検出率演算処理におけるデータフローを示す図である。
ネットリストD1は、ネットリスト取得部111によって取得される(S501)。レイアウトとも称される配置配線情報D11は、レイアウトツールである配置配線情報生成部112によって、ネットリストD1から生成される(S502)。
第1クリティカルエリアD12は、第1クリティカルエリア演算部231によって、配置配線情報D11から生成される(S601、S603、S605)。第1クリティカルエリアD12は、微粒子の粒径が0.1μm、0.2μm及び0.3μmの場合について配線W1〜W23のそれぞれに対して生成される。また、第2クリティカルエリアD13は、第2クリティカルエリア演算部232によって、配置配線情報D11から生成される(S601、S603、S605)。第2クリティカルエリアD13は、微粒子の粒径が0.1μm、0.2μm及び0.4μmの場合について配線W1〜W23のそれぞれに対して生成される。第1補正クリティカルエリアD41は、第1クリティカルエリア演算部231によって、式(3)を使用して粒径rに応じて第1クリティカルエリアD12を重み付けして演算される(S607)。第2補正クリティカルエリアD15は、第2クリティカルエリア演算部232によって、式(4)を使用して粒径rに応じて第2クリティカルエリアD13を重み付け演算された値に低抵抗の導電性の微粒子が存在する割合を乗じて演算される(S707)。第3補正クリティカルエリアD43は、第3クリティカルエリア演算部233によって、式(8)を使用して第1クリティカルエリアの周囲を配線幅と同一の長さLを有する枠状の形状になるように演算される(S609)。第4補正クリティカルエリアD44は、第4クリティカルエリア演算部234によって、式(4)を使用して粒径rに応じて第2クリティカルエリアD13を重み付け演算された値に低抵抗の導電性の微粒子が存在する割合を乗じて演算される(S709)。
テストパターンD21は、テストパターン生成部114によって、ネットリストD1から生成される(S505)。故障検出情報D50は、故障検出情報演算部125によって、ネットリストD1及びテストパターンD21から生成される(S506)。故障検出情報D50は、完全オープン欠陥による故障である第1故障検出情報D51と、完全ブリッジ欠陥による故障である第2故障検出情報D52とを含む。また、故障検出情報D50は、抵抗性オープン欠陥による故障である第3故障検出情報D53と、抵抗性ブリッジ欠陥による故障である第4故障検出情報D54とを更に含む。
そして、故障検出率D31は、故障検出率演算部116によって、式(11)を使用して演算される(S507)。故障検出率D31は、故障検出率出力部117によって、出力される(S508)。
(第2実施形態に係る故障検出率演算装置の作用効果)
故障検出率演算装置2では、完全オープン欠陥及び完全ブリッジ欠陥による故障に加えて抵抗性オープン欠陥及び抵抗性ブリッジ欠陥による故障が発生する面積を示す第3及び第4クリティカルエリアを考慮して故障検出率を演算することが可能になる。
(第3実施形態に係るテストパターン生成装置の構成)
図30は、第3実施形態に係るテストパターン生成装置3を示す図である。
テストパターン生成装置3は、演算部120の代わりに演算部130が配置されることが故障検出率演算装置2と相違する。演算部130は、故障検出情報演算部125及び故障検出率演算部126の代わりに、故障検出情報演算部135及び故障検出率演算部136が配置されること、及び故障検出率出力部117が配置されないことが演算部120と相違する。また、演算部130は、テストパターン選択部137、テストパターン決定部138及びテストパターン出力部139を有することが演算部120と更に相違する。故障検出情報演算部135、故障検出率演算部136、テストパターン選択部137、テストパターン決定部138及びテストパターン出力部139以外のテストパターン生成装置3の構成要素は同一符号が付された構成要素と同一の構成及び機能を有する。したがって、上記以外のテストパターン生成装置3の構成要素の構成及び機能は、ここでは詳細な説明は省略する。
テストパターン生成装置3は、第1クリティカルエリア〜第4クリティカルエリアを考慮して複数のテストパターンのそれぞれについて故障検出率を演算する。テストパターン生成装置3は、複数のテストパターンのそれぞれについて演算された故障検出率の組み合わせた故障検出率が、判定値よりも大きくなるように複数のテストパターンのいくつかを選択する。テストパターン生成装置3は、組み合わせた故障検出率が判定値よりも大きくなるようにテストパターンを選択して、最小限のテストパターン数で、所望の故障検出率を達成するように、出荷テストに使用するテストパターンを生成することができる。
(第3実施形態に係るテストパターン生成装置の動作)
図31はテストパターン生成装置3が実行する故障検出率演算処理のフローチャートを示す図である。図31に示すS901〜905のそれぞれは、図20に示すS901〜905と同一の処理を実行するので、ここでは詳細な説明は省略する。
S906において、故障検出情報演算部135は、ネットリスト取得部111が取得したネットリストと、テストパターン生成部114が生成したテストパターンとから故障検出情報を、テストパターン毎に演算する。
次いで、故障検出率演算部136は、第1補正クリティカルエリア〜第4補正クリティカルエリア及び故障検出情報から故障検出率を、テストパターン毎に演算する(S907)。
次いで、テストパターン選択部137は、選択されたテストパターンに、選択されていないテストパターンの1つを追加したときの故障検出率を演算し、テストパターンの1つを追加したときの故障検出率が最も高くなる組み合わせを選択する(S908)。
次いで、テストパターン決定部138は、S908で選択されたテストパターンの組み合わせの故障検出率が所定の判定値よりも大きいか否かを判定する(S909)。テストパターン決定部138がS908で選択されたテストパターンの組み合わせの故障検出率が所定の判定値よりも小さいと判定されたとき、処理はS908に戻る。テストパターン決定部138がS908で選択されたテストパターンの組み合わせの故障検出率が所定の判定値以上であると判定されたとき、処理はS910に進む。
処理がS910に進むと、テストパターン出力部139は、選択されたテストパターンの組み合わせを出力する(S910)。
図32は、S907〜S910の処理を示す図である。図32において、矢印「State 1」で示される状態は第1選択状態であり、矢印「State 2」で示される状態は第1選択状態に続く第2選択状態であり、矢印「State 1」で示される状態は第2選択状態に続く第3選択状態である。図32に示す例では、テストパターンA〜テストパターンEの5つのテストパターンを使用し、判定値は80%である。
故障検出率演算部136が演算するテストパターンA〜テストパターンEのそれぞれの故障検出率は45%、50%、38%、42%及び32%である(S907)。
第1選択状態では、故障検出率が最も大きいテストパターンBが選択される(908)が、選択されたテストパターンBの故障検出率は判定値よりも小さいので(S909)、処理はS908に戻る。次いで、第2選択状態では、選択されたテストパターンBに、選択されていないテストパターンA及びC〜Eのそれぞれを追加したときの故障検出率を演算する。テストパターンB及びAを組み合わせたときの故障検出率は60%であり、テストパターンB及びCを組み合わせたときの故障検出率は52%である。また、テストパターンB及びDを組み合わせたときの故障検出率は65%であり、テストパターンB及びEを組み合わせたときの故障検出率は55%である。テストパターンBと組み合わせたときの故障検出率が最も大きいテストパターンDが選択される(908)が、選択されたテストパターンB及びDの組み合わせの故障検出率は判定値よりも小さいので(S909)、処理はS908に戻る。
次いで、第3選択状態では、選択されたテストパターンB及びDに、選択されていないテストパターンA、C及びEのそれぞれを追加したときの故障検出率を演算する。テストパターンB、D及びAを組み合わせたときの故障検出率は80%であり、テストパターンB、D及びCを組み合わせたときの故障検出率は68%であり、テストパターンB、D及びEを組み合わせたときの故障検出率は75%である。テストパターンB及びDと組み合わせたときの故障検出率が最も大きいテストパターンAが選択され(908)、選択されたテストパターンB、D及びAの組み合わせの故障検出率は判定値以上であるので(S909)、処理はS910に進む。そして、テストパターンB、D及びAが生成されたテストパターンとして出力される(S910)。
(第3実施形態に係るテストパターン生成装置の作用効果)
第3実施形態に係るテストパターン生成装置3は、組み合わせた故障検出率が判定値よりも大きくなるようにテストパターンを選択することにより、最小限のテストパターン数で、所望の故障検出率を達成するようにテストパターンを生成することができる。
(実施形態に係る故障検出率演算装置及びテストパターン生成装置の変形例)
故障検出率演算装置1及び2では、比較的回路規模が小さい論理回路10を例にして動作を説明したが、実施形態に係る故障検出率演算装置及びテストパターン生成装置は、テストパターンで評価可能な半導体集積回路に対して使用することができる。半導体集積回路の回路規模が大きくなるに従って、生成されるテストパターンの数及びステップ数は大きくなる。
また、故障検出率演算装置1及び2では、オープン故障及びブリッジ故障を例に動作を説明したが、実施形態に係る故障検出率演算装置及びテストパターン生成装置は、レイアウトに依存する他の故障モデルに対して使用することができる。
また、故障検出率演算装置1及び2では、式(5)において0縮退故障に関する情報dSA0(si)と1縮退故障に関する情報dSA1(si)の和を2で除算している。しかしながら、第1故障検出値NF1は、0縮退故障に関する情報dSA0(si)及び1縮退故障に関する情報dSA1(si)の発生比率に応じた係数を乗じることにより演算されてもよい。同様に、第3故障検出値NF3は、STR故障に関する情報dSTR(si)及びSTF故障に関する情報dSTF(si)の発生比率に応じた係数を乗じることにより演算されてもよい。
また、故障検出率演算装置1及び2では、式(6)においてdADOM0(si,sj)、dADOM1(si,sj)、dBDOM0(si,sj)及びdBDOM1(si,sj)の和を4で除算している。しかしながら、第1故障検出値NF1は、0dADOM0(si,sj)、dADOM1(si,sj)、dBDOM0(si,sj)及びdBDOM1(si,sj)の発生比率に応じた係数を乗じることにより演算されてもよい。同様に、第4故障検出値NF3は、dA-STR(si,sj)、dA-STF(si,sj)、dB-STR(si,sj)及びdB-STF(si,sj)の発生比率に応じた係数を乗じることにより演算されてもよい。
また、故障検出率演算装置1では、第1クリティカルエリアと第2クリティカルエリアとにより重み付けして故障検出率を演算し、故障検出率演算装置2では、第1クリティカルエリア〜第4クリティカルエリアにより重み付けして故障検出率を演算する。しかしながら、オープン欠陥に関連する第1及び第3クリティカルエリアにより重み付けして故障検出率を演算してもよく、ブリッジ欠陥に関連する第2及び第4クリティカルエリアにより重み付けして故障検出率を演算してもよい。式(13)は第1及び第3クリティカルエリアにより重み付けした故障検出率WFCopenを示し、式(14)は第2及び第4クリティカルエリアにより重み付けした故障検出率WFCbridgeを示す。
また、故障検出率演算装置2では、第2クリティカルエリアと第4クリティカルエリアとは、低抵抗の導電性の微粒子が存在する割合と、高抵抗の導電性の微粒子が存在する割合によって推定されるが、第4クリティカルエリアは他の形態によって決定されてもよい。
図33は第4クリティカルエリアを決定する他の形態を示す図であり、図33(a)は第2クリティカルエリアを示す図であり、図33(b)は第2クリティカルエリア及び第4クリティカルエリアを示す図である。
図33に示す実施形態では、第4クリティカルエリアは、第2クリティカルエリアと配線A及びBとの間に配置される幅がqである帯状の領域である。図33に示す実施形態では、第2クリティカルエリアと配線A及びBとの間の距離がqよりも短くなったときに抵抗性ブリッジ欠陥による故障が発生するとする。第4クリティカルエリアは、第2クリティカルエリアに配置される微粒子の抵抗値よりも高い抵抗値を有する微粒子により連結される抵抗性ブリッジ欠陥による故障である第4故障が発生する面積を示すことができる。
また、故障検出率演算装置1及び2並びにテストパターン生成装置3では、レイアウト情報及びテストパターンは、配置配線情報生成部及びテストパターン生成部がそれぞれ生成するが、レイアウト情報及びテストパターンは、外部から取得されてもよい。
また、テストパターン生成装置3は、テストパターンの組み合わせの故障検出率が判定値よりも大きくなるまでテストパターンを選択する。しかしながら、実施形態に係るテストパターン生成装置3は、テストパターンを追加したときのテストパターンの組み合わせの故障検出率の上昇幅が判定値よりも小さくなるまでテストパターンを選択してもよい。
また、図1(c)及び1(d)において、微粒子は正方形で示されているが、実施形態に係る故障検出率演算装置及びテストパターン生成装置は、円形、三角形又は多角形等の種々の形状を有する微粒子に対してクリティカルエリアを演算するように構成してもよい。
1、2 故障検出率演算装置
3 テストパターン生成装置
110、120、130 判定部
111 ネットリスト取得部
112 配置配線情報生成部
113、123 クリティカルエリア演算部
114 テストパターン生成部
115、125、135 故障検出情報演算部
116、126、136 故障検出率演算部
117 故障検出率出力部
137 テストパターン選択部
138 テストパターン決定部
139 テストパターン出力部
131、231 第1クリティカルエリア演算部
132、232 第2クリティカルエリア演算部
233 第3クリティカルエリア演算部
234 第4クリティカルエリア演算部

Claims (11)

  1. 半導体集積回路に配置される論理回路の接続関係を示すネットリストに対応する配置配線情報を使用して、微粒子により第1故障が発生する面積を示す第1クリティカルエリアを前記ネットリストの配線毎に演算する第1クリティカルエリア演算部と、
    前記配置配線情報を使用して、微粒子により前記第1故障と相違する第2故障が発生する面積を示す第2クリティカルエリアを前記ネットリストの配線毎に演算する第2クリティカルエリア演算部と、
    前記論理回路の動作を検証するテストパターンにより、前記ネットリストの配線のそれぞれにおける前記第1故障が検出可能であるか否かを示す第1故障検出情報、及び前記ネットリストの配線のそれぞれにおける前記第2故障が検出可能であるか否かを示す第2故障検出情報を演算する故障検出情報演算部と、
    前記第1クリティカルエリアに応じて前記第1故障検出情報を重み付けした第1故障検出値、前記第2クリティカルエリアに応じて前記第2故障検出情報を重み付けした第2故障検出値、及び前記第1クリティカルエリアの総和と前記第2クリティカルエリアの総和とを加算した合計クリティカルエリアを使用して故障検出率を演算する故障検出率演算部と、
    前記故障検出率を出力する故障検出率出力部と、
    を有することを特徴とする故障検出率演算装置。
  2. 前記故障検出率は、前記第1故障検出値と、前記第2故障検出値とを加算した値を分子とし、前記第1クリティカルエリアの総和と前記第2クリティカルエリアの総和とを加算した合計クリティカルエリアを分母として演算される、請求項1に記載の故障検出率演算装置。
  3. 前記第1故障は、前記ネットリストの配線が幅方向に亘って絶縁性の微粒子により切断される完全オープン欠陥による故障であり、
    前記第2故障は、前記ネットリストの配線の何れかの間が導電性の微粒子により連結される完全ブリッジ欠陥による故障である、請求項1に記載の故障検出率演算装置。
  4. 前記配置配線情報を使用して、前記ネットリストの配線が絶縁性の微粒子により部分的に欠損する抵抗性オープン欠陥による故障である第3故障が発生する面積を示す第3クリティカルエリアを前記ネットリストの配線毎に演算する第3クリティカルエリア演算部と、
    前記配置配線情報を使用して、前記ネットリストの配線の何れかの間が前記第2故障の微粒子の抵抗値よりも高い抵抗値を有する微粒子により連結される抵抗性ブリッジ欠陥による故障である第4故障が発生する面積を示す第4クリティカルエリアを前記ネットリストの配線毎に演算する第4クリティカルエリア演算部と、を更に有する、請求項3に記載の故障検出率演算装置。
  5. 前記故障検出情報演算部は、前記テストパターンにより、前記ネットリストの配線のそれぞれにおける前記第3故障が検出可能であるか否かを示す第3故障検出情報、及び前記ネットリストの配線のそれぞれにおける前記第4故障が検出可能であるか否かを示す第4故障検出情報を更に演算し、
    前記故障検出率は、前記第1故障検出値と、前記第2故障検出値と、前記第3クリティカルエリアに応じて前記第3故障検出情報を重み付けした第3故障検出値と、前記第4クリティカルエリアに応じて前記第4故障検出情報を重み付けした第4故障検出値とを加算した値を分子とし、前記第1クリティカルエリアの総和と前記第2クリティカルエリアの総和と前記第3クリティカルエリアの総和と前記第4クリティカルエリアの総和とを加算した合計クリティカルエリアを分母として演算される、請求項4に記載の故障検出率演算装置。
  6. 前記第1クリティカルエリア及び前記第2クリティカルエリアは、微粒子の粒径と微粒子による欠陥発生確率との関係により補正される、請求項1に記載の故障検出率演算装置。
  7. 半導体集積回路に配置される論理回路の接続関係を示すネットリストに対応する配置配線情報を使用して、微粒子により第1故障が発生する面積を示す第1クリティカルエリアを前記ネットリストの配線毎に演算し、
    前記配置配線情報を使用して、微粒子により前記第1故障と相違する第2故障が発生する面積を示す第2クリティカルエリアを前記ネットリストの配線毎に演算し、
    前記論理回路の動作を検証するテストパターンにより、前記ネットリストの配線のそれぞれにおける前記第1故障が検出可能であるか否かを示す第1故障検出情報、及び前記ネットリストの配線のそれぞれにおける前記第2故障が検出可能であるか否かを示す第2故障検出情報を演算し、
    前記第1クリティカルエリアに応じて前記第1故障検出情報を重み付けした第1故障検出値、前記第2クリティカルエリアに応じて前記第2故障検出情報を重み付けした第2故障検出値、及び前記第1クリティカルエリアの総和と前記第2クリティカルエリアの総和とを加算した合計クリティカルエリアを使用して故障検出率を演算し、
    前記故障検出率を出力する、
    ことを有することを特徴とする故障検出率演算方法。
  8. 半導体集積回路に配置される論理回路の接続関係を示すネットリストに対応する配置配線情報を使用して、微粒子により第1故障が発生する面積を示す第1クリティカルエリアを前記ネットリストの配線毎に演算し、
    前記配置配線情報を使用して、微粒子により前記第1故障と相違する第2故障が発生する面積を示す第2クリティカルエリアを前記ネットリストの配線毎に演算し、
    前記論理回路の動作を検証するテストパターンにより、前記ネットリストの配線のそれぞれにおける前記第1故障が検出可能であるか否かを示す第1故障検出情報、及び前記ネットリストの配線のそれぞれにおける前記第2故障が検出可能であるか否かを示す第2故障検出情報を演算し、
    前記第1クリティカルエリアに応じて前記第1故障検出情報を重み付けした第1故障検出値、前記第2クリティカルエリアに応じて前記第2故障検出情報を重み付けした第2故障検出値、及び前記第1クリティカルエリアの総和と前記第2クリティカルエリアの総和とを加算した合計クリティカルエリアを使用して故障検出率を演算し、
    前記故障検出率を出力する、
    処理を演算部に実行させることを特徴とする故障検出率演算プログラム。
  9. 半導体集積回路に配置される論理回路の接続関係を示すネットリストに対応する配置配線情報を使用して、微粒子により第1故障が発生する面積を示す第1クリティカルエリアを前記ネットリストの配線毎に演算する第1クリティカルエリア演算部と、
    前記配置配線情報を使用して、微粒子により前記第1故障と相違する第2故障が発生する面積を示す第2クリティカルエリアを前記ネットリストの配線毎に演算する第2クリティカルエリア演算部と、
    前記ネットリストの配線のそれぞれにおける前記第1故障が検出可能であるか否かを示す第1故障検出情報、及び前記ネットリストの配線のそれぞれにおける前記第2故障が検出可能であるか否かを示す第2故障検出情報を、前記論理回路の動作を検証する複数のテストパターン毎に演算する故障検出情報演算部と、
    前記第1クリティカルエリアに応じて前記第1故障検出情報を重み付けした第1故障検出値、前記第2クリティカルエリアに応じて前記第2故障検出情報を重み付けした第2故障検出値、及び前記第1クリティカルエリアの総和と前記第2クリティカルエリアの総和とを加算した合計クリティカルエリアを使用して故障検出率を、前記複数のテストパターン毎に演算する故障検出率演算部と、
    前記複数のテストパターンの何れかを組み合わせたときの故障検出率を演算し、演算した故障検出率が所望の値であるときに、前記組み合わせたテストパターンを、使用するテストパターンとして決定するテストパターン決定部と、
    前記テストパターン決定部が決定したテストパターンを出力するテストパターン出力部と、
    を有することを特徴とするテストパターン生成装置。
  10. 半導体集積回路に配置される論理回路の接続関係を示すネットリストに対応する配置配線情報を使用して、微粒子により第1故障が発生する面積を示す第1クリティカルエリアを前記ネットリストの配線毎に演算し、
    前記配置配線情報を使用して、微粒子により前記第1故障と相違する第2故障が発生する面積を示す第2クリティカルエリアを前記ネットリストの配線毎に演算し、
    前記ネットリストの配線のそれぞれにおける前記第1故障が検出可能であるか否かを示す第1故障検出情報、及び前記ネットリストの配線のそれぞれにおける前記第2故障が検出可能であるか否かを示す第2故障検出情報を、前記論理回路の動作を検証する複数のテストパターン毎に演算し、
    前記第1クリティカルエリアに応じて前記第1故障検出情報を重み付けした第1故障検出値、前記第2クリティカルエリアに応じて前記第2故障検出情報を重み付けした第2故障検出値、及び前記第1クリティカルエリアの総和と前記第2クリティカルエリアの総和とを加算した合計クリティカルエリアを使用して故障検出率を、前記複数のテストパターン毎に演算し、
    前記複数のテストパターンの何れかを組み合わせたときの故障検出率を演算し、演算した故障検出率が所望の値であるときに、前記組み合わせたテストパターンを、使用するテストパターンとして決定し、
    決定されたテストパターンを出力する、
    ことを有することを特徴とするテストパターン生成方法。
  11. 半導体集積回路に配置される論理回路の接続関係を示すネットリストに対応する配置配線情報を使用して、微粒子により第1故障が発生する面積を示す第1クリティカルエリアを前記ネットリストの配線毎に演算し、
    前記配置配線情報を使用して、微粒子により前記第1故障と相違する第2故障が発生する面積を示す第2クリティカルエリアを前記ネットリストの配線毎に演算し、
    前記ネットリストの配線のそれぞれにおける前記第1故障が検出可能であるか否かを示す第1故障検出情報、及び前記ネットリストの配線のそれぞれにおける前記第2故障が検出可能であるか否かを示す第2故障検出情報を、前記論理回路の動作を検証する複数のテストパターン毎に演算し、
    前記第1クリティカルエリアに応じて前記第1故障検出情報を重み付けした第1故障検出値、前記第2クリティカルエリアに応じて前記第2故障検出情報を重み付けした第2故障検出値、及び前記第1クリティカルエリアの総和と前記第2クリティカルエリアの総和とを加算した合計クリティカルエリアを使用して故障検出率を、前記複数のテストパターン毎に演算し、
    前記複数のテストパターンの何れかを組み合わせたときの故障検出率を演算し、演算した故障検出率が所望の値であるときに、前記組み合わせたテストパターンを、使用するテストパターンとして決定し、
    決定されたテストパターンを出力する、
    処理を演算部に実行させること特徴とするテストパターン生成プログラム。
JP2015100296A 2015-05-15 2015-05-15 故障検出率演算装置、故障検出率演算プログラム及びその方法、並びにテストパターン生成装置及び、テストパターン生成プログラム及びその方法 Pending JP2016218577A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015100296A JP2016218577A (ja) 2015-05-15 2015-05-15 故障検出率演算装置、故障検出率演算プログラム及びその方法、並びにテストパターン生成装置及び、テストパターン生成プログラム及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015100296A JP2016218577A (ja) 2015-05-15 2015-05-15 故障検出率演算装置、故障検出率演算プログラム及びその方法、並びにテストパターン生成装置及び、テストパターン生成プログラム及びその方法

Publications (1)

Publication Number Publication Date
JP2016218577A true JP2016218577A (ja) 2016-12-22

Family

ID=57578532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015100296A Pending JP2016218577A (ja) 2015-05-15 2015-05-15 故障検出率演算装置、故障検出率演算プログラム及びその方法、並びにテストパターン生成装置及び、テストパターン生成プログラム及びその方法

Country Status (1)

Country Link
JP (1) JP2016218577A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109583036A (zh) * 2018-11-05 2019-04-05 中国航空工业集团公司西安飞机设计研究所 一种集成故障的故障检测率的分配方法
JP2021068264A (ja) * 2019-10-25 2021-04-30 新日本無線株式会社 ネットリスト生成方法及び生成装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109583036A (zh) * 2018-11-05 2019-04-05 中国航空工业集团公司西安飞机设计研究所 一种集成故障的故障检测率的分配方法
JP2021068264A (ja) * 2019-10-25 2021-04-30 新日本無線株式会社 ネットリスト生成方法及び生成装置
JP7372110B2 (ja) 2019-10-25 2023-10-31 日清紡マイクロデバイス株式会社 ネットリスト生成方法及び生成装置

Similar Documents

Publication Publication Date Title
Chang et al. Assessing automotive functional safety microprocessor with ISO 26262 hardware requirements
JP2008517467A5 (ja)
JP2007150299A (ja) プロセス画像誘起欠陥を検出する方法
JP5983362B2 (ja) 試験方法、試験プログラム、および、試験制御装置
JP2007188230A (ja) 故障リスト及びテストパターン作成装置、故障リスト及びテストパターン作成方法、故障リスト作成及び故障検出率算出装置、及び故障リスト作成及び故障検出率算出方法
JP2016218577A (ja) 故障検出率演算装置、故障検出率演算プログラム及びその方法、並びにテストパターン生成装置及び、テストパターン生成プログラム及びその方法
JP2006253187A (ja) 電源解析方法および電源解析を実行するプログラム
JP2007311773A (ja) システマティック欠陥に対応したルータにおける歩留まりの最適化
US20120066657A1 (en) Method of designing an integrated circuit based on a combination of manufacturability, test coverage and, optionally, diagnostic coverage
JP5885097B2 (ja) 配線長測定装置及びプログラム
JP5071081B2 (ja) 半導体装置に対する同時動作信号ノイズ見積り方法における同時動作信号ノイズ基礎特性取得方法、及びプログラム
KR20130076029A (ko) 집적 회로의 커플링 효과 해석 방법
JP4232477B2 (ja) 半導体集積回路の検証方法
JP6070337B2 (ja) 物理故障解析プログラム、物理故障解析方法および物理故障解析装置
US7634745B2 (en) Method for computing the critical area of compound fault mechanisms
TW201743231A (zh) 使用設計分析之計量目標之電子相關位置
CN111916444B (zh) 用于指状结构鳍式场效应晶体管的电性解析版图
JP2009146271A (ja) 基板評価装置、基板評価方法、基板評価プログラム、および基板評価プログラムを格納した記録媒体
JP2008059688A (ja) 半導体メモリ試験装置
US9651621B2 (en) System for and method of semiconductor fault detection
JP5672783B2 (ja) 測定装置、測定プログラムおよび測定方法
JP2009277048A (ja) 回路解析方法、回路解析プログラム、及び回路解析装置
JP5884751B2 (ja) 予測装置
Sauer et al. Estimation of component criticality in early design steps
JP5601046B2 (ja) 故障解析装置