(57)【要約】【課題】  回路規模の増加を抑えつつ、実動作で問題なく動作するかを検査することができるようにする。【解決手段】  命令メモリ１０２に格納された検査用プログラムに基づいて、マイクロプロセッサ１０３で入力データと期待値を生成し、この入力データを機能ブロックＡ１０８に出力する。機能ブロックＡ１０８及び機能ブロックＢ１０９で処理された出力結果を前記期待値と比較判定することで、機能ブロックが正常に動作しているかを判断する。【選択図】  図１
2007033231.tif 000002
【特許請求の範囲】
【請求項１】
書き換え可能なプログラム記憶手段と、該プログラム記憶手段に書き込まれたプログラムに基づいて動作するプロセッサ手段と、入力されたデータに対して所定の処理を行う少なくとも１つの機能処理手段とを有するＬＳＩを検査するＬＳＩ検査方法であって、
前記ＬＳＩ外部から入力される検査用プログラムを前記プログラム記憶手段に記憶する手順と、
前記プロセッサ手段で前記検査用プログラムを起動し、該検査用プログラムに基づいて生成した入力データを前記機能処理手段に出力する手順と、
前記機能処理手段から出力される出力データに基づいて、該機能処理手段が正常に動作しているかを前記プロセッサ手段で判断する手順とを備えたことを特徴とするＬＳＩ検査方法。
【請求項２】
請求項１に記載されたＬＳＩ検査方法において、
前記検査用プログラムは、前記ＬＳＩの実動作に使用するプログラムに対して前記機能処理手段の出力データを検査する機能を追加したものであり、
前記機能処理手段から通常動作時に出力される出力データに基づいて、該機能処理手段が正常に動作しているかを前記プロセッサ手段で判断する手順をさらに備えたことを特徴とするＬＳＩ検査方法。
【請求項３】
請求項１に記載されたＬＳＩ検査方法において、
前記機能処理手段は、データを記憶する記憶手段で構成され、
前記検査用プログラムに基づいて、前記記憶手段の記憶領域を複数の領域に分割してなる分割単位毎に入力データを生成する手順と、
前記入力データを前記記憶手段に出力する手順と、
前記記憶手段から出力される出力データに基づいて、該記憶手段が正常に動作しているかを前記プロセッサ手段で判断する手順と、
前記入力データ生成から前記正常動作判断までの手順を前記記憶手段の全記憶領域に対して連続して実行し、前記分割単位毎の動作を繰り返すときに、直前の分割単位における最後の処理を含めて次の分割単位毎の処理を実行する手順とをさらに備えたことを特徴とするＬＳＩ検査方法。
【請求項４】
書き換え可能なプログラム記憶手段と、該プログラム記憶手段に書き込まれたプログラムに基づいて動作するプロセッサ手段と、スキャンチェーンを構成する機能処理手段とを有するＬＳＩの該機能処理手段をスキャンテストするＬＳＩ検査方法であって、
前記ＬＳＩ外部から入力される検査用プログラムを前記プログラム記憶手段に記憶する手順と、
前記プロセッサ手段で前記検査プログラムを起動し、該検査用プログラムに基づいて生成した入力データを前記機能処理手段に出力する手順と、
前記機能処理手段から出力される出力データに基づいて、スキャンテスト結果が正常であるかを前記プロセッサ手段で判断する手順とを備えたことを特徴とするＬＳＩ検査方法。
【請求項５】
請求項４に記載されたＬＳＩ検査方法において、
前記ＬＳＩには、クロックを発生するクロック発生手段が内蔵されており、
前記プロセッサ手段により、前記クロック発生手段から前記機能処理手段に供給するクロックをスキャンテストの処理速度に応じて選択する手順をさらに備えたことを特徴とするＬＳＩ検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロプロセッサ等の情報処理装置が内蔵されたＬＳＩを検査するＬＳＩ検査方法であって、特に、該マイクロプロセッサ以外の機能回路ブロックを検査する技術に関する。
【背景技術】
【０００２】
従来、マイクロプロセッサが内蔵されたＬＳＩの検査は、ＬＳＩ検査のための専用回路を必要としていた（例えば、特許文献１参照）。
【０００３】
図４は、従来のＬＳＩ用故障診断回路の構成を示すブロック図である。図４において、４０１は診断プロセッサ、４０２はテスト制御回路、４０３はパターン発生回路、４０４はＲＡＭ、４０５は期待値照合回路である。
【０００４】
以下、前記ＬＳＩ用故障診断回路を用いてＬＳＩを検査する方法について説明する。
【０００５】
まず、前記診断プロセッサ４０１によって、テスト制御回路４０２内部のパターン発生モードレジスタに対して特定の値をセットする。テスト制御回路４０２は、パターン発生モードレジスタにセットされた値に応じてパターン発生回路４０３を起動させる。
【０００６】
前記パターン発生回路４０３は、起動された値に応じたアドレスと試験データとをＲＡＭ４０４に出力するとともに、期待値を期待値照合回路４０５に出力する。
【０００７】
前記期待値照合回路４０５は、前記ＲＡＭ４０４からデータを読み出し、読み出したデータの値と保持している期待値とを比較する。比較した結果が一致している場合には、前記パターン発生回路４０３から新規のアドレスと試験データとをＲＡＭ４０４に出力する。
【０００８】
このように、引き続き新規のデータと期待値とを比較していき、最後の期待値まで一致すれば、前記テスト制御回路４０２は、テスト終了フラグを診断プロセッサ４０１に対して出力する。
【０００９】
テスト終了フラグが入力された前記診断プロセッサ４０１は、テスト制御回路４０２内部のパターン発生モードレジスタに別の値をセットし、以下、上述のような動作を繰り返す。
【００１０】
一方、比較した結果、期待値が一致しない場合には、前記テスト制御回路４０２は、診断プロセッサ４０１に対して即時に障害フラグを出力する。障害フラグが入力された診断プロセッサ４０１は、パターン発生を中止する。
【特許文献１】特開平５−１０１６９７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
このように、診断プロセッサを用いることで、テストパターンの設定方法やテストの中止といった判断が柔軟に処理できる。また、テストパターンによっては実時間のクロックで処理させることも可能となる。
【００１２】
しかしながら、診断プロセッサは実動作と兼用できるもののテスト用の専用回路が別途必要となることから、回路規模が増加する要因となっていた。
【００１３】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、回路規模の増加を抑えつつ、実動作で問題なく動作するかを検査することができるようにすることにある。
【課題を解決するための手段】
【００１４】
前記目的を達成するため、本発明では、実動作に必要な回路のみで構成したＬＳＩの内蔵記憶手段を用いて実動作と同一の処理をさせることによって検査するようにした。
【００１５】
すなわち、本発明では、書き換え可能なプログラム記憶手段と、該プログラム記憶手段に書き込まれたプログラムに基づいて動作するプロセッサ手段と、入力されたデータに対して所定の処理を行う少なくとも１つの機能処理手段とを有するＬＳＩを検査するＬＳＩ検査方法であって、
前記ＬＳＩ外部から入力される検査用プログラムを前記プログラム記憶手段に記憶する手順と、
前記プロセッサ手段で前記検査用プログラムを起動し、該検査用プログラムに基づいて生成した入力データを前記機能処理手段に出力する手順と、
前記機能処理手段から出力される出力データに基づいて、該機能処理手段が正常に動作しているかを前記プロセッサ手段で判断する手順とを備えたことを特徴とするものである。
【発明の効果】
【００１６】
以上のように、本発明によれば、ＬＳＩを検査するための専用の回路を必要としないため、ＬＳＩ検査のために回路規模の増大を抑える上で有利となる。
【００１７】
また、実動作に基づいてＬＳＩを検査しているから、実動作時におけるＬＳＩの故障を検査できるという利点がある。
【００１８】
また、内蔵プロセッサの処理能力によってメモリ等の記憶手段に対して入出力、及び期待値との比較処理が間に合わなくなることが予め判明している場合には、該当する箇所で処理を中断させておき、中断前の処理を再度繰り返すことで、検査処理の連続性を確保する上で有利な効果が得られる。
【００１９】
また、クロック発生回路を制御して、スキャンテスト処理速度に合わせて動作クロックを制御するようにしたから、スキャンテストといった通常のＬＳＩ検査に必要な処理についてもプロセッサを用いて実現することができる。なお、ＬＳＩ内部にクロック発生回路が内蔵されている場合にのみ本発明を実施すれば、専用の回路を必要としないため、回路規模の増大を抑える上で有利となる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態を図面に基づいて詳細に説明する。以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものでは全くない。
【００２１】
＜実施形態１＞
図１は、本発明の実施形態１において検査対象となるＬＳＩの構成を示すブロック図である。図１において、１０１はＬＳＩであり、ＬＳＩ１０１外部とデータをやり取りするために、命令入力端子１０６、検査結果出力端子１０７、及びその他の外部端子が設けられている。
【００２２】
前記命令入力端子１０６は、ＬＳＩ１０１内部の命令メモリ１０２に接続されている。この命令メモリ１０２は、命令入力端子１０６から入力された検査用プログラムを格納するものである。
【００２３】
前記検査結果出力端子１０７は、マイクロプロセッサ１０３で比較判定した検査結果を出力するためのものである。
【００２４】
前記マイクロプロセッサ１０３は、ＬＳＩ１０１内部の回路の動作を制御するものであり、具体的には、命令メモリ１０２に格納された検査用プログラムに基づいて選択回路Ａ１０４及び選択回路Ｂ１０５を切り替える機能を有している。さらに、機能ブロックＡに入力する入力データＡ及び機能ブロックＣ１１０に入力する入力データＣを生成するとともに、機能ブロックＢ１０９の出力結果の期待値Ｂ及び機能ブロックＥ１１２の出力結果の期待値Ｅを生成し、出力データＢ，Ｅと期待値Ｂ，Ｅとをそれぞれ比較判定する機能をも有している。
【００２５】
前記選択回路Ａ１０４は、外部端子からの入力データとマイクロプロセッサ１０３からの出力データとを選択的に切り替えて機能ブロックＡ１０８に出力するものである。
【００２６】
前記選択回路Ｂ１０５は、外部端子からの入力データとマイクロプロセッサ１０３からの出力データとを選択的に切り替えて機能ブロックＣ１１０に出力するものである。
【００２７】
前記機能ブロックＡ１０８は、選択回路Ａ１０４から選択的に出力されたデータに対して所定の処理を行い、機能ブロックＢに対して出力データＡを出力するものである。
【００２８】
前記機能ブロックＢ１０９は、入力された出力データＡに対して所定の処理を行った後、外部端子及びマイクロプロセッサ１０３に対して出力データＢを出力するものである。
【００２９】
前記機能ブロックＣ１１０は、選択回路Ｂ１０５から選択的に出力されたデータに対して所定の処理を行い、機能ブロックＤに対して出力データＣを出力するものである。
【００３０】
前記機能ブロックＤ１１１は、入力された出力データＣに対して所定の処理を行った後、機能ブロックＥに対して出力データＤを出力するものである。
【００３１】
前記機能ブロックＥ１１２は、入力された出力データＤに対して所定の処理を行った後、外部端子及びマイクロプロセッサ１０３に対して出力データＥを出力するものである。
【００３２】
以下、前記ＬＳＩ１０１の検査方法について説明する。まず、命令入力端子１０６から検査用プログラムを入力して、その検査用プログラムを命令メモリ１０２に格納する。
【００３３】
前記マイクロプロセッサ１０３は、前記命令メモリ１０２に格納された検査用プログラムを起動して、この検査用プログラムに基づいて動作する。具体的には、マイクロプロセッサ１０３からの出力を選択するように、前記選択回路Ａ１０４及び選択回路Ｂ１０５を切り替える。さらに、前記機能ブロックＡ１０８に入力するための入力データＡと、前記機能ブロックＣ１１０に入力する入力データＣとを生成する。
【００３４】
そして、前記入力データＡを選択回路Ａ１０４を介して機能ブロックＡ１０８に出力する一方、前記入力データＣを選択回路Ｂ１０５を介して機能ブロックＣ１１０に出力する。
【００３５】
前記マイクロプロセッサ１０３は、前記入力データＡ，Ｃを出力した後、前記機能ブロックＢ１０９の出力結果の期待値Ｂと、前記機能ブロックＥ１１２の出力結果の期待値Ｅとをそれぞれ生成する。なお、期待値に関しては、入力に対して複数生成しておき、途中結果を確認できるようにするのが好ましい。
【００３６】
前記機能ブロックＡ１０８は、入力された入力データＡに対して所定の処理を行い、機能ブロックＢ１０９に対して出力データＢを出力する。
【００３７】
前記機能ブロックＢ１０９は、入力された出力データＡに対して所定の処理を行い、外部端子に出力データＢを出力する一方、マイクロプロセッサ１０３にも出力データＢを出力する。
【００３８】
前記機能ブロックＣ１１０は、入力された入力データＣに対して所定の処理を行い、機能ブロックＤ１１１に対して出力データＣを出力する。
【００３９】
前記機能ブロックＤ１１１は、入力された出力データＤに対して所定の処理を行い、機能ブロックＥに対して出力データＤを出力する。
【００４０】
前記機能ブロックＥ１１２は、入力された出力データＥに対して所定の処理を行い、外部端子に出力データＥを出力する一方、マイクロプロセッサ１０３にも出力データＥを出力する。
【００４１】
前記マイクロプロセッサ１０３は、複数回停止させることで、その都度、機能ブロックＢ１０９からの出力データＢを入力し、先ほど生成した期待値Ｂと比較する。同様に、機能ブロックＥ１１２からの出力データＥを入力し、生成した期待値Ｅと比較する。
【００４２】
前記出力データＢと期待値Ｂとの比較、及び前記出力データＥと期待値Ｅとの比較の結果、両方の出力データＢ，Ｅがそれぞれの期待値Ｂ，Ｅと一致すると判定された場合には、前記検査結果出力端子１０７から２ビットのシリアルデータ”００”を出力する。
【００４３】
一方、前記出力データＢが期待値Ｂと一致しないと判定された場合には、初めの１ビット目を”１”にして前記検査結果出力端子１０７から出力する。また、前記出力データＥが期待値Ｅと一致しないと判定された場合には、２ビット目を”１”にして前記検査結果出力端子１０７から出力する。
【００４４】
このような出力データと期待値との比較は複数回行うため、その都度、比較した結果をＬＳＩ１０１外部に出力する。
【００４５】
以上のように、本実施形態１に係るＬＳＩ検査方法によれば、ＬＳＩを検査するための専用の回路を必要としないため、ＬＳＩ検査のために回路規模の増大を抑える上で有利となる。
【００４６】
また、実動作に基づいてＬＳＩを検査しているから、実動作時におけるＬＳＩの故障を検査できるという利点がある。
【００４７】
なお、本実施形態１では、選択回路Ａ１０４、選択回路Ｂ１０５を使用しているが、この形態に限定するものではなく、例えば、マイクロプロセッサ１０３とホストアクセスのために接続された信号線とを用いて入力データを入力させても良い。また、期待値と比較する回数は、複数回としたが１回でも構わない。
【００４８】
なお、本実施形態１では、機能ブロックＡ１０８と機能ブロックＢ１０９とが接続され、機能ブロックＣ１１０と機能ブロックＤ１１１と機能ブロックＥ１１２が接続されてそれぞれ１つの外部入出力を形成しており、機能ブロックＡ１０８、機能ブロックＢ１０９と、機能ブロックＣ１１０、機能ブロックＤ１１１、機能ブロックＥ１１２とが全く無関係の構成にしているが、この形態に限定するものではなく、どのような構成であっても構わない。
【００４９】
＜実施形態２＞
図２は、本発明の実施形態２における検査対象のＬＳＩの構成を示すブロック図である。前記実施形態１との違いは、機能ブロックとしてメモリ２１０を設けた点であるため、以下、実施形態１と同じ部分については同じ符号を付し、相違点についてのみ説明する。
【００５０】
以下、ＬＳＩ２０１の検査方法について説明する。まず、命令入力端子１０６から検査用プログラムを入力して、その検査用プログラムを命令メモリ１０２に格納する。
【００５１】
なお、前記機能ブロックＡ１０８における処理等は前記実施形態１と同様であるため、以下、メモリ２１０における処理についてのみ説明する。
【００５２】
前記マイクロプロセッサ１０３は、前記命令メモリ１０２に格納された検査用プログラムを起動して、この検査用プログラムに基づいて動作する。具体的には、マイクロプロセッサ１０３からの出力を選択するように、選択回路Ｂ１０５を切り替える。さらに、前記メモリ２１０に入力する入力データを生成する。
【００５３】
ここで、前記メモリ２１０に対する検査は、メモリ２１０の全領域に対して実施するのであるが、連続で比較できる単位で入力データを生成するものとし、さらに、その際に分割した単位については、必ず分割した直前の処理を含むようにする。
【００５４】
具体的には、前記メモリ２１０のＡ領域に入力データを書き込み、その出力結果を比較処理した後、引き続き、同様にＢ領域、Ｃ領域、Ｄ領域と処理していくのであるが、ここで、前記マイクロプロセッサ１０３の処理能力で４つのメモリ領域を連続して処理できない場合には、３つのメモリ領域単位で入力データを分割する。この場合には、前記メモリ２１０のＡ領域、Ｂ領域、Ｃ領域の単位で処理させた後、分割した直前のメモリ領域であるＣ領域を含んだ３つのメモリ領域、すなわち、Ｃ領域、Ｄ領域、Ｅ領域の単位でデータを生成し、検査処理を行うようにしている。
【００５５】
そして、このように分割された入力データを選択回路Ｂ１０５を介してメモリ２１０に出力する。
【００５６】
前記マイクロプロセッサ１０３は、前記入力データを出力した後、分割した入力データ単位でメモリ２１０の出力結果の期待値を生成する。
【００５７】
前記メモリ２１０は入力されたデータを格納する。この格納されたデータは、前記マイクロプロセッサ１０３によって読み出される一方、機能ブロックＣ２１１によっても読み出され、所定の処理がなされる。
【００５８】
前記マイクロプロセッサ１０３は、前記メモリ２１０から読み出したデータを先ほど生成した期待値と比較し、その比較結果を検査結果出力端子１０７から出力する。
【００５９】
このように、比較結果を出力した後は、さらに次の入力データをメモリ２１０に対して出力することで、以下、同様の処理を繰り返す。
【００６０】
以上のように、本実施形態２に係るＬＳＩ検査方法によれば、内蔵プロセッサの処理能力によってメモリ等の記憶手段に対してメモリの連続アクセスといった検査処理が間に合わなくなることが予め判明している場合には、該当する箇所で分割処理させ、分割直前の処理を再度繰り返すことで連続性を保証できる。
【００６１】
＜実施形態３＞
図３は、本発明の実施形態３における検査対象のＬＳＩの構成を示すブロック図である。図３において、３０１はＬＳＩ、３０２は命令メモリ、３０３はマイクロプロセッサ、３０４は命令入力端子、３０５は検査結果出力端子、３０６はＰＬＬ（Phase Locked Loop）、３０７は機能ブロックである。
【００６２】
以下、ＬＳＩ３０１のスキャンテストの検査方法について説明する。まず、命令入力端子３０４から検査用プログラムを入力して、その検査用プログラムを命令メモリ３０２に格納する。
【００６３】
前記マイクロプロセッサ３０３は、前記命令メモリ３０２に格納された検査用プログラムを起動して、この検査用プログラムに基づいて動作する。具体的には、前記機能ブロック３０７に対するスキャンチェーン用のデータを生成する。そして、前記ＰＬＬ３０６から機能ブロック３０７に供給するクロックを選択する。前記ＰＬＬ３０６は、選択されたクロックを機能ブロック３０７に供給する。
【００６４】
そして、前記マイクロプロセッサ３０３は、生成したスキャンチェーン用のデータを機能ブロック３０７に出力した後、前記機能ブロック３０７のスキャンチェーン出力結果の期待値をスキャンチェーン用のデータに合わせて生成する。
【００６５】
前記機能ブロック３０７は、入力されたスキャンチェーン用のデータに基づいてスキャン処理を行い、その出力結果を前記マイクロプロセッサ３０３に対して出力する。
【００６６】
前記マイクロプロセッサ３０３は、測定しているスキャンデータと機能ブロック３０７からの出力結果を、先ほど生成した期待値と比較する。
【００６７】
前記出力結果と期待値とを比較した結果、一致すると判定された場合には、前記検査結果出力端子３０５から１ビットのシリアルデータ“０”を出力する。
【００６８】
一方、前記出力結果が期待値と一致しないと判定された場合には、前記検査結果出力端子３０５から“１”を出力する。このような比較判定を、測定するスキャンのチェーン数に対して繰り返し行う。
【００６９】
以上のように、本実施形態３に係るＬＳＩ検査方法では、クロック発生手段であるＰＬＬを制御して、スキャンテスト処理速度に合わせて動作クロックを制御するようにしたから、スキャンテストといった通常のＬＳＩ検査に必要な処理についてもプロセッサを用いて実現することができる。
【００７０】
なお、本実施形態３では、ＰＬＬ３０６が供給するクロックの選択を１度だけにしているが、この形態に限定するものではなく、いくらでも細かい制御が可能である。
【００７１】
なお、本実施形態３では、機能ブロックが１つだけ接続されており、スキャンパスが２系統になっているが、この形態に限定するものではない。また、クロック発生装置としてＰＬＬを使用しているが、分周回路を搭載していても構わない。もしくは、クロックを制御する回路が全くない場合でも適用可能である。
【産業上の利用可能性】
【００７２】
以上説明したように、本発明は、回路規模の増加を抑えつつ、実動作で問題なく動作するかを検査することができるという実用性の高い効果が得られることから、きわめて有用で産業上の利用可能性は高い。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施形態１における検査対象のＬＳＩの構成を示すブロック図である。
【図２】本実施形態２における検査対象のＬＳＩの構成を示すブロック図である。
【図３】本実施形態３における検査対象のＬＳＩの構成を示すブロック図である。
【図４】従来のＬＳＩ用故障診断回路の構成を示すブロック図である。
【符号の説明】
【００７４】
１０１    ＬＳＩ
１０２    命令メモリ
１０３    マイクロプロセッサ
１０４    選択回路Ａ
１０５    選択回路Ｂ
１０６    命令入力端子
１０７    検査結果出力端子
１０８    機能ブロックＡ
１０９    機能ブロックＢ
１１０    機能ブロックＣ
１１１    機能ブロックＤ
１１２    機能ブロックＥ
２１０    メモリ
３０２    命令メモリ
３０３    マイクロプロセッサ
３０４    命令入力端子
３０５    検査結果出力端子
３０６    ＰＬＬ
３０７    機能ブロック
【図１】
2007033231.tif 000003
【図２】
2007033231.tif 000004
【図３】
2007033231.tif 000005
【図４】
2007033231.tif 000006