(57)【要約】【課題】システムＬＳＩを基板に実装した状態で何らかの異常が生じた場合に、その異常発生原因の特定を効率的に行なうことが可能な検査システムを提供すること。【解決手段】内部モジュールのレジスタ２３〜２６間でデータの受け渡しができるように、各レジスタ２３〜２６をシリアルに連結したパスが形成される。そして、入力値設定部２１が初段のレジスタ１（２３）に入力値をセットし、転送制御部２２がレジスタ２（２４）、レジスタ３（２５）、…、レジスタｎ（２６）へと順にデータ値の受け渡しを実行する。そして、最終段のレジスタｎに保存されたデータ値と期待値とを比較し、その比較結果から、内部モジュールの正常・異常を判定する。【選択図】      図２
2005227109.tif 000002
【特許請求の範囲】
【請求項１】
システムＬＳＩの内部モジュールの動作を検査する検査システムであって、
前記内部モジュールのレジスタに入力値をセットする入力値セット手段と、
前記内部モジュールのレジスタに保存されているデータ値を取得するデータ値取得手段と、
前記データ値と、予め定められた期待値とを比較し、その比較結果に基づいて、前記内部モジュールの動作が正常か否かを判定する判定手段とを備えることを特徴とする検査システム。
【請求項２】
前記内部モジュールは、複数のレジスタを有し、
前記入力値がセットされたレジスタから、前記データ値を保存すべきレジスタへと、前記入力値に基づくデータ値が受け渡されるようにデータ転送するデータ転送手段をさらに備えることを特徴とする請求項１に記載の検査システム。
【請求項３】
前記データ転送手段により前記レジスタ間でデータ転送が行なわれる際に、前記データ値に対して所定の演算を行なう演算手段を備えることを特徴とする請求項２に記載の検査システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムＬＳＩの内部モジュールの動作を検査するシステムＬＳＩ用検査システムに関する。
【背景技術】
【０００２】
システムＬＳＩの大規模化、高集積化は、近年、ますます加速しており、この結果、システムＬＳＩ内の回路も一層複雑化している。
【０００３】
このようなシステムＬＳＩを有する製品が市場に出荷された後、何らかの異常が生じた場合、高機能化、複雑化されたシステムＬＳＩに起因して、その異常発生原因を特定することが非常に困難になる。すなわち、異常が発生した場合には、その異常発生原因が、システムＬＳＩ内部にあるのか、そのシステムＬＳＩが実装された実装基板における周辺部品やインターフェース回路にあるのかを見極める必要がある。
【０００４】
ここで、システムＬＳＩ内部に異常発生原因が存在すると推定されると、システムＬＳＩを基板から取り外し、システムＬＳＩに関して詳細な検査を行なう。このシステムＬＳＩの検査の手法として、例えば特許文献１に記載されるように、自動テストパターン生成（ＡＴＰＧ：Auto Test Pattern Generation）を用いたスキャンテスト(Scan Test)や、システムＬＳＩの各機能が正常に作動するかどうかを確認するための専用のファンクションベクタを用いた検査方法などが知られている。このファンクションベクタを用いた検査方法では、システムＬＳＩにファンクションベクタを与えた際に得られる出力信号に基づいて、各機能が正常に作動するか否かを検査する。
【特許文献１】特開２００３−８４０３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、システムＬＳＩを有する製品に異常が生じた場合には、その異常発生原因を見極める必要があるが、システムＬＳＩが高機能化、複雑化されているため、その特定には多大な時間と労力とが必要になる。
【０００６】
例えば、異常発生箇所が一箇所に特定できない場合には、高機能化されたシステムＬＳＩに問題があると推定され易い。しかしながら、システムＬＳＩが正常である場合、システムＬＳＩの検査を行なっても何ら異常は発見されず、他の異常発生原因となっている部位を再度調査することになる。このように不要な検査が行なわれたりした場合には、異常発生原因を特定するためにますます時間を要することになる。
【０００７】
なお、システムＬＳＩを基板に実装した状態で、システムＬＳＩのデバッグを行なう手法としてＩＣＥ（インサーキットエミュレータ）が知られている。ＩＣＥには，実時間で実行状態を確かめるリアル・タイム・トレース機能，任意のアドレスで実行を止めるブレーク機能，シングル・ステップ機能，レジスタへのデータの設定などの機能が用意されており、このような機能を用いて異常を再現させ、異常時の状態から異常発生原因を推定する。
【０００８】
しかし、ＩＣＥを用いて異常を再現させても、その異常がシステムＬＳＩの制御プログラム（ソフトウエア）に起因するのか、システムＬＳＩの各モジュール等の回路構成（ハードウエア）に起因するのかまでは特定することが困難である。
【０００９】
本発明は、上述した点に鑑みてなされたものであり、システムＬＳＩを基板に実装した状態で何らかの異常が生じた場合に、その異常発生原因の特定を効率的に行なうことが可能な検査システムを提供することを目的とするものである。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、請求項１に記載の検査システムは、システムＬＳＩの内部モジュールの動作を検査するものであって、
内部モジュールのレジスタに入力値をセットする入力値セット手段と、
内部モジュールのレジスタに保存されているデータ値を取得するデータ値取得手段と、
データ値と、予め定められた期待値とを比較し、その比較結果に基づいて、内部モジュールの動作が正常か否かを判定する判定手段とを備えることを特徴とする。
【００１１】
このような構成により、システムＬＳＩの内部モジュールが正しく形成され、かつ正常に動作するか否かを確認することができる。この結果、システムＬＳＩを基板に実装した状態で異常が発生した場合に、少なくとも、その内部モジュールの動作状態等の正否を即座に確認することができるので、異常発生原因の特定が容易になる。すなわち、内部モジュールの動作状態に異常が確認された場合には、その内部モジュールが異常発生原因として特定でき、一方、内部モジュールの動作状態が正常である場合には、異常発生原因が内部モジュールを除いた部位やソフトウエアにあると絞り込むことができる。
【００１２】
特に、多機能化されたシステムＬＳＩにおいては、複数の機能モジュールをシステムＬＳＩ内部に作り込んで、その各機能モジュールによって１ないし複数の機能を実行することが多い。このような場合、異常原因特定時に、各機能モジュールの動作状態の正否を確認することで、システムＬＳＩの検査の著しい効率化を図ることができる。
【００１３】
請求項２に記載したように、内部モジュールは、複数のレジスタを有し、入力値がセットされたレジスタから、データ値を保存すべきレジスタへと、入力値に基づくデータ値が受け渡されるようにデータ転送するデータ転送手段をさらに備えることが好ましい。このようにすれば、内部モジュールが複数のレジスタを備える場合であっても、その複数のレジスタについて、正常に動作するか否かを一度の検査で確認することができる。
【００１４】
この場合、請求項３に記載したように、データ転送手段によりレジスタ間でデータ転送が行なわれる際に、データ値に対して所定の演算を行なう演算手段を備えることが好ましい。例えば、レジスタ間で転送が行なわれる毎に、データ値に１を加算するような演算を行なうことにより、最終的に保存されるデータ値から、経由すべきレジスタを全て経由したか否かを確実に判定することが可能になる。従って、内部モジュールの動作状態の確認もより一層正確に行なうことができるようになる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態について、図に基づいて詳細に説明する。図１は、本実施形態による検査システムの検査対象となるシステムＬＳＩ２００の一例としての構成を示すブロック図である。なお、システムＬＳＩとは、多数の機能を1個のチップまたはアプリケーションボード上に集積した超多機能ＬＳＩを意味し、その構成は用途に応じて種々変化する。なお、システムＬＳＩは小型化が容易、製造コストの低減等のメリットがあるため、現在では、各種の電子機器に組み込まれるようになっている。
【００１６】
図１において、１０はＩ／Ｏモジュールであり、図示しない外部回路とのデータのやり取りを行なう際のインターフェースとしての機能を果たす。２０は、通信モジュールであり、システムＬＳＩが外部回路とデータを通信する場合の通信インターフェースとしての機能を果たす。これにより、システムＬＳＩ２００は外部回路とデータの送受信を行なうことが可能になる。３０はアナログモジュールであり、外部回路から入力される信号がアナログ信号である場合に、それをデジタル信号に変換するＡ／Ｄ変換機能や、外部回路に信号を出力する際に、デジタル信号をアナログ信号に変換するＤ／Ａ変換機能等を有する。すなわち、Ｉ／Oモジュール１０、通信モジュール２０、及びアナログモジュール３０は、すべて、外部回路とのインターフェースとしての機能を果たすものである。
【００１７】
４０は、システムＬＳＩの内蔵メモリであり、後述するＣＰＵ６０によって実行される各種のプログラムや、参照すべきマップやテーブルを記憶したり、各種のデータを一時保存したりする。
【００１８】
上述した各モジュール１０，２０，３０及び内蔵メモリ４０には、周辺バス５０が接続されており、この周辺バス５０を介して相互に接続されるとともに、後述するＣＰＵ６０とも接続される。
【００１９】
周辺バス５０は、周辺ブリッジ９０を介して高速バス７０に接続されている。この高速バス７０には、システムＬＳＩ２００内の高速バス７０を介して送信されるデータの送信タイミングを調停するバスコントローラ１００が接続されている。このバスコントローラ１００には、同期ＤＲＡＭ（ＳＤＲＡＭ）１４０が接続されている。ＳＤＲＡＭ１４０は，その外部バスインターフェースが一定周期のクロック信号に同期して動作するように構成されたＤＲＡＭであり、データの書き込み，読出し等を高速に行ない得る。
【００２０】
さらに、高速バス７０にはＣＰＵブリッジ８０を介してＣＰＵ６０が接続されている。ＣＰＵ６０は、内蔵メモリ４０に記憶されたプログラムに基づいて各種の演算を実行することにより、外部回路に送信すべき信号等を生成する。
【００２１】
なお、１１０はインサーキットエミュレータとのインターファース部（ＩＣＥＩ／Ｆ）であり、システムＬＳＩ２００のデバッグを行なうデバッガとしてのＩＣＥとの接続部である。ＩＣＥには，実時間で実行状態を確かめるリアル・タイム・トレース機能，任意のアドレスで実行を止めるブレーク機能，シングル・ステップ機能，レジスタへのデータの設定などの機能が用意され、効率のよいデバッグ作業が可能となっている。
【００２２】
１２０は、クロック生成回路であり、発振器１３０から与えられる発振信号に基づいて、各種のクロック信号を生成し、各部に供給する。
【００２３】
次に、本実施形態の特徴に係るシステムＬＳＩ２００の内部モジュールの検査システムについて詳しく説明する。
【００２４】
システムＬＳＩ２００は、図１に示すように各種の内部モジュールを備えている。特に、システムＬＳＩ２００が高機能化、多機能化されるに伴なって、それらの機能を実現する内部モジュールの数も増加する傾向にある。本実施形態による検査システムは、そのような内部モジュールの動作状態が正常か否かを迅速かつ簡便に検査することを可能にするものである。これにより、システムＬＳＩが基板に実装された状態で何らかの異常が発生した場合において、その異常発生原因（異常発生箇所）の特定が容易になる。
【００２５】
すなわち、個々の内部モジュールの動作が正常であることが確認できたならば、異常発生原因（異常発生箇所）は、内部モジュール以外の回路部分またはソフトウエアにあると推測できる。また、内部モジュールの動作が異常であれば、直接的に異常発生箇所を特定することができる。
【００２６】
本実施形態による検査システムは、個々の内部モジュール内に、所定の手順で検査処理を行なう論理回路を作り込むことで構成されている。図２に、その検査システムの構成の一例を示す。なお、以下、内部モジュールとして通信モジュール２０を例にとって、検査システムの構成を説明する。
【００２７】
内部モジュールとしての通信モジュール２０は、通信状態の設定に関する各種の設定値を記憶するため、複数のレジスタ２３〜２６を有している。例えば、通信モジュール２０が、シリアル２進データ伝送方式のインターフェース規格に従い、ＲＳ２３２Ｃとして構成される場合、通信速度、パリティビットの有無、ストップビット数、ローカルエコーの設定、割込み発生の設定等について、それぞれの設定値がレジスタ１〜ｎ（参照番号２３〜２６）に記憶される。
【００２８】
本実施形態による検査システムでは、それらのレジスタ２３〜２６への設定値の保存及び読出しが正常に行ない得るか否かによって内部モジュールが正常に動作できるか否かを検査する。そのため、本実施形態による検査システムは、入力値設定部２１、転送制御部２２、及び出力部２７を備えている。また、内部モジュールの各レジスタ２３〜２６間でデータを受け渡しすることができるように、各レジスタ２３〜２６をシリアルに連結したパスが形成される。
【００２９】
入力値設定部２１は、例えば図示しないテスタ等からレジスタ１（参照番号２３）に保存すべき入力値を受け取るとともに、その入力値をレジスタ１に書き込むものである。レジスタ１に入力値が書き込まれると、その書き込まれた入力値をデータ値として、転送制御部２２がレジスタ２（参照番号２４）、レジスタ３（参照番号２５）、…、レジスタｎ（参照番号２６）へと順にデータ値の受け渡しを実行する。
【００３０】
出力部２７は、最終段のレジスタｎまでデータ値が受け渡された後に、そのレジスタｎに保存されたデータ値をテスタに出力するものである。そして、テスタは、出力部２７から出力されたデータ値と、データ値の受け渡しの際に各レジスタ２３〜２６において正常にデータ値の保存と読出しが行なわれた場合の期待値（入力値）とを比較する。この比較において、データ値と期待値とが一致した場合には、内部モジュールの動作は正常と判断し、不一致である場合には、異常と判断する。
【００３１】
上述した内部モジュールにおける検査処理の手順を図３のフローチャートに示す。なお、図３に示す検査処理は、外部のテスタ等から検査処理の開始が指示されたときに実行される。
【００３２】
まず、ステップＳ１００では、外部のテスタ等から与えられる入力値を初段のレジスタ１にセットする。続いて、そのレジスタ１にセットされた入力値をデータ値として、次段のレジスタ２へのデータ転送処理を実行する。これにより、データ値がレジスタ１からレジスタ２へと受け渡される。
【００３３】
ステップＳ１２０では、最終段のレジスタｎまでデータ値が転送されたか否かを判断し、まだ最終段のレジスタｎまでデータ値が転送されていないと判定した場合には、ステップＳ１１０に戻って転送処理を継続して実行する。一方、最終段のレジスタｎまでデータ値の転送が完了したと判定した場合には、ステップＳ１３０に進む。
【００３４】
ステップＳ１３０では、外部のテスタに向けて、最終段のレジスタｎに保存されたデータ値を出力する。続くステップＳ１４０では、出力されたデータ値を受け取ったテスタが、期待値と一致するか否かを判断し、不一致であると判定した場合には、ステップＳ１５０に進んで、内部モジュールが異常である旨判定する。一方、ステップＳ１４０にて、データ値と期待値とが一致すると判定された場合には、ステップＳ１６０に進んで、他に検査対象である内部モジュールが残っているか否かを判定する。このステップで、まだ検査対象モジュールがあると判定された場合には、上述した検査処理を繰り返し、一方、全ての内部モジュールについて検査処理が終了したと判定した場合には、本フローチャートの処理を完了する。
【００３５】
なお、１つの内部モジュールにおいて、異常判定がなされた後も、他の内部モジュールを対象として検査処理を行ない、異常の有無にかかわらず、全ての内部モジュールの検査を実施するようにしても良い。
【００３６】
上述した検査処理によって、各内部モジュールのレジスタへの設定値の保存や読出しが正常に行ない得るか否かに基づいて、各内部モジュールが正常に動作可能か否かを迅速かつ簡便に検査することができる。
【００３７】
以上、本発明の好ましい実施形態について説明したが、本発明は上述した実施形態に何ら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形することができる。
【００３８】
例えば、上述した実施形態では、初段のレジスタ１にセットされた入力値をデータ値として、何ら加工することなく、次段以降のレジスタ２、３、…、ｎに転送する例について説明した。しかしながら、図４に示すように、レジスタ間を結ぶパスに加算器２８，２９等の演算器を挿入し、レジスタ間でデータ値を受け渡しする際に、所定の演算を行なうようにしても良い。
【００３９】
このようにすると、データ値の受け渡しにおいて、所定個数のレジスタ２３〜２６が介在したか否かを確実に判定することができる。例えば、図４に示す例において、加算器２８，２９がデータ値に所定値（例えば１）を加算するように構成した場合、最終段のレジスタｎに保存されるデータ値は、入力値＋（ｎ−１）となる。従って、そのデータ値が規定のレジスタ１〜ｎを介して出力されたものか否かを確実に判定することが可能になる。
【００４０】
なお、演算器における演算の種類としては加算のみに限られることなく、減算、乗算、除算等の演算を行なってもよいことはもちろんである。
【００４１】
また、上述した実施形態においては、個々の内部モジュール内に、所定の手順で検査処理を行なう論理回路を作り込むことで検査システムを構成した。しかしながら、それ以外の手段によって検査システムを構成することも可能である。
【００４２】
例えば、システムＬＳＩ２００のＣＰＵ６０が、各内部モジュールに対して、上述した検査処理を実行するように構成しても良い。すなわち、内蔵メモリ４０に、上述した検査処理を実行するための検査プログラムを保存しておき、外部から検査処理の実行を指示する信号が与えられた場合に、その検査プログラムを起動するようにしても良い。さらに、各内部モジュールにＣＰＵを設け、その内部モジュール内のＣＰＵにおいて検査処理を実行するようにしても良い。
【００４３】
また、上述した実施形態では、外部のテスタから初段のレジスタ１にセットすべき入力値を受信し、また最終段のレジスタｎに保存されたデータ値をそのテスタに出力し、テスタにおいて出力データ値と期待値とを比較する例について説明した。しかしながら、それらの機能、すなわち、入力値を保存しておき、検査処理時に初段のレジスタ１にセットすること、及び最終段のレジスタｎに保存されたデータ値と期待値との一致を判定することは、内部モジュール内の論理回路、システムＬＳＩ２００のＣＰＵ６０、あるいは、内部モジュール内にＣＰＵを設けた場合にはそのＣＰＵにおいて実施することもできる。
【００４４】
この場合、外部から、検査処理の開始を指示する信号のみを受け取って、その開始指示信号に基づいて検査処理を実行し、データ値と期待値との一致・不一致の判定結果のみが外部の検査装置に出力される。
【図面の簡単な説明】
【００４５】
【図１】実施形態による検査システムの検査対象となるシステムＬＳＩの一例としての構成を示すブロック図である。
【図２】実施形態における、検査システムを構成する論理回路が組み込まれた内部モジュールの構成の一例を示すブロック図である。
【図３】検査処理の内容を示すフローチャートである。
【図４】変形例における、検査システムを構成する論理回路が組み込まれた内部モジュールの構成の一例を示すブロック図である。
【符号の説明】
【００４６】
１０  Ｉ／Ｏモジュール
２０  通信モジュール
３０  アナログモジュール
４０  内蔵メモリ
５０  低速バス
６０  ＣＰＵ
７０  高速バス
１２０  クロック生成回路
１３０  発振器
１４０  ＳＤＲＡＭ
２００  システムＬＳＩ
【図１】
2005227109.tif 000003
【図２】
2005227109.tif 000004
【図３】
2005227109.tif 000005
【図４】
2005227109.tif 000006