(57)【要約】【課題】  少ないハードウェア追加で高い故障伝播を実現することができ、テスト対象回路の期待値生成をモジュロ回路を使用して行うこと。【解決手段】  機能回路であるテスト対象回路（１３）のロジックＢＩＳＴ回路（１０）は、テスト対象回路に供給する入力データから機能処理結果の期待値モジュロ値（Ｇ）を生成するモジュロ期待値生成回路（２２）と、テスト対象回路からの応答結果のモジュロ値（Ｆ）を求める結果モジュロ生成回路（２４）と、応答結果のモジュロ値と期待値モジュロ値とを比較する比較器（２６）とを有する。ロジックＢＩＳＴ回路（１０）は、入力データを生成するパターン生成器（１２）を有する。【選択図】      図１
2008157860.tif 000002
【特許請求の範囲】
【請求項１】
機能回路であるテスト対象回路のロジックＢＩＳＴ回路において、
前記テスト対象回路に供給する入力データから応答結果の期待値モジュロ値を生成するモジュロ期待値生成回路と、
前記テスト対象回路から出力される前記応答結果のモジュロ値を求める結果モジュロ生成回路と、
前記応答結果のモジュロ値と前記期待値モジュロ値とを比較する比較器と、
を有するロジックＢＩＳＴ回路。
【請求項２】
前記入力データを生成するパターン生成器を有する、請求項１に記載のロジックＢＩＳＴ回路。
【請求項３】
前記パターン生成器、前記モジュロ期待値生成回路、前記結果モジュロ生成回路、および前記比較器は、実動作速度で動作可能な回路で構成されていることを特徴とする請求項２に記載のロジックＢＩＳＴ回路。
【請求項４】
前記機能回路が演算器からなる、請求項１乃至３のいずれか１つに記載のロジックＢＩＳＴ回路。
【請求項５】
前記テスト対象回路は、第１及び第２の入力パターンデータに演算を施して、前記応答結果を出力する回路であり、
前記モジュロ期待値生成回路は、
前記第１の入力パターンデータから第１の入力モジュロ値を生成する第１の入力モジュロ生成回路と、
前記第２の入力パターンデータから第２の入力モジュロ値を生成する第２の入力モジュロ生成回路と、
前記第１の入力モジュロ値と前記第２の入力モジュロ値とに対して前記テスト対象回路と同じ演算を施して、演算モジュロ値を前記期待値モジュロ値として生成するモジュロ演算器と、
を有することを特徴とする、請求項４に記載のロジックＢＩＳＴ回路。
【請求項６】
前記モジュロ演算器と前記比較器との間に挿入されて、前記期待値モジュロ値を保持するモジュロ値持回り回路を更に有する、請求項５に記載のロジックＢＩＳＴ回路。
【請求項７】
前記テスト対象回路は、１つの入力パターンデータと固定値とに演算を施して、前記応答結果を出力する回路であり、
前記モジュロ期待値生成回路は、
前記入力パターンデータから入力モジュロ値を生成する入力モジュロ値生成回路と、
前記入力モジュロ値とモジュロ固定値とに対して前記テスト対象回路と同じ演算を施して、演算モジュロ値を出力するモジュロ演算器と、
を有することを特徴とする、請求項４に記載のロジックＢＩＳＴ回路。
【請求項８】
前記演算モジュロ値を前記期待値モジュロ値として出力する出力手段を有する、請求項７に記載のロジックＢＩＳＴ回路。
【請求項９】
前記入力モジュロ生成回路と前記モジュロ演算器との間に挿入されて、前記入力モジュロ値を保持するモジュロ値持回り回路を更に有する、請求項７に記載のロジックＢＩＳＴ回路。
【請求項１０】
前記演算モジュロ値と前記モジュロ値持回り回路で保持された前記入力モジュロ値とのどちらか一方を選択して、選択した値を前記期待値モジュロ値として出力するセレクタを有する、請求項９に記載のロジックＢＩＳＴ回路。
【請求項１１】
機能回路であるテスト対象回路にパターン生成器から入力データを供給して、前記テスト対象回路から出力される応答結果から、前記テスト対象回路が故障しているか否かを判断するためのモジュロ回路であって、
前記入力データから前記応答結果の期待値モジュロ値を生成するモジュロ期待値生成回路と、
前記応答結果のモジュロ値を求める結果モジュロ生成回路と、
前記応答結果のモジュロ値と前記期待値モジュロ値とを比較する比較器と、
を有するモジュロ回路。
【請求項１２】
前記パターン生成器、前記モジュロ期待値生成回路、前記結果モジュロ生成回路、および前記比較器は、実動作速度で動作可能な回路で構成されていることを特徴とする請求項１１に記載のモジュロ回路。
【請求項１３】
前記機能回路が演算器からなる、請求項１１又は１２に記載のモジュロ回路。
【請求項１４】
前記テスト対象回路は、第１及び第２の入力パターンデータに演算を施して、前記応答結果を出力する回路であり、
前記モジュロ期待値生成回路は、
前記第１の入力パターンデータから第１の入力モジュロ値を生成する第１の入力モジュロ生成回路と、
前記第２の入力パターンデータから第２の入力モジュロ値を生成する第２の入力モジュロ生成回路と、
前記第１の入力モジュロ値と前記第２の入力モジュロ値とに対して前記テスト対象回路と同じ演算を施して、演算モジュロ値を前記期待値モジュロ値として生成するモジュロ演算器と、
を有することを特徴とする、請求項１３に記載のモジュロ回路。
【請求項１５】
前記モジュロ演算器と前記比較器との間に挿入されて、前記期待値モジュロ値を保持するモジュロ値持回り回路を更に有する、請求項１４に記載のモジュロ回路。
【請求項１６】
前記テスト対象回路は、１つの入力パターンデータと固定値とに演算を施して、前記応答結果を出力する回路であり、
前記モジュロ期待値生成回路は、
前記入力パターンデータから入力モジュロ値を生成する入力モジュロ値生成回路と、
前記入力モジュロ値とモジュロ固定値とに対して前記テスト対象回路と同じ演算を施して、演算モジュロ値を出力するモジュロ演算器と、
を有することを特徴とする、請求項１３に記載のモジュロ回路。
【請求項１７】
前記演算モジュロ値を前記期待値モジュロ値として出力する出力手段を有する、請求項１６に記載のモジュロ回路。
【請求項１８】
前記入力モジュロ生成回路と前記モジュロ演算器との間に挿入されて、前記入力モジュロ値を保持するモジュロ値持回り回路を更に有する、請求項１６に記載のモジュロ回路。
【請求項１９】
前記演算モジュロ値と前記モジュロ値持回り回路で保持された前記入力モジュロ値とのどちらか一方を選択して、選択した値を前記期待値モジュロ値として出力するセレクタを有する、請求項１８に記載のモジュロ回路。
【請求項２０】
機能回路であるテスト対象回路のロジックＢＩＳＴ方法であって、
前記テスト対象回路に入力データを供給するステップと、
前記入力データから前記テスト対象回路の応答結果の期待値モジュロ値を生成するステップと、
前記応答結果のモジュロ値を求めるステップと、
前記応答結果のモジュロ値と前記期待値モジュロ値とを比較するステップと、
を有するロジックＢＩＳＴ方法。
【請求項２１】
前記機能回路が演算器からなる、請求項２０に記載のロジックＢＩＳＴ方法。
【請求項２２】
前記テスト対象回路は、第１及び第２の入力パターンデータに演算を施して、前記応答結果を出力する回路であり、
前記期待値モジュロ値を生成するステップは、
前記第１の入力パターンデータから第１の入力モジュロ値を生成するステップと、
前記第２の入力パターンデータから第２の入力モジュロ値を生成するステップと、
前記第１の入力モジュロ値と前記第２の入力モジュロ値とに対して前記テスト対象回路と同じ演算を施して、演算モジュロ値を前記期待値モジュロ値として生成するステップと、
を有することを特徴とする、請求項２１に記載のロジックＢＩＳＴ方法。
【請求項２３】
前記期待値モジュロ値を生成するステップは、
前記第１の入力モジュロ値を生成するステップと前記期待値モジュロ値を生成するステップとの間に挿入されて、前記第１の入力モジュロ値を保持するステップと、
前記第２の入力モジュロ値を生成するステップと前記期待値モジュロ値を生成するステップとの間に挿入されて、前記第２の入力モジュロ値を保持するステップと、
を更に有する、請求項２２に記載のロジックＢＩＳＴ方法。
【請求項２４】
前記テスト対象回路は、１つの入力パターンデータと固定値とに演算を施して、前記応答結果を出力する回路であり、
前記期待値モジュロ値を生成するステップは、
前記入力パターンデータから入力モジュロ値を生成するステップと、
前記入力モジュロ値とモジュロ固定値とに対して前記テスト対象回路と同じ演算を施して、演算モジュロ値を出力するステップと、
を有することを特徴とする、請求項２１に記載のロジックＢＩＳＴ方法。
【請求項２５】
前記期待値モジュロ値を生成するステップは、前記演算モジュロ値を前記期待値モジュロ値として出力するステップを有する、請求項２４に記載のロジックＢＩＳＴ方法。
【請求項２６】
前記期待値モジュロ値を生成するステップは、前記入力モジュロ値を生成するステップと前記演算モジュロ値を出力するステップとの間に挿入されて、前記入力モジュロ値を保持するステップを更に有する、請求項２４に記載のロジックＢＩＳＴ方法。
【請求項２７】
前記期待値モジュロ値を生成するステップは、前記演算モジュロ値と前記保持された前記入力モジュロ値とのどちらか一方を選択して、選択した値を前記期待値モジュロ値として出力するステップを有する、請求項２６に記載のロジックＢＩＳＴ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置に組み込まれたＢＩＳＴ（built-in self test：組込み自己検査）回路に関し、特に、演算器を含む機能回路をチェックするためのロジックＢＩＳＴ回路及びそれに使用されるモジュロ回路に関する。
【背景技術】
【０００２】
ＬＳＩ（large-scale integrated circuit：大規模集積回路）の高集積化に伴い、試験容易化設計（design for testability）の重要性が増してきている。試験容易化設計の一つとして、ＢＩＳＴが知られている。ここで、ＢＩＳＴとは組込み試験と自己試験を組み合わせたもので、ＬＳＩ内部で試験パターンの発生と出力判定を行うものである。ＢＩＳＴ回路は、回路内部に試験系列発生機構を組み込んだものである。
【０００３】
試験容易化設計に関する先行技術文献は、種々知られている。例えば、特許文献１（特開２００１−２９７５９８号公報）は、ＢＩＳＴ命令用メモリを新たに組み込むことなく、プログラマブルなメモリＢＩＳＴを内蔵する「半導体集積回路装置、及び半導体集積回路装置の自己テスト方法」を開示している。この特許文献１では、集積回路中のフリップフロップを直列に連結したスキャンパスレジスタをＢＩＳＴ命令用メモリとし、アドレスデコーダからのアドレス指令信号によりフリップフロップを選択してＢＩＳＴ実行命令用プログラムデータを読み出している。そして、この読み出されたプログラムデータに基づいてテストパタンを生成し、被テスト対象メモリがテストパタンデータを書き込んだ後で読み出されたデータと、当該テストパタンに相当する期待値パタンデータとを比較することによりメモリＢＩＳＴを行っている。
【０００４】
詳述すると、特許文献１は、プログラマブルメモリＢＩＳＴを組み込んだ半導体集積回路装置を開示している。この半導体集積回路装置は、組み合わせ回路と順序回路とから成るシステムロジックと、ＢＩＳＴ制御回路と、アドレスデコーダと、テストパタン生成器と、第１及び第２のマルチプレクサと、第１及び第２の被テストメモリと、テスト結果解析器とを有する。順序回路を構成する複数のフリップフロップはシフトレジスタのように直列に連結して接続され、スキャンパスレジスタ（ＢＩＳＴ命令用メモリ）を形成する。ＢＩＳＴ制御回路は、アドレスデコータ制御用信号をアドレスデコータへ供給する。アドレスデコータはアドレス指令信号をＢＩＳＴ命令用メモリに与え、ＢＩＳＴ命令用メモリより選択的に順次プログラムデータを読み出す。テストパタン生成器は、ＢＩＳＴ制御回路から出力される制御信号に応じてそのプログラムデータに対応したテストパタンデータを順次発生させる。また、テストパタン生成器は、テストパタンデータをテスト結果解析器へ与える。第１及び第２のマルチプレクサは、テストパタン生成器から発生されたテストパタンデータと、システムロジックからの出力データとを切り替え、第１及び第２の被テストメモリへの入力データを選択する。第１及び第２の被テストメモリから読み出されたデータは、通常のシステム動作時はデータバスを介してシステムロジックへ出力され、ＢＩＳＴ動作時はテスト解析器へ取り込まれる。テスト結果解析器は、取り込まれたメモリ出力データと、テストパタンデータに相当する期待値パタンデータとを比較してテスト解析結果（比較結果）を出力する。
【０００５】
また、特許文献２（特開昭６３−１４５５４７号公報）は、演算回路等のチェックに用いられるモジュロＷ回路を開示している。この特許文献２に開示されたモジュロＷ回路は、ｗビット（ｗ≧２）の入力、ｗビットの出力を有するモジュロＷ回路であって、ｗビットで表現することができる２ｗ通りの２進値のうち、全ビットが“１”のコードは、故障が検出されたことを示すエラーコードとして定義され、全ビットが“１”を除く残りのＷ（＝２ｗ−１）は、モジュロＷのＷ通りのコードとして定義され、故障が発生又は故障を検出してエラーコードを生成した際には、そのエラーコードを伝播させることを特徴とする。そして、モジュロＷ回路は、ｎ値のｗビットデータＡ１＝［ａ１１，ａ１２，・・・，ａ１ｗ］、Ａ２＝［ａ２１，ａ２２，・・・，ａ２ｗ］、・・・、Ａｎ＝［ａｎ１，ａｎ２，・・・，ａｎｗ］の入力のうちの１つ以上が前記エラーコードを示しているとき、ｗビットデータＣ＝［ｃ１，ｃ２，・・・，ｃｎ］として前記エラーコードを出力する。
【０００６】
詳述すると、特許文献２では、実施例としてＷ＝３の場合、すなわちモジュロ３回路を開示している。そして、モジュロ３回路を使用した演算装置は、第１及び第２の２進データと、それぞれの第１及び第２のモジュロ３期待値とを入力し、第１の２進データと第２の２進データとの演算結果と、演算結果のモジュロ３値とを出力する。モジュロ３回路を使用した演算装置は、第１及び第２入力レジスタ、演算回路、および演算結果出力レジスタからなる通常の演算装置の外に、後述するモジュロ３回路を備えている。モジュロ３回路は、第１及び第２の入力モジュロ３生成回路と、第１及び第２入力モジュロ３一致回路と、第１及び第２モジュロ３保持レジスタと、演算結果モジュロ３生成回路と、モジュロ３演算回路と、演算結果モジュロ３一致回路とを備える。
【０００７】
第１入力モジュロ３生成回路は、第１の２進データのモジュロ３値を第１の入力モジュロ３値として生成する。第２入力モジュロ３生成回路は、第２の２進データのモジュロ３値を第２の入力モジュロ３値として生成する。演算結果モジュロ３生成回路は、演算結果のモジュロ３値を生成する。第１入力モジュロ３一致回路は、第１の入力モジュロ３値と第１のモジュロ３期待値とが一致しているか否かをチェックする。第２入力モジュロ３一致回路は、第２のモジュロ３値と第２のモジュロ３期待値とが一致しているか否かをチェックする。第１モジュロ３保持レジスタは、第１入力モジュロ３一致回路の出力モジュロ３値を保持する。第２モジュロ３保持レジスタは、第２入力モジュロ３一致回路の出力モジュロ３値を保持する。モジュロ３演算回路は、第１モジュロ３保持レジスタに保持された出力モジュロ３値と第２モジュロ３保持レジスタに保持された出力モジュロ３値との間で、上記演算回路に対応したモジュロ３演算を実行し、その結果を演算結果のモジュロ３期待値として出力する。演算結果モジュロ３一致回路は、演算結果のモジュロ３値と演算結果のモジュロ３期待値とが一致しているか否かをチェックする。
【０００８】
特許文献３（特開２００２−３４２０７１号公報）は、除算チェックのためのハードウェア量を大幅に減少させ、除算器全体のチェックを行うことが可能な「除算器障害検出回路」を開示している。この特許文献３に開示された除算器障害検出回路は、ＩＥＥＥ  Ｐ７５４規格の丸め処理に対応した除算を行う際に前記丸め処理後の商と前記丸め処理で発生する商加算指示とを考慮してモジュロ３生成を行う回路を有する。詳述すると、除算器障害検出回路では、丸め回路及び丸め加算回路による丸め処理結果から商のモジュロ３生成回路で生成されるモジュロ３結果と、除数用モジュロ３生成回路で求められた除数のモジュロ３結果との乗算を積のモジュロ３生成回路で行う。この積のモジュロ３生成回路の結果と部分剰余モジュロ３生成回路で求めた部分剰余のモジュロ３結果とを和のモジュロ３生成回路で加算する。加算したモジュロ３結果は被除数用モジュロ３生成回路で予め生成しておいた被除数のモジュロ３結果と比較回路で比較を行い、商生成部及び丸め回路、丸め加算回路で障害があるか否かを判定する。
【０００９】
特許文献４（特開昭６０−１１７３３２号公報）は、除算チェックのためのハードウェアの量が少なく、かつ除算全体のチェックが可能である「除算装置」を開示している。この特許文献４に開示された除算装置は、除算をｇ進数で求める除算装置である。除算装置は、除数の近似逆数を求める逆数表メモリと、除数と近似逆数との積から補正除数を求める除数補正回路と、被除数に近似逆数を乗じて第１番目の部分剰余Ｒ１を求める乗算回路と、第ｉ番目の部分剰余Ｒｉを四捨五入して第ｉ番目の仮商Ｐｉを求めるＮ個の仮商用加算回路と、第ｉ番目の部分剰余から第ｉ番目の仮商と補正除数との積を減じた差をｇ倍して第（ｉ＋１）番目の部分剰余Ｒｉ＋１を求めるＮ個の部分除算回路と、第（ｉ＋１）番目の部分剰余Ｒｉ＋１の正負に応じて第ｉ番目の仮商Ｐｉから０または１を減じた値の法ｇの主値を商の上位から第ｉ桁目の商桁とするＮ個の商補正回路と、被除数のモジュロ３を作成する被除数用モジュロ３生成回路と、除数のモジュロ３を作成する除数用モジュロ３生成回路と、近似逆数のモジュロ３を作成する近似逆数用モジュロ３生成回路と、商のモジュロ３を作成する商用モジュロ３生成回路と、第（Ｎ＋１）番目の部分剰余ＲＮ＋１のモジュロ３を作成する回路とを備える。
【００１０】
特許文献５（特開２００３−３０７５５１号公報）は、大規模、高性能な論理回路に対してもテスト時間を増加させずに実動作速度（Ａｔ−ｓｐｅｅｄ）でロジックＢＩＳＴを実施することを可能にし、結果としてテストコストを低減するようにした「半導体集積回路および半導体集積回路の設計方法」を開示している。特許文献５に開示された半導体集積回路では、ロジックＢＩＳＴコントローラを２つに分割し、スキャンイネーブル信号とクロック信号をユーザー回路に供給する部分回路は遅延の小さいクロックで駆動し、テストパタンをユーザー回路に供給し、テスト結果を回収する部分回路は遅延の大きいクロック信号で駆動している。特許文献５に開示された半導体集積回路では、スキャン動作でスキャンＦＦへ入力パターンをセット後、スキャンＦＦから組合せ回路にテストパターンを伝播させ、組合せ回路から出力されるテスト結果をスキャンＦＦに取り込み、結果を回収する動作を行う。
【００１１】
ところで、ＢＩＳＴを実現するには、入力パターンの生成、入力パターンに対する期待値パターンの生成、テスト対象回路の応答結果と期待値パターンとの比較をチップ内で実現する必要がある。すなわち、ＢＩＳＴ回路の実現には、入力パターンを自動発生して、その入力パターンに対する期待値パターンを自動生成し、結果パターンと期待値パターンとの比較を行う必要がある。
【００１２】
ＢＩＳＴ回路の中でもメモリＢＩＳＴ回路は、全メモリセルにアクセスして“０”や“１”のパターンを書き込んだ後で読み出す事により故障検出できるので、期待値を生成することが容易に行える。メモリＢＩＳＴ回路は、全メモリセルを漏れなくチェックする回路なので、回路を実現し易い。
【００１３】
これに対して、四則演算のロジックＢＩＳＴ回路を実現するには、キャリー等の桁あがりなどを考慮する必要があるので、一般的に、期待値を生成することは困難である。その為、従来では、次の方法を採用している。第１の方法は、機能回路の応答結果に付随するパリティをチェックする方法である。第２の方法は、期待値パターンを生成しない代わりにテスト対象回路を二重化し、二重化したテスト対象回路からの応答結果を期待値とする方法である。
【００１４】
図７を参照して、上記第２の方法を採用した、従来のロジックＢＩＳＴ回路１００について説明する。従来のロジックＢＩＳＴ回路１００は、テスト制御部１１と、パターン生成器１２と、第１のテスト対象回路１３と、第２のテスト対象回路１３Ａと、比較器３０とを有する。
【００１５】
ＢＩＳＴ起動指示信号Ｃがテスト制御部１１に与えられると、テスト制御部１１は、パターン生成指示信号Ｄをパターン生成器１２に送出する。パターン生成器２は、テスト対象回路１３が活性化し易く、故障を検出し易い入力パターンを生成し、その生成した入力パターンを第１のテスト対象回路１３に与える。本例では、テスト対象回路１３に演算器を仮定しているので、第１の入力パターンデータＡと第２の入力パターンデータＢとをセットする。並行して、パターン生成器１２は、二重化された第２のテスト対象回路１３Ａに、第１の入力パターンデータＡと第２の入力パターンデータＢとを送出する。ここで、第１及び第２の入力パターンデータＡ及びＢの各々は、ｎビットから構成されている。
【００１６】
第１のテスト対象回路１３は、Ｙ＝Ａ（演算）Ｂの演算を実行して、第１の応答結果Ｙを出力する。第２のテスト対象回路１３Ａは、ＹＡ＝Ａ（演算）Ｂの演算を実行して、第２の応答結果ＹＡを出力する。ここで、第１及び第２の応答結果Ｙ及びＹＡの各々も、ｎビットから構成されている。第１の応答結果Ｙと第２の応答結果ＹＡとは比較器３に供給される。比較器３０は、テスト制御部１１からの比較指示信号Ｅに応答して、第１の応答結果Ｙと第２の応答結果ＹＡとを比較する。第１の応答結果Ｙと第２の応答結果ＹＡとが一致すれば、比較器３０はテスト対象回路１３が「故障無し」と判断する。逆に、第１の応答結果Ｙと第２の応答結果ＹＡとが不一致であれば、比較器３０は、第１のテスト対象回路１３に「回路故障あり」と判断する。
【００１７】
【特許文献１】特開２００１−２９７５９８号公報
【特許文献２】特開昭６３−１４５５４７号公報
【特許文献３】特開２００２−３４２０７１号公報
【特許文献４】特開昭６０−１１７３３２号公報
【特許文献５】特開２００３−３０７５５１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
しかしながら、図７に図示した従来のロジックＢＩＳＴ回路１００においては、次のような課題がある。
【００１９】
第１の課題は、テスト対象回路を二重化しているため、大きなハードウェアを必要とすることである。
【００２０】
第２の課題は、テスト対象回路１３、１３Ａの応答結果比較がｎビットのため、比較器３０に大きなハードウェアを必要とすることである。別の解決案として、前述した第１の方法を採用して、ｎビットの応答結果Ｙ、ＹＡを比較するのではなく、応答結果のパリティで実施するケースもある。この場合、比較回路は小規模のハードウェアで構成できるが、演算処理によってはパリティ予測出来ないケースがある。そのため、テスト対象回路１３の演算器全ステージにパリティを付加することが出来ず、故障伝播率が劣るという問題がある。
【００２１】
尚、特許文献１は、メモリＢＩＳＴ回路に関する技術的思想を開示するのみで、本発明が対象としている四則演算のロジックＢＩＳＴ回路については何ら開示していない。
【００２２】
また、特許文献２は、演算回路等のチェックに用いられるモジュロＷ回路を開示している。しかしながら、特許文献２はモジュロＷ回路を開示しているだけであって、そのモジュロＷ回路をロジックＢＩＳＴ方式に適用（採用）することについては何ら開示せず示唆していない。また、この特許文献２に開示されたモジュロＷ回路は、通常動作におけるチェックを前提にしているので、２つのオペランドデータからそれぞれモジュロ値を生成する必要がある。そのため、回路構成が複雑になるという問題がある。更に、特許文献２に開示されたモジュロＷ回路では、モジュロ値保持レジスタとして、第１モジュロ３保持レジスタと第２モジュロ３保持レジスタとの２個が必要であり、ハードウェアが大きくなるという問題もある。
【００２３】
さらに、特許文献３は、モジュロ３生成を行う回路を有する除算器障害検出回路を開示している。この特許文献３でも、上記特許文献２と同様に、除算器の障害検出のためにモジュロ回路を使用することを開示しているだけであって、モジュロ回路をロジックＢＩＳＴ方式に適用（採用）することについては何ら開示せず示唆していない。
【００２４】
また、特許文献４も、モジュロ回路を用いて除算チェックが行える除算装置を開示しているだけであって、モジュロ回路をロジックＢＩＳＴ方式に適用（採用）することについては何ら開示せず示唆していない。
【００２５】
特許文献５においては、大規模な論理回路の場合、スキャンイネーブル信号の遅延およびクロック信号の遅延がクロック周期に比べて無視できないほど大きくなり、アットスピード（実動作速度）で動作出来なくなるという問題がある。
【００２６】
したがって、本発明の目的は、少ないハードウェア追加で高い故障伝播を実現することができるロジックＢＩＳＴ回路を提供することにある。
【００２７】
本発明の他の目的は、テスト対象回路の期待値生成をモジュロ回路を使用して行う、ロジックＢＩＳＴ回路を提供することにある。
【００２８】
本発明の更に他の目的は、実動作速度で動作出来る、ロジックＢＩＳＴ回路を提供することにある。
【課題を解決するための手段】
【００２９】
本発明の第１の態様によれば、機能回路であるテスト対象回路のロジックＢＩＳＴ回路において、前記テスト対象回路に供給する入力データから応答結果の期待値モジュロ値を生成するモジュロ期待値生成回路と、前記テスト対象回路から出力される前記応答結果のモジュロ値を求める結果モジュロ生成回路と、前記応答結果のモジュロ値と前記期待値モジュロ値とを比較する比較器と、を有するロジックＢＩＳＴ回路が得られる。
【００３０】
上記本発明の第１の態様によるロジックＢＩＳＴ回路において、ロジックＢＩＳＴ回路は、前記入力データを生成するパターン生成器を有する。前記パターン生成器、前記モジュロ期待値生成回路、前記結果モジュロ生成回路、および前記比較器は、実動作速度で動作可能な回路で構成されることが好ましい。前記機能回路は、演算器からなって良い。
【００３１】
上記本発明の第１の態様によるロジックＢＩＳＴ回路において、前記テスト対象回路は、第１及び第２の入力パターンデータに演算を施して、前記応答結果を出力する回路であって良い。この場合、前記モジュロ期待値生成回路は、前記第１の入力パターンデータから第１の入力モジュロ値を生成する第１の入力モジュロ生成回路と、前記第２の入力パターンデータから第２の入力モジュロ値を生成する第２の入力モジュロ生成回路と、前記第１の入力モジュロ値と前記第２の入力モジュロ値とに対して前記テスト対象回路と同じ演算を施して、演算モジュロ値を前記期待値モジュロ値として生成するモジュロ演算器と、から構成されて良い。また、ロジックＢＩＳＴ回路は、前記モジュロ演算器と前記比較器との間に挿入されて、前記期待値モジュロ値を保持するモジュロ値持回り回路を更に有することが好ましい。
【００３２】
上記本発明の第１の態様によるロジックＢＩＳＴ回路において、前記テスト対象回路は、１つの入力パターンデータと固定値とに演算を施して、前記応答結果を出力する回路であって良い。この場合、前記モジュロ期待値生成回路は、前記入力パターンデータから入力モジュロ値を生成する入力モジュロ値生成回路と、前記入力モジュロ値とモジュロ固定値とに対して前記テスト対象回路と同じ演算を施して、演算モジュロ値を出力するモジュロ演算器と、を有するものであって良い。ロジックＢＩＳＴ回路は、前記演算モジュロ値を前記期待値モジュロ値として出力する出力手段を有してよい。ロジックＢＩＳＴ回路は、前記入力モジュロ生成回路と前記モジュロ演算器との間に挿入されて、前記入力モジュロ値を保持するモジュロ値持回り回路を更に有して良い。ロジックＢＩＳＴ回路は、前記演算モジュロ値と前記モジュロ値持回り回路で保持された前記入力モジュロ値とのどちらか一方を選択して、選択した値を前記期待値モジュロ値として出力するセレクタを有して良い。
【００３３】
本発明の第２の態様によれば、機能回路であるテスト対象回路にパターン生成器から入力データを供給して、前記テスト対象回路から出力される応答結果から、前記テスト対象回路が故障しているか否かを判断するためのモジュロ回路であって、前記入力データから前記応答結果の期待値モジュロ値を生成するモジュロ期待値生成回路と、前記応答結果のモジュロ値を求める結果モジュロ生成回路と、前記応答結果のモジュロ値と前記期待値モジュロ値とを比較する比較器と、を有するモジュロ回路が得られる。
【００３４】
上記本発明の第２の態様によるモジュロ回路において、前記パターン生成器、前記モジュロ期待値生成回路、前記結果モジュロ生成回路、および前記比較器は、実動作速度で動作可能な回路で構成されていることが好ましい。前記機能回路は演算器からなって良い。
【００３５】
上記本発明の第２の態様によるモジュロ回路において、前記テスト対象回路は、第１及び第２の入力パターンデータに演算を施して、前記応答結果を出力する回路であって良い。この場合、前記モジュロ期待値生成回路は、前記第１の入力パターンデータから第１の入力モジュロ値を生成する第１の入力モジュロ生成回路と、前記第２の入力パターンデータから第２の入力モジュロ値を生成する第２の入力モジュロ生成回路と、前記第１の入力モジュロ値と前記第２の入力モジュロ値とに対して前記テスト対象回路と同じ演算を施して、演算モジュロ値を前記期待値モジュロ値として生成するモジュロ演算器と、を有して良い。モジュロ回路は、前記モジュロ演算器と前記比較器との間に挿入されて、前記期待値モジュロ値を保持するモジュロ値持回り回路を更に有して良い。
【００３６】
上記本発明の第２の態様によるモジュロ回路において、前記テスト対象回路は、１つの入力パターンデータと固定値とに演算を施して、前記応答結果を出力する回路であって良い。この場合、前記モジュロ期待値生成回路は、前記入力パターンデータから入力モジュロ値を生成する入力モジュロ値生成回路と、前記入力モジュロ値とモジュロ固定値とに対して前記テスト対象回路と同じ演算を施して、演算モジュロ値を出力するモジュロ演算器と、を有するものであって良い。モジュロ回路は、前記演算モジュロ値を前記期待値モジュロ値として出力する出力手段を有して良い。モジュロ回路は、前記入力モジュロ生成回路と前記モジュロ演算器との間に挿入されて、前記入力モジュロ値を保持するモジュロ値持回り回路を更に有して良い。モジュロ回路は、前記演算モジュロ値と前記モジュロ値持回り回路で保持された前記入力モジュロ値とのどちらか一方を選択して、選択した値を前記期待値モジュロ値として出力するセレクタを有して良い。
【００３７】
本発明の第３の態様によれば、機能回路であるテスト対象回路のロジックＢＩＳＴ方法であって、前記テスト対象回路に入力データを供給するステップと、前記入力データから前記テスト対象回路の応答結果の期待値モジュロ値を生成するステップと、前記応答結果のモジュロ値を求めるステップと、前記応答結果のモジュロ値と前記期待値モジュロ値とを比較するステップと、を有するロジックＢＩＳＴ方法が得られる。
【００３８】
上記本発明の第３の態様によるロジックＢＩＳＴ方法において、前記機能回路は演算器からなって良い。
【００３９】
上記本発明の第３の態様によるロジックＢＩＳＴ方法において、前記テスト対象回路は、第１及び第２の入力パターンデータに演算を施して、前記応答結果を出力する回路であって良い。この場合、前記期待値モジュロ値を生成するステップは、前記第１の入力パターンデータから第１の入力モジュロ値を生成するステップと、前記第２の入力パターンデータから第２の入力モジュロ値を生成するステップと、前記第１の入力モジュロ値と前記第２の入力モジュロ値とに対して前記テスト対象回路と同じ演算を施して、演算モジュロ値を前記期待値モジュロ値として生成するステップと、を有して良い。前記期待値モジュロ値を生成するステップは、前記第１の入力モジュロ値を生成するステップと前記期待値モジュロ値を生成するステップとの間に挿入されて、前記第１の入力モジュロ値を保持するステップと、前記第２の入力モジュロ値を生成するステップと前記期待値モジュロ値を生成するステップとの間に挿入されて、前記第２の入力モジュロ値を保持するステップと、を更に有して良い。
【００４０】
上記本発明の第３の態様によるロジックＢＩＳＴ方法において、前記テスト対象回路は、１つの入力パターンデータと固定値とに演算を施して、前記応答結果を出力する回路であって良い。この場合、前記期待値モジュロ値を生成するステップは、前記入力パターンデータから入力モジュロ値を生成するステップと、前記入力モジュロ値とモジュロ固定値とに対して前記テスト対象回路と同じ演算を施して、演算モジュロ値を出力するステップと、を有して良い。前記期待値モジュロ値を生成するステップは、前記演算モジュロ値を前記期待値モジュロ値として出力するステップを有して良い。前記期待値モジュロ値を生成するステップは、前記入力モジュロ値を生成するステップと前記演算モジュロ値を出力するステップとの間に挿入されて、前記入力モジュロ値を保持するステップを更に有して良い。前記期待値モジュロ値を生成するステップは、前記演算モジュロ値と前記保持された前記入力モジュロ値とのどちらか一方を選択して、選択した値を前記期待値モジュロ値として出力するステップを有して良い。
【発明の効果】
【００４１】
本発明では、以下に記載するような効果を奏する。
【００４２】
第１の効果は、機能回路、特に演算器のテスト試験において、モジュロ回路を使用することにより、テスト対象回路の中間結果などを使用する事なく、入力データから期待値データを生成できるので、演算器全体を故障検出範囲にすることができ、高い故障検出率を実現できることである。具体的には、「Ｙ＝Ａ（演算）Ｂ」の演算に対して、モジュロデータに対しても「ＭｏｄＹ＝ＭｏｄＡ（演算）ＭｏｄＢ」演算が成立する性質があるので、機能回路、特に演算器の期待値生成にモジュロ回路を使用する事により、期待値モジュロ値をテスト対象回路の入力データから生成できる。
【００４３】
第２の効果は、機能回路の期待値生成にモジュロ回路を使用しているので、機能回路二重化に較べて大幅に少ないハードウェア量でモジュロ回路を構成できることである。モジュロ生成回路とモジュロ演算器とを使用して、期待値モジュロ値を生成できる。機能回路が演算器の場合、データ巾が大きい程、機能回路二重化に比べ、モジュロ回路のハードウェア量は少なくなるので、ハードウェア低減効果が大きい。加えて、入力データ巾制限のないパターン発生器により、簡単な構成のハードウェアを実現できる。更に、小さい比較器を使用することで、高速化し易い。これにより、AT-SPEED（実動作速度）テストを実現し易い。
【発明を実施するための最良の形態】
【００４４】
本発明の特徴について説明する。
【００４５】
本発明の１つ目の特徴は、データ制御システムの機能回路、特に演算器のテスト試験において、モジュロ回路を使用して期待値パターンを生成することにより、高い故障検出率を実現できるロジックＢＩＳＴ回路である。上記の機能回路は、演算器以外にもモジュロ回路で期待値パターンを生成することが可能な回路を含む。
【００４６】
本発明の１つ目の特徴について説明する。第１の入力データＡと第２の入力データＢとを演算し、結果データＹを生成する処理を、「Ｙ＝Ａ（演算）Ｂ」と記述する。第１の入力データＡのモジュロ値をＭｏｄＡとし、第２の入力データＢのモジュロ値をＭｏｄＢとする。この場合、「Ｙ＝Ａ（演算）Ｂ」演算に対して、「ＭｏｄＹ＝ＭｏｄＡ（演算）ＭｏｄＢ」が成立する性質があるので、第１の入力データＡと第２の入力データＢに対するモジュロ値「ＭｏｄＡ」、「ＭｏｄＢ」を作成し、テスト対象回路と同じ演算をモジュロ値「ＭｏｄＡ」、「ＭｏｄＢ」に対して実施する事により期待値モジュロ値「ＭｏｄＡ（演算）ＭｏｄＢ」を生成する。結果モジュロ値「ＭｏｄＹ」は、テスト対象回路からの結果データＹから生成する。このように、期待値モジュロ値「ＭｏｄＡ（演算）ＭｏｄＢ」を入力データから作成するので、テスト対象回路の故障を容易に検出することができる。
【００４７】
本発明の２つ目の特徴は、ロジックＢＩＳＴ回路の期待値生成にモジュロ回路を採用する事により、ハードウェア量を少なく出来ることである。
【００４８】
本発明の２つ目の特徴について説明する。演算器のロジックＢＩＳＴ回路にモジュロ回路を採用する事により、モジュロ生成回路とモジュロ演算回路との組み合わせのみで期待値データに対するモジュロ値生成が可能となる。例えば、ｎビットデータを整数３で割った剰余演算である、モジュロ３演算を採用したとする。この場合、モジュロ回路（モジュロ生成回路、モジュロ演算回路）によりｎビットデータを２ビットデータに圧縮できる。２ビットに圧縮されたモジュロデータに対してテスト対象回路と同じ演算を行う事により、期待値パターンに対するモジュロデータを作成することができる。モジュロ生成回路とモジュロ演算回路のハードウェアは、テスト対象回路の二重化方式のハードウェア量に較べてかなり少ないので、少ないハードウェア追加で期待値モジュロ値と結果モジュロ値との間の比較を行うことが可能となる。
【００４９】
具体的には、テスト対象回路が６４ビット演算器であるとしよう。この場合には、６４ビットデータを２ビットデータのモジュロデータに圧縮する回路が必要になるが、この回路は数十ゲート〜数百ゲートのハードウェアで構成できる。モジュロ演算は、２ビット同士の演算を行うので、この回路は数十ゲートで構成できる。このハードウェア量は、６４ビット演算器に較べて、大幅に少ない。
【実施例】
【００５０】
以下、本発明の実施例について図面を参照して詳細に説明する。
【００５１】
図１を参照して、本発明の第１の実施例に係るロジックＢＩＳＴ回路１０について説明する。図示のロジックＢＩＳＴ回路１０は、テスト制御部１１と、パターン生成器１２と、テスト対象回路１３と、モジュロ回路２０とを有する。
【００５２】
モジュロ回路２０は、モジュロ期待値生成回路２２と、結果モジュロ生成回路２４と、比較器２６とから構成されている。
【００５３】
テスト制御部１１は、テスト動作におけるテスト実行指示を行う回路である。テスト制御部１１は、ＢＩＳＴ動作を開始するＢＩＳＴ起動指示信号Ｃを受け取り、パターン生成指示信号Ｄと比較指示信号Ｅとを出力する。
【００５４】
パターン生成器１２は、パターン生成指示信号Ｄに応答して、テスト対象回路１３の故障を検出し易いパターン生成を行う回路である。図示の例では、パターン生成器１２は、第１の入力パターンデータＡと第２の入力パターンデータＢとを生成する。ここで、第１及び第２の入力パターンデータＡ及びＢの各々は、ｎビットデータである。第１及び第２の入力パターンデータＡ及びＢは、モジュロ期待値生成回路２２とテスト対象回路１３とに送られる。
【００５５】
テスト対象回路１３は、第１及び第２の入力パターンデータＡ及びＢを入力して、それらのデータＡ及びＢに対して演算（Ｙ＝Ａ（演算）Ｂ）を実行し、応答結果Ｙを生成する。この応答結果Ｙは、結果モジュロ生成回路２４に送られる。
【００５６】
モジュロ期待値生成回路２２は、第１及び第２の入力パターンデータＡ及びＢを入力し、後述するように、期待値モジュロ値Ｇを生成する。結果モジュロ生成回路２４は、応答結果Ｙを入力し、応答結果Ｙを整数ｍ（ｍ≧３）で割った剰余ＭｏｄＹを結果モジュロ値Ｆとして生成する。比較器２６は、比較指示信号Ｅに応答して、結果モジュロ値Ｆと期待値モジュロ値Ｇとを比較し、一致・不一致判定を行う。
【００５７】
前述したように、テスト対象回路１３は、第１の入力パターンデータＡと第２の入力パターンデータＢとから応答結果Ｙ＝Ａ（演算）Ｂを生成する。第１の入力パターンデータＡのモジュロ値をＭｏｄＡとし、第２の入力パターンデータＢのモジュロ値をＭｏｄＢとする。「Ｙ＝Ａ（演算）Ｂ」の演算に対して、「ＭｏｄＹ＝ＭｏｄＡ（演算）ＭｏｄＢ」が成立する性質がある。
【００５８】
そこで、モジュロ期待値生成回路２２は、第１の入力パターンデータＡと第２の入力パターンデータＢに対するモジュロ値「ＭｏｄＡ」、「ＭｏｄＢ」を作成し、テスト対象回路１３と同じ演算をモジュロ値「ＭｏｄＡ」、「ＭｏｄＢ」に実施して、期待値モジュロ値「ＭｏｄＡ（演算）ＭｏｄＢ」を生成する。結果モジュロ値「ＭｏｄＹ」は、結果モジュロ生成回路２４によって、テスト対象回路１３から出力される応答結果データＹから生成する。
【００５９】
このように、期待値モジュロ値「ＭｏｄＡ（演算）ＭｏｄＢ」を入力パターンデータＡ、Ｂから作成するので、テスト対象回路１３の故障を容易に検出することができる。
【００６０】
図２を参照して、図１に示したモジュロ期待値生成回路２２の具体例について説明する。
【００６１】
モジュロ期待値生成回路２２は、第１及び第２の入力モジュロ生成回路２２１、２２２と、モジュロ値持回り回路２２３と、モジュロ演算器２２５とから構成されている。
【００６２】
第１の入力モジュロ生成回路２２１は、第１の入力パターンデータＡを整数ｍで割った剰余を、第１の入力モジュロ値ＭｏｄＡとして生成する。第２の入力モジュロ生成回路２２２は、第２の入力パターンデータＢを整数ｍで割った剰余を、第２の入力モジュロ値ＭｏｄＢとして生成する。モジュロ演算器２２５は、第１及び第２の入力モジュロ生成回路２２１、２２２からそれぞれ生成された、第１及び第２の入力モジュロ値ＭｏｄＡ、ＭｏｄＢを入力して、これらモジュロ値ＭｏｄＡ、ＭｏｄＢに対してテスト対象回路１３と同じ演算を施し、期待値モジュロ値Ｇを生成する。モジュロ値持回り回路２２３は、期待値モジュロ値Ｇをテスト対象回路１３の演算に要する時間まで保持する。
【００６３】
演算器のロジックＢＩＳＴ回路１０にモジュロ回路２０を採用することにより、モジュロ生成回路２２１、２２２とモジュロ演算器２２５との組み合わせのみで、期待値データに対するモジュロ値を生成することが出来る。例えば、整数ｍが３であるとする。この場合、ｎビットデータＡ、Ｂを整数３で割った剰余演算である、モジュロ３演算を採用することによって、モジュロ回路２０によりｎビットデータＡ、Ｂを２ビットデータに圧縮できる。２ビットに圧縮されたモジュロデータＭｏｄＡ、ＭｏｄＢに対してテスト対象回路１３と同じ演算を施すことにより、期待値パターンに対するモジュロデータ（演算モジュロ値）ＭｏｄＡ（演算）ＭｏｄＢを作成することができる。
【００６４】
モジュロ生成回路２２１，２２２、２４とモジュロ演算器２２５のハードウェアは、テスト対象回路１３の二重化方式のハードウェア量に較べてかなり少ない。その為、少ないハードウェアの追加で、期待値モジュロ値Ｇと結果モジュロ値Ｆとの比較が可能となる。
【００６５】
又、本実施例では、保持する（持ち回る）前に、モジュロ演算器２２５でモジュロ演算を実施するので、モジュロ値持回り回路２２３が１個だけでよく、ハードウェアを削減することができる。
【００６６】
テスト対象回路１３が６４ビット演算器であるとする。この場合、モジュロ生成回路２２１、２２２、２４の各々は、６４ビットデータを２ビットデータのモジュロデータに圧縮する。このようなモジュロ生成回路は数十ゲート〜数百ゲートのハードウェアで構成できる。モジュロ演算器２２５は、２ビット同士の演算を行うので、このモジュロ演算器２２５は数十ゲートで構成できる。これらのハードウェア量は、６４ビット演算器のハードウェア量に較べて大幅に少ない。
【００６７】
次に、図３を参照して、図２に示したロジックＢＩＳＴ回路１０の動作について説明する。
【００６８】
テスト制御部１１は、タイミング１でＢＩＳＴ起動指示信号Ｃを受け、タイミング２でパターン生成指示信号Ｄをパターン生成器１２に送出する。パターン生成器１２は、テスト対象回路１３が活性化し易く、故障を検出し易いパターン生成を行い、タイミング３でテスト対象回路１３にパターンを送出する。
【００６９】
本例では、テスト対象回路１３に演算器を想定しているので、パターン生成器１２は、第１の入力パターンデータＡと第２の入力パターンデータＢとをセットする。並行して、パターン生成器１２は、タイミング３で第１及び第２の入力パターンデータＡ、Ｂをそれぞれ第１及び第２の入力モジュロ生成回路２２１、２２２に送出する。
【００７０】
第１の入力モジュロ生成回路２２１は、タイミング３で第１の入力モジュロ値ＭｏｄＡを生成し、モジュロ演算器２２５に送出する。第２の入力モジュロ生成回路２２２は、タイミング３で第２の入力モジュロ値ＭｏｄＢを生成し、モジュロ演算器２２５に送出する。
【００７１】
モジュロ演算器２２５は、タイミング４でテスト対象回路１３と同じ演算を第１の入力モジュロ値ＭｏｄＡと第２の入力モジュロ値ＭｏｄＢに対して実施して、演算モジュロ値（ＭｏｄＡ（演算）ＭｏｄＢ）を期待値モジュロ値Ｇとして出力する。
【００７２】
モジュロ値持回り回路２２３は、期待値モジュロ値Ｇをテスト対象回路１３から応答結果Ｙが出力されるタイミングであるタイミング７まで保持する。
【００７３】
テスト対象回路１３は、Ａ（演算）Ｂを４サイクルで実行すると仮定する。この場合、タイミング３でテスト対象回路１３に与えられた、第１及び第２の入力パターンデータＡ、Ｂは、テスト対象回路１３で演算が施され、テスト対象回路１３は、タイミング７で応答結果Ｙを返す。
【００７４】
結果モジュロ生成回路２４は、タイミング７で応答結果Ｙから結果モジュロ値「ＭｏｄＹ」を生成し、タイミング８でそれを保持する。
【００７５】
比較器２６は、タイミング９でテスト制御部１１からの比較指示信号Ｅに応答して、結果モジュロ値Ｆと期待値モジュロ値Ｇとを比較し、比較結果Ｈを出力する。比較結果Ｈが一致を示していれば、テスト対象回路１３に「故障無し」と判断される。一方、比較結果Ｈが不一致を示していれば、テスト対象回路１３に「故障有り」と判断される。
【００７６】
２つの６４ビットデータＡ、Ｂを加算するケースについて、具体的なデータを提示して説明する。第１及び第２の入力パターンデータＡ及びＢとして、Ａ＝００１０１０１０１０１０１０１０(hex)、Ｂ＝０００１０１０１０１０１０１０１(hex)を入力したケースについて説明する。
【００７７】
タイミング３で、Ａ＝００１０１０１０１０１０１０１０(hex)、Ｂ＝０００１０１０１０１０１０１０１(hex)を、テスト対象回路１３に送出する。テスト対象回路１３は、ＡとＢとの間の演算を４サイクルで実行すると仮定すると、４タイミングでＡ＋Ｂの加算結果を実施し、タイミング７で加算結果が生成され、加算結果であるＱ＝００１１１１１１１１１１１１１１(hex)が送出される。
【００７８】
タイミング３では、第１及び第２の入力パターンデータＡ、Ｂが、それぞれ、第１及び第２の入力モジュロ生成回路２２１、２２２にセットされる。ここでは、モジュロ生成回路は、モジュロ３処理を行うと仮定する。この場合、第１の入力モジュロ生成回路２２１は、第１の入力モジュロ値「ＭｏｄＡ」として０１(bin)を生成し、第２の入力モジュロ生成回路２２２は、第２の入力モジュロ値「ＭｏｄＢ」として０１(bin)を生成する。タイミング７で、テスト対象回路１３からの応答結果Ｑ＝００１１１１１１１１１１１１１１(hex)に対して、結果モジュロ生成回路２４でモジュロ３処理を実施して、結果モジュロ値「ＭｏｄＱ」として１０(bin)を得る。タイミング４では、並行して、モジュロ演算器２２５は、「ＭｏｄＡ」＝０１(bin)と「ＭｏｄＢ」＝０１(bin)との加算を実施して、期待値モジュロ値としてモジュロ加算結果「ＭｏｄＡ（加算）ＭｏｄＢ」＝１０(bin)を得る。
【００７９】
結果モジュロ値「ＭｏｄＱ」と期待値モジュロ値「ＭｏｄＡ（加算）ＭｏｄＢ」は、同じ結果を得たので、上述した入力パターンデータＡ、Ｂに対しては、テスト対象回路１３は「故障無し」と判断できる。
【００８０】
テスト対象回路１３が故障した場合、その故障回路部分を活性化できる入力パターンデータを入力できれば、テスト対象回路１３からの応答結果Ｙは異なる事になり、テスト対象回路１３の故障を検出できる。
【００８１】
例えば、上記第１及び第２の入力パターンデータＡ及びＢとして、Ａ＝００１０１０１０１０１０１０１０(hex)、Ｂ＝０００１０１０１０１０１０１０１(hex)を使用した場合の例において、テスト対象回路１３の故障により応答結果がＱ＝００１１１１１１１１１１１１１０(hex)だった場合、結果モジュロ生成回路２４から生成される結果モジュロ値はＭｏｄＱ＝０１(bin)となる。この結果モジュロ値はＭｏｄＱ＝０１(bin)は、期待値モジュロ値「ＭｏｄＡ（加算）ＭｏｄＢ」とは異なることになり、テスト対象回路１３の故障を検出することができる。
【００８２】
図４を参照して、本発明の第２の実施例によるロジックＢＩＳＴ回路１０Ａについて説明する。図示のロジックＢＩＳＴ回路１０Ａは、テスト制御部１１と、パターン生成器１２Ａと、テスト対象回路１３と、第１及び第２のセレクタ１６、１７と、モジュロ回路２０Ａとを有する。
【００８３】
テスト制御部１１は、テスト動作によるテスト実行指示を行う回路である。ＢＩＳＴ起動指示信号Ｃに応答して、テスト制御部１１は、パターン生成指示信号Ｄと比較指示信号Ｅとを出力する。パターン生成器１２Ａは、テスト対象回路１３の故障を検出し易いパターン生成を行う回路である。パターン生成指示信号Ｄに応答して、パターン生成器１２Ａは、１つのｎビットデータ（入力パターンデータ）Ａを生成する。本例では、もう一つのビットデータ値として固定値を使用する。
【００８４】
第１のセレクタ１６は、入力パターンデータＡと固定値とのどちらか一方を選択して、第１の選択したデータを出力する。第２のセレクタ１７は、固定値と入力パターンデータＡとのどちらか一方を選択して、第２の選択したデータを出力する。すなわち、第１及び第２のセレクタ１６、１７を切り替えることにより、生成パターンと固定値とを切り替えてテスト対象回路１３に入力する。
【００８５】
テスト対象回路１３は、第１及び第２のセレクタ１６及び１７を介して、パターン生成器１２Ａで生成されたｎビットデータ（入力パターンデータ）Ａとｎビットの固定値とを入力して、それらに演算を施し、応答結果Ｙを生成する。つまり、テスト対象回路１３は、固定値（演算）Ａ、Ａ（演算）固定値、Ａ（演算）Ａのいずれかの演算を実行する。
【００８６】
モジュロ回路２０Ａは、モジュロ期待値生成回路の構成が、図２に図示したものと相違している点を除いて、図２に図示したモジュロ回路２０と同様の構成を有し動作をする。従って、モジュロ期待値生成回路に２２Ａの参照符号を付してある。図２に示したものと同様の機能を有するものには同一の参照符号を付して、説明の簡略化のために、それらの説明は省略する。
【００８７】
モジュロ期待値生成回路２２Ａは、第２の入力モジュロ生成回路２２２が省略（削除）されていると共に、セレクタ２２６が付加されている点を除いて、図２に図示したモジュロ期待値生成回路２２と同様の構成を有する。すなわち、モジュロ期待値生成回路２２Ａは、１つの入力モジュロ生成回路２２１と、１つのモジュロ値持回り回路２２３と、モジュロ演算器２２５と、セレクタ２２６とから構成されている。
【００８８】
入力モジュロ生成回路２２１は、ｎビットデータ（入力パターンデータ）Ａを整数ｍで割った剰余を、入力モジュロ値ＭｏｄＡとして生成する回路である。結果モジュロ生成回路２４は、ｎビットの応答結果Ｙを整数ｍで割った剰余ＭｏｄＹを、結果モジュロ値Ｆとして生成する回路である。モジュロ値持回り回路２２３は、入力モジュロ値ＭｏｄＡをテスト対象回路１３の演算に要する時間まで保持する。モジュロ演算器２２５は、入力モジュロ生成回路２２１で生成され、モジュロ値持回り回路で持ち回された、剰余データ（入力モジュロ値）ＭｏｄＡに対して、テスト対象回路１３と同じ演算を行う回路である。すなわち、モジュロ演算器２２５は、「Ｍｏｄ固定値（演算）ＭｏｄＡ」の演算を行い、それを演算モジュロ値として出力する。
【００８９】
セレクタ２２６は、モジュロ値持回り回路２２３で保持された入力モジュロ値ＭｏｄＡと、モジュロ演算器２２５で生成された演算モジュロ値「Ｍｏｄ固定値（演算）ＭｏｄＡ」とのどちらか一方を選択して、選択したモジュロ値を期待値モジュロ値Ｇとして出力する。
【００９０】
比較器２６は、結果モジュロ生成回路２４で生成された結果モジュロ値Ｆとセレクタ２２６で選択された期待値モジュロ値Ｇとを比較して、比較結果Ｈを出力する回路である。
【００９１】
このように、本実施例によるロジックＢＩＳＴ回路１０Ａにおいて、図１及び図２の第１の実施例によるロジックＢＩＳＴ回路１０の場合のように、２つの独立したｎビットパターンを演算器（テスト対象回路）１３に供給するのではなく、パターン生成器１２Ａで生成した１つのｎビットパターンデータＡと固定値との組み合わせを入力する。このため、モジュロ期待値生成回路２２Ａは、入力モジュロ生成回路２２１を１系統にすることが出来、図２に示したモジュロ期待値生成回路２２と比較して、ハードウェア量を削減できるという効果を奏する。
【００９２】
例えば、テスト対象回路１３での演算が乗算であって、且つ、固定値＝“１”であるとする。この場合、テスト対象回路１３は、“１（乗算）Ａ”の演算となり、その応答結果である乗算結果はＡに等しくなる（乗算結果＝Ａ）。この場合、入力モジュロ生成回路２２１で生成した入力モジュロ値ＭｏｄＡを期待値モジュロ値Ｇとして使用できるので、モジュロ演算器２２５での演算は不要となる。したがたって、セレクタ２２６で切り替えて、モジュロ値持回り回路２２３で保持されている入力モジュロ値ＭｏｄＡを、そのまま、期待値モジュロ値Ｇとして使用することが出来る。
【００９３】
なお、上記本発明の第２の実施例では、モジュロ期待値生成回路２２Ａは、セレクタ２２６を備えているが、このセレクタ２２６を省略しても良い。この場合、モジュロ演算器２２５の出力端子と比較器２６の一方の入力端子とを直接信号線（図示せず）で接続することにより、モジュロ演算器２２５で生成された演算モジュロ値をそのまま期待値モジュロ値Ｇとして出力すれば良い。
【００９４】
図５を参照して、本発明の第３の実施例によるロジックＢＩＳＴ回路１０Ｂについて説明する。図示のロジックＢＩＳＴ回路１０Ｂは、パターン生成器とモジュロ回路とを実動作速度で動作可能な回路で構成した点を除いて、図２に示したロジックＢＩＳＴ回路１０と同様の構成を有する。従って、パターン生成器及びモジュロ回路に、それぞれ、１２Ｂ及び２０Ｂの参照符号を付してある。
【００９５】
モジュロ回路２０Ｂは、モジュロ期待値生成回路２２Ｂと、結果モジュロ生成回路２４Ａと、比較器２６とから構成されている。モジュロ期待値生成回路２２Ｂは、第１及び第２の入力モジュロ生成回路２２１Ａ、２２２Ａと、モジュロ値持回り回路２２３と、モジュロ演算器２２５とから構成されている。
【００９６】
図示のロジックＢＩＳＴ回路１０Ｂは、アットスピード（実動作速度）で動作出来るロジックＢＩＳＴ回路である。
【００９７】
ＬＳＩテスターは、ミドルエンドテスターの場合、ＬＳＩを１００ＭＨｚ〜２００ＭＨｚのテスター周波数で検査する。これに対して、ＬＳＩは、回路微細化により２００ＭＨｚ以上の実動作周波数で動作させる回路が増えており、５００ＭＨｚや１ＧＨｚの実動作周波数で動作可能なＬＳＩの場合もある。その為、ＬＳＩのテスト周波数ではＡＣ動作検証が不足する傾向にある。
【００９８】
そこで、本実施例では、ＬＳＩテスター上で実動作速度（アットスピード）で動作可能な機能を組み込む事により、アットスピードで動作可能なロジックＢＩＳＴ回路１０Ｂを実現している。
【００９９】
図６に、図５に示したロジックＢＩＳＴ回路１０Ｂの動作を説明するためのタイムチャートを示している。
【０１００】
以下、図５及び図６を参照して、ロジックＢＩＳＴ回路１０Ｂの具体的な構成について説明する。ここでは、テスター周波数が２００ＭＨｚで、実動作周波数が６００ＭＨｚであると仮定する。
【０１０１】
テスター周波数で動作するテスト制御部１１からのパターン生成指示信号Ｄは、実動作周波数より信号サイクルが遅いので、パターン生成器１２Ｂでは、微分回路等を使用して実動作速度タイミング信号を生成して、パターン生成指示信号Ｄを取り込む。
【０１０２】
パターン生成器１２Ｂの内部信号は、レジスタを駆動するクロック信号の立上りエッジから、該信号を受信するレジスタを駆動するクロック信号の次の立上りエッジまでの間で伝播させる必要がある（セットアップタイム制約）。加えて、伝播する内部信号は、該信号を受信するレジスタを駆動するクロック信号の１つ前の立上りエッジより後に伝播させる必要がある（ホールドタイム制約）。
【０１０３】
パターン生成器１２Ｂは、決められた時間内にパターン生成を行う制約はないので、上記２つの制約（セットアップタイム制約とホールドタイム制約）を満たすように、latency（待ち時間）を調整して回路を実現する。
【０１０４】
モジュロ回路２０Ｂについても、上記２つの制約（セットアップタイム制約とホールドタイム制約）を満たすように、latency（待ち時間）を調整して回路を実現すれば、実動作速度で動作可能な回路となる。
【０１０５】
テスト対象回路１３が演算器である場合、高速動作の演算器は結果算出までに一般に数サイクルを要する。
【０１０６】
モジュロ演算器２２５は、２ビット同士の演算であり、少ないハードウェアで実現できる。その為、モジュロ演算器２２５は、高速化し易く、短サイクルで動作可能な回路で実現できる。期待値モジュロ値Ｇと結果モジュロ値Ｆは２ビット同士であり、比較器２６は２ビット巾の比較となる。その為、比較器２６は小さい比較器となり、高速化し易く、短サイクルで動作可能な回路で実現できる。
【０１０７】
一方、ｎビット巾の第１及び第２の入力パターンデータＡ、Ｂから２ビットの第１及び第２の入力モジュロ値ＭｏｄＡ、ＭｏｄＢを生成する、第１及び第２の入力モジュロ生成回路２２１Ａ、２２２Ａは、論理段数を要するので、レジスタ間の論理段数を調整して、上記２つの制約（セットアップタイム制約とホールドタイム制約）を満たすように、回路を調整する。
【０１０８】
テスト対象回路１３からの応答結果Ｙから結果モジュロ値ＭｏｄＹを生成する、結果モジュロ生成回路２４Ａも、上記２つの制約（セットアップタイム制約とホールドタイム制約）を満たすように、回路を調整する。
【０１０９】
上述したように、モジュロ回路２０Ｂの回路調整を行い、結果モジュロ値ＭｏｄＹのlatency（待ち時間）が延びた場合、期待値モジュロ値Ｇを保持するモジュロ値持回り回路２２３の持回り時間を延ばすことにより、同じタイミングで結果モジュロ値ＭｏｄＹと期待値モジュロ値Ｇとを比較器２６に入力させることができる。比較器２６は、テスト制御部１１からの比較指示信号Ｅに応答して、それらの値の比較を行う。
【０１１０】
図２に図示したロジックＢＩＳＴ回路１０の場合、図３に示されるように、テスター周波数でロジックＢＩＳＴ回路１０を動作させるため、モジュロ生成回路２２１、２２２、２４は、２サイクルでモジュロ値ＭｏｄＡ、ＭｏｄＢ、及びＭｏｄＹを生成する。
【０１１１】
これに対して、図５に図示したロジックＢＩＳＴ回路１０Ｂの場合、図６に示されるように、実動作周波数（速度）でロジックＢＩＳＴ回路１０Ｂを動作させるため、モジュロ演算器２２５と比較器２６は１サイクルで結果Ｇ、Ｈを出力するが、モジュロ生成回路２２１Ａ、２２２Ａ、および２４Ａは、５サイクルでモジュロ値ＭｏｄＡ、ＭｏｄＢ、及びＭｏｄＹを生成するので、図５に示されるように、レジスタを４段分追加して対応している。
【０１１２】
図５に示したロジックＢＩＳＴ回路１０Ｂでは、上記特許文献５の構成とは異なり、組合せ回路（テスト回路）にスキャン動作でパターンを与えるのではなく、パルス信号のパターン生成起動信号を微分回路等の回路手法で起動指示を与え、結果出力タイミングで不一致結果が発生したか否かを観測している。
【０１１３】
図５に図示したロジックＢＩＳＴ回路１０Ｂは、図２に図示したロジックＢＩＳＴ回路１０をアットスピード（実動作速度）で動作出来るように変更した回路であるが、図４に図示したロジックＢＩＳＴ回路１０Ａに対しても、同様に、アットスピード（実動作速度）で動作出来るように変更可能であることは、当業者であれば容易に理解できるであろう。
【０１１４】
以上、本発明について好ましい実施例について説明してきたが、本発明は上述した実施例に限定されず、本発明の趣旨（主題）を逸脱しない範囲内で種々の変形・変更が可能なのは勿論である。例えば、上記実施例では、テスト対象回路が演算器である場合を例に挙げて説明しているが、テスト対象回路はメモリ以外の機能回路であって良い。
【図面の簡単な説明】
【０１１５】
【図１】本発明の第１の実施例によるロジックＢＩＳＴ回路を示すブロック図である。
【図２】図１にロジックＢＩＳＴ回路のモジュロ期待値生成回路の具体例を示すブロック図である。
【図３】図２に示したロジックＢＩＳＴ回路の動作を説明するためのタイムチャートである。
【図４】本発明の第２の実施例によるロジックＢＩＳＴ回路を示すブロック図である。
【図５】本発明の第３の実施例によるロジックＢＩＳＴ回路を示すブロック図である。
【図６】図５に示したロジックＢＩＳＴ回路の動作を説明するためのタイムチャートである。
【図７】従来のロジックＢＩＳＴ回路を示すブロック図である。
【符号の説明】
【０１１６】
１０、１０Ａ、１０Ｂ    ロジックＢＩＳＴ回路
１１    テスト制御部
１２、１２Ａ、１２Ｂ    パターン生成器
１３    テスト対象回路
１６、１７    セレクタ
２０、２０Ａ、２０Ｂ    モジュロ回路
２２、２２Ａ、２２Ｂ    モジュロ期待値生成回路
２２１、２２２    入力モジュロ生成回路
２２１Ａ、２２２Ａ    入力モジュロ生成回路
２２３    モジュロ値持回り回路
２２５    モジュロ演算器
２２６    セレクタ
２４    結果モジュロ生成回路
２４Ａ    結果モジュロ生成回路
２６    比較器
【図１】
2008157860.tif 000003
【図２】
2008157860.tif 000004
【図３】
2008157860.tif 000005
【図４】
2008157860.tif 000006
【図５】
2008157860.tif 000007
【図６】
2008157860.tif 000008
【図７】
2008157860.tif 000009