(57)【要約】  スキャンチェーンで接続されていない区間に存在する組合せ回路についても動作確認試験を行うことのできる集積回路を提供することを課題とする。  集積回路は、複数の第１組合せ回路と複数のスキャンＦＦとが、スキャンＦＦ、第１組合せ回路、及びスキャンＦＦの順で接続される第１信号処理回路と、前記第１組合せ回路とは異なる第２組合せ回路を有する第２信号処理回路と、前記複数の第１組合せ回路のうちの一の第１組合せ回路の入力側のスキャンＦＦからのデータ又は前記第２信号処理回路の入力端子からのデータを選択し、前記第２組合せ回路に出力する第１選択回路と、前記一の第１組合せ回路とは異なる他の第１組合せ回路からのデータ又は前記第２組合せ回路からのデータを選択し、前記他の第１組合せ回路の出力側のスキャンＦＦに出力する第２選択回路とを含む。
2012042586.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１組合せ回路と複数のスキャンＦＦとが、スキャンＦＦ、第１組合せ回路、及びスキャンＦＦの順で接続される第１信号処理回路と、
前記第１組合せ回路とは異なる第２組合せ回路を有する第２信号処理回路と、
前記複数の第１組合せ回路のうちの一の第１組合せ回路の入力側のスキャンＦＦからのデータ又は前記第２信号処理回路の入力端子からのデータを選択し、前記第２組合せ回路に出力する第１選択回路と、
前記一の第１組合せ回路とは異なる他の第１組合せ回路からのデータ又は前記第２組合せ回路からのデータを選択し、前記他の第１組合せ回路の出力側のスキャンＦＦに出力する第２選択回路と
を含むことを特徴とする集積回路。
【請求項２】
前記集積回路において、
前記第２信号処理回路は、
前記第２組合せ回路の入力側に接続されるバウンダリスキャン用の第１スキャンＦＦと、
前記第２組合せ回路の出力側に接続されるバウンダリスキャン用の第２スキャンＦＦとをさらに有し、
前記第１選択回路は、前記一の第１組合せ回路の入力側のスキャンＦＦを選択する場合、前記第１スキャンＦＦを介して、前記第２組合せ回路に出力し、
前記第２選択回路は、前記第２組合せ回路を選択する場合、前記第２スキャンＦＦを介して前記他の第１組合せ回路の出力側のスキャンＦＦに出力することを特徴とする請求項１記載の集積回路。
【請求項３】
前記集積回路はさらに、
前記第１スキャンＦＦと前記第２組合せ回路との間に設けられ、前記第２信号処理回路の入力端子に入力されるバウンダリスキャン用のテストデータと、前記第１スキャンＦＦのデータ出力端子から出力されるスキャンテスト用のテストデータを選択し、前記第２組合せ回路に出力するテストデータ選択回路をさらに含むことを特徴とする請求項２記載の集積回路。
【請求項４】
前記集積回路は、
前記複数のスキャンＦＦのスキャン用端子を接続するスキャンチェーンと、
前記スキャンチェーンに前記第１スキャンＦＦを挿入する第１挿入回路と、
前記スキャンチェーンに前記第２スキャンＦＦを挿入する第２挿入回路と
をさらに含むことを特徴とする請求項２記載の集積回路。
【請求項５】
前記集積回路において、
前記第１挿入回路は、前記第１スキャンＦＦのスキャンイン端子の入力側に設けられる第１セレクタと、前記第１スキャンＦＦのスキャンアウト端子の出力側に設けられる第２セレクタとを有し、前記第１セレクタ及び前記第２セレクタを切り替えることにより、前記第１スキャンＦＦを前記スキャンチェーンに挿入し、
前記第２挿入回路は、前記第２スキャンＦＦのスキャンイン端子の入力側に設けられる第３セレクタと、前記第２スキャンＦＦのスキャンアウト端子の出力側に設けられる第４セレクタとを有し、前記第３セレクタ及び前記第４セレクタを切り替えることにより、前記第２スキャンＦＦを前記スキャンチェーンに挿入することを特徴とする請求項４記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路に関する。
【背景技術】
【０００２】
従来より、ＩＥＥＥ１１４９．１（The Institute of Electrical and Electronics Engineers, Inc. 1149.1）のＪＴＡＧ（Joint Test Action Group）規格に基づいて、大規模集積回路（ＬＳＩ：Large Scale Integration）の入出力インタフェースのスキャンを行うバウンダリスキャンテスト（Boundary Scan Test）を行うバウンダリスキャン回路がある。このようなバウンダリスキャン回路は、集積回路に含まれている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２３６１４５号公報
【特許文献２】特開平１１−２８１７１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、従来の集積回路は、ＬＳＩの入出力インタフェースのスキャンであるバウンダリスキャンテストを行うバウンダリスキャン回路の他に、ＬＳＩの内部回路のスキャンテストを行うためのスキャンチェーンを含んでいる。スキャンテストは、集積回路に含まれる組合せ回路の動作確認試験である。スキャンチェーンは、集積回路に多数含まれる組合せ回路の各々の入力側と出力側に設けられるスキャンＦＦ（Flip Flop）のスキャンイン端子とスキャンアウト端子をチェーン状に接続するスキャンテスト用の回路である。【０００５】
スキャンテストでは、各スキャンＦＦに１又は０のいずれかの値のテストデータを保持させ、テストデータを入力側のスキャンＦＦから入力し、組合せ回路による処理結果であるリザルトデータを介して出力側のスキャンＦＦに出力する。そして、スキャンＦＦに保持された各組合せ回路の処理結果である出力データをスキャンにより取り出して期待値と比較することにより、各組合せ回路の動作の良否を確認する。【０００６】
このようなスキャンチェーンを用いて行うスキャンテストは、スキャンチェーンに接続されることにより、入力側のスキャンＦＦと出力側のスキャンＦＦとの間で組合せ回路を介して、入力したテストデータに対する組合せ回路の出力データを出力できる区間については行うことができるが、スキャンチェーンに接続されてない区間については行うことができない。【０００７】
このため、スキャンチェーンで接続されていない区間に存在する組合せ回路については、動作確認を行うことができないという課題があった。【０００８】
そこで、本発明は、スキャンチェーンで接続されていない区間に存在する組合せ回路についても動作確認試験を行うことのできる集積回路を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の実施の形態の集積回路は、複数の第１組合せ回路と複数のスキャンＦＦとが、スキャンＦＦ、第１組合せ回路、及びスキャンＦＦの順で接続される第１信号処理回路と、前記第１組合せ回路とは異なる第２組合せ回路を有する第２信号処理回路と、前記複数の第１組合せ回路のうちの一の第１組合せ回路の入力側のスキャンＦＦからのデータ又は前記第２信号処理回路の入力端子からのデータを選択し、前記第２組合せ回路に出力する第１選択回路と、前記一の第１組合せ回路とは異なる他の第１組合せ回路からのデータ又は前記第２組合せ回路からのデータを選択し、前記他の第１組合せ回路の出力側のスキャンＦＦに出力する第２選択回路とを含む。
【発明の効果】
【００１０】
スキャンチェーンで接続されていない区間に存在する組合せ回路についても動作確認試験を行うことのできる集積回路を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】比較例の集積回路に含まれるスキャンチェーンを示す図である。
【図２】比較例のＬＳＩ１の入力回路１４１の回路を示す図である。
【図３】比較例のＬＳＩ１に含まれるスキャンＦＦ２０１の回路構成を示す図である。
【図４】実施の形態１の集積回路を含む情報処理装置を示す図である。
【図５】実施の形態１のＬＳＩ１００を示すブロック図である。
【図６】実施の形態１のＬＳＩ１００の一部分を拡大して示す図である。
【図７】ＬＳＩ１００の入力回路４１０の回路を示す図である。
【図８】ＬＳＩ１００の出力回路４２０の回路を示す図である。
【図９Ａ】実施の形態１のＬＳＩ１００の組合せ回路１１０の動作確認試験を行う際の各種信号及び各種クロック等のタイミングを示すタイミングチャートである。
【図９Ｂ】実施の形態１のＬＳＩ１００の組合せ回路１１０の動作確認試験を行う際の各種信号及び各種クロック等のタイミングを示すタイミングチャートである。
【図１０】実施の形態２のＬＳＩ２００の一部分を拡大して示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の集積回路及び情報処理装置を適用した実施の形態について説明する。
【００１３】
実施の形態の集積回路及び情報処理装置について説明する前に、まず、図１乃至図３を用いて、比較例の集積回路の問題点について説明する。
【００１４】
図１は、比較例の集積回路に含まれるスキャンチェーンを示す図である。
【００１５】
図１に示す大規模集積回路（以下、ＬＳＩと略す）１は、組合せ回路１０１〜１０６、組合せ回路１１０、入力端子１２１〜１２５、出力端子１３１〜１３５、入力回路１４１〜１４５、及び出力回路１５１〜１５５を含む。
【００１６】
ここで、説明の便宜上、図１には、６つの組合せ回路１０１〜１０６、及び１つの組合せ回路１１０を示すが、ＬＳＩ１は、より多くの組合せ回路１０１〜１０６及び組合せ回路１１０を含んでもよい。
【００１７】
同様に、ＬＳＩ１は、より多くの入力端子１２１〜１２５、出力端子１３１〜１３５、入力回路１４１〜１４５、及び出力回路１５１〜１５５を含んでもよい。
【００１８】
また、ＬＳＩ１は、さらに、スキャンＦＦ２０１〜２２８、スキャンチェーン２３０、バウンダリスキャンチェーン２４０、テスト制御回路２５０、テストデータ入力端子２５１、入力回路２５２、出力回路２５３、及びテストデータ出力端子２５４を含む。
【００１９】
ここで、説明の便宜上、図１には２８個のスキャンＦＦ２０１〜２２８を示すが、ＬＳＩ１は、より多くのスキャンＦＦを含んでもよい。
【００２０】
なお、スキャンチェーン２３０、バウンダリスキャンチェーン２４０、テスト制御回路２５０、テストデータ入力端子２５１、入力回路２５２、出力回路２５３、及びテストデータ出力端子２５４については、少なくとも１つずつＬＳＩ１に含まれていればよい。
【００２１】
図１のＬＳＩ１は、例えば、ＣＰＵ（Central Processing Unit：中央演算処理装置）に接続されたメモリコントローラと、主記憶装置との間に接続されるメモリバッファとして用いられる。
【００２２】
組合せ回路１０１〜１０６は、ＬＳＩ１のユーザが自由に論理を設計することのできる回路であり、入力データに対する組合せ回路の動作により出力データが得られる回路である。組合せ回路１０１〜１０６の入力端子には、スキャンＦＦ２０１〜２２４のデータ出力端子Ｑが接続されている。また、組合せ回路１０１〜１０６の出力端子には、スキャンＦＦ２０５〜２２８のデータ入力端子Ｄが接続されている。
【００２３】
組合せ回路１０１〜１０６は、それぞれ、自身に対して図１中の左側に位置するスキャンＦＦ２０１〜２２４のデータ出力端子Ｑから入力されるデータを処理し、自身に対して図１中の右側に位置するスキャンＦＦ２０５〜２２８のデータ入力端子Ｄに出力する。例えば、組合せ回路１０１は、スキャンＦＦ２０１のデータ出力端子Ｑから入力されるデータを処理し、スキャンＦＦ２０８のデータ入力端子Ｄに入力する。
【００２４】
組合せ回路１１０は、組合せ回路１０１〜１０６と同様に、ＬＳＩ１のユーザが自由に論理を設計することのできる回路であり、入力データに対する組合せ回路の動作により出力データが得られる回路である。組合せ回路１１０は、入力側及び出力側のＦＦが、スキャン端子を備えスキャン機能を有するスキャンＦＦではなく、スキャン端子及びスキャン機能を備えないノンスキャンＦＦである点が組合せ回路１０１〜１０６と異なる。組合せ回路１１０の入力側には、入力回路１４１を介して入力端子１２１が接続されている。組合せ回路１１０の出力側には、出力回路１５１を介して出力端子１３１が接続されている。
【００２５】
入力端子１２１〜１２５は、ＬＳＩ１の入力端子である。例えば、ＬＳＩ１がメモリバッファとして用いられる場合には、入力端子１２１〜１２５を介して、メモリコントローラ又は主記憶装置から様々なデータがＬＳＩ１に入力される。
【００２６】
出力端子１３１〜１３５は、ＬＳＩ１の出力端子である。例えば、ＬＳＩ１がメモリバッファとして用いられる場合には、出力端子１３１〜１３５を経て、ＬＳＩ１からメモリコントローラ又は主記憶装置に様々なデータが出力される。
【００２７】
入力回路１４１〜１４５は、それぞれ、入力端子１２１〜１２５を介して入力されるデータを組合せ回路１１０及びスキャンＦＦ２０１〜２０４に出力する回路である。入力回路１４１〜１４５は、バウンダリスキャン回路を含み、バウンダリスキャンチェーン２４０が接続されている。この入力回路１４１〜１４５は同様の機能を有する。
【００２８】
入力回路１４１〜１４５には、例えば、ＬＳＩ１を実装する基板上に形成された配線を介して、他のＬＳＩの出力端子が接続される。
【００２９】
出力回路１５１〜１５５（図１参照）は、それぞれ、組合せ回路１１０及びスキャンＦＦ２２５〜２２８から出力されるデータを出力端子１３１〜１３５に出力する回路である。出力回路１５１〜１５５は、バウンダリスキャン回路を含み、バウンダリスキャンチェーン２４０が接続されている。
【００３０】
出力回路１５１〜１５５には、例えば、ＬＳＩ１を実装する基板上に形成された配線を介して、他のＬＳＩの入力端子が接続される。
【００３１】
なお、入力回路１４１〜１４５及び出力回路１５１〜１５５の回路構成については図２を用いて後述する。
【００３２】
スキャンＦＦ２０１〜２２８は、各々のスキャンイン端子ＳＩ（Scan In）と、スキャンアウト端子ＳＯ（Scan Out）とがスキャンチェーン２３０によって接続されており、ＬＳＩ１の内部に含まれる組合せ回路１０１〜１０６のスキャンテストを行うために設けられている。スキャンＦＦ２０１〜２２４の各々には、スキャンチェーン２３０を介してスキャンテスト用のテストデータを設定することができる。また、スキャンテストにおいて組合せ回路１０１〜１０６によって処理され、スキャンＦＦ２０５〜２２８に入力されるテストデータは、スキャンチェーン２３０を介して取り出すことができる。なお、スキャンＦＦ２０１〜２２８の回路構成については、図３を用いて後述する。
【００３３】
スキャンチェーン２３０は、入力端子２３０Ａ及び出力端子２３０Ｂを有する。スキャンチェーン２３０は、入力端子２３０Ａと出力端子２３０Ｂとの間に介在するスキャンＦＦ２０１〜２２８のスキャンイン端子ＳＩとスキャンアウト端子ＳＯをチェーン状に接続している。スキャンチェーン２３０は、組合せ回路１０１〜１０６の各々の動作を確認するスキャンテストを行うために設けられている。
【００３４】
スキャンチェーン２３０の入力端子２３０Ａは、テスト制御回路２５０に接続されており、テスト制御回路２５０からスキャンテスト用のテストデータが入力される。また、スキャンチェーン２３０の出力端子２３０Ｂは、テスト制御回路２５０に接続されており、スキャンテストの結果を表すリザルトデータをテスト制御回路２５０に入力する。
【００３５】
バウンダリスキャンチェーン２４０は、入力端子２４０Ａ及び出力端子２４０Ｂを有する。バウンダリスキャンチェーン２４０は、入力端子２４０Ａと出力端子２４０Ｂに介在する入力回路１４１〜１４５及び出力回路１５１〜１５５のスキャンイン端子ＳＩとスキャンアウト端子ＳＯをチェーン状に接続している。バウンダリスキャンチェーン２４０は、入力回路１４１〜１４５及び出力回路１５１〜１５５の接続状態を試験するためのバウンダリスキャンテストを行うために設けられている。
【００３６】
バウンダリスキャンチェーン２４０の入力端子２４０Ａは、テスト制御回路２５０に接続されており、テスト制御回路２５０からバウンダリテスト用のテストデータが入力される。また、バウンダリスキャンチェーン２４０の出力端子２４０Ｂは、テスト制御回路２５０に接続されており、バウンダリスキャンテストの結果を表すリザルトデータをテスト制御回路２５０に入力する。
【００３７】
テスト制御回路２５０は、バウンダリスキャンテスト及びスキャンテストの制御を行うＴＡＰ＿ＣＯＮ（Test Access Port Controller）等の制御回路であり、ＪＴＡＧ規格に準拠するステートマシンを有する制御回路である。テスト制御回路２５０は、バウンダリスキャンテストを行う際に、ＬＳＩテスタ等の外部試験装置から入力されるバウンダリスキャンテスト用のテストデータをバウンダリスキャンチェーン２４０に入力するとともに、ＪＴＡＧ規格で定められるテストクロック等を入力回路１４１〜１４５及び出力回路１５１〜１５５に入力する。
【００３８】
また、テスト制御回路２５０は、スキャンテストを行う際に、外部試験装置から入力されるスキャンテスト用のデータをスキャンチェーン２３０に入力するとともに、ＪＴＡＧ規格で定められるテストクロック等をスキャンＦＦ２０１〜２２８に入力する。
【００３９】
バウンダリスキャンテストの結果を表すリザルトデータ、及びスキャンテストの結果を表すリザルトデータは、テスト制御回路２５０からＬＳＩテスタ等の外部試験装置に転送され、外部試験装置によって良否の判定が行われる。
【００４０】
テストデータ入力端子２５１は、スキャンテスト及びバウンダリスキャンテストを行う際に、外部試験装置に接続される端子である。テストデータ入力端子２５１を介して、外部試験装置からテスト制御回路２５０にバウンダリスキャンテスト用のデータ及びスキャンテスト用のデータが入力される。
【００４１】
入力回路２５２は、外部試験装置からテストデータ入力端子２５１を介して入力されるテスト用のデータをテスト制御回路２５０に入力する。
【００４２】
出力回路２５３は、テスト制御回路２５０に接続されており、スキャンテスト及びバウンダリスキャンテストの結果を表すリザルトデータをテストデータ出力端子２５４に伝送する。
【００４３】
テストデータ出力端子２５４は、外部試験装置に接続されており、出力回路２５３を介してテスト制御回路２５０から伝送されるテスト結果を表すリザルトデータを外部試験装置に出力するための端子である。
【００４４】
なお、スキャンチェーン２３０、バウンダリスキャンチェーン２４０、及びテスト制御回路２５０は、図示しないセレクタ、デコーダ、レジスタ等を介して接続されている。
【００４５】
ここで、図２及び図３を用いて、入力回路１４１〜１４５、出力回路１５１〜１５５、及びスキャンＦＦ２０１〜２２８の回路構成と、バウンダリスキャンテスト及びスキャンテストについて簡単に説明する。
【００４６】
まず、図２を用いて入力回路１４１〜１４５及び出力回路１５１〜１５５の回路構成と、バウンダリスキャンテストについて説明する。
【００４７】
入力回路１４１〜１４５及び出力回路１５１〜１５５は、同様の機能を有するため、ここでは入力回路１４１について説明する。
【００４８】
図２は、比較例のＬＳＩ１の入力回路１４１の回路を示す図である。
【００４９】
入力回路１４１は、入力バッファ３０１、セレクタ３０２、及びバウンダリスキャン回路３１０を含む。
【００５０】
入力バッファ３０１は、入力端子１２１に接続される配線を介して他のＬＳＩから入力される入力データを伝送するために設けられている。
【００５１】
セレクタ３０２は、テスト制御回路２５０から入力されるテストモード信号に基づき、入力バッファ３０１とバウンダリスキャン回路３１０とのいずれかからの信号を選択して出力する。セレクタ３０２の出力端には、組合せ回路１１０が接続されている。
【００５２】
バウンダリスキャン回路３１０は、ＡＮＤ（論理積）回路３１１、３１２、ＯＲ（論理和）回路３１３、ＡＮＤ回路３１４、３１５、ラッチ１、ラッチ２、ラッチ３を含む。
【００５３】
ＡＮＤ回路３１１、３１２、ＯＲ回路３１３は、カスケード接続されており、ＯＲ回路３１３の出力端子はラッチ１のデータ入力端子ｄに接続されている。
【００５４】
ラッチ１のデータ出力端子ｑは、ラッチ２のデータ入力端子ｄに接続され、ラッチ２のデータ出力端子ｑはラッチ３のデータ入力端子ｄに接続されている。ラッチ３のデータ出力端子ｑは、セレクタ３０２の一方の入力端子に接続されている。ラッチ３のデータ出力端子ｑは、バウンダリスキャン回路３１０のデータ出力端子Ｑとなる。
【００５５】
なお、ラッチ２の出力端子ｑは、バウンダリスキャンチェーン２４０を介して、出力回路１５１に含まれるバウンダリスキャン回路３１０のスキャンイン端子ＳＩに接続されている。
【００５６】
ＡＮＤ回路３１４の出力端子は、ラッチ１のクロック入力端子に接続されており、ＡＮＤ回路３１５の出力端子は、ラッチ２のクロック入力端子に接続されている。
【００５７】
ここで、ＡＮＤ回路３１４の２つの入力端子にはインバータがそれぞれ接続され、入力される信号の論理を反転してＡＮＤ回路に入力するとともに、出力端子にもインバータが接続され、ＡＮＤ回路から出力される信号の論理を反転して出力するため、ＡＮＤ回路３１４は論理的にはＯＲ（論理和）回路と等価である。
【００５８】
また、ＡＮＤ回路３１５の２つの入力端子にはインバータがそれぞれ接続され、入力される信号の論理を反転してＡＮＤ回路に入力するため、ＡＮＤ回路３１５は論理的にはＮＯＲ（否定論理和）回路と等価である。
【００５９】
ＡＮＤ回路３１１の一方の入力端子には、入力回路１４２のスキャンアウト端子ＳＯからバウンダリスキャンチェーン２４０を介してバウンダリテスト用のデータが入力され、他方の入力端子にはテスト制御回路２５０からＡクロック信号ＡＣＫが入力される。バウンダリスキャンテスト用のデータが入力される入力端子は、バウンダリスキャン回路３１０のスキャンイン端子ＳＩとなる。
【００６０】
ＡＮＤ回路３１２の一方の入力端子には、入力バッファ３０１を介してデータ信号が入力され、他方の入力端子にはテスト制御回路２５０からテストクロックＴＣＫが入力される。データ信号が入力される入力端子は、バウンダリスキャン回路３１０のデータ入力端子Ｄとなる。
【００６１】
ＡＮＤ回路３１４は、一方の入力端子にテスト制御回路２５０からシフトクロックであるＡクロックＡＣＫが反転して入力され、他方の入力端子にテスト制御回路２５０からテストクロックＴＣＫが反転して入力される。ＡＮＤ回路３１４の出力は反転してラッチ１にクロック信号として入力される。
【００６２】
ＡＮＤ回路３１５は、一方の入力端子にテスト制御回路２５０からシフトクロックであるＢクロックＢＣＫが反転して入力され、他方の入力端子にテスト制御回路２５０からテストクロックＴＣＫが反転して入力される。ＡＮＤ回路３１５の出力はラッチ２にクロック信号として入力される。
【００６３】
ラッチ３のクロック入力端子には、テスト制御回路２５０からラッチ２が保持するスキャンデータをラッチ３に反映することにより、システム動作を行う組合せ回路１１０に対してスキャンデータを出力するアップデート信号ＵＰが入力される。
【００６４】
バウンダリスキャンテストが行われない通常のシステム動作時には、テスト制御回路２５０から入力されるテストモード信号は"０"であり、セレクタ３０２は入力バッファ３０１と組合せ回路１１０とを接続する。これにより、入力バッファ３０１を介して入力端子１２１から入力される入力データが組合せ回路１１０に転送される。そして、この結果、組合せ回路１１０で入力データの処理が行われる。
【００６５】
バウンダリスキャンテストを行うために、テスト制御回路２５０がテストモード信号を"１"にすると、セレクタ３０２は、データの入力元をバウンダリスキャン回路３１０のデータ出力端子Ｑに切り替える。
【００６６】
また、テスト制御回路２５０は、ＡクロックＡＣＫ、ＢクロックＢＣＫ、テストクロックＴＣＫ、アップデート信号ＵＰが所定のタイミングで出力する。
【００６７】
そして、バウンダリスキャン回路３１０には、バウンダリスキャンテスト用のデータがスキャンイン端子ＳＩに入力されるとともに、ＡクロックＡＣＫ、ＢクロックＢＣＫ、テストクロックＴＣＫ、アップデート信号ＵＰが所定のタイミングで入力される。これにより、データ入力端子Ｄに入力されるデータは、ラッチ１、ラッチ２を経てスキャンアウト端子ＳＯから入力回路１５１のスキャンイン端子ＳＩに入力される。また、ラッチ３のデータ出力端子ｑは、セレクタ３０２の一方の入力端子に接続されている。ラッチ３のクロック入力端子にアップデート信号ＵＰが入力されると、ラッチ２が保持するスキャンデータはラッチ３に反映され、セレクタ３０２を経て組合せ回路１１０にスキャンデータが出力される。
【００６８】
ここでは、入力回路１４１の回路構成について説明したが、入力回路１４２〜１４５、及び出力回路１５１〜１５５は、それぞれ、入力回路１４１と同様のバウンダリスキャン回路３１０を有する。
【００６９】
そして、上述のように、入力回路１４１〜１４５、及び出力回路１５１〜１５５のバウンダリスキャン回路３１０のスキャンイン端子ＳＩとスキャンアウト端子ＳＯは、バウンダリスキャンチェーン２４０によって接続されている。
【００７０】
ＬＳＩ１は、図１に示す入力端子１２１〜１２５及び出力端子１３１〜１３５に配線及び他のＬＳＩを接続し、バウンダリスキャンチェーン２４０を介して入力回路１４１〜１４５及び出力回路１５１〜１５５にバウンダリスキャンテスト用のデータを設定することにより、バウンダリスキャンテストを行う。
【００７１】
次に、図３を用いてスキャンＦＦ２０１〜２２４の回路構成及びスキャンテストについて説明する。
【００７２】
スキャンＦＦ２０１〜２２８の回路構成は同様の構成を有するため、ここではスキャンＦＦ２０１の回路構成について説明する。
【００７３】
図３は、比較例のＬＳＩ１に含まれるスキャンＦＦ２０１の回路構成を示す図である。
【００７４】
図３に示すように、スキャンＦＦ２０１は、ＡＮＤ回路３１１、３１２、ＯＲ回路３１３、ＡＮＤ回路３１４、３１５、ラッチ１、ラッチ２を含む。
【００７５】
スキャンＦＦ２０１のＡＮＤ回路３１１、３１２、ＯＲ回路３１３、ＡＮＤ回路３１４、３１５、ラッチ１、ラッチ２は、それぞれ、バウンダリスキャン回路３１０のＡＮＤ回路３１１、３１２、ＯＲ回路３１３、ＡＮＤ回路３１４、３１５、ラッチ１、ラッチ２と同様の構成を有する。
【００７６】
ＡＮＤ回路３１１の一方の端子は、スキャンチェーン２３０の入力端子２３０Ａ（図１参照）に接続されており、ＡＮＤ回路３１１のスキャンイン端子ＳＩとなる。また、ＡＮＤ回路３１１の他方の端子には、テスト制御回路２５０からＡクロックＡＣＫが入力される。
【００７７】
ＡＮＤ回路３１２の一方の端子は、入力回路１４２に接続されており、他方の端子には、テスト制御回路２５０からテストクロックＴＣＫが入力される。
【００７８】
また、ラッチ２のデータ出力端子ｑは、組合せ回路１０１の入力端子と、スキャンＦＦ２０２のスキャンイン端子ＳＩとに接続されている。
【００７９】
なお、ＯＲ回路３１３、ＡＮＤ回路３１４、３１５、及びラッチ１の入出力関係は、図２に示すバウンダリスキャン回路３１０のＯＲ回路３１３、ＡＮＤ回路３１４、３１５、及びラッチ１と同様である。
【００８０】
なお、スキャンＦＦ２０２〜２２８のデータ入力端子Ｄ、データ出力端子Ｑ、スキャンイン端子ＳＩ、及びスキャンアウト端子ＳＯの接続関係は、図１に示す通りである。
【００８１】
スキャンテストでは、テスト制御回路２５０は、外部試験装置から入力されるスキャンテスト用のテストデータをスキャンチェーン２３０及びスキャンＦＦ２０１〜２２８の各々のスキャンイン端子ＳＩ及びスキャンアウト端子ＳＯを介して、スキャンＦＦ２０１〜２２４の各々に設定する。
【００８２】
次に、テスト制御回路２５０は、スキャンＦＦ２０１〜２２４の各々に設定したテストデータをデータ出力端子Ｑから組合せ回路１０１〜１０６に入力する。これにより、組合せ回路１０１〜１０６は、各々の内部に設定された論理に従ってリザルトデータを出力する。組合せ回路１０１〜１０６から出力されるリザルトデータは、スキャンＦＦ２０５〜２２８のデータ入力端子Ｄに入力される。
【００８３】
そして、テスト制御回路２５０は、スキャンＦＦ２０１〜２２８を動作させてスキャンＦＦ２０５〜２２８のデータ入力端子Ｄにあるリザルトデータをデータ出力端子Ｑに転送させ、組合せ回路１０１〜１０６から出力されたリザルトデータを、スキャンチェーン２３０を介して取り出す。
【００８４】
テスト制御回路２５０によって取り出された組合せ回路１０１〜１０６のリザルトデータは、ＬＳＩテスタ等の外部試験装置においてテストデータに対する期待値データと比較され、組合せ回路１０１〜１０６の各々が正常に動作しているか否かの判定が行われる。
【００８５】
すなわち、リザルトデータが期待値データと一致する場合にはＬＳＩ１が良品と判断され、リザルトデータが期待値データと不一致である場合にはＬＳＩ１が不良品と判断される。
【００８６】
以上のような比較例のＬＳＩ１において、組合せ回路１０１〜１０６はスキャンＦＦ２０１〜２２８によってＦＦ間のスキャンシフトを行うことができるため、スキャンテストによる動作確認が可能である。
【００８７】
しかしながら、組合せ回路１１０は、スキャンチェーンに接続されておらず、ＦＦ間のスキャンシフトを行えないため、組合せ回路１１０については動作確認を行うことができないという問題があった。
【００８８】
以上のように、比較例のＬＳＩ１は、スキャンチェーンに接続されていない組合せ回路１１０については動作確認を行うことができないという問題がある。
【００８９】
このため、以下で説明する実施の形態では、上述の問題点を解決した集積回路、及び情報処理装置を提供することを目的とする。以下、実施の形態の集積回路、及び情報処理装置について説明する。
【００９０】
＜実施の形態１＞
図４は、実施の形態１の集積回路を含む情報処理装置を示す図である。
【００９１】
実施の形態１の集積回路を含む情報処理装置としてのサーバ１０は、ＣＰＵ（Central Processing Unit：演算処理装置）１１、メモリバッファ１２、及び主記憶装置１３を含む。ＣＰＵ１１、メモリバッファ１２、及び主記憶装置１３は、例えば、専用のシステムバス１４で接続されている。
【００９２】
ＣＰＵ１１は、ＣＰＵコア１１Ａとメモリコントローラ１１Ｂを含む。
【００９３】
メモリバッファ１２は、メモリコントローラ１１Ｂと主記憶装置１３との間でデータの転送を行う。
【００９４】
主記憶装置１３は、例えば、ＤＩＭＭ（Dual Inline Memory Module）のようなメモリモジュールにより構成される。
【００９５】
実施の形態１の集積回路は、例えば、メモリバッファ１２として用いることができる。
【００９６】
次に、図５を用いて、実施の形態１の集積回路であるＬＳＩ１００について説明する。
【００９７】
以下で実施の形態１のＬＳＩ１００について説明するにあたり、図１に示す比較例のＬＳＩ１と同一又は同等の要素には同一符号を付し、その説明を省略する。
【００９８】
図５は、実施の形態１のＬＳＩ１００を示すブロック図である。
【００９９】
ＬＳＩ１００は、組合せ回路１０１〜１０６、組合せ回路１１０、入力端子１２１〜１２５、出力端子１３１〜１３５、入力回路４１０、入力回路１４２〜１４５、出力回路４２０、及び出力回路１５２〜１５５を含む。また、ＬＳＩ１００は、スキャンＦＦ２０１〜２２８、スキャンチェーン２３０、バウンダリスキャンチェーン２４０、テスト制御回路４５０、テストデータ入力端子２５１、入力回路２５２、出力回路２５３、及びテストデータ出力端子２５４を含む。
【０１００】
ＬＳＩ１００は、さらに、データ転送回路４０１、挿入回路４０２、４０３、４０４、４０５を含む。
【０１０１】
組合せ回路１０１〜１０６は、第１組合せ回路の一例である。組合せ回路１０１〜１０６とスキャンＦＦ２０１〜２２８は、複数の第１組合せ回路と複数のスキャンＦＦとが、スキャンＦＦ、第１組合せ回路、及びスキャンＦＦの順で接続される第１信号処理回路の一例である。
【０１０２】
入力回路４１０、組合せ回路１１０、及び出力回路４２０は、第２信号処理回路の一例である。
【０１０３】
入力回路４１０と出力回路４２０は、図１に示した入力回路１４１と１５１の代わりに配設されている入力回路であり、図１に示した入力回路１４１と１５１とは内部の回路構成が異なる。
【０１０４】
また、テスト制御回路４５０は、図１に示したテスト制御回路２５０とは制御が異なる。
【０１０５】
データ転送回路４０１は、スキャンＦＦ２０８のデータ出力端子Ｑと入力回路４１０のデータ入力端子との間を接続しており、組合せ回路１１０の動作確認試験を行う際に、組み合わせ回路１１０に動作確認用のデータを転送するために設けられている。
【０１０６】
挿入回路４０２、４０３は、スキャンチェーン２３０に入力回路４１０を挿入するために設けられている。
【０１０７】
挿入回路４０４、４０５は、スキャンチェーン２３０に出力回路４２０を挿入するために設けられている。
【０１０８】
実施の形態１のＬＳＩ１００は、データ転送回路４０１、挿入回路４０２、４０３、４０４、４０５を利用することにより、組合せ回路１１０の動作確認を行う。この詳細については、以下で図６を用いて説明する。
【０１０９】
図６は、実施の形態１のＬＳＩ１００の一部分を拡大して示す図である。
【０１１０】
ＬＳＩ１００の図６に示す部分は、図５に示した入力回路４１０、組合せ回路１１０、出力回路４２０、データ転送回路４０１、挿入回路４０２、４０３、４０４、４０５、及びその周辺回路に相当する。
【０１１１】
図６に示すように、入力回路４１０は、入力バッファ３０１Ａ、セレクタ３０２Ａ、及びバウンダリスキャン回路３１０Ａに加えて、セレクタ５０１、５０２を含む。このうち、入力バッファ３０１Ａ、セレクタ３０２Ａ、及びバウンダリスキャン回路３１０Ａは、図２に示した入力回路１４１の入力バッファ３０１、セレクタ３０２、及びバウンダリスキャン回路３１０と同様の構成を有する。なお、バウンダリスキャン回路３１０Ａは、第１スキャンＦＦの一例である。
【０１１２】
セレクタ３０２Ａは、テスト制御回路４５０から入力されるテストモード信号に基づき、入力バッファ３０１Ａとバウンダリスキャン回路３１０Ａとのいずれかからの信号を選択して出力するテストデータ選択回路の一例である。セレクタ３０２Ａの出力端には、組合せ回路１１０が接続されている。
【０１１３】
セレクタ３０２Ｂは、テスト制御回路４５０から入力されるテストモード信号に基づき、組合せ回路１１０とバウンダリスキャン回路３１０Ｂとのいずれかからの信号を選択して出力する。セレクタ３０２Ｂの出力端には、出力バッファ３０１Ｂを介して出力端子１３１が接続されている。
【０１１４】
実施の形態１では、テストモード信号が"０"の場合は、通常のシステム動作を行う場合であり、入力端子１２１から入力バッファ３０１を介してセレクタに入力されるデータは組合せ回路１１０に入力される。組合せ回路１１０の出力データは、セレクタ３０２Ｂを介して出力バッファ３０１Ｂに入力される。
【０１１５】
テストモード信号が"１"の場合は、バウンダリスキャンテスト、又は、スキャンテストを行う。テストモード信号が"１"の場合は、セレクタ３０２Ａは、バウンダリスキャン回路３１０Ａから入力されるデータを選択して組合せ回路１１０に入力する。
【０１１６】
セレクタ５０１は、一方の入力端子に入力バッファ３０１Ａが接続され、他方の入力端子に転送回路４０１を介してスキャンＦＦ２０８のデータ出力端子Ｑが接続される。セレクタ５０１は、テスト制御回路４５０から入力されるスキャン選択信号によってデータの入力元を選択的に切り替える第１選択回路の一例として機能する。
【０１１７】
第１選択回路としてのセレクタ５０１は、データの入力元を第１組合せ回路である組合せ回路１０２の入力側のスキャンＦＦ２０８と、第２信号処理回路の入力端子の一例である入力端子１２１とで切り替える。
【０１１８】
ここで、スキャン選択信号は、組合せ回路１１０の動作確認を行うためのスキャンテストを行うか否かを選択的に切り替えるための信号である。
【０１１９】
スキャン選択信号の値が"０"の場合は、組合せ回路１１０の動作確認を行わない場合に相当し、セレクタ５０１はデータの入力元として入力バッファ３０１Ａを選択する。
【０１２０】
スキャン選択信号の値が"１"の場合は、組合せ回路１１０の動作確認を行うためのスキャンテストを行う場合に相当し、セレクタ５０１はデータの入力元として、転送回路４０１を介して接続されるスキャンＦＦ２０８のデータ出力端子Ｑを選択する。
【０１２１】
セレクタ５０２は、一方の入力端子に挿入回路４０２を介してスキャンＦＦ２０８のスキャンアウト端子ＳＯが接続され、他方の入力端子に入力回路１４２のスキャンアウト端子ＳＯが接続される。セレクタ５０２は、テスト制御回路４５０から入力されるスキャン選択信号によってデータの入力元を選択的に切り替える。
【０１２２】
スキャン選択信号の値が"０"の場合は、セレクタ５０２はデータの入力元として入力回路１４２のスキャンアウト端子ＳＯを選択する。なお、これは、バウンダリスキャンテストを行う場合に相当する。
【０１２３】
スキャン選択信号の値が"１"の場合は、セレクタ５０２はデータの入力元として挿入回路４０２を介して接続されるスキャンＦＦ２０８のスキャンアウト端子ＳＯを選択する。
【０１２４】
また、スキャンＦＦ２０９のスキャンイン端子ＳＩの入力側には、セレクタ５０３が設けられている。
【０１２５】
セレクタ５０３は、一方の入力端子にスキャンチェーン２３０を介してスキャンＦＦ２０８のスキャンアウト端子ＳＯが接続されるとともに、他方の入力端子に挿入回路４０３を介してバウンダリスキャン回路３１０Ａのスキャンアウト端子ＳＯが接続されている。
【０１２６】
セレクタ５０３は、テスト制御回路４５０から入力されるスキャン選択信号によってデータの入力元を選択的に切り替える。
【０１２７】
スキャン選択信号の値が"０"の場合は、組合せ回路１１０の動作確認を行わない場合に相当し、セレクタ５０３はデータの入力元としてスキャンＦＦ２０８のスキャンアウト端子ＳＯを選択する。なお、この接続状態は、組合せ回路１０２のスキャンテストを行う場合に相当する。
【０１２８】
スキャン選択信号の値が"１"の場合は、組合せ回路１１０の動作確認を行うためのスキャンテストを行う場合に相当し、セレクタ５０３はデータの入力元として挿入回路４０３を介して接続されるバウンダリスキャン回路３１０Ａのスキャンアウト端子ＳＯを選択する。
【０１２９】
なお、挿入回路４０２、４０３は、スキャンチェーンにバウンダリスキャン回路３１０Ａ内のＦＦ−Ｂ０を挿入する第１挿入回路の一例である。ＦＦ−Ｂ０については後述する。
【０１３０】
出力回路４２０は、出力バッファ３０１Ｂ、セレクタ３０２Ｂ、及びバウンダリスキャン回路３１０Ｂに加えて、セレクタ５０４を含む。このうち、セレクタ３０２Ｂ、及びバウンダリスキャン回路３１０Ｂは、図２に示した入力回路１４１のセレクタ３０２、及びバウンダリスキャン回路３１０と同様の構成を有する。なお、バウンダリスキャン回路３１０Ｂは、第２スキャンＦＦの一例である。
【０１３１】
また、出力バッファ３０１Ｂは、出力端子１３１の外部に接続される回路又は装置に出力する前に、出力データを伝送するために設けられている。
【０１３２】
セレクタ５０４は、一方の入力端子にバウンダリスキャンチェーン２４０を介してバウンダリスキャン回路３１０Ａのスキャンアウト端子ＳＯが接続され、他方の入力端子に挿入回路４０４を介してスキャンＦＦ２２０のスキャンアウト端子ＳＯが接続される。セレクタ５０４は、テスト制御回路４５０から入力されるスキャン選択信号によってデータの入力元を選択的に切り替える。
【０１３３】
スキャン選択信号の値が"０"の場合は、組合せ回路１１０の動作確認を行わない場合に相当し、セレクタ５０４は、データの入力元としてバウンダリスキャン回路３１０Ａのスキャンアウト端子ＳＯを選択する。なお、この場合は、バウンダリスキャンテストを行う場合に相当する。
【０１３４】
スキャン選択信号の値が"１"の場合は、組合せ回路１１０の動作確認を行うためのスキャンテストを行う場合に相当し、セレクタ５０４はデータの入力元として挿入回路４０４を介して接続されるスキャンＦＦ２２０のスキャンアウト端子ＳＯを選択する。
【０１３５】
また、スキャンＦＦ２２１のスキャンイン端子ＳＩの入力側には、セレクタ５０５が設けられている。
【０１３６】
セレクタ５０５は、一方の入力端子にスキャンチェーン２３０を介してスキャンＦＦ２２０のスキャンアウト端子ＳＯが接続され、他方の入力端子に挿入回路４０５を介してバウンダリスキャン回路３１０Ｂのスキャンアウト端子ＳＯが接続されている。
【０１３７】
セレクタ５０５は、テスト制御回路４５０から入力されるスキャン選択信号によってデータの入力元を選択的に切り替える第２選択回路の一例である。
【０１３８】
第２選択回路としてのセレクタ５０５がデータの入力元を切り替えることにより、第１組合せ回路である組合せ回路１０５の出力側のスキャンＦＦ２２２１のデータ入力元は、第１組合せ回路である組合せ回路１０５と第２組合せ回路である組合せ回路１１０とで切り替えられる。
【０１３９】
スキャン選択信号の値が"０"の場合は、組合せ回路１１０の動作確認を行わない場合に相当し、セレクタ５０５はデータの入力元としてスキャンチェーン２３０を介して接続されるスキャンＦＦ２２０のスキャンアウト端子ＳＯを選択する。なお、この接続状態は、組合せ回路１０５のスキャンテストを行う場合に相当する。
【０１４０】
スキャン選択信号の値が"１"の場合は、組合せ回路１１０の動作確認を行うためのスキャンテストを行う場合に相当し、セレクタ５０５はデータの入力元として挿入回路４０５を介して接続されるバウンダリスキャン回路３１０Ｂのスキャンアウト端子ＳＯを選択する。
【０１４１】
なお、挿入回路４０４、４０５は、スキャンチェーン２３０にバウンダリスキャン回路３１０Ｂ内のＦＦ−Ｂ１を挿入する第２挿入回路の一例である。ＦＦ−Ｂ１については後述する。
【０１４２】
また、テスト制御回路４５０のテストクロックを出力する端子には、セレクタ４５１が接続されている。
【０１４３】
セレクタ４５１は、一方の入力端子にテスト制御回路４５０のテストクロックＴＣＫを出力する端子が接続され、他方の入力端子にシステムクロックＣＫを出力するＰＬＬ（Phase-locked loop：位相同期回路）４５２が接続されている。
【０１４４】
セレクタ４５１は、テスト制御回路４５０から出力されるテストモード信号によって、出力するクロックをテストクロックＴＣＫ又はシステムクロックＣＫのいずれかに選択的に切り替える。なお、スキャンＦＦ２０１、２０８、２０９、２２０、２２１、２２８、フリップフロップＦＦ−Ｂ０、ＦＦ−Ｂ１のクロック入力端子をＣＫと表すが、各クロック入力端子ＣＫには、セレクタ４５１の出力端子が接続されており、セレクタ４５１が選択したテストクロックＴＣＫ又はシステムクロックＣＫが入力される。
【０１４５】
テストモード信号は、ＬＳＩ１００のスキャンテスト又はバウンダリスキャンテストを行うテストモードをオン又はオフにするための信号である。
【０１４６】
ＬＳＩテストを行う場合には、テストモード信号の値が"１"に設定され、セレクタ４５１は、テスト制御回路４５０から出力されるテストクロックＴＣＫを出力する。
【０１４７】
通常のシステム動作の場合には、テストモード信号の値が"０"に設定され、セレクタ４５１は、ＰＬＬ４５２から出力されるシステムクロックを出力する。このシステムクロックは、ＬＳＩ１００が通常の動作を行う際に用いられるクロックである。
【０１４８】
上述のような実施の形態１のＬＳＩ１００において、組合せ回路１１０の動作確認試験を行う際には、テスト制御回路４５０はテストモード信号を"１"に設定するとともに、スキャン選択信号を"１"に設定する。
【０１４９】
これにより、図６に太矢印で示すように、挿入回路４０２、セレクタ５０２、挿入回路４０３、セレクタ５０３を介して、バウンダリスキャン回路３１０Ａ内のＦＦ−Ｂ０をスキャンチェーン２３０の一部に組み入れることができる。また、挿入回路４０４、セレクタ５０４、挿入回路４０５、セレクタ５０５を介して、バウンダリスキャン回路３１０Ｂ内のＦＦ−Ｂ１をスキャンチェーン２３０の一部に組み入れることができる。
【０１５０】
組合せ回路１１０の動作確認試験を行う際には、バウンダリスキャン回路３１０Ａ内のＦＦ−Ｂ０のデータ出力端子Ｑに設定されるデータがセレクタ３０２Ａを介して組合せ回路１１０にテストデータとして入力される。組合せ回路１１０のリザルトデータは、バウンダリスキャン回路３１０Ｂ内のＦＦ−Ｂ１のデータ入力端子Ｄに入力され、挿入回路４０５及びスキャンチェーン２３０を介してＬＳＩ１００の外部に取り出される。
【０１５１】
なお、後にタイミングチャートを用いて説明する際に、スキャンＦＦ２０１、２０８、２０９、２２０、２２１、２２８を、それぞれ、単にＦＦ０、ＦＦ１、ＦＦ２、ＦＦ３、ＦＦ４、ＦＦ５と称す。
【０１５２】
また、以上のような実施の形態１のＬＳＩ１００は、組合せ回路１０１〜１０６と組合せ回路１１０を含む部分がＬＳＩテストの試験対象６００となる。
【０１５３】
次に、図７、図８を用いて、入力回路４１０、出力回路４２０の内部構成について説明する。
【０１５４】
図７は、ＬＳＩ１００の入力回路４１０の回路を示す図である。
【０１５５】
図７は、図６に示した入力回路４１０のうちのバウンダリスキャン回路３１０Ａの内部を詳細に示す図である。
【０１５６】
バウンダリスキャン回路３１０Ａは、ＡＮＤ回路３１１Ａ、３１２Ａ、ＯＲ回路３１３Ａ、ＡＮＤ回路３１４Ａ、３１５Ａ、ラッチ１Ａ、ラッチ２Ａ、ラッチ３Ａを含む。
【０１５７】
ＡＮＤ回路３１１Ａ、３１２Ａ、ＯＲ回路３１３Ａ、ＡＮＤ回路３１４Ａ、３１５Ａ、ラッチ１Ａ、ラッチ２Ａ、ラッチ３Ａは、それぞれ、図２に示した入力回路１４１のＡＮＤ回路３１１、３１２、ＯＲ回路３１３、ＡＮＤ回路３１４、３１５、ラッチ１、ラッチ２、ラッチ３と同様の構成を有する。
【０１５８】
また、ＡＮＤ回路３１１Ａ、３１２Ａ、ＯＲ回路３１３Ａ、ＡＮＤ回路３１４Ａ、３１５Ａ、ラッチ１Ａ、ラッチ２Ａ、ラッチ３Ａの接続関係は、図２に示した入力回路１４１のＡＮＤ回路３１１、３１２、ＯＲ回路３１３、ＡＮＤ回路３１４、３１５、ラッチ１、ラッチ２、ラッチ３の接続関係と同様の構成を有する。このため、ＡＮＤ回路３１１Ａ、３１２Ａ、ＯＲ回路３１３Ａ、ＡＮＤ回路３１４Ａ、３１５Ａ、ラッチ１Ａ、ラッチ２Ａ、ラッチ３Ａの接続関係についての説明を省略する。
【０１５９】
なお、以下では、ＡＮＤ回路３１１Ａ、３１２Ａ、ＯＲ回路３１３Ａ、ＡＮＤ回路３１４Ａ、３１５Ａ、ラッチ１Ａ、及びラッチ２Ａを含むフリップフロップ（ＦＦ）をＦＦ−Ｂ０と称す。このＦＦ−Ｂ０の回路構成は、スキャンＦＦ２０１〜２２８の回路構成（図３参照）と同様の構成を有する。
【０１６０】
図８は、ＬＳＩ１００の出力回路４２０の回路を示す図である。
【０１６１】
図８は、図６に示した出力回路４２０のうちのバウンダリスキャン回路３１０Ｂの内部を詳細に示す図である。
【０１６２】
バウンダリスキャン回路３１０Ｂは、ＡＮＤ回路３１１Ｂ、３１２Ｂ、ＯＲ回路３１３Ｂ、ＡＮＤ回路３１４Ｂ、３１５Ｂ、ラッチ１Ｂ、ラッチ２Ｂ、ラッチ３Ｂを含む。
【０１６３】
ＡＮＤ回路３１１Ｂ、３１２Ｂ、ＯＲ回路３１３Ｂ、ＡＮＤ回路３１４Ｂ、３１５Ｂ、ラッチ１Ｂ、ラッチ２Ｂ、ラッチ３Ｂは、それぞれ、図２に示した入力回路１４１のＡＮＤ回路３１１、３１２、ＯＲ回路３１３、ＡＮＤ回路３１４、３１５、ラッチ１、ラッチ２、ラッチ３と同様の構成を有する。
【０１６４】
また、ＡＮＤ回路３１１Ｂ、３１２Ｂ、ＯＲ回路３１３Ｂ、ＡＮＤ回路３１４Ｂ、３１５Ｂ、ラッチ１Ｂ、ラッチ２Ｂ、ラッチ３Ｂの接続関係は、図２に示した入力回路１４１のＡＮＤ回路３１１、３１２、ＯＲ回路３１３、ＡＮＤ回路３１４、３１５、ラッチ１、ラッチ２、ラッチ３の接続関係と同様である。このため、ＡＮＤ回路３１１Ｂ、３１２Ｂ、ＯＲ回路３１３Ｂ、ＡＮＤ回路３１４Ｂ、３１５Ｂ、ラッチ１Ｂ、ラッチ２Ｂ、ラッチ３Ｂの接続関係についての説明を省略する。
【０１６５】
なお、以下では、ＡＮＤ回路３１１Ｂ、３１２Ｂ、ＯＲ回路３１３Ｂ、ＡＮＤ回路３１４Ｂ、３１５Ｂ、ラッチ１Ｂ、及びラッチ２Ｂを含むフリップフロップ（ＦＦ）をＦＦ−Ｂ１と称す。このＦＦ−Ｂ１の回路構成は、ＦＦ−Ｂ０（図７参照）と、スキャンＦＦ２０１〜２２８の回路構成（図３参照）と同様である。
【０１６６】
次に、図９Ａ、図９Ｂのタイミングチャートを用いて、実施の形態１のＬＳＩ１００における組合せ回路１１０の動作確認試験について説明する。
【０１６７】
図９Ａ及び図９Ｂは、実施の形態１のＬＳＩ１００の組合せ回路１１０の動作確認試験を行う際の各種信号及び各種クロック等のタイミングを示すタイミングチャートである。なお、図９Ａと図９Ｂに分けて示すが、図９Ａと図９Ｂとで１つのタイミングチャートを表す。
【０１６８】
以下では、ＡクロックＡＣＫ、ＢクロックＢＣＫ、テストクロックＴＣＫ、アップデート信号ＵＰを、それぞれ、単に、ＡＣＫ、ＢＣＫ、ＴＣＫ、ＵＰと称す。
【０１６９】
また、スキャンイン端子ＳＩ、及びスキャンアウト端子ＳＯを、それぞれ、ＳＩ、ＳＯと称す。
【０１７０】
ここで、ＡＣＫ、ＢＣＫ、ＴＣＫは、図９Ａに示すタイミングで駆動される。
【０１７１】
図７に示すＦＦ−Ｂ０では、ＣＫがＬレベル、ＡＣＫがＬレベル、ＢＣＫがＨレベルのときに、ラッチ１Ａに入力されるクロック信号がＬレベルであり、ラッチ２Ａに入力されるクロック信号がＬレベルである。また、ＴＣＫがＬレベル、ＡＣＫがＨレベル、ＢＣＫがＨレベルのときに、ラッチ１Ａに入力されるクロック信号がＨレベルとなり、ラッチ２Ａに入力されるクロック信号はＬレベルである。
【０１７２】
すなわち、図９Ａに示すタイミングチャートでは、ＴＣＫがＬレベル、ＢＣＫがＨレベルの状態において、ＡＣＫの立上りでラッチ１Ａのデータ入力端子ｄの値をラッチ１Ａのデータ出力端子ｑに反映させることができる。
【０１７３】
また、ＦＦ−Ｂ０では、ＴＣＫがＬレベル、ＡＣＫがＬレベル、ＢＣＫがＨレベルのときに、ラッチ１Ａに入力されるクロック信号がＬレベルであり、ラッチ２Ａに入力されるクロック信号がＬレベルである。また、ＴＣＫがＬレベル、ＡＣＫがＬレベル、ＢＣＫがＬレベルのときに、ラッチ１Ａに入力されるクロック信号がＬレベルであり、ラッチ２Ａに入力されるクロック信号がＨレベルとなる。
【０１７４】
すなわち、図９Ａに示すタイミングチャートでは、ＴＣＫがＬレベル、ＡＣＫがＬレベルの状態において、ＢＣＫの立下りでラッチ２Ａのデータ入力端子ｄの値をラッチ２Ａのデータ出力端子ｑに反映させることができる。
【０１７５】
また、ＦＦ−Ｂ０では、ＴＣＫがＬレベル、ＡＣＫがＬレベル、ＢＣＫがＬレベルのときに、ラッチ１Ａに入力されるクロック信号がＬレベルであり、ラッチ２Ａに入力されるクロック信号がＬレベルである。また、ＴＣＫがＨレベル、ＡＣＫがＬレベル、ＢＣＫがＬレベルのときに、ラッチ１Ａに入力されるクロック信号がＨレベルとなり、ラッチ２Ａに入力されるクロック信号がＬレベルである。
【０１７６】
すなわち、図９Ａに示すタイミングチャートでは、ＡＣＫがＬレベル、ＢＣＫがＬレベルの状態において、ＴＣＫの立上りでラッチ１Ａのデータ入力端子ｄの値をラッチ１Ａのデータ出力端子ｑに反映させることができる。
【０１７７】
また、ＦＦ−Ｂ０では、ＴＣＫがＨレベル、ＡＣＫがＬレベル、ＢＣＫがＬレベルのときに、ラッチ１Ａに入力されるクロック信号がＬレベルであり、ラッチ２Ａに入力されるクロック信号がＬレベルである。また、ＴＣＫがＬレベル、ＡＣＫがＬレベル、ＢＣＫがＬレベルのときに、ラッチ１Ａに入力されるクロック信号がＬレベルであり、ラッチ２Ａに入力されるクロック信号がＨレベルとなる。
【０１７８】
すなわち、図９Ａに示すタイミングチャートでは、ＡＣＫがＬレベル、ＢＣＫがＬレベルの状態において、ＴＣＫの立下りでラッチ２Ａのデータ入力端子ｄの値をラッチ２Ａのデータ出力端子ｑに反映させることができる。
【０１７９】
なお、ラッチ３Ａは、ＵＰがＨレベルからＬレベルに立下るときにデータ入力端子ｄの値をデータ出力端子ｑに反映さすることとする。
【０１８０】
以上の論理は、ＦＦ−Ｂ０と同一の回路構成及び入力信号を有するＦＦ−Ｂ１においても同様である。
【０１８１】
また、上述のように、スキャンＦＦ２０１〜２２８は、ＦＦ−Ｂ０及びＦＦ−Ｂ１と同様の回路構成及び入力信号を有し、スキャンＦＦ２０１〜２２８のスキャンアウト端子ＳＯの値は、それぞれ、スキャンＦＦ２０１〜２２８に含まれるラッチ２のデータ出力端子ｑの値である。このため、スキャンＦＦ２０１〜２２８のスキャンアウト端子ＳＯの値は、ＴＣＫがＬレベル、ＡＣＫがＬレベルの状態において、ＢＣＫの立下りでそれぞれ更新されることになる。
【０１８２】
また、上述のように、以下のタイミングチャートの説明では、スキャンＦＦ２０１、２０８、２０９、２２０、２２１、２２８を、それぞれ、ＦＦ０、ＦＦ１、ＦＦ２、ＦＦ３、ＦＦ４、ＦＦ５と表す。このため、ＦＦ０、ＦＦ１、ＦＦ２、ＦＦ３、ＦＦ４、ＦＦ５のスキャンアウト端子ＳＯの値は、ＴＣＫがＬレベル、ＡＣＫがＬレベルの状態において、ＢＣＫの立下りでそれぞれ更新されることになる。
【０１８３】
また、以下では、組合せ回路１１０に入力するためのデータをテストデータと称し、ＴＤと略す。また、ＴＤは、組合せ回路１１０で処理されることにより、リザルトデータになるものとする。以下、リザルトデータをＲＤと略す。
【０１８４】
以下、上述の論理を用いて、組合せ回路１１０の動作確認試験について説明する。
【０１８５】
時刻ｔ０では、テストモード信号、スキャン選択信号ともにＬレベルであり、ＡＣＫ、ＢＣＫ、ＵＰ、ＴＣＫもすべてＬレベルである。
【０１８６】
また、ＦＦ０のＳＩにはＴＤ１３があり、ＳＯにはＴＤ１２があることとする。ＦＦ１のＳＩにはＴＤ１２があり、ＳＯにはＴＤ１１があることとする。ＦＦ−Ｂ１のラッチ１Ｂの出力はＴＤ２２であることとする。
【０１８７】
時刻ｔ１において、テストモード信号及びスキャン選択信号がともにＨレベルに立上るとともに、ＢＣＫがＨレベルに立上る。
【０１８８】
時刻ｔ２で、ＡＣＫが初めて立上り、Ｈレベルになる。このとき、ＦＦ−Ｂ０のラッチ１Ａは、データ入力端子ｄ（ＳＯ）の値をデータ出力端子ｑに反映させるため、ＴＤ１１になる。また、ＦＦ−Ｂ１のラッチ１Ａは、ＴＤ２３になることとする。
【０１８９】
次に、ＢＣＫが初めて立下り、Ｌレベルになる。このとき、ＦＦ０のＳＯはＢＣＫの立下り前のＳＩの値（ＴＤ１３）を取り込み、ＴＤ１３になる。また、ＦＦ０のＳＩには次のテストデータであるＴＤ１４が入力される。同様に、ＦＦ１のＳＯはＢＣＫの立下り前のＳＩの値（ＴＤ１２）を取り込み、ＴＤ１２になる。また、ＦＦ１のＳＩは、ＦＦ０のＳＯから出力される値が入力されることになるため、ＴＤ１３になる。
【０１９０】
ＦＦ−Ｂ０のラッチ２Ａは、ＢＣＫの立下り前のラッチ１Ａの出力（ＴＤ１１）を取り込み、ＴＤ１１になる。
【０１９１】
ＦＦ−Ｂ１のラッチ２Ｂは、ＢＣＫの立下り前のラッチ１Ｂの出力（ＴＤ２３）を取り込み、ＴＤ２３になる。
【０１９２】
ＦＦ４のＳＯはＢＣＫの立下り前のＳＩの値（ＴＤ２２）を取り込み、ＴＤ２２になる。ＦＦ４のＳＩには次のテストデータであるＴＤ２３が入力される。同様に、ＦＦ５のＳＯはＢＣＫの立下り前のＳＩの値（ＴＤ２１）を取り込み、ＴＤ２１になる。また、ＦＦ５のＳＩは、ＦＦ４のＳＯから出力される値が入力されることになるため、ＴＤ２２になる。
【０１９３】
以後、時刻ｔ３まで、ＡＣＫの立上りとＢＣＫの立上りで、同様の動作が繰り返し実行され、ＦＦ０、ＦＦ１、ＦＦ−Ｂ０、ＦＦ−Ｂ１、ＦＦ４、ＦＦ５の値が順次入れ替わる。
【０１９４】
時刻ｔ３の直前でＵＰが立上り、時刻ｔ３でＵＰが立下ると、バウンダリスキャン回路３１０Ａのラッチ３Ａがラッチ２Ａの出力（ＴＤ１ｎ）を取り込むため、ＴＤ１ｎになる。
【０１９５】
これにより、ラッチ３Ａの出力値（ＴＤ１ｎ）は、セレクタ３０２Ａ（図７参照）を経て組合せ回路１１０に入力される。
【０１９６】
組合せ回路１１０は、ＴＤ１ｎに基づいて演算を行い、リザルトデータＲＤ１ｎを出力する。組合せ回路１１０から出力されたＲＤ１ｎは、バウンダリスキャン回路３１０Ｂ（図８参照）のデータ入力端子Ｄに入力する。
【０１９７】
その後、時刻ｔ４でＴＣＫが立上ると、ラッチ１ＢはＲＤ１ｎを取り込む。
【０１９８】
次いで、ＴＣＫが立下ると、ラッチ１Ｂの出力をラッチ２Ｂが取り込む。
【０１９９】
さらに、その後、時刻ｔ５以降で再びＡＣＫの立上りとＢＣＫの立下りが繰り返し実行されることにより、組合せ回路１１０で処理されたリザルトデータＲＤ１ｎは、ＦＦ４、ＦＦ５に順次転送される。
【０２００】
以上の処理を繰り返し実行することにより、組合せ回路１１０で処理されたリザルトデータ（ＲＤ１ｎ）を取り出すことができる。
【０２０１】
取り出したリザルトデータは、外部試験装置で期待値であるテストデータと比較され、組合せ回路１１０の動作確認が行われる。
【０２０２】
以上、実施の形態１１のＬＳＩ１００によれば、バウンダリスキャン回路３１０Ａ、３１０Ｂをそれぞれ含む入力回路４１０、出力回路４２０を利用して、組合せ回路１１０をスキャンチェーン２３０によるデータの転送経路の一部に挿入することにより、組合せ回路１１０の動作確認を行うことができる。
【０２０３】
スキャンチェーン２３０によるデータの転送経路の一部に組合せ回路１１０を挿入することは、ＬＳＩ１００が、データ転送回路４０１、挿入回路４０２〜４０５、セレクタ５０１、５０２、５０３、５０４を含むことによって実現される。
【０２０４】
このため、図１に示す比較例のＬＳＩ１のバウンダリスキャン回路３１０（図２参照）を利用して、最小限の要素（データ転送回路４０１、挿入回路４０２〜４０５、セレクタ５０１、５０２、５０３、５０４）の追加で、比較例では動作確認を行うことのできなかった組合せ回路１１０の動作確認を実現することができる。
【０２０５】
なお、以上では、組合せ回路１１０の入力端子をスキャンＦＦ２０８に接続して組合せ回路１１０にスキャンテスト用のデータを入力し、組合せ回路１１０の出力端子をスキャンＦＦ２２１に接続して組合せ回路１１０の出力データを取り出す形態について説明した。
【０２０６】
しかしながら、組合せ回路１１０の入力端子及び出力端子は、いずれのスキャンＦＦに接続してもよく、スキャンチェーン２３０の一部に組合せ回路１１０が挿入されるようにデータの転送経路を形成することにより、上述の場合と同様に組合せ回路１１０の動作確認を行うことができる。
【０２０７】
＜実施の形態２＞
図１０は、実施の形態２のＬＳＩ２００の一部分を拡大して示す図である。
【０２０８】
図１０に示す一部分は、図６に示す実施の形態１のＬＳＩ１００の一部分に相当するが、図１０には、第１組み合わせ回路としての組合せ回路１０２の入力側及び出力側にあるスキャンＦＦ２０８及びスキャンＦＦ２０９の区間だけを示す。
【０２０９】
実施の形態２のＬＳＩ２００は、バウンダリスキャン回路３１０Ａ、３１０Ｂを用いずに第２組合せ回路としての組合せ回路１１０の動作確認を行うようにしている点が実施の形態１のＬＳＩ１００と異なる。
【０２１０】
以下、実施の形態１のＬＳＩ１００に含まれる要素と同一又は同等の要素には同一符号を付し、その説明を省略する。
【０２１１】
ＬＳＩ２００は、転送回路１００１、転送回路１００２、セレクタ１００３、セレクタ１００４を含む点が実施の形態１のＬＳＩ１００と異なる。
【０２１２】
転送回路１００１は、スキャンＦＦ２０８のデータ出力端子Ｑと、セレクタ１００４の一方の入力端子とを接続する。セレクタ１００４は、一方の入力端子に転送回路１００１が接続され、他方の入力端子にバウンダリスキャン回路３１０Ａのデータ出力端子Ｑが接続され、出力端子がセレクタ３０２Ａの一方の入力端子に接続されている。
【０２１３】
転送回路１００１とセレクタ１００４は、スキャンＦＦ２０８のデータの出力先を組合せ回路１０２と組合せ回路１１０とで切り替える第１選択回路として機能する。
【０２１４】
転送回路１００２は、組合せ回路１１０の出力端子と、セレクタ１００３の一方の入力端子とを接続する。
【０２１５】
セレクタ１００３の他方の入力端子には、組合せ回路１０２の出力端子が接続されている。
【０２１６】
転送回路１００２及びセレクタ１００３は、スキャンＦＦ２０９のデータの入力元を組合せ回路１０２と組合せ回路１１０とで切り替える第２選択回路として機能する。
【０２１７】
セレクタ１００３には、テスト制御回路４５０からスキャン選択信号が入力されており、スキャン選択信号の値が１になると、セレクタ１００３は、転送回路１００２とスキャンＦＦ２０９のデータ入力端子Ｄとを接続する。これは、ＬＳＩテストにおいて組合せ回路１１０の動作確認試験を行う場合である。
【０２１８】
一方、セレクタ１００３は、テスト制御回路４５０から入力されるスキャン選択信号の値が０になると、組合せ回路１０２とスキャンＦＦ２０９のデータ入力端子Ｄとを接続する。これは、ＬＳＩテストにおいて組合せ回路１０２の動作確認試験を行う場合である。
【０２１９】
以上のように、実施の形態２によれば、バウンダリスキャン回路３１０Ａ、３１０Ｂを用いなくても、組合せ回路１１０をスキャンチェーン２３０によるデータの転送経路の一部に挿入することにより、組合せ回路１１０の動作確認を行うことができる。
【０２２０】
スキャンチェーン２３０によるデータの転送経路の一部に組合せ回路１１０を挿入することは、ＬＳＩ２００が、転送回路１００１、転送回路１００２、セレクタ１００３を含むことによって実現される。
【０２２１】
このため、図１に示す比較例のＬＳＩ１のバウンダリスキャン回路３１０（図２参照）を利用して、最小限の要素（転送回路１００１、転送回路１００２、セレクタ１００３）の追加で、比較例では動作確認を行うことのできなかった組合せ回路１１０の動作確認を実現することができる。
【０２２２】
以上、本発明の例示的な実施の形態１及び２の集積回路について説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０２２３】
１０  サーバ
１１  ＣＰＵ
１１Ａ  ＣＰＵコア
１１Ｂ  メモリコントローラ
１２  メモリバッファ
１３  主記憶装置
１４  システムバス
１００  ＬＳＩ
１０１〜１０６、１１０  組合せ回路
１２１〜１２５  入力端子
１３１〜１３５  出力端子
４１０、１４２〜１４５  入力回路
４２０、１５２〜１５５  出力回路
２０１〜２２８  スキャンＦＦ
２３０  スキャンチェーン
２４０  バウンダリスキャンチェーン
２５０、４５０  テスト制御回路
２５１  テストデータ入力端子
２５２  入力回路
２５３  出力回路
２５４  テストデータ出力端子
４０１  データ転送回路
４０２、４０３、４０４、４０５  挿入回路
５０１、５０２、５０３、５０４、５０５  セレクタ
６００  試験対象
３０１Ａ  入力バッファ
３０２Ａ  セレクタ
３１０Ａ  バウンダリスキャン回路
３１１Ａ、３１２Ａ  ＡＮＤ回路
３１３Ａ  ＯＲ回路
３１４Ａ、３１５Ａ  ＡＮＤ回路
１Ａ、２Ａ、３Ａ  ラッチ
３０１Ｂ  出力バッファ
３０２Ｂ  セレクタ
３１０Ｂ  バウンダリスキャン回路
３１１Ｂ、３１２Ｂ  ＡＮＤ回路
３１３Ｂ  ＯＲ回路
３１４Ｂ、３１５Ｂ  ＡＮＤ回路
１Ｂ、２Ｂ、３Ｂ  ラッチ
１００１  転送回路
１００２  転送回路
１００３  セレクタ
【図１】
2012042586.tif 000003
【図２】
2012042586.tif 000004
【図３】
2012042586.tif 000005
【図４】
2012042586.tif 000006
【図５】
2012042586.tif 000007
【図６】
2012042586.tif 000008
【図７】
2012042586.tif 000009
【図８】
2012042586.tif 000010
【図９Ａ】
2012042586.tif 000011
【図９Ｂ】
2012042586.tif 000012
【図１０】
2012042586.tif 000013
【国際調査報告】
2012042586.tif 000014
2012042586.tif 000015