(57)【特許請求の範囲】
【請求項１】
スキャンテスト可能である回路に対してスキャンチェインの入力に疑似乱数を与え、スキャンチェインの出力をシグニチャ解析する組み込み自己テスト機構を保持する集積回路の検証装置において、
スキャンデータをロード及びアンロードするためのシフト可能なメモリ領域を確保する手段と、
スキャンチェインへ供給されるべき疑似乱数をメモリ領域へシリアルに供給する手段と、
メモリ領域へロードされたデータをスキャンチェインへパラレルに印加する手段と、
シグニチャ解析すべきスキャンチェインのデータをメモリ領域へパラレルにとり込む手段と、
メモリ領域内へ取り込まれたデータをシグネチャ解析器へシリアルに供給する手段と、
を設けたことを特徴とする組み込み自己テストの検証装置。
【請求項２】
請求項１記載の検証装置において、スキャンデータのロード・アンロード中はスキャンテスト回路へのスキャンクロックの印加を強制的にオフ状態とする手段を設けたことを特徴とする組み込み自己テストの検証装置。
【請求項３】
スキャンテスト可能である回路に対してスキャンチェインの入力に疑似乱数を与え、スキャンチェインの出力をシグニチャ解析するようにした組み込み自己テスト機構を保持する集積回路の検証シミュレーション方法において、
シミュレータがテストベンチの記述に基づいて、
スキャンデータをロード及びアンロードするためのシフト可能なメモリ領域を確保し、
スキャンチェインへ供給されるべき疑似乱数をメモリ領域へシリアルに供給し、
メモリ領域へロードされたデータをスキャンチェインへパラレルに印加し、
シグニチャ解析すべきスキャンチェインのデータをメモリ領域へパラレルにとり込み、
メモリ領域へ取り込まれたデータをシグネチャ解析器へシリアルに供給する、
ことを特徴とする組み込み自己テストの検証シミュレーション方法。
【請求項４】
請求項３記載の検証シミュレーション方法において、スキャンデータのロード・アンロード中はスキャンテスト回路へのスキャンクロックの印加を強制的にオフ状態とすることを特徴とする組み込み自己テストの検証シミュレーション方法。
【請求項５】
請求項３又は４に記載の検証シミュレーション方法の処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体集積回路（ＬＳＩ）等のスキャンテスト回路の検証装置及び検証シミュレーション方法に関し、特に集積回路内に疑似乱数発生器とシグネチャ解析器とを備えたロジックＢＩＳＴ（自己組み込みテスト機構）の検証装置及び検証シミュレーション方法並びにそのプログラムに関する。
【０００２】
【従来の技術】
従来、半導体集積回路において、スキャンテスト回路に基づいて構築したロジックＢＩＳＴでは、スキャンチェインの入力へ疑似乱数を供給してスキャンチェインの出力をシグネチャ解析する。この動作を繰り返してテスト終了時のシグネチャを期待値とし、テスタでＯＫ、ＮＧ判定を下す。一般的に疑似乱数発生にはＬＳＦＲ（線形帰還シフトレジスタ）が用いられ、シグネチャ解析にはＭＩＳＲ（Ｍｕｌｔｉｐｌｅ  Ｉｎｐｕｔ  Ｓｉｇｎａｔｕｒｅ  Ｒｅｇｉｓｔｅｒ）が用いられる。これらはスキャンテスト回路のスキャンイン、スキャンアウトに接続している。
【０００３】
このように構成したロジックＢＩＳＴ機構の論理検証では、期待値であるシグネチャを得るためにスキャンチェインへの疑似乱数のロード、及びスキャンチェイン内のデータをアンロードしてシグネチャ解析する動作を繰り返し行う。なお、これに関連する公知例としては、例えば特開平５−２４１８８２号公報がある。
【０００４】
【発明が解決しようとする課題】
従来技術においては、ロジックＢＩＳＴ機構の論理検証を行う場合、スキャンチェインへの疑似乱数のロード、該スキャンチェイン内のデータをアンロードしてシグネチャ解析する動作を繰り返し行うため、検証中はロジックの内部イベントが膨大に発生し、その結果、現実的な時間で検証することができないという問題があった。
【０００５】
本発明は、集積回路のロジックＢＩＳＴ機構の論理検証において、スキャンチェインのロード・アンロード時に発生するロジックの内部イベント数を削除することによって、現実的な時間で検証可能とする検証装置及び検証シミュレーション方法、並びにそのプログラムを提供することを目的とする。
【０００６】
【課題を解決するための手段】
請求項１の発明は、スキャンテスト可能である回路に対してスキャンチェインの入力に疑似乱数を与え、スキャンチェインの出力をシグニチャ解析する組み込み自己テスト機構を保持する集積回路の検証装置において、スキャンデータをロード及びアンロードするためのシフト可能なメモリ領域を確保する手段と、スキャンチェインへ供給されるべき疑似乱数をメモリ領域へシリアルに供給する手段と、メモリ領域へロードされたデータをスキャンチェインへパラレルに印加する手段と、シグニチャ解析すべきスキャンチェインのデータをメモリ領域へパラレルにとり込む手段と、メモリ領域内へ取り込まれたデータをシグネチャ解析器へシリアルに供給する手段と、を設けたことを特徴とする。
請求項２の発明は、請求項１記載の検証装置において、上記スキャンデータのロード・アンロード中はスキャンテスト回路へのスキャンクロックの印加を強制的にオフ状態とする手段を設けたことを特徴とする。
請求項３の発明は、スキャンテスト可能である回路に対してスキャンチェインの入力に疑似乱数を与え、スキャンチェインの出力をシグニチャ解析するようにした組み込み自己テスト機構を保持する集積回路の検証シミュレーション方法において、シミュレータがテストベンチの記述に基づいて、スキャンデータをロード及びアンロードするためのシフト可能なメモリ領域を確保し、スキャンチェインへ供給されるべき疑似乱数をメモリ領域へシリアルに供給し、メモリ領域へロードされたデータをスキャンチェインへパラレルに印加し、シグニチャ解析すべきスキャンチェインのデータをメモリ領域へパラレルにとり込み、メモリ領域へ取り込まれたデータをシグネチャ解析器へシリアルに供給することを特徴とする。
請求項４の発明は、請求項３記載の検証シミュレーション方法において、スキャンデータのロード・アンロード中はスキャンテスト回路へのスキャンクロックの印加を強制的にオフ状態とすることを特徴とする。
請求項５の発明は、請求項３又は４に記載の検証シミュレーション方法の処理をコンピュータに実行させるためのプログラムである。
【０００７】
【発明の実施の形態】
以下、本発明の一実施例について図面により説明する。
図１に、本発明によるロジックＢＩＳＴの検証装置の一実施例の構成図を示す。１００は半導体集積回路（ＬＳＩ）であり、スキャンチェイン１０４，１０５，１０６、疑似乱数発生器１０７、シグネチャ解析器１０８などを保持する。本発明では、これにシフト可能なメモリ領域１０１，１０２，１０３を設け、これらが疑似乱数発生器１０７、シグネチャ解析器１０８に接続されて、スキャンチェイン１０４，１０５，１０６に代わってロード・アンロード動作をつかさどる。スキャンパスに対しては当該メモリ領域よりパラレルにアクセスする。図１において、１０９，１１０，１１１は各メモリ領域１０１，１０２，１０３からスキャンイン１０４，１０５，１０６へパラレルにアクセスする様子を示している。
【０００８】
図２にスキャンテストのテストシーケンスを示す。２０１はスキャンインからスキャンチェインへのデータのロード期間である。この期間はたとえばＭＵＸ−ＳＣＡＮタイプのスキャンテスト回路であればスキャンイネーブル信号がオンした状態で行われる。２０２はテスト開始時刻であって、スキャンイネーブルはオフとなる。２０３はスキャンチェインへテスト結果を取り込むステップである。２０４の期間は２０３で取り込まれたスキャンチェイン内部のデータをスキャンアウトへアンロードする期間であり、スキャンイネーブルがオンした状態で行われる。２０４は２０１のロード期間を兼ねており、２０１，２０２，２０３、２０４が繰り返し実行される。疑似乱数器、シグネチャ解析器を備えたロジックＢＩＳＴでは疑似乱数が２０１でスキャンチェインへロードされ、２０４でテスト結果をシグネチャ解析へ供給し、逐次シグネチャ解析が行われる。
【０００９】
本発明によるシフト可能なメモリ領域１０１，１０２，１０３は、上記２０１、２０４のロード・アンロードの期間中は疑似乱数発生器１０７からの疑似乱数の供給およびシグネチャ解析器１０８へのデータ供給をスキャンチェイン１０４，１０５，１０６に替わって行う。上記２０２のテスト開始時には、メモリ領域１０１，１０２，１０３からスキャンチェイン１０４，１０５，１０６へパラレルにデータを供給する。そして、上記２０３で、スキャンチェイン１０４，１０５，１０６へ取り込んだテスト結果が、パラレルにメモリ領域１０１，１０２，１０３へ取り込まれる。
【００１０】
さらに、メモリ領域１０１，１０２，１０３からスキャンチェイン１０４，１０５，１０６へのパラレルなデータ供給は、上記２０２のテスト開始時に実施させる以外にも、上記２０１の最終データのロードクロック以前にスキャンセルのスキャンイン・ピンへパラレルに供給し、最終データのロードクロックによってスキャンセルへラッチさせるようにしても良い。
【００１１】
このように、メモリ領域はスキャンチェインのロード、アンロードをつかさどるため、ＬＳＩ内にスキャンチェインの長さ分のメモリ領域が必要である。また、パラレルスキャンを構成する場合には、スキャンの本数分、それぞれにメモリ領域を設け、上記一連の動作をつかさどるように構成する。
【００１２】
図１において、メモリ領域１０１，１０２，１０３への疑似乱数発生器１０７からの疑似乱数のロード及びシグネチャ解析器１０８へのアンロード動作中は、スキャンチェイン１０４，１０５，１０６へのクロックの供給を中断し、スキャンクロックに同期してメモリ領域１０１，１０２，１０３への疑似乱数のロード、シグネチャ解析器１０８へのアンロード動作のみを実施するようにする。
【００１３】
図３に示すサンプル回路を例にして実施例を示す。図３において、３０１はスキャンイン、３０２はスキャンイネーブル、３０３はスキャンクロック、３０４はスキャンアウト、３０５，３０６，３０７はスキャンセルであって、これらがシリアルに接続してスキャンチェインを構成している。ロジックＢＩＳＴでは、３０１のスキャンインは疑似乱数発生器に接続され、３０４はシグネチャ解析器に接続される。
【００１４】
図４に、図３のサンプル回路を使って、本発明の検証装置をＶｅｒｉｌｏｇ−ＨＤＬ形式のテストベンチで実現した例を示す。
ここでは、テストベンチのモジュール名を“ａｔｐｇ”とし、波形入力のための代入可能変数としてｒｃｋ，ｒａ，ｒｂ，ｒｓｉ，ｒｓｅを確保し、それぞれ図３の回路の入力ピンへ波形を印加可能としている（図４の３〜１１行目）。
【００１５】
図３の回路では、ｕ４，ｕ３，ｕ２の３個のスキャンセル３０５，３０６，３０７によってスキャンチェインを構成するので、スキャンチェインの長さは３である。図４の１３行目にはシフト可能なメモリ領域“ｓｃａｎ＿ｐａｔｈ”を確保している。ここでは、スキャンチェインの長さ分だけデータが確保可能なようにレジスタ宣言されている。スキャンイネーブル“ｓｅ”がオンの期間は、スキャンインから供給されるデータはスキャンクロック“ｒｃｋ”に同期して“ｓｃａｎ＿ｐａｔｈ”へシリアルに供給され、スキャンイネーブル“ｓｅ”がオフのときは、スキャンチェインの状態をパラレルに“ｓｃａｎ＿ｐａｔｈ”へラッチさせている（図４の２１〜３０行目）。
【００１６】
“ｓｃａｎ＿ｐａｔｈ”の最終格納領域はスキャンアウトである“ｄ”へ強制的に印加するようにしており、スキャンイン、スキャンアウトは“ｓｃａｎ＿ｐａｔｈ”に接続を実現している。
【００１７】
さらにスキャンイネーブル“ｓｅ”がオフになったことをトリガとして、“ｓｃａｎ＿ｐａｔｈ”内のデータはスキャンチェインへパラレルに印加され（図４の３２〜４０行目）、スキャンイネーブル“ｓｅ”がオフの場合は、今まで強制的に中断していたクロックを開放してテスト可能状態にしている（図４の３４行目）。スキャンイネーブルがオン状態の場合は、再度クロックを中断する（Ｆｉｇ．４の３９行目）。
【００１８】
図４の４４行目は、テストベンチとスキャンテスト回路との接続である。テストベンチとしては４４行目行以降にロジックＢＩＳＴ実行に必要となる全波形が記述される。
【００１９】
図５に、本発明の検証シミュレーション方法におけるデータフローを示す。図５において、５０１はテストベンチ、５０２はネットリスト、５０３はシミュレータエンジン、５０４はシミュレーション結果である。
【００２０】
テストベンチ５０１は、スキャンデータをロード及びアンロードするためのシフト可能なメモリ領域を確保され、スキャンチェインへ供給されるべき疑似乱数は当該メモリー領域へシリアルに供給させるようにし、これによってロードされた当該メモリー領域内のシリアルデータはスキャンチェインへパラレルに印加するようにされている。さらに、当該メモリー領域へはシグニチャ解析すべきスキャンチェインのデータをパラレルにとり込むようされており、これよってパラレルに取り込んだ当該メモリー領域内のデータをシグネチャ解析器へシリアルに供給させるように構成されている。当該メモリ領域のロード・アンロード動作の期間中はスキャンテスト回路へのスキャンクロックの供給は強制的にオフ状態とされ、シミュレーション中の内部イベントの発生を抑制する。
【００２１】
具体的には、図３のサンプル回路を対象とした図４に示したテストベンチと同様である。図４に示したテストベンチでは、当該メモリ領域からスキャンチェインへのパラレルなデータ供給が疑似乱数のロードが完了された後に実施されるが、ロード期間の最終クロックが印可される前にスキャンセルのスキャンイン・ピンへパラレルに供給し、最終データのロードクロックによってスキャンセルへラッチさせるようにしても良い。
【００２２】
ネットリスト５０２は、スキャンテスト回路、疑似乱数発生器、シグネチャ解析器で構成されるロジックＢＩＳＴ機構を持った集積回路のネットリストである。シミュレータエンジン５０３で検証シミュレーションし、検証結果であるシグネチャは、シミュレーション結果５０４より得る。
【００２３】
【発明の効果】
(１)  請求項１によれば、スキャンチェインのロード・アンロード動作が別途設けたメモリ領域で実施されるのでスキャンテスト回路のトグル率が低減し、シミュレーション中の内部イベント数が減少するので検証時間が大幅に減少する。
(２)  請求項２によれば、スキャンチェインのロード・アンロード動作が別途設けたメモリ領域で実施し、ロード・アンロード期間中はスキャンテスト回路へのスキャンクロックの供給が強制的にオフ状態とされるのでシミュレーション中の内部イベント数が減少し、検証時間が大幅に減少する。
(３)  請求項３によればスキャンチェインのロード・アンロード動作が別途設けたメモリ領域で実施されるようなテストベンチが構成されるのでスキャンテスト路のトグル率が低減し、シミュレーション中の内部イベント数が減少するので検証時間が大幅に減少する。
(４)  請求項４によれば、スキャンチェインのロード・アンロード動作を別途設けたメモリ領域で実施し、ロード・アンロード期間中はスキャンテスト回路へのスキャンクロックの供給が強制的にオフ状態とされるようなテストベンチが構成されるのでシミュレーション中の内部イベント数が減少し、検証時間が大幅に減少する。
【図面の簡単な説明】
【図１】  本発明に係るロジックＢＩＳＴの検証装置の一実施例を示す構成図である。
【図２】  スキャンテストのテストシーケンスを示すタイミング図である。
【図３】  サンプル回路の一例を示す図である。
【図４】  図３のサンプル回路に対するテストベンチの一例を示す図である。
【図５】  本発明に係るロジックＢＩＳＴの検証シミュレーション方法のデータフローを示す図である。
【符号の説明】
１００    半導体集積回路
１０１，１０２，１０３  メモリ領域
１０４，１０５，１０６  スキャンチェイン
１０７    疑似乱数発生器
１０８  シグネチャ解析器
５０１  テストベンチ
５０２  ネットリスト
５０３  シミュレータエンジン
５０４  シミュレーション結果
【図１】
0004433363.tif 000002
【図２】
0004433363.tif 000003
【図３】
0004433363.tif 000004
【図４】
0004433363.tif 000005
【図５】
0004433363.tif 000006