(57)【特許請求の範囲】
【請求項１】
ＣＭＯＳ集積回路の論理シミュレーション中に現れたｎ個のスタンバイ状態のサイクルにおける各ｍ個のネットの状態を表すｍビットデータの中から、ｍビットデータを構成する全てのビットの値が少なくとも１回は“１”及び“０”となる組み合わせとなるｍビットデータの組み合わせを、ＩＤＤＱテスト用のサイクルとして選択抽出するＩＤＤＱテスト用サイクル選択抽出装置であって、
ｎ個のスタンバイ状態のサイクルにおけるｍビットデータを保存するデータ保存手段と、
所定のテストパターンを用いて実行したＣＭＯＳ集積回路の故障シミュレーションの結果に基づいて、テストパターンにより故障が検出されたネットを特定する故障シミュレーション手段と、
ｎ個のスタンバイ状態のサイクルにおける各ｍビットデータの内、故障シミュレーション手段により特定される、故障が検出されたネットに対応する位置のビットデータを、ＩＤＤＱテスト用サイクル選択抽出の処理対象外とする制御手段とを備えることを特徴とするＩＤＤＱテスト用サイクル選択抽出装置。
【請求項２】
更に、ｍビットデータを構成する各ビットに一対一に対応する、ｍ個のトグル済みフラグを記憶する記憶手段と、
ｍビットデータが順次与えられ、与えられたｍビットデータに基づいてトグル済みフラグを更新する更新手段であって、新たに与えられたｍビットデータと、その前に与えられたｍビットデータとに関し、未だトグル済みフラグのセットされていない位置のビットデータ同士の比較を行い、一方が“１”で他方が“０”のデータ値を持つビットデータについてはトグル済みフラグをセットするフラグ更新手段と、
データ保存手段に記憶するｎ個のｍビットデータの内、トグル済みフラグのセットされていない位置のビットデータ同士に着目し、互いのハミング距離の最も遠い２つのｍビットデータを選択し、選択した２つのｍビットデータを、第１及び第２のＩＤＤＱテスト用のサイクルのｍビットデータとして、順にフラグ更新手段に与える第１データ選択手段と、
フラグ更新手段によるトグル済みフラグの更新後、ｍビットデータの内、未だトグル済みフラグがセットされていないビットデータの位置を認識する認識手段と、
認識手段により未だトグル済みフラグがセットされていないと認識された位置のビットデータだけに着目して、既に選択抽出されたＩＤＤＱテスト用のサイクルのｍビットデータとのハミング距離が最も遠く、かつ、未だ選択されていないＩＤＤＱテスト用のサイクルのｍビットデータを、データ保存手段に保存されているｍビットデータ内から選択し、選択したｍビットデータを、新たなＩＤＤＱテスト用のサイクルのｍビットデータとして、フラグ更新手段に与える第２データ選択手段とを備え、
制御手段は、第１データ選択手段が２つのｍビットデータを選択する前に、故障シミュレーション手段により故障が検出されたネットに対応するビット位置のトグル済みフラグをセットしてＩＤＤＱテスト用サイクル選択抽出の処理対象外とすることを特徴とする請求項１記載のＩＤＤＱテスト用サイクル選択抽出装置。
【請求項３】
更に、ＣＭＯＳ集積回路の論理シミュレーションを実行する論理シミュレーション手段と、
論理シミュレーション手段によるシミュレーション実行時における動作サイクル毎に、当該サイクルに前記集積回路がスタンバイ状態にあるか否かを判断する判断手段と、
判断手段により最初にスタンバイ状態であると判断されたサイクルを第１のＩＤＤＱテスト用サイクルとして選択する第１サイクル選択手段と、
ｍビットのデータを構成する各ビットに一対一に対応するトグル済みフラグの記憶手段と、
第１サイクル選択手段による選択の後に、判断手段によりスタンバイ状態にあると判断されるサイクルの中から、上記選択された第１のＩＤＤＱテスト用のサイクルにおける上記ＣＭＯＳ集積回路内のｍ個のネットの状態を表すｍビットのデータの内、トグル済みフラグのセットされていないビットの位置のみに着目した場合に、ハミング距離が上記着目するビットの数に応じて決まるしきい値よりも大きなｍビットのデータを有する最初のサイクルを、第２のＩＤＤＱテスト用のサイクルとして選択する第２サイクル選択手段と、
第１及び第２サイクル選択手段により第１及び第２のＩＤＤＱテスト用として選択された２つのサイクルにおける回路内のｍ個のネットの状態を表す２つのｍビットデータを保存するデータ保存手段と、
ｍビットデータが順次与えられ、与えられたｍビットデータに基づいて、トグル済みフラグを更新する更新手段であって、新たに与えられたｍビットデータ及びその前に与えられたｍビットデータのトグル済みフラグのセットされていないビットのデータについて、ビット単位の比較を行い、一方が“１”で他方が“０”のデータ値を持つビットに対応するトグル済みフラグをセットするフラグ更新手段と、
データ保存手段に保存する２つのｍビットデータを第１及び第２の選択抽出データとして選択し、順にフラグ更新手段に与える第１データ選択手段と、
フラグ更新手段によるトグル済みフラグの更新後、未だトグル済みフラグがセットされていないビットデータの位置を認識する認識手段と、
既に選択したｍビットデータの内、認識手段により未だトグル済みフラグがセットされていないと認識されたビット位置のみに着目し、判断手段によりスタンバイ状態であると判断されたサイクルであって、上記着目するビット位置でのハミング距離が上記しきい値よりも大きいｍビットデータを示すサイクルを選択し、選択したサイクルのｍビットデータを、フラグ更新手段に与える第２データ選択手段とを備え、
制御手段は、第１データ選択手段による選択の前に、故障シミュレーション手段により故障が検出されたネットに対応するビット位置のトグル済みフラグをセットしてＩＤＤＱテスト用サイクル選択抽出の処理対象外とすることを特徴とする請求項１記載のＩＤＤＱテスト用サイクル選択抽出装置。
【請求項４】
第２データ選択手段は、トグル認識レジスタ内におけるトグル済みフラグが立ったビットの個数が所定値以上になった場合に、新たな選択抽出データとして選択したｍビットデータの上記フラグ更新手段への出力を停止することを特徴とする請求項２又は請求項３に記載のＩＤＤＱテスト用サイクル選択抽出装置。
【請求項５】
第２データ選択手段は、予め決めた数のＩＤＤＱテスト用のサイクルが選択抽出された場合に、新たな選択抽出データとして選択したｍビットデータの上記フラグ更新手段への出力を停止することを特徴とする請求項２又は請求項３に記載のＩＤＤＱテスト用サイクル選択抽出装置。
【請求項６】
コンピュータを、ＣＭＯＳ集積回路の論理シミュレーション中に現れたｎ個のスタンバイ状態のサイクルにおける各ｍ個のネットの状態を表すｍビットデータの中から、ｍビットデータを構成する全てのビットの値が少なくとも１回は“１”及び“０”となる組み合わせを選択抽出し、選択抽出したｍビットデータに対応するサイクルをＩＤＤＱテスト用のサイクルとして選択抽出する処理を実行するＩＤＤＱテスト用サイクル選択抽出装置として機能させる為のＩＤＤＱテスト用サイクル選択抽出処理プログラムを記録した記録媒体であって、
コンピュータを
上記ｎ個のスタンバイ状態のサイクルにおける各ｍ個のネットの状態を表すｍビットデータを保存するデータ保存手段と、
所定のテストパターンを用いて実行した上記ＣＭＯＳ集積回路の故障シミュレーションの結果に基づいて、テストパターンにより故障が検出されたネットを特定する故障シミュレーション手段と、
ｎ個のスタンバイ状態のサイクルにおける各ｍビットデータの内、故障シミュレーション手段により特定される、故障が検出されたネットに対応する位置のビットデータを、ＩＤＤＱテスト用サイクル選択抽出の処理対象外とする制御手段と、
して機能させるためのＩＤＤＱテスト用サイクル選択抽出処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、論理シミュレーションを利用して、半導体集積回路のＩDDQテスト用のサイクルを選択抽出する装置及び選択抽出の方法に関する。
【０００２】
【従来の技術】
ＣＭＯＳ集積回路の微細化、高集積化が進むにつれて、テスト工程の負担が急激に増加している。実際、テストパターンの数は年々増加している。厄介なことに、現在主流のファンクションテストでは発見しにくいタイプの新たな故障が増加する傾向にある。この新たな故障は、例えば、開放故障やスイッチング動作時の過渡状態でしか発生しない故障等である。
このため、上記ファンクションテストのみを実施した場合、上記新たな故障を含んでいるものが良品として出荷されてしまい、機器に組み込まれてしまうケースが増加しつつある。
【０００３】
上記のファンクションテストでは検出できない新たな故障を検出するための新たなテスト方法としてＩDDQテストが着目されている。ＩDDQテストは、スタンバイ状態にあるＣＭＯＳ集積回路に流れる微少な電源電流を測定し、その電流値の大小によって故障を検出するものである。これは、正常なＣＭＯＳ回路では、そのスタンバイ状態において、電源電流は僅かしか流れないことを利用するものである。即ち、スタンバイ状態においてＣＭＯＳ回路に多量の電流が流れる場合には、回路内に何らかの欠陥（故障）を含んでいることを意味する。通常の集積回路の動作時、その内部状態は時々刻々変化するが、動作中の各サイクルの内、スタンバイ状態を実現しているサイクルを検出し、検出したサイクルにおけるスタンバイ電流を測定することでＩDDQテストを実行することができる。
【０００４】
ところで、論理シミュレーションを使って、あるサイクルにおいてスタンバイ状態が実現されているかどうかを知る技術については周知である。例えば、特開平４−４４１７２号公報では、以下の４つの条件が満たされている時が電源電流を測定するべきスタンバイ状態であるとしている。
（１）複数のゲートの出力信号が競合する（バスコンフリクトの）状態でないこと。
（２）バスに接続されている全てのゲート出力がハイインピーダンス”Ｚ”の状態ではないこと。
（３）プルアップ付きのノードの論理値が”Ｈ”であること。
（４）プルダウン付きのノードの論理値が”Ｌ”であること。
【０００５】
【発明が解決しようとする課題】
テストの品質（＝そのテストによる故障検出能力）だけを考慮するならば、できるだけ多様な内部状態でのテストを行った方がよい。従って、スタンバイ状態が実現されている全てのサイクルについてテストを行うことが最も望ましい。しかし、実際には、テスト時間がそのまま製造コストに影響してくるため、テストの品質を一定のレベルに維持しつつ、できるだけテスト時間を短くすることが要求される。
【０００６】
また、ＩDDQテストは、電流を測定するものである。一般に電流測定は電圧測定よりも時間がかかるため、テスト時間を短くするには、電流の測定回数を減らすことが望まれる。それには、全スタンバイサイクルでテストするのではなく、テストの品質を維持するのに必要にして十分なスタンバイサイクルを選択抽出することが要求される。
【０００７】
既に述べたように、実際に製造された半導体集積回路に対して、その機能動作をテストするいわゆるファンクションテストは必ず実施される。ところが、このファンクションテストでは、検出される故障の一部は、当該ファンクションテストを補うために実施するＩDDQテストにおいても検出される場合がある。
【０００８】
しかし、従来のテスト装置は、このことについて何等考慮しておらず、ＩDDQテストにおいては、全ての故障をターゲットとしてテストサイクル（若しくはテストパターン）を選択・抽出する。このため、以下のような問題が生じる。
【０００９】
第１に半導体集積回路のテスト時間が不必要に長くなる。これは、そのまま半導体集積回路のコストアップにつながる。
第２にＩDDQテスト装置が１つの半導体集積回路に占有される時間が不必要に長くなる。これは半導体集積回路の開発期間、開発効率を悪化させ、結果的に半導体集積回路のコストアップにつながる。
【００１０】
本発明は、上記従来の装置の有する課題を解決すべくなされたものであり、ファンクションテストで検出されない故障のみをターゲットとする必要にして十分な数のＩDDQテスト用サイクルを迅速に選択・抽出する装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明の請求項１記載のＩＤＤＱテスト用サイクル選択抽出装置は、ＣＭＯＳ集積回路の論理シミュレーション中に現れたｎ個のスタンバイ状態のサイクルにおける各ｍ個のネットの状態を表すｍビットデータの中から、ｍビットデータを構成する全てのビットの値が少なくとも１回は“１”及び“０”となる組み合わせとなるｍビットデータの組み合わせを、ＩＤＤＱテスト用のサイクルとして選択抽出するＩＤＤＱテスト用サイクル選択抽出装置であって、ｎ個のスタンバイ状態のサイクルにおけるｍビットデータを保存するデータ保存手段と、所定のテストパターンを用いて実行したＣＭＯＳ集積回路の故障シミュレーションの結果に基づいて、テストパターンにより故障が検出されたネットを特定する故障シミュレーション手段と、ｎ個のスタンバイ状態のサイクルにおける各ｍビットデータの内、故障シミュレーション手段により特定される、故障が検出されたネットに対応する位置のビットデータを、ＩＤＤＱテスト用サイクル選択抽出の処理対象外とする制御手段とを備えることを特徴とする。
【００１２】
本発明の請求項２記載のＩＤＤＱテスト用サイクル選択抽出装置は、上記請求項１記載のＩＤＤＱテスト用サイクル選択抽出装置において、更に、ｍビットデータを構成する各ビットに一対一に対応する、ｍ個のトグル済みフラグを記憶する記憶手段と、ｍビットデータが順次与えられ、与えられたｍビットデータに基づいてトグル済みフラグを更新する更新手段であって、新たに与えられたｍビットデータと、その前に与えられたｍビットデータとに関し、未だトグル済みフラグのセットされていない位置のビットデータ同士の比較を行い、一方が“１”で他方が“０”のデータ値を持つビットデータについてはトグル済みフラグをセットするフラグ更新手段と、データ保存手段に記憶するｎ個のｍビットデータの内、トグル済みフラグのセットされていない位置のビットデータ同士に着目し、互いのハミング距離の最も遠い２つのｍビットデータを選択し、選択した２つのｍビットデータを、第１及び第２のＩＤＤＱテスト用のサイクルのｍビットデータとして、順にフラグ更新手段に与える第１データ選択手段と、フラグ更新手段によるトグル済みフラグの更新後、ｍビットデータの内、未だトグル済みフラグがセットされていないビットデータの位置を認識する認識手段と、認識手段により未だトグル済みフラグがセットされていないと認識された位置のビットデータだけに着目して、既に選択抽出されたＩＤＤＱテスト用のサイクルのｍビットデータとのハミング距離が最も遠く、かつ、未だ選択されていないＩＤＤＱテスト用のサイクルのｍビットデータを、データ保存手段に保存されているｍビットデータ内から選択し、選択したｍビットデータを、新たなＩＤＤＱテスト用のサイクルのｍビットデータとして、フラグ更新手段に与える第２データ選択手段とを備え、制御手段は、第１データ選択手段が２つのｍビットデータを選択する前に、故障シミュレーション手段により故障が検出されたネットに対応するビット位置のトグル済みフラグをセットしてＩＤＤＱテスト用サイクル選択抽出の処理対象外とすることを特徴とする。
【００１３】
請求項３記載のＩＤＤＱテスト用サイクル選択抽出装置は、請求項１記載のＩＤＤＱテスト用サイクル選択抽出装置において、更に、ＣＭＯＳ集積回路の論理シミュレーションを実行する論理シミュレーション手段と、論理シミュレーション手段によるシミュレーション実行時における動作サイクル毎に、当該サイクルに前記集積回路がスタンバイ状態にあるか否かを判断する判断手段と、判断手段により最初にスタンバイ状態であると判断されたサイクルを第１のＩＤＤＱテスト用サイクルとして選択する第１サイクル選択手段と、ｍビットのデータを構成する各ビットに一対一に対応するトグル済みフラグの記憶手段と、第１サイクル選択手段による選択の後に、判断手段によりスタンバイ状態にあると判断されるサイクルの中から、上記選択された第１のＩＤＤＱテスト用のサイクルにおける上記ＣＭＯＳ集積回路内のｍ個のネットの状態を表すｍビットのデータの内、トグル済みフラグのセットされていないビットの位置のみに着目した場合に、ハミング距離が上記着目するビットの数に応じて決まるしきい値よりも大きなｍビットのデータを有する最初のサイクルを、第２のＩＤＤＱテスト用のサイクルとして選択する第２サイクル選択手段と、第１及び第２サイクル選択手段により第１及び第２のＩＤＤＱテスト用として選択された２つのサイクルにおける回路内のｍ個のネットの状態を表す２つのｍビットデータを保存するデータ保存手段と、ｍビットデータが順次与えられ、与えられたｍビットデータに基づいて、トグル済みフラグを更新する更新手段であって、新たに与えられたｍビットデータ及びその前に与えられたｍビットデータのトグル済みフラグのセットされていないビットのデータについて、ビット単位の比較を行い、一方が“１”で他方が“０”のデータ値を持つビットに対応するトグル済みフラグをセットするフラグ更新手段と、データ保存手段に保存する２つのｍビットデータを第１及び第２の選択抽出データとして選択し、順にフラグ更新手段に与える第１データ選択手段と、フラグ更新手段によるトグル済みフラグの更新後、未だトグル済みフラグがセットされていないビットデータの位置を認識する認識手段と、既に選択したｍビットデータの内、認識手段により未だトグル済みフラグがセットされていないと認識されたビット位置のみに着目し、判断手段によりスタンバイ状態であると判断されたサイクルであって、上記着目するビット位置でのハミング距離が上記しきい値よりも大きいｍビットデータを示すサイクルを選択し、選択したサイクルのｍビットデータを、フラグ更新手段に与える第２データ選択手段とを備え、制御手段は、第１データ選択手段による選択の前に、故障シミュレーション手段により故障が検出されたネットに対応するビット位置のトグル済みフラグをセットしてＩＤＤＱテスト用サイクル選択抽出の処理対象外とすることを特徴とする。
【００１４】
請求項４記載のＩＤＤＱテスト用サイクル選択抽出装置は、請求項２又は請求項３に記載のＩＤＤＱテスト用サイクル選択抽出装置において、第２データ選択手段は、トグル認識レジスタ内におけるトグル済みフラグが立ったビットの個数が所定値以上になった場合に、新たな選択抽出データとして選択したｍビットデータの上記フラグ更新手段への出力を停止することを特徴とする。
【００１５】
請求項５記載のＩＤＤＱテスト用サイクル選択抽出装置は、請求項２又は請求項３に記載のＩＤＤＱテスト用サイクル抽出装置において、第２データ選択手段は、予め決めた数のＩＤＤＱテスト用のサイクルが選択抽出された場合に、新たな選択抽出データとして選択したｍビットデータの上記フラグ更新手段への出力を停止することを特徴とする。
【００１６】
なお、上記課題を解決するため、コンピュータを請求項１記載のＩＤＤＱテスト用サイクル選択抽出装置として機能させるプログラム、を記録した記録媒体を提供してもよい。
【００１７】
【発明の実施の形態】
本発明のＩDDQテスト用サイクルの選択装置は、ファンクションテストでは検出できない故障のみをターゲットとしてＩDDQテストを実行することを特徴とする。
以下、上記特徴を具備するＩDDQテスト用サイクル選択抽出装置の実施の形態について、添付の図面を用いて説明する。
【００１８】
（１）実施の形態１
(1-1)機能ブロック
図１は、実施の形態１にかかるＩDDQテスト用サイクル選択抽出装置１５０のブロック構成図である。
外部装置として設けられている論理シミュレーション装置１００は、所定のハードウェア記述言語を用いて記述されたＣＭＯＳ集積回路の論理シミュレーションを実行し、論理シミュレーションの結果より得られるスタンバイサイクルについての情報、及び、当該論理回路の内部ネットに関する情報をＩDDQテスト用サイクル選択抽出装置１５０へと出力する。
【００１９】
また、同様に外部装置として設けられている故障シミュレーション装置１１０は、所定のテストパターンを用いて故障シミュレーションを実行し、どこのネットにおいてどのような故障（”０”縮退故障又は”１”縮退故障）が検出されるのか、又は、どのネットではどのような故障を検出できないのかといった情報を未検出故障データ格納部１５７に出力する。なお、所定のテストパターンを用いて実行した故障シミュレーションの結果に基づいて特定される故障は、同じテストパターンを用いて行うファンクションテストにより検出される故障と同じである。
【００２０】
ＩDDQテスト用サイクル選択抽出装置１５０内部において、データ編集部１５１は、論理シミュレーション装置１００より送られてくる論理シミュレーションの結果、及び、スタンバイサイクルについての情報から、回路内に全部でＭ個ある内部ネットの内、ＩDDQテスト用サイクルの選択抽出処理の対象として取り扱うｍ個の内部ネットを特定し、特定した各ネットの信号状態を表すｍビットデータを出力する。論理シミュレーション中にスタンバイサイクルがｎ回現れる場合、上記ｍビットデータはｎ個出力される。
【００２１】
ここで、データ編集部１５１では上記Ｍ個全ての内部ネットを、ＩDDQテスト用サイクルの選択抽出処理の対象として取り扱うこととしてもよいし、インバータやバッファ等、入力と出力が一対一に対応している素子については、その入出力ネットの何れか一方だけを、ＩDDQテスト用サイクルの選択抽出処理の対象として取り扱うこととしてもよい。
【００２２】
また、ＩDDQテスト用サイクルの選択抽出処理の対象として取り扱う内部ネットは、操作者の設定に基づいて直接指定してもよいし、所定の規則に基づき区画される単位（機能ブロック、階層構造、電源系統）で指定してもよい。論理回路内に存在するＭ個の内部ネットは、論理シミュレーション装置１００内部に備える当該論理回路の記述データに基づいて特定することができる。なお、データ編集部１５１は、論理シミュレーション装置１００内部に設けられていてもよい。
【００２３】
ｍビットデータ格納部１５２は、データ編集部１５１より出力されるｍビットのデータを格納する。
【００２４】
処理終了条件入力部１５３は、ＩDDQテスト用サイクル選択抽出部１５４において実行するＩDDQテスト用サイクルの選択抽出条件、及び、処理終了条件を外部より設定するためのマン・マシンインターフェースである。
【００２５】
未検出故障認識及びトグル認識レジスタ設定部１５６は、未検出故障データ格納部１５７に格納されている各ネットにおける故障についての情報に基づいて、トグル認識レジスタの設定を行う。後に詳しく説明するが、このトグル認識レジスタは、上記データ編集部１５１で処理対象として取り扱うとしたｍ個の内部ネットの状態を表すｍビットデータの各ビットが”１”及び”０”となったか否かを示すトグル済みフラグ及び未だ”１”及び”０”となっていないデータの値を記憶しておくものである。未検出故障認識及びトグル認識レジスタ設定部１５６は、未検出故障データ格納部１５７に格納されているデータに基づいてファンクションテストで故障の検出できるネットの対応するビットのトグル済みフラグを予め”１”にセットする。
【００２６】
ｍビットデータ格納部１５２には、テスト対象の回路におけるｍ個のネットの状態を表すｍビットデータが、スタンバイサイクルの個数（ｎ個）分格納されている。これらｎ個のｍビットデータの中から、ｍビットデータを構成する各ビットの値が少なくとも１回は”１”及び”０”となる最小の組み合わせを選択抽出する。なお、上記選択抽出処理を行う際、上記データ編集部１５１において特定したｍ個のネットの内、後に実行するファンクションテストで故障の検出されるネットをテストサイクル選択抽出処理の対象外とする。このように同一のネットに対して２重に故障検出が行われるのを排除してＩDDQテストに要する時間を短縮する。
【００２７】
印刷・表示部１５５は、上記ＩDDQテスト用サイクル選択抽出部１５４により選択抽出された各サイクルについて、論理シミュレーションの開始より何番目のサイクルであるのかを表す情報を印刷または表示する。
【００２８】
(1-2)ハードウェア構成
図２は、ＩDDQテスト用サイクルの選択抽出装置１５０のハードウェア構成を示す図である。本装置１５０は、キーボード２００、マウス２０１、記憶装置２０２、データ処理装置２０３、ディスプレイ２０４、及び、プリンタ２０５より構成される。
【００２９】
キーボード２００及びマウス２０１は、図１に示した処理終了条件入力部１５３として機能する。
記憶装置２０２は、図１に示したｍビットデータ格納部１５２及び未検出故障データ格納部１５７として機能する。
データ処理装置２０３は、中央演算処理装置（ＣＰＵ）、及び、ＩDDQテスト用サイクル選択抽出処理プログラムや必要なデータを格納するメモリより構成される。データ処理装置２０３を構成する中央演算処理部は、ＩDDQテスト用サイクル選択抽出処理プログラムを実行することにより、図１に示したデータ編集部１５１、ＩDDQテスト用サイクルの選択抽出部１５４、及び、未検出故障認識及びトグル認識レジスタ設定部１５６として機能する。
ディスプレイ２０４及びプリンタ２０５は、図１に示した印刷・表示部１５５として機能する。
【００３０】
(1-3)ＩDDQテスト用サイクルの選択抽出処理
図３は、データ処理装置２０３の実行するＩDDQテスト用サイクルの選択抽出処理のフローチャートである。以下、このフローチャートを参照しつつＩDDQテスト用サイクルの選択抽出処理について説明する。
【００３１】
まず、論理シミュレーション装置１００より送られてくる処理対象のＣＭＯＳ集積回路の内部ネットについての情報に基づいて、ＩDDQテスト用サイクルの選択抽出処理の対象として取り扱うｍ個のネットを特定する（ステップＳ１）。ここで、上記Ｍ個全ての内部ネットを、ＩDDQテスト用サイクルの選択抽出処理の対象として取り扱うこととしてもよいし、インバータやバッファ等、入力と出力が一対一に対応している素子については、その入出力ネットの何れか一方だけを、ＩDDQテスト用サイクルの選択抽出処理の対象として取り扱うこととしてもよい。また、ＩDDQテスト用サイクルの選択抽出処理の対象として取り扱う内部ネットは、操作者の設定に基づいて直接指定してもよいし、所定の規則に基づき区画される単位（機能ブロック、階層構造、電源系統）で指定してもよい。
【００３２】
処理対象のＣＭＯＳ集積回路に対する論理シミュレーションの結果より、上記ステップＳ１において特定されたｍ個の内部ネットについて、動作サイクル（その数は回路の規模などにより変動する）中に存在したｎ個のスタンバイ状態の全サイクルを検出し、検出したサイクルにおける各ネットの論理値を所定の順序で並べてｍビットのデータとした後に、記憶装置２０２に保存する（ステップＳ２）。
【００３３】
なお、上記ｎ個のｍビットのデータは、論理シミュレーションの開始から何番目の動作サイクルであるのかを特定するデータと共に、以下の処理の便宜のため、出現タイミングの早いものから順に第１〜第ｎの識別番号を付して記憶装置２０２に保存しておく。
なお、ある動作サイクルにおいてスタンバイ状態が実現されているか否かを判断する技術については、周知であるため（例えば、特開平４−４４１７２号公報）、ここでの説明は省略する。
【００３４】
次に、トグル認識レジスタの設定を行う（ステップＳ３）。トグル認識レジスタは、図４に示すように各々ｍビット（最大でＭビットである）のトグル済みフラグ記憶部２５０と未トグルデータ記憶部２５１を並べてなる合計で２×ｍビットのレジスタであり、データ処理装置２０３内に備えるメモリを用いて実現される。上記トグル済みフラグ記憶部２５０に記憶するトグル済みフラグは、ビットデータが”０”及び”１”の値をとり、トグル済みであると判断された場合に”１”にセットされるフラグである。また、上記未トグルデータ記憶部２５１は、トグルが未だ済んでいないビット位置のデータ値を記憶する。
上記ステップＳ３では、後に実行するファンクションテストにより検出される故障がＩDDQテストの対象外になるように、トグル済みフラグ記憶部２５０及び未トグルデータ記憶部２５１の各値を設定する。例えば、所定のテストパターンを用いて行った故障シミュレーションの結果より”０”縮退故障及び”１”縮退故障の両方の故障が検出されたネットについて、対応するトグル済みフラグの値を”１”にセットする。
なお、当該処理の内容については、後に詳しく説明する。
【００３５】
既に選択したｍビットデータの内、トグル認識レジスタ内のトグル済みフラグ記憶部２５０に記憶されているフラグの値が”０”であって、かつ、未トグルデータ記憶部２５１に記憶されているデータの値が”０”又は”１”のデータ（以下、未トグルデータという）に着目する。
この未トグルデータと、未だ選択抽出されていない複数の各ｍビットデータの中から上記未トグルデータに対応するビット位置のデータを並べて構成されるデータについて、ハミング距離の最も大きなｍビットデータを選択抽出する（ステップＳ４）。
【００３６】
上記ステップＳ４における処理の内容について補足説明する。例えば、上記トグル認識レジスタの設定（ステップＳ３）において設定されたトグル済みフラグ記憶部２５０の内容が”１１１１…０００”であり、未トグルデータ記憶部２５１の内容が”ＸＸＸＸ…００１”（但し、Ｘは未確定なデータを表す）である場合を想定する。なお、該当するビットが未確定データＸであるといった情報は、データ処理装置２０３内に備えるメモリに記録しておく。
ここで、説明の便宜のため、”…”の部分のデータについては全てトグル済みフラグが”１”であると仮定すると、未トグルデータは３ビットのデータ”００１”となる。
上記ステップＳ４においては、上記未トグルデータ”００１”について、同じく対応するビット位置のデータを並べて構成される３ビットのデータとのハミング距離が最も大きくなるｍビットデータを、未だ選択抽出されていない複数のｍビットデータの中から選択抽出する。例えば、”△△△△…１１０”（但し、△は任意のデータ）のようなｍビットデータが存在する場合には、このｍビットデータを選択抽出する。
【００３７】
上記ステップＳ４において選択抽出したｍビットデータとの比較を行い、上記残りのビットに関してトグル認識レジスタ内のトグル済みフラグ記憶部２５０の対応するビットのフラグの値を更新する（ステップＳ５）。なお、この更新時に未確定データＸであったビットの値を、ステップＳ４において選択抽出したｍビットデータの該当するビットの値とする。トグル認識レジスタ内のトグル済みフラグ記憶部２５０に記憶するトグル済みフラグの内、未だ１にセットされていないビットが存在するか、ｎ個のｍビットデータの内、未だ選択抽出されていないｍビットデータが存在する場合であって（ステップＳ６でＹＥＳ）、更に操作者により指定された処理終了条件が満足されていない場合には（ステップＳ７でＮＯ）、ステップＳ４に戻り処理を継続する。
【００３８】
他方、トグル認識レジスタ内のトグル済みフラグ２５０に記憶するトグル済みフラグの全ての値が１にセットされている場合、又は、ｎ個あるｍビットデータの全てが選択抽出された場合（ステップＳ６でＮＯ）、処理を終了して、処理結果の出力処理を実行するステップＳ８へと進む。
また、上記ステップＳ６でＹＥＳの場合であっても、キーボード１００又はマウス１０１の入力部を介して操作者により指定された所定の処理終了条件が満足された場合には（ステップＳ７でＹＥＳ）、処理結果の出力を実行するステップＳ８へと進む。ステップＳ８では、選択抽出したサイクルを全てＩDDQテスト用サイクルとして、これらのサイクルが論理シミュレーションの開始から何番目の動作サイクルであるのかを特定する情報（データ）をディスプレイ１０４に表示出力すると共に、プリンタ１０５により印刷出力を行う。
【００３９】
(1-4)トグル認識レジスタの設定処理
図５は、トグル認識レジスタの設定処理（図３、ステップＳ３）のフローチャートである。また図６は、トグル認識レジスタの設定の一例について示す図である。以下、図６を参照しつつ当該処理内容についてフローに従って説明する。
【００４０】
まず、トグル認識レジスタの初期化を行う（ステップＳ３１）。この初期化では、トグル済みフラグ記憶部２５０及び未トグルデータ記憶部２５１の各ｍビットデータの全てを未確定データＸに設定する（図６の（ａ）を参照）。なお、データ処理装置２０３に備えるメモリには、各ビット毎に未確定データＸであるか否かの情報を記憶しておく。
【００４１】
次に、所定のテストパターンを用いて実行した故障シミュレーションの結果を未検出故障データ格納部１５７より読み出す（ステップＳ３２）。上記読み出したデータより、”０”縮退故障（stuck-at-0 fault）及び”１”縮退故障（stuck-at-1 fault）の両方が検出されているネットについては、ＩDDQテストで再度故障検出を行う必要がないため、トグル済みフラグの値を”１”にセットする（ステップＳ３３）。例えば、図６の（ａ）に示す状態において、ｍビットデータの上位第１及び第２ビットがこれに該当する場合、トグル済みフラグ記憶部２５０の中のこれらに対応するビットの値を”１”にセットする（図６の（ｂ）を参照）。なお、上記未トグルデータ記憶部２５１の第１及び第２ビットの値については未確定Ｘのままとする。
【００４２】
上記ステップＳ３２において読み出したデータより、”０”縮退故障及び”１”縮退故障の何れも検出されていないネットについては、該ネットを”０”及び”１”にした状態でのＩDDQテストを行う必要があるため、対応する未トグルデータの値を未確定データＸにした状態で、対応するビットのトグル済みフラグの値を”０”にセットする（ステップＳ３４）。例えば、図６の（ｂ）に示す状態において、ｍビットデータの上位第３及び第４ビットがこれに該当する場合、これらのビットのトグル済みフラグの値を”０”にセットする（図６の（ｃ）を参照）。
【００４３】
上記ステップＳ３２において読み出したデータより、”０”縮退故障のみが検出されるネットについては、”１”縮退故障を検出するために該ネットを”０”にセットした状態でのＩDDQテストが必要であり、対応するビットのデータの値を”１”にセットすると共に、対応するビットのトグル済みフラグの値を”０”にセットする（ステップＳ３５）。例えば、図６の（ｃ）に示す状態において、ｍビットデータの下位第３ビット目のデータがこれに該当する場合において、これらのビットのデータを”１”にセットすると共に、トグル済みフラグの値”０”にセットする（図６の（ｄ）を参照）。
【００４４】
上記ステップＳ３２において読み出したデータより、”１”縮退故障のみが検出されたネットについては、”０”縮退故障を検出するために該ネットを”１”にセットした状態でのＩDDQテストが必要であり、対応するビットのデータの値を”０”にセットすると共に、対応するビットのトグル済みフラグの値を”０”にセットする（ステップＳ３６）。例えば、図６の（ｄ）に示す状態において、ｍビットデータの下位第１及び第２ビット目のデータがこれに該当する場合において、これらのビットのデータを”０”にセットすると共に、トグル済みフラグの値”０”にセットする（図６の（ｅ）を参照）。
【００４５】
以上の処理を実行することで、故障シミュレーションの結果より特定される故障以外の故障をターゲットとするトグル認識レジスタが設定される。
【００４６】
(1-5)具体例
図７は、ネット数がｍのＣＭＯＳ集積回路に対して論理シミュレーションを実行し、合計で１０個のスタンバイ状態が検出された場合に記憶装置２０２に保存される１０個のｍビットデータに対して、上記図３を用いて説明したＩDDQテスト用のサイクルの選択抽出処理を実行した場合の処理内容を説明するための図である。
【００４７】
上記図３に示したフローチャートのステップＳ３において設定されたトグル認識レジスタが（ａ）に示す状態である場合を想定する。この場合、次に実行するステップＳ４の処理においては、トグル済みフラグが”０”であって、データが”０”又は”１”のビットを並べてなる未トグルデータ”０１…１００”と、該当するビットを並べてなるデータとのハミング距離が最も大きくなるｍビットデータを選択する。本例の場合、識別番号ｎ＝５のｍビットデータを選択する。ステップＳ５におけるトグル認識フラグの更新により、更新後のトグル認識フラグは（ｂ）に示す状態になる。なお、この場合において、未確定データＸであったビットの値は、識別番号ｎ＝５のｍビットデータの該当するビットの値に置き換える。
【００４８】
（ｂ）に示す状態では、未だ、トグル済みフラグの”０”の未トグルデータが残っている（ステップＳ６でＹＥＳ）。この場合において、ユーザ指定の終了条件が満たされていない場合には（ステップＳ７でＮＯ）、引き続き、ｍビットデータの選択処理（ステップＳ４）及びトグル認識レジスタの更新処理（ステップＳ５）を繰り返し実行する。（ｂ）に示す状態において、トグル済みフラグが”０”であって、未トグルデータが”０”又は”１”のビットを並べてなるデータ”１０”と、該当するビットを並べてなるデータとのハミング距離が最も大きくなるｍビットデータは、識別番号ｎ＝６のｍビットデータである。ステップＳ４では、識別番号ｎ＝６のｍビットデータを選択する。このデータを選択抽出することにより（ｃ）に示すように、トグル認識レジスタ内のトグル済みフラグ記憶部２５０の全てのビットの値が”１”にセットされる。
【００４９】
このようにトグル認識レジスタ内のトグル済みフラグ記憶部２５０のｍビット全ての値が”１”にセットされた場合に、これら２つのｍビットデータに対応するサイクルをＩDDQテスト用のサイクルとして選択抽出し、論理シミュレーションの開始から何番目のサイクルであるのかを示す情報（データ）をディスプレイ２０４に表示すると共に、プリンタ２０５により印刷出力を行う。
【００５０】
以上に説明したように、実施の形態１にかかるＩDDQテスト用サイクル選択抽出装置によれば、論理シミュレーション装置１００によるシミュレーションの実行により得られるｎ個のスタンバイサイクルにおける回路内のｍ個のネットの内、ファンクションテストで故障の検出されるα個のネットのデータを処理対象外とし、残りのｍ−α個のネットの状態を表すビットデータを構成する各ビットの値が少なくとも１回は１及び０となる最小の組み合わせを正確かつ迅速に選択抽出し、当該選択抽出したｍビットデータに対応するサイクルをＩDDQテスト用のサイクルとして選択抽出することができる。
【００５１】
（２）実施の形態２
上記本発明の実施の形態１にかかる装置では、まず、論理シミュレーション装置１００によるＣＭＯＳ集積回路の論理シミュレーションを実行した後にＩDDQテスト用のサイクルの検出処理を実行した。これに対して実施の形態２にかかる装置では、ＣＭＯＳ集積回路に対する論理シミュレーションの実行に連動して、ＩDDQテスト用のサイクルを検出することを特徴とする。
【００５２】
(2-1)機能ブロック
図８は、実施の形態２にかかるＩDDQテスト用サイクル選択抽出装置３００のブロック構成図である。論理シミュレーション部３０１は、以下に説明するテスト用サイクル選択抽出部３０３によるタイミング制御に基づいて、所定のハードウェア記述言語で記述されたＣＭＯＳ集積回路の論理シミュレーションを実行し、１サイクル毎のシミュレーション結果を出力する。
【００５３】
データ編集部３０２は、論理シミュレーション部３０１より送られてくる論理シミュレーションの結果及びＣＭＯＳ集積回路の情報から、スタンバイサイクルにおいて、全部でＭ個ある内部ネットの内、有効に取り扱うｍ個の内部ネットを特定し、特定した各ネットの信号状態を表すｍビットデータを出力する。なお、このデータ編集部３０２は、上記実施の形態１のＩDDQテスト用サイクル選択抽出装置１５０内に備えられるデータ編集部１５１と同じ処理を実行するものであり、ここでの重複した説明は省略する。
【００５４】
テスト用サイクル選択抽出部３０３は、データ編集部３０２を介して送られてくるスタンバイサイクルのｍビットデータが、直前に選択抽出したサイクルのｍビットデータと、ハミング距離に関して所定の条件を満足する場合にのみ、当該サイクルをＩDDQテスト用のサイクルとして選択する。テスト用サイクル選択抽出部３０３は、この判断を行った後に、論理シミュレーション部３０１に対して、次のサイクルのシミュレーションを実行させる。
【００５５】
処理終了条件入力部３０４は、上記テスト用サイクル選択抽出部３０３において実行するＩDDQテスト用サイクルの選択抽出条件、及び、処理終了条件を外部より設定するためのマン・マシンインターフェースである。
【００５６】
故障シミュレーション部３０７は、所定のテストパターンを用いて実行した故障シミュレーションの結果に基づいて、上記所定のテストパターンによりどこのネットにおいてどのような故障（”０”縮退故障又は”１”縮退故障）が検出されるのか、又は、どのネットではどのような故障を検出できないのかといった情報を未検出故障データ格納部３０６に出力する。
なお、故障シミュレーション部３０７は、図１に示した故障シミュレーション装置１１０と同じである。また、未検出故障データ格納部３０６は、上記実施の形態１のＩDDQテスト用サイクル選択抽出装置１５０内の未検出故障データ格納部１５７と同じである。
【００５７】
テスト用サイクル選択抽出部３０３において上記選択抽出処理を行う際には、ファンクションテストで検出される故障をテストサイクル選択抽出処理の対象外とする。このように、同一の故障に対して２重に故障検出が行われるのを排除してＩDDQテストに要する時間を短縮する。
【００５８】
未検出故障認識及びトグル認識レジスタ設定部３０５は、未検出故障データ格納部３０６に格納されている各ネットにおける故障についての情報に基づいて、トグル認識レジスタの設定を行う。トグル認識レジスタの設定処理の内容は、上記実施の形態１のＩDDQテスト用サイクル選択抽出装置１５０内の備えられる未検出故障認識及びトグル認識レジスタ設定部１５６と同じ処理を実行するものであり、ここでの重複した説明は省略する。
【００５９】
印刷・表示部３０８は、上記テスト用サイクル選択抽出部３０３により選択抽出された各サイクルについて、論理シミュレーションの開始より何番目のサイクルであるのかを表す情報を印刷又は表示する。
【００６０】
(2-2)ハードウェア構成
図９は、ＩDDQテスト用サイクル選択抽出装置３００のハードウェア構成を示す図である。本装置３００は、キーボード４００、マウス４０１、記憶装置４０２、データ処理装置４０３、ディスプレイ４０４、及び、プリンタ４０５より構成される。
【００６１】
キーボード４００及びマウス４０１は、図８に示した処理終了条件入力部３０４として機能する。記憶装置４０２は、図８に示した未検出故障データ格納部３０６として機能する。データ処理装置４０３は、中央演算処理装置（ＣＰＵ）及びプログラムを格納するメモリより構成され、中央演算処理部がメモリに書き込まれているＩDDQテスト用サイクル選択抽出処理プログラムを実行することで、図８に示したデータ編集部３０２、ＩDDQテスト用サイクルの選択抽出部３０３、及び、未検出故障認識及びトグル認識レジスタ設定部３０５として機能する。ディスプレイ４０４及びプリンタ４０５は、図８に示した印刷・表示部１５５として機能する。
【００６２】
また、データ処理装置４０３の備えるメモリには、論理シミュレーションプログラム及び故障シミュレーションのプログラムが格納されている。データ処理装置４０３の備えるＣＰＵは、必要に応じてこれらのプログラムを実行する。
【００６３】
(2-3)ＩDDQテスト用サイクルの選択抽出処理
図１０は、データ処理装置４０３の実行するＩDDQテスト用サイクル選択抽出処理のフローチャートである。以下、本フローチャートに従ってＩDDQテスト用のサイクルの選択抽出処理について説明する。
【００６４】
まず、論理シミュレーション部３０１によるＣＭＯＳ集積回路の論理シミュレーションを開始し、各動作サイクルにおける各ネットの状態より最初のスタンバイ状態を検出する（ステップＳ６０）。論理シミュレーション部３０１から送られてくるＣＭＯＳ集積回路の内部ネットについての情報に基づいて、有効に取り扱うｍ個のネットを特定し、各ネットの論理値を所定の順序で並べてｍビットのデータとして出力する（ステップＳ６１）。なお、この処理内容は、上記実施の形態１のデータ処理装置２０３の実行するステップＳ１の処理と同じであり、ここでの重複した説明は省く。
【００６５】
所定のテストパターンを用いて故障シミュレーションを実行し、どのネットにおいてどんな故障（”０”縮退故障又は”１”縮退故障）が検出されたのか、又は、どのネットではどんな故障を検出することができなかったのかといった情報を取得する（ステップＳ６２）。
【００６６】
故障シミュレーションの実行後、トグル認識レジスタの設定を行う（ステップＳ６３）。ここでは、ファンクションテストにより検出される故障をＩDDQテストの対象外とするため、トグル済みフラグ記憶部及び未トグルデータ記憶部の各値を設定する。例えば、所定のテストパターンを用いた故障シミュレーションの結果より”０”縮退故障及び”１”縮退故障の両方の故障が検出されたネットについては、対応するトグル済みフラグの値を”１”にセットする。
なお、このトグル認識レジスタの構成は、実施の形態１のＩDDQテスト用サイクル選択抽出装置１５０が用いるものと同じであり、図４に示すようにトグル済みフラグ記憶部２５０及び未トグルデータ記憶部２５１よりなり、データ処理装置４０３内に備えるメモリを用いて実現される。上記ステップＳ６３において実行するトグル認識レジスタの設定処理は、図５及び図６を用いて説明したトグル認識レジスタの設定（図３、ステップＳ３）と同じであるため、ここでの重複した説明は省く。
【００６７】
最初に検出されたスタンバイ状態におけるサイクルを第１のＩDDQテスト用のサイクルとし、論理シミュレーションの開始より何番目のサイクルであるのかを特定する情報、第１番目にＩDDQテスト用のサイクルとして選択抽出されたことを表すデータ、及び、このサイクルにおける各ネットの論理値を所定の順序で並べて表したｍビットのデータを記憶装置４０２に保存すると共に、トグル認識レジスタ内に記憶するトグル済みフラグ及び未トグルデータの値を更新する（ステップＳ６４）。
【００６８】
この後、論理シミュレーションを続行して１サイクル分時計を進め（ステップＳ６５）、次のサイクルがスタンバイ状態であるか否かについての判断を行う（ステップＳ６６）。ここで、論理シミュレーションを実行したサイクルがスタンバイサイクルでない場合（ステップＳ６６でＮＯ）、上記ステップＳ６５に戻り、次のサイクルについての論理シミュレーションを実行する。
【００６９】
論理シミュレーションを実行したサイクルがスタンバイサイクルの場合（ステップＳ６６でＹＥＳ）、当該サイクルにおけるｍビットデータと、１つ前のタイミングでＩDDQテスト用のサイクルであるとして選択抽出されたサイクルのｍビットデータについて、トグル済みフラグの値が”０”のビット位置のデータに着目した場合のハミング距離が所定の基準値以上であるか否かについての判断を行う（ステップＳ６７）。
【００７０】
ここで、ハミング距離が所定値以上でない場合（ステップＳ６７でＮＯ）、上記ステップＳ６５に戻り、次のサイクルについての論理シミュレーションを実行する。なお、上記所定の基準値は、ｍビットデータの内、トグル済みフラグが”０”のビットの数に応じて、所定の規則に従い変更する。例えば、トグル済みフラグが”０”のビット数がｐ（但し、ｍ≧ｐ）である場合、上記所定の基準値をｐ−２（但し、ｐ≦２の場合には１）に設定する。
【００７１】
一方、当該サイクルがスタンバイ状態にあると判断された場合であって（ステップＳ６６でＹＥＳ）、ハミング距離が上記所定の基準値以上の場合には（ステップＳ６７でＹＥＳ）、当該サイクルを次のＩDDQテスト用のサイクルとして選択抽出し、当該サイクルが論理シミュレーションの開始より何番目のサイクルであるのかを特定するデータ、第１番目にＩDDQテスト用のサイクルとして選択抽出されたことを表すデータ、及び、このサイクルにおける各ネットの論理値を所定の順序で並べて表したｍビットのデータを記憶装置２０２に保存する（ステップＳ６８）。
【００７２】
トグル済みフラグの値が”０”のビット位置のデータに着目し、上記ステップＳ６８で選択したＩDDQテスト用のサイクルにおけるｍビットデータと、その直前に選択したｍビットデータとの比較を行い、トグル済みフラグの更新を行う（ステップＳ６９）。
未処理のサイクルが存在する場合、又は、トグル済みフラグに”０”にセットされているビットが未だ存在している場合であって（ステップＳ７０でＹＥＳ）、操作者により設定された終了条件を未だ満足していない場合（ステップＳ７１でＮＯ）、上記ステップＳ６５に戻り、次のサイクルについての処理を行う。
【００７３】
一方、全てのサイクルに対する処理が終了した場合、又は、トグル済みフラグの全てが”１”にセットされた場合には（ステップＳ７０でＮＯ）、処理を終了し、ディスプレイ２０４及びプリンタ２０５等へ処理結果を出力するステップＳ７２へと進む。また、未処理サイクルが残っている場合、又は、トグル済みフラグに”０”にセットされているビットが残存している場合であっても（ステップＳ７０でＹＥＳ）、操作者が指定した終了条件を満足した場合には（ステップＳ７１でＹＥＳ）、処理を終了し、ディスプレイ２０４及びプリンタ２０５等へ処理結果を出力するステップＳ７２へと進む。ステップＳ７２では、記憶装置２０２に保存したＩDDQテスト用の各サイクルについて、論理シミュレーションの開始から何番目の動作サイクルであるのかを特定する情報（データ）をディスプレイ２０４に表示出力すると共に、プリンタ２０５により印刷出力する。
【００７４】
以上に説明したように、実施の形態２にかかるＩDDQテスト用サイクルの選択抽出装置３００は、上記実施の形態１のＩDDQテスト用サイクルの選択抽出装置１５０と同様にファンクションテストで検出される故障を処理対象外とすることで、短時間で必要十分な数のＩDDQテスト用サイクルを選択抽出することができる。
また、実施の形態２にかかるＩDDQテスト用サイクルの選択抽出装置３００は、論理シミュレーション部３０１における論理シミュレーションの実行に連動してＩDDQテスト用のサイクルを選択抽出するため、論理シミュレーションの終了と共に、ＩDDQテスト用サイクルの選択処理を終了する。これにより、実施の形態１にかかるＩDDQテスト用サイクルの選択抽出装置１５０に比べて処理に要する時間を短くすることができる。
【００７５】
【発明の効果】
請求項１記載のＩＤＤＱテスト用サイクル選択抽出装置、及び、請求項６記載の記録媒体に記録得してあるプログラムを実行することによりコンピュータ上に実現されるＩＤＤＱテスト用サイクル選択抽出装置では、所定のテストパターンを用いた故障シミュレーションの結果より、ｎ個のスタンバイ状態のサイクルにおける各ｍビットデータの内、故障シミュレーション手段により特定される、故障が検出されたネットに対応する位置のビットデータを、ＩＤＤＱテスト用サイクル選択抽出の処理対象外とすることで、効果的にＩＤＤＱテスト用サイクルの選択を行い、使用するｍビットデータの数を低減し、テストに要する時間を短縮することができる。
【００７６】
請求項２記載のＩＤＤＱテスト用サイクル選択抽出装置は、請求項１記載のＩＤＤＱテスト用サイクル選択抽出装置において、更に、ｎ個のｍビットデータの内、最もハミング距離の遠い２つのｍビットデータを、最初に必ず選択することができ、最も効果的にＩＤＤＱテスト用サイクルの選択を行い、使用するｍビットデータの数を低減し、テストに要する時間を短縮することができる。
【００７７】
請求項３記載のＩＤＤＱテスト用サイクル選択抽出装置は、請求項１記載のＩＤＤＱテスト用サイクル選択抽出装置において、論理シミュレータによる論理シミュレーションの実行と連動して動作するため、論理シミュレーションの終了と同時にＩＤＤＱテスト用のサイクル選択抽出処理を終了することができる。このように、迅速に処理結果が得られるので、テストに要する時間を短縮することができる。
【００７８】
請求項４又は請求項５に記載のＩＤＤＱテスト用サイクル選択抽出装置は、処理終了条件としてトグル済みフラグの数や選択したサイクルの数を定めておくことで、処理の迅速化を図ることができる。
【図面の簡単な説明】
【図１】  本発明の実施の形態１にかかるＩDDQテスト用サイクル選択装置の機能ブロック図である。
【図２】  本発明の実施の形態１にかかるＩDDQテスト用サイクル選択装置のハードウェア構成図である。
【図３】  データ処理装置の実行する処理を示すフローチャートである。
【図４】  トグル認識レジスタのデータ構成を示す図である。
【図５】  トグル認識レジスタの設定処理のフローチャートである。
【図６】  トグル認識レジスタの設定処理を具体的に説明するための図である。
【図７】  １０個のｍビットデータに対するデータ処理装置による処理例を示す図である。
【図８】  実施の形態２にかかるＩDDQテスト用サイクル選択抽出装置の機能ブロックを示す図である。
【図９】  実施の形態２にかかるＩDDQテスト用サイクル選択抽出装置のハードウェア構成図である。
【図１０】  実施の形態２にかかるＩDDQテスト用サイクル選択抽出装置の処理のフローチャートである。
【符号の説明】
１００…論理シミュレーション装置
１１０…故障シミュレーション装置
１５０，３００…ＩDDQテスト用サイクル選択抽出装置
１５１，３０２…データ編集部
１５２…スタンバイサイクルのｍビットデータ格納部
１５３，３０４…処理終了条件入力部
１５４，３０３…ＩDDQテスト用サイクル選択抽出部
１５５，３０８…選択抽出済みサイクル印刷・表示部
１５６，３０５…未検出故障認識及びトグル認識レジスタ設定部
１５７，３０６…未検出故障データ格納部
２００，４００…キーボード
２０１，４０１…マウス
２０２，４０２…記憶装置
２０３，４０３…データ処理装置
２０４，４０４…ディスプレイ
２０５，４０５…プリンタ
２５０…トグル済みフラグ記憶部
２５１…未トグルデータ記憶部
３０１…論理シミュレーション部
３０７…故障シミュレーション部
【図１】
0003669836.tif 000002
【図２】
0003669836.tif 000003
【図３】
0003669836.tif 000004
【図４】
0003669836.tif 000005
【図５】
0003669836.tif 000006
【図６】
0003669836.tif 000007
【図７】
0003669836.tif 000008
【図８】
0003669836.tif 000009
【図９】
0003669836.tif 000010
【図１０】
0003669836.tif 000011