(57)【要約】【課題】コアテストに伴う素子数の増加を抑制する半導体集積回路と、テストに必要な端子を増やさずにコア回路の連続パターンテストを可能にするコアテスト回路を提供する。【解決手段】半導体集積回路が、コア回路と、組み合わせ回路と、組み合わせ回路の入出力端子に接続されたスキャンフリップフロップが縦続接続された組み合わせ回路のスキャンパスと、コア回路の出力信号をスキャンフリップフロップに入力できるようにしたマルチプレクサを含むスキャンパス共用化回路と、を含み、組み合わせ回路のスキャンパスを用いて組み合わせ回路に含まれないコア回路をテストできるようにする。また、コアテスト回路が、複数の結果パターンを格納するテストデータ出力用シフトレジスタをコアの出力端子毎に設け、複数パターンのテスト結果をテストデータ出力用シフトレジスタに取り込んでからスキャンアウトできるようにする。【選択図】図１
2011149775.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力端子と複数の出力端子とを備えるコア回路と、
複数の入力端子と複数の出力端子とを備える組み合わせ回路と、
前記組み合わせ回路の複数の入力端子及び出力端子に接続された複数のスキャンフリップフロップが縦続接続されスキャンインしたデータを前記組み合わせ回路の複数の入力端子に並列に与え、前記組み合わせ回路の複数の出力端子から並列に出力されたデータをスキャンアウトできるように構成された前記組み合わせ回路のスキャンパスと、
前記コア回路の出力端子毎に設けられ、前記コア回路の出力信号又は前記スキャンパスをシフトする信号のいずれかを選択して前記複数のスキャンフリップフロップのうちいずれかのスキャンフリップフロップに入力できるように構成された複数の第１のマルチプレクサを含み、前記コア回路の前記複数の出力端子から出力されるテスト結果を前記複数のスキャンフリップフロップのうち、対応するスキャンフリップフロップに並列に取り込みスキャンアウトできるように構成されたスキャンパス共用化回路と、
を含み、前記組み合わせ回路のスキャンパスを用いて前記組み合わせ回路に含まれないコア回路をテストできるようにすることを特徴とする半導体集積回路。
【請求項２】
前記スキャンパス共用化回路は、
前記コア回路の前記複数の入力端子毎に設けられ、当該入力端子に通常使用時に入力される信号又は前記複数のスキャンフリップフロップの出力信号のいずれかを選択して当該入力端子に接続する複数の第２のマルチプレクサをさらに備え、
前記コア回路のテスト時に、前記スキャンパスにスキャンインしたデータを前記複数のスキャンフリップフロップから前記複数の第２のマルチプレクサを介して前記コア回路の複数の入力端子に並列に入力できるように構成されていることを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記複数の第１のマルチプレクサは、前記縦続接続されたスキャンフリップフロップのうち、ｎ個（ｎは自然数）おきのスキャンフリップフロップに接続されており、前記コア回路のテスト時に前記スキャンパスをシフトさせつつ、前記コア回路の複数の出力端子から並列に出力されるテスト結果をｎ＋１パターン連続して前記スキャンパスに取り込み、しかる後にスキャンアウトできるように構成されていることを特徴とする請求項１又は２記載の半導体集積回路。
【請求項４】
前記複数の第２のマルチプレクサは、前記複数の縦続接続されたスキャンフリップフロップのうち、当該スキャンフリップフロップの前段のｎ段のスキャンスリップフロップの出力信号が前記第１、第２のいずれのマルチプレクサにも接続されていないスキャンフリップフロップに接続されており、前記コア回路のテスト時に前記スキャンパスにスキャンインされたデータをさらにｎ＋１パターンシフトさせつつ前記コア回路の複数の入力端子に並列にｎ＋１パターン連続して印加できるように構成されていることを特徴とする請求項３記載の半導体集積回路。
【請求項５】
前記コア回路の複数の入力端子に入力テストデータを与えるＢＩＳＴ回路をさらに備え、
前記複数の第１のマルチプレクサは、前記縦続接続されたスキャンフリップフロップのうち、ｎ個（ｎは自然数）おきのスキャンフリップフロップに接続されており、前記コア回路のテスト時に前記ＢＩＳＴ回路からｎ＋１パターンのテストデータを前記コア回路の複数の入力端子に並列に与えると共に、前記スキャンパスをシフトさせつつ、前記コア回路の複数の出力端子から並列に出力されるテスト結果をｎ＋１パターン連続して前記スキャンパスに取り込み、しかる後にスキャンアウトできるように構成されていることを特徴とする請求項１記載の半導体集積回路。
【請求項６】
前記コア回路が複数含まれ、前記複数のコア回路に対してそれぞれ前記スキャンパス共用化回路が設けられ、前記複数のコア回路をそれぞれ前記組み合わせ回路のスキャンパスを用いてテストできるように構成されていることを特徴とする請求項１乃至５いずれか１項記載の半導体集積回路。
【請求項７】
前記スキャンパスがそれぞれスキャンイン端子とスキャンアウト端子を有する複数のスキャンパスを含み、
前記スキャンパス共用化回路は、前記複数のスキャンパスを並列に用いて前記コア回路のテストを行えるように構成されていることを特徴とする請求項１乃至６いずれか１項記載の半導体集積回路。
【請求項８】
前記第１のマルチプレクサと、前記スキャンフリップフロップとが一体として構成されたマルチプレクサ機能付スキャンフリップフロップを含み、
前記マルチプレクサ機能付スキャンフリップフロップは、クロック信号に応答して前段のスキャンフリップフロップの出力信号、前記組み合わせ回路の出力信号、前記コア回路の出力信号のいずれかを選択して取り込んで出力することを特徴とする請求項１乃至７いずれか１項記載の半導体集積回路。
【請求項９】
複数のデータ入力端子と、複数のデータ出力端子と、を有するコア回路をテストするコアテスト回路であって、
前記複数のデータ入力端子にそれぞれ対応して設けられ、テスト時に各データ入力端子に印加するｎ＋１パターン（ｎは自然数）のテスト入力パターンを格納する複数のテストデータ入力用シフトレジスタと、
前記複数のデータ出力端子にそれぞれ対応して設けられ、テスト時に各データ出力端子から出力されるｎ＋１パターンのテスト結果パターンを格納する複数のテストデータ出力用シフトレジスタと、
を備え、
前記複数のテストデータ入力用シフトレジスタと前記複数のテストデータ出力用シフトレジスタはチェーン接続されてスキャンイン、スキャンアウトできるように構成され、前記複数のテストデータ入力用シフトレジスタにそれぞれｎ＋１パターンのテストデータをスキャンインした後、前記テストデータ入力用シフトレジスタ及び前記テストデータ出力用シフトレジスタをシフトさせつつ前記テストデータ入力用シフトレジスタからｎ＋１パターンのテストデータを前記コア回路に印加するとともにｎ＋１パターンのテスト結果を前記テストデータ出力用シフトレジスタに取り込み、しかる後に、前記テストデータ出力用シフトレジスタに格納したテスト結果をスキャンアウトできるように構成されていることを特徴とするコアテスト回路。
【請求項１０】
前記複数のデータ出力端子と、対応するテストデータ出力用シフトレジスタとの間に設けられ、前記複数のデータ出力端子から出力される信号、又は、チェーン接続されてスキャンイン、スキャンアウトする信号のいずれかを選択して当該テストデータ出力用シフトレジスタに入力させる複数の第１のマルチプレクサと、
前記複数のテストデータ入力シフトレジスタと、対応するデータ入力用端子との間に設けられ、通常動作時に当該データ入力用端子に入力される信号、又は、当該テストデータ入力シフトレジスタの出力信号のいずれかを選択して当該データ入力端子へ出力する複数の第２のマルチプレクサと、
をさらに含むことを特徴とする請求項９記載のコアテスト回路。
【請求項１１】
前記複数のテストデータ入力用シフトレジスタ及び複数のテストデータ出力用シフトレジスタは、前記コア回路以外の組み合わせ回路のスキャンパスの一部であることを特徴とする請求項９又は１０記載のコアテスト回路。
【請求項１２】
複数のデータ入力端子と、複数のデータ出力端子と、を有するコア回路をテストするコアテスト回路であって、
前記複数のデータ入力端子にそれぞれ印加する少なくともｎ＋１パターン（ｎは自然数）のテスト入力パターンを自動発生するＢＩＳＴ回路と、
前記複数のデータ出力端子にそれぞれ対応して設けられ、テスト時に各データ出力端子から出力されるｎ＋１パターンのテスト結果パターンを格納する複数のテストデータ出力用シフトレジスタと、
を備え、
前記複数のテストデータ出力用シフトレジスタはチェーン接続されてスキャンアウトできるように構成され、テスト時には、前記ＢＩＳＴ回路からｎ＋１パターンのテストデータを前記コア回路に印加するとともに前記テストデータ出力用シフトレジスタをシフトさせて前記ｎ＋１パターンのテスト結果を前記複数のテストデータ出力用シフトレジスタに取り込み、しかる後に、前記テストデータ出力用シフトレジスタに格納したテスト結果をスキャンアウトできるように構成されていることを特徴とするコアテスト回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路及びコアテスト回路に関する。特に、マイクロプロセッサ、ＤＳＰ、アナログ回路、メモリなどの回路が固定されているコア回路を含む半導体集積回路及びそのテスト回路に関する。
【背景技術】
【０００２】
半導体集積回路には、品種毎に機能や回路構成や回路配置が変更され、回路が固定されていないいわゆるユーザーロジックと、回路構成が固定されているコア回路と、を含むものがある。たとえば、マイクロプロセッサ、ＤＳＰ、アナログ回路、メモリなどが、典型的なコア回路である。
【０００３】
これらユーザーロジックとコア回路を含む半導体集積回路においては、コア回路のテスト回路は、あらかじめ、コア回路内に内蔵しておくか、コア回路の外部に所定のコアテスト回路を設け、それとは別に、ユーザーロジックのテスト回路を設けてテストを行うのが一般的である。ユーザーロジックのテスト回路としては、ユーザーロジックにスキャンパステスト回路を挿入することが行われる。ユーザーロジックへのスキャンパステスト回路の挿入は、まず、ユーザーロジックを組み合わせ回路とクロックに同期して動作するフリップフロップにより構成される順序回路とに分ける。さらに、そのフリップフロップに他のフリップフロップとチェーン接続する機能を追加してスキャンフリップフロップに置換するとともに、ユーザーロジックにはないチェーン配線を追加する。また、ユーザーロジックに適当なフリップフロップが存在しない箇所では、スキャンフリップフロップを新たに追加して挿入する場合もある。大規模なユーザーロジックを有する半導体集積回路では、このスキャンフリップフロップの総数は数万から数十万個以上に及ぶ。
【０００４】
非特許文献１の１１〜１２頁には、上記のようなコア回路とユーザーロジックを含む半導体集積回路について、コア回路をテストする標準的なテスト方法の概要が開示されている。図９は、非特許文献１の図１に記載されているＩＥＥＥ１５００標準のテスト回路（Ｗｒａｐｐｅｒ）の全体ブロック図である。非特許文献１によれば、コア回路のテストのため、シリアルにテストデータやテストモードを制御するためのポートであるＷＳＰ（Ｗｒａｐｐｅｒ  ｓｅｒｉａｌ  ｐｏｒｔ）、オプションとしてパラレルにテストデータやテストモードを制御するためのポートであるＷＰＰ（Ｗｒａｐｐｅｒ  ｐａｒａｌｌｅｌ  ｐｏｒｔ）、テストモードを制御するためのレジスタであるＷＩＲ（Ｗｒａｐｐｅｒ  ｉｎｓｔｒｕｃｔｉｏｎ  ｒｅｇｉｓｔｅｒ）、シリアルインターフェースを用いてテストする場合にシリアルチェーンからコア回路をバイパスするためのレジスタであるＷＢＹ（Ｗｒａｐｐｅｒ  ｂｙｐａｓｓ  ｒｅｇｉｓｔｅｒ）、コア回路の入力端子に対するテストデータを直列又は並列に与え、コア回路の出力端子から出力されるテスト結果を格納し直列又は並列に出力するためのレジスタであるＷＢＲ（Ｗｒａｐｐｅｒ  ｂｏｕｎｄａｒｙ  ｒｅｇｉｓｔｅｒ）を設けることが記載されている。なお、上記ＷＳＰには、シリアル入力端子であるＷＳＩとシリアル出力端子であるＷＳＯが含まれる。また、コアテスト回路（Ｗｒａｐｐｅｒ）として、シリアル、パラレルインターフェースのうち、シリアルインターフェースは必須であるが、パラレルインターフェースは任意とされている。
【０００５】
また、特許文献１には、埋め込みコアの周囲に（埋め込みコアの）テスト用シフトレジスタを設けることが記載されている。さらに、特許文献１では、埋め込みコアの周辺に設けられる組み合わせ回路のスキャンパス回路を上記テスト用シフトレジスタの後段に接続し、テスト用シフトレジスタの入力端子からスキャンインし、スキャンパス回路の出力端子からスキャンアウトすることが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−３２０４３３号公報
【非特許文献】
【０００７】
【非特許文献１】ＩＥＥＥスタンダーズ１５００ＴＭ−２００５、ＩＥＥＥスタンダード・テスタビリティ・メソッド・フォア・エンベッディド・コアベースド・インテグレーテッド・サーキッツ、ＩＥＥＥコンピュータ・ソサイエティ、７、１１〜１２頁
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以下の分析は本発明により与えられる。上記非特許文献１や特許文献１によれば、コア回路とコア回路以外の組み合わせ回路とを備えた半導体集積回路において、コア回路に印加するテストパターンを保持するレジスタと、テスト結果を保持するレジスタ（非特許文献１のＷＢＲや、特許文献１のテスト用シフトレジスタ１３）を専用に設けなければならず、テスト回路のオーバーヘッドが大きかった。
【０００９】
また、コア回路をテストするコアテスト回路において、非特許文献１に記載されているシリアルポート（ＷＳＰ）を用いてコアテストを行う場合や、特許文献１に記載されているように、シリアルにスキャンインしたパターンに基づいてコアテストを行ってスキャンアウトする場合、１パターンコアテストを行う毎にスキャンイン、スキャンアウトを繰り返さなければならず、連続したパターンのテストを行うことができない。
【００１０】
一方、非特許文献１のオプションとして記載されているようにコアテスト回路についてパラレルインターフェースを用いるコアテスト回路とすると、コアテスト回路や配線によるチップ面積が増大することに加えて、コアテストに必要な端子の数が増えて、通常のＬＳＩのテストに用いるテスターではＬＳＩテスターの端子数が不足してテストが困難になるといった問題も生じる。
【課題を解決するための手段】
【００１１】
本発明の１つの側面による半導体集積回路は、複数の入力端子と複数の出力端子とを備えるコア回路と、複数の入力端子と複数の出力端子とを備える組み合わせ回路と、前記組み合わせ回路の複数の入力端子及び出力端子に接続された複数のスキャンフリップフロップが縦続接続されスキャンインしたデータを前記組み合わせ回路の複数の入力端子に並列に与え、前記組み合わせ回路の複数の出力端子から並列に出力されたデータをスキャンアウトできるように構成された前記組み合わせ回路のスキャンパスと、前記コア回路の出力端子毎に設けられ、前記コア回路の出力信号又は前記スキャンパスをシフトする信号のいずれかを選択して前記複数のスキャンフリップフロップのうちいずれかのスキャンフリップフロップに入力できるように構成された複数の第１のマルチプレクサを含み、前記コア回路の前記複数の出力端子から出力されるテスト結果を前記複数のスキャンフリップフロップのうち、対応するスキャンフリップフロップに並列に取り込みスキャンアウトできるように構成されたスキャンパス共用化回路と、を含み、前記組み合わせ回路のスキャンパスを用いて前記組み合わせ回路に含まれないコア回路をテストできるようにする。
【００１２】
また、本発明の他の側面によるコアテスト回路は、複数のデータ入力端子と複数のデータ出力端子とを有するコア回路をテストするコアテスト回路であって、前記複数のデータ入力端子にそれぞれ対応して設けられ、テスト時に各データ入力端子に印加するｎ＋１パターン（ｎは自然数）のテスト入力パターンを格納する複数のテストデータ入力用シフトレジスタと、前記複数のデータ出力端子にそれぞれ対応して設けられ、テスト時に各データ出力端子から出力されるｎ＋１パターンのテスト結果パターンを格納する複数のテストデータ出力用シフトレジスタと、を備え、前記複数のテストデータ入力用シフトレジスタと前記複数のテストデータ出力用シフトレジスタはチェーン接続されてスキャンイン、スキャンアウトできるように構成され、前記複数のテストデータ入力用シフトレジスタにそれぞれｎ＋１パターンのテストデータをスキャンインした後、前記テストデータ入力用シフトレジスタ及び前記テストデータ出力用シフトレジスタをシフトさせつつ前記テストデータ入力用シフトレジスタからｎ＋１パターンのテストデータを前記コア回路に印加するとともにｎ＋１パターンのテスト結果を前記テストデータ出力用シフトレジスタに取り込み、しかる後に、前記テストデータ出力用シフトレジスタに格納したテスト結果をスキャンアウトできるように構成されている。
【００１３】
本発明のさらに他の側面によるコアテスト回路は、複数のデータ入力端子と複数のデータ出力端子とを有するコア回路をテストするコアテスト回路であって、前記複数のデータ入力端子にそれぞれ印加する少なくともｎ＋１パターン（ｎは自然数）のテスト入力パターンを自動発生するＢＩＳＴ回路と、前記複数のデータ出力端子にそれぞれ対応して設けられ、テスト時に各データ出力端子から出力されるｎ＋１パターンのテスト結果パターンを格納する複数のテストデータ出力用シフトレジスタと、を備え、前記複数のテストデータ出力用シフトレジスタはチェーン接続されてスキャンアウトできるように構成され、テスト時には、前記ＢＩＳＴ回路からｎ＋１パターンのテストデータを前記コア回路に印加するとともに前記テストデータ出力用シフトレジスタをシフトさせて前記ｎ＋１パターンのテスト結果を前記複数のテストデータ出力用シフトレジスタに取り込み、しかる後に、前記テストデータ出力用シフトレジスタに格納したテスト結果をスキャンアウトできるように構成されている。
【発明の効果】
【００１４】
本発明の半導体集積回路によれば、組み合わせ回路のスキャンパスに用いられるスキャンフリップフロップをコアテストに用いるので、コアテストに伴う素子数の増加を抑制することができる。
【００１５】
また、本発明のコアテスト回路によれば、コア回路のデータ出力端子毎にシフトレジスタを設け、そのシフトレジスタをチェーン接続し、スキャンアウトできるようにしたので、テストに必要な端子の数を増やさずにコア回路の連続したパターンのテストを行うことができる。
【図面の簡単な説明】
【００１６】
【図１】実施例１による半導体集積回路のブロック図である。
【図２】図１の一部の拡大ブロック図である。
【図３】実施例１におけるコアテストの（ａ）スキャンシフトモード（スキャンイン）、（ｂ）コアテストモード、（ｃ）スキャンシフトモード（スキャンアウト）の各動作モードを説明する図面である。
【図４】実施例１における（ａ）組み合わせ回路スキャンテストの動作タイミング図と、（ｂ）コアテストの動作タイミング図である。
【図５】実施例２によるコア回路及びそのテスト回路のブロック図である。
【図６】実施例３によるコア回路及びそのテスト回路のブロック図である。
【図７】実施例４によるコア回路及びそのテスト回路のブロック図である。
【図８】実施例５におけるスキャンパスを構成するフリップフロップ回路及びその周辺の回路ブロック図である。
【図９】非特許文献１の１２頁の図１に記載されているＩＥＥＥ１５００標準のテスト回路（Ｗｒａｐｐｅｒ）の全体ブロック図である。
【発明を実施するための形態】
【００１７】
本発明の各実施例について詳細に説明する前に、本発明の実施形態の概要について説明しておく。なお、概要の説明において引用する図面及び図面の符号は実施形態の一例として示すものであり、それにより本発明による実施形態のバリエーションを制限するものではない。
【００１８】
一例を図１に示すように、本発明の一実施例の半導体集積回路１は、コア回路２１と、組み合わせ回路１１と、組み合わせ回路１１のスキャンパス（４１〜４３、５１〜５３、６１〜６３、７１〜７３）と、スキャンパス共用化回路（６５、７５）と、を含む。コア回路２１は、複数の入力端子（ＣＩ１、ＣＩ２）と複数の出力端子（ＣＯ１、ＣＯ２）とを備える。組み合わせ回路１１は、複数の入力端子（ＰＩ１〜ＰＩ１０）と複数の出力端子（ＰＯ１〜ＰＯ１３）とを備える。組み合わせ回路１１のスキャンパス（４１〜４３、５１〜５３、６１〜６３、７１〜７３）は、組み合わせ回路１１の複数の入力端子（ＰＩ１〜ＰＩ１０）及び出力端子（ＰＯ１〜ＰＯ１３）に接続された複数のスキャンフリップフロップ（４１〜４３、５１〜５３、６１〜６３、７１〜７３）が縦続接続されスキャンインしたデータを組み合わせ回路１１の複数の入力端子（ＰＩ１〜ＰＩ１０）に並列に与え、組み合わせ回路１１の複数の出力端子（ＰＯ１〜ＰＯ１３）から並列に出力されたデータをスキャンアウトできるように構成される。すなわち、複数のスキャンフリップフロップは、前段のスキャンフリップフロップ（例えば、４１）のＱ出力が次段のスキャンフリップフロップ（例えば、４２）のデータ入力端子Ｄに縦続接続（カスケード接続）されている。スキャンパス共用化回路（６５、７５）は、コア回路２１の出力端子（ＣＯ１、ＣＯ２）毎に設けられ、コア回路２１の出力信号又はスキャンパス（４１〜４３、５１〜５３、６１〜６３、７１〜７３）をシフトする信号のいずれかを選択して複数のスキャンフリップフロップ（４１〜４３、５１〜５３、６１〜６３、７１〜７３）のうちいずれかのスキャンフリップフロップに入力できるように構成された複数の第１のマルチプレクサ（６５、７５）を含み、コア回路２１の複数の出力端子（ＣＯ１、ＣＯ２）から出力されるテスト結果を複数のスキャンフリップフロップ（４１〜４３、５１〜５３、６１〜６３、７１〜７３）のうち、対応するスキャンフリップフロップに並列に取り込みスキャンアウトできるように構成される。上記構成により、組み合わせ回路１１のスキャンパス（４１〜４３、５１〜５３、６１〜６３、７１〜７３）を用いて組み合わせ回路１１に含まれないコア回路２１をテストできる。
【００１９】
また、スキャンパス共用化回路（６５、７５、４４、５４）は、コア回路２１の複数の入力端子（ＣＩ１、ＣＩ２）毎に設けられ、当該入力端子（ＣＩ１、ＣＩ２）に通常使用時に入力される信号（ＰＯ３、ＰＯ７）又は複数のスキャンフリップフロップの出力信号（４３のＱ、５３のＱ）のいずれかを選択して当該入力端子（ＣＩ１、ＣＩ２）に接続する複数の第２のマルチプレクサ（４４、５４）をさらに備えてもよい。これにより、コア回路２１のテスト時に、スキャンパスにスキャンインしたデータを複数のスキャンフリップフロップ（４１〜４３、５１〜５３、６１〜６３、７１〜７３）から複数の第２のマルチプレクサ（４４、５４）を介してコア回路２１の複数の入力端子（ＣＩ１、ＣＩ２）に並列に入力できる。
【００２０】
また、複数の第１のマルチプレクサ（６５、７５）は、縦続接続されたスキャンフリップフロップ（４１〜４３、５１〜５３、６１〜６３、７１〜７３）のうち、ｎ個（一般的にはｎは自然数。図１ではｎ＝２）おきのスキャンフリップフロップ（６１、７１）に接続されており、コア回路２１のテスト時にスキャンパス（特に６１〜６３と７１〜７３）をシフトさせつつ、コア回路２１の複数の出力端子（ＣＯ１、ＣＯ２）から並列に出力されるテスト結果をｎ＋１パターン（図１では３パターン）連続してスキャンパス（特に６１〜６３と７１〜７３）に取り込み、しかる後にスキャンアウト（ＳＯＴ端子から出力）できるように構成されてもよい。
【００２１】
また、複数の第２のマルチプレクサ（４４、５４）は、複数の縦続接続されたスキャンフリップフロップ（４１〜４３、５１〜５３、６１〜６３、７１〜７３）のうち、当該スキャンフリップフロップ（４３、５３）の前段のｎ段（図１では２段）のスキャンフリップフロップ（４１、４２、５１、５２）の出力信号が第１、第２のいずれのマルチプレクサにも接続されていないスキャンフリップフロップ（４１、４２、５１、５２）に接続され、コア回路２１のテスト時にスキャンパス（４１〜４３、５１〜５３、６１〜６３、７１〜７３）にスキャンインされたデータをさらにｎ＋１（図１では３）パターンシフトさせつつ前記コア回路の複数の入力端子に並列にｎ＋１（図１では３）パターン連続して印加できるように構成されてもよい。
【００２２】
さらに、一例を図５に示すように、コア回路２１の複数の入力端子（ＣＩ１、ＣＩ２）に入力テストデータを与えるＢＩＳＴ回路８１をさらに備え、複数の第１のマルチプレクサ７５は、縦続接続されたスキャンフリップフロップ（６１〜６３、７１〜７３）のうち、ｎ個（一般的にはｎは自然数。図５ではｎ＝２）おきのスキャンフリップフロップに接続されており、コア回路２１のテスト時にＢＩＳＴ回路８１からｎ＋１（図５では３）パターンのテストデータをコア回路２１の複数の入力端子（ＣＩ１、ＣＩ２）に並列に与えると共に、スキャンパスをシフトさせつつ、前記コア回路の複数の出力端子（ＣＯ１、ＣＯ２）から並列に出力されるテスト結果をｎ＋１（図５では３）パターン連続してスキャンパス（６１〜６３、７１〜７３）に取り込み、しかる後にスキャンアウト（ＳＯＴ端子から出力）できるように構成されてもよい。
【００２３】
さらに、一例を図６に示すように、コア回路（２１、１２１）が複数含まれ、複数のコア回路（２１、１２１）に対してそれぞれスキャンパス共用化回路（６５、７５、１６５、１７５。図６では、図１の４４、５４に相当するコア回路の入力端子（ＣＩ１、ＣＩ２、ＣＩ１１、ＣＩ１２）側のマルチプレクサは図示省略）が設けられ、複数のコア回路をそれぞれ組み合わせ回路１１のスキャンパスを用いてテストできるように構成されてもよい。
【００２４】
また、一例を図７に示すように、スキャンパスがそれぞれスキャンイン端子（ＳＩＮ１、ＳＩＮ２）とスキャンアウト端子（ＳＯＴ１、ＳＯＴ２）を有する複数のスキャンパス（５１〜５３、６１〜６３と、４１〜４３、７１〜７３）を含み、スキャンパス共用化回路は、前記複数のスキャンパスを並列に用いて前記コア回路のテストを行えるように構成されてもよい。
【００２５】
さらに、一例を図８に示すように、第１のマルチプレクサ６１３と、スキャンフリップフロップ６１１とが一体として構成されたマルチプレクサ機能付スキャンフリップフロップ６１Ａを含み、マルチプレクサ機能付スキャンフリップフロップ６１Ａは、クロック信号ＴＣＫに応答して前段のスキャンフリップフロップの出力信号（５３１のＱ）、組み合わせ回路の出力信号ＰＯ８、コア回路の出力信号ＣＯ１のいずれかを選択して取り込んで出力する半導体集積回路であってもよい。
【００２６】
また、本発明の一実施形態のコアテスト回路は、一例を図１に示すように、複数のデータ入力端子（ＣＩ１、ＣＩ２）と、複数のデータ出力端子（ＣＯ１、ＣＯ２）と、を有するコア回路２１をテストするコアテスト回路である。そのコアテスト回路は、複数のデータ入力端子（ＣＩ１、ＣＩ２）にそれぞれ対応して設けられた複数のテストデータ入力用シフトレジスタ（４１〜４３と、５１〜５３）と、複数のデータ出力端子（ＣＯ１、ＣＯ２）にそれぞれ対応して設けられた複数のテストデータ出力用シフトレジスタ（６１〜６３と、７１〜７３）と、を備える。複数のテストデータ入力用シフトレジスタ（４１〜４３と、５１〜５３）はテスト時に各データ入力端子に印加するｎ＋１パターン（ｎは自然数）のテスト入力パターンを格納する。また、複数のテストデータ出力用シフトレジスタ（６１〜６３と、７１〜７３）は、テスト時に各データ出力端子（ＣＯ１、ＣＯ２）から出力されるｎ＋１パターンのテスト結果パターンを格納する。複数のテストデータ入力用シフトレジスタ（４１〜４３と、５１〜５３）と複数のテストデータ出力用シフトレジスタ（６１〜６３と、７１〜７３）はチェーン接続されてスキャンイン、スキャンアウトできるように構成される。すなわち、まず、複数のテストデータ入力用シフトレジスタ（４１〜４３と、５１〜５３）にそれぞれｎ＋１パターンのテストデータをスキャンインする。次に、テストデータ入力用シフトレジスタ（４１〜４３と、５１〜５３）及びテストデータ出力用シフトレジスタ（６１〜６３と、７１〜７３）をシフトさせつつテストデータ入力用シフトレジスタ（４１〜４３と、５１〜５３）からｎ＋１パターンのテストデータをコア回路２１に印加するとともにｎ＋１パターンのテスト結果をテストデータ出力用シフトレジスタ（６１〜６３と、７１〜７３）に取り込む。しかる後に、テストデータ出力用シフトレジスタに格納したテスト結果をスキャンアウトできるように構成される。
【００２７】
また、複数の第１のマルチプレクサ（６５、７５）と、複数の第２のマルチプレクサ（４４、５４）と、をさらに含む構成としてもよい。複数の第１のマルチプレクサ（６５、７５）は、複数のデータ出力端子（ＣＯ１、ＣＯ２）と、対応するテストデータ出力用シフトレジスタ（６１〜６３と、７１〜７３）との間に設けられ、前記複数のデータ出力端子（ＣＯ１、ＣＯ２）から出力される信号、又は、チェーン接続されてスキャンイン、スキャンアウトする信号（スキャンイン端子ＳＩＮから入力される信号、スキャンアウト端子ＳＯＴから出力される信号）のいずれかを選択して当該テストデータ出力用シフトレジスタに入力させる。また、複数の第２のマルチプレクサ（４４、５４）は、複数のテストデータ入力シフトレジスタ（４１〜４３と、５１〜５３）と、対応するデータ入力用端子（ＣＩ１、ＣＩ２）との間に設けられ、通常動作時に当該データ入力用端子（ＣＩ１、ＣＩ２）に入力される信号（ＰＯ３、ＰＯ７）、又は、当該テストデータ入力シフトレジスタ（４１〜４３、又は、５１〜５３）の出力信号（４３のＱ、又は５３のＱ）のいずれかを選択して当該データ入力端子（ＣＩ１又はＣＩ１２）へ出力することができる。
【００２８】
さらに、複数のテストデータ入力用シフトレジスタ（４１〜４３と、５１〜５３）及び複数のテストデータ出力用シフトレジスタ（６１〜６３と、７１〜７３）は、コア回路２１以外の組み合わせ回路１１のスキャンパスの一部であってもよい。
【００２９】
以上で概要の説明を終わり、以下、実施例について、図面を参照してさらに詳しく説明する。
【実施例１】
【００３０】
図１は、実施例１による半導体集積回路のブロック図である。図１において、半導体集積回路１は、コア回路２１と、組み合わせ回路１１と、組み合わせ回路１１及びコア回路２１をテストする回路と、を備えている。コア回路２１は、機能が固定されている回路であり、通常はレイアウトパターンも固定されたいわゆるハードマクロとして構成される回路である。典型的なコア回路としては、マイクロプロセッサ、ＤＳＰ、アナログ回路、メモリなどが考えられるが、特に限定されるものではない。
【００３１】
コア回路に対して、組み合わせ回路１１は、品種や仕様によって自由に回路構成を変えることができるいわゆるユーザーロジックに含まれる組み合わせ回路である。所望の機能を有する半導体集積回路を設計しようとする場合、すでに設計、検証が済んでいるコア回路をそのまま使用できる場合はそのまま使用し、コア回路に含まれないその品種固有の回路をユーザーロジックとして設計することにより、設計効率や全体の性能、設計品質を向上させることができる。ユーザーロジックには、クロックに同期して動作するフリップフロップなどの順序回路と、組み合わせ回路が含まれる。ユーザーロジックのテスト容易化のため、フリップフロップは、スキャンフリップフロップに置き換えられ、組み合わせ回路についてスキャンパスを使用してテストできるテスト回路が挿入される。ユーザーロジックへのスキャンパステスト回路の挿入は、多くの場合、ＣＡＤを利用して自動又は半自動で行われる。図１に示すスキャンフリップフロップ４１〜４３、５１〜５３、６１〜６３、７１〜７３はこのようにしてユーザーロジックに元々含まれるフリップフロップが組み合わせ回路１１のスキャンパステストのためにスキャンフリップフロップへ置き換えられたものである。また、組み合わせ回路のスキャンパステストに必要なフリップフロップが不足している場合は、テスト容易化のため、元々フリップフロップが存在していなかった箇所に、新たにスキャンフリップフロップが挿入される場合もある。
【００３２】
テスト制御回路３１は、コア回路２１及び組み合わせ回路１１のテストを制御する回路である。これに限定されるものではないが、テスト制御回路３１としては、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）１１４９で標準が定められているバウンダリースキャン用のＴＡＰ（Ｔｅｓｔ  Ａｃｃｅｓｓ  Ｐｏｒｔ）コントローラを用いることもできる。
【００３３】
組み合わせ回路１１のスキャンパステスト回路として、スキャンフリップフロップ４１〜４３、５１〜５３、６１〜６３、７１〜７３が直列に縦続接続され、その先頭がスキャンイン端子ＳＩＮに接続され、末尾がスキャンアウト端子ＳＯＴに接続されている。組み合わせ回路１１のテストパターンをスキャンインイン端子ＳＩＮからスキャンパス回路に取り込み、テストパターンとして組み合わせ回路１１の入力端子に与える。また、組み合わせ回路の出力端子から出力されるテスト結果をスキャンパス回路に取り込み、取り込んだテスト結果をスキャンアウト端子ＳＯＴから半導体集積回路１の外部へ出力できるように構成されている。
【００３４】
各スキャンフリップフロップ４１〜４３、５１〜５３、６１〜６３、７１〜７３の出力信号は、組み合わせ回路１１の入力端子ＰＩ１〜ＰＩ１０に接続されている。また、組み合わせ回路１１の出力端子ＰＯ１〜ＰＯ１３はいずれかのスキャンフリップフロップの入力端子に接続される。なお、図１で、組み合わせ回路１１の出力端子ＰＯ３、ＰＯ７は、スキャンフリップフロップの入力端子に接続されていないが、組み合わせ回路１１のテストのためには、いずれかのスキャンフリップフロップに接続することが望ましい。なお、図１では、組み合わせ回路１１のスキャンパスを構成するスキャンフリップフロップは、コア回路との境界にしか記載していないが、実際は、組み合わせ回路の内部や外周部に組み込まれて配置されている。
【００３５】
テスト制御回路３１は、これらのスキャンフリップフロップ４１〜４３、５１〜５３、６１〜６３、７１〜７３にシフトクロックＴＣＫを供給し、各スキャンフリップフロップに前段のスキャンフリップフロップから送られてきたデータ信号をシフトするか、組み合わせ回路１１の出力端子ＰＯ１〜ＰＩＯ１３から出力される信号を取り込むか、を制御するスキャンイネーブル信号ＳＣＮＥを出力する。
【００３６】
図２は、図１におけるスキャンフリップフロップ５３と６１周辺の拡大ブロック図である。図２には、図１には記載を省略したスキャンフリップフロップ５３と６１の一部の構成を記載している。スキャンフリップフロップ５３、６１には、マルチプレクサ５３２、６１２とフリップフロップ５３１、６１１が含まれる。また、マルチプレクサ５３２、６１２を制御する信号としてスキャンイネーブル信号ＳＣＮＥが接続されている。マルチプレクサ５３２、６１２の入力信号として、組み合わせ回路の出力端子ＰＯ６、ＰＯ８と前段のスキャンフリップフロップ５２と５３のＱ出力信号がそれぞれ接続されており、スキャンイネーブル信号ＳＣＮＥ信号がロウレベル（論理値０）のときは、組み合わせ回路の出力端子ＰＯ６、ＰＯ８が、ハイレベル（論理値１）のときは、前段のスキャンフリップフロップのＱ出力が選択されてフリップフロップ５３１、６１１のデータ入力端子Ｄに接続される。図１の各スキャンフリップフロップ４１〜４３、５１〜５３、６１〜６３、７１〜７３は、図２に示すスキャンフリップフロップ５３、６１と同一の構成である。従って、図１の各スキャンフリップフロップには、スキャンイネーブル信号ＳＣＮＥが接続され、各スキャンフリップフロップは、スキャンイネーブル信号ＳＣＮＥがロウレベルのときは、組み合わせ回路１１の出力端子ＰＯ１〜ＰＩＯ１３から出力される信号を取り込み、スキャンイネーブル信号ＳＣＮＥがハイレベルのときは、前段のスキャンフリップフロップが出力するデータ信号をテストクロック信号ＴＣＫの立ち上がりに同期して取り込み、後段のスキャンフリップフロップへデータをシフトする。なお、組み合わせ回路のスキャンパステストでは、テスト制御回路３１は、コア出力イネーブル信号ＯＵＴＥはロウレベル固定である。
【００３７】
図４（ａ）は、組み合わせ回路１１についてスキャンテストを行うときの動作タイミング図である。まず、タイミングｔ０１でスキャンイネーブル信号ＳＣＮＥをハイレベルにしてスキャンシフトモードに設定する。スキャンシフトモードに設定するとテストクロック信号ＴＣＫの立ち上がりに同期して、スキャンイン端子ＳＩＮから入力したテストパターンが直列接続されたスキャンフリップフロップに順次送られていく。必要なテストパターンの設定が終了したならば、タイミングｔ０２でスキャンイネーブル信号ＳＣＮＥをロウレベルに立ち下げ、スキャンフリップフロップ内部のマルチプレクサ（図２の５３２、６１２）を組み合わせ回路の出力端子側に切り替える。タイミングｔ０３のテストクロックＴＣＫの立ち上がりに同期して組み合わせ回路の入力端子ＰＩ１〜ＰＩ１０にテストパターンが印加され、次のタイミングｔ０４のテストクロックＴＣＫの立ち上がりに同期して組み合わせ回路の出力端子ＰＯ１〜ＰＯ１３から出力される信号をスキャンフリップフロップ４１〜４３、５１〜５３、６１〜６３、７１〜７３に取り込む。さらに、タイミングｔ０５では、スキャンイネーブル信号ＳＣＮＥを再びハイレベルにしてスキャンシフトモードに設定し、テストクロックＴＣＫの立ち上がりに同期してテスト結果をスキャンアウトしてスキャンアウト端子から取り出す。この様に、スキャンイネーブル信号ＳＣＮＥの論理レベルを切り替えながら、テストクロックＴＣＫを与えることにより、組み合わせ回路のスキャンテストを行うことができる。なお、上記の組み合わせ回路のスキャンテスト回路及びスキャンテスト手順は一般的なものである。また、組み合わせ回路のスキャンテスト回路、手順は適宜変更することができる。例えば、タイミングｔ０３、ｔ０４で与えるテストクロックをテストクロックＴＣＫ以外のクロックを用いることもできる。また、スキャンフリップフロップから組み合わせ回路に入力信号を与えるタイミングもクロックのエッジを用いずに他のゲート信号を用いることもできる。
【００３８】
実施例１では、上述した組み合わせ回路１１のテストのために設けられたスキャンパス、スキャンフリップフロップをコア回路２１の複数の入力端子へのテストパターンの並列入力、及びコア回路２１の複数の出力端子から出力されるテスト結果信号の取り込みに用いる。このため、以下に述べる回路がさらに追加されている。
【００３９】
実施例１では、コア回路２１の複数の出力端子ＣＯ１、ＣＯ２毎に第１のマルチプレクサ６５、７５を設け、この第１のマルチプレクサ６５、７５を介して組み合わせ回路１１のスキャンパスを構成するスキャンフリップフロップ６１、７１の入力端子に接続している。第１のマルチプレクサ６５、７５の入力端子には、コア回路の出力端子ＣＯ１、ＣＯ２以外に前段のスキャンフリップフロップ５３、６３のデータ出力信号Ｑが接続されている。第１のマルチプレクサ６５、７５は、このコア回路の出力端子ＣＯ１、ＣＯ２又は、前段のスキャンフリップフロップ５３、６３のデータ出力信号Ｑのどちらかをテスト制御回路３１が出力するコア出力イネーブル信号ＯＵＴＥにより切り替えて、スキャンフリップフロップ６１、７１の入力端子に信号を送る。第１のマルチプレクサ６５、７５は、コア出力イネーブル信号ＯＵＴＥがロウレベル（論理値０）のときは、前段のスキャンフリップフロップ５３、６３のデータ出力信号Ｑを選択し、コア出力イネーブル信号ＯＵＴＥがハイレベル（論理値１）のときは、コア回路の出力端子ＣＯ１、ＣＯ２を選択して、スキャンフリップフロップ６１、７１へ接続する。
【００４０】
また、コア回路２１の各入力端子ＣＩ１、ＣＩ２は、テスト時以外の通常使用時にコア回路２１に入力される信号であるＰＯ３、ＰＯ７をそのままコア回路２１の入力端子Ｃ１１、Ｃ１２へ入力するか、通常使用時に入力される信号ＰＯ３、ＰＯ７に代えて、スキャンフリップフロップ４３、５３の出力信号をコア回路の入力端子ＣＩ１、ＣＩ２に接続するか切り替える第２のマルチプレクサ４４、５４をさらに備えている。第２のマルチプレクサは、テスト制御回路３１が出力するスキャンイネーブル信号ＳＣＮＥがロウレベルであるときは、通常使用時に入力される信号ＰＯ３、ＰＯ７が選択されてコア回路２１の入力端子ＣＩ１、ＣＩ２に接続される。一方、スキャンイネーブル信号ＳＣＮＥがハイレベルであるときは、スキャンフリップフロップ４３、５３の出力信号が選択されてコア回路２１の入力端子ＣＩ１、ＣＩ２に接続される。なお、図１では、通常使用時にコア回路２１の入力端子ＣＩ１、ＣＩ２には、組み合わせ回路の出力端子ＰＯ３、ＰＯ７が接続されることにして記載しているが、通常使用時にコア回路２１の入力端子ＣＩ１、ＣＩ２に接続される信号は、自由に選択することができ、かならずしも組み合わせ回路１１から直接出力されている信号に限られるわけではない。
【００４１】
以上のように、コア回路２１の出力端子毎に第１のマルチプレクサ６５、７５、入力端子毎に第２のマルチプレクサ４４、５４を設け、これらの第１のマルチプレクサ６５、７５、第２のマルチプレクサ４４、５４を介して組み合わせ回路１１のスキャンパスを構成するスキャンフリップフロップ６１、７１、４３、５３へ接続することにより、組み合わせ回路のスキャンパスを用いてコア回路２１のテストを行うことができる。また、第１のマルチプレクサの切り替えを制御する信号として、テスト制御回路３１はコア出力イネーブル信号ＯＵＴＥを出力する。第２のマルチプレクサ４４、５４の切り替えを制御する信号は、組み合わせ回路のスキャンパス切り替え用としてすでにあるスキャンイネーブル信号ＳＣＮＥをそのまま用いることができる。
【００４２】
さらに、実施例１では、第１のマルチプレクサ６５、７５を接続するスキャンフリップフロップは２個おきのスキャンフリップフロップに接続される。スキャンフリップフロップ６１と７１との間には、６２、６３と２個のスキャンフリップフリップフロップを置いている。この様に構成することにより、途中でスキャンアウトすることなく、組み合わせ回路のスキャンパスに３パターンの連続するテスト結果を格納することができる。
【００４３】
同様に、第２のマルチプレクサ４４、５４は、第２のマルチプレクサ４４、５４に出力信号が接続されるスキャンフリップフロップ４３、５３の前段２段のスキャンフリップフロップ４１、４２、５１、５２が、第１のマルチプレクサ６５、７５にも、第２のマルチプレクサ４４、５４にも接続されていないスキャンフリップフロップ４３、５３に接続されている。
【００４４】
第１の実施例において、第１のマルチプレクサ及び第２のマルチプレクサを連続するスキャンフリップフロップに接続せずに、一定の間隔をおいて接続する理由について、コアテストの動作とともに説明する。図３（ａ）〜（ｃ）には、図１の回路構成のうち、コア回路２１とコア回路のテストに直接関連するフリップフロップとマルチプレクサのみを記載している。コアテストに着目すると、コア回路２１の各入力端子には、３段のフリップフロップが直列に接続されている。また、コア回路２１の各出力端子には、マルチプレクサを介して３段のフリップフロップが直列接続されている。図３の（ａ）〜（ｃ）で回路は同一であるが、コアテストのテスト工程に従って、活性化しているパスを太線で記載し、活性化していないパスを細線で記載している。また、図４（ｂ）は、コアテストの動作タイミング図である。
【００４５】
図４（ｂ）と図３（ａ）〜（ｃ）を用いて、コアテストの動作を説明する。コアテストでは、スキャンイネーブル信号ＳＣＮＥはハイレベルで固定する。したがって、第２のマルチプレクサ４４、５４、及びスキャンフリップフロップ内のマルチプレクサは、いずれもスキャンフリップフロップの出力信号を選択するように固定される。従って、図３（ａ）〜（ｃ）では、第２のマルチプレクサ４４、５４は記載を省略している。
【００４６】
図４（ｂ）において、タイミングｔ１１からタイミングｔ１６の６発のテストクロック信号ＴＣＫの立ち上がりに同期してスキャンイン端子ＳＩＮから取り込まれたテストパターンがスキャンフリップフロップ４１〜４３、５１〜５３に取り込まれる。図１、図３の回路の場合、スキャンフリップフロップ５３の後段には、コア回路２１の入力端子に接続されるスキャンフリップフロップが存在しないので、スキャンフリップフロップ５３にテストパターンが取り込まれるとスキャンインは終了する。次に、タイミングｔ１７では、コア出力イネーブル信号ＯＵＴＥ信号をハイレベルに立ち上げ、第１のマルチプレクサ６５、７５は、コア回路２１の出力端子側に切り替わり、図３（ａ）から図３（ｂ）の接続に変化する。このとき、コア回路２１の入力端子ＣＩ１から印加するテストパターンは、スキャンフリップフロップ４１〜４３に３パターンが格納されている。同様に、入力端子ＣＩ２から印加するテストパターンは、スキャンフリップフロップ５１〜５３に３パターンが格納されている。タイミングｔ１８のテストクロックの立ち上がりでは、スキャンフリップフロップ６１、７１に１パターン目のテスト結果が取り込まれる。また、テスト結果の取り込みと同時に各スキャンフリップフロップはひとつずつシフトし、スキャンフリップフロップ４３、５３のテストパターンはスキャンフリップフロップ４２、５２のテストパターンによって更新される。
【００４７】
次のタイミングｔ１９のテストクロック信号ＴＣＫの立ち上がりでは、スキャンフリップフロップ６１、７１に格納されていた最初のテスト結果は、スキャンフリップフロップ６２、７２へシフトされ、スキャンフリップフロップ６１、７１は２パターン目のテスト結果を取り込む。さらに、スキャンフリップフロップ４３、５３のテストパターンはスキャンフリップフロップ４２、５２のテストパターンによって３パターン目に更新される。
【００４８】
さらに、タイミングｔ２０のテストクロック信号ＴＣＫの立ち上がりでは、スキャンフリップフロップ６１、７１に格納されていた２パターン目のテスト結果は、スキャンフリップフロップ６２、７２へシフトされ、スキャンフリップフロップ６１、７１は３パターン目のテスト結果を取り込む。その結果、１パターン目のテスト結果がスキャンフリップフロップ６３、７３に格納され、２パターン目のテスト結果がスキャンフリップフロップ６２、７２に格納され、３パターン目のテスト結果がスキャンフリップフロップ６１、７１に格納されることになる。
【００４９】
タイミングｔ２１では、コア出力イネーブル信号ＯＵＴＥ信号をロウレベルに立ち下げ、マルチプレクサ６５、７５のパスを図３（ｂ）から図３（ｃ）に切り替える。タイミングｔ２２からタイミングｔ２６までテストクロック信号の立ち上がりに同期してテスト結果がスキャンアウト端子ＳＯＴから順次スキャンアウトされ、連続する３パターンのテスト結果をスキャンアウト端子ＳＯＴからまとめて観測することができる。
【００５０】
コアテストに着目すると、実施例１のコアテスト回路は、コア回路の入力端子毎にそれぞれｎ＋１パターン（ｎは自然数）のテストパターンを格納するテストデータ入力用シフトレジスタを設けている。また、コア回路の出力端子毎にそれぞれｎ＋１パターン（ｎは自然数）のテストパターンを格納するテストデータ出力用シフトレジスタを設けている。さらに、これらのテストデータ入力用シフトレジスタとテストデータ出力用シフトレジスタをチェーン接続することにより、コア回路のテストに要する端子の数を増やすことなく、ｎ＋１パターンのテストパターンをコア回路の各入力端子から連続して印加すると共に、そのｎ＋１パターンのテスト結果をテストデータ出力用シフトレジスタに連続して取り込めるようにしている。このｎ＋１パターンの連続したテストパターンのテスト中には、スキャンイン端子ＳＩＮから新たなテストパターンをスキャンインしたり、各出力端子のテスト結果を取り出さなくとも後でまとめて取り出すことができる。
【００５１】
ユーザーロジックを含む大規模な半導体集積回路では、組み合わせ回路のテストのために用いるスキャンフリップフロップの数は数万から数十万個以上にも及ぶ。これに対してコア回路の入出力端子数は数十から数千程度である。半導体集積回路全体では、コア回路の入出力端子の数よりスキャンフリップフロップの数の方がはるかに大きい。従って、コア回路の近傍にあるスキャンフリップフロップを兼用にしてコア回路の入出力端子毎に複数のスキャンフリップフロップを設けることも比較的容易である。しかもコアテスト用に専用のフリップフロップを設ける必要がないので、面積オーバーヘッドを最小限に抑えることができる。
【００５２】
なお、実施例１の変形例として、コアテストにのみ着目した場合、テストデータ入力用シフトレジスタとテストデータ出力用シフトレジスタは、組み合わせ回路のスキャンパスと必ずしも兼用する必要はない。ただし、テストデータ入力用シフトレジスタとテストデータ出力用シフトレジスタをコアテストのため専用に設けるとコアテストのオーバーヘッドが大きくなる。従って、組み合わせ回路のスキャンパス以外にもコア回路の周辺に、容易にチェーン構成を組めるシフトレジスタやフリップフロップ等があれば、そのような回路をテストデータ入力用シフトレジスタやテストデータ出力用シフトレジスタに用いることにしてもよい。
【実施例２】
【００５３】
図５は、実施例２によるコア回路及びそのテスト回路のブロック図である。図５において、実施例１と構成、動作がおおよそ同一であるブロックには、同一の符号を付し、重複する説明は省略する。実施例２では、コア回路の入力端子側に設けるスキャンフリップフロップに代えて、ＢＩＳＴ回路を設けている。また、コア回路の出力端子側には、実施例１と同様にコア回路２１の出力端子毎に１段以上縦続接続したスキャンフリップフロップ（６１〜６３と７１〜７３）を設けている。出力端子側に設けるスキャンフリップフロップの段数をｎ＋１（ｎは自然数）とした場合には、出力端子側のスキャンフリップフロップには、途中でスキャンアウトをすることなくｎ＋１パターンのテスト結果を格納することができる。従って、ＢＩＳＴ回路は、ｎ＋１パターンのテストパターンを発生できるＢＩＳＴ回路であることが望ましい。一般的には、ＢＩＳＴ回路を設ける場合には、テスト結果についてもＢＩＳＴ回路により圧縮して出力するか、判定結果のみを出力することが多い。その様な場合は、万一、不良が発生した場合、その不良解析は困難になる。しかし、実施例２によれば、コア回路２１に対する入力パターンはＢＩＳＴ回路により発生しているものの、テスト結果はＢＩＳＴ回路により圧縮や判定をしておらず、テスト結果をそのままＳＯＴ端子からスキャンアウトすることができる。従って、不良解析が容易である。また、ＢＩＳＴ回路としては、ＳＲＡＭ  ＢＩＳＴ回路やロジック回路のＢＩＳＴ回路など一般的なＢＩＳＴ回路のテストパターン発生器を用いることができる。また、スキャンフリップフロップ（６１〜６３、７１〜７３）は実施例１と同様に組み合わせ回路のスキャンフリップフロップを共用すれば、コアテスト回路に要する面積の増加を最小限に抑えることができる。また、スキャンフリップフロップ（６１〜６３、７１〜７３）を他の機能を有するフリップフロップと兼用したり、専用のスキャンフリップフロップを設けることも可能である。
【実施例３】
【００５４】
図６は、実施例３によるコア回路及びそのテスト回路のブロック図である。実施例３は、コア回路２１、１２１が一つだけではなく、複数ある場合のコアテスト回路を示す。コア回路２１、１２１が複数ある場合は、コア回路の入力端子（ＣＩ１、ＣＩ２、ＣＩ１１、ＣＩ１２）及び出力端子（ＣＯ１、ＣＯ２、ＣＯ１１、ＣＯ１２）毎に設けるスキャンフリップフロップ（４１〜４３、５１〜５３、６１〜６３、７１〜７３、１４１〜１４３、１５１〜１５３、１６１〜１６３、１７１〜１７３）をチェーン接続することにより複数のコア回路２１、１２１を並列にテストすることができる。また、コア回路２１の入出力端子に設けるスキャンフリップフロップとコア回路１２１の入出力端子に設けるスキャンフリップフロップをチェーン接続することにより、全体をスキャンイン端子ＳＩＮからスキャンインし、スキャンアウト端子ＳＯＴからスキャンアウトすることができるので、コア回路２１、１２１が複数になってもテストに必要な端子の数は増えない。従って、従来のＬＳＩテスターを使用して複数のコア回路２１、１２１を並列にテストすることができる。なお、コア回路の入出力端子毎に設けるスキャンフリップフロップの段数をｎ＋１（ｎは自然数）とする場合には、ｎの数は複数のコア回路で統一しておくことが望ましい。そのように構成すれば、複数のコア回路でｎ＋１パターンの連続するテストを同時に並行して行うことができる。また、スキャンフリップフロップ（４１〜４３、５１〜５３、６１〜６３、７１〜７３、１４１〜１４３、１５１〜１５３、１６１〜１６３、１７１〜１７３）は専用のフリップフロップであってもよいが、組み合わせ回路のスキャンパスなどチェーン接続されているフリップフロップを兼用にすればテストに要する素子数の増加を最小限に抑えることができる。
【実施例４】
【００５５】
図７は、実施例４によるコア回路及びそのテスト回路のブロック図である。実施例１〜実施例３では、コア回路の入力端子、出力端子毎に設けるスキャンフリップフロップは、一つのチェーンに接続されていたが、スキャンチェーンは一つでなく、複数のスキャンチェーンを設け、複数設けたスキャンチェーンのうち、いずれかのスキャンチェーンに含まれるスキャンフリップフロップにそれぞれの入力端子、出力端子を接続することにより、コア回路２１を複数のスキャンチェーンを用いて効率的にテストすることができる。複数のスキャンチェーンを設ける場合には、各スキャンチェーンの長さは短くできるので、スキャンイン、スキャンアウトに要するテスト時間を短くすることができる。ただし、ＬＳＩテスターのテストに必要な端子数は増えるので、トレードオフの関係にある。スキャンチェーンの数を増やすことによるスキャンイン、スキャンアウト時間の短縮と、テスターの端子数増加を比較考量してスキャンチェーンの数を決定すればよい。なお、実施例４においても、コア回路２１の入出力端子毎に設けるスキャンフリップフロップの数をｎ＋１段縦続接続することによりスキャンイン、スキャンアウトを途中で実施することなくｎ＋１パターンの連続したテストを行うことができる。また、スキャンフリップフロップ（４１〜４３、５１〜５３、６１〜６３、７１〜７３）は他の組み合わせ回路のスキャンチェーンや既存のフリップフロップを用いることによりコアテスト回路に要する素子数の増加を最小限に抑制することができる。
【実施例５】
【００５６】
図８は、実施例５におけるスキャンパスを構成するフリップフロップ回路及びその周辺の回路ブロック図である。実施例５は、実施例１におけるコア回路の出力端子に接続されるスキャンフリップフロップ６１、７１の変形例である。実施例１では、図２を参照すると、コア回路の出力端子Ｃ０１は、第１のマルチプレクサ６５を介してスキャンフリップフロップ６１に接続していた。実施例５では、スキャンフリップフロップ６１Ａにこの第１のマルチプレクサ６５の機能を取り込んでいる。図８において、スキャンフリップフロップ６１Ａの内部は、マルチプレクサ６１３とフリップフロップ６１１により構成されている。フリップフロップ６１１の機能は、図２のフリップフロップ６１１と同一である。マルチプレクサ６１３は、選択を制御する信号としてスキャンイネーブル信号ＳＣＮＥとコア出力イネーブル信号ＯＵＴＥの２つの信号により、組み合わせ回路１１の出力端子ＰＯ８から出力される信号、前段のスキャンフリップフロップ５３１からシフトアウトされる信号、コア回路２１の出力端子ＣＯ１から出力される信号のいずれかを選択してフリップフロップ６１１のデータ入力端子に接続する。マルチプレクサ６１３は、スキャンイネーブル信号ＳＣＮＥがロウレベルであれば、コア出力イネーブル信号ＯＵＴＥの論理レベルの如何に係わらず、組み合わせ回路１１の出力端子ＰＯ８から出力される信号を選択して出力する。スキャンイネーブル信号ＳＣＮＥがハイレベルで、かつ、コア出力イネーブル信号ＯＵＴＥがロウレベルである場合は、前段のスキャンフリップフロップ５３１からシフトアウトされる信号を選択して出力する。また、スキャンイネーブル信号ＳＣＮＥがハイレベルで、かつ、コア出力イネーブル信号ＯＵＴＥがハイレベルである場合は、コア回路２１の出力端子ＣＯ１から出力される信号を選択して出力する。実施例５も、第１のマルチプレクサ６５の機能がスキャンフリップフロップ６１に取り込まれているだけであり、全体の機能としては、実施例１と何ら変わらない。従って、実施例５は実施例１と同様な効果を発揮する。
【００５７】
以上、実施例について説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００５８】
１：半導体集積回路
１１：組み合わせ回路
２１、１２１：コア回路
３１：テスト制御回路
４１〜４３、５１〜５３、６１〜６３、６１Ａ、７１〜７３、１４１〜１４３、１５１〜１５３、１６１〜１６３、１７１〜１７３：スキャンフリップフロップ
４４、５４：第２のマルチプレクサ（コア回路入力側マルチプレクサ）
６５、７５、１６５、１７５：第１のマルチプレクサ（コア回路出力側マルチプレクサ）
８１：ＢＩＳＴ回路
５３１、６１１：フリップフロップ
５３２、６１２、６１３：マルチプレクサ
ＣＩ１、ＣＩ２、ＣＩ１１、ＣＩ１２：コア回路入力端子（コア回路データ入力端子）
ＣＯ１、ＣＯ２、ＣＯ１１、ＣＯ１２：コア回路出力端子（コア回路データ出力端子）
ＰＩ１〜ＰＩ１１：組み合わせ回路入力端子
ＰＯ１〜ＰＯ１３：組み合わせ回路出力端子
ＳＩＮ、ＳＩＮ１、ＳＩＮ２：スキャンイン端子
ＳＯＴ、ＳＯＴ１、ＳＯＴ２：スキャンアウト端子
ＳＣＮＥ：スキャンイネーブル信号
ＴＣＫ：テストクロック信号
ＯＵＴＥ：コア出力イネーブル信号
【図１】
2011149775.tif 000003
【図２】
2011149775.tif 000004
【図３】
2011149775.tif 000005
【図４】
2011149775.tif 000006
【図５】
2011149775.tif 000007
【図６】
2011149775.tif 000008
【図７】
2011149775.tif 000009
【図８】
2011149775.tif 000010
【図９】
2011149775.tif 000011