JP3689537B2 - Iddqテスト用サイクルの選択抽出装置 - Google Patents
Iddqテスト用サイクルの選択抽出装置 Download PDFInfo
- Publication number
- JP3689537B2 JP3689537B2 JP22927397A JP22927397A JP3689537B2 JP 3689537 B2 JP3689537 B2 JP 3689537B2 JP 22927397 A JP22927397 A JP 22927397A JP 22927397 A JP22927397 A JP 22927397A JP 3689537 B2 JP3689537 B2 JP 3689537B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- cycle
- bit data
- bit
- flag
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318342—Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/30—Marginal testing, e.g. by varying supply voltage
- G01R31/3004—Current or voltage test
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/30—Marginal testing, e.g. by varying supply voltage
- G01R31/3004—Current or voltage test
- G01R31/3008—Quiescent current [IDDQ] test or leakage current test
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
【発明の属する技術分野】
本発明は、論理シミュレーションを利用して、半導体集積回路のIDDQテスト用のサイクルを選択抽出する装置に関する。
【0002】
【従来の技術】
CMOS集積回路の微細化、高集積化が進むにつれて、テスト工程の負担が急激に増加している。実際、テストパターンの数は年々増加している。厄介なことに、現在主流のファンクションテストでは発見しにくいタイプの新たな故障モードが増加する傾向にある。この新たな故障モードは、例えば、開放故障やスイッチング動作時の過渡状態でしか発生しない故障などである。
このため、上記ファンクションテストのみを使用した場合、上記新たな故障を含んでいるものが良品として出荷されてしまい、機器に組み込まれてしまうケースが増加しつつある。
【0003】
上記の新たな故障モードを検出するための新たなテスト方法としてIDDQテストが注目されている。IDDQテストは、静止状態にあるCMOS集積回路に流れる微少な電源電流を測定し、その電流値の大小によって故障を検出するものである。これは、正常なCMOS回路では、そのスタンバイ状態(静止時)において、電源電流は僅かしか流れないことを利用するものである。即ち、スタンバイ状態においてCMOS回路に多量の電流が流れる場合には、回路内に何らかの欠陥(故障)を含んでいることを意味する。通常の集積回路の動作時、その内部状態は時々刻々変化するが、動作中の各サイクルの内、スタンバイ状態を実現しているサイクルを検出し、検出したサイクルにおけるスタンバイ電流を測定することでIDDQテストを実行することができる。
【0004】
ところで、論理シミュレーションを使って、あるサイクルにおいてスタンバイ状態が実現されているかどうかを知る技術については周知である。例えば、特開平4−44172号公報では、以下の4つの条件が満たされている時が電源電流を測定するべきスタンバイ状態であるとしている。
(1)複数のゲートの出力信号が競合する(バスコンフリクト)の状態でないこと。
(2)バスに接続されている全てのゲート出力がハイインピーダンス”Z”の状態ではないこと。
(3)プルアップ付きのノードの論理値が”H”であること。
(4)プルダウン付きのノードの論理値が”L”であること。
【0005】
テストの品質(=そのテストによる故障検出能力)だけを考慮するならば、できるだけ多様な内部状態でのテストを行った方がよい。従って、スタンバイ状態が実現されている全てのサイクルについてテストを行うことが最も望ましい。しかし、実際には、テスト時間がそのまま製造コストに影響してくるため、テストの品質を一定のレベルに維持しつつ、できるだけテスト時間を短くすることが要求される。
また、IDDQテストは、電流を測定するものである。一般に電流測定は電圧測定よりも時間がかかるため、テスト時間を短くするには、電流の測定回数を減らすことが望まれる。それには、全スタンバイサイクルでテストするのではなく、テストの品質を維持するのに必要にして十分なスタンバイサイクルを選択抽出することが要求される。現在、上記2つの要求を満たす方法として、以下の2つが知られている。
【0006】
涌井一夫、尾野年信、吉田正昭による論文「IDDQテスト用パタン選択の一手法」,1995年電子情報通信学会エレクトロニクスソサエティ大会講演論文集2,p.185,講演番号c−463,1995年09月において、次のような方法(以下、第1の方法という)が提案されている。
まず、操作者がIDDQテストを行うサイクルの数nを指定する。機能試験用テストパターンを入力して論理シミュレーションを実行し、仮に最初のn個のスタンバイサイクルを選択抽出する。ここで、選択抽出したn個のスタンバイサイクルについてIDDQテストを行い、そのn回のテストによる故障検出率を計算する。後に続くサイクルについて1つづつ調べ、もし選択抽出済みのn個のうち何れかのサイクルと交換して故障検出率が向上するなら、交換を実施する。これを全てのサイクルについて調べ終わるまで行う。
【0007】
マオ(Weiwei Mao)、グラティ(Ravi K.Gulati)等による論文「Quiescent Current Testing Methodology for Detecting Leaksge Faults(漏れ故障を検出する静止電流テスト方法)」,IEEE主催ICCAD学会論文集,1990年,pp.280〜283において次のような方法(以下、第2の方法という)が提案されている。
予め操作者が回路中の全てのゲートについて、どのような入力状態になったらどのような故障が検出されるかを定義した故障テーブルを作成しておく。この故障テーブルを参照しつつ論理シミュレーションを実行する。論理シミュレーションの実行中において、操作者がIDDQテストをするサイクルの数nを定義しなかった場合は、1つでも新たな故障が検出されたサイクルをテストサイクルに加える。また、操作者がIDDQテストをするサイクルの数nを指定した場合には、そのサイクルにおいて新たに検出される故障の数が、1サイクルあたり検出が期待される数よりも大きい場合にのみ、そのサイクルをテストサイクルに加える。
【0008】
【発明が解決しようとする課題】
上記第1の方法では、操作者がIDDQテストをするサイクルの数nを指定しなければならないことが第1の問題となる。必要十分なIDDQテストのために何サイクル必要かは、予めわかるものではない。結果的に適当な数を指定するしかないため、この方法で抽出されたテストサイクルは必要量に全く足りないということになるかも知れないし、逆に過剰となるかもしれない。何れにしても当該方法では最適な解が得られない場合の方が多い。
【0009】
また、第2の問題として、最初のnサイクルと交換して故障検出率が向上するかどうかを全てのサイクルについて調べなければならないので処理時間がかかることが挙げられる。極端な場合、最初のnサイクルが解であり、以降のどのサイクルと交換しても故障検出率が向上しないというようなケースも考えられる。このような場合であっても、当該方法では、全てのサイクルについて調べるため、時間を浪費することになる。特に用意された機能試験用テストパターンが長大な場合には、このような無駄な処理時間が問題となる。
【0010】
上記第2の方法では、故障テーブルを予め作成しなければならないのが第1の問題である。一旦作成した故障テーブルは、他の回路にも流用できるが、上記第2の方法には他にも問題がある。
例えば、操作者がIDDQテストを行うサイクルの数nを指定する場合には、上記第1の方法と同様の問題がある。また、操作者がIDDQテストをするサイクルの数nを指定しない場合には、必ずしも操作者の所望する最適解が得られないという問題もある。
例えば、用意された機能試験用テストパターンによる一連の動作サイクルの最後の2サイクルのみで全ての故障が検出できる場合を考えてみる。このような場合でも、第2の方法では動作サイクルを時間的に前から吟味するため、上記2つのサイクルよりも前にあるサイクルを選択抽出してしまう場合がある。この結果、本来必要なサイクルよりも多くのサイクルを選択抽出してしまうといった問題を有する。
【0011】
本発明は、上記問題を解決するためになされたものであり、CMOS集積回路の機能試験用テストパターンによる動作サイクルの中から、IDDQテスト用のテストサイクルを必要にして十分な数だけ、的確かつ迅速に抽出・選択する装置を提供すことを目的とする。
【0012】
【課題を解決するための手段】
本発明の第1のIDDQテスト用サイクル選択抽出装置は、CMOS集積回路の論理シミュレーション中に現れたn個のスタンバイ状態のサイクルにおける各m個のネットの状態を表すmビットデータの中から、mビットデータを構成する全てのビットの値が少なくとも1回は1及び0となる組み合わせを選択抽出し、選択抽出したmビットデータに対応するサイクルをIDDQテスト用のサイクルとして選択抽出するIDDQテスト用サイクル選択抽出装置であって、前記論理シミュレーションの実行時における各動作サイクルの内、スタンバイ状態にあるサイクルを検出するスタンバイサイクル検出手段と、全サイクルの論理シミュレーション終了後に、前記集積回路内のm個のネットの状態を表すmビットデータを、上記スタンバイサイクル検出手段により検出されたn個のスタンバイ状態のサイクル毎に保存するデータ保存手段と、mビットデータを構成する各ビットに一対一に対応するトグル済みフラグの記憶手段と、mビットデータを順次与えられ、与えられたmビットデータに基づいてトグル済みフラグを更新するフラグ更新手段であって、mビットデータを与えられると、mビットデータ及びその前に与えられたmビットデータのトグル済みフラグのセットされていないビットのデータについて、ビット単位の比較を行い、一方が”1”で他方が”0”のデータ値を持つビットに対応するトグル済みフラグをセットするフラグ更新手段と、上記データ保存手段に記憶するn個のmビットデータの中から、互いのハミング距離が最も離れている2つのmビットデータを第1及び第2の選択抽出データとして選択し、上記フラグ更新手段に第1及び第2の選択抽出データの順で与える第1データ選択手段と、上記フラグ更新手段によるトグル済みフラグの更新後、mビットデータの内、未だトグル済みフラグが立っていないビット位置を認識する認識手段と、認識手段によりトグル済みフラグが立っていないと認識されたビット位置にのみ着目して、上記データ保存手段に保存されているmビットデータの中から、既に選択抽出されたmビットデータからのハミング距離が最も大きなmビットデータを選択し、選択したmビットデータを新たな選択抽出データとして上記フラグ更新手段に与える第2データ選択手段とを備え、上記第1データ選択手段は、選択抽出の対象となるmビットデータの中から、mビットの中に”1”が最も多く含まれているデータと、”0”が最も多く含まれているデータとを選択し、選択した前記2つのmビットデータのうち一方のmビットデータの各ビットの値が全て”0”であり、他方のmビットデータの各ビットの値が全て”1”の場合には、この2つのデータのみでテストを行うことができると判断して選択抽出処理を終了することを特徴とする。
上記構成のIDDQテスト用サイクルの選択抽出装置では、CMOS集積回路の論理シミュレーションの終了後に、データ保存手段に保存した各スタンバイサイクル時における回路内のm個のネットの状態を表すmビットデータの中からmビットデータを構成する各ビットの値が少なくとも1回は1及び0となる最小の組み合わせを選択抽出することができる。この選択抽出したmビットデータに対応するサイクルを、IDDQテスト用のサイクルとして使用することで、数少ないテストサイクルで必要十分なIDDQテストを実施することができる。
また、上記構成のIDDQテスト用サイクルの選択抽出装置では、選択抽出すべきIDDQテスト用のサイクル数nを指定する必要がないといった利点も有する。
なお、上記IDDQテスト用のサイクル選択抽出装置として機能させる処理プログラムを記録した媒体を用いて、コンピュータを制御しても良い。
【0013】
上記のIDDQテスト用サイクル選択抽出装置において、上記第2データ選択手段は、トグル済みフラグの立っていないビット位置のデータに関して、選択抽出の対象となるmビットデータの中から、mビットの中に”1”が最も多く含まれているデータと、”0”が最も多く含まれているデータとを選択し、これが全て”0”または”1”のパターンの場合には選択抽出処理を終了し、これ以外の場合であって、”1”が最も多く含まれているデータが複数ある場合は、それらの複数のデータのうちデータの値が最大のmビットデータを選択し、”0”が最も多く含まれているデータが複数ある場合は、それらの複数のデータのうちデータの値が最小のmビットデータを選択することが好ましい。
【0014】
本発明の第2のIDDQテスト用サイクル選択抽出装置は、CMOS集積回路の論理シミュレーションの実行に伴い、IDDQテスト用のサイクルを選択抽出するIDDQテスト用サイクル選択抽出装置であって、CMOS集積回路の論理シミュレーションを実行する論理シミュレーション手段と、論理シミュレーション手段によるシミュレーション実行時における動作サイクル毎に、当該サイクルに前記集積回路がスタンバイ状態にあるか否かを判断する判断手段と、判断手段により最初にスタンバイ状態であると判断されたサイクルを第1のIDDQテスト用サイクルとして選択する第1サイクル選択手段と、ハミング距離に対して、比較対象となるデータのビット数に応じて所定のしきい値を設定するしきい値設定手段と、第1サイクル選択手段による選択の後に、判断手段によりスタンバイ状態にあると判断されるサイクルの内、上記選択された第1のIDDQテスト用のサイクルにおける前記集積回路内のm個のネットの状態を表すmビットのデータとのハミング距離が上記しきい値設定手段の設定したしきい値よりも大きなmビットのデータを有する最初のサイクルを、第2のIDDQテスト用のサイクルとして選択する第2サイクル選択手段と、第1及び第2サイクル選択手段により第1及び第2のIDDQテスト用として選択された2つのサイクルにおける回路内のm個のネットの状態を表す2つのmビットデータを保存するデータ保存手段と、mビットデータを構成する各ビットに一対一に対応するトグル済みフラグの記憶手段と、mビットデータを順次与えられ、与えられたmビットデータに基づいてトグル済みフラグを更新するフラグ更新手段であって、mビットデータを与えられると、mビットデータ及びその前に与えられたmビットデータのトグル済みフラグのセットされていないビットのデータについて、ビット単位の比較を行い、一方が”1”で他方が”0”のデータ値を持つビットに対応するトグル済みフラグをセットするフラグ更新手段と、上記データ保存手段に保存する2つのmビットデータを第1及び第2の選択抽出データとして選択し、上記フラグ更新手段に第1及び第2の選択抽出データの順で与える第1データ選択手段と、上記フラグ更新手段によるトグル済みフラグの更新後、未だトグル済みフラグが立っていないビットデータの位置を認識する認識手段と、既に選択したmビットデータの上記認識手段によりトグル済みフラグが立っていないと認識されたビット位置のみに着目し、上記判断手段によりスタンバイ状態であると判断されたサイクルであって、上記着目するビット位置でのハミング距離が上記しきい値設定手段により設定されたしきい値よりも大きいmビットデータを示すサイクルを選択し、選択したサイクルのmビットデータを新たな選択抽出データとして上記フラグ更新手段に与える第2データ選択手段とを備えることを特徴とする。
上記構成のIDDQテスト用サイクル選択抽出装置では、論理シミュレータによる論理シミュレーションの実行と連動して動作するため、論理シミュレーションの終了と同時にIDDQテスト用のサイクル抽出処理が完了する。このように、迅速に処理結果が得られるので、回路設計の作業効率が向上する。
【0015】
上記何れか1つのIDDQテスト用サイクル選択抽出装置であって、上記第2データ選択手段は、トグル認識レジスタ内におけるトグル済みフラグが立ったビットの個数が所定値以上になるまでの間、選択したmビットデータを新たな選択抽出データとして上記フラグ更新手段に与えることとしても良い。また、上記第2データ選択手段は、所定数のIDDQテスト用のサイクルが選択抽出されるまでの間、選択したmビットデータを新たな選択抽出データとして上記フラグ更新手段に与えることとしても良い。
上記構成を採用することで、操作者が得たい結果を迅速に得ることができる。
【0016】
上記何れか1つのIDDQテスト用サイクル選択抽出装置であって、更に、論理シミュレーションの対象となる前記集積回路内に含まれるインバータの数を検出する検出手段を備え、上記記憶手段は、上記検出手段により検出したインバータの入出力ネットの何れか一方だけを前記集積回路内のネットとして取り扱うこととしても良い。
また、更に、論理シミュレーションの対象となる前記集積回路内に含まれるバッファの数を検出する検出手段を備え、上記記憶手段は、上記検出手段により検出したバッファの入出力ネットの何れか一方だけを前記集積回路内のネットとして取り扱うこととしても良い。
上記構成を採用することで、処理で用いるmビットデータのビット数を少なくすることができるため、処理を高速化することができ、処理に要求されるメモリの量も少なくすることができる。
【0017】
また、更に、論理シミュレーションの対象となる前記集積回路内のネットの内、有効に取り扱うネットを指定するための指定手段を備え、上記記憶手段は、上記指定手段により指定されたm個のネットの状態を表すmビットデータを保存することとしても良い。
また、更に、論理シミュレーションの対象となる前記集積回路内のネットの内、有効に取り扱う、1以上の回路より構成される機能ブロック回路を指定するための指定手段を備え、上記記憶手段は、上記指定手段により指定された機能ブロック内に内包されるm個のネットの状態を表すmビットデータを保存する手段を備えることとしても良い。
また、更に、論理シミュレーションの対象となる前記集積回路の階層設計データの中から、有効に取り扱う所定の階層を指定するための指定手段を備え、上記記憶手段は、指定手段により指定された階層に属する回路内のm個のネットの状態を表すmビットデータを保存することとしても良い。
また、更に、論理シミュレーションの対象となる前記集積回路の中から、有効に取り扱う特定のネットの接続されている電源系統を指定するための指定手段と、上記記憶手段は、指定手段により指定された電源系統に接続されているm個のネットの状態を表すmビットデータを保存することとしても良い。
上記何れかの構成を採用することで、mビットデータのビット数を操作者の指示に従って減少することができるため処理の高速化が図られると共に、処理に要するメモリ量を少なくすることができる。また、集積回路全体ではなく、操作者が明示的に指定した部分だけを対象としてテストを実行することができるため、不必要なテストを排除し、テスト時間の短縮を図ることができる。
【0018】
また、更に、全動作サイクルの中で、有効に取り扱うサイクルを指定するための指定手段を備え、上記指定手段により指定されたサイクルを処理対象とすることとしても良い。
上記構成を採用することで、IDDQテストに不必要な初期化テストや、シミュレーション上ではスタンバイサイクルなのだが、実際のデバイスではそうでないことが予めわかっているサイクルなどを選択抽出の対象外にすることができる。これにより真に必要十分なテストサイクルだけを選択抽出してテスト開発期間を短縮することができると共に、テスト品質も向上することができる。
【0019】
【発明の実施の形態】
本発明のIDDQテスト用サイクル選択抽出装置は、少数のスタンバイサイクルを用いて迅速かつ正確なIDDQテストを実行可能にすることを目的として、n個あるスタンバイサイクルにおける回路内のm個のネットの状態を表すmビットデータの中から、mビットデータを構成する各ビットの値が少なくとも1回は1及び0となる最小の組み合わせを選択抽出し、当該選択抽出したmビットデータに対応するサイクルをIDDQテスト用のサイクルとして選択抽出することを特徴とする。これは、mビットデータを構成する各ビットの値が1及び0の値をとることで、必要十分なIDDQテストが実行できるという経験則に基づく。
以下、添付の図面を用いて、上記特徴を具備する本発明のIDDQテスト用サイクル選択抽出装置の実施の形態1及び実施の形態2について、順に説明する。
【0020】
(1)実施の形態1
図1は、IDDQテスト用サイクル選択抽出装置150の機能ブロックを示す図である。論理シミュレーション装置100は、所定のハードウェア記述言語を用いて記述されたCMOS集積回路の論理シミュレーションを実行し、その結果、スタンバイサイクルについての情報、及び、当該論理回路の内部ネットに関する情報をIDDQテスト用サイクル選択抽出装置150へと出力する。
【0021】
IDDQテスト用サイクル選択抽出装置150内部において、データ編集部151は、論理シミュレーション装置100より送られてくる論理シミュレーションの結果及びスタンバイサイクルについての情報から、スタンバイサイクルにおいて、全部でM個ある内部ネットの内、IDDQテスト用サイクルの選択抽出処理で有効に取り扱うm個の内部ネットを特定し、特定した各ネットの信号状態を表すmビットデータを出力する。なお、後に説明するように、上記M個全ての内部ネットを、IDDQテスト用サイクルの選択抽出処理で有効な内部ネットとして取り扱うこととしても良いし、インバータやバッファ等、入力と出力が一対一に対応している素子については、その入出力ネットの何れか一方だけを、IDDQテスト用サイクルの選択抽出処理で有効な内部ネットとして取り扱うこととしても良い。またIDDQテスト用サイクルの選択抽出処理で有効に取り扱う内部ネットは、操作者の設定に基づいて直接指定しても良いし、所定の規則に基づき区画される単位(機能ブロック、階層構造、電源系統)で指定しても良い。論理回路内に存在するM個の内部ネットは、論理シミュレーション装置100内部に備える当該論理回路の記述データに基づいて特定することができる。なお、データ編集部151は、論理シミュレーション装置100内部に備えることとしても良い。
【0022】
mビットのデータ格納部152は、データ編集部151より出力されるmビットのデータを格納する。
処理終了条件入力部153は、IDDQテスト用サイクル選択抽出部154において実行するIDDQテスト用サイクルの選択抽出条件、及び、処理終了条件を外部より設定するためのマン・マシンインターフェースである。
IDDQテスト用サイクル選択抽出部154は、n個あるスタンバイサイクルにおける回路内のm個のネットの状態を表すmビットデータの中から、mビットデータを構成する各ビットの値が少なくとも1回は1及び0となる最小の組み合わせを選択抽出する。
印刷・表示部155は、上記IDDQテスト用サイクル選択抽出部154により選択抽出された各サイクルについて、論理シミュレーションの開始より何番目のサイクルであるのかを表す情報を印刷または表示する。
【0023】
図2は、IDDQテスト用サイクルの選択抽出装置150のハードウェア構成を示す図である。本装置150は、キーボード200、マウス201、記憶装置202、データ処理装置203、ディスプレイ204、及び、プリンタ205より構成される。
【0024】
キーボード200及びマウス201は、図1に示した処理終了条件入力部153として機能する。記憶装置202は、図1に示したmビットデータ格納部152として機能する。データ処理装置203は、中央演算処理装置(CPU)、及び、IDDQテスト用サイクル選択抽出処理プログラムを格納するメモリより構成される。データ処理装置203を構成する中央演算処理部は、メモリに書き込まれているIDDQテスト用サイクル選択抽出処理プログラムを実行して、図1に示したデータ編集部151、及び、IDDQテスト用サイクルの選択抽出部154として機能する。ディスプレイ204及びプリンタ205は、図1に示した印刷・表示部155として機能する。
【0025】
図3は、データ処理装置203の実行するIDDQテスト用サイクルの選択抽出処理のフローチャートである。以下、本図のフローに従ってIDDQテスト用サイクルの選択抽出処理について説明する。
【0026】
まず、論理シミュレーション装置100より送られてくる処理対象のCMOS集積回路の内部ネットについての情報に基づいて、IDDQテスト用サイクルの選択抽出処理で有効に取り扱うm個のネットを特定する(ステップS1)。なお、この処理内容については後に図5〜図10を用いて説明する。処理対象のCMOS集積回路に対する論理シミュレーションの結果より、上記ステップS1において特定されたm個の内部ネットについて、動作サイクル(その数は回路の規模などにより変動する)中に存在したn個のスタンバイ状態の全サイクルを検出し、検出したサイクルにおける各ネットの論理値を所定の順序で並べてmビットのデータとした後に、記憶装置202に保存する(ステップS2)。
なお、上記n個のmビットのデータは、論理シミュレーションの開始から何番目の動作サイクルであるのかを特定するデータと共に、以下の処理の便宜のため、出現タイミングの早いものから順に第1〜第nの識別番号を付して記憶装置202に保存しておく。また、ある動作サイクルにおいてスタンバイ状態が実現されているか否かを判断する技術については、周知であるため(例えば、特開平4−44172号公報)、ここでの説明は省略する。
【0027】
記憶装置202に記憶したn個のmビットデータの中から、ハミング距離の最大の2つのデータを選択抽出する(ステップS3)。なお、当該処理の具体的な内容については後に図11を用いて説明する。選択抽出した一方のmビットデータの各ビットの値が全て”0”であり、他方のmビットデータの各ビットの値が全て”1”の場合(ステップS4でYES)、この2つのmビットデータだけで全m個のネットの値を”1”と”0”の両方の状態に設定してテストを行うことができる。このため、この2つのデータだけで必要十分なテストを行うことができると判断して、以降の選択抽出処理をスキップし、処理結果の出力処理を実行するステップS10へと進む。
【0028】
一方、上記ステップS2において選択した2つのデータの内、少なくとも一方のデータが、”0”または”1”のみで構成されていない場合には(ステップS4でNO)、この2つのデータだけでは十分なテストを行うことができないと判断して、以下のステップS5〜S9の処理を実行する。
【0029】
まず、選択抽出した2つのmビットデータの各ビット毎の値を比較してトグル認識レジスタの値を更新する(ステップS5)。このトグル認識レジスタは、図4に示すように各々mビット(最大でMビットである)のトグル済みフラグ記憶部250と未トグルデータ記憶部251を並べてなる合計で2×mビットのレジスタであり、データ処理装置203内に備えるメモリを用いて実現される。ここで、トグル済みフラグは、ビットデータが”0”、”1”の値をとり、トグル済みであると判断された場合に”1”にセットされるフラグである。トグル済みフラグ記憶部250は、mビット分のトグル済みフラグの値を格納し、未トグルデータ記憶部251は、トグルが未だ済んでいないビット位置のデータ値を記憶する。即ち、上記ステップS5において、比較したビットの一方が”1”で他方が”0”の場合には、上記トグル済みフラグ記憶部250の対応するビット位置の値を”1”にセットし、対応するビットのデータが共に”1”又は”0”の場合には、上記トグル済みフラグ記憶部250の対応するビット位置の値を”0”にセットすると共に、上記未トグルデータ記憶部251の対応するビット位置にデータの値を書き込む。
【0030】
既に選択したmビットデータの内、トグル認識レジスタ内のトグル済みフラグの値が”0”のビット位置のデータのみに着目する。このトグル済みフラグの値が”0”のビット位置のデータを並べて構成されるデータと、未だ選択抽出されていない複数のmビットデータの中から、上記トグル済みフラグの値が”0”のビット位置のデータを並べて構成されるデータについて、ハミング距離の最も大きなmビットデータを選択抽出する(ステップS6)。
【0031】
ここで、ステップS6における処理の内容について補足説明する。例えば、上記ステップS3において選択した2つのmビットデータが”11111110…000”及び”00000001…000”の場合であって、上記ステップS5においてトグル済みフラグが”11111111…000”とセットされた場合を想定する。この場合、ステップS6ではトグル済みフラグの値が”0”のビット位置のデータを並べて構成される3ビットのデータ”000”に着目し、該当するビット位置のデータを並べて構成される3ビットデータについて、着目したデータに対するハミング距離の最も大きなmビットデータを、未だ選択抽出されていない複数のmビットデータの中から選択抽出する。例えば、”××××××××…111”(但し、×は任意の値)のようなmビットデータが存在する場合には、このmビットデータを選択抽出する。
【0032】
上記ステップS6において選択抽出したmビットデータとの比較を行い、上記残りのビットに関してトグル認識レジスタ内のトグル済みフラグ記憶部250の対応するビットのフラグの値を更新する(ステップS7)。トグル認識レジスタ内のトグル済みフラグ記憶部250のmビット全てのフラグの内、未だ1にセットされていないビットが存在するか、未だ選択抽出されていないmビットデータが存在する場合であって(ステップS8でYES)、更に操作者により指定された処理終了条件が満足されていない場合には(ステップS9でNO)、ステップS6に戻り処理を継続する。
【0033】
他方、トグル認識レジスタ内のトグル済みフラグ250のmビット全てのフラグの値が1にセットされている場合、又は、n個あるmビットデータの全てが選択抽出された場合(ステップS8でNO)、処理を終了して、処理結果の出力処理を実行するステップS10へと進む。
また、上記ステップS8でYESの場合であっても、キーボード100又はマウス101の入力部を介して操作者により指定された所定の処理終了条件が満足された場合には(ステップS9でYES)、処理結果の出力を実行するステップS10へと進む。ステップS10では、選択抽出したサイクルを全てIDDQテスト用サイクルとして、これらのサイクルが論理シミュレーションの開始から何番目の動作サイクルであるのかを特定する情報(データ)をディスプレイ104に表示出力すると共に、プリンタ105により印刷出力を行う。
【0034】
図5は、論理シミュレーション装置100より送られてくる処理対象の論理回路の内部ネットについての情報に基づいて、有効に取り扱うm個のネットを特定する処理(図3、ステップS1)の具体的な内容を表すフローチャートである。まず、論理シミュレーション装置100に、処理対象のCMOS集積回路の構成を表す記述データ、又は、内部ネットに関する情報を要求し、これを受け取る(ステップS20)。受け取った上記データ又は情報に基づいて、回路内に含まれるインバータの入出力ネットの何れか一方のみを回路内のネットとして取り扱うこととして、有効なm個のネットを特定した後に(ステップS21)、リターンする。
【0035】
図6は、上記有効に取り扱うm個のネットを特定する処理(図3、ステップS1)の第1の変形例のフローチャートである。まず、論理シミュレーション装置100に、処理対象の論理回路の構成を表す記述データ、又は、内部ネットに関する情報を要求し、これを受け取る(ステップS22)。受け取った上記データ又は情報に基づいて、回路内に含まれるバッファの入出力ネットの何れか一方のみを回路内のネットとして取り扱うこととして、有効なm個のネットを特定した後に(ステップS23)、リターンする。
【0036】
図7は、上記有効に取り扱うm個のネットを特定する処理(図3、ステップS1)の第2の変形例のフローチャートである。まず、論理シミュレーション装置100に、処理対象の論理回路の構成を表す記述データ、又は、内部ネットに関する情報を要求し、これを受け取る(ステップS24)。受け取った上記データ又は情報より回路内の全部でM個のネットについて調べ、上記M個のネットから操作者による指定に基づいて特定されるm個の内部ネットを有効に取り扱うものとした後に(ステップS25)、リターンする。
【0037】
図8は、上記有効に取り扱うm個のネットを特定する処理(図3、ステップS1)の第3の変形例のフローチャートである。まず、論理シミュレーション装置100に、処理対象の論理回路の構成を表す記述データを要求し、これを受け取る(ステップS26)。受け取った上記記述データより回路内の全部でM個のネットについて調べ、上記M個のネットの中から予め指定された機能ブロックに入出力するm個のネットを有効に取り扱うものとした後に(ステップS27)、リターンする。
また、上記ステップS27において、予め指定された機能ブロックではなく、予め指定された所定の階層に属する回路のm個のネットを有効に取り扱うものとしても良い。
【0038】
以下、図9を用いて上記第3の変形例の処理について補足説明を行う。
図9の(a),(b),(c)は、機能ブロックA内の回路構成を順に詳しく示した図である。操作者が、図9の(a)に示す機能ブロックAを指定した場合には、上記ステップS27では、当該機能ブロックA内に存在する全ての素子についての内部ネット265〜285が有効な内部ネットとして選択される。また、図9の(b)に示すように、機能ブロックAを構成する機能ブロック(サブブロック)a1、a2、又は、a3が選択された場合には、選択された機能ブロック内に存在する全ての素子についての内部ネットが選択される。例えば、機能ブロックa1が選択された場合には、内部ネット272,273,274,276が選択される。
一方、図9の(a)に示す機能ブロックAの属する階層が指定された場合には、内部ネット260〜264が有効な内部ネットとして選択される。また、図9の(b)に示すように、機能ブロックa1、a2及びa3の属する階層が指定された場合には、内部ネット265〜271が有効な内部ネットとして取り扱われる。
【0039】
図10は、上記有効に取り扱うm個のネットを特定する処理(図3、ステップS1)の第4の変形例のフローチャートである。まず、論理シミュレーション装置100に、処理対象の論理回路の構成を表す記述データを要求し、これを受け取る(ステップS28)。受け取った上記記述データより回路内の全部でM個のネットについて調べ、上記M個のネットの中から操作者により予め指定された電源系統に属するm個のネットを有効なネットとした後に(ステップS29)、リターンする。
【0040】
図11は、記憶装置202に記憶されているn個のmビットデータの中から相互のハミング距離が近似的に最大とみなすことのできる2つのデータを選択抽出する処理(図3のステップS3)の具体的処理手順を示すフローチャートである。
まず、記憶装置202に記憶するn個のmビットデータより”1”を最も多く含むデータ、及び、”0”を最も多く含むデータを選択抽出する(ステップS30)。”1”を最も多く含むとして選択したmビットデータの値が最大となるデータと、”0”を最も多く含むとして選択したmビットデータの値が最小となるデータとを選択抽出する(ステップS31)。
上記処理では、n個のmビットデータの内、常にハミング距離の最大の組み合わせが選択抽出されるとは限らない。全ての組み合わせについて、そのハミング距離を求めるのは長時間を要するのに対して、本処理は短時間で近似解を得ることができることを特徴とするからである。なお、本処理において、mビットデータの全てのビット値が”1”のデータ、及び、”0”のデータが存在する場合、この2つのデータは必ず選択されるため、既に説明した図3の処理内容には何の影響も与えない。
【0041】
図12は、ネット数がmのCMOS集積回路に対して論理シミュレーションを実行し、合計で10個のスタンバイ状態が検出された場合に記憶装置202に保存される10個のmビットデータに対して、上記図3を用いて説明したIDDQテスト用のサイクルの選択抽出処理を実行した場合の処理内容を説明するための図である。
【0042】
まず、10個のmビットデータよりハミング距離が最大とされる2つのデータを、上記図11を用いて説明したステップS3の処理により選択抽出する。この結果、選択抽出されるのは、識別番号n=1のデータ及びn=10のデータである。この2つのデータを比較すると、下位3ビットを除く全てのビットの値は、一方が”1”で他方が”0”であるトグルの関係にあることがわかる。そこで、(a)に示すように、識別番号n=1又はn=10のmビットデータの下位3ビットを除く全てのトグル認識レジスタ内のトグル済みフラグ記憶部250の対応する位置のビットの値を”1”にセットすると共に、未トグルデータ記憶部251の対応する位置に、識別番号n=1又はn=10のmビットデータの下位3ビットのデータ”000”の値を記憶する。
【0043】
次に、未だ選択抽出されていないmビットデータの中から、その下位3ビットのデータが、識別番号n=1又はn=10のmビットデータの下位3ビットのデータ”000”と、最もハミング距離の大きなデータを選択抽出する。本例の場合、下位3ビットのデータが”011”である識別番号n=5のデータが選択抽出される。(b)に示すように、この選択抽出した識別番号n=5のデータの下位3ビットのデータに基づいてトグル認識レジスタ内のトグル済みフラグ記憶部250の下位2ビットの値を”1”にセットする。
【0044】
最後に残った下位第3ビット目にあるデータ”0”と最もハミング距離の離れているデータ、即ち、下位第3ビット目のデータ値が”1”である識別番号n=4のデータを選択する。このデータを選択抽出することにより(c)に示すように、トグル認識レジスタ内のトグル済みフラグ記憶部250の全てのビットの値が”1”にセットされる。
【0045】
このようにトグル認識レジスタ内のトグル済みフラグ記憶部250のmビット全ての値が”1”にセットされた場合に、これら4つのmビットデータに対応するサイクルをIDDQテスト用のサイクルとして選択抽出し、論理シミュレーションの開始から何番目のサイクルであるのかを特定する情報(データ)をディスプレイ204に表示すると共に、プリンタ205により印刷出力を行う。
【0046】
以上に説明したように、実施の形態1にかかるIDDQテスト用サイクル選択抽出装置によれば、論理シミュレーション装置100によるシミュレーションの実行により得られるn個のスタンバイサイクルにおける回路内のm個のネットの状態を表すmビットデータの中から、mビットデータを構成する各ビットの値が少なくとも1回は1及び0となる最小の組み合わせを正確かつ迅速に選択抽出し、当該選択抽出したmビットデータに対応するサイクルをIDDQテスト用のサイクルとして選択抽出することができる。
【0047】
(2)実施の形態2
上記本発明の実施の形態1にかかる装置では、まず、論理シミュレーション装置100によるCMOS集積回路の論理シミュレーションを実行した後にIDDQテスト用のサイクルの検出処理を実行した。これに対して、実施の形態2にかかる装置では、CMOS集積回路に対する論理シミュレーションの実行に連動して、IDDQテスト用のサイクルを検出することを特徴とする。
【0048】
図13は、実施の形態2にかかるIDDQテスト用サイクル選択抽出装置300の機能ブロックを示す図である。論理シミュレーション部301は、以下に説明するテスト用サイクル選択抽出部303によるタイミング制御に基づいて、所定のハードウェア記述言語で記述されたCMOS集積回路の論理シミュレーションを実行し、1サイクル毎のシミュレーション結果を出力する。
【0049】
データ編集部302は、論理シミュレーション部301より送られてくる論理シミュレーションの結果及びCMOS集積回路の情報から、スタンバイサイクルにおいて、全部でM個ある内部ネットの内、有効に取り扱うm個の内部ネットを特定し、特定した各ネットの信号状態を表すmビットデータを出力する。なお、このデータ編集部302は、上記実施の形態1のIDDQテスト用サイクル選択抽出装置150内の備えられるデータ編集部302と同じ処理を実行するものであり、ここでの重複した説明は省略する。
【0050】
テスト用サイクル選択抽出部303は、データ編集部302を介して送られてくるスタンバイサイクルのmビットデータが、直前に選択抽出したサイクルのmビットデータと、ハミング距離に関して所定の条件を満足する場合にのみ、当該サイクルをIDDQテスト用のサイクルとして選択する。テスト用サイクル選択抽出部303は、この判断を行った後に、論理シミュレーション部301に対して、次のサイクルのシミュレーションを実行させる。
【0051】
処理終了条件入力部304は、上記テスト用サイクル選択抽出部303において実行するIDDQテスト用サイクルの選択抽出条件、及び、処理終了条件を外部より設定するためのマン・マシンインターフェースである。
印刷・表示部305は、上記テスト用サイクル選択抽出部303により選択抽出された各サイクルについて、論理シミュレーションの開始より何番目のサイクルであるのかを表す情報を印刷又は表示する。
【0052】
図14は、IDDQテスト用サイクル選択抽出装置300のハードウェア構成を示す図である。本装置150は、キーボード400、マウス401、記憶装置402、データ処理装置403、ディスプレイ404、及び、プリンタ405より構成される。
【0053】
キーボード400及びマウス401は、図13に示した処理終了条件入力部304として機能する。データ処理装置403は、中央演算処理装置(CPU)及びプログラムを格納するメモリより構成され、中央演算処理部がメモリに書き込まれているIDDQテスト用サイクル選択抽出処理プログラムを実行することで、図13に示したデータ編集部302、及び、IDDQテスト用サイクルの選択抽出部303として機能する。ディスプレイ404及びプリンタ405は、図13に示した印刷・表示部155として機能する。
【0054】
図15は、データ処理装置403の実行するIDDQテスト用サイクル選択抽出処理のフローチャートである。以下、本図のフローに従ってIDDQテスト用のサイクルの選択抽出処理について説明する。
【0055】
まず、論理シミュレーション部301によるCMOS集積回路の論理シミュレーションを開始し、各動作サイクルにおける各ネットの状態より最初のスタンバイ状態を検出する(ステップS60)。論理シミュレーション部301から送られてくるCMOS集積回路の内部ネットについての情報に基づいて、有効に取り扱うm個のネットを特定し、各ネットの論理値を所定の順序で並べてmビットのデータとして出力する(ステップS61)。なお、この処理内容は、既に図5〜図10を用いて説明した上記実施の形態1のデータ処理装置203の実行するステップS1の処理と同じであり、ここでの重複した説明は省く。
【0056】
最初に検出されたスタンバイ状態におけるサイクルを第1のIDDQテスト用のサイクルとし、論理シミュレーションの開始より何番目のサイクルであるのかを特定する情報、第1番目にIDDQテスト用のサイクルとして選択抽出されたことを表すデータ、及び、このサイクルにおける各ネットの論理値を所定の順序で並べて表したmビットのデータを記憶装置402に保存すると共に、トグル認識レジスタ内のデータをリセットしておく(ステップS62)。なお、このトグル認識レジスタの構成は、実施の形態1のものと同じであり、トグル済みフラグ記憶部250及び未トグルデータ記憶部251よりなり、データ処理装置403内に備えるメモリを用いて実現される。
【0057】
この後、論理シミュレーションを続行して1サイクル分時計を進め(ステップS63)、次のサイクルがスタンバイ状態であるか否かについての判断を行う(ステップS64)。ここで、論理シミュレーションを実行したサイクルがスタンバイサイクルでない場合(ステップS64でNO)、上記ステップS63に戻り、次のサイクルについての論理シミュレーションを実行する。
【0058】
論理シミュレーションを実行したサイクルがスタンバイサイクルの場合(ステップS64でYES)、当該サイクルにおけるmビットデータと、1つ前のタイミングでIDDQテスト用のサイクルであるとして選択抽出されたサイクルのmビットデータについて、トグル済みフラグの値が”0”のビット位置のデータのみに着目した場合のハミング距離が所定の基準値以上であるか否かについての判断を行う(ステップS65)。
【0059】
ここで、ハミング距離が所定値以上で無い場合(ステップS65でNO)、上記ステップS63に戻り、次のサイクルについての論理シミュレーションを実行する。なお、上記所定の基準値は、mビットデータの内、トグル済みフラグが”0”のビットの数に応じて、所定の規則に従い変更する。例えば、トグル済みフラグが”0”のビット数がp(但し、m≧p)である場合、上記所定の基準値をp−2(但し、p≦2の場合には1)に設定する。
【0060】
一方、当該サイクルがスタンバイ状態にあると判断された場合であって(ステップS64でYES)、ハミング距離が上記所定の基準値以上の場合には(ステップS65でYES)、当該サイクルを次のIDDQテスト用のサイクルとして選択抽出し、当該サイクルが論理シミュレーションの開始より何番目のサイクルであるのかを特定するデータ、第1番目にIDDQテスト用のサイクルとして選択抽出されたことを表すデータ、及び、このサイクルにおける各ネットの論理値を所定の順序で並べて表したmビットのデータを記憶装置202に保存する(ステップS66)。
【0061】
トグル認識レジスタ内のトグル済みフラグ記憶部250の値が”0”のビット位置のデータのみに着目し、上記ステップS66で選択したIDDQテスト用のサイクルにおけるmビットデータと、その直前に選択したmビットデータとの比較を行い、トグル認識レジスタ内のトグル済みフラグ記憶部250内のデータの更新を行う(ステップS67)。
未処理のサイクルが存在する場合、又は、トグル認識レジスタに”0”にセットされているビットが未だ存在している場合であって(ステップS68でYES)、操作者により設定された終了条件を未だ満足していない場合(ステップS69でNO)、上記ステップS63に戻り、次のサイクルについての処理を行う。
【0062】
一方、全てのサイクルに対する処理が終了した場合、又は、トグル認識レジスタの各ビットが1にセットされた場合には(ステップS68でNO)、処理を終了し、ディスプレイ204及びプリンタ205等へ処理結果を出力するステップS70へと進む。また、未処理サイクルが残っている場合、又は、トグル認識レジスタの”0”にセットされているビットが残存している場合であっても(ステップS68でYES)、操作者が指定した終了条件を満足した場合には(ステップS69でYES)、処理を終了し、ディスプレイ204及びプリンタ205等へ処理結果を出力するステップS70へと進む。ステップS70では、選択抽出し記憶装置202に保存したIDDQテスト用の各サイクルについて、論理シミュレーションの開始から何番目の動作サイクルであるのかを特定する情報(データ)をディスプレイ204に表示出力すると共に、プリンタ205により印刷出力する。
【0063】
以上に説明したように、実施の形態2にかかるIDDQテスト用サイクルの選択抽出装置300は、論理シミュレーション部301における論理シミュレーションの実行に連動してIDDQテスト用のサイクルを選択抽出するため、論理シミュレーションの終了と共に、IDDQテスト用サイクルの選択処理を終了する。これにより、処理に要する時間を短くすることができる。
【0064】
【発明の効果】
本発明の第1のIDDQテスト用サイクル選択抽出装置では、選択抽出すべきIDDQテスト用のサイクル数nを指定せずとも、必要十分な個数のテストサイクルを選択抽出することができる。このため、半導体集積回路の出荷前に漏れのない正確なIDDQテストを迅速に実行することができる。
【0065】
また、好ましい構成の装置では、トグル済みフラグの立っていないデータに関して、互いのハミング距離の最も大きなデータの近似解を迅速に得ることが可能となるため、全体の処理時間を短縮することができる。
【0066】
本発明の第2のIDDQテスト用サイクル選択抽出装置では、論理シミュレータによる論理シミュレーションの実行と連動して動作するため、論理シミュレーションの終了と同時にIDDQテスト用のサイクル抽出処理を終了することができる。このように、迅速に処理結果が得られるので、IDDQテストの作業効率が向上する。
【0067】
より好ましい構成の上記第1又は第2の装置では、回路内に存在するインバータやバッファなど、その入出力が一対一に対応する素子については、その入出力ネットの何れか一方のみを有効なネットとする。また、処理対象となるネットを、機能ブロック単位で、階層設計データの中から電源系統に準じて、又は、直接指定しても良い。これにより、無駄なデータの比較検証を省き、IDDQテスト用のサイクルを検出するのに要する時間を短縮することができる。
【0068】
また、より好ましい構成の上記第1又は第2の装置では、論理シミュレーションの対象となる全動作サイクルの中で、有効に取り扱うサイクルを指定することで、不必要なサイクルについて無駄な処理を省き、処理に要する時間を短縮することができる。
【図面の簡単な説明】
【図1】 本発明の実施の形態1にかかるIDDQテスト用サイクル選択装置の機能ブロック図である。
【図2】 本発明の実施の形態1にかかるIDDQテスト用サイクル選択装置のハードウェア構成図である。
【図3】 データ処理装置の実行する処理を示すフローチャートである。
【図4】 トグル認識レジスタのデータ構成を示す図である。
【図5】 有効に取り扱うm個のネットを特定する処理を具体的に示すフローチャートである。
【図6】 有効に取り扱うm個のネットを特定する処理を具体的に示すフローチャートである。
【図7】 有効に取り扱うm個のネットを特定する処理を具体的に示すフローチャートである。
【図8】 有効に取り扱うm個のネットを特定する処理を具体的に示すフローチャートである。
【図9】 機能ブロックの定義について説明するための図である。
【図10】 有効に取り扱うm個のネットを特定する処理を具体的に示すフローチャートである。
【図11】 n個のmビットデータの中からハミング距離の大きなデータを選択抽出する処理のフローチャートである。
【図12】 10個のmビットデータに対するデータ処理装置による処理例を示す図である。
【図13】 実施の形態2にかかるIDDQテスト用サイクル選択抽出装置の機能ブロックを示す図である。
【図14】 実施の形態2にかかるIDDQテスト用サイクル選択抽出装置のハードウェア構成図である。
【図15】 実施の形態2にかかるIDDQテスト用サイクル選択抽出装置の処理のフローチャートである。
【符号の説明】
100…論理シミュレーション装置
150,300…IDDQテスト用サイクル選択抽出装置
151,302…データ編集部
152…スタンバイサイクルのmビットデータ格納部
153,304…処理終了条件入力部
154,303…IDDQテスト用サイクル選択抽出部
155,305…選択抽出済みサイクル印刷・表示部
200,400…キーボード
201,401…マウス
202,402…記憶装置
203,403…データ処理装置
204,404…ディスプレイ
205,405…プリンタ
250…トグル済みフラグ記憶部
251…未トグルデータ記憶部
260〜285…内部ネット
301…論理シミュレーション部
Claims (12)
- CMOS集積回路の論理シミュレーション中に現れたn個のスタンバイ状態のサイクルにおける各m個のネットの状態を表すmビットデータの中から、mビットデータを構成する全てのビットの値が少なくとも1回は1及び0となる組み合わせを選択抽出し、選択抽出したmビットデータに対応するサイクルをIDDQテスト用のサイクルとして選択抽出するIDDQテスト用サイクル選択抽出装置であって、
前記論理シミュレーションの実行時における各動作サイクルの内、スタンバイ状態にあるサイクルを検出するスタンバイサイクル検出手段と、
全サイクルの論理シミュレーション終了後に、上記集積回路内のm個のネットの状態を表すmビットデータを、上記スタンバイサイクル検出手段により検出されたn個のスタンバイ状態のサイクル毎に保存するデータ保存手段と、
mビットデータを構成する各ビットに一対一に対応するトグル済みフラグの記憶手段と、
mビットデータを順次与えられ、与えられたmビットデータに基づいてトグル済みフラグを更新するフラグ更新手段であって、mビットデータを与えられると、該mビットデータ及びその前に与えられたmビットデータのトグル済みフラグのセットされていないビットのデータについて、ビット単位の比較を行い、一方が”1”で他方が”0”のデータ値を持つビットに対応するトグル済みフラグをセットするフラグ更新手段と、
上記データ保存手段に記憶するn個のmビットデータの中から、互いのハミング距離が最も離れている2つのmビットデータを第1及び第2の選択抽出データとして選択し、上記フラグ更新手段に第1及び第2の選択抽出データの順で与える第1データ選択手段と、
上記フラグ更新手段によるトグル済みフラグの更新後、mビットデータの内、未だトグル済みフラグが立っていないビット位置を認識する認識手段と、
認識手段によりトグル済みフラグが立っていないと認識されたビット位置にのみ着目して、上記データ保存手段に保存されているmビットデータの中から、既に選択抽出されたmビットデータからのハミング距離が最も大きなmビットデータを選択し、選択したmビットデータを新たな選択抽出データとして上記フラグ更新手段に与える第2データ選択手段とを備え、
上記第1データ選択手段は、選択抽出の対象となるmビットデータの中から、mビットの中に”1”が最も多く含まれているデータと、”0”が最も多く含まれているデータとを選択し、選択した前記2つのmビットデータのうち一方のmビットデータの各ビットの値が全て”0”であり、他方のmビットデータの各ビットの値が全て”1”の場合には、この2つのデータのみでテストを行うことができると判断して選択抽出処理を終了することを特徴とするIDDQテスト用サイクル選択抽出装置。 - 請求項1に記載するIDDQテスト用サイクル選択抽出装置において、
上記第2データ選択手段は、トグル済みフラグの立っていないビット位置のデータに関して、選択抽出の対象となるmビットデータの中から、mビットの中に”1”が最も多く含まれているデータと、”0”が最も多く含まれているデータとを選択し、これが全て”0”または”1”のパターンの場合には選択抽出処理を終了し、これ以外の場合であって、”1”が最も多く含まれているデータが複数ある場合は、それらの複数のデータのうちデータの値が最大のmビットデータを選択し、”0”が最も多く含まれているデータが複数ある場合は、それらの複数のデータのうちデータの値が最小のmビットデータを選択することを特徴とするIDDQテスト用サイクル選択抽出装置。 - CMOS集積回路の論理シミュレーションの実行に伴い、IDDQテスト用のサイクルを選択抽出するIDDQテスト用サイクル選択抽出装置であって、
CMOS集積回路の論理シミュレーションを実行する論理シミュレーション手段と、
論理シミュレーション手段によるシミュレーション実行時における動作サイクル毎に、当該サイクルに前記集積回路がスタンバイ状態にあるか否かを判断する判断手段と、
判断手段により最初にスタンバイ状態であると判断されたサイクルを第1のIDDQテスト用サイクルとして選択する第1サイクル選択手段と、
ハミング距離に対して、比較対象となるデータのビット数に応じて所定のしきい値を設定するしきい値設定手段と、
第1サイクル選択手段による選択の後に、判断手段によりスタンバイ状態にあると判断されるサイクルの内、上記選択された第1のIDDQテスト用のサイクルにおける上記集積回路内のm個のネットの状態を表すmビットのデータとのハミング距離が上記しきい値設定手段の設定したしきい値よりも大きなmビットのデータを有する最初のサイクルを、第2のIDDQテスト用のサイクルとして選択する第2サイクル選択手段と、
mビットデータを構成する各ビットに一対一に対応するトグル済みフラグの記憶手段と、
mビットデータを順次与えられ、与えられたmビットデータに基づいてトグル済みフラグを更新するフラグ更新手段であって、mビットデータが与えられると、該mビットデータ及びその前に与えられたmビットデータのトグル済みフラグのセットされていないビットのデータについて、ビット単位の比較を行い、一方が”1”で他方が”0”のデータ値を持つビットに対応するトグル済みフラグをセットするフラグ更新手段と、
第1及び第2サイクル選択手段により第1及び第2のIDDQテスト用として選択された2つのサイクルにおける前記集積回路内のm個のネットの状態を表す2つのmビットデータを第1及び第2の選択抽出データとして選択し、上記フラグ更新手段に第1及び第2の選択抽出データの順で与える第1データ選択手段と、
上記フラグ更新手段によるトグル済みフラグの更新後、未だトグル済みフラグが立っていないビットデータの位置を認識する認識手段と、
既に選択したmビットデータの上記認識手段によりトグル済みフラグが立っていないと認識されたビット位置のみに着目し、上記判断手段によりスタンバイ状態であると判断されたサイクルであって、上記着目するビット位置でのハミング距離が上記しきい値設定手段により設定されたしきい値よりも大きいmビットデータを示すサイクルを選択し、選択したサイクルのmビットデータを新たな選択抽出データとして上記フラグ更新手段に与える第2データ選択手段とを備えることを特徴とするIDDQテスト用サイクル選択抽出装置。 - 請求項1乃至請求項3に記載する何れか1つのIDDQテスト用サイクル選択抽出装置であって、
上記第2データ選択手段は、トグル認識レジスタ内におけるトグル済みフラグが立ったビットの個数が所定値以上になるまでの間、選択したmビットデータを新たな選択抽出データとして上記フラグ更新手段に与えることを特徴とするIDDQテスト用サイクル選択抽出装置。 - 請求項1乃至請求項3に記載する何れか1つのIDDQテスト用サイクル選択抽出装置であって、
上記第2データ選択手段は、所定数のIDDQテスト用のサイクルが選択抽出されるまでの間、選択したmビットデータを新たな選択抽出データとして上記フラグ更新手段に与えることを特徴とするIDDQテスト用サイクル選択抽出装置。 - 請求項1乃至請求項5に記載する何れか1つのIDDQテスト用サイクル選択抽出装置であって、
更に、論理シミュレーションの対象となる前記集積回路内に含まれるインバータの数を検出する検出手段を備え、
上記記憶手段は、上記検出手段により検出したインバータの入出力ネットの何れか一方だけを前記集積回路内のネットとして取り扱うことを特徴とするIDDQテスト用サイクル選択抽出装置。 - 請求項1乃至請求項5に記載する何れか1つのIDDQテスト用サイクル選択抽出装置であって、
更に、論理シミュレーションの対象となる前記集積回路内に含まれるバッファの数を検出する検出手段を備え、
上記記憶手段は、上記検出手段により検出したバッファの入出力ネットの何れか一方だけを前記集積回路内のネットとして取り扱うことを特徴とするIDDQテスト用サイクル選択抽出装置。 - 請求項1乃至請求項5に記載する何れか1つのIDDQテスト用サイクル選択抽出装置であって、
更に、論理シミュレーションの対象となる前記集積回路内のネットの内、有効に取り扱うネットを指定するための指定手段を備え、
上記記憶手段は、上記指定手段により指定されたm個のネットの状態を表すmビットデータを保存することを特徴とするIDDQテスト用サイクル選択抽出装置。 - 請求項1乃至請求項5に記載する何れか1つのIDDQテスト用サイクル選択抽出装置であって、
更に、論理シミュレーションの対象となる前記集積回路内のネットの内、有効に取り扱う、1以上の回路より構成される機能ブロック回路を指定するための指定手段を備え、
上記記憶手段は、上記指定手段により指定された機能ブロック内に内包されるm個のネットの状態を表すmビットデータを保存する手段を備えることを特徴とするIDDQテスト用サイクル選択抽出装置。 - 請求項1乃至請求項5に記載する何れか1つのIDDQテスト用サイクル選択抽出装置であって、
更に、論理シミュレーションの対象となる前記集積回路の階層設計データの中から、有効に取り扱う所定の階層を指定するための指定手段を備え、
上記記憶手段は、指定手段により指定された階層に属する回路のm個のネットの状態を表すmビットデータを保存することを特徴とするIDDQテスト用サイクル選択抽出装置。 - 請求項1乃至請求項5に記載する何れか1つのIDDQテスト用サイクル選択抽出装置であって、
更に、論理シミュレーションの対象となる前記集積回路の中から、有効に取り扱う特定のネットの接続されている電源系統を指定するための指定手段と、
上記記憶手段は、指定手段により指定された電源系統に接続されているm個のネットの状態を表すmビットデータを保存することを特徴とするIDDQテスト用サイクル選択抽出装置。 - 請求項1乃至請求項5に記載する何れか1つのIDDQテスト用サイクル選択抽出装置であって、
更に、全動作サイクルの中で、有効に取り扱うサイクルを指定するための指定手段を備え、
上記指定手段により指定されたサイクルを処理対象とすることを特徴とするIDDQテスト用サイクル選択抽出装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22927397A JP3689537B2 (ja) | 1997-08-26 | 1997-08-26 | Iddqテスト用サイクルの選択抽出装置 |
US09/139,716 US6093212A (en) | 1997-08-26 | 1998-08-25 | Method for selecting operation cycles of a semiconductor IC for performing an IDDQ test by using a simulation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22927397A JP3689537B2 (ja) | 1997-08-26 | 1997-08-26 | Iddqテスト用サイクルの選択抽出装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1164461A JPH1164461A (ja) | 1999-03-05 |
JP3689537B2 true JP3689537B2 (ja) | 2005-08-31 |
Family
ID=16889536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22927397A Expired - Fee Related JP3689537B2 (ja) | 1997-08-26 | 1997-08-26 | Iddqテスト用サイクルの選択抽出装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6093212A (ja) |
JP (1) | JP3689537B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2360291A1 (en) | 2001-10-30 | 2003-04-30 | Benoit Nadeau-Dostie | Method and program product for designing hierarchical circuit for quiescent current testing and circuit produced thereby |
US6862717B2 (en) * | 2001-12-17 | 2005-03-01 | Logicvision, Inc. | Method and program product for designing hierarchical circuit for quiescent current testing |
JP4756002B2 (ja) | 2007-02-19 | 2011-08-24 | 株式会社リコー | 半導体集積回路の設計支援装置、その設計支援方法、その製造方法、プログラム、及び記録媒体 |
JP2011180841A (ja) | 2010-03-01 | 2011-09-15 | Ricoh Co Ltd | 半導体設計支援装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2905566B2 (ja) * | 1990-06-11 | 1999-06-14 | 富士通株式会社 | Moslsiの電源電流測定時期検出方法 |
US5644251A (en) * | 1993-04-22 | 1997-07-01 | Lsi Logic Corporation | Switchable pull-ups and pull-downs for IDDQ testing of integrated circuits |
US5459737A (en) * | 1993-07-07 | 1995-10-17 | National Semiconductor Corporation | Test access port controlled built in current monitor for IC devices |
US5552744A (en) * | 1994-08-11 | 1996-09-03 | Ltx Corporation | High speed IDDQ monitor circuit |
US5694063A (en) * | 1994-08-11 | 1997-12-02 | Ltx Corporation | High speed IDDQ monitor circuit |
US5570034A (en) * | 1994-12-29 | 1996-10-29 | Intel Corporation | Using hall effect to monitor current during IDDQ testing of CMOS integrated circuits |
US5721495A (en) * | 1995-10-24 | 1998-02-24 | Unisys Corporation | Circuit for measuring quiescent current |
US5914615A (en) * | 1997-04-29 | 1999-06-22 | Hewlett-Packard Company | Method of improving the quality and efficiency of Iddq testing |
-
1997
- 1997-08-26 JP JP22927397A patent/JP3689537B2/ja not_active Expired - Fee Related
-
1998
- 1998-08-25 US US09/139,716 patent/US6093212A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH1164461A (ja) | 1999-03-05 |
US6093212A (en) | 2000-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5604895A (en) | Method and apparatus for inserting computer code into a high level language (HLL) software model of an electrical circuit to monitor test coverage of the software model when exposed to test inputs | |
JP3094448B2 (ja) | 半導体装置の検査方法、装置および製造方法 | |
US7308660B2 (en) | Calculation system of fault coverage and calculation method of the same | |
JP4602004B2 (ja) | テストパターン作成装置、テストパターン作成方法及びテストパターン作成プログラム | |
US7162674B2 (en) | Apparatus for selecting test patterns for logic circuit, computer implemented method for selecting test patterns, and computer program product for controlling a computer system so as to select test patterns | |
US4692921A (en) | Method for generating verification tests | |
US7506291B2 (en) | Test emulator, emulation program and method for manufacturing semiconductor device | |
JP3018996B2 (ja) | 故障個所特定化方法 | |
US6134513A (en) | Method and apparatus for simulating large, hierarchical microelectronic resistor circuits | |
CA2399670A1 (en) | Method and apparatus for modeling and simulating the effects of bridge defects in integrated circuits | |
JP3669836B2 (ja) | Iddqテスト用サイクルの選択抽出装置 | |
US6915494B2 (en) | Fault analyzing system, method for pursuing fault origin and information storage medium for storing computer program representative of the method | |
JP3689537B2 (ja) | Iddqテスト用サイクルの選択抽出装置 | |
US6789223B2 (en) | Method for optimizing test development for digital circuits | |
US6820243B1 (en) | Hybrid system of static analysis and dynamic simulation for circuit design | |
US6223333B1 (en) | Pattern matching method, timing analysis method and timing analysis device | |
US8166380B2 (en) | Method and apparatus for identifying paths having appropriate lengths for fault simulation | |
US20040205436A1 (en) | Generalized fault model for defects and circuit marginalities | |
US6748352B1 (en) | Method and apparatus for scan design using a formal verification-based process | |
JP3003587B2 (ja) | 個別テストプログラム作成方式 | |
US5528604A (en) | Test pattern generation for an electronic circuit using a transformed circuit description | |
US20080195985A1 (en) | Apparatus, method, and computer product for estimating power consumption of LSI | |
US7036063B2 (en) | Generalized fault model for defects and circuit marginalities | |
JPH09305649A (ja) | 論理シミュレーション装置 | |
Wang et al. | A new validation methodology combining test and formal verification for PowerPC/sup TM/microprocessor arrays |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040629 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040830 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050607 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050613 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080617 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090617 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090617 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100617 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110617 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110617 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120617 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130617 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |