(57)【要約】【課題】遅延テストにおける微小遅延故障の見逃しを削減すること。【解決手段】本発明によれば、ＴＰＩ手法に基づく半導体集積回路の設計方法が提供される。その設計方法は、（Ａ）設計回路に含まれる複数のノードから、テストポイントが挿入される対象ノードを選択するステップと、（Ｂ）その対象ノードに対してテストポイントを挿入するステップと、（Ｃ）そのテストポイントにつながるパスであるテストポイントパスに対して遅延時間を指定するステップと、（Ｄ）テストポイントパスの遅延時間が指定された遅延時間になるように、設計回路のレイアウトを行なうステップと、を有する。上記（Ａ）ステップは、（Ａ１）複数のノード毎に、ファンイン側とファンアウト側のパスの遅延時間を算出するステップと、（Ａ２）算出された遅延時間に基づいて対象ノードを選択するステップと、を含む。【選択図】図９
2008293088.tif 000002
【特許請求の範囲】
【請求項１】
ＴＰＩ（Test Point Insertion）手法に基づく半導体集積回路の設計方法であって、
（Ａ）設計回路に含まれる複数のノードから、テストポイントが挿入される対象ノードを選択するステップと、
（Ｂ）前記対象ノードに対して前記テストポイントを挿入するステップと、
（Ｃ）前記テストポイントにつながるパスであるテストポイントパスに対して遅延時間を指定するステップと、
（Ｄ）前記テストポイントパスの遅延時間が前記指定された遅延時間になるように、前記設計回路のレイアウトを行なうステップと
を有し、
前記（Ａ）ステップは、
（Ａ１）前記複数のノード毎に、ファンイン側とファンアウト側のパスの遅延時間を算出するステップと、
（Ａ２）前記算出された遅延時間に基づいて、前記複数のノードから前記対象ノードを選択するステップと
を含む
半導体集積回路の設計方法。
【請求項２】
請求項１に記載の半導体集積回路の設計方法であって、
前記（Ａ２）ステップは、
（ａ）前記複数のノード毎に、前記算出された遅延時間の最小値に基づく優先度パラメータを算出するステップと、
（ｂ）前記優先度パラメータが大きいノードを優先的に、前記対象ノードとして選択するステップと
を含む
半導体集積回路の設計方法。
【請求項３】
請求項２に記載の半導体集積回路の設計方法であって、
前記優先度パラメータは、前記算出された遅延時間の最大値と最小値との差である
半導体集積回路の設計方法。
【請求項４】
請求項２に記載の半導体集積回路の設計方法であって、
前記優先度パラメータは、テストクロック周期と前記算出された遅延時間の最小値との差である
半導体集積回路の設計方法。
【請求項５】
請求項２に記載の半導体集積回路の設計方法であって、
前記優先度パラメータは、前記算出された遅延時間の最小値の逆数である
半導体集積回路の設計方法。
【請求項６】
請求項２に記載の半導体集積回路の設計方法であって、
前記優先度パラメータは、前記算出された遅延時間の最大値と最小値との差と、前記テストポイントよって遅延検証が行われ得る故障の数との積である
半導体集積回路の設計方法。
【請求項７】
請求項１に記載の半導体集積回路の設計方法であって、
前記（Ａ２）ステップは、
（ａ）前記複数のノード毎に、遅延時間が最も小さいパスを用いてテストされた場合のＳＤＱＬ（Statistical Delay Quality Level）を算出するステップと、
（ｂ）前記複数のノード毎に、前記テストポイントが挿入されたと仮定した場合の前記ＳＤＱＬの改善度を、優先度パラメータとして算出するステップと、
（ｃ）前記優先度パラメータが大きいノードを優先的に、前記対象ノードとして選択するステップと
を含む
半導体集積回路の設計方法。
【請求項８】
請求項１乃至７のいずれかに記載の半導体集積回路の設計方法であって、
前記（Ｃ）ステップにおいて、前記テストポイントパスの遅延時間は、前記対象ノードを通るパスの遅延時間のうち最大となるように指定される
半導体集積回路の設計方法。
【請求項９】
請求項８に記載の半導体集積回路の設計方法であって、
前記（Ｃ）ステップにおいて、前記テストポイントパス以外で前記対象ノードを通るパスの遅延時間のうち最大のものが、前記テストポイントパスの遅延時間として指定される
半導体集積回路の設計方法。
【請求項１０】
請求項１乃至９のいずれかに記載の半導体集積回路の設計方法をコンピュータに実行させる半導体集積回路の設計プログラム。
【請求項１１】
テストポイント挿入可能な箇所のうち、ファンイン側あるいはファンアウト側のパスの遅延時間の最大値と最小値との差が大きい箇所から優先的にテストポイントが挿入されていることを特徴とする半導体集積回路。
【請求項１２】
テストポイント挿入可能な箇所のうち、ファンイン側あるいはファンアウト側のパスの遅延時間の最大値と最小値との差と仮定故障数との積が大きい箇所から優先的にテストポイントが挿入されていることを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計技術に関する。特に、本発明は、テストポイント挿入（Test Point Insertion）法を用いた半導体集積回路の設計技術に関する。
【背景技術】
【０００２】
半導体集積回路の製造後、製品中に遅延故障（delay fault）や縮退故障（stuck-at fault）が発生しているか否かを確認するためにテストを行なう必要がある。そのテスト時のテスタビリティを高めることができるテスト回路を、設計段階で予め組み込んでおく設計技術が知られている。そのような設計技術は、「テスト容易化設計（ＤＦＴ： Design For Testability）」と呼ばれている。
【０００３】
テスト容易化設計の一手法として、「スキャン設計」が知られている（例えば、非特許文献１を参照）。スキャン設計によれば、設計回路内のフリップフロップの全て又は一部が、スキャンフリップフロップに置き換えられる。テスト時、それらスキャンフリップフロップはあるスキャンパスを構成することができる。そのスキャンパスを通してテストパタンを入力及び出力することにより、スキャンテストが行なわれる。テストパタンは、ＡＴＰＧ（Automatic Test Pattern Generator）によって自動的に生成される。
【０００４】
テストを更に容易化するための手法として、「テストポイント挿入（ＴＰＩ： Test Point Insertion）」が知られている（例えば、特許文献１、特許文献２、特許文献３を参照）。テストポイント挿入によれば、テスト時の信号の制御性（controllability）や観測性（observability）を向上させるために、設計回路中のあるノードに対してテストポイントが挿入される。
【０００５】
また最近、「微小遅延故障（small delay defect）」が着目されている（非特許文献２参照）。市場からの大規模化、高速化の要求や、製造プロセスにおける配線やゲートの微細化が進むと、設計値からのわずかな逸脱がクリティカルパスに存在すると動作不良が発生する。つまり、回路の高速化、大規模化、微細化に伴い、微小遅延故障に起因する動作不良が増加してきている。テストにおいては、微小遅延故障を見逃すことなく精度良く検出することが重要である。
【０００６】
【特許文献１】特開平６−３３１７０９号公報
【特許文献２】特開平９−１８９７４８号公報
【特許文献３】特開２００６−８４４２７号公報
【非特許文献１】S. Kajihara et al., "A Framework of High-quality Transition Fault ATPG for Scan Circuits", IEEE International Test Conference, Paper 2.1, Oct. 2006.
【非特許文献２】Y. Sato et al., "Invisible Delay Quality - SDQM Model Lights Up What Could Not Be Seen", IEEE International Test Conference, Page 47.1, Nov. 2005.
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来の設計技術に関して、本願発明者は次の点に着目した。
【０００８】
図１は、本発明の課題を説明するための回路図であり、従来のスキャン設計に基づく設計回路の一例を示している。図１に示された設計回路は、フリップフロップ（スキャンフリップフロップ）ＦＦ１〜ＦＦ４を含んでいる。フリップフロップＦＦ１からフリップフロップＦＦ３へのパスＰ１の遅延時間は６ｎｓである。フリップフロップＦＦ１からフリップフロップＦＦ４へのパスＰ２の遅延時間は８ｎｓである。フリップフロップＦＦ２からフリップフロップＦＦ３へのパスＰ３の遅延時間は３ｎｓである。フリップフロップＦＦ２からフリップフロップＦＦ４へのパスＰ４の遅延時間は５ｎｓである。パスＰ１〜Ｐ４のうち遅延時間が最大であるパス（以下、「最長パス」と参照される）は、パスＰ２である。ここで、図１に示されたノードＴＮにおいて微小遅延故障が発生しているとする。
【０００９】
図２は、遅延テストに用いられるパスと見逃される微小遅延故障の大きさ（tdefect）との対応関係を示している。ここで、システムクロック周期は９ｎｓであるとする。最長パスＰ２の遅延時間は８ｎｓなので、１ｎｓ以下の故障が発生してもシステム動作に影響を与えない。このようにシステム動作に影響を与えない故障は、タイミング冗長故障と呼ばれる。パスＰ１が用いられる場合、遅延故障の大きさが３ｎｓ未満であれば、クロック周期（９ｎｓ）内に信号は伝達される。従って、その遅延故障は遅延テストにおいて検出されず、見逃されてしまう。より詳細には、パスＰ１が用いられる場合、１ｎｓ〜３ｎｓの大きさの遅延故障が見逃されてしまう。同様に、パスＰ４が用いられる場合、１ｎｓ〜４ｎｓの大きさの遅延故障が見逃されてしまう。同様に、パスＰ３が用いられる場合、１ｎｓ〜６ｎｓの大きさの遅延故障が見逃されてしまう。一方、最長パスＰ２が用いられる場合、遅延故障は正常に検出され、見逃しは発生しない。
【００１０】
このように、遅延テストにおいて微小遅延故障を見逃さないためには、なるべく長いパスを用いることが好適である。図１及び図２に示された例では、最長パスＰ２を用いることが好適である。しかしながら、どのパスが遅延テストに用いられるかはＡＴＰＧ次第であり、一般的には比較的短いパスが用いられる傾向がある。よって、微小遅延故障が見逃される可能性が高い。最長パスが選択されるように、ＡＴＰＧを改良することも考えられる。但し、最長パスを用いた故障検出を実現するためには、ＡＴＰＧが最長パスを探索しながらテストパタンを生成する必要があるため、テストパタンの生成時間が長くならざるを得ない。また、最長パスをテストするための信号値の制約は、一般的なＡＴＰＧより多くなり、結果として、パタン数が増加する。このことは、遅延テストに要する時間とテストコストの増大を招く。
【００１１】
また、図３は、従来のＴＰＩ手法に基づく設計回路の一例を示している。図３において、図１で示された設計回路中のノードＴＮに対してテストポイントＴＰ（観測フリップフロップ）が挿入されている。フリップフロップＦＦ１からテストポイントＴＰへのパスは、以下「テストポイントパスＰＴ」と参照される。テストポイントパスＰＴはノードＴＮを含んでおり、遅延テストにおいてはこのテストポイントパスＰＴが用いられる。
【００１２】
テストポイントパスＰＴに関しては、セットアップ制約とホールド制約が満たされていれば十分であり、テストポイントパスＰＴは一般的に短く設計される。従って、ほとんどの場合、テストポイントパスＰＴは最長パスＰ２より短くなる。よって、微小遅延故障が見逃される可能性が高い。
【００１３】
以上に説明されたように、従来のパスの遅延値を考慮しないテストポイント挿入技術では、遅延テストにおいて微小遅延故障が見逃される可能性が極めて高かった。それは、従来の設計技術が、微小遅延故障の検出に対応していなかったからである。微小遅延故障が見逃されると、市場での不良発生率が増大してしまう。それは、製品の信頼性の低下につながる。
【課題を解決するための手段】
【００１４】
本発明によれば、ＴＰＩ手法に基づく半導体集積回路の設計方法が提供される。その設計方法は、（Ａ）設計回路に含まれる複数のノードから、テストポイントが挿入される対象ノードを選択するステップと、（Ｂ）その対象ノードに対してテストポイントを挿入するステップと、（Ｃ）そのテストポイントにつながるパスであるテストポイントパスに対して遅延時間を指定するステップと、（Ｄ）テストポイントパスの遅延時間が指定された遅延時間になるように、設計回路のレイアウトを行なうステップと、を有する。
【００１５】
このように、本発明によれば、テストポイントパスにおける遅延時間を能動的に指定することが可能である。つまり、テストポイントパスにおける遅延時間を、微小遅延故障の検出に十分な大きさに設定することが可能となる。例えば、テストポイントパスの遅延時間は、対象ノードを通るパスのうち最長パスの遅延時間と同じになるように設定される。これにより、遅延テストにおいて微小遅延故障の見逃しを削減することが可能となる。
【００１６】
更に、上記（Ａ）ステップは、（Ａ１）複数のノード毎に、ファンイン側とファンアウト側のパスの遅延時間を算出するステップと、（Ａ２）算出された遅延時間に基づいて、複数のノードから対象ノードを選択するステップと、を含む。この遅延時間に基づいて、微小遅延故障が見逃されやすいノードを検出することができる。従って、微小遅延故障が見逃されやすいノードを優先的に対象ノードとして選択することが可能となる。これにより、十分な品質を確保しつつ、挿入されるテストポイント数を削減することが可能となる。すなわち、無駄なテストポイントを排除し、効率的なテストポイント挿入を実現することが可能となる。その結果、テストポイントによるオーバーヘッドが削減され、チップ面積やコストの増大が抑制される。
【発明の効果】
【００１７】
本発明によれば、遅延テストにおける微小遅延故障の見逃しが削減される。従って、市場での不良発生率が低減し、製品の信頼性が向上する。更に、挿入されるテストポイント数を削減することが可能となる。その結果、テストポイントによるオーバーヘッドが削減され、チップ面積やコストの増大が抑制される。
【発明を実施するための最良の形態】
【００１８】
添付図面を参照して、本発明の実施の形態に係る半導体集積回路の設計技術を説明する。
【００１９】
１．設計フロー
本実施の形態に係る半導体集積回路の設計方法は、基本的にはＴＰＩ手法に基づいている。但し、本実施の形態に係るＴＰＩ手法は、従来方式と異なり、微小遅延故障の検出にも対応している。まず、図４に示されるフローチャートを参照して、本実施の形態に係る半導体集積回路の設計方法を俯瞰する。
【００２０】
ステップＳ１００：
まず、設計回路にテストポイント（制御テストポイント及び／又は観測テストポイント）が挿入される。テストポイントが挿入されるべき位置（以下、「対象ノード」と参照される）の決定方法は、後の第３節において詳しく説明される。テストポイントが挿入された対象ノードにおける信号は、外部から制御可能、観測可能である。テストポイントとしては、例えば、スキャンテスト可能なフリップフロップが用いられる。
【００２１】
ステップＳ２００：
次に、テストポイントにつながるパスに対して、所定の遅延時間が指定される。テストポイントにつながるパスとは、制御テストポイントを始点とするパス、あるいは、観測テストポイントを終点とするパスであり、以下「テストポイントパス」と参照される。また、テストポイントパスに対して指定される遅延時間は、以下「ＴＰ遅延」と参照される。
【００２２】
ステップＳ３００：
次に、設計回路のレイアウト処理が行なわれる。ここで、本実施の形態によれば、テストポイントパスの遅延時間が上記指定されたＴＰ遅延となるように、レイアウト処理が行なわれる。従来のＴＰＩ手法では、テストポイントパスに関しては、セットアップ制約とホールド制約だけが考慮されており、それら制約が満たされていれば十分であった。しかしながら、本実施の形態では、テストポイントパスの遅延時間が指定されており、その指定された遅延時間が実現されるようにテストポイントパスが設計される。結果として、指定されたＴＰ遅延が考慮されたレイアウトデータが作成される。
【００２３】
ステップＳ４００：
作成されたレイアウトデータを基に、設計対象の半導体集積回路が製造される。
【００２４】
ステップＳ５００：
製造された半導体集積回路のテストが実行される。このテストにおいては、上記挿入されたテストポイントが用いられ、縮退故障や遅延故障が存在するか否かが検査される。特に、テストポイントを用いた遅延テストを通して、微小遅延故障が存在するか否かが検査される。この遅延テストにおける微小遅延故障の見逃しを減らすために、本実施の形態によれば、上記「ＴＰ遅延」は次のように設定される。
【００２５】
２．微小遅延故障対応テストポイント
２−１．第１の例
図５は、本実施の形態に係る設計回路の第１の例を示している。図５に示された設計回路は、図１で示されたものと同様に、フリップフロップ（スキャンフリップフロップ）ＦＦ１〜ＦＦ４を含んでいる。また、図５において、設計回路中の対象ノード（target node）ＴＮに対して、テストポイントＴＰ（観測フリップフロップ）が挿入されている。フリップフロップＦＦ１からテストポイントＴＰへのパスが、テストポイントパスＰＴである。テストポイントパスＰＴ以外で対象ノードＴＮを通るパスのうち遅延時間が最大である最長パスは、フリップフロップＦＦ１からフリップフロップＦＦ４へのパスＰ２（遅延時間：８ｎｓ）である。
【００２６】
ステップＳ２００において、テストポイントパスＰＴに対してＴＰ遅延が指定される。第１の例では、最長パスＰ２の遅延時間がＴＰ遅延として指定される。すなわち、ＴＰ遅延は、遅延テストにおいて用いられることが好ましいパスである最長パスＰ２の遅延時間と同じに設定される。このＴＰ遅延は、対象ノードＴＮを通るパスの遅延時間のうち最大である。そして、ステップＳ３００において、指定されたＴＰ遅延が実現されるように、テストポイントパスＰＴのタイミング設計が行なわれる。そのために、図５に示されるように、いくつかのインバータが遅延素子として挿入される。その結果、遅延時間が８ｎｓであるテストポイントパスＰＴが得られる。
【００２７】
ステップＳ４００で半導体集積回路が製造される。この際、対象ノードＴＮにおいて微小遅延故障が発生したとする。ステップＳ５００において、テストポイントパスＰＴを用いた遅延テストが行なわれる。この時、テストポイントパスＰＴの遅延時間は８ｎｓであるため、微小遅延故障は見逃されることなく、正常に検出される（図２参照）。このように、ＴＰＩ手法に基づいて設計が行われても、遅延テストにおいて微小遅延故障は見逃されない。微小遅延故障の見逃しが減少するため、不良発生率が低減される。
【００２８】
２−２．第２の例
図６は、本実施の形態に係る設計回路の第２の例を示している。第１の例における説明と重複する説明は適宜省略される。第２の例では、遅延テスト時のテストクロック周期（テストタイミング）が、ＴＰ遅延として指定される。本例において、テストクロック周期は９ｎｓであり、ＴＰ遅延も同じ９ｎｓに設定される。このＴＰ遅延は、対象ノードＴＮを通るパスの遅延時間のうち最大である。指定されたＴＰ遅延が実現されるように、図６に示されるように、いくつかのインバータが遅延素子として挿入される。その結果、遅延時間が９ｎｓであるテストポイントパスＰＴが得られる。
【００２９】
遅延テストにおいては、そのテストポイントパスＰＴが用いられる。従って、対象ノードＴＮにおいて微小遅延故障が発生していたとしても、その微小遅延故障は見逃されることなく、正常に検出される。つまり、第１の例と同様の効果が得られる。更に、第２の例によれば、ＴＰ遅延が第１の例の場合より大きい値に設定されるため、微小遅延故障の検出精度が更に向上する。
【００３０】
尚、テストクロック周期以下のある範囲が、テストポイントパスＰＴに対するＴＰ遅延として指定されてもよい。例えば、ＴＰ遅延を、８ｎｓ〜９ｎｓという範囲に設定することもできる。その場合でも、指定されたＴＰ遅延は、対象ノードＴＮを通るパスの遅延時間のうち最大となる。従って、同様の効果が得られる。
【００３１】
２−３．第３の例
上述の例では観測テストポイントの場合が説明されたが、制御テストポイントの場合も同様である。図７は、制御テストポイントが挿入される場合の一例を示している。図７に示された設計回路は、フリップフロップ（スキャンフリップフロップ）ＦＦ５〜ＦＦ８を含んでいる。また、対象ノードＴＮに対して、テストポイントＴＰ（制御フリップフロップ）が挿入されている。テストポイントＴＰからフリップフロップＦＦ８へのパスが、テストポイントパスＰＴである。そのテストポイントパスＰＴに対して、ＴＰ遅延が指定される。例えば、ＴＰ遅延は、対象ノードＴＮを通る最長パスＰ５の遅延時間と同じになるように設定される。あるいは、ＴＰ遅延は、遅延テスト時のテストクロック周期と同じになるように設定されてもよい。
【００３２】
３．テストポイント挿入箇所の決定方法
次に、本実施の形態に係る微小遅延故障対応のテストポイントＴＰの挿入箇所の決定方法を詳しく説明する。つまり、図４中のステップＳ１００における対象ノードＴＮの決定方法を説明する。
【００３３】
挿入されるテストポイントＴＰの数が増えるにつれて、故障検出率が向上する一方で、チップ面積は増大してしまう。つまり、テストポイントＴＰの数が膨大になると、それによるオーバーヘッドが巨大となり、チップ面積やコストがいたずらに増大してしまう。従って、十分な品質を確保しつつ、挿入されるテストポイントＴＰの数をなるべく削減することが望ましい。すなわち、テストポイントＴＰを“効率的”に挿入することが望ましい。以下に説明されるのは、それを実現するための方法である。
【００３４】
図８は、ある設計回路を示している。この設計回路は、フリップフロップＦＦ１１〜ＦＦ１８を含んでいる。このうちフリップフロップＦＦ１１〜ＦＦ１４はノードＮＡのファンイン側に存在し、フリップフロップＦＦ１５〜ＦＦ１８はノードＮＡのファンアウト側に存在する。ファンイン側のフリップフロップＦＦ１１〜ＦＦ１４からノードＮＡへのパスは、それぞれパスＰ１１〜Ｐ１４である。一方、ノードＮＡからファンアウト側のフリップフロップＦＦ１５〜１８へのパスは、それぞれパスＰ１５〜Ｐ１８である。これらパスＰ１５〜Ｐ１８の遅延時間はそれぞれ異なっており、パスＰ１５がファンアウト側の最短パスであり、パスＰ１８がファンアウト側の最長パスであるとする。
【００３５】
ノードＮＡのファンインコーンに属している遅延故障を検出することを考える。テストポイントＴＰが挿入されない場合、ファンアウト側ではパスＰ１５〜Ｐ１８のいずれかが用いられる。どのパスが用いられるかはＡＴＰＧ次第である。最長パスＰ１８が用いられる場合、微小遅延故障が検出される可能性は高い。しかしながら、それ以外の場合、微小遅延故障が見逃される可能性が高くなる。特に、最短パスＰ１５が用いられる場合、微小遅延故障が見逃される可能性が極めて高くなる。
【００３６】
このノードＮＡに、図８に示されるように観測テストポイントＴＰが挿入されるとする。ノードＮＡから観測テストポイントＴＰへのパスは、パスＰ２０である。パスＰ２０の遅延時間は、例えばファンアウト側の最長パスＰ１８の遅延時間と同じに設定される。ノードＮＡのファンインコーンに属する遅延故障が検出される際、ファンアウト側ではこのパスＰ２０が用いられる。その結果、微小遅延故障が検出される可能性が高くなる。つまり、テストポイントＴＰの挿入により、微小遅延故障の検出率が改善する。その改善の度合いは、最短パスＰ１５の遅延時間が小さいほど大きくなる。
【００３７】
ノードＮＡ以外のノードに関しても同様に、微小遅延故障が見逃されやすいパスが存在する。そのノードにテストポイントＴＰを挿入することによって、微小遅延故障の検出率は改善する。その改善の度合いは、微小遅延故障が見逃されやすいノードほど大きくなる。
【００３８】
以上のことから、十分な品質を確保しつつ、挿入されるテストポイントＴＰの数をなるべく削減するためには、微小遅延故障が見逃される可能性がより高いノードから優先的にテストポイントＴＰを挿入すればよいと考えられる。そこで、本実施の形態によれば、各ノードに対して「優先度パラメータ」が定義される。優先度パラメータとは、“微小遅延故障が見逃される度合い”や“テストポイント挿入による検出率の改善の度合い”を表す。本実施の形態によれば、この優先度パラメータが大きいノードが、優先的に、対象ノードＴＮとして選択される。それにより、少ないテストポイントＴＰで、微小遅延故障の検出率を効率的に向上させることができる。
【００３９】
優先度パラメータは、ノード毎に、ファンイン側とファンアウト側のそれぞれに対して算出される。この優先度パラメータの算出において、ファンイン側とファンアウト側のパスの遅延時間が用いられる。以下、優先度パラメータの様々な例を示す。以下の説明において、最長パスの遅延時間はＴＭＡＸで表され、最短パスの遅延時間はＴＭＩＮで表される。また、テストクロック周期はＴＣＬＫで表される。
【００４０】
（優先度パラメータの第１の例）
第１の例では、優先度パラメータは、「最長パスの遅延時間ＴＭＡＸ」と「最短パスの遅延時間ＴＭＩＮ」との差ＴＭＡＸ−ＴＭＩＮである。この差ＴＭＡＸ−ＴＭＩＮが大きいほど、微小遅延故障が見逃される危険性が高く、且つ、テストポイント挿入による効果が大きくなる。
【００４１】
（優先度パラメータの第２の例）
第２の例では、優先度パラメータは、「テストクロック周期ＴＣＬＫ」と「最短パスの遅延時間ＴＭＩＮ」との差ＴＣＬＫ−ＴＭＩＮである。この差ＴＣＬＫ−ＴＭＩＮが大きいほど、微小遅延故障が見逃される危険性が高く、且つ、テストポイント挿入による効果が大きくなる。
【００４２】
（優先度パラメータの第３の例）
第３の例では、優先度パラメータは、最短パスの遅延時間ＴＭＩＮの逆数１／ＴＭＩＮである。この逆数１／ＴＭＩＮが大きいほど、遅延時間ＴＭＩＮは小さい。すなわち、逆数１／ＴＭＩＮが大きいほど、微小遅延故障が見逃される危険性が高く、且つ、テストポイント挿入による効果が大きくなる。
【００４３】
（優先度パラメータの第４の例）
第４の例では、テストポイントＴＰによって遅延検証が行われ得る故障の数（仮定故障数）が考慮される。例えば図８において、観測テストポイントＴＰにより、ノードＮＡのファンインコーンに属する故障が検証され得る。故障は各素子の入力と出力において定義されるため、図８に示されるように、仮定故障数は１３である。この仮定故障数が多いほど、１つのテストポイントＴＰの挿入の影響は大きくなる。従って、上述の第１〜第３の例のいずれかで算出された値に仮定故障数を掛けることにより、検出率の改善の度合いはより正確になる。本例に係る優先度パラメータは、上述のいずれかの例で算出された値（ＴＭＡＸ−ＴＭＩＮ，ＴＣＬＫ−ＴＭＩＮ，１／ＴＭＩＮ）と仮定故障数との積である。
【００４４】
（優先度パラメータの第５の例）
第５の例では、優先度パラメータは、テストポイント挿入によるＳＤＱＬ（Statistical Delay Quality Level）の改善度である。ＳＤＱＬとは、テストするパスの遅延時間を考慮した、遅延テストの品質を表す指標である（非特許文献１、非特許文献２を参照）。あるノードにテストポイントＴＰが挿入されたと仮定して、そのノードに関するＳＤＱＬの改善度を優先度パラメータとする。具体的には、まずテストポイントＴＰの挿入前の回路に関して、各ノードに仮定している遅延故障が検出された場合の、ＳＤＱＬのワースト値、すなわち、最短パスを使ってテストされた場合のＳＤＱＬの値が求められる。次に、あるノードにテストポイントＴＰが挿入され、そのノードの故障がテストポイントＴＰを含むパスで検出されたと仮定して、そのノードに関するＳＤＱＬの改善度が算出される。
【００４５】
図９は、上述のテストポイント挿入処理（ステップＳ１００）を要約的に示すフローチャートである。まず、ノード（テストポイント挿入可能箇所）毎に、ファンイン側とファンアウト側のパスの遅延時間が算出される（ステップＳ１１０）。次に、算出された遅延時間に基づいて、上述の「優先度パラメータ」が算出される（ステップＳ１２０）。優先度パラメータは、ノード毎に、ファンイン側とファンアウト側のそれぞれに対して算出される。
【００４６】
次に、優先度パラメータが大きいノードが、優先的に、テストポイントＴＰが挿入される対象ノードＴＮとして選択される（ステップＳ１３０）。具体的には、各ノードの優先度パラメータが比較され、優先度パラメータが大きいノードから順番に対象ノードＴＮとして選択される。例えば、ファンアウト側の優先度パラメータだけを比較することにより、観測テストポイントが挿入される対象ノードＴＮが選択される。一方、ファンイン側の優先度パラメータだけを比較することにより、制御テストポイントが挿入される対象ノードＴＮが選択される。あるいは、ファンイン側とファンアウト側の優先度パラメータをまとめて比較することにより、制御テストポイントあるいは観測テストポイントが挿入される対象ノードＴＮが選択されてもよい。
【００４７】
次に、選択された対象ノードＴＮに対して、テストポイントＴＰが挿入される（ステップＳ１４０）。ファンイン側の優先度パラメータに基づいて対象ノードＴＮが選択された場合、制御テストポイントが挿入される。一方、ファンアウト側の優先度パラメータに基づいて対象ノードＴＮが選択された場合、観測テストポイントが挿入される。
【００４８】
挿入されたテストポイントＴＰの数が所定値に達していない場合、あるいは、品質が所定の目標値に達していない場合（ステップＳ１５０；Ｎｏ）、処理は、ステップＳ１３０に戻る。そして、優先度パラメータが次に大きいノードが、対象ノードＴＮとして選択される。挿入されたテストポイントＴＰの数が所定値に達した場合、あるいは、品質が所定の目標値に達した場合（ステップＳ１５０；Ｙｅｓ）、処理は終了する。尚、ここでの“品質”の例として、ＳＤＱＬの改善度が挙げられる。
【００４９】
以上に説明された手法により、十分な品質を確保しつつ、挿入されるテストポイント数を削減することが可能となる。すなわち、無駄なテストポイントを排除し、効率的なテストポイント挿入を実現することが可能となる。その結果、テストポイントによるオーバーヘッドが削減され、チップ面積やコストの増大が抑制される。
【００５０】
４．設計システム、プログラム
本実施の形態に係る設計処理は、コンピュータシステムで実現される。図１０は、コンピュータによって実現されるＬＳＩ設計システム１０の構成例を示すブロック図である。このＬＳＩ設計システム１０は、演算処理装置２０、記憶装置３０、入力装置４０、出力装置５０、及び設計プログラム群６０を備えている。記憶装置３０としては、ＲＡＭやＨＤＤが例示される。入力装置４０としては、キーボードやマウスが例示される。出力装置５０としては、ディスプレイが例示される。
【００５１】
記憶装置３０には、ネットリスト３１、ＴＰＩ済みネットリスト３２、ＴＰ遅延指定ファイル３３、遅延制約ファイル３４、レイアウトデータ３５等が格納される。
【００５２】
設計プログラム群６０は、コンピュータ読取可能な記録媒体に記録されている。この設計プログラム群６０は、ＴＰＩツール６１及びレイアウトツール６２を含んでいる。これらツールは、演算処理装置２０によって読み込まれ実行されるソフトウェアである。演算処理装置２０がこれらソフトウェアを実行することによって、本実施の形態に係る半導体集積回路の設計処理が実現される。演算処理装置２０は、必要なデータやファイルを記憶装置３０から読み出し、また、作成されたデータやファイルを記憶装置３０に格納する。
【００５３】
ＴＰＩツール６１は、テストポイントＴＰの挿入を行なう（ステップＳ１００）。具体的には、ＴＰＩツール６１は、ネットリスト３１を読み込み、そのネットリスト３１が示す設計回路中のノードから、上述の手法で対象ノードＴＮを選択する。そして、ＴＰＩツール６１は、選択された対象ノードＴＮに対してテストポイントＴＰを挿入する。その結果、テストポイントＴＰが挿入されたＴＰＩ済みネットリスト３２が作成される。
【００５４】
ＴＰ遅延指定ファイル３３には、ＴＰ遅延の指定に関する情報が記述されている。例えば、ＴＰ遅延をテストクロック周期に指定する旨が記述されている。このＴＰ遅延指定ファイル３３は、設計戦略に基づいて作成され、レイアウトツール６２が解釈可能なフォーマットで記述される（ステップＳ２００）。遅延制約ファイル３４は、通常のユーザ回路部分に関する遅延制約（セットアップ制約やホールド制約）を示すファイルであり、ＴＰ遅延以外の遅延制約を示している。
【００５５】
レイアウトツール６２は、ＴＰＩ済みネットリスト３２、ＴＰ遅延指定ファイル３３、及び遅延制約ファイル３４を読み込み、読み込んだデータに基づいて設計回路のレイアウトを行なう（ステップＳ３００）。具体的には、レイアウトツール６２は、遅延制約ファイル３４で示される遅延制約が満たされるように、ユーザ回路部分のレイアウト設計及びタイミング設計を行なう。テストポイントパスＰＴに関しては、そこでの遅延時間がＴＰ遅延指定ファイル３３によって指定されるＴＰ遅延になるように、レイアウト設計及びタイミング設計が行なわれる。尚、タイミング設計の優先度は、テストポイントパスＰＴよりもユーザ回路部分の方が高い。このようにして、設計回路のレイアウトを示すレイアウトデータ３５が作成される。
【００５６】
５．まとめ
本実施の形態によれば、ＴＰＩ手法に基づいた半導体集積回路の設計方法が提供される。従って、テストポイントＴＰを用いることによって、テストを容易に行なうことが可能となる。テストパタンの数も削減される。また、ユーザ回路部分の設計に影響を与えるのはテストポイントＴＰが挿入される部分だけであり、ユーザ回路部分のタイミング設計を大幅に変更する必要はない。
【００５７】
また、本実施の形態によれば、従来のＴＰＩ手法と異なり、テストポイントパスＰＴに対して任意のＴＰ遅延を能動的に指定することが可能である。つまり、テストポイントパスＰＴにおける遅延時間を、微小遅延故障の検出に十分な大きさに設定することが可能である。その結果、遅延テストにおける微小遅延故障の見逃しが格段に減少する。従って、市場での不良発生率が低減し、製品の信頼性が向上する。このように、本実施の形態によれば、従来のＴＰＩ手法の利点を生かしつつ、微小遅延故障の検出精度を高めることができる。更に、微小遅延故障の検出が容易になることにより、ＡＴＰＧのテスト生成時間が短縮される。また、テストパタン数も減少し、テスト時間も削減される。
【００５８】
更に、本実施の形態によれば、十分な品質を確保しつつ、挿入されるテストポイント数を削減することが可能となる。すなわち、無駄なテストポイントＴＰを排除し、効率的なテストポイント挿入を実現することが可能となる。その結果、テストポイントＴＰによるオーバーヘッドが削減され、チップ面積やコストの増大が抑制される。
【図面の簡単な説明】
【００５９】
【図１】図１は、従来のスキャン設計に基づく設計回路の一例を示す回路図である。
【図２】図２は、課題を説明するための概念図である。
【図３】図３は、従来のＴＰＩ手法に基づく設計回路の一例を示す回路図である。
【図４】図４は、本発明の実施の形態に係る半導体集積回路の設計方法を示すフローチャートである。
【図５】図５は、本発明の実施の形態に係る設計回路の第１の例を示す回路図である。
【図６】図６は、本発明の実施の形態に係る設計回路の第２の例を示す回路図である。
【図７】図７は、本発明の実施の形態に係る設計回路の第３の例を示す回路図である。
【図８】図８は、本発明の実施の形態におけるテストポイントの挿入箇所の決定方法を説明するための回路図である。
【図９】図９は、本発明の実施の形態におけるテストポイントの挿入方法を示すフローチャートである。
【図１０】図１０は、本発明の実施の形態に係るＬＳＩ設計システムの構成を示すブロック図である。
【符号の説明】
【００６０】
１０    ＬＳＩ設計システム
２０    演算処理装置
３０    記憶装置
３１    ネットリスト
３２    ＴＰＩ済みネットリスト
３３    ＴＰ遅延指定ファイル
３４    遅延制約ファイル
３５    レイアウトデータ
４０    入力装置
５０    出力装置
６０    設計プログラム群
６１    ＴＰＩツール
６２    レイアウトツール
ＴＰ    テストポイント
ＴＮ    対象ノード
ＰＴ    テストポイントパス
【図１】
2008293088.tif 000003
【図２】
2008293088.tif 000004
【図３】
2008293088.tif 000005
【図４】
2008293088.tif 000006
【図５】
2008293088.tif 000007
【図６】
2008293088.tif 000008
【図７】
2008293088.tif 000009
【図８】
2008293088.tif 000010
【図９】
2008293088.tif 000011
【図１０】
2008293088.tif 000012