(57)【特許請求の範囲】
【請求項１】
記憶装置に保持された集積回路の設計データに基づき、前記集積回路内で信号伝播が遅延するパスとなり得るパスの始点ラッチ、終点ラッチのペアをＮ個選択するペア選択部と、
前記ペア選択部によって選択されたペアの始点ラッチから終点ラッチまでの間のパスそれぞれを対象に、パスを構成する要素のディレイそれぞれを確率密度関数で表し、前記始点ラッチから前記終点ラッチに向けて累積計算を行う統計的タイミング解析を行うことで、前記パスごとのディレイ分布を算出する統計的タイミング解析部と、
前記統計的タイミング解析部によって算出されたディレイ分布それぞれの偏差に基づき、前記パスをソートし、ソート順に、前記パスの始点ラッチで発生した信号変化が終点ラッチまで伝播できるか否かの判定を行うことでディレイテストデータを生成するディレイテストデータ生成部とを有し、
前記Ｎは、Ｎ個のペア及び（Ｎ＋１）個のペアのそれぞれに対して、始点ラッチと終点ラッチそれぞれのディレイ分布から集積回路全体の周波数歩留まり分布を算出した場合、Ｎ個のペアに対して算出された周波数歩留まり分布と、（Ｎ＋１）個のペアに対して算出された周波数歩留まり分布との差が所定の値以下となるような値であることを特徴とするディレイテスト装置。
【請求項２】
前記ペア選択部は、パスを構成する要素それぞれのディレイを、前記始点ラッチから前記終点ラッチに向けて累積計算する静的タイミング解析を用いて、前記集積回路内で信号伝播が遅延するパスとなり得るパスを選択し、前記パスの始点ラッチ、終点ラッチのペアを選択することを特徴とする請求項１記載のディレイテスト装置。
【請求項３】
前記ディレイテストデータ生成部は、前記ペア選択部によって選択されたペアが複数あり、かつ同一の終点ラッチとなるペアが選択されている場合、終点ラッチが同一となるパスが既にディレイテストデータの所定のパターン内に生成されている場合は他のパスに関しては前記所定のパターン内に生成しないことを特徴とする請求項１または請求項２記載のディレイテスト装置。
【請求項４】
さらに、
前記ディレイテストデータ生成部によって生成されたディレイテストデータを用いて、前記設計データに基づき製造された集積回路のディレイテストを実施し、前記集積回路が良品か不良品かを判定するテスト実施部を有することを特徴とする請求項１乃至請求項３のいずれか１項に記載のディレイテスト装置。
【請求項５】
前記ディレイテストデータ生成部は、前記統計的タイミング解析部によって算出されたディレイ分布それぞれの標準偏差を算出し、前記標準偏差に所定の定数を積算して得た値の大きい方からソートすることを特徴とする請求項１乃至請求項４のいずれか１項に記載のディレイテスト装置。
【請求項６】
コンピュータが、
記憶装置に保持された集積回路の設計データに基づき、前記集積回路内で信号伝播が遅延するパスとなり得るパスの始点ラッチ、終点ラッチのペアをＮ個選択し、前記ペアを記憶装置に保持させ、
前記ペアの始点ラッチから終点ラッチまでの間のパスそれぞれを対象に、パスを構成する要素のディレイそれぞれを確率密度関数で表し、前記始点ラッチから前記終点ラッチに向けて累積計算を行う統計的タイミング解析を行うことで、前記パスごとのディレイ分布をそれぞれ算出し、記憶装置に算出結果を保持させ、
前記ディレイ分布それぞれの偏差に基づき、前記パスをソートし、ソート順に、前記パスの始点ラッチで発生した信号変化が終点ラッチまで伝播できるか否かの判定を行うことで、ディレイテストデータを生成し、前記ディレイテストデータを記憶装置に保持させる処理を実行し、
前記Ｎは、Ｎ個のペア及び（Ｎ＋１）個のペアのそれぞれに対して、始点ラッチと終点ラッチそれぞれのディレイ分布から集積回路全体の周波数歩留まり分布を算出した場合、Ｎ個のペアに対して算出された周波数歩留まり分布と、（Ｎ＋１）個のペアに対して算出された周波数歩留まり分布との差が所定の値以下となるような値であることを特徴とするディレイテスト方法。
【請求項７】
前記ペアを選択するステップは、パスを構成する要素それぞれのディレイを、それぞれ一つの値で表し、該値それぞれを前記始点ラッチから前記終点ラッチに向けて累積計算する静的タイミング解析を用いて、前記集積回路内で信号伝播が遅延するパスとなり得るパスを選択し、前記パスの始点ラッチ、終点ラッチのペアを選択することを特徴とする請求項６記載のディレイテスト方法。
【請求項８】
前記ディレイテストデータを生成するステップは、選択されたペアが複数あり、かつ同一の終点ラッチとなるペアが選択されている場合、終点ラッチが同一となるパスが既にディレイテストデータの所定のパターン内に生成されている場合は他のパスに関しては前記所定のパターン内に生成しないことを特徴とする請求項６または請求項７記載のディレイテスト方法。
【請求項９】
記憶装置に保持された集積回路の設計データに基づき、前記集積回路内で信号伝播が遅延するパスとなり得るパスの始点ラッチ、終点ラッチのペアをＮ個選択し、
前記ペアの始点ラッチから終点ラッチまでの間のパスそれぞれを対象に、パスを構成する要素のディレイそれぞれを確率密度関数で表し、前記始点ラッチから前記終点ラッチに向けて累積計算を行う統計的タイミング解析を行うことで、前記パスごとのディレイ分布をそれぞれ算出し、
前記ディレイ分布それぞれの偏差に基づき、前記パスをソートし、ソート順に、前記パスの始点ラッチで発生した信号変化が終点ラッチまで伝播できるか否かの判定を行うことで、ディレイテストデータを生成する処理をコンピュータに実行させ、
前記Ｎは、Ｎ個のペア及び（Ｎ＋１）個のペアのそれぞれに対して、始点ラッチと終点ラッチそれぞれのディレイ分布から集積回路全体の周波数歩留まり分布を算出した場合、Ｎ個のペアに対して算出された周波数歩留まり分布と、（Ｎ＋１）個のペアに対して算出された周波数歩留まり分布との差が所定の値以下となるような値であることを特徴とするディレイテストプログラム。
【請求項１０】
前記ペアを選択するステップは、パスを構成する要素それぞれのディレイを、それぞれ一つの値で表し、該値それぞれを前記始点ラッチから前記終点ラッチに向けて累積計算する静的タイミング解析を用いて、前記集積回路内で信号伝播が遅延するパスとなり得るパスを選択し、前記パスの始点ラッチ、終点ラッチのペアを選択することを特徴とする請求項９記載のディレイテストプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディレイテスト装置、ディレイテスト方法及びディレイテストプログラムに関する。
【背景技術】
【０００２】
半導体集積回路である演算処理装置としてのプロセッサの製造後のテストにおいては、単に仕様通り機能するかという機能テストの他に、目標周波数で実際に動作するかを、チップ単体でテストすることが重要となっている。このテストのうち、タイミング解析を用いてディレイ（遅延）を評価するディレイテストがある。
【０００３】
タイミング解析は、設計の段階でＣＡＤツールによるチップの動作周波数を評価し、目標とする動作周波数を実現しているかを確認する解析手法である。たとえば、動作周波数２．５ＧＨｚを目標に設計する場合、すべての記憶素子間で、信号が２．５ＧＨｚの逆数である４００ｐｓ以下の時間で到達するかを解析する。
【０００４】
タイミング解析は、一般的に、静的タイミング解析、動的タイミング解析に分類される。また静的タイミング解析は、従来から使用されている静的タイミング解析（以下、従来から使用されている静的タイミング解析をＳＴＡ(Static Timing Analysis)と称す）、および、近年提唱されるようになった解析手法である統計的タイミング解析（以下、ＳＳＴＡ（Statistical Static Timing Analysis)）の２つに分類される。
【０００５】
ＳＴＡには、Deterministic静的タイミング解析、パスベースＳＴＡ、ブロックベースＳＴＡが知られており、ＳＳＴＡには、パスベースＳＳＴＡ、ブロックベースＳＳＴＡが知られている。
【０００６】
ここで、ＳＴＡ、ＳＳＴＡ、ブロックベースＳＳＴＡについて、図１０を参照しつつ説明する。
【０００７】
ＳＴＡでは、パスのディレイを計算するとき、パスを構成するゲート等の素子や配線の各要素のディレイ値を後段に向けて累積計算する。このときのディレイ値は、一つの確定した数値である。累積計算する際に、回路の深さを優先して処理する方法がパスベースＳＴＡであり、回路の幅優先で処理する方法がブロックベースＳＴＡである。図１０の例では、パスベースＳＴＡの場合、ラッチＡからラッチＣへのパス、ラッチＢからラッチＣへのパス、ラッチＢからラッチＤへのパスの順で処理される。ブロックベースＳＴＡの場合には、ラッチＡおよびラッチＢから出力側に１ゲートずつ同時にディレイ値が累積される。ゲートｐでは入力が２つあるため、ラッチＡからゲートｐまでと、ラッチＢからゲートｐまでの２つのパスの累積が完了した時点で、ゲートｐのディレイの累積処理を行う。最大ディレイを求める処理の場合には、ゲートｐの２つのパスの累積ディレイのうち、大きい方のディレイにゲートｐのディレイを累積して、処理を先に進める。このように１つのゲートに対して入力が複数ある場合、一番大きいディレイを選択する操作をｍａｘ演算と呼ぶ。
【０００８】
上記のＳＴＡに対して、ＳＳＴＡは、パスを構成するゲートや配線の各要素のディレイ値を一つの確定した数値ではなく、横軸がディレイ値で縦軸が確率密度である確率密度関数で表す。また、パスのディレイの累積に関しても、ＳＴＡでは単なる数値の加算であるが、ＳＳＴＡでは確率密度関数の統計的加算の処理となる。また、ＳＴＡでのｍａｘ演算は単なる大きい数値を残す数値演算であるが、ＳＳＴＡでは２つの確率密度関数の統計的ｍａｘと呼ばれる統計演算が行われる。このＳＳＴＡの処理において、ブロックベースＳＳＴＡは、ブロックベースＳＴＡの説明で記載したように幅優先で処理する手法である。
【０００９】
図１１を参照しつつ、ＳＴＡ、ＳＳＴＡについて、さらに説明する。従来は、ＳＴＡの結果から、回路内のパスで信号の伝達が遅くなると想定されるパスであるクリティカルパスを選んでいる（図１１（Ａ）参照）。プロセッサが製造される際、例えば各配線層の平坦性が不十分であったり、また不純物原子の数にばらつきがあったりすることによって、製品ごとの性能のばらつき（製品ばらつき）が発生する。ＳＴＡは、チップ内の各要素のディレイ値につき、ｍａｘ演算を行うことで最もディレイ値の大きい値（最悪値）を想定して解析を行う。
【００１０】
ＳＴＡのみの結果からクリティカルパスを選んだのでは、必ずしも実チップ上でクリティカルとなるパスが的確に選択されるとは限らないということが知られている。プロセッサ内の全ての要素が最悪値となる確率は非常に小さいため、ＳＴＡを用いる手法は非現実的評価となるとともに、遅延が過大に見積もられるため、タイミング設計工数が多くなるからである。
【００１１】
ＳＴＡではクリティカルパスのディレイ値を１つの値で示すが、実際のチップでは、製造ばらつきなどによりディレイ値はチップ毎に変動する。そこで、ＳＴＡの結果からクリティカルパスを選ぶのではなく、ＳＳＴＡの結果からクリティカルパスを選ぶ手法が知られている（図１１（Ｂ）参照）。ＳＳＴＡは、各要素それぞれのディレイ値を１つの値としてではなく、上述のように確率分布として扱う手法であるため、実際のチップ上でクリティカルパスになる可能性を確率で表現することができる。
【００１２】
また、プロセッサを製造した後にディレイ的な不良の有無を選別するディレイテストでは、クリティカルパスを意図的に狙ったテストパターンを生成して、そのテストパターンでプロセッサを一個ずつ試験する。このとき、テスタのメモリ制限やテスト時の時間制限により、試験対象とできるクリティカルパスの数は、パス総数が数千万程度に対し数千というレベルになる。また、実際に製造したプロセッサでは、製造時のばらつきによってクリティカルパスも変動する。
【００１３】
また、以下の技術が知られている。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００５−３０８４７１号公報
【特許文献２】特開２００４−１５０８２０号公報
【特許文献３】特許３８３３９８４号公報
【非特許文献】
【００１５】
【非特許文献１】Vikram Iyengar他著、「Variation-Aware Performance Verification Using At-Speed Structural Test And Statistical Timing」、International Conference on Computer Aided Design、2007、pp 405-412
【発明の概要】
【発明が解決しようとする課題】
【００１６】
従来技術として、ＳＳＴＡを用いて集積回路を解析する技術が開示されているが、従来のＳＳＴＡの方法では、テスト対象となる集積回路全体にＳＳＴＡ（ブロックベースＳＳＴＡ）を適用するため、クリティカルパスとして一意のパスをＳＳＴＡからリストアップすることが困難である。すなわち、従来のＳＳＴＡは、開始ラッチから段ごとに分布を算出し、最終ラッチに到達するパスの分布を求める。このように、集積回路全体の結果のみを言及するため、パスを限定することができない。
【００１７】
また従来技術では、パスを限定する方法として、まず各ゲートのピン毎にクリティカル度という指標を導入し、このクリティカル度の大きいピンを順番に選びながら、そのピンを通過するクリティカルパスを選択している。そのピンを通過するクリティカルパスを選択する方法は、統計的スラック（タイミング余裕度であるスラックのうち統計的に算出されるもの）をベースにして、一番余裕度の少ないところを選んでいく。
【００１８】
この方法の問題点は、選んだパスが論理設計上開かないパス（論理上的に通過する可能性がないｓパス）（フォールスパス）であるといった、テストを実施しても意味のないパスを選ぶ可能性があり、フォールスパスかどうかということがこの選択段階では判断できないということである。そのために、従来の手法では、ある指標でフォールスパスになる可能性があるかどうかを判定して、可能性があれば別のパスも新たに追加しておくという試行錯誤的な手法を用いている。
【００１９】
本発明は上述した問題点を解決するためになされたものであり、試験できるパス数の制限がある中で、実際にクリティカルパスになる確率の高いパスを選択することができるディレイテスト装置、ディレイテスト方法、ディレイテストプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
ディレイテスト装置は、記憶装置に保持された集積回路の設計データに基づき、集積回路内で信号伝播が遅延するパスとなり得るパスの始点ラッチ、終点ラッチのペアを少なくとも一つ選択するペア選択部と、ペア選択部によって選択されたペアの始点ラッチから終点ラッチまでの間のパスそれぞれを対象に、パスを構成する要素のディレイそれぞれを確率密度関数で表し、始点ラッチから終点ラッチに向けて累積計算を行う統計的タイミング解析を行うことで、パスごとのディレイ分布を算出する統計的タイミング解析部と、統計的タイミング解析部によって算出されたディレイ分布それぞれの偏差に基づき、パスごとに、パスの始点ラッチで発生した信号変化が終点ラッチまで伝播できるか否かの判定を行うことでディレイテストデータを生成するディレイテストデータ生成部と、を有する。
【発明の効果】
【００２１】
従来よりも、製造された集積回路上でクリティカルパスとなる確率が高くなるパスに対して、ディレイテストを実施することができる。
【図面の簡単な説明】
【００２２】
【図１】集積回路全体にＳＳＴＡを適用する方法と、本実施の形態の開始ラッチ、終点ラッチのペアごとにＳＳＴＡを適用する方法を説明する模式図である。
【図２】本実施の形態に係るディレイテスト装置の機能ブロックの一例を示す図である。
【図３】本実施の形態に係るディレイテスト装置の動作の一例を示すフローチャートである。
【図４】本実施の形態に係るワーストＮパスの選定の一例について説明する図である。
【図５】本実施の形態に係る、「パスが開く」ことについての説明に用いられる回路の模式図の一例である。
【図６】本実施の形態に係る、同一のテストパターンに組み込むことができるパスの一例について説明する図である。
【図７】本実施の形態に係る、同一のテストパターンに組み込まないパスの一例を示す図である。
【図８】本実施の形態に係るディレイテスト装置に適用可能なコンピュータシステムのハードウェア構成の一例を示す図である。
【図９】本実施の形態に係るディレイテスト装置に適用可能なコンピュータシステムにおける本体部のハードウェア構成の一例を示す図である。
【図１０】ＳＴＡ、ＳＳＴＡの説明に用いられる回路の模式図の一例である。
【図１１】ＳＴＡ、ＳＳＴＡを説明する図である。
【発明を実施するための形態】
【００２３】
本実施の形態では、テスト対象の集積回路の設計データに対し、まずＳＴＡによる解析を行うことで、集積回路上のクリティカルパスを求める。その後、求められたクリティカルパスを少なくとも一つ取り出して、そのクリティカルパスの始点ラッチと終点ラッチのペアの間にある論理回路にＳＳＴＡを適用する。尚、本実施の形態では一例としてブロックベースＳＳＴＡを適用する。
【００２４】
従来のブロックベースＳＳＴＡの適用範囲と、本実施の形態におけるブロックベースＳＳＴＡの適用範囲を図１に示す。従来技術では、集積回路全体に対しブロックベースＳＳＴＡを適用するのに対し（図１(Ａ)参照）、本実施の形態では、ＳＴＡの結果クリティカルパスとされた始点ラッチと終点ラッチのペアの間にある回路に対しブロックベースＳＳＴＡを適用する（図１（Ｂ）参照）。尚、図１においては、始点ラッチ、終点ラッチをそれぞれ、ＦＦ（Flip Flop）と表記している。
【００２５】
本実施の形態では、テストパターンを生成する段階で、始点ラッチと終点ラッチとの間のパスのうちで論理的に開くパスが１箇所見つかるまでテストパターンの生成を試みる。また本実施の形態では、１つのディレイテストに対して、複数のパスがテストされるようなパターンデータを作成する際に、同じ終点ラッチのパスを同一のパターンデータに含めないように作成する。このようにすることで、製造された集積回路に対するテストでフェイルしたラッチからフェイルパスを特定することが可能となる。
【００２６】
以下、本実施の形態を詳細に説明する。尚、以下の説明では、テスト対象の集積回路はプロセッサであるものとして記載するが、本実施の形態は、集積回路であればいかなるものでも適用可能である。
【００２７】
図２に、本実施の形態に係るディレイテスト装置を示す。ディレイテスト装置３００は、データ生成部１００、テスト実施部２００を有する。
【００２８】
データ生成部１００は、従前より用いられているセルライブラリ５１、試験対象のプロセッサの設計データであるプロセッサ設計データ５２を入力し、ディレイテストを実施する際に使用されるディレイテストデータ５６を出力する。テスト実施部２００は、データ生成部１００によって生成されたディレイテストデータ５６、および製造されたプロセッサのデータ７１に基づき、当該製造されたプロセッサに対し従来行われているディレイテストを実施し、出荷可能なプロセッサ（良品）であるか出荷不可なプロセッサ（不良品）であるかの結果データ５７を出力する。
【００２９】
データ生成部１００の詳細について説明する。データ生成部１００は、セルライブラリ５１を取得するセルライブラリ入力部１、プロセッサ設計データ５２を取得する設計データ入力部２を有し、これら取得されたセルライブラリ５１、プロセッサ設計データ５２をメモリ６１上に記憶させる記憶部３を有する。
【００３０】
またデータ生成部１００は、メモリ６１に記憶されているセルライブラリ５１、プロセッサ設計データ５２を取得するメモリデータ入力部４を有し、セルライブラリ５１、プロセッサ設計データ５２を用いてＳＴＡによる解析を行い、プロセッサ内で信号伝播が遅延するパスとなり得るパスである複数のクリティカルパスを、ＳＴＡで行える範囲で特定する静的タイミング解析部５を有する。データ生成部１００は、静的タイミング解析部５で特定されたクリティカルパスに関する情報であるクリティカルパス情報５３を出力するクリティカルパス出力部６を有する。
【００３１】
また、データ生成部１００は、クリティカルパス情報５３と、メモリ６１に記憶されているセルライブラリ５１、プロセッサ設計データ５２とを用いて、プロセッサ内で信号伝播が遅延するパスとなり得るパスの始点ラッチと終点ラッチとのペアを必要な数だけ選択するクリティカルパス選択部７を有する。尚、このように選択されたペアを以降ワーストＮパスと称す。ワーストＮパスの数については後述するが、テスト実施部２００によるテストの実施で、テストの質が十分と認められる程度の数となるものとする。
【００３２】
またデータ生成部１００は、クリティカルパス選択部７によって選択された始点ラッチと終点ラッチとのペアをメモリ６１に記憶させる記憶部８を有する。
【００３３】
データ生成部１００は、メモリ６１に記憶されているセルライブラリ５１、プロセッサ設計データ５２、ワーストＮパスを取得するメモリデータ入力部９を有する。また、データ生成部１００は、メモリデータ入力部９によって取得されたデータを用いて、各パスの始点ラッチと終点ラッチの間の論理回路全体にブロックベースＳＳＴＡを適用して、ディレイ分布を生成する統計的タイミング解析部１０を有する。またデータ生成部１００は、統計的タイミング解析部１０によって生成されたディレイ分布をディレイ分布グラフ５４として出力するディレイ分布グラフ出力部１１を有する。
【００３４】
データ生成部１００は、ディレイ分布グラフ５４を取得するディレイ分布グラフ入力部１２を有し、各ディレイ分布のα×σ（αは定数、σは標準偏差）の値を計算し、値の大きい順に始点ラッチと終点ラッチとの間のパスをソートする試験対象パス選択部１３を有する。データ生成部１００は、ソートされたパスの情報を試験対象パス情報５５として出力する試験対象パス出力部１４を有する。
【００３５】
またデータ生成部１００は、始点ラッチから終点ラッチまでの間の論理回路に、遅延故障モデルのひとつであるトランジション故障を仮定し、各仮定故障についてのディレイテストデータ５６を生成するテストデータ生成部１５を有する。
【００３６】
尚、上記セルライブラリ入力部１から記憶部８までをペア選択部１０１とし、ディレイ分布グラフ入力部１２からテストデータ生成部１５までをディレイテストデータ生成部１０２とする。
【００３７】
次に、図３を参照しつつ、ディレイテスト装置３００の動作について説明する。尚、以下の動作説明では、記憶部３、メモリデータ入力部４等の各データの入出力を担うユニットについての記載は省略する。
【００３８】
静的タイミング解析部５は、セルライブラリ５１、プロセッサ設計データ５２に対し、従来通りのＳＴＡ処理を行い、クリティカルパス情報を出力する（Ｓ１）。次に、クリティカルパス選択部７は、クリティカルパス情報５３から、ワーストＮパスを選択する（Ｓ２）。
【００３９】
なお、ワーストＮパスとして選択される数（Ｎ)の求め方を図４を参照しつつ説明する。まず、クリティカルパス選択部７は、図４のようにＮ個の始点ラッチと終点ラッチそれぞれのディレイ分布からチップ全体の周波数歩留り分布を求め、さらに、（Ｎ＋１）個の始点ラッチと終点ラッチそれぞれのディレイ分布からチップ全体の周波数歩留り分布を求める。求めた２つの周波数歩留り分布の差が所定の値以下となった場合、Ｎ＋１パス目のデータは不要ということになり、その時のＮをワーストＮパスの数とする。
【００４０】
尚、チップ全体の周波数歩留りとは、製造した個々のチップについて、動作する最大動作周波数を実測して、横軸に最大動作周波数で縦軸にチップ数の割合として作成した分布グラフである。また、周波数歩留り分布の差をどこで判断するかについては、本実施の形態では、縦軸の割合において、目標とするある割合値での二つの分布の横軸の最大動作周波数の値の差とし、この値の差が所定値以下である場合に差がないと定義する。当該所定値がどのくらい小さい値であるかは、求める精度に依存する。
【００４１】
図３の説明に戻る。その後、統計的タイミング解析部１０は、クリティカルパス選択部７によって選択された始点ラッチ、終点ラッチのペアごとに、ブロックベースＳＳＴＡの処理を実行し、ペア内の各パスのディレイ分布グラフ５４を作成する（Ｓ３）。ここでのブロックベースＳＳＴＡの処理は、図１（Ｂ）に示した範囲、すなわち、開始ラッチから終点ラッチまでの間にある論理回路全てに対して統計的ディレイ演算を行う。つまり、ここでは始点ラッチと終点ラッチの間にあるすべてのパスを考慮したディレイ分布が求まる。
【００４２】
試験対象パス選択部１３は、このようにして求められたディレイ分布に対して、α×σポイントのディレイ値をそれぞれ算出し（Ｓ４）、その値が大きいほうからソートする（Ｓ５）。尚、本実施の形態では例えばαの値をα＝−３とする。ポイントの値が大きいほうからソートする理由は、製造ばらつきよってパスディレイが速くなった場合を考慮しても、それでも遅いパスとなるパスから試験を行った方がディレイ不良を検出できる可能性が高まるためである。尚、α＝３であってもよいし、これら以外の値でもよい。
【００４３】
試験対象パス選択部１３は、ソートされた順にパスを１つ選択する（Ｓ６）。その後、テストデータ生成部１５は、始点ラッチから終点ラッチまでの間のパスに、従来行われている手法に則り、仮定故障であるトランジション故障を仮定し（Ｓ７）、各仮定故障に関するディレイテストパターンを生成する（Ｓ８）。ここで、パスが開いたかをテストデータ生成部１５が判定し（Ｓ９）、開いていない場合（Ｓ９、ｎｏ）はステップＳ８へ戻り次のパスについて実施し、パスが開いた場合（Ｓ９、ｙｅｓ）、処理はステップＳ１０へと進む。
【００４４】
ステップＳ８、Ｓ９の詳細について説明する。テストデータ生成部１５は、上記の仮定故障に対して、処理対象になるパスの始点ラッチと終点ラッチの間で、信号変化が起きるようなパターン作成を試みる。論理的にパスが開かなければ、テストデータ生成部１５は次の仮定故障をトライする。テストデータ生成部１５は、１つでもパターン生成が成功したら、この処理対象のペアのパターン生成を終了する。プロセッサの場合、ラッチ間のパスは、段数がいずれのパスも一定であることが経験則として知られており、いずれを選択しても一番遅いものにほぼ近いものである。よって、本実施の形態では、１つでもパターン生成が成功した場合は、この処理対象のパスのパターン生成は終了するものとする。
【００４５】
テストデータ生成部１５は、すべての仮定故障をトライし、パスが開かない場合、このペアについて処理を終了する。
【００４６】
ここで、「パスが開く」ことついて、図５を参照しつつ説明する。図５において、例えばゲートｙ、ゲートｚを経由するラッチＣからラッチＤまでのパスをディレイテストの対象とする。このパス上でラッチＣで発生させる信号変化がラッチＤまで伝播できる状態にあるとき、本実施の形態ではラッチＣからラッチＤまでのパスが開く、とする。尚、図５の例では、ラッチＣからラッチＤまでのパスは開かない。ラッチＣからラッチＤまでのパスが開くためには、ゲートｙの２つの入力の中で、パス上にない入力は、ゲートｙがａｎｄ回路のため１にする必要がある。一方、ゲートｚの２つ入力の中で、パス上にない入力は、ゲートｚがｏｒ回路のため０にする必要がある。このことは、ゲートｘの出力を１かつ０にする必要があり、これは論理的に不可能であるため、ラッチＣからラッチＤまでのパスは開かないということになる。つまり、ラッチＣからラッチＤまでのパスはフォールスパスである。図５で示した回路は冗長な論理回路が入っているために、フォールスパスが発生する。冗長な論理回路は、設計者が意図して作るものではなく、意図しないところで結果としてできてしまう場合がある。
【００４７】
図３の説明に戻る。テストデータ生成部１５は、既に作成したテストパターンのうちで、パスの終点ラッチが同一のペアについては処理を行わないようにすることで、生成されるディレイテストデータ５６では終点ラッチが異なるテストパターンとなるように圧縮する（Ｓ１０）。その後、試験対象パス選択部１３は、制限パターン数以内かを判定し（Ｓ１１）、制限パターンを超えた場合（Ｓ１１、ｎｏ）、データ生成部１００の処理は終了し、ディレイテストデータ５６が生成完了となる。また制限パターン以内である場合（Ｓ１１、ｙｅｓ）、処理はステップＳ６に戻り、次に大きいパスに対し上述同様の処理がなされる。
【００４８】
ステップＳ１０、Ｓ１１の詳細について説明する。スキャンチェーンに値を１回セットするのが１回のテストパターンであり、このテストパターン１つで複数のパスをテストすることができる。この１つのテストパターンに組み入れることができる数を制限パターン数とし、この制限パターン数が決められた数になれば終了する。パターン数が許容範囲内の場合はステップＳ６に戻り次のパスが選択される。テストデータ生成の際、要求値に矛盾がない限り１つのパターンに入れる。
【００４９】
図６を用いて、本実施の形態での同じパターンに含めることができるパスの関係について説明する。始点ラッチ１から終点ラッチ３、始点ラッチ２から終点ラッチ４の２つのパスを対象とした場合、異なるパスにおいて終点ラッチが異なるため１つのパターンにすることが可能である。
【００５０】
一方、ディレイ不良解析においてフェイルするテストパターンから不良パスを一意に特定するために、本実施の形態では、終点ラッチが同じパスを１つのパターンに含めないこととする。図７に、１つのパターンに含めない場合の例を示す。この場合は、実線で示す始点ラッチから終点ラッチまでのパスと、破線で示す始点ラッチから終点ラッチまでのパスは同じ終点ラッチとなるため、本実施の形態では、破線で示すパスを同じパターンに含めない。
【００５１】
その後、テスト対象のプロセッサは、上述の通りに生成されたディレイテストデータ５６に基づきテスト実施部２００によってテストされ、良品／不良品の結果が得られる。
【００５２】
上記のように、ＳＳＴＡによって始点ラッチ、終点ラッチのペアが決められるため、そのペアの間のパスであれば短いパスか長いパスかに拘らず、ＳＳＴＡでは製造ばらつきによりディレイ的に速くできたとしても、チップ全体のパスでは遅いパスとして保証されているため（遅いパスが選ばれるため）、ディレイテスト生成では従来のtransition fault modelをベースにした方法でパターンを作ることができる。しかし、始点ラッチ、終点ラッチの間で信号変化を発生させるという制約はつく。このような手法により、本実施の形態では、クリティカルパスのディレイ不良をスクリーニングするために、ディレイテスト生成において、ディレイ情報を見る必要はなく、従来のtransition fault modelをベースにした方法でパターン生成が可能となる。
【００５３】
以上のように、ＳＴＡのみの結果からクリティカルパスを選んだのでは、必ずしも実チップ上でクリティカルとなるパスを的確に選択しているとは限らないが、本実施の形態によれば、ＳＴＡによってある程度のパスの限定を行い、そのパスに対しＳＳＴＡを行うことで、実チップ上でクリティカルとなる確率が高いパスをテストできるようになる。また、本実施の形態は、従来の方法に比べて、パス選択は始点ラッチと終点ラッチのペアだけを選択するという手法であり、この始点ラッチと終点ラッチのペアからどのようなパスを選択しようとも、クリティカルパスになる可能性が高いという仕組みを実現している。また、パス選択時のフォールスパスの判定部分は、従来の手法では試行錯誤的であるが、本実施の形態の手法は実際にパスが開くがどうかで確実に判定できる。
【００５４】
本発明は以下に示すようなコンピュータシステムにおいて適用可能である。図８は、本発明が適用されるコンピュータシステムの一例を示す図である。図８に示すコンピュータシステム９２０は、ＣＰＵ(Central Processing Unit)、メモリやディスクドライブ等を内蔵した本体部９０１、本体部９０１からの指示により画像を表示するディスプレイ９０２、コンピュータシステム９２０に種々の情報を入力するキーボード９０３、ディスプレイ９０２の表示画面９０２ａ上の任意の位置を指定するマウス９０４及び外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードする通信装置９０５を有する。通信装置９０５は、ネットワーク通信カード、モデムなどが考えられる。
【００５５】
上述したような、ディレイテスト装置を構成するコンピュータシステムにおいて上述した各ステップを実行させるプログラムを、ディレイテストプログラムとして提供することができる。このプログラムは、コンピュータシステムにより読取り可能な記録媒体に記憶させることによって、ディレイテスト装置を構成するコンピュータシステムに実行させることが可能となる。上述した各ステップを実行するプログラムは、ディスク９１０等の可搬型記録媒体に格納されるか、通信装置９０５により他のコンピュータシステムの記録媒体９０６からダウンロードされる。また、コンピュータシステム９２０に少なくともディレイテスト機能を持たせるディレイテストプログラム（ディレイテストソフトウェア）は、コンピュータシステム９２０に入力されてコンパイルされる。このプログラムは、コンピュータシステム９２０を、ディレイテスト機能を有するディレイテスト装置として動作させる。また、このプログラムは、例えばディスク９１０等のコンピュータ読み取り可能な記録媒体に格納されていても良い。ここで、コンピュータシステム９２０により読取り可能な記録媒体としては、ＲＯＭ(Read Only Memory)やＲＡＭ(Random Access Memory)等のコンピュータに内部実装される内部記憶装置、ディスク９１０やフレキシブルディスク、ＤＶＤ(Digital Versatile Disk)ディスク、光磁気ディスク、ＩＣ(Integrated Circuit)カード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータシステム並びにそのデータベースや、通信装置９０５のような通信手段を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
【００５６】
図９は、コンピュータシステム９２０における本体部９０１のハードウェア構成の一例を示す図である。本体部９０１は、ＣＰＵ９５１、メモリ９５２（上述のメモリ６１に対応）、ディスク９１０等の可搬型記録媒体からデータを読み書きするディスクドライブ９５３、および不揮発性の記憶手段であるＨＤＤ（Hard disk drive）９５４を有し、また、外部との通信制御を担うＩ／Ｏ装置９５５を有する。上述の各機能部は、例えばＨＤＤ９５４やディスク９１０等の不揮発性の記憶手段内に予め保持されたプログラムが、ＣＰＵ９５１、メモリ９５２等のハードウェア資源と協働することで実現される。また、上述の各データはＨＤＤ９５４もしくはメモリ９５２に記憶される。
【００５７】
以上、本実施の形態によれば、以下の付記で示す技術的思想が開示されている。
（付記１）  記憶装置に保持された集積回路の設計データに基づき、前記集積回路内で信号伝播が遅延するパスとなり得るパスの始点ラッチ、終点ラッチのペアを少なくとも一つ選択するペア選択部と、
前記ペア選択部によって選択されたペアの始点ラッチから終点ラッチまでの間のパスそれぞれを対象に、パスを構成する要素のディレイそれぞれを確率密度関数で表し、前記始点ラッチから前記終点ラッチに向けて累積計算を行う統計的タイミング解析を行うことで、前記パスごとのディレイ分布を算出する統計的タイミング解析部と、
前記統計的タイミング解析部によって算出されたディレイ分布それぞれの偏差に基づき、前記パスごとに、前記パスの始点ラッチで発生した信号変化が終点ラッチまで伝播できるか否かの判定を行うことでディレイテストデータを生成するディレイテストデータ生成部と、
を有するディレイテスト装置。
（付記２）  前記ペア選択部は、パスを構成する要素それぞれのディレイを、前記始点ラッチから前記終点ラッチに向けて累積計算する静的タイミング解析を用いて、前記集積回路内で信号伝播が遅延するパスとなり得るパスを選択し、前記パスの始点ラッチ、終点ラッチのペアを選択することを特徴とする付記１に記載のディレイテスト装置。
（付記３）  前記ディレイテストデータ生成部は、前記ペア選択部によって選択されたペアが複数あり、かつ同一の終点ラッチとなるペアが選択されている場合、終点ラッチが同一となるパスが既にディレイテストデータの所定のパターン内に生成されている場合は他のパスに関しては前記所定のパターン内に生成しないことを特徴とする付記１に記載のディレイテスト装置。
（付記４）  さらに、
前記ディレイテストデータ生成部によって生成されたディレイテストデータを用いて、前記設計データに基づき製造された集積回路のディレイテストを実施し、前記集積回路が良品か不良品かを判定するテスト実施部を有することを特徴とする付記１に記載のディレイテスト装置。
（付記５）  前記ディレイテストデータ生成部は、前記統計的タイミング解析部によって算出されたディレイ分布それぞれの標準偏差を算出し、前記標準偏差に所定の定数を積算して得た値の大きい方からソートすることを特徴とする付記１に記載のディレイテスト装置。
（付記６）  コンピュータが、
記憶装置に保持された集積回路の設計データに基づき、前記集積回路内で信号伝播が遅延するパスとなり得るパスの始点ラッチ、終点ラッチのペアを少なくとも一つ選択し、前記ペアを記憶装置に保持させ、
前記ペアの始点ラッチから終点ラッチまでの間のパスそれぞれを対象に、パスを構成する要素のディレイそれぞれを確率密度関数で表し、前記始点ラッチから前記終点ラッチに向けて累積計算を行う統計的タイミング解析を行うことで、前記パスごとのディレイ分布をそれぞれ算出し、記憶装置に算出結果を保持させ、
前記ディレイ分布それぞれの偏差に基づき、前記パスをソートし、ソート順に、前記パスの始点ラッチで発生した信号変化が終点ラッチまで伝播できるか否かの判定を行うことで、ディレイテストデータを生成し、前記ディレイテストデータを記憶装置に保持させる処理を実行することを特徴とするディレイテスト方法。
（付記７）  前記ペアを選択するステップは、パスを構成する要素それぞれのディレイを、それぞれ一つの値で表し、該値それぞれを前記始点ラッチから前記終点ラッチに向けて累積計算する静的タイミング解析を用いて、前記集積回路内で信号伝播が遅延するパスとなり得るパスを選択し、前記パスの始点ラッチ、終点ラッチのペアを選択することを特徴とする付記６に記載のディレイテスト方法。
（付記８）  前記ディレイテストデータを生成するステップは、選択されたペアが複数あり、かつ同一の終点ラッチとなるペアが選択されている場合、終点ラッチが同一となるパスが既にディレイテストデータの所定のパターン内に生成されている場合は他のパスに関しては前記所定のパターン内に生成しないことを特徴とする付記６に記載のディレイテスト方法。
（付記９）  さらに、
生成されたディレイテストデータを用いて、前記設計データに基づき製造された集積回路のディレイテストを実施し、前記集積回路が良品か不良品かを判定することを特徴とする付記６に記載のディレイテスト方法。
（付記１０）  前記ディレイテストデータを生成するステップは、算出されたディレイ分布それぞれの標準偏差を算出し、前記標準偏差に所定の定数を積算して得た値の大きい方からソートすることを特徴とする付記６に記載のディレイテスト方法。
（付記１１）  記憶装置に保持された集積回路の設計データに基づき、前記集積回路内で信号伝播が遅延するパスとなり得るパスの始点ラッチ、終点ラッチのペアを少なくとも一つ選択し、
前記ペアの始点ラッチから終点ラッチまでの間のパスそれぞれを対象に、パスを構成する要素のディレイそれぞれを確率密度関数で表し、前記始点ラッチから前記終点ラッチに向けて累積計算を行う統計的タイミング解析を行うことで、前記パスごとのディレイ分布をそれぞれ算出し、
前記ディレイ分布それぞれの偏差に基づき、前記パスをソートし、ソート順に、前記パスの始点ラッチで発生した信号変化が終点ラッチまで伝播できるか否かの判定を行うことで、ディレイテストデータを生成する処理をコンピュータに実行させることを特徴とするディレイテストプログラム。
（付記１２）  前記ペアを選択するステップは、パスを構成する要素それぞれのディレイを、それぞれ一つの値で表し、該値それぞれを前記始点ラッチから前記終点ラッチに向けて累積計算する静的タイミング解析を用いて、前記集積回路内で信号伝播が遅延するパスとなり得るパスを選択し、前記パスの始点ラッチ、終点ラッチのペアを選択することを特徴とする付記１１に記載のディレイテストプログラム。
（付記１３）  前記ディレイテストデータを生成するステップは、選択されたペアが複数あり、かつ同一の終点ラッチとなるペアが選択されている場合、終点ラッチが同一となるパスが既にディレイテストデータの所定のパターン内に生成されている場合は他のパスに関しては前記所定のパターン内に生成しないことを特徴とする付記１１に記載のディレイテストプログラム。
（付記１４）  さらに、
生成されたディレイテストデータを用いて、前記設計データに基づき製造された集積回路のディレイテストを実施し、前記集積回路が良品か不良品かを判定することを特徴とする付記１１に記載のディレイテストプログラム。
（付記１５）  前記ディレイテストデータを生成するステップは、算出されたディレイ分布それぞれの標準偏差を算出し、前記標準偏差に所定の定数を積算して得た値の大きい方からソートすることを特徴とする付記１１に記載のディレイテストプログラム。
【符号の説明】
【００５８】
１  セルライブラリ入力部、２  設計データ入力部、３、８  記憶部、４、９  メモリデータ入力部、５  静的タイミング解析部、６  クリティカルパス出力部、７  クリティカルパス選択部、１０  統計的タイミング解析部、１１  ディレイ分布グラフ出力部、１２  ディレイ分布グラフ入力部、１３  試験対象パス選択部、１４  試験対象パス出力部、１５  テストデータ生成部、５１  セルライブラリ、５２  プロセッサ設計データ、５３  クリティカルパス情報、５４  各パスのディレイ分布グラフ、５５  試験対象パス情報、５６  ディレイテストデータ、５７  良品／不良品データ、６１  メモリ、７１  製造されたプロセッサのデータ、１００  データ生成部、１０１  ペア選択部、１０２  ディレイテストデータ生成部、２００  テスト実施部、３００  ディレイテスト装置。
【図１】
0005625297.tif 000002
【図２】
0005625297.tif 000003
【図３】
0005625297.tif 000004
【図４】
0005625297.tif 000005
【図５】
0005625297.tif 000006
【図６】
0005625297.tif 000007
【図７】
0005625297.tif 000008
【図８】
0005625297.tif 000009
【図９】
0005625297.tif 000010
【図１０】
0005625297.tif 000011
【図１１】
0005625297.tif 000012