(57)【要約】【課題】使用したテストパターンにおいて遅延故障が検出されないパスを特定するとともにそれらのパスの遅延故障を検出可能なテストパターンを生成するパス遅延故障シミュレータおよび自動テストパターン生成装置を得ること。【解決手段】ネットリスト解析手段１１がネットリスト２０に基づき遅延故障を検出する対象となるパスを全て抽出し、それらのパスに対してパス故障シミュレーション手段１２がスキャンパターン３０のパターンに対してシミュレーションを実行し、ＳＦＦの値が反転しているか否かとそのＳＦＦを始点とするパスが活性化されているか否かを全て確認し、結果編集手段１３が、それらの情報に基づき、パス遅延故障検出率リスト４０とパス遅延故障未検出リスト５０を出力する。【選択図】　　　図１
2004054329.tif 000002
【特許請求の範囲】
【請求項１】
スキャン設計された半導体集積回路を検査するためのスキャンパターンの遅延故障検出率を判定するパス遅延故障シミュレータであって、
セルを定義するためのセル情報とセル間の接続を示すセル接続情報とが定義されているネットリストの中から全てのスキャンフリップフロップを抽出し、前記ネットリストのセル間の接続情報をトレースして前記抽出したスキャンフリップフロップの出力端子からスキャンフリップフロップの入力端子に到達する遅延故障検出対象パスを決定するとともに該遅延故障検出対象パスに含まれる全てのセルのインスタンス名をパス情報として保持するネットリスト解析手段と、
前記スキャンパターンを用いて前記ネットリストのシミュレーションを実行した場合に、前記遅延故障検出対象パス毎にそれぞれの該遅延故障検出対象パスの始点となるスキャンフリップフロップの値が反転し、かつ、該遅延故障検出対象パスが活性化されたか否かを確認し、該遅延故障検出対象パスについて遅延故障の検出が可能か否かを確認するパス故障シミュレーション手段と、
前記遅延故障の検出の確認結果に基づいてパス遅延故障検出率を算出し、その算出結果をパス遅延故障検出率リストに出力するとともに、前記遅延故障検出対象パスのパス情報と前記遅延故障検出の確認結果を編集しパス遅延故障未検出リストに出力する結果編集手段と、
を備えることを特徴とするパス遅延故障シミュレータ。
【請求項２】
前記ネットリスト解析手段は、
前記遅延故障検出対象パスを決定する際に、そのパスが論理的に信号が伝播しない論理フォールスパスか否かを判定し、その判定結果が前記論理フォールスパスであった場合には、前記遅延故障検出対象パスから削除することを特徴とする請求項１に記載のパス遅延故障シミュレータ。
【請求項３】
前記ネットリスト解析手段は、
セル固有のセル遅延情報とスキャンフリップフロップのタイミング情報が定義されているセルライブラリと前記ネットリストのセル接続情報に対応した配線の遅延値が定義されている遅延ファイルと前記遅延故障検出対象パス毎のパス情報に基づいて、前記遅延故障検出対象パス毎の配線時間を算出し、その算出結果によりタイミングフォールスパスか否かを判定し、その判定結果が前記タイミングフォールスパスであった場合には、前記遅延故障検出対象パスから削除することを特徴とする請求項１または２に記載のパス遅延故障シミュレータ。
【請求項４】
前記ネットリスト解析手段は、
前記セルライブラリと前記遅延ファイルに基づき前記スキャンパターンを入力として前記ネットリストに定義されている全てのセル接続情報の遅延時間の算出によるタイミングチェックを行い、前記スキャンパターンのテストモード時のみにタイミングエラーが発生する前記遅延故障検出対象パスおよび活性化がなされる前記遅延故障検出対象パスを検出し、検出された遅延故障検出対象パスについては、前記遅延故障検出対象パスから削除することを特徴とする請求項１〜３に記載のパス遅延故障シミュレータ。
【請求項５】
スキャン設計された半導体集積回路の遅延故障を検出するテストパターンを生成する自動テストパターン生成装置であって、
セルを定義するためのセル情報とセル間の接続を示すセル接続情報とが定義されているネットリストの中から全てのスキャンフリップフロップを抽出し、前記ネットリストのセル間の接続情報をトレースして前記抽出したスキャンフリップフロップの出力端子からスキャンフリップフロップの入力端子に到達する遅延故障検出対象パスを決定し、該遅延故障検出対象パスに含まれる全てのセルのインスタンス名をパス情報として保持し、セル固有のセル遅延情報とスキャンフリップフロップのタイミング情報が定義されているセルライブラリと前記ネットリストのセル接続情報に対応した配線の遅延値が定義されている遅延ファイルと前記遅延故障検出対象パス毎のパス情報に基づいて、前記遅延故障検出対象パス毎の配線時間を算出し、その算出結果によりタイミングフォールスパスか否かを判定し、その判定結果が前記タイミングフォールスパスであった場合には、前記遅延故障検出対象パスから削除するネットリスト解析手段と、
前記遅延故障検出対象パスに対応するスキャンフリップフロップが、クロック周期毎に反転しているか否かおよび前記遅延故障検出対象パスが活性化されるか否かを判定し、その判定結果を反映させてパターンを生成し、生成したパターンをテストパターンとして出力するテストパターン生成手段と、
を備えることを特徴とする自動テストパターン生成装置。
【請求項６】
前記ネットリスト解析手段は、
前記セルライブラリと前記遅延ファイルに基づき前記ネットリストに定義されている全てのセル接続情報の遅延時間を算出し、テストモード時の場合、前記ネットリストの入力端子を固定にしてタイミングチェックを行い、システム動作の場合には前記ネットリストの入力端子を変化させてタイミングチェックを行い、前記テストモード時のみタイミングエラーが発生する前記遅延故障検出対象パスを検出し、検出された遅延故障検出対象パスについては、前記遅延故障検出対象パスから削除することを特徴とする請求項５に記載の自動テストパターン生成装置。
【請求項７】
前記ネットリスト解析手段は、
前記セルライブラリと前記遅延ファイルに基づき前記ネットリストに定義されている全てのセル接続情報の遅延時間を算出してタイミングチェックを行い、テストモード時の場合、前記ネットリストの入力端子を固定にしてタイミングチェックを行い、システム動作の場合には前記ネットリストの入力端子を変化させてタイミングチェックを行い、前記スキャンパターンのテストモード時のみタイミングエラーが発生する前記遅延故障検出対象パスを検出し、前記テストモード時のみタイミングエラーが発生する前記遅延故障検出対象パスがマルチサイクルパス以外の場合前記遅延故障検出対象パスから削除し、
前記テストパターン生成手段は、
前記セルライブラリに定義されるタイミング情報に基づき、セットアップエラーが発生しないようにクロック信号のタイミングを決定することを特徴とする請求項５または６に記載の自動テストパターン生成装置。
【請求項８】
前記テストパターン生成手段は、
前記遅延故障検出対象パスの遅延時間を所定のレンジ毎に分類して前記遅延故障検出対象パスをグルーピングし、そのグルーピング内で前記遅延故障検出対象パスの最大遅延時間を検出し、検出した遅延時間において前記セルライブラリに定義されるタイミング情報に基づき、セットアップエラーが発生しないようにクロック信号のタイミングを決定することを特徴とする請求項５に記載の自動テストパターン生成装置。
【請求項９】
スキャン設計された半導体集積回路の遅延故障を検出するテストパターンを生成する自動テストパターン生成装置であって、
請求項１〜４に記載のパス遅延故障シミュレータの出力であるパス遅延故障未検出リスト内の遅延故障未検出のパスを抽出し、抽出したパスのパス情報を保持するとともにそのパスを遅延故障検出対象パスに決定するネットリスト解析手段と、
前記遅延故障検出対象パスに対応するスキャンフリップフロップがクロック周期毎に反転しているか否かおよび前記遅延故障検出対象パスが活性化されるか否かを判定し、該遅延故障検出対象パスについて遅延故障の検出が可能か否かを確認し、その遅延故障の検出結果を反映させてパターンを生成し、生成したパターンをテストパターンとして出力するテストパターン生成手段と、
前記遅延故障の検出の確認結果に基づいてパス遅延故障検出率を算出し、その算出結果をパス遅延故障検出率リストに出力するとともに、前記遅延故障検出対象パスのパス情報と前記遅延故障検出の確認結果を編集しパス遅延故障未検出リストに出力する結果編集手段と、
を備えることを特徴とする自動テストパターン生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路の遅延故障の検出に関するものであり、特に、スキャン設計された半導体集積回路に適用されるパス遅延故障シミュレータおよび自動テストパターン生成装置に関するものである。
【０００２】
【従来の技術】
近年、半導体製造の多層配線技術や微細化技術の向上により、半導体集積回路の１チップの搭載ゲート規模も大きくなり、高性能・高機能・高速度の半導体集積回路が１チップで実現可能となっている。一方、１チップの搭載ゲート規模が大きくなったことにより、製造後の半導体集積回路のテスト方法が問題となっている。
【０００３】
半導体集積回路の故障には、縮退故障，オープン故障，ブリッジ故障，遅延故障がある。これらの故障は、必ずしも独立して発生するわけではなく、複合して発生する。縮退故障を検出するためには、半導体集積回路内の素子を“Ｌ”と“Ｈ”に変化させる必要がある。しかし、回路規模が大きくなると、このようなテストパターンを人手で生成することは困難である。そのため、半導体集積回路をスキャン設計して、高故障検出率のテストパターンを自動生成するＡＴＰＧ（Ａｕｔｏｍａｔｉｃ　Ｔｅｓｔ　Ｐａｔｔｅｒｎ　Ｇｅｎｅｒａｔｏｒ）ツールを使用してテストパターンを生成したテストパターンを用いることが一般的である。オープン故障とブリッジ故障については、縮退故障を検出するテストパターンを用いることで検出が可能である。そして、縮退故障，オープン故障，ブリッジ故障は、動作速度に依存性のない故障であり、テストは実動作周波数で行う必要が無い。
【０００４】
しかし、遅延故障は、半導体集積回路が動作する場合は検出されず、実動作周波数で動作した場合に発生する故障である。すなわち、実動作のクロック周期内に組合せ回路の動作が完了しない故障である。そのため、遅延故障を検出するためには、実動作周波数でテストを行わなければならない。
【０００５】
図１９および図２０のタイムチャートを参照して、スキャンテストにおける遅延故障のテスト手法を説明する。図１９はスキャン設計された半導体集積回路を概略的に示す図である。図１９において、２００はスキャン設計された半導体集積回路、２０１〜２０６はスキャンフリップフロップ（以下、ＳＦＦとする）、２０７〜２０９はテスト対象となる組合せ回路である。ＳＦＦ２０１〜２０６は、ＳＦＦ２０１，２０２，２０３…の順にシリアルに接続され、シフトレジスタを構成する。そして、スキャンモード制御端子ＳＭに基づいて、シフト動作または組合せ回路２０７〜２０９の出力をラッチする。
【０００６】
図２０のタイムチャートを参照して、半導体集積回路２００のスキャンテスト時の動作を説明する。半導体集積回路２００の実動作周波数である周期Ｔのクロックがクロック信号ＣＫに入力される。時刻ｔ０から時刻ｔ３の間、スキャンモード制御信号ＳＭは“Ｈ”であるので、ＳＦＦ２０１は、クロック信号ＣＫの立ち上がりでスキャンパターン入力ＳＩから入力されるテストパターンをラッチする。そして、クロック信号ＣＫの立ち上がり毎にＳＦＦ２０１，２０２，２０３…の順でスキャンパターン入力ＳＩから入力されたテストパターンをシフトする。時刻ｔ３において、スキャンモード制御信号ＳＭが“Ｌ”に変化する。これにより、半導体集積回路２００はシステム動作に切り替わる。そして、スキャンモード制御信号ＳＭが“Ｌ”である期間内のクロック信号ＣＫの立ち上がりでＳＦＦ２０１の出力で動作した組合せ回路２０７の出力をＳＦＦ２０６が、ＳＦＦ２０２の出力で動作した組合せ回路２０８の出力をＳＦＦ２０５が、ＳＦＦ２０３の出力で動作した組合せ回路２０９の出力をＳＦＦ２０４が、それぞれラッチする。時刻ｔ４においてスキャンモード制御信号ＳＭが“Ｈ”に変化すると、ＳＦＦ２０１〜２０６はシフト動作を行う。これにより、ＳＦＦ２０６は、スキャンテストデータ観測端子ＳＯにシステム動作時の組合せ回路２０７〜２０９のテスト結果を順次出力する。スキャンテストデータ観測端子ＳＯを観測することで、スキャンパターン入力ＳＩからＳＦＦ２０１〜２０３に設定したテストパターンが組合せ回路２０７〜２０９を伝播しクロック信号ＣＫの周期Ｔ内にＳＦＦ２０６〜２０４に伝播され、正しくＳＦＦ２０６〜２０４にラッチされたか否かを確認することができる。
【０００７】
このように、遅延故障を検出するテストは、縮退故障を検出するテストを実動作周波数のクロックを用いて行うか、設計者がテストすべきデータ伝播経路（パス）を特定し、そのパスの遅延故障を検出するテストパターンを人手で作成して行っている。
【０００８】
上述した縮退故障を検出するテストを実動作周波数の動作クロックを用いて実行するスキャンテストで遅延故障を検出するためには、ＳＦＦ２０１〜２０３に設定されるスキャンテストパターンが、スキャンモード制御信号ＳＭが“Ｌ”に変化している周期Ｎより１つ前の周期Ｎ−１と周期Ｎより２つ前の周期Ｎ−２で異なった値でなければならない。たとえば、組合せ回路２０７を例にあげると、周期Ｎ−２、Ｎ−１の時のＳＦＦ２０１の出力が“Ｌ”であった場合、組合せ回路２０７は、周期Ｎ−２からそのパスに“Ｌ”を伝播しているため、周期ＮでＳＦＦ２０６がラッチする組合せ回路２０７の出力は、クロック信号ＣＫの２周期分の時間が経過している。そのため、クロック信号ＣＫの周期内に組合せ回路２０７の動作が完了しているかの判定ができない。そのため、パスの遅延故障を検出するためには、ＳＦＦ２０１〜２０３に設定されるデータが、周期Ｎ−１で“Ｌ”から“Ｈ”または“Ｈ”から“Ｌ”に変化し、その出力が組合せ回路２０７〜２０９に伝播された結果を周期ＮでＳＦＦ２０６〜２０４がそれぞれラッチする必要がある。すなわち、周期Ｎ−２でＳＦＦ２０１〜２０３にそれぞれ設定されるデータと周期Ｎ−１でＳＦＦ２０１〜２０３に設定されるデータが異なった場合のみ遅延故障検出が可能となる。
【０００９】
【発明が解決しようとする課題】
しかしながら、上述した従来技術では、縮退故障を検出するためのテストパターンを用いているため、そのテストパターンが、遅延故障検出可能なテストパターンであるか判断できないという問題がある。すなわち、ＳＦＦ２０１〜２０３に設定されるデータが、周期Ｎ−２と周期Ｎ−１で判定している値が生成されているかの判断ができない。
【００１０】
また、遅延故障が検出されないパスを特定するための情報がないため、使用したテストパターンで検出されないパスを特定することはきわめて困難である。
【００１１】
この発明は上記に鑑みてなされたもので、使用したテストパターンにおいて遅延故障が検出されないパスを特定するとともにそれらのパスの遅延故障を検出可能なテストパターンを生成するパス遅延故障シミュレータおよび自動テストパターン生成装置を得ることを目的としている。
【００１２】
【課題を解決するための手段】
上記目的を達成するために、この発明にかかるパス遅延故障シミュレータは、スキャン設計された半導体集積回路を検査するためのスキャンパターンの遅延故障検出率を判定するパス遅延故障シミュレータであって、セルを定義するためのセル情報とセル間の接続を示すセル接続情報とが定義されているネットリストの中から全てのスキャンフリップフロップを抽出し、前記ネットリストのセル間の接続情報をトレースして前記抽出したスキャンフリップフロップの出力端子からスキャンフリップフロップの入力端子に到達する遅延故障検出対象パスを決定するとともに該遅延故障検出対象パスに含まれる全てのセルのインスタンス名をパス情報として保持するネットリスト解析手段と、前記スキャンパターンを用いて前記ネットリストのシミュレーションを実行した場合に、前記遅延故障検出対象パス毎にそれぞれの該遅延故障検出対象パスの始点となるスキャンフリップフロップの値が反転し、かつ、該遅延故障検出対象パスが活性化されたか否かを確認し、該遅延故障検出対象パスについて遅延故障の検出が可能か否かを確認するパス故障シミュレーション手段と、前記遅延故障の検出の確認結果に基づいてパス遅延故障検出率を算出し、その算出結果をパス遅延故障検出率リストに出力するとともに、前記遅延故障検出対象パスのパス情報と前記遅延故障検出の確認結果を編集しパス遅延故障未検出リストに出力する結果編集手段とを備えることを特徴とする。
【００１３】
この発明によれば、パス遅延故障シミュレータは、ネットリスト解析手段が、ネットリストの中から全てのスキャンフリップフロップを抽出し、ネットリストのセル間の接続情報をトレースして抽出したスキャンフリップフロップの出力端子からスキャンフリップフロップの入力端子に到達する遅延故障検出対象パスを決定するとともに遅延故障検出対象パスに含まれる全てのセルのインスタンス名をパス情報として保持し、パス故障シミュレーション手段が、スキャンパターンを用いてネットリストのシミュレーションを実行した場合に、遅延故障検出対象パス毎にそれぞれの遅延故障検出対象パスの始点となるスキャンフリップフロップの値が反転し、かつ、遅延故障検出対象パスが活性化されたか否かを確認するとともに遅延故障検出対象パスについて遅延故障の検出が可能か否かを確認し、結果編集手段が、遅延故障の検出の確認結果に基づいてパス遅延故障検出率を算出し、その算出結果をパス遅延故障検出率リストに出力するとともに、遅延故障検出対象パスのパス情報と遅延故障検出の確認結果を編集しパス遅延故障未検出リストに出力するようにしている。
【００１４】
つぎの発明にかかるパス遅延故障シミュレータは、上記の発明において、前記ネットリスト解析手段は、前記遅延故障検出対象パスを決定する際に、そのパスが論理的に信号が伝播しない論理フォールスパスか否かを判定し、その判定結果が前記論理フォールスパスであった場合には、前記遅延故障検出対象パスから削除することを特徴とする。
【００１５】
この発明によれば、ネットリスト解析手段は、遅延故障検出対象パスを決定する際に、そのパスが論理的に信号が伝播しない論理フォールスパスか否かを判定し、その判定結果が論理フォールスパスであった場合には、遅延故障検出対象パスから削除するようにしている。
【００１６】
つぎの発明にかかるパス遅延故障シミュレータは、上記の発明において、前記ネットリスト解析手段は、セル固有のセル遅延情報とスキャンフリップフロップのタイミング情報が定義されているセルライブラリと前記ネットリストのセル接続情報に対応した配線の遅延値が定義されている遅延ファイルと前記遅延故障検出対象パス毎のパス情報に基づいて、前記遅延故障検出対象パス毎の配線時間を算出し、その算出結果によりタイミングフォールスパスか否かを判定し、その判定結果が前記タイミングフォールスパスであった場合には、前記遅延故障検出対象パスから削除することを特徴とする。
【００１７】
この発明によれば、ネットリスト解析手段は、セル固有のセル遅延情報とスキャンフリップフロップのタイミング情報が定義されているセルライブラリとネットリストのセル接続情報に対応した配線の遅延値が定義されている遅延ファイルと遅延故障検出対象パス毎のパス情報に基づいて、遅延故障検出対象パス毎の配線時間を算出し、その算出結果によりタイミングフォールスパスか否かを判定し、その判定結果が前記タイミングフォールスパスであった場合には、前記遅延故障検出対象パスから削除するようにしている。
【００１８】
つぎの発明にかかるパス遅延故障シミュレータは、上記の発明において、前記ネットリスト解析手段は、前記セルライブラリと前記遅延ファイルに基づき前記スキャンパターンを入力として前記ネットリストに定義されている全てのセル接続情報の遅延時間の算出によるタイミングチェックを行い、前記スキャンパターンのテストモード時のみにタイミングエラーが発生する前記遅延故障検出対象パスおよび活性化がなされる前記遅延故障検出対象パスを検出し、検出された遅延故障検出対象パスについては、前記遅延故障検出対象パスから削除することを特徴とする。
【００１９】
この発明によれば、ネットリスト解析手段は、セルライブラリと遅延ファイルに基づき前記スキャンパターンを入力として前記ネットリストに定義されている全てのセル接続情報の遅延時間の算出によるタイミングチェックを行い、スキャンパターンのテストモード時のみにタイミングエラーが発生する遅延故障検出対象パスおよび活性化がなされる遅延故障検出対象パスを検出し、検出された遅延故障検出対象パスについては、遅延故障検出対象パスから削除するようにしている。
【００２０】
つぎの発明にかかる自動テストパターン生成装置は、スキャン設計された半導体集積回路の遅延故障を検出するテストパターンを生成する自動テストパターン生成装置であって、セルを定義するためのセル情報とセル間の接続を示すセル接続情報とが定義されているネットリストの中から全てのスキャンフリップフロップを抽出し、前記ネットリストのセル間の接続情報をトレースして前記抽出したスキャンフリップフロップの出力端子からスキャンフリップフロップの入力端子に到達する遅延故障検出対象パスを決定し、該遅延故障検出対象パスに含まれる全てのセルのインスタンス名をパス情報として保持し、セル固有のセル遅延情報とスキャンフリップフロップのタイミング情報が定義されているセルライブラリと前記ネットリストのセル接続情報に対応した配線の遅延値が定義されている遅延ファイルと前記遅延故障検出対象パス毎のパス情報に基づいて、前記遅延故障検出対象パス毎の配線時間を算出し、その算出結果によりタイミングフォールスパスか否かを判定し、その判定結果が前記タイミングフォールスパスであった場合には、前記遅延故障検出対象パスから削除するネットリスト解析手段と、前記遅延故障検出対象パスに対応するスキャンフリップフロップが、クロック周期毎に反転しているか否かおよび前記遅延故障検出対象パスが活性化されるか否かを判定し、その判定結果を反映させてパターンを生成し、生成したパターンをテストパターンとして出力するテストパターン生成手段とを備えることを特徴とする。
【００２１】
この発明によれば、自動テストパターン生成装置は、ネットリスト解析手段が、セルを定義するためのセル情報とセル間の接続を示すセル接続情報とが定義されているネットリストの中から全てのスキャンフリップフロップを抽出し、ネットリストのセル間の接続情報をトレースして抽出したスキャンフリップフロップの出力端子からスキャンフリップフロップの入力端子に到達する遅延故障検出対象パスを決定し、遅延故障検出対象パスに含まれる全てのセルのインスタンス名をパス情報として保持し、セル固有のセル遅延情報とスキャンフリップフロップのタイミング情報が定義されているセルライブラリとネットリストのセル接続情報に対応した配線の遅延値が定義されている遅延ファイルと遅延故障検出対象パス毎のパス情報に基づいて、遅延故障検出対象パス毎の配線時間を算出し、その算出結果によりタイミングフォールスパスか否かを判定し、その判定結果がタイミングフォールスパスであった場合には、遅延故障検出対象パスから削除し、テストパターン生成手段が、遅延故障検出対象パスに対応するスキャンフリップフロップが、クロック周期毎に反転しているか否かおよび遅延故障検出対象パスが活性化されるか否かを判定し、その判定結果を反映させてパターンを生成し、生成したパターンをテストパターンとして出力するようにしている。
【００２２】
つぎの発明にかかる自動テストパターン生成装置は、上記の発明において、前記ネットリスト解析手段は、前記セルライブラリと前記遅延ファイルに基づき前記ネットリストに定義されている全てのセル接続情報の遅延時間を算出し、テストモード時の場合、前記ネットリストの入力端子を固定にしてタイミングチェックを行い、システム動作の場合には前記ネットリストの入力端子を変化させてタイミングチェックを行い、前記テストモード時のみタイミングエラーが発生する前記遅延故障検出対象パスを検出し、検出された遅延故障検出対象パスについては、前記遅延故障検出対象パスから削除することを特徴とする。
【００２３】
この発明によれば、ネットリスト解析手段は、セルライブラリと遅延ファイルに基づきネットリストに定義されている全てのセル接続情報の遅延時間を算出し、テストモード時の場合、ネットリストの入力端子を固定にしてタイミングチェックを行い、システム動作の場合にはネットリストの入力端子を変化させてタイミングチェックを行い、テストモード時のみタイミングエラーが発生する遅延故障検出対象パスを検出し、検出された遅延故障検出対象パスについては、遅延故障検出対象パスから削除するようにしている。
【００２４】
つぎの発明にかかる自動テストパターン生成装置は、上記の発明において、前記ネットリスト解析手段は、前記セルライブラリと前記遅延ファイルに基づき前記ネットリストに定義されている全てのセル接続情報の遅延時間を算出してタイミングチェックを行い、テストモード時の場合、前記ネットリストの入力端子を固定にしてタイミングチェックを行い、システム動作の場合には前記ネットリストの入力端子を変化させてタイミングチェックを行い、前記スキャンパターンのテストモード時のみタイミングエラーが発生する前記遅延故障検出対象パスを検出し、前記テストモード時のみタイミングエラーが発生する前記遅延故障検出対象パスがマルチサイクルパス以外の場合前記遅延故障検出対象パスから削除し、前記テストパターン生成手段は、前記セルライブラリに定義されるタイミング情報に基づき、セットアップエラーが発生しないようにクロック信号のタイミングを決定することを特徴とする。
【００２５】
この発明によれば、ネットリスト解析手段は、セルライブラリと遅延ファイルに基づきネットリストに定義されている全てのセル接続情報の遅延時間を算出してタイミングチェックを行い、テストモード時の場合、ネットリストの入力端子を固定にしてタイミングチェックを行い、システム動作の場合には前記ネットリストの入力端子を変化させてタイミングチェックを行い、スキャンパターンのテストモード時のみタイミングエラーが発生する遅延故障検出対象パスを検出し、テストモード時のみタイミングエラーが発生する遅延故障検出対象パスがマルチサイクルパス以外の場合遅延故障検出対象パスから削除し、テストパターン生成手段は、セルライブラリに定義されるタイミング情報に基づき、セットアップエラーが発生しないようにクロック信号のタイミングを決定するようにしている。
【００２６】
つぎの発明にかかる自動テストパターン生成装置は、上記の発明において、前記テストパターン生成手段は、前記遅延故障検出対象パスの遅延時間を所定のレンジ毎に分類して前記遅延故障検出対象パスをグルーピングし、そのグルーピング内で前記遅延故障検出対象パスの最大遅延時間を検出し、検出した遅延時間において前記セルライブラリに定義されるタイミング情報に基づき、セットアップエラーが発生しないようにクロック信号のタイミングを決定することを特徴とする。
【００２７】
この発明によれば、テストパターン生成手段は、遅延故障検出対象パスの遅延時間を所定のレンジ毎に分類して遅延故障検出対象パスをグルーピングし、そのグルーピング内で遅延故障検出対象パスの最大遅延時間を検出し、検出した遅延時間においてセルライブラリに定義されるタイミング情報に基づき、セットアップエラーが発生しないようにクロック信号のタイミングを決定するようにしている。
【００２８】
つぎの発明にかかる自動テストパターン生成装置は、スキャン設計された半導体集積回路の遅延故障を検出するテストパターンを生成する自動テストパターン生成装置であって、上記の発明のパス遅延故障シミュレータの出力であるパス遅延故障未検出リスト内の遅延故障未検出のパスを抽出し、抽出したパスのパス情報を保持するとともにそのパスを遅延故障検出対象パスに決定するネットリスト解析手段と、前記遅延故障検出対象パスに対応するスキャンフリップフロップがクロック周期毎に反転しているか否かおよび前記遅延故障検出対象パスが活性化されるか否かを判定し、該遅延故障検出対象パスについて遅延故障の検出が可能か否かを確認し、その遅延故障の検出結果を反映させてパターンを生成し、生成したパターンをテストパターンとして出力するテストパターン生成手段と、前記遅延故障の検出の確認結果に基づいてパス遅延故障検出率を算出し、その算出結果をパス遅延故障検出率リストに出力するとともに、前記遅延故障検出対象パスのパス情報と前記遅延故障検出の確認結果を編集しパス遅延故障未検出リストに出力する結果編集手段とを備えることを特徴とする。
【００２９】
この発明によれば、自動テストパターン生成装置は、ネットリスト解析手段が、パス遅延故障シミュレータの出力であるパス遅延故障未検出リスト内の遅延故障未検出のパスを抽出し、抽出したパスのパス情報を保持するとともにそのパスを遅延故障検出対象パスに決定し、テストパターン生成手段が、遅延故障検出対象パスに対応するスキャンフリップフロップがクロック周期毎に反転しているか否かおよび遅延故障検出対象パスが活性化されるか否かを判定し、遅延故障検出対象パスについて遅延故障の検出が可能か否かを確認し、その遅延故障の検出結果を反映させてパターンを生成し、生成したパターンをテストパターンとして出力し、結果編集手段が、遅延故障の検出の確認結果に基づいてパス遅延故障検出率を算出し、その算出結果をパス遅延故障検出率リストに出力するとともに、遅延故障検出対象パスのパス情報と遅延故障検出の確認結果を編集しパス遅延故障未検出リストに出力するようにしている。
【００３０】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかるパス遅延故障シミュレータおよび自動テストパターン生成装置の好適な実施の形態を詳細に説明する。
【００３１】
実施の形態１．
図１〜図４を用いて本発明の実施の形態１を説明する。図１は、実施の形態１のパス遅延故障シミュレータ１０の構成および入出力関連図である。図１において、１０はパス遅延故障シミュレータ、２０はネットリスト、２５はセルライブラリ、３０はスキャンパターン、４０はパス遅延故障検出率リスト、５０はパス遅延故障未検出リストである。
【００３２】
ネットリスト２０には、半導体集積回路が所望の機能を実現するためのセルを定義するセル情報と、セル間の接続を示すセル接続情報が定義される。ネットリスト２０においては、半導体集積回路内のセルを指定するためにインスタンス名が用いられる。セルライブラリ２５には、ＡＮＤゲートやＯＲゲートなどのセルの論理情報、セル固有のセル遅延情報、ＳＦＦのタイミング情報（セットアップタイム、ホールドタイム、リカバリータイムなどのタイミング制約条件）などシミュレーションに必要なセル情報が登録される。スキャンパターン３０は、ＡＴＰＧツールで生成された半導体集積回路のテストに用いるテストパターンである。
【００３３】
パス遅延故障シミュレータ１０は、ネットリスト解析手段１１と、パス故障シミュレーション手段１２と、結果編集手段１３とで構成される。ネットリスト解析手段１１は、ネットリスト２０内の遅延故障の対象となるパスを抽出し、遅延故障検出対象パスを決定する。パス故障シミュレーション手段１２は、スキャンパターン３０を入力としてシミュレーションを実行し、スキャンパターン３０によりネットリスト解析手段１１において抽出された全てのパスについて故障検出が行われたか否かを確認する。結果編集手段１３は、パス故障シミュレーション手段１２において確認された結果に基づき、パス遅延故障検出率を算出するとともに、遅延故障検出対象パスのパス情報と遅延故障の検出結果を編集し、パス遅延故障検出率リスト４０とパス遅延故障未検出リスト５０を生成する。
【００３４】
パス遅延故障検出率リスト４０には、たとえば、図２に示すように、遅延故障検出対象総パス数、遅延故障検出可能パス数、検査パターン名、パス遅延故障検出率が出力される。
【００３５】
パス遅延故障未検出リスト５０には、図３に示すように、ネットリスト解析手段１１において抽出したパスに通し番号を付与したパス番号に対応して、そのパスの始点となるＳＦＦのインスタンス名と、始点となるＳＦＦからトレースしたパス経路内のセルのインスタンス名と、パスの終点となるＳＦＦのインスタンス名とを、順に出力する。そして、そのパスに対してパス遅延故障検出がされたか否かの判定結果を出力する。
【００３６】
図４のフローチャートを参照して、この実施の形態１のパス遅延故障シミュレータ１０の動作を説明する。ネットリスト解析手段１１は、ネットリスト２０を検索し、ネットリスト２０に含まれるＳＦＦを全て抽出する（ステップＳ１００）。ネットリスト解析手段１１は、抽出したＳＦＦに対して、そのＳＦＦの出力端子が接続されているセルを検索し、検索したセルの出力端子が接続されているセルを検索する。このようにネットリスト２０のセルの接続情報をトレースし、ＳＦＦのデータ端子に到達するかを確認する（ステップＳ１１０）。ネットリスト解析手段１１は、ＳＦＦの出力端子を始点として、ネットリスト２０をトレースした結果ＳＦＦのデータ端子に到達したパスについて、パス情報（始点となるＳＦＦと終点となるＳＦＦとそのパス内に存在するセルのインスタンス名）を抽出する（ステップＳ１２０）。ネットリスト解析手段１１は、抽出したＳＦＦ全てに対しこのようなトレースを実行する。そして、ネットリスト２０のパス遅延故障検出対象となるパスを全て抽出し、そのパス情報を保持する。抽出されたパス情報には、パス番号を付与し管理する。
【００３７】
パス故障シミュレーション手段１２は、セルライブラリ２５とスキャンパターン３０を入力として、ネットリスト２０で定義されている半導体集積回路のシミュレーションを実行する（ステップＳ１３０）。具体的には、図１９および図２０を用いて説明したように、スキャンモード制御端子ＳＭが“Ｌ”になる周期Ｎと周期Ｎの１つ前の周期Ｎ−１と周期Ｎの２つ前の周期Ｎ−２のシミュレーションを実行する。シミュレーション実行時に、パス故障シミュレーション手段１２は、ＳＦＦの設定値とシミュレーション結果とネットリスト解析手段１１で抽出されたパス上に存在する各セルの全ての入力ピンの値を保持する。（ステップＳ１４０）。パス故障シミュレーション手段１２は、保持したＳＦＦの設定値に基づきそれぞれのパスの始点となるＳＦＦの値が、周期Ｎ−２と周期Ｎ−１とで判定しているかを確認し、その結果（反転情報）をパス番号に対応させて保持する（ステップＳ１５０）。さらに、保持したパス上に存在する各セルの全ての入力ピンの値からネットリスト解析手段１１で抽出したパス遅延故障検出対象となるパスについて、それらのパスが活性化されているかを確認する。そして、その結果（パス活性化情報）をパス番号に対応させて保持する（ステップＳ１６０）。パス故障シミュレーション手段１２は、スキャンパターン３０が終了するまでこのような動作を繰り返す（ステップＳ１３０〜１６０）。
【００３８】
結果編集手段１３は、ネットリスト解析手段１１で抽出したパス情報とパス故障シミュレーション手段１２が保持している反転情報およびパス活性化情報に基づき遅延故障の検出率を算出する（ステップＳ１７０）。具体的には、遅延故障検出対象となるパスに対してその始点となるＳＦＦの値が反転し、かつ、その値が伝播されるパスが活性化されているパスの割合を算出する。そして、図２に示すようなパス遅延故障検出率リスト４０を出力する。遅延故障検出対象総パス数には、ネットリスト解析手段１１で抽出された遅延故障の対象となるパス数を、遅延故障検出可能パス数にはパス故障シミュレーション手段１２でＳＦＦが反転しかつパスが活性化されたことが確認されたパス数を、検査パターン名にはスキャンパターン３０のファイル名を、パス遅延故障検出率には算出したパス遅延故障検出率を出力する。結果編集手段１３は、図３に示すように、パス番号に対応して、そのパスのパス情報とパス遅延故障検出がされたか否かの判定結果を出力する（ステップＳ１８０）。
【００３９】
このようにこの実施の形態１では、ネットリスト解析手段１１がネットリスト２０に基づき遅延故障を検出する対象となるパスを全て抽出し、それらのパスに対してパス故障シミュレーション手段１２がスキャンパターン３０のパターンに対してシミュレーションを実行し、ＳＦＦの値が反転しているか否かとそのＳＦＦを始点とするパスが活性化されているか否かを全て確認し、結果編集手段１３が、それらの情報に基づき、パス遅延故障検出率リスト４０とパス遅延故障未検出リスト５０を出力するようにしているため、スキャンパターン３０を用いた場合に未検出の遅延故障パスを特定することができる。
【００４０】
実施の形態２．
図５および図６を用いて本発明の実施の形態２を説明する。実施の形態１では、ＳＦＦの出力を始点としてネットリスト２０内のパスをトレースし、ＳＦＦのデータ端子に到達したパスを遅延故障検出対象パスとした。しかし、半導体集積回路の場合、接続されているが、冗長な回路が牽引で論理的に信号が伝播しないような経路、すなわち、論理的にありえないパス（論理フォールスパス）が存在することがある。この論理フォールスパスは、どのようなテストパターンを与えてもパスが活性化されることは無く、また、その必要もない。そのため、遅延故障検出対象パス内に論理フォールスパスが存在すると、本来必要のないパスが含まれてパス遅延故障検出率が算出されてしまう。
【００４１】
このような問題を改善するために、実施の形態２では、遅延故障検出対象パスを抽出する際に、論理フォールスパスを除外して、遅延故障検出が必要なパスだけを遅延故障検出対象パスとするものである。
【００４２】
実施の形態２のパス遅延故障シミュレータ１０の構成および入出力関連図は図１に示すものと同様となるので、ここではその説明を省略する。
【００４３】
ネットリスト解析手段１１は、実施の形態１の機能に加え、ネットリスト２０をトレースする際に、論理フォールスパスを検出し、論理フォールスパスを検出した場合には、そのパスを遅延故障検出対象パスから除外する。具体的には、たとえば、図６に示すような論理フォールスパスを検出する。図６において、１００，１０１はＳＦＦ、１０２，１０３は２チャンネルのマルチプレクサ、１０４〜１０６は組合せ回路、ＳＭはスキャンモード制御端子、ＳＩはスキャン入力、ＣＬＫはクロック信号、ＳＥＬは回路内で生成されるマルチプレクサ１０２，１０３の制御信号である。マルチプレクサ１０２と１０３は、同一の制御信号ＳＥＬで制御されている。マルチプレクサ１０２は、制御信号ＳＥＬが“Ｈ”の時にパスを活性化し、マルチプレクサ１０３は、制御信号ＳＥＬが“Ｌ”の時にパスを活性化する。マルチプレクサ１０２，１０３は、同一制御信号ＳＥＬで制御されているため同時に活性化されることは無い。ネットリスト解析手段１１は、このようなパスをトレース時に検出する。
【００４４】
図５のフローチャートを参照して、この実施の形態２のパス遅延故障シミュレータ１０の動作を説明する。パス故障シミュレーション手段１２がシミュレーションを実行し、反転情報およびパス活性化情報を保持するＳ１３０〜Ｓ１６０と、結果編集手段１３が遅延故障検出対象パスに対する反転情報およびパス活性化情報に基づき、遅延故障の検出率を算出し、パス遅延故障検出率リスト４０およびパス遅延故障未検出リスト５０を出力するＳ１７０，Ｓ１８０については、実施の形態１と同じ動作であるので、詳細な説明を省略する。
【００４５】
ネットリスト解析手段１１は、ネットリスト２０を検索し、ネットリスト２０に含まれるＳＦＦを全て抽出する（ステップＳ１００）。ネットリスト解析手段１１は、抽出したＳＦＦに対して、そのＳＦＦの出力端子が接続されているセルを検索し、検索したセルの出力端子が接続されているセルを検索する。このようにネットリスト２０のセルの接続情報をトレースし、ＳＦＦのデータ端子に到達するかを確認する（ステップＳ１１０）。
【００４６】
ネットリスト解析手段１１は、ネットリスト２０をトレースする際に、論理的にパスが活性化されるか否かを判断し、そのパスが論理フォールスパスであると判断した場合には、そのパスのトレースを中止する（ステップＳ２００）。具体的には、ネットリスト２０をトレースして遅延故障検出対象パスを決定する際に、セルライブラリ２５に登録されている各セルの論理情報に基づき各セルの入出力端子に繋がる信号線に“Ｈ”および“Ｌ”が伝播された場合を摸擬する。この時に論理的に活性化されていないパスを論理フォールスパスと判断する。ネットリスト解析手段１１は、ＳＦＦの出力端子を始点として、ネットリスト２０をトレースした結果ＳＦＦのデータ端子に到達したパスについて、パス情報（始点となるＳＦＦと終点となるＳＦＦとそのパス内に存在するセルのインスタンス名）を抽出する（ステップＳ１２０）。ここでパス情報が抽出されたパスが、遅延故障検出対象パスとなる。
【００４７】
パス故障シミュレーション手段１２は、シミュレーションを実行し、遅延故障検出対象パスの反転情報およびパス活性化情報を保持する（ステップＳ１３０〜Ｓ１６０）。結果編集手段１３は遅延故障検出対象パスに対する反転情報およびパス活性化情報に基づき、遅延故障の検出率を算出し、パス遅延故障検出率リスト４０およびパス遅延故障未検出リスト５０を出力する（ステップＳ１７０，Ｓ１８０）。
【００４８】
このようにこの実施の形態２では、ネットリスト解析手段１１がネットリスト２０に基づき遅延故障を検出する対象となるパスを全て抽出する際に、論理フォールスパスを検出し、検出した場合には、そのパスのトレースを中止する。そのため、ＳＦＦのデータ端子までトレースすることが無いため、論理フォールスパスは、遅延故障検出対象パスから除外される。これにより、論理的に活性化されないパスを取り除くことができ、遅延故障が未検出のパスが本当に遅延故障を検出しなければならないパスであるか否かを設計者が判定する必要がなく、設計効率を上げることができる。
【００４９】
実施の形態３．
図７〜図１０を用いて本発明の実施の形態３を説明する。実施の形態２では、遅延故障検出対象パスから論理フォールスパスを除外して、遅延故障検出が必要なパスを検出した。しかし、半導体集積回路には、非同期転送パスや、１周期で動作するのではなく、複数周期で動作するマルチサイクルパスが存在する。非同期転送パスやマルチサイクルパス（タイミングフォールスパス）は、１周期で動作する必要が無いため、タイミングを考慮する必要が無い。そのため、遅延故障検出対象パス内にタイミングフォールスパスが存在すると、本来遅延故障検出の必要のないパスが含まれてパス遅延故障検出率が算出されてしまう。
【００５０】
このような問題を改善するために、実施の形態３では、遅延故障検出対象パスを抽出する際に、タイミングフォールスパスを除外して、遅延故障検出が必要なパスだけを遅延故障検出対象パスとするものである。
【００５１】
図７は、この実施の形態３のパス遅延故障シミュレータ１０の構成および入出力関連図である。図１に示した実施の形態１のパス遅延故障シミュレータ１０の構成および入出力関連図と同じ構成要素には同一符号を付し、重複する説明は省略する。
【００５２】
遅延ファイル６０には、ネットリスト２０のセル間の接続を示すセル接続情報に対応して、配線の遅延値が定義される。
【００５３】
ネットリスト解析手段１１は、実施の形態１の機能に加え、ネットリスト２０をトレースする際に、セルライブラリ２５に定義されるセル遅延情報と、遅延ファイル６０の配線遅延値に基づきトレースしているパスの遅延時間を算出する。
【００５４】
図１０のフローチャートを参照して、実施の形態３のパス遅延故障シミュレータ１０の動作を説明する。パス故障シミュレーション手段１２がシミュレーションを実行し、反転情報およびパス活性化情報を保持するＳ１３０〜Ｓ１６０と、結果編集手段１３が遅延故障検出対象パスに対する反転情報およびパス活性化情報に基づき、遅延故障の検出率を算出し、パス遅延故障検出率リスト４０およびパス遅延故障未検出リスト５０を出力するＳ１７０，Ｓ１８０については、実施の形態１と同じ動作であるので、詳細な説明を省略する。
【００５５】
ネットリスト解析手段１１は、ネットリスト２０を検索し、ネットリスト２０に含まれるＳＦＦを全て抽出する（ステップＳ１００）。ネットリスト解析手段１１は、抽出したＳＦＦに対して、そのＳＦＦの出力端子が接続されているセルを検索し、検索したセルの出力端子が接続されているセルを検索する。そして、そのセルのセル情報とセル接続情報をネットリスト２０から検索する。セル情報に基づきセルライブラリ２５に登録されているセル遅延情報と、遅延ファイル６０に登録されているセル接続情報に対応する配線遅延値を加算し、遅延時間を算出する。このようにネットリスト２０のセルの接続情報をトレースし、遅延時間を算出する際に、タイミングフォールスパスであるか否かを判断する。（ステップＳ１１０，Ｓ３００）。具体的には、たとえば、図８に示す回路の場合、ネットリスト解析手段１１は、ＳＦＦ１１０の出力端子Ｑを始点としてネットリスト２０をトレースし、組合せ回路１１３を介してＳＦＦ１１１のデータ端子Ｄに到達するパスと、組合せ回路１１４を介してＳＦＦ１１２のデータ端子Ｄに到達する２つのパスを抽出する。そして、それぞれのパスの遅延時間を算出する。算出した遅延時間が、ＳＦＦ１１１のデータ端子Ｄに到達するパスが８ｎｓ、ＳＦＦ１１２のデータ端子Ｄに到達するパスが１２ｎｓであったとする。クロック信号ＣＬＫの実動作周波数が１００ＭＨｚの場合は、ＳＦＦ１１０の出力端子Ｑを始点としてＳＦＦ１１１のデータ端子Ｄに到達するパスは１２ｎｓであるので、クロック信号ＣＬＫの１周期である１０ｎｓよりも２ｎｓ遅い。したがって、ネットリスト解析手段１１は、このパスをマルチサイクルパス、すなわち、タイミングフォールスパスと判定し、遅延故障検出対象パスから除外する。
【００５６】
また、図９に示す回路の場合、ネットリスト解析手段１１は、ＳＦＦ１２０の出力端子Ｑを始点としてネットリスト２０をトレースし、組合せ回路１２３を介してＳＦＦ１２１のデータ端子Ｄに到達するパスと、組合せ回路１２４を介してＳＦＦ１２２のデータ端子Ｄに到達する２つのパスを抽出する。ネットリスト解析手段１１は、ＳＦＦ１２０〜ＳＦＦ１２２のクロック端子Ｔの接続情報をネットリスト２０からトレースし、同一クロック信号であるか否かを判定する。この場合は、ＳＦＦ１２０のクロック端子ＴとＳＦＦ１２１のクロック端子Ｔは、クロック信号ＣＬＫ１に接続され、ＳＦＦ１２２のクロック端子Ｔは、クロック信号ＣＬＫ２に接続されている。したがって、ネットリスト解析手段１１は、ＳＦＦ１２０とＳＦＦ１２２は異なるクロックで動作すると認識し、ＳＦＦ１２０の出力端子Ｑから組合せ回路１２４を介してＳＦＦ１２２のデータ端子Ｄに到達するパスは非同期転送パス、すなわち、タイミングフォールスパスと判定し、遅延故障検出対象パスから除外する。
【００５７】
ネットリスト解析手段１１は、ＳＦＦの出力端子を始点として、ネットリスト２０をトレースした結果ＳＦＦのデータ端子に到達した全パスの中からタイミングフォールスパスと判定したパスを除外し、遅延故障検出対象パスのパス情報を抽出する（ステップＳ１２０）。
【００５８】
パス故障シミュレーション手段１２は、シミュレーションを実行し、遅延故障検出対象パスの反転情報およびパス活性化情報を保持する（ステップＳ１３０〜Ｓ１６０）。結果編集手段１３は遅延故障検出対象パスに対する反転情報およびパス活性化情報に基づき、遅延故障の検出率を算出し、パス遅延故障検出率リスト４０およびパス遅延故障未検出リスト５０を出力する（ステップＳ１７０，Ｓ１８０）。
【００５９】
このようにこの実施の形態３では、ネットリスト解析手段１１がネットリスト２０に基づき遅延故障を検出する対象となるパスを全て抽出する際に、タイミングフォールスパスを検出し、検出したタイミングフォールスパスは、遅延故障検出対象パスから除外する。これにより、遅延故障を検出しなければならないパスだけを対象としてスキャンパターン３０での遅延故障検出率を算出することができる。
【００６０】
また、パス遅延故障未検出リスト５０に出力する情報から、遅延故障を検出する必要のないパスを除くことができるため、遅延故障を検出しなければならないパスであるか否かを設計者が判定する必要がなく、設計効率を上げることができる。
【００６１】
実施の形態４．
図１１を用いて本発明の実施の形態４を説明する。実施の形態４のパス遅延故障シミュレータ１０の構成および入出力関連図は、図７に示すものと同様となるので、ここではその説明を省略する。
【００６２】
ネットリスト解析手段１１は、実施の形態３の機能に加え、セルライブラリ２５に登録されたタイミング情報に基づき、タイミングチェックを行う。
【００６３】
図１１のフローチャートを参照して、実施の形態４のパス遅延故障シミュレータ１０の動作を説明する。ネットリスト解析手段１１がネットリスト２０を検索してＳＦＦを抽出し、そのＳＦＦを始点としてＳＦＦに到達するパスを抽出し、パス情報を抽出するＳ１００〜Ｓ１２０と、パス故障シミュレーション手段１２がシミュレーションを実行し、反転情報およびパス活性化情報を保持するＳ１３０〜Ｓ１６０と、結果編集手段１３が遅延故障検出対象パスに対する反転情報およびパス活性化情報に基づき、遅延故障の検出率を算出し、パス遅延故障検出率リスト４０およびパス遅延故障未検出リスト５０を出力するＳ１７０，Ｓ１８０については、実施の形態１と同じ動作であるので、詳細な説明を省略する。
【００６４】
ネットリスト解析手段１１は、ネットリスト２０を検索してＳＦＦを抽出し、そのＳＦＦを始点としてＳＦＦに到達するパスを抽出し、パス情報を抽出する（ステップＳ１００〜Ｓ１２０）。そして、パス情報を抽出したパスを遅延故障検出対象パスとする。
【００６５】
ネットリスト解析手段１１は、抽出した全てのパスに対して、実動作周波数によるタイミングエラーチェックを実行し、タイミングエラーが発生するパスのパス情報を検出する（ステップＳ４００）。具体的には、図１９に示した半導体集積回路２００のスキャンモード制御信号ＳＭをシステム動作（この場合“Ｌ”）にした場合に、ＳＦＦ２０１〜２０６の端子にそれぞれ伝播されるパスを検出し、そのパスに含まれるセルのセル遅延情報と、パスの配線遅延値を加算して遅延時間を算出し、セルライブラリ２５に登録されているタイミング情報を満足しているか否かを判定する。そして、満足していないパスのパス情報を検出する。すなわち、ネットリスト２０に定義された半導体集積回路に対して静的タイミング検証を実行し、タイミングエラーが検出されたパスのパス情報を検出する。また、システム動作時に活性化されるパスのパス情報を検出する。
【００６６】
ネットリスト解析手段１１は、ＳＦＦを始点としてＳＦＦに到達する全てのパスに対して、テストモード時、すなわち、スキャンモード制御信号ＳＭがテスト動作（この場合“Ｈ”）の場合に特定の端子を“Ｈ”または“Ｌ”に固定した状態で実動作周波数によるタイミングエラーチェックを実施し、タイミングエラーが発生するパスのパス情報と活性化されるパスのパス情報を検出する（ステップＳ４１０）。すなわち、テスト動作時に静的タイミング検証を実行し、タイミングエラーが検出されたパスのパス情報を検出するとともに、活性化されるパスのパス情報を検出する。
【００６７】
ネットリスト解析手段１１は、システム動作時にタイミングエラーを検出したパス情報とテスト動作時にタイミングエラーを検出したパス情報とを比較する。そして、テスト動作時のみ検出されたパス情報を遅延故障検出対象パスのパス情報から削除する。すなわち、テスト動作時のみタイミングエラーが検出されたパスについては、遅延故障検出対象パスから除外する。さらに、ネットリスト解析手段１１は、システム動作時に活性化されるパスのパス情報とテスト動作時のみ活性化されるパスのパス情報を比較し、テスト動作時のみ活性化されるパスのパス情報を遅延故障検出対象パスのパス情報から除外する（ステップＳ４２０）。
【００６８】
パス故障シミュレーション手段１２は、シミュレーションを実行し、遅延故障検出対象パスの反転情報およびパス活性化情報を保持する（ステップＳ１３０〜Ｓ１６０）。結果編集手段１３は遅延故障検出対象パスに対する反転情報およびパス活性化情報に基づき、遅延故障の検出率を算出し、パス遅延故障検出率リスト４０およびパス遅延故障未検出リスト５０を出力する（ステップＳ１７０，Ｓ１８０）。
【００６９】
このようにこの実施の形態４では、ネットリスト解析手段１１が静的タイミング検証を行い、タイミングエラーによるフォールスパスを決定し、そのパスを遅延故障検出対象パスから除外しているため、遅延故障を検出しなければならないパスだけを対象としてスキャンパターン３０での遅延故障検出率を算出することができる。
【００７０】
また、パス遅延故障未検出リスト５０に出力する情報から、遅延故障を検出する必要のないパスを除くことができるため、遅延故障を検出しなければならないパスであるか否かを設計者が判定する必要がなく、設計効率を上げることができる。
【００７１】
実施の形態５．
図１２および図１３を用いて本発明の実施の形態５を説明する。図１２は、実施の形態５の自動テストパターン生成装置７０の構成および入出力関連図である。図１２において、２０はネットリスト、２５はセルライブラリ、６０は遅延ファイル、７０は自動テストパターン生成装置、８０はテストパターンである。
【００７２】
ネットリスト２０は、半導体集積回路が所望の機能を実現するためのセルを定義するセル情報と、セル間の接続を示すセル接続情報が定義される。ネットリスト２０においては、半導体集積回路内のセルを指定するためにインスタンス名が用いられる。セルライブラリ２５には、ＡＮＤゲートやＯＲゲートなどのセルの論理情報、セル固有のセル遅延情報、ＳＦＦのタイミング情報（セットアップタイム、ホールドタイム、リカバリータイムなどのタイミング制約条件）などシミュレーションに必要なセル情報が登録される。遅延ファイル６０には、ネットリスト２０のセル間の接続を示すセル接続情報に対応して、配線の遅延値が定義される。
【００７３】
自動テストパターン生成装置７０は、ネットリスト解析手段７１とテストパターン生成手段７２を備えている。ネットリスト解析手段７１は、ネットリスト２０内の遅延故障の対象となるパスを抽出し遅延故障検出対象パスを決定するとともに、ネットリスト２０をトレースする際に、セルライブラリ２５に定義されるセル遅延情報と、遅延ファイル６０の配線遅延値に基づきトレースしているパスの遅延時間を算出する。テストパターン生成手段７２は、ネットリスト解析手段７１で決定された遅延故障検出対象パスの始点となるＳＦＦに設定される値が図２０に示した周期Ｎ−２と周期Ｎ−１とで反転するようなパターンを生成し、テストパターン８０に生成したパターンを出力する。また、生成したテストパターン８０で遅延故障検出対象パスのＳＦＦが反転しかつパスが活性化されたか否かを確認する。
【００７４】
テストパターン８０は、自動テストパターン生成装置７０が生成したテストパターンであり、ネットリスト２０で実現される半導体集積回路の外部入力端子に対応して、故障遅延シミュレーションを実行するシミュレータに入力可能な形式のファイルである。
【００７５】
つぎに、図１３のフローチャートを参照して、実施の形態５の自動テストパターン生成装置７０の動作を説明する。ネットリスト解析手段７１が、ネットリスト２０に含まれるＳＦＦを全て抽出し、それらのＳＦＦを始点としてＳＦＦのデータ端子に到達するまでセル接続情報をトレースするとともに、セルライブラリ２５に定義されるセル遅延情報と、遅延ファイル６０の配線遅延値に基づきトレースしているパスの遅延時間を算出することでタイミングフォールスパスを検出した場合、そのパスを遅延故障検出対象パスから除外して、最終的な遅延故障検出対象パスを決定するＳ１００，Ｓ１１０，Ｓ３００，Ｓ１２０は、実施の形態３と同じ動作であるので、詳細な説明を省略する。
【００７６】
ネットリスト解析手段７１は、ネットリスト２０に含まれるＳＦＦを全て抽出し、それらのＳＦＦを始点としてＳＦＦのデータ端子に到達するまでセル接続情報をトレースするとともに、セルライブラリ２５に定義されるセル遅延情報と、遅延ファイル６０の配線遅延値に基づきトレースしているパスの遅延時間を算出することでタイミングフォールスパスを検出した場合、そのパスを遅延故障検出対象パスから除外して、最終的な遅延故障検出対象パスを決定する（ステップＳ１００，Ｓ１１０，Ｓ３００，Ｓ１２０）。
【００７７】
テストパターン生成手段７２は、ネットリスト解析手段７１が決定した遅延故障検出対象パスの始点となるＳＦＦにクロック周期ごとに値が反転するようなパターンを生成する（ステップＳ５００）。具体的には、図１９に示す半導体集積回路２００のスキャンパターン入力ＳＩに、たとえば、“Ｌ”，“Ｈ”を繰り返し入力すると、ＳＦＦ２０１，２０２，２０３の順にシフトされる毎にＳＦＦ２０１〜２０３の値が反転する。テストパターン生成手段７２は、図２０に示した周期Ｎ−２と周期Ｎ−１でＳＦＦの値が反転し、かつ、遅延故障検出対象パスが活性化されるようなパターンを生成し、テストパターン８０に生成したパターンを出力する。テストパターン生成手段７２は、生成したテストパターン数が所定のテストパターン数になるまで、この動作を繰り返し、遅延故障検出のためのテストパターンを生成する。
【００７８】
このようにこの実施の形態５では、ネットリスト解析手段７１が、タイミングフォールスパスを除いて遅延故障検出対象パスを決定し、その遅延故障検出対象パスに対してテストパターン生成手段７２が遅延故障を検出するためのテストパターンを生成するようにしているため、遅延故障検出が必要なパスだけを対象に効率よくテストパターンを生成することができる。
【００７９】
実施の形態６．
図１４を用いて本発明の実施の形態６を説明する。実施の形態６の自動テストパターン生成装置７０の構成および入出力関連図は、図１２に示すものと同様となるので、ここではその説明を省略する。
【００８０】
図１４のフローチャートを参照して、実施の形態６の自動テストパターン生成装置７０の動作を説明する。ネットリスト解析手段７１が、ネットリスト２０に含まれるＳＦＦを全て抽出し、それらのＳＦＦを始点としてＳＦＦのデータ端子に到達するまでセル接続情報をトレースして遅延故障検出対象パスを決定し、その遅延故障検出対象パスに対して、静的タイミング検証を実行し、テスト動作時のみタイミングエラーが検出されたパスおよびテスト動作時のみ活性化されるパスを遅延故障検出対象パスから除外して最終的な遅延故障検出対象パスを決定するＳ１００〜Ｓ１２０，Ｓ４００〜Ｓ４２０については、実施の形態４の動作と同じであるので、詳細な説明を省略する。また、テストパターン生成手段７２が、ネットリスト解析手段７１が決定した遅延故障検出対象パスの始点となるＳＦＦにクロック周期ごとに値が反転するようなパターンを生成するＳ５００につては、実施の形態５の動作と同じであるので、詳細な説明を省略する。
【００８１】
ネットリスト解析手段７１は、ネットリスト２０に含まれるＳＦＦを全て抽出し、それらのＳＦＦを始点としてＳＦＦのデータ端子に到達するまでセル接続情報をトレースして遅延故障検出対象パスを決定し、その遅延故障検出対象パスに対して、静的タイミング検証を実行し、テスト動作時のみタイミングエラーが検出されたパスおよびテスト動作時のみ活性化されるパスを遅延故障検出対象パスから除外して最終的な遅延故障検出対象パスを決定する（ステップＳ１００〜Ｓ１２０，Ｓ４００〜Ｓ４２０）。
【００８２】
テストパターン生成手段７２は、ネットリスト解析手段７１が決定した遅延故障検出対象パスの始点となるＳＦＦにクロック周期ごとに値が反転するようなパターンを生成する（ステップＳ５００）。そして、テストパターン８０に生成したパターンを出力する。
【００８３】
このようにこの実施の形態６では、ネットリスト解析手段７１が静的タイミング検証を行い、タイミングエラーによるフォールスパスを決定し、そのパスを遅延故障検出対象パスから除外しているため、遅延故障検出が必要なパスだけを対象に効率よくテストパターンを生成することができる。
【００８４】
実施の形態７．
図１５を用いて本発明の実施の形態７を説明する。実施の形態７の自動テストパターン生成装置７０の構成および入出力関連図は、図１２に示すものと同様となるので、ここではその説明を省略する。
【００８５】
図１５のフローチャートを参照して、実施の形態７の自動テストパターン生成装置７０の動作を説明する。ネットリスト解析手段７１が、ネットリスト２０に含まれるＳＦＦを全て抽出し、それらのＳＦＦを始点としてＳＦＦのデータ端子に到達するまでセル接続情報をトレースして遅延故障検出対象パスを決定し、その遅延故障検出対象パスに対して、静的タイミング検証を実行し、タイミングエラーが検出されたパスを検出するＳ１００〜Ｓ１２０，Ｓ４００については、実施の形態４の動作と同じであるので、詳細な説明を省略する。
【００８６】
ネットリスト解析手段７１は、ネットリスト２０に含まれるＳＦＦを全て抽出し、それらのＳＦＦを始点としてＳＦＦのデータ端子に到達するまでセル接続情報をトレースして遅延故障検出対象パスを決定し、その遅延故障検出対象パスに対して、静的タイミング検証を実行し、タイミングエラーが検出されたパスを検出する（ステップＳ１００〜Ｓ１２０，Ｓ４００）。
【００８７】
ネットリスト解析手段７１は、遅延故障検出対象パスに対して、テストモード時に特定の端子を“Ｈ”または“Ｌ”に固定した状態で静的タイミング検証を実行し、実動作周波数によるタイミングエラーチェックを行い、タイミングエラーが発生するパスのパス情報を検出する。そして、タイミングエラーが発生したパス情報のパスが、図８に示したマルチサイクルパスであるか否かを判定し、マルチサイクルパスであると判定した場合には、そのパス情報を検出する（ステップＳ６００）。
【００８８】
ネットリスト解析手段７１は、システム動作時にタイミングエラーを検出したパス情報とテスト動作時にタイミングエラーを検出したパス情報とを比較する。そして、テスト動作時のみ検出されたパス情報のうち、マルチサイクルパスであると判定したパス情報以外のパス情報を遅延故障検出対象パスのパス情報から除外し、最終的な遅延故障検出対象パスを決定する（ステップＳ６１０）。
【００８９】
テストパターン生成手段７２は、ネットリスト解析手段７１が決定した遅延故障検出対象パスの始点となるＳＦＦにクロック周期ごとに値が反転するようなパターンを生成する（ステップＳ５００）。テストパターン生成手段７２は、ネットリスト解析手段７１でマルチサイクルパスと判定されたパス情報を持つ遅延故障検出対象パスについては、セットアップエラーが発生しないようにマージンを加えた時刻にデータをキャプチャーするようにクロックタイミングを決定してパターンを生成する（ステップＳ６２０）。テストパターン生成手段７２は、テストパターン８０に生成したパターンを出力する。
【００９０】
このようにこの実施の形態７では、ネットリスト解析手段７１がマルチサイクルパスを検出し、テストパターン生成手段７２が、マルチサイクルパスに対してマージンを持つテストパターンを生成するようにしているため、マルチサイクルパスを含めて遅延故障の検出が可能なテストパターンを生成することができる。
【００９１】
実施の形態８．
図１６および図１７を用いて本発明の実施の形態８を説明する。図１６は、実施の形態８の自動テストパターン生成装置７０の構成および入出力関連図である。図１２に示した実施の形態５の自動テストパターン生成装置７０の構成および入出力関連図と同じ構成要素には同一符号を付し、重複する説明は省略する。
【００９２】
パス遅延故障検出率リスト４０には、図２に示すように、遅延故障検出対象総パス数、遅延故障検出可能パス数、検査パターン名、パス遅延故障検出率が出力される。遅延故障検出対象総パス数には、ネットリスト解析手段７１で抽出された遅延故障の対象となるパス数が出力される。
【００９３】
パス遅延故障未検出リスト５０には、パス遅延故障シミュレータ１０の出力ファイルであり、図３に示したように、遅延故障検出対象パスに通し番号を付与したパス番号に対応して、そのパスの始点となるＳＦＦのインスタンス名と、始点となるＳＦＦからトレースしたパス経路内のセルのインスタンス名と、パスの終点となるＳＦＦのインスタンス名とが、順に出力されている。そして、そのパスに対してパス遅延故障検出がされたか否かの判定結果を出力する。なお、実施の形態８の自動テストパターン生成装置７０の入力として用いるパス遅延故障未検出リスト５０は、論理フォールスパスを除いた遅延故障検出対象パスで遅延故障検出率を算出する実施の形態２のパス遅延故障シミュレータ１０の出力が望ましい。
【００９４】
ネットリスト解析手段７１は、パス遅延故障未検出リスト５０内のパス遅延故障検出可否結果が「ＮＧ」、すなわち、遅延故障の検出がされていないパスのパス情報（パスの始点となるＳＦＦからトレースしたパス経路内のセルをパスの終点となるＳＦＦまでのインスタンス名）を抽出する。
【００９５】
結果編集手段７３は、遅延故障検出対象パスのパス情報とテストパターン生成手段７２で確認された遅延故障検出対象パスのＳＦＦが反転しかつパスが活性化されたか否かの情報に基づき、パス遅延故障検出率を算出するとともに、遅延故障検出対象パスのパス情報と遅延故障の検出結果を編集し、パス遅延故障検出率リスト４０とパス遅延故障未検出リスト５０を生成する。
【００９６】
図１７のフローチャートを参照して、実施の形態８の自動テストパターン生成装置７０の動作を説明する。ネットリスト解析手段７１は、パス遅延故障未検出リスト５０のパス遅延故障検出可否結果が「ＮＧ」、すなわち、パス遅延故障が検出されていないパスのパス情報を抽出する。そして、抽出したパス情報のパスを遅延故障検出対象パスに決定する（ステップＳ７００）。
【００９７】
テストパターン生成手段７２は、ネットリスト解析手段７１が決定した遅延故障検出対象パスの始点となるＳＦＦにクロック周期ごとに値が反転するようなパターンを生成する（ステップＳ５００）。テストパターン生成手段７２は、テストパターン８０に生成したパターンを出力する。また、生成したテストパターン８０で遅延故障検出対象パスのＳＦＦが反転しかつパスが活性化されたか否かを確認する。
【００９８】
結果編集手段７３は、遅延故障検出対象パスのパス情報とテストパターン生成手段７２で確認された遅延故障検出対象パスのＳＦＦが反転しかつパスが活性化されたか否かの情報に基づき、遅延故障の検出率を算出する（ステップＳ１７０）。そして、パス遅延故障検出率リスト４０を出力する。結果編集手段７３は、遅延故障検出対象パスのパス番号に対応して、そのパスのパス情報と遅延故障検出がされたか否かの判定結果を出力する（ステップＳ１８０）。
【００９９】
遅延故障検出されていない遅延故障検出対象パスがある場合には（ステップＳ７１０，Ｙｅｓ）、出力したパス遅延故障未検出リスト５０を入力にして、遅延故障検出対象パスを決定し、決定した遅延故障検出対象パスに対してテストパターンを生成し、テストパターン８０とパス遅延故障検出率リスト４０とパス遅延故障未検出リスト５０とを出力する動作（ステップＳ７００，Ｓ５００，Ｓ１７０，Ｓ１８０）を繰り返す。遅延故障検出対象パスが全て遅延故障検出された場合には（ステップＳ７１０，Ｎｏ）処理を終了する。
【０１００】
このようにこの実施の形態８では、ネットリスト解析手段７１がパス遅延故障未検出リスト５０の中からパス遅延故障が検出されていないパスだけを抽出してテストパターン生成手段７２でパターンを生成する遅延故障検出対象パスとしているため、遅延故障を検出するためのテストパターン８０を全て自動で生成することができる。これにより、設計者が人手で作成する手間を省き、設計効率を上げることができる。
【０１０１】
実施の形態９．
図１８を用いて本発明の実施の形態９を説明する。実施の形態９の自動テストパターン生成装置７０の構成および入出力関連図は、図１２に示すものと同様となるので、ここではその説明を省略する。
【０１０２】
テストパターン生成手段７２は、ネットリスト解析手段７１が算出した遅延故障検出対象パス毎のパスの遅延時間に基づき所定のレンジ毎に分類する。そして、分類された遅延故障検出対象パスをグルーピングし、それぞれの最大遅延時間に対応してタイミングエラーが発生しないようなクロックタイミングを決定してテストパターンを生成する。
【０１０３】
図１８のフローチャートを参照して、実施の形態９の自動テストパターン生成装置７０の動作を説明する。ネットリスト解析手段７１が、ネットリスト２０に含まれるＳＦＦを全て抽出し、それらのＳＦＦを始点としてＳＦＦのデータ端子に到達するまでセル接続情報をトレースするとともに、セルライブラリ２５に定義されるセル遅延情報と、遅延ファイル６０の配線遅延値に基づきトレースしているパスの遅延時間を算出するＳ１００〜Ｓ１２０については、実施の形態３と同じ動作であるので、詳細な説明を省略する。
【０１０４】
ネットリスト解析手段７１は、ネットリスト２０に含まれるＳＦＦを全て抽出し、それらのＳＦＦを始点としてＳＦＦのデータ端子に到達するまでセル接続情報をトレースするとともに、セルライブラリ２５に定義されるセル遅延情報と、遅延ファイル６０の配線遅延値に基づきトレースしているパスの遅延時間を算出する（ステップＳ１００〜Ｓ１２０）。そして、遅延故障検出対象パスを決定する。
【０１０５】
テストパターン生成手段７２は、ネットリスト解析手段７１が決定した遅延故障検出対象パスのパスの遅延時間を所定のレンジ毎に分類し、遅延故障検出対象パスをグルーピングする（ステップＳ８００）。具体的には、たとえば、所定レンジを１０ｎｓとすると、パスの遅延時間が１０ｎｓ以下、１１〜２０ｎｓ、２１〜３０ｎｓというように分類し、それぞれの範囲内の遅延故障検出対象パスを同一のパス群とする。
【０１０６】
テストパターン生成手段７２は、ネットリスト解析手段７１が決定した遅延故障検出対象パスの始点となるＳＦＦにクロック周期ごとに値が反転するようなパターンを生成する（ステップＳ５００）。テストパターン生成手段７２は、ネットリスト解析手段７１でグルーピングされたパス群毎にそのパス群の中で最大の遅延時間をそれぞれ検出する。そして、セルライブラリ２５に登録されているタイミング情報のセットアップタイムに対するタイミングエラーが発生しないように所定の値をマージン値として加えた時刻に入力データをキャプチャーするように考慮してクロック信号の入力タイミングを決定し、パターンを生成する。すなわち、クロック信号の周期をグルーピングされたパス群の最大遅延時間を満足するように合わせて設定する。テストパターン生成手段７２は、テストパターン８０に生成したパターンを出力する（ステップＳ８１０）。
【０１０７】
このようにこの実施の形態９では、テストパターン生成手段７２は、所定のレンジ毎に、遅延故障検出対象パスをグルーピングし、グルーピングされたパス群の最大遅延を満足するようにクロック信号の周期を設定するようにしているため、遅延値が小さいパスについては、速いクロックタイミングでテスト可能なテストパターンを生成することができる。すなわち、クロック信号の周期を適応的に変化させることにより、テスト時間を短縮することができる。
【０１０８】
【発明の効果】
以上説明したように、この発明にかかるパス遅延故障シミュレータによれば、ネットリスト解析手段が、ネットリストの中から全てのスキャンフリップフロップを抽出し、ネットリストのセル間の接続情報をトレースして抽出したスキャンフリップフロップの出力端子からスキャンフリップフロップの入力端子に到達する遅延故障検出対象パスを決定するとともに遅延故障検出対象パスに含まれる全てのセルのインスタンス名をパス情報として保持し、パス故障シミュレーション手段が、スキャンパターンを用いてネットリストのシミュレーションを実行した場合に、遅延故障検出対象パス毎にそれぞれの遅延故障検出対象パスの始点となるスキャンフリップフロップの値が反転し、かつ、遅延故障検出対象パスが活性化されたか否かを確認するとともに遅延故障検出対象パスについて遅延故障の検出が可能か否かを確認し、結果編集手段が、遅延故障の検出の確認結果に基づいてパス遅延故障検出率を算出し、その算出結果をパス遅延故障検出率リストに出力するとともに、遅延故障検出対象パスのパス情報と遅延故障検出の確認結果を編集しパス遅延故障未検出リストに出力するようにしているため、スキャンパターンを用いた場合に未検出の遅延故障パスを特定することができる。
【０１０９】
つぎの発明にかかるパス遅延故障シミュレータによれば、ネットリスト解析手段は、遅延故障検出対象パスを決定する際に、そのパスが論理的に信号が伝播しない論理フォールスパスか否かを判定し、その判定結果が論理フォールスパスであった場合には、遅延故障検出対象パスから削除するようにしているため、論理的に活性化されないパスを取り除くことができ、遅延故障が未検出のパスが本当に遅延故障を検出しなければならないパスであるか否かを設計者が判定する必要がなく、設計効率を上げることができる。
【０１１０】
つぎの発明にかかるパス遅延故障シミュレータによれば、ネットリスト解析手段は、セル固有のセル遅延情報とスキャンフリップフロップのタイミング情報が定義されているセルライブラリとネットリストのセル接続情報に対応した配線の遅延値が定義されている遅延ファイルと遅延故障検出対象パス毎のパス情報に基づいて、遅延故障検出対象パス毎の配線時間を算出し、その算出結果によりタイミングフォールスパスか否かを判定し、その判定結果が前記タイミングフォールスパスであった場合には、前記遅延故障検出対象パスから削除するようにしているため、遅延故障を検出しなければならないパスだけを対象としてスキャンパターンでの遅延故障検出率を算出することができる。
【０１１１】
つぎの発明にかかるパス遅延故障シミュレータによれば、ネットリスト解析手段は、セルライブラリと遅延ファイルに基づき前記スキャンパターンを入力として前記ネットリストに定義されている全てのセル接続情報の遅延時間の算出によるタイミングチェックを行い、スキャンパターンのテストモード時のみにタイミングエラーが発生する遅延故障検出対象パスおよび活性化がなされる遅延故障検出対象パスを検出し、検出された遅延故障検出対象パスについては、遅延故障検出対象パスから削除するようにしているため、遅延故障を検出しなければならないパスだけを対象としてスキャンパターンでの遅延故障検出率を算出することができる。
【０１１２】
つぎの発明にかかる自動テストパターン生成装置によれば、ネットリスト解析手段が、セルを定義するためのセル情報とセル間の接続を示すセル接続情報とが定義されているネットリストの中から全てのスキャンフリップフロップを抽出し、ネットリストのセル間の接続情報をトレースして抽出したスキャンフリップフロップの出力端子からスキャンフリップフロップの入力端子に到達する遅延故障検出対象パスを決定し、遅延故障検出対象パスに含まれる全てのセルのインスタンス名をパス情報として保持し、セル固有のセル遅延情報とスキャンフリップフロップのタイミング情報が定義されているセルライブラリとネットリストのセル接続情報に対応した配線の遅延値が定義されている遅延ファイルと遅延故障検出対象パス毎のパス情報に基づいて、遅延故障検出対象パス毎の配線時間を算出し、その算出結果によりタイミングフォールスパスか否かを判定し、その判定結果がタイミングフォールスパスであった場合には、遅延故障検出対象パスから削除し、テストパターン生成手段が、遅延故障検出対象パスに対応するスキャンフリップフロップが、クロック周期毎に反転しているか否かおよび遅延故障検出対象パスが活性化されるか否かを判定し、その判定結果を反映させてパターンを生成し、生成したパターンをテストパターンとして出力するようにしているため、遅延故障検出が必要なパスだけを対象に効率よくテストパターンを生成することができる。
【０１１３】
つぎの発明にかかる自動テストパターン生成装置によれば、ネットリスト解析手段は、セルライブラリと遅延ファイルに基づきネットリストに定義されている全てのセル接続情報の遅延時間を算出し、テストモード時の場合、ネットリストの入力端子を固定にしてタイミングチェックを行い、システム動作の場合にはネットリストの入力端子を変化させてタイミングチェックを行い、テストモード時のみタイミングエラーが発生する遅延故障検出対象パスを検出し、検出された遅延故障検出対象パスについては、遅延故障検出対象パスから削除するようにしているため、遅延故障検出が必要なパスだけを対象に効率よくテストパターンを生成することができる。
【０１１４】
つぎの発明にかかる自動テストパターン生成装置によれば、ネットリスト解析手段は、セルライブラリと遅延ファイルに基づきネットリストに定義されている全てのセル接続情報の遅延時間を算出してタイミングチェックを行い、テストモード時の場合、ネットリストの入力端子を固定にしてタイミングチェックを行い、システム動作の場合には前記ネットリストの入力端子を変化させてタイミングチェックを行い、スキャンパターンのテストモード時のみタイミングエラーが発生する遅延故障検出対象パスを検出し、テストモード時のみタイミングエラーが発生する遅延故障検出対象パスがマルチサイクルパス以外の場合遅延故障検出対象パスから削除し、テストパターン生成手段は、セルライブラリに定義されるタイミング情報に基づき、セットアップエラーが発生しないようにクロック信号のタイミングを決定するようにしているため、マルチサイクルパスを含めて遅延故障の検出が可能なテストパターンを生成することができる。
【０１１５】
つぎの発明にかかる自動テストパターン生成装置によれば、テストパターン生成手段は、遅延故障検出対象パスの遅延時間を所定のレンジ毎に分類して遅延故障検出対象パスをグルーピングし、そのグルーピング内で遅延故障検出対象パスの最大遅延時間を検出し、検出した遅延時間においてセルライブラリに定義されるタイミング情報に基づき、セットアップエラーが発生しないようにクロック信号のタイミングを決定するようにしているため、遅延値が小さいパスについては、速いクロックタイミングでテスト可能なテストパターンを生成することができる。すなわち、クロック信号の周期を適応的に変化させることにより、テスト時間を短縮することができる。
【０１１６】
つぎの発明にかかる自動テストパターン生成装置によれば、ネットリスト解析手段が、パス遅延故障シミュレータの出力であるパス遅延故障未検出リスト内の遅延故障未検出のパスを抽出し、抽出したパスのパス情報を保持するとともにそのパスを遅延故障検出対象パスに決定し、テストパターン生成手段が、遅延故障検出対象パスに対応するスキャンフリップフロップがクロック周期毎に反転しているか否かおよび遅延故障検出対象パスが活性化されるか否かを判定し、遅延故障検出対象パスについて遅延故障の検出が可能か否かを確認し、その遅延故障の検出結果を反映させてパターンを生成し、生成したパターンをテストパターンとして出力し、結果編集手段が、遅延故障の検出の確認結果に基づいてパス遅延故障検出率を算出し、その算出結果をパス遅延故障検出率リストに出力するとともに、遅延故障検出対象パスのパス情報と遅延故障検出の確認結果を編集しパス遅延故障未検出リストに出力するようにしているため、遅延故障を検出するためのテストパターンを全て自動で生成することができる。これにより、設計者が人手で作成する手間を省き、設計効率を上げることができる。
【図面の簡単な説明】
【図１】実施の形態１のパス遅延故障シミュレータの構成および入出力関連図である。
【図２】パス遅延故障検出率リストの一例を示す図である。
【図３】パス遅延故障未検出リストの一例を示す図である。
【図４】実施の形態１のパス遅延故障シミュレータの動作を説明するためのフローチャートである。
【図５】実施の形態２のパス遅延故障シミュレータの動作を説明するためのフローチャートである。
【図６】論理フォールスパスを説明するための図である。
【図７】実施の形態３のパス遅延故障シミュレータの構成および入出力関連図である。
【図８】マルチサイクルパスを説明するための図である。
【図９】非同期転送パスを説明するための図である。
【図１０】実施の形態３のパス遅延故障シミュレータの動作を説明するためのフローチャートである。
【図１１】実施の形態４のパス遅延故障シミュレータの動作を説明するためのフローチャートである。
【図１２】実施の形態５の自動テストパターン生成装置の構成および入出力関連図である。
【図１３】実施の形態５の自動テストパターン生成装置の動作を説明するためのフローチャートである。
【図１４】実施の形態６の自動テストパターン生成装置の動作を説明するためのフローチャートである。
【図１５】実施の形態７の自動テストパターン生成装置の動作を説明するためのフローチャートである。
【図１６】実施の形態８の自動テストパターン生成装置の構成および入出力関連図である。
【図１７】実施の形態８の自動テストパターン生成装置の動作を説明するためのフローチャートである。
【図１８】実施の形態９の自動テストパターン生成装置の動作を説明するためのフローチャートである。
【図１９】従来技術を説明するための図である。
【図２０】従来技術を説明するための図である。
【符号の説明】
１０　パス遅延故障シミュレータ、１１，７１　ネットリスト解析手段、１２パス故障シミュレーション手段、１３，７３　結果編集手段、２０　ネットリスト、２５　セルライブラリ、３０　スキャンパターン、４０　パス遅延故障検出率リスト、５０　パス遅延故障未検出リスト、６０　遅延ファイル、７０　自動テストパターン生成装置、７２　テストパターン生成手段、８０　テストパターン、１００，１０１，１１０，１１１，１１２，１２０，１２１，１２２，２０１，２０２，２０３，２０４，２０５，２０６　スキャンフリップフロップ、１０２，１０３　マルチプレクサ、１０４，１０５，１０６，１１３，１１４，１２３，１２４，２０７，２０８，２０９　組合せ回路、２００　半導体集積回路。
【図１】
2004054329.tif 000003
【図２】
2004054329.tif 000004
【図３】
2004054329.tif 000005
【図４】
2004054329.tif 000006
【図５】
2004054329.tif 000007
【図６】
2004054329.tif 000008
【図７】
2004054329.tif 000009
【図８】
2004054329.tif 000010
【図９】
2004054329.tif 000011
【図１０】
2004054329.tif 000012
【図１１】
2004054329.tif 000013
【図１２】
2004054329.tif 000014
【図１３】
2004054329.tif 000015
【図１４】
2004054329.tif 000016
【図１５】
2004054329.tif 000017
【図１６】
2004054329.tif 000018
【図１７】
2004054329.tif 000019
【図１８】
2004054329.tif 000020
【図１９】
2004054329.tif 000021
【図２０】
2004054329.tif 000022