(57)【要約】【課題】  テスト回路の圧縮器による圧縮結果を半導体集積回路の外部に出力することによるテスト時間の増大を抑制可能な半導体集積回路のテスト回路及びテスト方法を提供する。【解決手段】  複数の出力端子を備えたメモリ２０、及び複数のフリップフロップ３１〜３ｎの直列接続を含むスキャンチェーン３０と同一の半導体チップ１上に集積化され、メモリ２０をテストする組込み自己テスト回路であって、メモリ２０の複数の出力端子から並列出力された複数のデータＤ１〜Ｄｎを複数の入力端子から入力し、それぞれ圧縮する圧縮器１１と、圧縮器１１及びスキャンチェーン３０の動作を制御して、圧縮された複数のデータＣ１〜Ｃｎを複数のフリップフロップ３１〜３ｎに格納させるテスト制御回路１２とを備える。【選択図】      図１
2006258703.tif 000002
【特許請求の範囲】
【請求項１】
複数の出力端子を備えたメモリ、及び複数のフリップフロップの直列接続を含むスキャンチェーンと同一の半導体チップ上に集積化され、前記メモリをテストする組込み自己テスト回路であって、
前記メモリの複数の出力端子から並列出力された複数のデータを複数の入力端子から入力し、それぞれ圧縮する圧縮器と、
前記圧縮器及び前記スキャンチェーンの動作を制御して、前記圧縮された複数のデータを前記複数のフリップフロップに格納させるテスト制御回路
とを備えることを特徴とするテスト回路。
【請求項２】
前記圧縮器は複数の出力端子を備え、該複数の出力端子に並列接続された複数のセレクタを更に備え、該複数のセレクタを介して前記圧縮器で圧縮された複数のデータは前記複数のフリップフロップに格納されることを特徴とする請求項１に記載のテスト回路。  
【請求項３】
前記スキャンチェーンは前記複数のフリップフロップの前段に配置されたセレクタを更に備え、該セレクタのシリアルな入力端子が前記圧縮器のシリアルな出力端子に接続していることを特徴とする請求項１に記載のテスト回路。
【請求項４】
半導体チップ上に集積化されたテスト対象のメモリから並列出力された複数のデータを、前記半導体チップ上に集積化された圧縮器に並列入力するステップと、
前記圧縮器に入力された複数のデータをそれぞれ圧縮するステップと、
前記圧縮された複数のデータを前記半導体チップ上に集積化されたスキャンチェーンに含まれる複数のフリップフロップに格納するステップと、
前記スキャンチェーンをシフト動作させて、前記圧縮された複数のデータを前記半導体チップの外部に出力するステップ
とを含むことを特徴とするテスト方法。  
【請求項５】
前記圧縮した複数のデータを、前記複数のフリップフロップに並列に格納することを特徴とする請求項４に記載のテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のテスト技術に係り、特に組込み自己テスト回路及びテスト方法に関する。
【背景技術】
【０００２】
大規模且つ複雑な半導体集積回路のテストの困難性を解決するテスト容易化手法の１つとして、組み込み自己テスト（以下において、「ＢＩＳＴ」という。）が広く用いられている。ＢＩＳＴは、被テスト回路ブロックに入力するテストパターンの生成と、被テスト回路ブロックから出力されるテスト結果データの出力を、被テスト回路ブロックの周辺に構成された論理回路（以下において、「テスト回路」という。）によって、すべて自動的に行なうものである。
【０００３】
ＢＩＳＴではテストパターンを外部のテスタのメモリ上に用意する必要がないため、テスタのコストが削減される。又、ＢＩＳＴでは、半導体集積回路のすべての動作をテスト回路のクロックに同期させてテストを行う。そのため、テスト回路のクロックを高速で動作させれば、テスタによって設定されるテスト動作周波数よりも速い動作速度でのテストが可能になる。つまり、実動作での製品テストを行うことができる。また、ＢＩＳＴで必要なテスト用外部入出力信号は少数であるため、複数の回路ブロックを同時にテストすることも可能となる。これにより、全体のテスト時間が大幅に削減できる。
【０００４】
ＢＩＳＴによる故障検出の方法としては、比較器型ＢＩＳＴや圧縮器型ＢＩＳＴなどがある。比較器型ＢＩＳＴは、テスト結果データと期待値の比較を行って故障の有無を判定する。一方、圧縮器型ＢＩＳＴは、テスト結果データをテスト回路内の圧縮器で圧縮し、圧縮結果と期待値の比較により故障の有無を判定する。
【０００５】
ところで、圧縮器型ＢＩＳＴは、テスト結果データが乱数的なものであることが前提である。テスト結果データに規則性がある場合、圧縮器に入力された故障の情報が、後続の故障情報と打ち消しあい、故障のないテスト結果データと同一になる現象が大きな割合で起こることが知られている。その場合には、故障が見逃されることになる。
【０００６】
そのため、ＢＩＳＴ終了時のみではなく、ＢＩＳＴ途中でも圧縮結果を外部のテスタに出力して、圧縮結果を検証する方法がある（例えば、特許文献１参照。）。故障が打ち消しあう前に圧縮結果をテスタに出力すれば、故障の見逃しを回避することができる。ただし、一般にテスタの動作クロックはテスト回路のクロックより遅い。そのため、圧縮結果をテスタに出力している間は、ＢＩＳＴを中断する必要がある。その結果、ＢＩＳＴ終了時にのみ圧縮結果を評価する場合に比べて、テスト回路のクロックに同期させて初期化、クロック入力、結果検証のみでテストを行えるというＢＩＳＴの利点が失われ、ＢＩＳＴに要する時間が増大する。
【特許文献１】特開平８−２２０１９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、テスト回路の圧縮器による圧縮結果を半導体集積回路の外部に出力することによるテスト時間の増大を抑制可能な半導体集積回路のテスト回路及びテスト方法を提供する。
【課題を解決するための手段】
【０００８】
本発明の第１の特徴は、複数の出力端子を備えたメモリ、及び複数のフリップフロップの直列接続を含むスキャンチェーンと同一の半導体チップ上に集積化され、メモリをテストする組込み自己テスト回路であって、（イ）メモリの複数の出力端子から並列出力された複数のデータを複数の入力端子から入力し、それぞれ圧縮する圧縮器と、（ロ）圧縮器及びスキャンチェーンの動作を制御して、圧縮された複数のデータを複数のフリップフロップに格納させるテスト制御回路とを備えるテスト回路であることを要旨とする。
【０００９】
本発明の第２の特徴は、（イ）半導体チップ上に集積化されたテスト対象のメモリから並列出力された複数のデータを、半導体チップ上に集積化された圧縮器に並列入力するステップと、（ロ）圧縮器に入力された複数のデータをそれぞれ圧縮するステップと、（ハ）圧縮された複数のデータを半導体チップ上に集積化されたスキャンチェーンに含まれる複数のフリップフロップに格納するステップと、（ニ）スキャンチェーンをシフト動作させて、圧縮された複数のデータを半導体チップの外部に出力するステップとを含むテスト方法であることを要旨とする。  
【発明の効果】
【００１０】
本発明によれば、テスト回路の圧縮器による圧縮結果を半導体集積回路の外部に出力することによるテスト時間の増大を抑制可能な半導体集積回路のテスト回路及びテスト方法を提供できる。
【発明を実施するための最良の形態】
【００１１】
次に、図面を参照して、本発明の第１及び第２の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。又、以下に示す第１及び第２の実施の形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、構成部品の構造、配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
【００１２】
（第１の実施の形態）
本発明の第１の実施の形態に係るテスト回路１０は、図１に示すように、複数の出力端子を備えたメモリ２０、及び複数のフリップフロップ３１〜３ｎの直列接続を含むスキャンチェーン３０と同一の半導体チップ１上に集積化され、メモリ２０をテストする組込み自己テスト回路であって、メモリ２０の複数の出力端子から並列出力された複数のデータＤ１〜Ｄｎを複数の入力端子から入力し、それぞれ圧縮する圧縮器１１と、圧縮器１１及びスキャンチェーン３０の動作を制御して、圧縮された複数のデータＣ１〜Ｃｎを複数のフリップフロップ３１〜３ｎに格納させるテスト制御回路１２とを備える（ｎ：１以上の整数。）。図１において、フリップフロップは「ＦＦ」と略記されている。データＤ１〜Ｄｎは、ＢＩＳＴ実行時にメモリ２０から出力されるテスト結果データである。
【００１３】
「スキャンチェーン」は、半導体集積回路に使用されるフリップフロップをシフト動作させるように直列接続した回路であり、半導体集積回路のテスト容易化のために使用される。図１に示すように、スキャンチェーン３０の出力ＳＯは、スキャンアウト端子６１０を介して半導体チップ１の外部のテスタ２に出力される。スキャンチェーン３０を構成するフリップフロップのうち、フリップフロップ３１〜３ｎ以外のＢＩＳＴ結果を保存するフリップフロップを、以下において「保存フリップフロップ」という。スキャンチェーン３０がシフト動作することにより、フリップフロップ３１〜３ｎに格納されたデータは保存フリップフロップ３００にシフトして保存される。
【００１４】
又、テスト回路１０は、セレクタ１３１〜１３ｎ、セレクタ１４、ＡＮＤ回路１５及びＡＮＤ回路１６を更に備える。
【００１５】
テスト制御回路１２には、ＢＩＳＴ端子６００が接続している。ＢＩＳＴ端子６００を介してテスタ２からＢＩＳＴ信号ＢＩがテスト制御回路１２に入力されると、テスト回路１０はＢＩＳＴを実行する。又、テスタ２から出力されたＢＩＳＴクロック信号ＣＫｂが、ＢＩＳＴクロック端子６０１を介してテスト制御回路１２に入力される。
【００１６】
又、テスト制御回路１２には、圧縮器１１、メモリ２０及びスキャンチェーン３０が接続している。そして、テスト制御回路１２から、圧縮器１１の動作を制御する制御信号ＣＮ１が圧縮器１１に出力される。又、テスト制御回路１２から、メモリ２０に書き込みデータＤＴ、アドレス信号ＡＤ及び制御信号ＣＮ２が出力される。更に、スキャンチェーン３０の動作を制御する制御信号ＣＮ３が、テスト制御回路１２からスキャンチェーン３０に出力される。
【００１７】
圧縮器１１の複数の入力端子にはメモリ２０の複数の出力端子がそれぞれ接続している。そして、メモリ２０から出力されたデータＤ１〜Ｄｎが圧縮器１１に入力される。
【００１８】
圧縮器１１の複数の出力端子には、セレクタ１３１〜１３ｎのそれぞれ一方の端子が接続している。セレクタ１３１〜１３ｎの出力端子には、フリップフロップ３１〜３ｎの入力端子がそれぞれ接続している。そして、圧縮器１１から出力されたデータＣ１〜Ｃｎは、セレクタ１３１〜１３ｎを介してフリップフロップ３１〜３ｎにそれぞれ出力される。セレクタ１３１〜１３ｎはテスト制御回路１２にそれぞれ接続され、テスト制御回路１２から出力されるデータ選択信号ＳＥｄに応じて、データＣ１〜ＣｎとデータＬ１〜Ｌｎのいずれかを選択する。データＬ１〜Ｌｎは、半導体チップ１上に集積化された図示を省略する論理回路から、セレクタ１３１〜１３ｎを介してフリップフロップ３１〜３ｎにそれぞれ出力されるデータである。半導体集積回路の通常動作では、セレクタ１３１〜１３ｎはデータＬ１〜Ｌｎを選択するよう設定される。
【００１９】
セレクタ１４には、テスト制御回路１２及び外部スキャンシフトイネーブル端子６０３が接続している。そして、テスト制御回路１２から出力されるＢＩＳＴシフトイネーブル信号ＥＮｂがセレクタ１４の一方の入力端子に入力される。一方、セレクタ１４の他方の入力端子に、外部スキャンシフトイネーブル端子６０３を介してテスタ２から出力される外部スキャンシフトイネーブル信号ＥＮｔが入力される。セレクタ１４の出力端子には、フリップフロップ３１〜３ｎ及び保存フリップフロップ３００を含むスキャンチェーン３０を構成するフリップフロップそれぞれ接続している。そして、セレクタ１４から出力されたシフトイネーブル信号ＥＮｓが、スキャンチェーン３０を構成するフリップフロップにそれぞれ入力される。セレクタ１４は、テスト制御回路１２から出力されるイネーブル選択信号ＳＥｅに応じて、ＢＩＳＴシフトイネーブル信号ＥＮｂ及び外部スキャンシフトイネーブル信号ＥＮｔのいずれかをシフトイネーブル信号ＥＮｓとして選択する。半導体集積回路の通常動作では、セレクタ１４は外部スキャンシフトイネーブル信号ＥＮｔを選択するように設定される。
【００２０】
ＡＮＤ回路１５には、外部クロック端子６０２及びテスト制御回路１２が接続している。そして、テスタ２から出力された外部クロック信号ＣＫｔが、外部クロック端子６０２を介してＡＮＤ回路１５に入力される。又、テスト制御回路１２から出力されたクロック制御信号ＣＫＣＮＴがＡＮＤ回路１５に入力される。ＡＮＤ回路１５の出力端子には、フリップフロップ３１〜３ｎがそれぞれ接続している。そして、ＡＮＤ回路１５から出力された第１シフトクロック信号ＣＫｓ1がフリップフロップ３１〜３ｎにそれぞれ入力される。
【００２１】
ＡＮＤ回路１６には、テスト制御回路１２及び外部クロック端子６０２が接続している。そして、ＢＩＳＴシフトイネーブル信号ＥＮｂと外部クロック信号ＣＫｔがＡＮＤ回路１６に入力される。ＡＮＤ回路１６の出力端子には、保存フリップフロップ３００がそれぞれ接続している。そして、ＡＮＤ回路１６から出力される第２シフトクロック信号ＣＫｓ2が、保存フリップフロップ３００に入力される。なお、図示を省略するが、フリップフロップ３１〜３ｎ及び保存フリップフロップ３００以外のスキャンチェーン３０を構成するフリップフロップに外部クロック信号ＣＫｔが入力される。
【００２２】
図２に、テスト制御回路１２の構成例を示す。図２に示すテスト制御回路１２は、制御部１２１、データ生成部１２２、アドレス生成部１２３及び制御信号生成部１２４を備える。
【００２３】
制御部１２１に、ＢＩＳＴ信号ＢＩ及びＢＩＳＴクロック信号ＣＫｂが入力される。そして、制御部１２１は、ＢＩＳＴクロック信号ＣＫｂに同期して、データ生成部１２２、アドレス生成部１２３及び制御信号生成部１２４の動作を制御する。
【００２４】
データ生成部１２２は書き込みデータＤＴを生成し、メモリ２０に出力する。アドレス生成部１２３はアドレス信号ＡＤを生成し、メモリ２０に出力する。メモリ２０は、図示を省略したメモリセルアレイを備え、入力されたアドレス信号ＡＤによってメモリセルアレイから一意に指定されるメモリセルにおいて、データの書き込み或いは読み出しが行われる。
【００２５】
制御信号生成部１２４は、メモリ２０のデータ書き込み動作及び読み出し動作を制御する制御信号ＣＮ２を生成し、メモリ２０に出力する。更に、制御信号生成部１２４は、スキャンチェーン３０にシフト動作させる制御信号ＣＮ３を生成し、スキャンチェーン３０に出力する。更に、制御信号生成部１２４は制御信号ＣＮ１を生成して、圧縮器１１に出力する。又、制御信号生成部１２４は、データ選択信号ＳＥｄ、クロック制御信号ＣＫＣＮＴ、ＢＩＳＴシフトイネーブル信号ＥＮｂ及びイネーブル選択信号ＳＥｅを生成する。
【００２６】
テスト制御回路１２はＢＩＳＴクロック信号ＣＫｂに同期して動作する。後述するように、テスト制御回路１２は、クロック制御信号ＣＫＣＮＴ、ＢＩＳＴシフトイネーブル信号ＥＮｂ及びイネーブル選択信号ＳＥｅによって、スキャンチェーン３０の動作を制御する。その結果、ＢＩＳＴクロック信号ＣＫｂに同期してＢＩＳＴが実行される。
【００２７】
図３に、圧縮器１１の例として、マルチインプットシグネチャレジスタ（ＭＩＳＲ）を示す。ＭＩＳＲは、圧縮対象のデータを並列に取り込む圧縮器である。図３は、８ビットのデータｄ１〜ｄ８がＭＩＳＲに入力される場合を示している。図３に示したＭＩＳＲは、レジスタ１０１〜１０８、及びレジスタ１０１〜１０８間にそれぞれ接続された排他的論理和（ＥＸＯＲ）回路１１１〜１１８を有する。ＭＩＳＲは、ＢＩＳＴクロック信号ＣＫｂに同期してシフト動作しながら、データｄ１〜ｄ８の圧縮を行う。
【００２８】
ＥＸＯＲ回路１１１にデータｄ１及びレジスタ１０８の出力が入力され、ＥＸＯＲ回路１１１の出力がレジスタ１０１に格納される。ＥＸＯＲ回路１１２にデータｄ２及びレジスタ１０１の出力が入力され、ＥＸＯＲ回路１１２の出力がレジスタ１０２に格納される。同様に、データｄ３〜ｄ８及びレジスタ１０２〜１０７の出力がＥＸＯＲ回路１１３〜１１８にそれぞれ入力され、ＥＸＯＲ回路１１３〜１１８の出力が、レジスタ１０４〜１０８にそれぞれ格納される。シフト動作することにより、レジスタ１０１〜１０８に格納されたデータが後段のＥＸＯＲ回路に順次出力される。又、レジスタ１０８の出力は、ＥＸＯＲ回路１１２、１１６、１１７にも入力される。
【００２９】
ＭＩＳＲによる圧縮では、先ずレジスタ１０１〜１０８をそれぞれ適当な値に初期化する。一般的には、レジスタ１０１〜１０８に「０」が格納される。その後、ＭＩＳＲは、ＢＩＳＴクロック信号ＣＫｂに同期してシフト動作しながら、被テスト回路から並列に出力されるデータｄ１〜ｄ８を取り込み、圧縮する。すべてのデータが入力された時点でレジスタ１０１〜１０８に格納されているビット列が圧縮結果となる。そして、圧縮結果と期待値を比較することにより、被テスト回路の良否判定を行う。このビット列を「シグネチャ」といい、圧縮による結果解析のプロセスを「シグネチャ解析」という。尚、圧縮されたビット列は最終段のレジスタ１０８から直列に出力されるか、或いはレジスタ１０１〜１０８から並列に出力される。
【００３０】
ｎビットのＭＩＳＲにおいて、圧縮による情報の欠落（エイリアス）により被テスト回路に存在する単独の故障が見逃される確率はおよそ1 / 2nである。そのため、例えばｎ＝１６或いはｎ＝３２等のようにｎが充分大きければ、エイリアスは無視してもよいレベルである。又、ＭＩＳＲの構造はシンプルである。そのため、ＭＩＳＲは圧縮器１１として採用可能である。図１に示した圧縮器１１は、圧縮結果であるデータＣ１〜Ｃｎを、ＭＩＳＲを構成する各レジスタから並列に出力する。
【００３１】
ただし、被テスト回路に複数の故障がある場合に、ＥＸＯＲ回路１１１〜１１８において故障情報が打ち消しあい、故障のないテスト結果データと同一になることがある。例えば、データｄ２に故障情報があった場合に、ＥＸＯＲ回路１１５においてデータｄ４の故障情報とデータｄ２の故障情報が圧縮されたデータの排他的論理和をとることにより、データｄ２及びデータｄ４の故障情報が打ち消しあう。その結果、故障が見逃される。そのため、以下に説明するように、ＢＩＳＴの途中で圧縮結果を読み出すことが故障を見逃さないために効果的である。
【００３２】
図１に示したテスト回路１０によってメモリ２０のテストを行う例を、図４のタイミングチャートを用いて説明する。ここで、ＢＩＳＴクロック信号ＣＫｂは、外部クロック信号ＣＫｔを４逓倍した信号である。又、イネーブル選択信号ＳＥｅにより、セレクタ１４はＢＩＳＴシフトイネーブル信号ＥＮｂを選択する。そのため、シフトイネーブル信号ＥＮｓとしてＢＩＳＴシフトイネーブル信号ＥＮｂがスキャンチェーン３０を構成するフリップフロップにそれぞれ入力される。又、データ選択信号ＳＥｄにより、セレクタ１３１〜１３ｎはデータＣ１〜Ｃｎを選択する。なお、図４（ｂ）に示した「ＭＩＳＲ」は、圧縮器１１内の複数レジスタの信号状態を表す。
【００３３】
図４のタイミングチャートの時刻ｔ１〜ｔ２の「ＢＩＳＴモード」において、ＢＩＳＴクロック信号ＣＫｂに同期して図１に示したメモリ２０のＢＩＳＴが実行され、メモリ２０から出力されたデータＤ１〜Ｄｎが圧縮器１１に入力される。そして圧縮器１１は、入力されたデータＤ１〜Ｄｎを、図３で説明した方法等により圧縮する。ただし、ＢＩＳＴモードでは、フリップフロップ３１〜３ｎの状態を変更させないように、クロック制御信号ＣＫＣＮＴをローレベルにする。そのため、第１シフトクロック信号ＣＫｓ1がローレベルに固定され、フリップフロップ３１〜３ｎは、入力動作及びシフト動作をしない。又、ＢＩＳＴシフトイネーブル信号ＥＮｂをローレベルにすることにより、シフトイネーブル信号ＥＮｓ及び第２シフトクロック信号ＣＫｓ2がローレベルに固定される。そのため、保存フリップフロップ３００も、入力動作及びシフト動作をしない。
【００３４】
次に、時刻ｔ２〜ｔ３の「転送モード」において、クロック制御信号ＣＫＣＮＴをハイレベルにする。そのため、ＡＮＤ回路１５を介して、外部クロック信号ＣＫｔが第１クロック信号ＣＫｓ1としてフリップフロップ３１〜３ｎに入力される。そして、フリップフロップ３１〜３ｎはデータＣ１〜Ｃｎを入力する。ただし、スキャンチェーン３０の動作を制御する外部クロック信号ＣＫｔの周期よりＢＩＳＴクロック信号ＣＫｂの周期の方が短いため、圧縮器１１にデータＤ１〜Ｄｎが入力されないようにメモリ２０及び圧縮器１１が制御される。つまり、メモリ２０の書き込み動作及び読み出し動作は中断され、データＤ１〜Ｄｎは圧縮器１１に入力されない。そのため、フリップフロップ３１〜３ｎの入力動作中に圧縮器１１の出力は変化せず、安全にデータＣ１〜Ｃｎがフリップフロップ３１〜３ｎに格納される。
【００３５】
次に、時刻ｔ３〜ｔ４の「シフトモード」において、ＢＩＳＴシフトイネーブル信号ＥＮｂがハイレベルになる。そのため、シフトイネーブル信号ＥＮｓがハイレベルになる。同時に、ＡＮＤ回路１６を介して、外部クロック信号ＣＫｔが第２クロック信号ＣＫｓ2として保存フリップフロップ３００に入力される。そのため、外部クロック信号ＣＫｔに同期して、スキャンチェーン３０が動作可能となる。テスト制御回路１２は、スキャンチェーン３０に制御信号ＣＮ３を出力し、スキャンチェーン３０をｎ回シフト動作させる。その結果、フリップフロップ３１〜３ｎに格納された圧縮結果が保存フリップフロップ３００に保存される。又、既に保存フリップフロップ３００に保存されていた圧縮結果は、スキャンアウト端子６１０側の保存フリップフロップ３００にシフトして保存される。そのため、次の圧縮結果をフリップフロップ３１〜３ｎに格納することができる。又、シフトモードでは、メモリ２０の書き込み動作及び読み出し動作が再開され、データＤ１〜Ｄｎが圧縮器１１に入力される。つまり、シフトモードでは、スキャンチェーン３０のシフト動作とＢＩＳＴが並行して実行される。
【００３６】
スキャンチェーン３０をｎ回シフト動作させた後、時刻ｔ４においてクロック制御信号ＣＫＣＮＴ及びＢＩＳＴシフトイネーブル信号ＥＮｂはローレベルになり、ＢＩＳＴモードに移行する。
【００３７】
以上に説明した方法により、ＢＩＳＴ中に圧縮結果のフリップフロップ３１〜３ｎへの格納を複数回実行することにより、故障の見逃しの発生を抑制することができる。その場合、スキャンチェーン３０に複数の圧縮結果が格納される。圧縮結果をフリップフロップ３１〜３ｎに格納するタイミングは、テスト制御回路１２に組み込んで設定してもよいし、設定用レジスタをテスト回路１０内に用意し、外部から設定できるようにしてもよい。テスト制御回路１２は、設定用レジスタを参照して、圧縮結果をフリップフロップ３１〜３ｎに格納するタイミングを設定する。保存フリップフロップ３００の数は、圧縮結果をスキャンチェーン３０に格納する回数に応じて設定される。
【００３８】
圧縮結果をフリップフロップ３１〜３ｎに格納する回数に係わらず、スキャンチェーン３０に格納された圧縮結果は、ＢＩＳＴ終了後にスキャンアウト端子６１０を介してテスタ２に出力される。即ち、半導体チップ１上に集積化された半導体集積回路をスキャンテストモードに切り替え、通常のシフト動作（スキャンシフト動作）を行うことにより、圧縮結果をテスタ２に出力する。そして、テスタ２により、圧縮結果と期待値を比較することにより、テスト対象のメモリ２０の良否を判定できる。
【００３９】
なお、上記の説明では、圧縮結果を１つのスキャンチェーン３０に格納する例を示したが、圧縮結果を複数のスキャンチェーンに格納してもよい。例えば、一本のスキャンチェーンを構成するフリップフロップの数が少ないために、すべての圧縮結果を格納できない場合には、圧縮結果を分割して複数のスキャンチェーンに格納する。
【００４０】
又、１つの半導体集積回路に複数のテスト対象のメモリ或いは複数のテスト回路が含まれる場合は、メモリ毎或いはテスト回路毎に別々のスキャンチェーンに圧縮結果をそれぞれ格納してもよい。又、複数の圧縮結果を１つのスキャンチェーンに格納してもよい。
【００４１】
以上に説明したように、本発明の第１の実施の形態に係るテスト回路１０では、ＢＩＳＴ実行中に、テスト制御回路１２によってスキャンチェーン３０の動作を制御し、スキャンチェーン３０にＢＩＳＴの圧縮結果を格納する。又、ＢＩＳＴと並行してスキャンチェーン３０のシフト動作を実行できる。そのため、ＢＩＳＴの中断、或いはスキャンチェーン３０のシフト動作を制御する外部クロック信号ＣＫｔに同期させてＢＩＳＴの実行速度を低下させることなく、スキャンチェーン３０に複数の圧縮結果を保存できる。つまり、図１に示したテスト回路１０によれば、ＢＩＳＴの途中で圧縮結果をテスタ２に出力する必要がないため、ＢＩＳＴに要する時間の増大を抑制できる。更に、半導体チップ１上に配置されているスキャンチェーン３０を利用するため、圧縮結果を保存するための新たな回路を用意する必要が無く、半導体集積回路の面積の増大を抑制できる。
【００４２】
（第２の実施の形態）
本発明の第２の実施の形態に係わるテスト回路１０Ａは、図５に示すように、圧縮器１１から出力される圧縮されたデータが、セレクタ１３０を介してフリップフロップ３１に入力される。つまり、図１に示したテスト回路１０は、フリップフロップ３１〜３ｎにデータＣ１〜Ｃｎを並列に出力するのに対し、図５に示すテスト回路１０Ａは、データＣ１〜Ｃｎをフリップフロップ３１のみにシリアルに出力する。例えば図３に示したＭＩＳＲがシフト動作することにより、レジスタ１０８に格納されていたデータＣ８からレジスタ１０１に格納されていたデータＣ１の順に、最終段のレジスタ１０８からデータＣ１〜Ｃ８が出力される。そして、スキャンチェーン３０Ａがスキャンチェーン３０の動作することにより、データＣ１〜Ｃｎがフリップフロップ３１〜３ｎに格納される。
【００４３】
そのため、図５に示すスキャンチェーン３０Ａは、フリップフロップ３１の前段にセレクタ１３０が配置されている点が図１に示したスキャンチェーン３０と異なる。セレクタ１３０の一方の入力にデータＣ１〜Ｃｎが入力され、他方の入力にセレクタ１３０の前段のフリップフロップの出力信号ＳＧが入力される。セレクタ１３０は、テスト制御回路１２から出力されるデータ選択信号ＳＥｄに応じて、データＣ１〜Ｃｎと出力信号ＳＧのいずれかを選択する。
【００４４】
又、図５に示したように、圧縮結果を格納するフリップフロップ３１〜３ｎ及び保存フリップフロップ３００に共通シフトクロック信号ＣＫｓが入力される。共通シフトクロック信号ＣＫｓは、ＡＮＤ回路１６から出力される。ＡＮＤ回路１６にＢＩＳＴシフトイネーブル信号ＥＮｂと外部クロック信号ＣＫｔが入力される点は、テスト回路１０と同様である。そのため、テスト回路１０Ａには、第１シフトクロックＣＫｓ1を出力するＡＮＤ回路１５がない点が図１のテスト回路１０と異なる。したがって、テスト制御回路１２は、クロック制御信号ＣＫＣＮＴを出力しない。
【００４５】
図５に示したテスト回路１０Ａによってメモリ２０のテストを行う例を、図６のタイミングチャートを用いて説明する。ここで、ＢＩＳＴクロック信号ＣＫｂは、外部クロック信号ＣＫｔを４逓倍した信号であるとする。又、イネーブル選択信号ＳＥｅにより、セレクタ１４はＢＩＳＴシフトイネーブル信号ＥＮｂを選択する。そのため、シフトイネーブル信号ＥＮｓとして、ＢＩＳＴシフトイネーブル信号ＥＮｂがスキャンチェーン３０を構成するフリップフロップにそれぞれ入力される。又、データ選択信号ＳＥｄにより、セレクタ１３０はデータＣ１〜Ｃｎを選択する。
【００４６】
図６のタイミングチャートの時刻ｔ１〜ｔ２の「ＢＩＳＴモード」において、図４で説明したＢＩＳＴモードと同様にして、ＢＩＳＴが実行される。即ち、圧縮器１１が、メモリ２０から出力されたデータＤ１〜Ｄｎを圧縮する。ＢＩＳＴは、ＢＩＳＴクロック信号ＣＫｂに同期して実行される。ただし、ＢＩＳＴシフトイネーブル信号ＥＮｂをローレベルにすることにより、シフトイネーブル信号ＥＮｓ及び共通シフトクロック信号ＣＫｓがローレベルに固定される。そのため、フリップフロップ３１〜３ｎ及び保存フリップフロップ３００は、入力動作及びシフト動作をしない。
【００４７】
次に、時刻ｔ２〜ｔ３の「シフトモード」において、ＢＩＳＴシフトイネーブル信号ＥＮｂをハイレベルにすることにより、シフトイネーブル信号ＥＮｓがハイレベルになり、外部クロック信号ＣＫｔが共通シフトクロック信号ＣＫｓとしてフリップフロップ３１〜３ｎ及び保存フリップフロップ３００に入力される。そのため、フリップフロップ３１〜３ｎ及び保存フリップフロップ３００は、入力動作及びシフト動作を行う。又、圧縮器１１が外部クロック信号ＣＫｔに同期してシフト動作を行い、データＣ１〜Ｃｎが圧縮器１１から出力される。その結果、データＣ１〜ＣｎがデータＣｎからデータＣ１の順にフリップフロップ３１に入力される。テスト制御回路１２から出力される制御信号ＣＮ３の制御により、スキャンチェーン３０Ａがｎ回シフト動作することにより、データＣ１〜Ｃｎはフリップフロップ３１〜３ｎに格納される。又、既に保存フリップフロップ３００に保存されていた圧縮結果は、スキャンアウト端子６１０側の保存フリップフロップ３００にシフトして保存される。又、スキャンチェーン３０Ａの動作を制御する外部クロック信号ＣＫｔの周期よりＢＩＳＴクロック信号ＣＫｂの周期の方が短いため、シフトモード中はメモリ２０の書き込み動作及び読み出し動作は中断され、データＤ１〜Ｄｎは圧縮器１１に入力されない。そのため、圧縮器１１の出力は変化せず、安全にデータＣ１〜Ｃｎがフリップフロップ３１〜３ｎに格納される。
【００４８】
スキャンチェーン３０Ａをｎ回シフト動作させた後、ＢＩＳＴシフトイネーブル信号ＥＮｂはローレベルになり、ＢＩＳＴモードに移行する。ＢＩＳＴ終了後に、スキャンチェーン３０に格納された圧縮結果はテスタ２に出力される。そして、テスタ２により圧縮結果と期待値を比較することにより、テスト対象のメモリ２０の良否を判定できる。
【００４９】
以上に説明したように、図５に示したテスト回路１０Ａでは、シフトモード中はＢＩＳＴを中断する。しかし、図１に示したテスト回路１０が有するセレクタ１３１〜１３ｎを必要としないため、通常動作時の半導体集積回路の性能を損なわない。つまり、半導体集積回路がセレクタ１３１〜１３ｎを介さずにデータＬ１〜Ｌｎをフリップフロップ３１〜３ｎに出力するため、半導体集積回路の通常動作での動作速度の低下を抑制できる。他は、第１の実施の形態と実質的に同様であり、重複した記載を省略する。
【００５０】
上記のように、本発明は第１及び第２の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【００５１】
【図１】本発明の第１の実施の形態に係るテスト回路の構成を示す模式図である。
【図２】本発明の第１の実施の形態に係るテスト回路制御回路の構成を示す模式図である。
【図３】本発明の第１の実施の形態に係る圧縮器の構成例を示す模式図である。
【図４】本発明の第１の実施の形態に係るテスト回路の動作を説明するためのタイミングチャートである。
【図５】本発明の第２の実施の形態に係るテスト回路の構成を示す模式図である。
【図６】本発明の第２の実施の形態に係るテスト回路の動作を説明するためのタイミングチャートである。
【符号の説明】
【００５２】
１…半導体チップ
１０、１０Ａ…テスト回路
１１…圧縮器
１２…テスト制御回路
２０…メモリ
３０、３０Ａ…スキャンチェーン
【図１】
2006258703.tif 000003
【図２】
2006258703.tif 000004
【図３】
2006258703.tif 000005
【図４】
2006258703.tif 000006
【図５】
2006258703.tif 000007
【図６】
2006258703.tif 000008