本発明の各実施形態に係る半導体集積回路の検証方法及びテストパターンの作成方法では、テストパターンが適切であるか否かを検証する。そして、検証したテストパターン(テストデータ)を検査装置から半導体集積回路に入力し、そのテストパターンに応じて出力される信号を検査装置で検出し、検査を行なう。以下の実施形態では、LSIのプロセス、温度、電圧等のばらつきや検査装置での制限を考慮した半導体集積回路の検証方法及びこれに用いるテストパターンの加工方法について説明する。
(第1の実施形態)
図1、図2は、それぞれ論理検証の波形結果の一例を示す図である。また、図3は、本発明の第1の実施形態に係る半導体集積回路の検証方法を示すフローチャート図であり、図4は、本実施形態の半導体集積回路の検証方法において、検証ツールを用いて信号の変化時間を抽出する例を示すフローチャート図である。
図3及び図4に示すように、本実施形態の半導体集積回路の検証方法は、以下の手順で行われる。
まず、入力クロックの各サイクルにおける動作期待値31を準備する。この動作期待値31は、例えばRTL検証等により得られ、記憶装置などに保持されている。ここで、サイクルとは、入力クロックの1周期分の期間のことである。入力クロックとしては、検証対象となる回路自体の動作クロックを用いてもよいし、検査装置から入力されるクロック信号を用いてもよい。また、動作期待値とは、各サイクルにおいて、クロック入力時に確定する出力信号の値のことである。
次に、所定のサイクルにおける信号の変化時間32を準備する。所定のサイクルにおける信号の変化時間32は、被検証回路のタイミング検証結果から求めてもよいし、実際のデバイスを検査装置を用いて測定し、その結果からサイクルにおける信号の変化時間32を抽出してもよい。ここで、タイミング検証とは、ダイナミック検証により行われる場合と、静的(スタティック)タイミング解析(STA)により行われる場合の両方を含むものとする。このうち、図4に示すように、STAツールなどを用いた静的タイミング解析を行なう場合には、検証に要する時間を著しく短縮できるので、特に好ましい。
なお、本発明の各実施形態において、「(テスト)サイクルにおける信号の変化時間」とは、各(テスト)サイクルにおいて、信号レベルが変化する範囲の時間、及びその時間の情報を意味するものとする。
次いで、図3、図4に示すように、動作期待値31とサイクルにおける信号の変化時間32とを用いて期待値照合時間の抽出33を行なう。この抽出は、例えば専用の検証ツールによって行われる。ここで、本実施形態の検証方法では、動作期待値31と検証対象の回路の測定値との比較を正しく行なうために、期待値照合時間を以下のように設定する。
検証対象となる半導体集積回路にテストパターンを入力した場合、LSIのプロセス、測定温度、入力信号のばらつきや電源電圧等のばらつきによって出力信号が出力される時間がばらつく。そのため、図1、図2に示すように、出力信号がLレベルからHレベルに立ち上がるものとすると、出力信号の立ち上がり時刻は、遅延が最小となる時刻t1と遅延が最大となる時刻t2との間となる。ここで、時刻t1から時刻t2までの間を「信号変化可能性区間」と呼ぶとすると、この信号変化可能性区間中に期待値照合時間を設定した場合、正しく期待値比較することができなくなる。
そのため、上述の期待値照合時間の抽出33を行なうステップにおいて、図1に示すように信号変化可能性区間が入力クロックのサイクル幅より短い場合に、例えば、サイクル(2)での動作期待値がHであれば、期待値照合時間をサイクル(2)のうち時刻t2以後に設定する。
また、図2に示すように時刻t2がサイクル(3)に移動している場合には、サイクル(2)内でストローブすると正確に期待値比較を行なうことができない。そのため、サイクル(2)では期待値照合時間を設定せず、期待値比較を行わない場合もある。
なお、このような期待値照合時間の抽出33は、例えば専用のソフトウェアによって制御されるCPUにより実行される。
なお、あらかじめ期待値照合時間33が設定されている場合、期待値照合時間の抽出33を行なうステップでは、動作期待値31そのものが正しく検証されるかどうかの期待値検証を行ってもよい。すなわち、測定された信号レベルと期待値とを比較し、測定値が期待値通りか否かを判定することもできる。このため、図3、図4を含め以後の図と、以後の実施形態では、期待値照合時間の抽出を行なうステップを、「期待値照合時間、期待値検証」と表している。
なお、図4に示すように、期待値照合時間の抽出33の後に検証結果ファイル43を出力することも可能である。この検証結果ファイル43は、コンピュータを用いた解析などに利用できる。
本実施形態の半導体集積回路の検証方法においては、検証対象となるLSIのプロセスや、検査時の温度、入力信号の電圧や電源電圧等のばらつきなどによって出力信号の値が変化する可能性がある区間に期待値比較を行わない。そのため、従来よりも安定な期待値照合時間を設定でき、結果として、検査の信頼性を向上させることができる。特に、図4に示すように、STAツールを用いる場合には、ダイナミックな検証を行なう必要がないので、従来に比べてテストパターンの作成工数を少なくし、検証に要する時間を飛躍的に短縮することができる。その結果、検証対象の集積回路が大規模化、微細化する場合にも、従来よりも短時間で回路の検証を行なうことが可能となるので、製造コストの低減や、LSIの設計期間の短縮を図ることができる。
また、本実施形態の方法で抽出した期待値照合時間を用いれば、信号値が不安定となるタイミングでの期待値比較を行なわなくて済むので、検査の無駄を省き、検査時間を短縮できる場合がある。
なお、本実施形態の半導体集積回路の集積方法において、期待値照合時間の抽出33を行なう検証ツールは検査装置に組み込まれていてもよいし、外部のコンピュータ等に組み込まれていてもよい。検証ツールは検査装置に組み込まれている場合は、検査装置内でそのまま期待値照合時間の抽出33を行なえる。これに対し、外部のコンピュータ等に検証ツールが組み込まれている場合、ランニングコストが大きな検査装置を使用する時間を短縮できるので、半導体集積回路の製造コストを低減することができる。
また、本実施形態では、t1を遅延が最小となる時刻、t2を遅延が最大となる時刻とする例を説明したが、t1、t2は、互いに異なる遅延条件での時刻であればいずれの条件の時刻であってもよい。
(第2の実施形態)
図5は、本発明の第2の実施形態に係る半導体集積回路の検証方法を示すフローチャート図である。
本実施形態の検証方法は、LSIのプロセス、測定時の温度、電源電圧等のばらつきによって信号の変化時間がばらつく場合のばらつきの範囲を、期待値検証の条件として用いる方法である。
図5に示すように、本実施形態の半導体集積回路の検証方法は以下の手順で行われる。
まず、入力クロックの各サイクルでの最小遅延条件(以下、MIN遅延条件と称する)における出力信号の変化時間51を求める。ここで、MIN遅延条件とは、LSIのプロセス、温度、電圧等のばらつきを考慮した上で、出力信号が出力される時刻が最も早く、被検証回路における出力信号の遅延が最小になる条件のことである。MIN遅延条件における出力信号の変化時間51は、例えば被検証回路のばらつき情報をSTAツールに入力することなどで求めることができる。被検証回路の実測結果から求めてもよい。
次に、入力クロックの各サイクルでの最大遅延条件(以下、MAX遅延条件と称する)における出力信号の変化時間52を求める。ここで、MAX遅延条件とは、LSIのプロセス、測定時の温度、電源電圧等のばらつきを考慮した上で、出力信号が出力される時刻が最も遅く、被検証回路における出力信号の遅延が最大になる条件のことである。MAX遅延条件における出力信号の変化時間52は、MIN遅延条件における出力信号の変化時間と同様に、ばらつき情報をSTAツールに入力することなどで求められる。なお、MAX遅延条件における出力信号の変化時間52を求めて、MIN遅延条件における出力信号の変化時間51を求める手順を省くこともできる。
次に、動作期待値53を準備する。この動作期待値53は、例えばRTL検証等により得られる。
次に、期待値照合時間の抽出または期待値検証54を行なう。本ステップで、あらかじめ期待値照合時間が設定されていれば、期待値そのものが正しく検証されるか否かの期待値検証を行なう。
また、期待値照合時間が設定されていなければ、選択されたサイクル内で、MIN遅延条件における出力信号の変化時間51、MAX遅延条件における出力信号の変化時間52の両変化時間での信号値が共に期待値と等しくなる期間を期待値照合時間として設定する。
このように、集積回路の検証時に予期される遅延ばらつきを網羅することにより、ばらつきに耐えうる安定したストローブを決定し、且つ安定したテストパターンを作成することが可能になる。また、第1の実施形態と同様に、ダイナミック検証を用いることなく集積回路の検証を行なうことができるので、検証時間の短縮と、検証で得られたテストパターンを用いた検査の品質向上とを合わせて実現できる。そのため、半導体集積回路の開発期間を短縮することができ、最終的には開発コストを含めた全体的な製造コストの低減を図ることができる。
なお、以上では、MIN遅延条件における出力信号の変化時間51とMAX遅延条件における出力信号の変化時間52とを用いて期待値照合時間の抽出を行なう例について説明したが、MIN遅延条件及びMAX遅延条件に限らず、複数の遅延条件における出力信号の変化時間を用いて期待値照合時間の抽出を行ってもよい。この場合でも、複数の遅延条件を網羅することになるので、1つの遅延条件のみを用いる場合に比べて安定したストローブを決定し、且つ安定したテストパターンを作成することが可能になる。
(第3の実施形態)
図6は、本発明の第3の実施形態に係る半導体集積回路の検証方法を説明するためのフローチャート図であり、図7、図8、及び図9は、それぞれ異なる遅延条件において、入力クロック、出力信号の動作期待値、MIN遅延条件及びMAX遅延条件下での出力信号の具体例を示すタイミングチャート図である。
第3の実施形態に係る半導体集積回路の検証方法は、タイミング検証により得られる信号の遅延状態と動作期待値を用いる方法である。
図6に示すように、本実施形態の検証方法においては、まず、MIN遅延条件での信号状態61についての情報を取得する。次いで、MAX遅延条件での信号状態62についての情報を取得する。続いて、動作期待値63を取得する。次に、MIN遅延条件での信号状態61、MAX遅延条件での信号状態62及び動作期待値63とを用いて検証ツールが組み込まれたコンピュータ等により期待値照合時間の抽出または期待値検証64を行なう。
期待値照合時間の抽出を行なうステップでは、期待値照合時間があらかじめ設定されていれば、期待値そのものが正しく検証されるか否かの期待値検証を行ってもよい。また、期待値照合時間が設定されていなければ、このステップで期待値の照合を行なう。
本実施形態の特徴は、MIN遅延条件及びMAX遅延条件のそれぞれでの出力信号の遷移を考慮に入れて期待値の照合時間の設定や期待値の検証を行なうことにある。出力信号の遷移とは、例えばLレベルからHレベルに立ち上がるとか、HレベルからLレベルに立ち下がるなどの信号値の変化を意味する。信号値としては、H、L、不定(信号値が不明)等があり、さらに信号強度としては、通常の状態と、断線状態であるZ(ハイインピーダンス)、あるいはその中間の状態(レジスティブ)等が考えられる。
次に、図7〜図9を用いて、タイミング検証により得られる信号の状態を用いて期待値照合時間を抽出する具体的な3つの例を説明する。
まず、図7に示す例では、入力クロックの1〜3サイクル目までの出力信号の動作期待値が、順にL、H、Lとなっている。
また、MIN遅延条件下での出力信号の遷移状態において、図7中のUminは、信号がLレベルからHレベルに立ち上がる時間を示している。なお、図7に示すDminは、信号がHレベルからLレベルに立ち下がる時間を示している。
また、MAX遅延条件下での出力信号の遷移状態において、図7中のUmaxは、信号がLからHに立ち上がる時間を示しており、Dmaxは、信号がHからLに立ち下がる時間を示している。特にMAX遅延条件において、回路の構成によっては、大きな遅延を生じるので信号変化時間が該当サイクルを超えてしまう場合も有り得る。このことを、「NCC」と称する。図7は、NCCが発生しない場合の例を示している。
このような場合、MIN遅延条件における出力信号、MAX遅延条件における出力信号のいずれもが動作期待値と等しくなっている時間を期待値照合時間とすることで、出力信号の立ち上がり時及び立ち下がり時がばらついた場合にも、安定に期待値の比較を行なうことができるようになる。
具体的には、図7に示す「Lのパス範囲」、及び「Hのパス範囲」の矢印が示す時間範囲を期待値照合時間とすれば、1サイクル目、2サイクル目、3サイクル目のいずれにおいても安定して期待値比較を行うことが可能になる。図7の例では、信号の立ち下り、つまりDmaxに期待値照合時間を設定し、Dmaxから入力クロックの周期ごとに期待値照合時間を設定することにより、1〜3サイクル目のいずれにおいても安定して期待値比較を行うことが可能になる。なお、この例では、Dmaxでの期待値をLレベルとして照合している。また、ここでは1〜3サイクル目のみを例にとって説明したが、すべてのサイクルにおいて、同一のタイミングで期待値比較を行なってもよい。例えば、全サイクルを通してMAX遅延条件における出力信号の立ち下がり時間Dmaxに固定してもよい。検査装置に設定できるタイミングの数は限られること、検査装置に設定を入力するのには時間を要することなどから、期待値比較を行なうタイミングは、各サイクルで同一であることが好ましい。ただし、検査上重要なサイクルであって安定に期待値比較を行えない場合などには、サイクルごとに期待値比較を行なうタイミングを変えてもよい。
次に、図8は、MIN遅延条件におけるDminとMAX遅延条件におけるDmaxの関係が、(Dmax−Dmin)<1レートとなる場合の各信号の波形を示している。ここで、1レートは入力クロックの周期のことである。図8では、MAX遅延条件での出力信号において、HレベルからLレベルに立ち下がる時間Dmaxがサイクル幅を超えてしまい、次のサイクル(4サイクル目)で変化する場合を示している。
この場合にも、MIN遅延条件における出力信号、MAX遅延条件における出力信号のいずれもが動作期待値と等しくなっている時間を期待値照合時間とすることで、出力信号の立ち上がり時及び立ち下がり時がばらついた場合にも、安定に期待値の比較を行なうことができるようになる。なお、MIN遅延条件での出力信号レベルとMAX遅延条件での出力信号レベルとが異なる期間は「安定ストローブ不可領域」としてその期間内には期待値照合時間を設定しないこととする。
具体的には、図8に示す「Lのパス範囲」、及び「Hのパス範囲」の矢印が示す時間範囲を期待値照合時間とすれば、1サイクル目、2サイクル目、3サイクル目のいずれにおいても安定して期待値比較を行うことが可能になる。図8に示す例では、Dmaxを基準として入力クロックの周期ごとに期待値照合時間を設定することにより、1〜3サイクルのいずれにおいても安定して期待値比較を行うことが可能になる。
次に、図9では、MIN遅延条件におけるDminとMAX遅延条件におけるDmaxの関係が、(Umax−1レート)>Dminとなる場合の各信号の波形を示している。この例において、MAX遅延条件での出力信号がLレベルからHレベルに立ち上がる時間Umaxは、MIN遅延条件での出力信号がHレベルからLレベルに立ち下がる時間Dminよりも大きくなっている。この場合、2サイクル目の期待値である「H」を安定して比較する時間が存在しないことになる。この際には、例えば、2サイクル目の期待値Hの比較では、別のタイミングで期待値照合を行なうなどの対応を行なう。これにより、集積回路からの出力信号の遅延時間がばらついても、安定して期待値比較を行なうことができる。
このように、本実施形態の検証方法は、タイミング検証により得られた、信号がどの時間でどのように遷移するかという情報と動作期待値とを用いて期待値照合時間を抽出したり、あらかじめ期待値照合時間が設定されている場合、期待値が正しく検証されるかの期待値検証を行うものである。従って、本実施形態の検証方法によれば、ばらつきに耐えうる安定したストローブを決定し、安定したテストパターンを作成することが可能になる。
(第4の実施形態)
図10は、本発明の第4の実施形態に係る半導体集積回路の検証方法を説明するためのフローチャート図であり、図11は、MAX遅延条件での出力信号と検査装置の制限とを示すタイミングチャートである。
検査装置には、どのようなテストパターンでも入力可能なわけではなく、制限事項がある。制限事項の範囲を越えるテストパターンを入力すると正しく検査が行われなかったり、検査装置が受け付けなかったりすることになる。本実施形態の半導体集積回路の検証方法として、検査装置の制限事項を用いて、テストパターンの期待値照合時間と期待値を検証する手法を説明する。
図10に示すように、本実施形態の半導体集積回路の検証方法においては、まず、テストサイクルにおける信号の変化時間101を取得して検証ツールが組み込まれたコンピュータ等(以下、「コンピュータ等」と略記する)に入力する。また、検査装置の制限102をコンピュータ等に入力する。さらに、動作期待値103を取得してコンピュータ等に入力する。次に、コンピュータ等により期待値照合時間の抽出または期待値の検証104を行なう。ここで、サイクルにおける信号の変化時間101は、第1〜第3の実施形態で説明したようなタイミング検証により得られる。
なお、検査装置は、出力信号の遅延が所定の値以上であると測定できない。検査装置の制限102は、このような、検査装置が測定できる信号の許容範囲などの事項を含んでいる。
期待値照合時間の抽出を行なう際には、テストサイクルにおける信号の変化時間101、検査装置の制限102、及び動作期待値103を用いて、テストサイクルにおける信号の変化時間101からの検討だけでなく、検査装置の制限102の範囲内であるかどうかのチェックを行なう。本ステップでは、 最終的に期待値照合時間を抽出したり、あらかじめ期待値照合時間が設定されている場合、期待値そのものが正しく検証されるかどうかの期待値検証を行なうこともできる。
例えば、MAX遅延条件での出力信号が図11に示すような波形を示す場合、検査装置の遅延制限は矢印で示す時間までであるが、実際の出力信号波形は、この制限を越えてLレベルからHレベルに立ち上がっている。この場合は、検査装置の制限を違反しており、正しく検査されない。そのため、検査装置の制限に違反する場合には、後の実施形態で説明するように、テストパターンを加工して期待値照合を行わないようにすることで、安定に期待値比較を行なうことができるようになる。特に半導体集積回路の動作が高速化すると、クロック周期に対する遅延が大きくなるので、本実施形態の検証方法は、動作速度が大きい半導体集積回路により好ましく用いられる。
このように、第4の実施形態の検証方法によれば、検査装置から見たテストパターンの検証が可能となり、検査装置で問題となる制限を事前に検証可能とすることができる。
(第5の実施形態)
図12は、本発明の第5の実施形態に係るテストパターンの作成方法を説明するためのフローチャート図であり、図13は、入力クロック、出力信号の動作期待値、MIN遅延条件及びMAX遅延条件下での出力信号の具体例を示すタイミングチャート図である。
第1〜第4の実施形態で説明した検証方法においては、テストサイクルにおける信号の変化時間及び動作期待値を用いて期待値照合時間を抽出したり、あらかじめ期待値照合時間が設定されている場合、期待値そのものが正しく検証されるかどうかの期待値検証を行なう。このような抽出や検証の結果、安定して期待値照合できる期間が存在しないことが判明したサイクルでは、期待値照合を行わないようにテストパターンを加工する必要がある。期待値検証によって得られた安定期待値照合不可情報に基づき、テストパターンを加工する手法について以下に説明する。
図12に具体的に示すように、まず、第1〜第4の実施形態と同様に、STAツールなどから取得されたテストサイクルにおける信号の変化時間121及び動作期待値122を検証ツールなどに入力し、期待値照合時間の抽出または期待値検証123を行なう。本ステップでは、あらかじめ期待値照合時間が設定されている場合には、期待値そのものが正しく検証されるかどうか、期待値検証を行なう。
次に、この検証の結果、安定して期待値照合することができないと検査装置などによって判定されたサイクルにおいては、安定期待値照合不可情報124が生成される。本ステップ及び期待値検証のステップは、ソフトウェアである検証ツールを用いて検査装置またはコンピュータを制御することによって実現される。
次に、安定期待値照合不可情報124に基づき、元のテストパターン125の加工126を行ない、加工テストパターン127を生成する。
次に、図13に示す具体的な信号波形を用いて上述の方法を説明する。
同図には、MAX遅延条件での出力信号において、LレベルからHレベルへの立ち上がり時間Umax、HレベルからLレベルへの立下り時間Dmaxいずれも入力クロックの2サイクル目より遅延しており、且つDmax−Dmin>1レートである例を示している。この場合、図13に示す「方法1」のように、Dmaxを基準に期待値照合時間を決定すると、1サイクル目の期待値である「L」と、2サイクル目の期待値である「H」がMIN遅延条件で期待値照合できなくなる(図13中の×印)。
また、図13に示す方法2に示すようにDminを基準に期待値照合時間を決定すると、MIN遅延条件で1サイクル目の期待値「L」が期待値照合できず、MAX遅延条件で3サイクル目の期待値「L」も期待値照合できなくなる(図13中の×印)。
このように、全てのサイクルで揃って期待値照合を行なうことができる期待値照合時間がない場合、期待値照合できないサイクルをマスクする等の加工処理を行なう。あるいは、方法3に示すように3サイクル目のLの期待値照合時間だけをDmaxで決定する場合もある。この場合、全サイクル同一の期待値照合時間ではなく、サイクルに応じた期待値照合時間を複数持つことになる。また、方法4に示すように、期待値照合時間をUminで決定する場合もある。
なお、ここでの期待値照合時間は、DmaxやDminだけでなく、UmaxやUminで決定してもよい。その場合でも、期待値照合できないサイクルをマスクしたり、サイクルごとに期待値照合を行なうタイミングをずらす加工処理をすることで、安定して期待値照合を行えるようになる。
昨今の微細化されたLSIでは、遅延のばらつきに対応した安定期待値照合時間を1値で持つことができないケースが出てきているが、この場合、テストパターンの期待値照合を安定してできないサイクルをマスクしたり、あるいは故障検出率を低くしないために、サイクルに応じて適切な時間に期待値照合を行うようにテストパターンを加工する必要が出てくる。本実施形態のテストパターンの加工方法によれば、微細化されたLSIを検証する際にも、ばらつきに対応した安定したストローブを決定し、安定したテストパターンを作成することが可能になり、テストパターンの精度向上とテストパターンの作成工数削減が併せて可能になる。従って、上述の方法で作成されたテストパターンを用いることで、半導体集積回路の検査の信頼性を向上させることができる。
(第6の実施形態)
図14は、検査装置からの出力波形を示すタイミングチャート図であり、図15は、本発明の第6の実施形態に係る半導体集積回路の検証方法を説明するためのフローチャート図である。また、図16は、入力クロック、出力信号の動作期待値、MIN遅延条件及びMAX遅延条件下での出力信号の具体例を示すタイミングチャート図である。
図14の上段に示すように、通常の論理検証で用いられる信号波形はデジタル的に変化するが、実際の検査装置から出力される検査信号の波形は、図14の中段に示すように、ある時間(過渡時間)をもって論理レベルが変化している。信号レベルが変化する過渡時間では、信号値は明確でなく、この過渡時間に時刻(1)、(2)のような期待値照合時間がある場合は、安定して検査を行うことができない場合がある。以下で説明する本実施形態の半導体集積回路の検証方法は、信号過渡時間を考慮し、その信号過渡時間中に期待値照合を行わないことを特徴とする方法である。
図15に具体的に示す検証方法においては、まず、STAツールを用いたタイミング検証等により、テストサイクルにおける信号の変化時間151を取得する。
次に、テストサイクルにおける信号の変化時間151に対し、信号変化の過渡時間の追加152を行なう。これにより、過渡時間込みの、テストサイクルにおける信号の変化時間153が得られる。
次いで、過渡時間込みの、テストサイクルにおける信号の変化時間153と(基本)動作期待値154とをコンピュータ等に入力し、期待値照合時間の抽出または期待値検証155を行なう。本ステップでは、期待値照合時間が設定されていない場合にはこれを設定し、期待値照合時間が設定されている場合には、期待値そのものが正しく検証されているかどうかの期待値検証を行なう。
次に、図16に示す具体的な信号波形を用いて上述の方法を説明する。同図に示す例では、入力クロックの1〜3サイクル目までの出力信号の動作期待値が、順にL、H、Lとなっている。
また、MAX遅延条件においては、回路の構成次第で遅延が大きくなって信号変化時間が該当サイクルを超えてしまう(NCC)場合があるが、図16では、MAX遅延条件での出力信号にNCCが発生しない場合を示している。そして、MIN遅延条件における出力信号の立ち上がり時間Umin及び立ち下がり時間Dminには、それぞれ図中に斜線で示された、検査装置の出力の過渡時間が追加されている。これと同様に、MAX遅延条件における出力信号の立ち上がり時間Umax、及び立ち下がり時間Dmaxにも、斜線で示された過渡時間が追加されている。
このような場合、MIN遅延条件及びMAX遅延条件の両条件下での出力信号の値が動作期待値と等しくなっている時間が、信号変化時間のばらつきに耐え得る安定した期待値照合時間となる。この際、信号変化の過渡時間は期待値照合時間から除かれる。つまり、図16中の「Lのパス範囲」の矢印、及び「Hのパス範囲」の矢印の示す時間範囲が安定期待値照合時間となる。MAX遅延、MIN遅延のそれぞれの条件で出力信号の値が共通する時間に期待値照合時間を指定することにより、1サイクル目、2サイクル目、3サイクル目のいずれにおいても安定して期待値比較を行うことが可能になる。図16の例では、信号の立下り時間Dmaxに期待値照合時間を設定し、Dmaxから入力クロックの周期ごとに期待値照合時間を設定することにより、1〜3サイクルのいずれにおいても安定して期待値比較を行うことが可能になる。
このように、信号変化の過渡時間を考慮することにより、実際の検査装置から出力される信号波形に基づいた、より高精度な検証を行なうことができる。その結果、安定したストローブを決定し、さらにテストパターンを作成することが可能になり、テストパターンの精度向上と該テストパターンの作成工数の削減が可能になる。
なお、信号変化の過渡時間は、検査装置内の負荷容量が大きい程大きくなる。この他にも、過渡時間を生じさせる原因としては、信号の反射などが考えられる。
なお、以上ではMAX遅延条件及びMIN遅延条件での出力信号を用いて説明したが、これらの条件での出力信号に代えて、異なる複数の遅延条件での出力信号を用いてもよい。また、信号変化の過渡時間は、信号の立ち上がり及び立ち下がりにおける過渡時間に限らず、Zレベルや不定値などに変化する際の過渡時間など、信号が変化するのに要する時間を含み得る。
(第7の実施形態)
第7の実施形態として、検査装置の出力に生じる過渡時間のうち、検査装置内の負荷容量により生じる過渡時間を考慮に入れた半導体集積回路の検証方法について説明する。
第6の実施形態で説明したように、実際の検査装置から出力される波形は、ある時間(過渡時間)をもって変化している。この過渡時間は信号波形のなまりに伴って生じ、検査ボードを含む検査装置や信号の周波数等の状態に応じて変化する。特に検査装置内部の負荷容量が信号波形のなまりに大きく影響する。すなわち、負荷容量が小さければ、信号波形のなまりは小さくなり、負荷容量が大きければ信号波形のなまりは大きくなる。
一方、LSIから出力される信号がハイインピーダンスの場合は、検査装置で検査する際に、定電流源を用いて信号レベルを調整する方法が採られている。この場合も、過渡時間が経過し、信号が期待するレベルに達してから検査を行なう。
次に、図を用いて本実施形態の集積回路の検証方法の手順を説明する。
図17は、検査装置から出力される検査信号の波形の一例を示すタイミングチャート図であり、図18は、本実施形態の半導体集積回路の検証方法のうち、信号変化の過渡時間を算出するステップまでを示すフローチャート図であり、図19は、本実施形態の半導体集積回路の検証方法のうち、期待値照合時間の抽出または期待値の検証を行なうステップまでを示すフローチャート図である。
図18に示すように、まず、検査装置内の負荷が無い場合の遅延情報(以下、「負荷無し遅延情報181と称する)と検査装置内に負荷が存在する場合の遅延情報(以下、「負荷有り遅延情報182」と称する)とを検査装置の過渡時間算出手段(図示せず)に入力し、過渡時間算出部が信号変化の過渡時間の算出184を行なう。図17に示すように、検査装置からの出力信号において、検査装置内の負荷が存在する場合の遅延時間から負荷が無いと仮定した場合の遅延時間を引くことによって信号変化過渡時間を計算することができる。この過渡時間算出手段は、検査装置内にあってもよいし、検査装置外部の装置内にあってもよい。また、本ステップにおいて、ハイインピーダンス測定を行なう場合には、この測定が使用するセルの能力に依存するものであるので、信号変化過渡時間を計算するための計算式を用いる。この計算式はライブラリ183として保持されている。具体的には、電源電圧、定電流源の電流値、負荷容量等をパラメータとして与えることにより、使用セルに応じた計算を行う。また、セルがプルアップ抵抗を有する場合には、パラメータとしてプルアップ抵抗値を加えることで、信号変化過渡時間をより正確に算出することができる。
一方、図19に示すように、例えば第1〜第4の実施形態で説明した手順により、タイミング検証などからテストサイクルにおける信号の変化時間191を取得する。
次に、テストサイクルにおける信号の変化時間191及び信号変化の過渡時間185を用いて信号変化の過渡時間の追加192を行ない、過渡時間を加味したテストサイクルにおける信号の変化時間(以下、「過渡時間込みの信号の変化時間193と称する」)を算出する。
次に、過渡時間込みの信号の変化時間193と動作期待値196とを用いて期待値照合時間の抽出または期待値検証197を行なう。本ステップでは、期待値照合時間が設定されていない場合にはこれを抽出し、期待値照合時間が既に設定されている場合には、期待値の検証を行なう。
以上のように、本実施形態の検証方法によれば、検査装置の負荷容量に応じて変化する過渡時間を算出し、これを加味して期待値照合時間の抽出や期待値の検証を行なうので、実際の検査装置から出力される検査信号の波形に基づいた、より高精度な検証を行うことができる。また、結果的に安定したストローブを決定し、さらにテストパターンを作成することが可能になり、テストパターンの精度向上と作成工数の削減が可能になる。
なお、以上で説明した信号変化の過渡時間を追加する方法は、スタティック検証だけでなく通常のダイナミック検証にも適用可能である。
図20は、ダイナミック検証を利用する場合の本実施形態に係る半導体集積回路の検証方法の変形例を示すフローチャート図である。
本変形例においては、まず、検証対象とする半導体集積回路について、ダイナミック検証を行ない、その結果(ダイナミック検証結果201)を得る。
一方、上述したように、信号変化の過渡時間の算出203を行ない、信号変化の過渡時間204を取得する。
次に、ダイナミック検証結果201と信号変化の過渡時間204を用いて信号変化の過渡時間204を追加後の検証結果205を得る。この過渡時間追加後の検証結果から期待値照合を行うのに適さない時間を判断することが可能になる。
(第8の実施形態)
図21は、本発明の第8の実施形態に係る半導体集積回路の検証方法を示すフローチャート図である。
高速で動作するLSIを検査する場合、検査ボードを含む検査装置の負荷容量は単純な固定値ではなく、分布定数として扱い、信号の周波数にも依存する。つまり、信号変化過渡時間は信号周波数の関数として表現されるようになる。本実施形態の検証方法は、LSIの信号周波数から信号変化過渡時間を算出する手段を用いるものである。
すなわち、図21に示すように、まず、検証したいLSIについて回路シミュレーションを行ない、シミュレーション結果211を得る。続いて、シミュレーション結果211から適切なテストパターン212を切り出す。
次に、信号周波数抽出手段213により、シミュレーション結果211及びテストパターン212から信号周波数214を抽出する。なお、信号周波数抽出手段213は例えば専用のツールであって、検査装置内に組み込まれていてもよいし、検査装置外部のコンピュータ等に組み込まれていてもよい。
次いで、信号周波数214をもとに過渡時間算出手段(検証ツール等)が信号の過渡時間の計算215を行い、信号の立ち上がる際、及び立ち下がる際の過渡時間(信号変化の過渡時間216)を算出する。
本ステップで用いられる手法の一例として、信号周波数214から関連する想定負荷容量を計算して、周波数を加味して求められた負荷有り遅延情報と、負荷無し遅延情報として処理することができる。ここで、負荷無し遅延情報と負荷有り遅延情報とは、図18に示す第7の実施形態で説明したものと同様である。
また、信号周波数214の情報としては、シミュレーション結果やテストパターンを入力として抽出されたものの他、検査装置の外部にあらかじめ保持された周波数情報を用いることができる。これらの周波数情報は、過渡時間算出手段に供給され、過渡時間算出手段が信号変化過渡時間216を算出する。
信号変化の過渡時間216を決定すれば、それ以降は図19に示す第7の実施形態と同様に、信号変化の過渡時間216を考慮して期待値照合時間を抽出したり、もともと期待値照合時間が設定されている場合、期待値そのものが正しく検証されるか否かの期待値検証を行なう。
このように、信号周波数に応じて信号変化の過渡時間を算出することにより、将来的にLSIの動作がより高速化した場合にも、実際の検査装置から出力される波形に基づいてより高精度な検証を行なうことができる。すなわち、上述の方法によれば、安定したストローブを決定し、さらにテストパターンを作成することが可能になり、テストパターンの精度向上と作成工数の削減が可能になる。
なお、本実施形態の半導体集積回路の検証方法において、上述のように、シミュレーション結果211から適切なテストパターン212を作成せずに、シミュレーション結果を信号周波数抽出手段213に直接入力しても信号変化過渡時間を求めることは可能である。
(第9の実施形態)
図22は、本発明の第9の実施形態に係る半導体集積回路の検証方法に用いる各種条件と遅延時間と含むデータベースを示す図である。図23は、本実施形態の半導体集積回路の検証方法を示すフローチャート図である。
信号変化時に信号が安定しない原因として、検査装置の負荷容量により生じる信号変化過渡時間の他にも、検査時の検査装置に関係する配線のインピーダンス不整合や反射による場合がある。
実際のLSIの検査においては、様々な要因によって信号レベルが不安定になる信号不安定区間が変わってくる。例えば、信号レベルを不安定にする要因(上記信号変化過渡時間に影響する条件)としては、使用する検査装置やボード、ソケット、配線等の検査治具によるもの、電源電圧、使用セルタイプ等のLSIのスペック、さらに周波数等の動作条件等がある。
本実施形態の検証方法は、こうした種々のパラメータに応じた信号不安定時間を計算もしくは実測してデータベース化しておき、検証を行う際に、検査時に想定されるパラメータの具体的な値からデータベースを検索して、信号不安定時間(信号変化過渡時間)を決定する手法を含むものである。
図22に示すデータベースは、例えば、検査治具、LSIのスペック、動作条件などと過渡時間とを含んでいる。例えば一行目のデータは、LSIからの信号がHレベルからLレベルに変化する際の信号変化過渡時間が0.5nsであることを示している。このように、本実施形態で用いられるデータベースは、各パラメータを様々に組み合わせた場合の過渡時間のデータを含んでいる。
次に、このデータベースを用いた場合の検証フローを説明する。
図23に示すように、まず、テストサイクルにおける信号の変化時間231を準備する。
次に、テストサイクルにおける信号の変化時間231に対して、信号変化過渡時間データベース233から抽出した信号変化過渡時間の追加232を行なう。これにより、過渡時間込みのテストサイクルにおける信号の変化時間234を生成する。
次いで、動作期待値235と過渡時間込みのテストサイクルにおける信号の変化時間234とを用いて期待値照合時間の抽出、または期待値検証236を行なう。
このように、検査時の信号が不安定な時間に、過渡時間に影響を与える条件をデータベースに追加し、これに対応する過渡時間を反映することにより、LSIがより高速で動作する場合でも安定して検証が行えるようになる。すなわち、本実施形態の半導体集積回路の検証方法によれば、実際の検査装置から出力される波形に基づいたより高精度な検証を行なうことができ、結果的に安定したストローブを決定することができるようになる。さらに、テストパターンを作成することが可能になり、テストパターンの精度向上と作成工数の削減とを実現することができる。
(第10の実施形態)
図24は、トライステートの出力バッファから信号が出力される回路の一例を示す図であり、図25は、図24に示す回路からの出力信号を示すタイミングチャート図である。また、図26は、本発明の第10の実施形態に係る半導体集積回路の検証方法を示すフローチャート図である。
図24に示すようなトライステートの出力バッファから信号が出力される場合、C→OUTのパスとA→OUTのパスとの2通りのパス(信号伝達経路)がある。
図25に示す回路からの出力波形の具体例を参照すると、Zに絡む例えば(3)のH→Zの変化はC→OUTのパスによる。それ以外の例えば(1)のH→Lの変化はA→OUTのパスによる。このように、信号が互いに異なるパスを通る場合、それぞれの信号の遅延時間は異なるため、確実に期待値照合を行なうためには、それぞれのパスを通る信号について変化のサイクルに応じた期待値照合時間を細かく設定すればよい。
しかしながら、検査装置によってはタイミングを設定する際の設定値の数に制限がある場合がある。そのため、期待値照合時間をまとめられるものはなるべくまとめた方がよい。仮に検査装置の制限内であっても、タイミング設定が多いと検査装置でのタイミング設定に時間がかかり、検査が迅速に行えなくなることも考えられる。従って、信号がいずれのパスを通る場合にも共通して期待値比較を行える期待値照合時間を設定することが最も好ましい。このように、各経路を通る信号についての期待値照合時間は基本的に一値にまとめることが好ましいが、昨今の微細化されたLSIでは、一値にまとめることが困難で、まとめようとすると期待値照合(期待値比較)を見送る(つまり期待値マスクが発生する)場合が出てくることがある。
しかし、回路動作を検証するために重要なサイクルでは、期待値をマスクすると結果的に不良を発生する等の課題が出てくる。この場合、検査装置の制限に合わせて期待値比較を行なうタイミングの設定をグループ分けする必要がある。特に、図24に示すような出力バッファの場合、C→OUTのパスを通る信号とA→OUTのパスを通る信号とは遅延傾向が大きく異なる場合があるため、それぞれの条件で分けた方が最終的にマスク箇所を少なくでき、安定に期待値比較を行える期待値照合時間を抽出しやすくなる。
本実施形態の半導体集積回路の検証方法は、期待値信号別(信号経路別)に期待値照合時間をグループ分けする手法である。以下、この手法について説明する。
図24の例では、まず、図25の中でZの変化である区間(3)、(4)、(6)とそれ以外の区間(1)、(2)、(5)とを分ける。ここで、グループ分けの方法としては、信号値による分け方の他に、タイミング検証結果後に遅延が近いものをまとめてもよい。
次に、図26に示すように、期待値照合時間を抽出するか、もともと期待値照合時間が設定されている場合、期待値そのものが正しく検証されるか否かの期待値検証を行なう(期待値照合時間の抽出または期待値検証263)。なお、本ステップの前に、テストサイクルにおける信号の変化時間261及び動作期待値262を検証ツールに入力しておく。
このように本手法を用いることにより、検査装置の機能を効率よく使い、検査時間を短くすることができる。それと共に、故障検出率を落とすことの無い高精度な検査を行うためのテストパターンの検証、テストパターン作成と、テストパターンの作成工数削減とを可能にすることができる。
なお、図24では、信号パスが2通りの場合を示したが、3通り以上あっても同様にグループ分けを行なって期待値照合時間を抽出したり期待値の検証を行うことができる。
(第11の実施形態)
図27は、本発明の第11の実施形態に係る半導体集積回路の検証方法を説明するためのタイミングチャート図であり、図28は、本実施形態に係る半導体集積回路の検証方法を示すフローチャート図である。
LSIは、システムクロック(基本クロック)信号以外に非同期のクロック信号を含む複数のクロック信号で動作する場合がある。この場合、回路の動作検証はサイクルベースで行われることになり、非同期クロック信号に同期して出力される信号を、システムクロックをベースとする信号に置き換えて処理することになる。本実施形態の検証方法は、非同期端子からの出力信号を基本クロック基準に置き換えて検証を行なう手法を含むものである。以下、この検証方法を説明する。
図27に示すOUT1端子からの信号は、システムクロック信号CKINにより動作して出力される。一方、OUT2端子からの信号は、システムクロック信号CKINとは非同期のクロック信号CKにより動作して出力される。
この場合、システムクロック信号CKINを基準サイクルとして置き換えた信号を用いて検査を行なう。例えば、OUT2端子からの出力がLレベルからHレベルに立ち上がる際の最大電圧値に達する時刻は、本来非同期のクロック信号CKに同期しており、Umax1となる。本実施形態の検証方法において、Umax1をシステムクロック信号CKINベースに置き換えてUmax2とする。置き換え方の例として、システムクロック信号CKINとクロック信号CKの周期が同じでタイミングが異なる場合には、両信号の立ち上がり時刻の差もしくは立ち下がり時刻の差だけUmax1をずらしてUmax2とする。両クロック信号の周期が異なる場合には、クロック信号CKの周期をシステムクロック信号に合わせて補正するなどすることで、Umax2を求める。
また、OUT2端子からの出力がHレベルからLレベルに立ち下がる際には、Umax1の場合と同様に、Dmax1をDmax2に置き換える。このように非同期のクロック信号CKではなく、システムクロック信号をベースとして置き換えた場合のタイミングに基づいて期待値照合時間と期待値を検証する。なお、ここではout1端子、OUT2端子からの出力信号の遅延が最大となる場合の信号のみ示しているが、第2の実施形態で説明したように、遅延が最小となる場合も考慮に入れて期待値照合時間を設定してもよい。
次に、本実施形態の検証方法の具体的な流れを説明する。
まず、図28に示すように、システムクロック信号と同期しない端子からの出力の遅延情報、すなわち非同期情報281を用いて非同期のクロック信号に同期する端子からの出力をシステムクロック信号ベースに置き換える(ステップ282)。ここでは、上述の手法により置き換えを行なう。なお、この処理は専用の検証ツールなどの置き換え手段により実行される。
続いて、置き換えた信号を用いて、テストサイクルにおける信号の変化時間283を抽出する。
次に、テストサイクルにおける信号の変化時間283と動作期待値284とを検証ツールなどに入力し、期待値照合時間の抽出または期待値検証285を行なう。本ステップでは、期待照合証時間を設定するか、期待値照合時間があらかじめ設定されている場合には、期待値が正しく設定されているか否かの検証を行なう。
また、本ステップでは、OUT1端子の出力とOUT2端子の出力とを別個に考えてそれぞれで期待値照合時間を設定してもよいし、図27に示すように、OUT1端子の出力とOUT2端子の出力とで同一の期待値照合時間を設定できる場合には、サイクルあたり1つの期待値照合時間を設定してもよい。期待値検証時間をまとめる方が、検証時間を短縮できるので、より好ましい。
このように、本実施形態の検証方法を用いれば、システムクロック信号(基本クロック信号)に依存した端子からの信号だけでなく、非同期クロック信号に依存する端子からの信号も同時に検証することができ、適用範囲が広がることになる。
(第12の実施形態)
図29は、検証対象となる集積回路の一例を概略的に示す図であり、図30は、図29に示す回路からの出力信号の波形を示すタイミングチャート図である。また、図31は、本発明の第12の実施形態に係る半導体集積回路の検証方法を示すフローチャート図である。
図29に例示するように、システムクロック信号によって動作する回路は、いくつかの最終段のフリップフロップから論理ゲートを通って外部端子に信号が出力される。そのため、信号が経由するフリップフロップやパスによって適切な期待値照合時間が変化する場合がある。
図29に示す回路では、OUT端子に信号が出力される時のサイクルにおける遅延は、信号がパスA〜Eのどのパスを通るかによって変わってくる。サイクルによって違うパスを通る場合も出てくるが、サイクルごとにいずれか一つのパスでの遅延が反映されることになる。一つの論理シミュレーションにおいて、各サイクルで信号が通るパスは、ダイナミックシミュレーション(ダイナミック検証)を行なって信号変化時間をチェックすることにより確認できる。
図30に示す例では、ダイナミック検証の結果により、LレベルからHレベルへの立ち上がりに関しては2種類のパス(パスA、パスC)、HレベルからLレベルへの立ち下りに関しては1種類のパス(パスA)によって信号が出力されることが確認できる。パスごとの遅延時間が分かるので、信号が通るパスは、各サイクルにおける信号変化の遅延時間から判断できる。
次に、図31を用いて本実施形態におけるパスの抽出方法の具体的な流れを説明する。
まず、ダイナミック検証311を行なって、シミュレーション結果312を得る。本ステップでは、MAX遅延やMIN遅延、あるいは検査装置内の容量による遅延を加味した条件など、いずれか1つのモードでのシミュレーションを行えばよい。
次に、シミュレーション結果312を用いてパスチェック313を行なう。本ステップでは、検証ツールがシミュレーション結果312から信号変化の遅延時間をチェックし、例えば、信号の変化点ごとに信号パスを抽出する。ここで、チェックの結果としてパス結果314を出力する場合もある。
図32は、本実施形態の検証方法におけるパスチェックの結果を示す図である。同図には、出力端子、サイクル番号、信号変化、及び遅延時間などが含まれており、どのサイクルでどれだけの遅延をもって信号がどう変化したかが示されている。同図に示す遅延時間は、サイクルのスタート時が分かればダイナミック検証からも求めることができる。
本実施形態では、このようなパス結果を用いて、期待値照合時間の設定や期待値検証などを行なう。
上述のパス結果は、ファイルとして出力してもよい。希望しない信号変化が発生している場合、このファイルを使ってそのサイクルを期待値照合しないようにマスク処理を行なってもよい。
以上のように、本実施形態の検証方法によれば、検証対象となる回路に複数のパスが存在する場合にも、少なくとも1回のダイナミック検証を行なうだけでパスチェックを行なうので、何度もダイナミック検証を行なう場合に比べて回路の検証時間を短縮することができる。また、パスチェックの結果、期待しない不要なパスによる出力を見極め、期待値照合の対象から外す等の処理を行うことが可能になる。その結果として、安定した検査が行えるテストパターンを作成することが可能になり、検査精度を向上させることが可能になる。
(第13の実施形態)
図33は、本発明の第13の実施形態に係る半導体集積回路の検証方法におけるパスチェックの結果を示す図であり、図34は、本実施形態に係る半導体集積回路の検証方法を示すフローチャート図である。
静的タイミング解析を用いることにより、ターゲットとする回路の経路(パス)における信号遅延を算出することができる。例えば、図30に示す出力信号について静的タイミング解析を行ない、図33に示すような結果を算出することができる。この例では、Lレベル→Hレベルへの立ち上がりに関して、5つのパスを経由する場合があり、それぞれの立ち上がり箇所には遅延時間が存在する。仮に図32に示すダイナミック検証によるパス結果と合わせてチェックすると、シミュレーションの1サイクル目はパスA、3サイクル目はパスA、6サイクル目はパスC、7サイクル目はパスAを通って信号が出力されていることが分かる。このように、本実施形態の検証方法は、静的タイミング解析とダイナミック検証結果を用いて、シミュレーション時に有効となっているパスを特定する手法を含むものである。
次に、図34を用いて本実施形態における有効パスの抽出方法の具体的な流れを説明する。
まず、ダイナミック検証341を行なって、シミュレーション結果342を得る。
次に、シミュレーション結果342を用いてパスチェック343を行なう。ダイナミック検証は非常に時間のかかる処理であり、本手法の場合、パス抽出を行なう情報として使うため、最低1モードのシミュレーションの結果があればよい。
一方で、ダイナミック検証と同一モードでの静的タイミング解析344を行ない、図33に示すようなパス情報と各パスのテストサイクルにおける信号の変化時間345を出力する。
次いで、パス情報と各パスのテストサイクルにおける信号の変化時間345とパスチェック343の結果(パス結果347)とを用いて、有効パスの抽出346を行なう。ここで、有効パスと抽出する手段は、専用のツールなどであり、パス結果347は、有効パス抽出手段に含まれても含まれなくてもよい。
このように、サイクルごとの有効パスを特定し、これをもとにして期待値照合時間の設定、または期待値検証を行うことにより、最終的にばらつきに耐えうる安定したストローブを決定し、安定したテストパターンを作成することが可能になる。また、上述の検証方法によれば、処理時間のかかるダイナミック検証を複数のモードで流す必要がなくなる。そのため、ダイナミック検証を用いた従来の検証方法に比べてより迅速に複数のパスを有する回路の動作検証を行なうことが可能となる。
なお、上述の方法において、スキャンテストのように対象となる出力端子が限定されている場合は、それ以外の端子は検証の対象から外した方が処理時間の短縮になる。この場合、テスト対象とならない端子は、ダイナミックなシミュレーション及び静的タイミング解析の対象から外して処理され、最終的に有効パスが抽出される。
−第13の実施形態に係る半導体集積回路の検証方法の変形例−
図35は、検証対象となる集積回路の、MIN遅延条件及びMAX遅延条件における出力信号を示すタイミングチャート図である。また、図36は、第13の実施形態に係る検証方法の一変形例を示すフローチャート図である。
図36に示すように、本変形例に係る半導体集積回路の検証方法においては、ダイナミック検証341及び静的タイミング解析344をそれぞれ複数モードにて行ない、それぞれのモードについて有効パスの抽出346を行なう。そして、各モードでのサイクルごとの有効パスを比較する。
図35に示す例では、MIN遅延条件とMAX遅延条件で有効パスを抽出しているが、1サイクル目で使われるパスがMIN遅延条件とMAX遅延条件とで異なっている。このように、同一サイクルで互いに異なるパスが抽出された場合、回路動作の異常が想定されることになる。
そこで、本実施形態の検証方法において、有効パスの抽出手段は2つ以上のモード間の有効パスを比較し、回路動作のチェックを行なう機能を有している。また、有効パスの抽出手段を含む検証ツールは、同一サイクルで有効パスが異なる箇所が検出された場合に、自動的にマスクして期待値比較を行わないようにする機能を有していてもよい。
これにより、単一モードでのシミュレーション結果及びタイミング解析結果を用いる第13の実施形態の方法に比べて、より故障検出の精度を向上させることができる。ただし、ダイナミック検証を複数回行なうことによって検証時間が長くなるので、必要に応じて第13の実施形態に係る検証方法と本変形例に係る検証方法とを使い分ければよい。
(第14の実施形態)
図37は、図29に示す回路からの出力信号の変化時において、無負荷の場合と負荷がある場合での遅延時間などを示す図であり、図38(a)〜(c)は、本発明の第14の実施形態に係る半導体集積回路の検証方法及びテストパターンの作成方法を示す図である。
LSIは、様々な負荷容量に応じて動作する必要がある。例えば、設計の上流段階では無負荷での論理動作、LSIが使用されるセットの負荷容量での動作を行なう必要があり、検査装置でのテストを行なう場合には、検査装置内の負荷容量が存在する状態で動作する必要がある。検査装置内の負荷容量は、機種によっても異なり、検査装置を変更する場合は、その検査装置に応じた負荷容量での動作を考える必要がある。さらに、LSIの動作がばらついた場合を想定して、それぞれ複数モード(例えばMINとMAX)で確実に動作する必要がある。
従来、これらの動作を保証するためには、それぞれの負荷容量に応じて複数のモードでダイナミック検証を行なう必要があった。
これに対し、本実施形態の半導体集積回路の検証方法は、時間のかかるダイナミック検証を実際に行なうことなく、擬似的にダイナミック検証の結果を出力しようとするものである。
図29に示す回路における、あるモードでのダイナミックな信号変化が図30のようになった場合を考える。すなわち、解析対象が第13の実施形態と同じ回路であって、有効パスの特定結果では、1サイクル目は信号経路がパスAでLレベル→Hレベルへ変化し、3サイクル目は信号経路がパスAでHレベル→Lレベルへ変化し、6サイクル目は信号経路がパスCでHレベル→Lレベルへ変化する場合である。
まず、図38(a)に示すように、静的タイミング解析361を行なって、想定される負荷容量に応じた各パスにおける信号の変化時間を、複数モードにて生成する。これにより、信号変化時間362の一覧を得る。図37に示す信号変化時間の一覧の具体例では、パスA、Cで信号がL→H、H→L等に変化する際の、無負荷、LSIが組み込まれるセットの負荷容量、検査装置(テスター)Aの負荷容量、検査装置Bの負荷容量、のそれぞれの負荷条件でMIN遅延、MAX遅延の場合の信号変化を示している。それぞれの遅延値は、ある基準の負荷容量を0とした場合の差分で表現してもよい。
次に、図38(b)に示すように、これらの信号変化時間362と第13の実施形態の方法で生成された有効パスの特定結果364とに基づき、擬似シミュレーション結果計算手段366が、各負荷容量、また、各モードでのダイナミック検証結果として扱える擬似シミュレーション結果367を擬似的に出力する。本ステップでは、少なくとも1モードでのダイナミック検証結果があれば、複数モードでの擬似シミュレーション結果を出力することができる。擬似シミュレーション結果計算手段366は、例えば検証ツールなどのソフトウェアであり、検査装置に組み込まれていてもよいし、外部の装置に組み込まれていてもよい。
次に、図38(c)に示すように、これらの複数の擬似シミュレーション結果367を用いてテストパターン検証手段370がテストパターン検証を行なって、それぞれの負荷容量や複数のモードで安定して動作するテストパターン371を抽出することも可能である。なお、期待値照合時間を抽出したい場合には入力信号は不要であり、擬似シミュレーション結果367から入力信号を省いて生成するとデータサイズを大幅に削減することができる。
以上のように、本手法を用いることにより、少なくとも1つのモードでのダイナミック検証さえ行えば、他のモードあるいは負荷容量条件でのダイナミック検証結果を擬似的に算出することが可能となる。特に、本手法によれば、ダイナミック検証を多数回行なう必要がなくなるため、従来よりも短時間にダイナミック検証相当の結果を出力することが可能になる。また、様々な負荷容量に応じた期待値照合時間の抽出や、期待値検証を短時間に行なうことが可能になる。
(第15の実施形態)
図39は、検証の対象となる回路からの出力信号の一例を示すタイミングチャート図であり、図40は、本発明の第15の実施形態に係る半導体集積回路の動作チェック方法を示すフローチャート図である。また、図41は、本実施形態の半導体集積回路の検証方法を示すフローチャート図である。
通常、回路を動作させた場合の基本期待値は決まっており、これと同様に信号変化の遷移も確定されている。
出力信号が、図39に示すような信号遷移をする回路を例にとって以下説明する。この例において出力信号は、全体としてL→H→L→H→L→H→L→Hと遷移している。そのため、もし比較対象の信号がL→H→L→Zなどと遷移していれば、回路としては正しく動作していないと判断できる。一方、個別のサイクルで見ると、3サイクル目では信号はH→Lに遷移している。3サイクル目でHレベル、Lレベルの信号が存在しければH→Lの遷移はあり得ないので、この場合も回路が正しく動作していないと判断できる。また、全サイクルを通して元々のH→Lの遷移が無ければ正しくない。逆にL→Hの遷移が想定されないサイクルでL→Hの遷移があっても回路動作は正しくない。このように、第15の実施形態は、信号の遷移を見て回路が正しく動作しているかどうかを判断する手法に関するものである。
図40及び図41を参照して、本実施形態の半導体集積回路の検証方法の具体的な手順を説明する。
まず、検証対象となる集積回路について、ダイナミック検証381を行ない、シミュレーション結果382を得る。
次いで、シミュレーション結果382と別途準備された動作期待値383とを用いて、信号遷移による動作チェックを行なう。本ステップは、例えば第1、第2の実施形態などで用いられる検証ツール、あるいは専用のツールをにより行われる。信号レベルの遷移だけをチェックしたい場合にはここで終了してもよいが、集積回路の動作検証を行なう場合には、次のステップに進む。
次に、図41に示すように、有効パス抽出手段により有効パスの抽出395を行なう。本ステップでは、例えば第13の実施形態で説明した方法によりサイクルごとの有効パスを特定する。
次いで、信号遷移による動作チェックの結果と有効パスの抽出結果とを用いて期待値照合時間の抽出または期待値検証396を行なう。有効パスの抽出395を本ステップの前処理として行なうことで、期待値照合時間の抽出や期待値検証に使用するシミュレーション結果382や動作期待値383等のデータが、回路動作が正しい場合の正しいデータかどうかを事前にチェックすることが可能になる。
本実施形態の検証方法において、単純に信号の遷移だけをチェックの条件とした場合、検証結果から作成したテストパターンを用いて、サイクルに依存しない動作だけのチェックを行うことが可能になる。この場合、仮に従来の検査方法でLSIの動作が正常に見える場合でも、サイクルベースに検査したために不良となるケースを検証することが可能になる。
また、上述の説明では、ベースとなる動作期待値と対象となるモードでのシミュレーション結果を用いる例を挙げたが、例えばMIN条件とMAX条件など複数モードでのシミュレーション結果を入力とした場合にも本実施形態の検証方法は適用可能である。これにより、より正確な回路検証が行えるようになる。
(第16の実施形態)
図42は、本発明の第16の実施形態に係る半導体集積回路の動作チェック方法を示すフローチャート図であり、図43は、本実施形態に係る半導体集積回路の検証方法を示すフローチャート図である。
第15の実施形態で説明した図37に示す例において、信号は、全体としてL→H→L→H→L→H→L→Hと遷移しており、全部で7回遷移している。もし、比較対象の信号が図37に示す区間内で7回以外の数の遷移をしていれば、検証対象の回路は、正常に動作していないと判断できる。一方、立ち上がり及び立ち下がりの回数を見ると、L→Hの遷移は4回、H→Lの遷移は3回発生している。仮にL→Hの遷移が4回以外の数であれば、正しく動作していないと判断できる。さらに、サイクル内での信号遷移を見てみると1サイクル目はL→Hの遷移が1回であるが、仮に1回でない場合は正しく動作していないと判断できる。このように本実施形態の動作チェック方法及び半導体集積回路の検証方法では、信号の遷移数を見て回路が正しく動作しているかどうかを判断する。
図42、図43を用いて本実施形態の半導体集積回路の検証方法の具体的な手順を説明する。
まず、検証対象となる集積回路についてダイナミック検証401を行ない、シミュレーション結果402を得る。
次いで、シミュレーション結果402と別途準備された動作期待値403とを用いて、信号遷移による動作チェックを行なう。本ステップでは、上述のように信号の遷移数をモニターすることで集積回路が正常か否かを判断する。信号レベルの遷移数だけをチェックしたい場合にはここで終了してもよいが、集積回路の動作検証を行なう場合には、次のステップに進む。
次に、図43に示すように、有効パス抽出手段により有効パスの抽出415を行なう。本ステップでは、例えば第13の実施形態で説明した方法によりサイクルごとの有効パスを特定する。
次いで、信号遷移による動作チェックの結果と有効パスの抽出結果とを用いて期待値照合時間の抽出または期待値検証416を行なう。有効パスの抽出415を本ステップの前処理として行なうことで、期待値照合時間の抽出や期待値検証に使用するデータが、回路動作が正しい場合の正しいデータかどうかを事前に迅速にチェックすることが可能になる。
本実施形態の半導体集積回路の検証方法によれば、従来の検査では検出できないタイプの故障を検出するためのテストパターンを効率よく作成することが可能になる。また、期待値照合時間の抽出や期待値検証を併せて行なうことにより、検証時間を大幅に延長することなく、回路動作の検証を行えるようになる。
また、上述の説明では、ベースとなる動作期待値と対象となるモードでのシミュレーション結果を用いる例を挙げたが、例えばMIN条件とMAX条件など複数モードでのシミュレーション結果を入力とした場合にも本実施形態の検証方法は適用可能である。
(第17の実施形態)
図44、図45は、本発明の第17の実施形態に係るテストパターンの加工方法を示すフローチャート図である。
これまでに説明した各実施形態に係る半導体集積回路の検証方法では、テストサイクルにおける信号の変化時間と動作期待値を用いて期待値照合時間を抽出したり、もともと期待値照合時間が設定されている場合には、期待値そのものが正しく検証されるか否かの期待値検証を行なっていた。
これに対し、本実施形態では、図44、図45に示すように、タイミング検証により得られる、テストサイクルにおける信号の変化時間421と、ベースとなるテストパターンの動作期待値422とを用いて、ベースとなるテストパターンの加工423を行ない、加工テストパターン424を作成する方法について説明する。
以下、図44、図45を用いて、本実施形態に係るテストパターンの作成方法の具体的な手順について説明する。
まず、テストサイクルにおける信号の変化時間421を準備する。テストサイクルにおける信号の変化時間421は、図45に示すようにSTA等の検証ツールで抽出する場合もあるし、実際のデバイスで検査装置を使って抽出する場合等もある。STAを使う場合には、ダイナミックな検証を行なう必要がないので、より迅速に処理を行なうことが可能になる。
次に、テストサイクルにおける信号の変化時間421を用いてテストパターンの加工423を
行ない、加工テストパターン424を生成する。ここでは、期待値照合を行なうことができないサイクルをマスクしたり、サイクルごとの期待値照合時間のタイミングをずらすことなどを行なう。
このように、本実施形態の方法を用いることにより、安定したストローブを有するテストパターンを作成し、テストパターンの精度向上を図ることができると共に、テストパターンの作成工数を削減することが可能になり、最終的には従来よりも正確且つ高精度な回路検査を行うことが可能になる。