(57)【要約】【課題】システムＬＳＩの高速動作部の検査を適切に行なうこと。【解決手段】  検査処理時には、ＣＰＵ６０、高速バス７０、及びＳＤＲＡＭ１４０等の高速動作部の動作周波数が通常動作時の動作周波数よりも高くなるように、高速動作部に対するクロック信号を生成する第２ＰＬＬ１２３の逓倍率を変更する。これにより、動作周波数を高めた状態でしか検出できない不具合も確実に検出することが可能になる。【選択図】      図２
2005214939.tif 000002
【特許請求の範囲】
【請求項１】
システムＬＳＩの動作を検査する検査システムであって、
前記システムＬＳＩにおいて、相対的に高速で動作する高速動作部用の第１のクロック信号を生成する第１クロック信号生成手段と、
前記システムＬＳＩにおいて、相対的に低速で動作する低速動作部用の第２のクロック信号を生成する第２クロック信号生成手段と、
前記システムＬＳＩにおいて、所定のテスト処理を実行するテスト処理実行手段と、
前記テスト処理実行手段によるテスト処理の開始に伴ない、前記第１クロック信号生成手段が生成する第１のクロック信号の周波数を変更する周波数変更手段とを備えることを特徴とする検査システム。
【請求項２】
前記テスト処理実行手段によるテスト処理の実行中、前記第２クロック信号生成手段が生成する第２のクロック信号の周波数は、変更されることなく維持されることを特徴とする請求項１に記載の検査システム。
【請求項３】
前記高速動作部は、前記システムＬＳＩにおける中央処理装置（ＣＰＵ）を含むことを特徴とする請求項１又は請求項２に記載の検査システム。
【請求項４】
前記高速動作部は、前記ＣＰＵに接続された高速バスを含むことを特徴とする請求項３に記載の検査システム。
【請求項５】
前記高速バスに付与されるクロック信号は、前記第１のクロック信号が分周された分周クロック信号であり、前記高速バスには前記ＣＰＵよりも低い周波数のクロック信号が付与されることを特徴とする請求項４に記載の検査システム。
【請求項６】
前記低速動作部は、外部回路とのインターフェースとなる周辺Ｉ／Ｏ回路及びその周辺Ｉ／Ｏ回路に接続された周辺バスを含むことを特徴とする請求項１乃至請求項５のいずれかに記載の検査システム。
【請求項７】
前記周波数変更手段は、前記第１のクロック信号の周波数を、少なくとも前記高速動作部が通常の処理動作を実行する際の周波数よりも高くなるように変更することを特徴とする請求項１乃至請求項６のいずれかに記載の検査システム。
【請求項８】
前記テスト処理実行手段によるテスト処理は、前記周波数変更手段によって前記第１のクロック信号の周波数が複数の異なる周波数に変更されつつ、複数回実行されることを特徴とする請求項１乃至請求項７のいずれかに記載の検査システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムＬＳＩの動作を検査するシステムＬＳＩ用検査システムに関する。
【背景技術】
【０００２】
システムＬＳＩの検査は、従来、自動テストパターン生成（ＡＴＰＧ：Auto Test Pattern Generation）を用いたスキャンテスト(Scan Test)によって行なわれることが知られている。このスキャンテストは、例えば特許文献１に記載されるように、ＬＳＩの論理回路内に、複数のフリップフロップ（Ｆ／Ｆ）を作り込み、すべてのＦ／Ｆを数珠状に接続したスキャンチェーン（Scan Chain）を用いて行なわれる。
【０００３】
このスキャンテスト動作を簡単に説明する。すべてのＦ／Ｆにアクティブなイネーブル信号を与えた状態にすると、スキャンチェーンの入力信号によって、どのＦ／Ｆにも任意の値を設定することができる。そのようにして値を設定した後に、イネーブル信号を非アクティブにすると、各Ｆ／Ｆの入力状態が、前段のＦ／Ｆからの入力から論理回路からの入力に切換られる。このときにクロックパルスを与えることで、論理回路の信号をＦ／Ｆに取り込むことができる。論理回路の信号を取り込んだ後には、再び、イネーブル信号をアクティブにして、スキャンチェーン上のデータをシフトアウトさせることにより、その信号をスキャンチェーンの出力から取り出すことができる。
【０００４】
また、システムＬＳＩの各機能モジュールに関しては、その機能が正常に作動するかどうかを確認するため、専用のファンクションベクタを用いて検査することも知られている。すなわち、機能モジュールにファンクションベクタを与えた際に得られる出力信号に基づいて、各機能モジュールの種々の機能が正常に作動するか否かを検査するのである。
【０００５】
一方、システムＬＳＩは大規模化、高集積化が図られており、その動作速度も高速化されている。従って、システムＬＳＩに集積されるモジュールも、多数かつ多機能となってきており、各機能モジュールのすべての機能をファンクションベクタで検査することは、コストや時間の問題から困難である。従って、通常は、上述したスキャンテストを行なうとともに、機能モジュールにおける特定機能のみをファンクションベクタによって検査することが行なわれる。
【０００６】
なお、スキャンテストは、ＬＳＩ設計上の制約から、ＬＳＩの通常動作速度（通常動作周波数）にて実行されず、それよりも遅い動作速度にて実行される。また、ファンクションベクタを用いた検査についても、各機能モジュールの機能の確認を目的とするものであるため、通常動作速度よりも遅い動作速度にて行なわれることが多い。
【特許文献１】特開２００３−８４０３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、システムＬＳＩは、その動作速度の高速化も図られているので、従来のように、通常動作速度よりも遅い動作速度での検査では、特に、ＣＰＵ等を含む高速動作部の検査が適切に行ない得ない場合が生じる。
【０００８】
例えば、通常動作周波数が２００ＭＨzである高速動作部について、ＬＳＩの製造不良等により、１００ＭＨzの動作周波数では正常に動作するが、２００ＭＨzの動作周波数では、正常に動作しない不具合が発生しえる。このような場合、上述した従来の検査では、そのような不具合を発見することができない。
【０００９】
本発明は、上記の点に鑑みてなされたものであり、特に、システムＬＳＩの高速動作部の検査を適切に行ないうるシステムＬＳＩ用の検査システムを提供することを目的とするものである。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、請求項１に記載の検査システムは、
システムＬＳＩにおいて、相対的に高速で動作する高速動作部用の第１のクロック信号を生成する第１クロック信号生成手段と、
システムＬＳＩにおいて、相対的に低速で動作する低速動作部用の第２のクロック信号を生成する第２クロック信号生成手段と、
システムＬＳＩにおいて、所定のテスト処理を実行するテスト処理実行手段と、
テスト処理実行手段によるテスト処理の開始に伴ない、第１クロック信号生成手段が生成する第１のクロック信号の周波数を変更する周波数変更手段とを備えることを特徴とする。
【００１１】
上述したように、請求項１に記載の検査システムは、高速動作部用と低速動作部用とに別個のクロック信号生成手段を有し、テスト処理の開始に伴ない、高速動作部用の第１のクロック信号の周波数を変更する。このようにすれば、高速動作部を所望の動作速度（動作周波数）にて動作させながら、テスト処理を実行することができる。従って、上述した高速動作でしか発生しない不具合も確実に発見することができる。
【００１２】
なお、高速動作部用と低速動作部用とにクロック信号発生手段を分けた理由は、以下の通りである。低速動作部は、本来、低い動作速度にて動作するように設計されている。このため、高速動作部の動作周波数の変更に伴なって、同様の傾向で、低速動作部の動作周波数が変更されると、低速動作部は正常であるにも係らず、正常な動作を行ない得ないことが考えられる。そこで、クロック信号生成手段を高速動作部用と低速動作部用とで別個に設け、低速動作部用のクロック信号が、高速動作部用のクロック信号の周波数変更の影響を受けないようにしたのである。
【００１３】
この場合、請求項２に記載したように、テスト処理実行手段によるテスト処理の実行中、第２クロック信号生成手段が生成する第２のクロック信号の周波数は、変更されることなく維持されることが好ましい。これにより、低速動作部が誤って異常とみなされることを確実に防止することができる。
【００１４】
請求項３に記載したように、高速動作部は、システムＬＳＩにおける中央処理装置（ＣＰＵ）を含むことが好ましく、さらに、請求項４に記載したように、ＣＰＵに接続された高速バスも含むことが好ましい。システムＬＳＩにおいて、通常、最も高速で動作するのはＣＰＵであり、また、そのＣＰＵに接続された高速バスの動作周波数も相対的に高く設定されるためである。すなわち、本発明は、通常動作速度（通常動作周波数）が高い高速動作部における、高速動作でしか発見できない不具合を確実に検出することを目的としており、ＣＰＵやそのＣＰＵに接続された高速バスは、高速動作部に該当する典型的な例である。
【００１５】
請求項５に記載したように、高速バスに付与されるクロック信号は、第１のクロック信号が分周された分周クロック信号であり、高速バスにはＣＰＵよりも低い周波数のクロック信号が付与されても良い。このような構成であっても、第１のクロック信号の周波数を変更することにより、ＣＰＵ及び高速バスに付与されるクロック信号の周波数は、同様の傾向を持って変更されることになる。
【００１６】
請求項６に記載したように、低速動作部は、外部回路とのインターフェースとなる周辺Ｉ／Ｏ回路及びその周辺Ｉ／Ｏ回路に接続された周辺バスを含むことができる。外部回路とのデータの送受は、比較的低い周波数のクロック信号を基準として実行される。このため、設計の容易性、製造コスト等を考慮し、周辺Ｉ／Ｏ回路及びそれに接続された周辺バスの動作速度は相対的に低く設計することが好ましいためである。
【００１７】
請求項７に記載したように、周波数変更手段は、第１のクロック信号の周波数を、少なくとも高速動作部が通常の処理動作を実行する際の周波数よりも高くなるように変更することが好ましい。これにより、高速動作部の動作速度について、マージンを含めて検査することが可能になる。さらに、検査環境が低温であった場合、ＬＳＩを構成する半導体素子の動作速度が上がるため、使用環境における温度変化等に係らず、正常に動作することを確認するためにも、通常の動作周波数よりも高い動作周波数にてテスト処理を行なうことが好ましいのである。
【００１８】
請求項８に記載したように、テスト処理実行手段によるテスト処理は、周波数変更手段によって第１のクロック信号の周波数が複数の異なる周波数に変更されつつ、複数回実行されることが好ましい。これにより、高速動作部の不具合の発見の可能性を高めることが可能になる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施形態について、図に基づいて詳細に説明する。図１は、本実施形態による検査システムの検査対象となるシステムＬＳＩ２００の一例としての構成を示すブロック図である。なお、システムＬＳＩとは、多数の機能を1個のチップまたはアプリケーションボード上に集積した超多機能ＬＳＩを意味し、その構成は用途に応じて種々変化する。なお、システムＬＳＩは小型化が容易、製造コストの低減等のメリットがあるため、現在では、各種の電子機器に組み込まれるようになっている。
【００２０】
図１において、１０はＩ／Ｏモジュールであり、図示しない外部回路とのデータのやり取りを行なう際のインターフェースとしての機能を果たす。２０は、通信モジュールであり、例えば、システムＬＳＩが外部回路とＬＡＮ等のネットワークを介して接続される場合に、そのネットワークを介して、外部回路とのデータの送受信を行なう。３０はアナログモジュールであり、外部回路から入力される信号がアナログ信号である場合に、それをデジタル信号に変換するＡ／Ｄ変換機能や、外部回路に信号を出力する際に、デジタル信号をアナログ信号に変換するＤ／Ａ変換機能等を有する。すなわち、Ｉ／Oモジュール１０、通信モジュール２０、及びアナログモジュール３０は、すべて、外部回路とのインターフェースとしての機能を果たすものである。
【００２１】
４０は、システムＬＳＩの内蔵メモリであり、後述するＣＰＵ６０によって実行される各種のプログラムや、参照すべきマップやテーブルを記憶したり、各種のデータを一時保存したりする。
【００２２】
上述した各モジュール１０，２０，３０及び内蔵メモリ４０には、周辺バス５０が接続されており、この周辺バス５０を介して相互に接続されるとともに、後述するＣＰＵ６０とも接続される。
【００２３】
なお、これらの各モジュール１０，２０，３０及び内蔵メモリ４０、さらに周辺バス５０の通常動作周波数は、図１に記述しているように、例えば２５ＭＨz程度の相対的に低い周波数に設定される。これは、外部回路とのデータ信号の送受は、比較的低い周波数のクロック信号を基準として実行されるためである。従って、設計の容易性、製造コストの低減等を考慮し、各モジュール１０，２０，３０及びそれらに接続された周辺バス５０は、相対的に低い動作速度で動作するように設計される。
【００２４】
周辺バス５０は、周辺ブリッジ９０を介して高速バス７０に接続されている。この高速バス７０には、システムＬＳＩ２００内の高速バス７０及び周辺バス５０を介して送信されるデータの送信タイミングを調停するバスコントローラ１００が接続されている。また、高速バス７０には、バスコントローラ１００を介して同期ＤＲＡＭ（ＳＤＲＡＭ）１４０も接続されている。ＳＤＲＡＭ１４０は，その外部バスインターフェースが一定周期のクロック信号に同期して動作するように構成されたＤＲＡＭであり、データの書き込み，読出し等を高速に行ない得る。さらに、高速バス７０にはＣＰＵブリッジ８０を介してＣＰＵ６０が接続されている。
【００２５】
この高速バス７０、バスコントローラ１００、及びＳＤＲＡＭ１４０の動作周波数は、例えば１００ＭＨｚ程度の、相対的に高い周波数に設定される。これは、システムＬＳＩ２００において、最も動作周波数が高く設定されるのがＣＰＵ６０であり、そのＣＰＵ６０と接続された高速バス７０等は、ＣＰＵ６０の高速動作の障害とならないように、相対的に動作周波数が高く設定されるためである。
【００２６】
なお、１１０はインサーキットエミュレータとのインターファース部（ＩＣＥＩ／Ｆ）であり、システムＬＳＩのデバッグを行なうデバッガとしてのＩＣＥとの接続部である。ＩＣＥには，実時間で実行状態を確かめるリアル・タイム・トレース機能，任意のアドレスで実行を止めるブレーク機能，シングル・ステップ機能，レジスタへのデータの設定などの機能が用意され、効率のよいデバッグ作業が可能となっている。
【００２７】
１２０は、クロック生成回路であり、発振器１３０から与えられる発振信号に基づいて、周辺バス５０等に与える相対的に低い周波数のクロック信号、高速バス７０等に与える相対的に高い周波数のクロック信号、及びＣＰＵ６０用の最も高い周波数のクロック信号を生成し、各部に供給する。
【００２８】
図２は、クロック生成回路の内部構成を示すブロック図である。図２に示すように、クロック生成回路１２０は、第１ＰＬＬ１２１、逓倍率を変更可能な第２ＰＬＬ１２３、低周波数用分周部１２２、及び高周波数用分周部１２４とを備える。
【００２９】
第１ＰＬＬ１２１は、公知のように、カウンタを組み込むことで発振器１３０から入力された発振信号を所定の逓倍率で逓倍し、その逓倍した周波数のクロック信号を出力する。第２ＰＬＬ１２３も同様の機能を備え、第１ＰＰＬから入力されたクロック信号を所定の逓倍率で逓倍したクロック信号を出力する。ただし、第２ＰＬＬ１２３は、逓倍率可変機能を有し、ＣＰＵ６０からの指令等に基づいて、その逓倍率を任意に変更することができる。
【００３０】
第１ＰＬＬ１２１から出力されたクロック信号は、低周波数用分周部１２２に与えられる。低周波数用分周部１２２は、第１ＰＬＬ１２１によって逓倍されたクロック信号を所定の分周率で分周することによって、周辺バス５０等のために相対的に低い周波数の低周波数クロック信号を発生する。この低周波数用分周部１２２によって発生された低周波数クロック信号は、周辺バス５０及び、周辺バス５０に接続された各モジュール及び内蔵メモリ４０に与えられる。
【００３１】
第２ＰＬＬ１２３から出力されるクロック信号は２系統に分けられ、一方は直接ＣＰＵ６０に与えられ、他方は高周波数用分周部１２４に入力される。高周波数用分周部１２４は、第２ＰＬＬによって逓倍されたクロック信号を所定の分周率で分周することによって、相対的に高い周波数の高周波数クロック信号を発生し、高速バス７０等に与える。これにより、ＣＰＵ６０に最も周波数の高いクロック信号が与えられ、高速バス７０等には、それよりも周波数の低いクロック信号が与えられる。
【００３２】
このように、第２ＰＬＬ１２３から出力されるクロック信号によって、ＣＰＵ６０、高速バス７０、バスコントローラ１００等の高速動作部用のクロック信号を発生するので、検査処理時に第２ＰＬＬ１２３の逓倍率を変更した場合には、その高速動作部に属する各部に与えられるクロック信号は同様の傾向をもって変化することになる。例えば、第２ＰＬＬの逓倍率が通常動作時のＸ倍に変更された場合には、ＣＰＵ６０のクロック信号の周波数は２００Ｘ（ＭＨz）となり、高速バス７０等のクロック信号の周波数は１００Ｘ（ＭＨz）となる。
【００３３】
なお、第２ＰＬＬの逓倍率が変更された場合であっても、低周波数用分周部１２２によって発生される低周波数クロック信号は、なんらその逓倍率の変更の影響を受けることなく、通常動作時と同様の周波数に維持される。従って、低速動作を行なうように設計された各モジュール等が通常動作よりも動作速度の速い高速動作に対応できなくとも、それに起因して検査処理時に誤って異常とみなされることを防止できる。
【００３４】
次に、本実施形態において実行される検査処理について、図３のフローチャートに基づいて説明する。なお、検査処理を実行するためのプログラムは予め内蔵メモリ４０に保存され、外部から与えられる検査の開始を指示する信号に基づいて、ＣＰＵ６０が、そのプログラムを実行することによって、検査処理を行なうことができる。
【００３５】
ただし、検査処理は、必ずしもプログラムの形態で内蔵メモリ４０に保存される必要はなく、例えば、システムＬＳＩ２００内に、論理回路によって検査モジュールを構築し、その検査モジュールによって検査処理を実行するようにしても良い。また、システムＬＳＩ２００にＩ／Ｏモジュール等を介してテスターを接続し、そのテスターからＣＰＵ６０が検査処理を行なうための命令やデータ等を受信することによって、検査処理を実行するようにしても良い。
【００３６】
図３において、まずステップＳ１００では、第２ＰＬＬ１２３の逓倍率を変更し、ＣＰＵ６０、高速バス７０、バスコントローラ１００等の高速動作部用のクロック信号の周波数が、通常動作時の周波数よりも高くなるようにする。
【００３７】
例えば、システムＬＳＩの製造工程において、配線部の接合が不完全である場合を想定する。この場合、その配線部の抵抗値は、接合の不完全さから配線部の正常な接合状態に比較して高くなるが、断線しているわけではないので、信号自体は伝達され得る状態となる。このとき、従来のように、システムＬＳＩの通常動作速度よりも遅い動作速度にて検査が行なわれると、配線部の接合が不完全で、単に高抵抗となっている場合には、信号の伝達が可能となり、システムＬＳＩはあたかも正常であるかのような検査結果が得られる場合がある。
【００３８】
しかしながら、検査時の動作速度よりも早い通常動作速度では、その配線部の高抵抗に起因して、信号伝達が不可能となり、正常動作できなくなることがある。このように、高速動作させなければ確認できない不具合もあるため、本実施形態では、検査処理において、高速動作部用のクロック信号の周波数が、通常動作時の周波数よりも高くなるようにするのである。
【００３９】
ここで、検査処理時において、通常動作時の周波数に一致させるのではなく、それよりも高くする理由は、システムＬＳＩ２００の高速動作部が正常に動作する周波数について、マージンを含めて検査するため、及び、検査環境が低温であった場合、システムＬＳＩ２００を構成する半導体素子の動作速度が上がるため、使用環境における温度変化等に係らず、正常に動作することを確認するためである。
【００４０】
ステップＳ１００において第２ＰＬＬ１２３の逓倍率を変更した後に、ステップＳ１１０においてテスト処理を実行する。このテスト処理は、単にメモリの所定領域に記憶されたデータを読み出す読出処理を少なくとも含み、さらに、必要に応じて読み出したデータに対して所定の演算処理を実行するようにしても良い。
【００４１】
このようなテスト処理によって用意されたデータは、ステップＳ１２０において、ＳＤＲＡＭ１４０の所定領域に書き込まれる。そして、ステップＳ１３０では、このＳＤＲＡＭ１４０に書き込んだデータの読出し処理が行なわれる。読み出されたデータは、ステップＳ１４０において、テスト処理によって得られるデータの期待値と一致しているか否かが評価され、その一致、不一致の評価結果が外部に出力される。
【００４２】
この一連の処理によって、ＣＰＵ６０、高速バス７０、及びＳＤＲＡＭ１４０等の高速動作部について、その動作周波数を通常動作時の動作周波数よりも高めた状態で、それぞれ正常に機能するかどうかを確認することができる。従って、上述したように、動作周波数を高めた状態でしか検出できない不具合も確実に検出することが可能になる。
【００４３】
その一方で、周辺バス５０及びそれに接続された各モジュールや内蔵メモリ４０等の低速動作部の動作周波数は、通常動作時の動作周波数に維持される。すなわち、適正な動作周波数の下で、低速動作部においてプログラムの読出しや評価結果の出力等の処理を行なうことができるため、高速動作部の動作周波数の変更に係らず、正常に動作することができる。
【００４４】
以上、本発明の好ましい実施形態について説明したが、本発明は上述した実施形態に何ら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形することができる。
【００４５】
例えば、上述した実施形態においては、高速動作部の動作周波数が、通常動作時の動作周波数よりも高くなるように第２ＰＬＬ１２３の逓倍率を変更して、検査処理を実行するものであった。しかしながら、高速動作部について、通常動作時の動作周波数を基準として、それよりも低い動作周波数、同一の動作周波数、それよりも高い動作周波数等、複数の動作周波数での検査処理を行なうようにしても良い。これにより、システムＬＳＩにおける高速動作部の検査をより正確に行なうことができる。
【００４６】
また、上述した実施形態においては、１個の発振器１３０からの発振信号から、低速バス等のための低周波数クロック信号、高速バス等のための高周波数クロック信号、及びＣＰＵ用のクロック信号を発生させていた。しかしながら、例えば複数の発振器を用いて、各クロック信号を個別に発生するように構成しても良いし、高周波数クロック信号及びＣＰＵ用のクロック信号を発生するために、発振器及びＰＬＬを共用しつつ、低周波数クロック信号を発生するための発振器及びＰＬＬを別個に設けても良い。
【図面の簡単な説明】
【００４７】
【図１】実施形態による検査システムの検査対象となるシステムＬＳＩの一例としての構成を示すブロック図である。
【図２】実施形態における、クロック生成回路の内部構成を示すブロック図である。
【図３】実施形態において実行される検査処理の内容を示すフローチャートである。
【符号の説明】
【００４８】
１０  Ｉ／Ｏモジュール
２０  通信モジュール
３０  アナログモジュール
４０  内蔵メモリ
５０  低速バス
６０  ＣＰＵ
７０  高速バス
１２０  クロック生成回路
１３０  発振器
１４０  ＳＤＲＡＭ
２００  システムＬＳＩ
【図１】
2005214939.tif 000003
【図２】
2005214939.tif 000004
【図３】
2005214939.tif 000005