(57)【要約】【課題】ピン数を削減したうえで、設計の自由度が高く、また、テスト時間が短い半導体テスト回路及びＩＣチップを提供すること。【解決手段】本発明の半導体テスト回路は、デジタル回路の故障検知を行うテストモードを有する半導体テスト回路である。複数のフリップフロップ１２ａ〜１２ｃは、スキャンイネーブル信号に基づいて、通常動作とスキャンデータ信号が入力されるシフトレジスタを構成するスキャン動作とを選択する選択回路を有する。組み合わせ回路１１は、スキャンデータ信号が入力されて複数のフリップフロップへ出力する。カウンタ１３は、スキャンデータ信号が入力されてスキャンイネーブル信号を出力する。【選択図】図８
2015184265.tif 000002
【特許請求の範囲】
【請求項１】
デジタル回路の故障検知を行うテストモードを有する半導体テスト回路において、
スキャンイネーブル信号に基づいて、通常動作とスキャンデータ信号が入力されるシフトレジスタを構成するスキャン動作とを選択する選択回路を有する複数のフリップフロップ（１２ａ〜１２ｃ）と、
前記スキャンデータ信号が入力されて前記複数のフリップフロップへ出力する組み合わせ回路（１１）と、
前記スキャンデータ信号が入力されて前記スキャンイネーブル信号を出力するカウンタ（１３）と、
を備える半導体テスト回路。
【請求項２】
前記スキャンデータ信号は、前記複数のフリップフロップがスキャンクロックに同期して取り込むデータ信号と、前記複数のフリップフロップに入力されるスキャンクロックが配されない区間に配されるカウンタ制御信号と、を有し、
前記カウンタにおいて、前記カウンタ制御信号により、前記スキャンイネーブル信号が制御される請求項１に記載の半導体テスト回路。
【請求項３】
前記スキャンデータ信号は、前記複数のフリップフロップがスキャンクロックに同期して取り込むデータ信号と、前記複数のフリップフロップに入力されるスキャンクロックが配されない区間に配されるカウンタ制御信号と、を有し、
前記カウンタにおいて、前記カウンタ制御信号により、前記スキャンイネーブル信号が立ち上がる又は立ち下がる請求項１又は２に記載の半導体テスト回路。
【請求項４】
前記カウンタは、前記スキャンデータ信号と前記スキャンクロック信号が入力され、状態遷移するカウンタである請求項２又は３に記載の半導体テスト回路。
【請求項５】
前記カウンタは、少なくとも４つの状態を遷移し、
前記データ信号と前記スキャンクロック信号により、第１の状態と第２の状態の遷移を繰り返し、また、第３の状態と第４の状態の遷移を繰り返し、
前記カウンタ制御信号により、前記第１の状態又は前記第２の状態から、前記第３の状態又は第４の状態への遷移、または、前記第３の状態又は前記第４の状態から、前記第１の状態又は第２の状態への遷移を行い、
前記第１の状態又は前記第２の状態に対応するカウント値が通常動作に対応する前記イネーブル信号であり、前記第３の状態又は前記第４の状態に対応するカウント値がスキャン動作に対応する前記イネーブル信号である請求項４に記載の半導体テスト回路。
【請求項６】
前記カウンタは、前記スキャンクロック信号により、第１の状態又は第２の状態から第１の状態へリセットする遷移を行い、及び、第３の状態又は第４の状態から第３の状態へリセットする遷移を行う請求項５に記載の半導体テスト回路。
【請求項７】
前記カウンタは、２ｂｉｔバイナリカウンタであり、
前記スキャンイネーブル信号は、前記カウンタのカウント値のＭＳＢ又はＬＳＢである請求項１〜６のいずれか一項に記載の半導体テスト回路。
【請求項８】
複数のフリップフロップと組み合わせ回路とを有するデジタルブロックを、スキャンクロックと、スキャンデータ信号と、スキャンイネーブル信号と、によりスキャンテストを行うＩＣチップであって、
スキャンクロックが入力される第１のＰＡＤ（ＳＣＡＮＣＬＫ）と、
スキャンデータ信号が入力される第２のＰＡＤ（ＳＣＡＮＩＮ）と、
前記第２のＰＡＤに接続され、前記スキャンデータ信号から前記スキャンイネーブル信号を出力するカウンタと、
を備えるＩＣチップ。
【請求項９】
前記カウンタのクロックラインに、前記第２のＰＡＤが接続され、
前記カウンタの第１のリセットラインに、前記第１のＰＡＤが論理素子を介して接続される請求項８に記載のＩＣチップ。
【請求項１０】
前記スキャンデータ信号は、前記複数のフリップフロップがスキャンクロックに同期して取り込むデータ信号と、前記複数のフリップフロップに入力されるスキャンクロックが配されない区間に配されるパルス信号と、を有する請求項８又は９に記載のＩＣチップ。
【請求項１１】
前記データ信号を前記複数のフリップフロップに、前記スキャンクロックに同期して設定するために順次データが入力された後、次にスキャンクロックが配されるまでの間に、前記パルス信号が配される請求項１０に記載のＩＣチップ。
【請求項１２】
前記次のスキャンクロックが配された後、別のデータ信号を前記複数のフリップフロップに、前記スキャンクロックに同期して設定するために順次データが入力されるまでの間に、前記パルス信号が配される請求項１１に記載のＩＣチップ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体テスト回路及びＩＣチップに関し、より詳細には、スキャンデータが入力されるＳＣＡＮＩＮとスキャンイネーブル信号が入力されるＳＣＡＮＥＮＢを、同一ピンとした半導体テスト回路及びＩＣチップに関する。
【背景技術】
【０００２】
ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ；大規模集積回路）のデジタルブロックは、一般に組み合わせ回路とＦｌｉｐ  Ｆｌｏｐ（ＦＦ）による順序回路から構成されている。
図１は、一般的なＬＳＩ回路の例を示す回路構成図である。入力ピンＤＡＴＡＩＮと、出力ピンＤＡＴＡＯＵＴと、ＦＦのリセット用ピンＲＳＴと、ＦＦのＣＬＫ用ピンＳｙｓｔｅｍＣＬＫをピンとして有している。ＦＦＡ２ａ、ＦＦＢ２ｂ、ＦＦＣ２ｃは、ＳｙｓｔｅｍＣＬＫで動作するＦＦである。それぞれのＦＦの入力ＤＡ、ＤＢ、ＤＣは、組み合わせ回路１の出力ＯＡ、ＯＢ、ＯＣと接続し、ＦＦの出力ＱＡ、ＱＢ、ＱＣとＤＡＴＡＩＮピンは組み合わせ回路の入力ＩＮＡ、ＩＮＢ、ＩＮＣ、ＩＮＤに接続されるように構成された回路である。
【０００３】
一般に、ＬＳＩのテストは、回路中の全ＦＦをＭＵＸ付きのＦＦに置き換え、そのＭＵＸのセレクト信号により全ＦＦをシフトレジスタ回路にする「ＳＣＡＮ動作」を出来るようにしている。これをＳＡＣＮ化という。
ＳＣＡＮ化された回路は、ＳＣＡＮ動作により、回路中の任意のノードに任意の値を設定できる制御と（ｃｏｎｔｒｏｌ）、回路中の任意のノードの値を出力できる（ｏｂｓｅｒｖｅ）観測が自由となる。つまり、回路中の組み合わせ回路等に自由な値を設定し、その出力をモニタすることによって、故障検出率の高いテストを行うことができる。
【０００４】
このＳＣＡＮテストを行うためには、例えば、以下の外部入力ピンを必要とする。
ＳＣＡＮＩＮ：ＳＣＡＮデータの入力ピン
ＳＣＡＮＥＮＢ：ＳＣＡＮパスと通常パスを切り替える入力ピン
ＳＣＡＮＣＬＫ：ＳＣＡＮ回路のＣＬＫ
ＳＣＡＮＯＵＴ：ＳＣＡＮ回路の出力ピン
ＳＣＡＮＲＳＴ：ＳＣＡＮ回路のリセットピン
ＴＥＳＴＭＯＤＥ：ＳＣＡＮテストの許可ピン
【０００５】
図２は、図１に示したＳＣＡＮ化した回路構成図で、ＳＣＡＮテストを可能にした回路構成図である。入力ピンＳＣＡＮＩＮと、出力ピンＳＣＡＮＯＵＴと、ＦＦのリセット用ピンＳＣＡＮＲＳＴと、ＦＦの通常ＣＬＫ用ピンＳｙｓｔｅｍＣＬＫと、ＦＦのＳＣＡＮテストＣＬＫ用ピンＳＣＡＮＣＬＫと、ＳＣＡＮパスと通常パスの切り替えピンＳＣＡＮＥＮＢと、ＳＣＡＮテストの許可ピンＴＥＴＳＭＯＤＥをピンとして有している。組み合わせ回路１は、図１と同様である。
【０００６】
全ＦＦは、図１からＭＵＸ付のＦＦに変わり、そのセレクタ信号はＳＣＡＮＥＮＢとＴＥＴＳＭＯＤＥのＡＮＤ出力となる。このＡＮＤ１はＴＥＳＴＭＯＤＥが０のとき、つまり、ＳＣＡＮテストモードではないときに、ＦＦの入力が誤選択されないように保護するためである。以下、ＴＥＳＴＭＯＤＥが１のときを考えると、ＦＦのセレクタは、ＳＣＡＮＥＮＢが０のときは、図１と同様のパスとなり、ＳＣＡＮＥＮＢが１のときは、全ＦＦがＳＣＡＮＩＮからＳＣＡＮＯＵＴまでのシフトレジスタとして動作する。
【０００７】
図３は、図２に示した回路における一般的なＳＣＡＮテスト動作について説明するためのタイミングチャートを示す図である。前提としてＴＥＳＴＭＯＤＥは１とする。
（１）；ＳＣＡＮＥＮＢを１にして全ＦＦをＳＣＡＮ動作可能にする。
（２）；全ＦＦに所望の値をＳＣＡＮ動作によりセットする（図３ではＦＦＡ、；ＦＦＢ、ＦＦＢにそれぞれＤＡ１、ＤＢ１、ＤＣ１をセットしている）。
（３）；ＳＣＡＮＥＮＢを０にして通常パスに戻す。
（４）；ＳＣＡＮＣＬＫから１ＣＬＫ入力し、通常パスの出力（＝組み合わせ回路の出力）を各ＦＦに取り込む（図３ではＦＦＡ、ＦＦＢ、ＦＦＢにそれぞれ組み合わせ回路出力のＯＡ１、ＯＢ１、ＯＣ１が取り込まれる）。
（５）；ＳＣＡＮＥＮＢを１にして全ＦＦをＳＣＡＮ動作可能にする。
（６）；ＳＣＡＮＣＬＫを入力して全ＦＦの値（ＯＡ１、ＯＢ１、ＯＣ１）をＳＣＡＮＯＵＴから出力しモニタする（この際同時に全ＦＦに次の所望の値ＤＡ２、ＤＢ２、ＤＣ２をセットする）。
（７）；上記（３）〜（６）を繰り返す。
以上が一般的なスキャン化した回路のテスト動作である。
【０００８】
例えば、特許文献１では、ピン数の少ないＬＳＩでもＳＣＡＮテストを可能にするために、ＳＣＡＮＩＮとＳＣＡＮＥＮＢを共通化する方法を提案している。
図４は、特許文献１に記載されているＳＣＡＮテストを可能にした回路構成図である。以下のような特徴を有している。
ＳＣＡＮ回路はＳＣＡＮＣＬＫの正転信号をＣＬＫとする。  
ＳＣＡＮＩＮをデータ、ＳＣＡＮＣＬＫの反転信号をＣＬＫ入力としたＦＦであるＦＦＥＮＢ３の出力をＳＣＡＮＥＮＢとする。
【０００９】
図５は、図４に示したＳＣＡＮテスト動作を説明するためのタイミングチャートを示す図である。前提としてＴＥＳＴＭＯＤＥは１とする。
（１）；ＳＣＡＮＣＬＫが１のときにＳＣＡＮＩＮを１にする。
（２）；ＳＣＡＮＣＬＫの立ち下がりＥｄｇｅでＳＣＡＮＩＮからＳＣＡＮＥＮＢ用ＦＦであるＦＦＥＮＢに１を取り込むことでＳＣＡＮ動作を可能にする。
（３）；ＳＣＡＮＣＬＫが０のときにＳＣＡＮＩＮを所望の値にする。
（４）；ＳＣＡＮＣＬＫの立ち上がりＥｄｇｅでＳＣＡＮＩＮからＳＣＡＮ化されたＦＦＡに所望の値を取り込む（図５ではＦＦＡにＤＣ１をセットしている）。
（５）；ＳＣＡＮＣＬＫが１のときにＳＣＡＮＩＮを１にする。
【００１０】
（６）；ＳＣＡＮＣＬＫの立ち下がりＥｄｇｅでＳＣＡＮＩＮからＳＣＡＮＥＮＢ用ＦＦであるＦＦＥＮＢに１を取り込むことで引き続きＳＣＡＮ動作を可能にする。
（７）；上記（３）〜（６）を繰り返し全ＦＦに所望の値をセットする（図５ではＦＦＡ、ＦＦＢ、ＦＦＢにそれぞれＤＡ１、ＤＢ１、ＤＣ１をセットしている）。
（８）；ＳＣＡＮＣＬＫが１のときにＳＣＡＮＩＮを０にする。
（９）；ＳＣＡＮＣＬＫの立ち下がりＥｄｇｅでＳＣＡＮＩＮからＳＣＡＮＥＮＢ用ＦＦであるＦＦＥＮＢに０を取り込むことで通常パスに戻す。
（１０）ＳＣＡＮＣＬＫの立ち上がりＥｄｇｅで、通常パスの出力（＝組み合わせ回路の出力）を各ＦＦに取り込む（図５ではＦＦＡ、ＦＦＢ、ＦＦＢにそれぞれ組み合わせ回路出力のＯＡ１、ＯＢ１、ＯＣ１が取り込まれる）。
【００１１】
（１１）；ＳＣＡＮＣＬＫが１のときにＳＣＡＮＩＮを１にする。
（１２）；ＳＣＡＮＣＬＫの立ち下がりＥｄｇｅでＳＣＡＮＩＮからＳＣＡＮＥＮＢ用ＦＦであるＦＦＥＮＢに１を取り込むことでＳＣＡＮ動作を可能にする。
（１３）；ＳＣＡＮＣＬＫを入力して全ＦＦの値（ＯＡ１、ＯＢ１、ＯＣ１）をＳＣＡＮＯＵＴから出力しモニタする（この際同時に全ＦＦに次の所望の値ＤＡ２、ＤＢ２、ＤＣ２をセットする。ＳＣＡＮＥＮＢは１のままになるようにしておく）。
（１４）；上記（８）〜（１２）を繰り返す。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】米国特許第７３８０１８５号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１３】
上述した特許文献１により、ＳＣＡＮＩＮとＳＣＡＮＥＮＢを共用してＳＣＡＮテストが可能になる。しかし、通常のＳＣＡＮテストでは、ＳＣＡＮ回路は、ＳＣＡＮＣＬＫの立ち上がりと立下りＥｄｇｅで動作するＦＦが混在してもよいが、上述した従来の手法では、ＳＣＡＮＥＮＢは、ＳＣＡＮＣＬＫの立下りＥｄｇｅで生成するため、ＳＣＡＮ回路は、必ずＳＣＡＮＣＬＫの立ち上がりＥｄｇｅで動作する必要があり、設計の自由度がない。また、立ち上がりＥｄｇｅ（ＳＣＡＮ用）と立下りＥｄｇｅ（ＳＣＡＮＥＮＢ用）のＦＦが混在しているため、それぞれのＦＦのセットアップタイムとホールドタイムを確保する必要があり、ＳＣＡＮＣＬＫ周波数を挙げることができず、テスト時間の短縮ができない。
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、設計の自由度が高く、また、テスト時間が短い半導体テスト回路及びＩＣチップを提供することにある。
【課題を解決するための手段】
【００１４】
本発明は、このような目的を達成するためになされたもので、請求項１に記載の発明は、デジタル回路の故障検知を行うテストモードを有する半導体テスト回路において、スキャンイネーブル信号に基づいて、通常動作とスキャンデータ信号が入力されるシフトレジスタを構成するスキャン動作とを選択する選択回路を有する複数のフリップフロップ（１２ａ〜１２ｃ）と、前記スキャンデータ信号が入力されて前記複数のフリップフロップへ出力する組み合わせ回路（１１）と、前記スキャンデータ信号が入力されて前記スキャンイネーブル信号を出力するカウンタ（１３）と、を備えることを特徴とする。
【００１５】
また、請求項２に記載の発明は、請求項１に記載の発明において、前記スキャンデータ信号は、前記複数のフリップフロップがスキャンクロックに同期して取り込むデータ信号と、前記複数のフリップフロップに入力されるスキャンクロックが配されない区間に配されるカウンタ制御信号と、を有し、前記カウンタにおいて、前記カウンタ制御信号により、前記スキャンイネーブル信号が制御されることを特徴とする。
また、請求項３に記載の発明は、請求項１又は２に記載の発明において、前記スキャンデータ信号は、前記複数のフリップフロップがスキャンクロックに同期して取り込むデータ信号と、前記複数のフリップフロップに入力されるスキャンクロックが配されない区間に配されるカウンタ制御信号と、を有し、前記カウンタにおいて、前記カウンタ制御信号により、前記スキャンイネーブル信号が立ち上がる又は立ち下がることを特徴とする。
【００１６】
また、請求項４に記載の発明は、請求項２又は３に記載の発明において、前記カウンタは、前記スキャンデータ信号と前記スキャンクロック信号が入力され、状態遷移するカウンタであることを特徴とする。
また、請求項５に記載の発明は、請求項４に記載の発明において、前記カウンタは、少なくとも４つの状態を遷移し、前記データ信号と前記スキャンクロック信号により、第１の状態と第２の状態の遷移を繰り返し、また、第３の状態と第４の状態の遷移を繰り返し、前記カウンタ制御信号により、前記第１の状態又は前記第２の状態から、前記第３の状態又は第４の状態への遷移、または、前記第３の状態又は前記第４の状態から、前記第１の状態又は第２の状態への遷移を行い、前記第１の状態又は前記第２の状態に対応するカウント値が通常動作に対応する前記イネーブル信号であり、前記第３の状態又は前記第４の状態に対応するカウント値がスキャン動作に対応する前記イネーブル信号であることを特徴とする。
【００１７】
また、請求項６に記載の発明は、請求項５に記載の発明において、前記カウンタは、前記スキャンクロック信号により、第１の状態又は第２の状態から第１の状態へリセットする遷移を行い、及び、第３の状態又は第４の状態から第３の状態へリセットする遷移を行うことを特徴とする。
また、請求項７に記載の発明は、請求項１〜６のいずれか一項に記載の発明において、前記カウンタは、２ｂｉｔバイナリカウンタであり、前記スキャンイネーブル信号は、前記カウンタのカウント値のＭＳＢ又はＬＳＢであることを特徴とする。
【００１８】
また、請求項８に記載の発明は、複数のフリップフロップと組み合わせ回路とを有するデジタルブロックを、スキャンクロックと、スキャンデータ信号と、スキャンイネーブル信号と、によりスキャンテストを行うＩＣチップであって、スキャンクロックが入力される第１のＰＡＤ（ＳＣＡＮＣＬＫ）と、スキャンデータ信号が入力される第２のＰＡＤ（ＳＣＡＮＩＮ）と、前記第２のＰＡＤに接続され、前記スキャンデータ信号から前記スキャンイネーブル信号を出力するカウンタと、を備えることを特徴とする。
【００１９】
また、請求項９に記載の発明は、請求項８に記載の発明において、前記カウンタのクロックラインに、前記第２のＰＡＤが接続され、前記カウンタの第１のリセットラインに、前記第１のＰＡＤが論理素子を介して接続されることを特徴とする。
また、請求項１０に記載の発明は、請求項８又は９に記載の発明において、前記スキャンデータ信号は、前記複数のフリップフロップがスキャンクロックに同期して取り込むデータ信号と、前記複数のフリップフロップに入力されるスキャンクロックが配されない区間に配されるパルス信号と、を有することを特徴とする。
【００２０】
また、請求項１１に記載の発明は、請求項１０に記載の発明において、前記データ信号を前記複数のフリップフロップに、前記スキャンクロックに同期して設定するために順次データが入力された後、次にスキャンクロックが配されるまでの間に、前記パルス信号が配されることを特徴とする。
また、請求項１２に記載の発明は、請求項１１に記載の発明において、前記次のスキャンクロックが配された後、別のデータ信号を前記複数のフリップフロップに、前記スキャンクロックに同期して設定するために順次データが入力されるまでの間に、前記パルス信号が配されることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、ピン数を削減したうえで、設計の自由度が高く、また、テスト時間が短い半導体テスト回路及びＩＣチップを実現することができる。
【図面の簡単な説明】
【００２２】
【図１】一般的なＬＳＩ回路の例を示す回路構成図である。
【図２】図１に示したＳＣＡＮ化した回路構成図である。
【図３】図２に示した回路における一般的なＳＣＡＮテスト動作について説明するためのタイミングチャートを示す図である。
【図４】特許文献１に記載されているＳＣＡＮテストを可能にした回路構成図である。
【図５】図４に示したＳＣＡＮテスト動作を説明するためのタイミングチャートを示す図である。
【図６】本発明に係るシフトレジスタ回路の回路構成図である。
【図７】図６に示したシフトレジスタ回路の動作を説明するためのタイミングチャートを示す図である。
【図８】本発明に係る半導体テスト回路の実施例１を説明するための回路構成図である。
【図９】図８に示したカウンタの状態遷移図である。
【図１０】図８に示したＳＣＡＮテスト動作を説明するためのタイミングチャートを示す図である。
【図１１】本発明に係る半導体テスト回路の実施例２を説明するための回路構成図である。
【図１２】図１１に示したカウンタの状態遷移図である。
【図１３】図１１に示したＳＣＡＮテスト動作を説明するためのタイミングチャートを示す図である。
【図１４】本発明に係る半導体テスト回路の実施例３を説明するための回路構成図である。
【図１５】図１４に示したカウンタの状態遷移図である。
【図１６】図１４に示したＳＣＡＮテスト動作を説明するためのタイミングチャートを示す図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照して本発明の実施の形態について説明する。  
図６は、本発明に係るシフトレジスタ回路の回路構成図で、図７は、図６に示したシフトレジスタ回路の動作を説明するためのタイミングチャートを示す図である。図中符号１２ａ，１２ｂ，１２ｃは第１乃至第３のフリップフロップ（ＦＦＡ、ＦＦＢ、ＦＦＣ）を示している。
本実施形態の半導体テスト回路は、ＳＣＡＮＩＮをＣＬＫとするカウンタを用いて、そのカウンタ値をＳＣＡＮＥＮＢとすることにより、ＳＣＡＮＩＮとＳＣＡＮＥＮＢを同一ピンで制御できるため、ピン数の削減ができることを特徴とする。また、カウンタを用いることで、設計の自由度が高く、また、テスト時間が短いテストが可能となる。
【００２４】
［実施形態］
本実施形態は、ＳＣＡＮＩＮとＳＣＡＮＥＮＢを共用するために、ＳＣＡＮＥＮＢをＳＣＡＮＣＬＫではなくＳＣＡＮＩＮをＣＬＫとしたカウンタの値とすることを特徴とする。
以下に、基本原理について説明する。  
ＳＣＡＮ動作は、ＳＣＡＮＣＬＫのＥｄｇｅでＳＣＡＮＩＮを取り込みシフトレジスタ動作する。図６及び図７に示すように、ＳＣＡＮＣＬＫのＥｄｇｅ以外では、ＳＣＡＮＩＮは、どのように変化してもＦＦに取り込む値は変わらない。よって、ＳＣＡＮＣＬＫのＥｄｇｅの前にＳＣＡＮＩＮにパルスを発生させ、そのＳＣＡＮＩＮをＣＬＫとするカウンタを用意し、そのカウンタ値をもってＳＣＡＮＥＮＢを生成する。
【実施例１】
【００２５】
図８は、本発明に係る半導体テスト回路の実施例１を説明するための回路構成図で、ＳＣＡＮＩＮとＳＣＡＮＥＮＢとを共通化したＳＣＡＮテストを可能にした回路構成図である。図中符号１１は組み合わせ回路、１３はカウンタを示している。なお、図６と同じ機能を有する構成要素には同一に符号を付してある。
本発明の半導体テスト回路は、デジタル回路の故障検知を行うテストモードを有する半導体テスト回路である。
複数のフリップフロップ１２ａ〜１２ｃは、スキャンイネーブル信号に基づいて、通常動作とスキャンデータ信号が入力されるシフトレジスタを構成するスキャン動作とを選択する選択回路を有する。
【００２６】
組み合わせ回路１１は、スキャンデータ信号が入力されて複数のフリップフロップへ出力する。カウンタ１３は、スキャンデータ信号が入力されてスキャンイネーブル信号を出力する。
また、スキャンデータ信号は、複数のフリップフロップがスキャンクロックに同期して取り込むデータ信号と、複数のフリップフロップに入力されるスキャンクロックが配されない区間に配されるカウンタ制御信号と、を有し、カウンタにおいて、カウンタ制御信号により、スキャンイネーブル信号が制御される。
【００２７】
また、スキャンデータ信号は、複数のフリップフロップがスキャンクロックに同期して取り込むデータ信号と、複数のフリップフロップに入力されるスキャンクロックが配されない区間に配されるカウンタ制御信号と、を有し、カウンタにおいて、カウンタ制御信号により、スキャンイネーブル信号が立ち上がる又は立ち下がる。
また、カウンタ１３は、スキャンデータ信号とスキャンクロック信号が入力され、状態遷移するカウンタである。
また、カウンタ１３は、少なくとも４つの状態を遷移し、データ信号とスキャンクロック信号により、第１の状態と第２の状態の遷移を繰り返し、また、第３の状態と第４の状態の遷移を繰り返し、カウンタ制御信号により、第１の状態又は第２の状態から、第３の状態又は第４の状態への遷移、または、第３の状態又は第４の状態から、第１の状態又は第２の状態への遷移を行い、第１の状態又は第２の状態に対応するカウント値が通常動作に対応するイネーブル信号であり、第３の状態又は第４の状態に対応するカウント値がスキャン動作に対応するイネーブル信号である。
【００２８】
また、カウンタ１３は、スキャンクロック信号により、第１の状態又は第２の状態から第１の状態へリセットする遷移を行い、及び、第３の状態又は第４の状態から第３の状態へリセットする遷移を行う。
また、カウンタ１３は、２ｂｉｔバイナリカウンタであり、スキャンイネーブル信号は、カウンタのカウント値のＭＳＢ（最上位ビット）である。なお、ＬＳＢ（最下位ビット）をスキャンイネーブル信号とする構成であってもよい。
ＳＣＡＮ回路が、ＳＣＡＮＣＬＫの立ち上がりＥｄｇｅで動作するときの新回路の例を図８に示している。ＳＣＡＮＥＮＢを、ＳＣＡＮＩＮをＣＬＫとしたカウンタの出力とするように構成する。
【００２９】
図９は、図８に示したカウンタの状態遷移図である。ＳＣＡＮＣＬＫが０のとき、ＳＣＡＮＩＮの立ち上がりＥｄｇｅで２進数表記で００⇒０１⇒１０⇒１１⇒００⇒…と動作する２ｂｉｔバイナリカウンタであり、そのＭＳＢをＳＣＡＮＥＮＢとして構成する。つまり、カウンタが２進数表記で００，０１の時は、ＳＣＡＮＥＮＢが０に、カウンタが２進数表記で１０，１１のときは、ＳＣＡＮＥＮＢが１となる。また、ＳＣＡＮＣＬＫが１のときは、カウンタのＬＳＢが０になるようにリセットさせる。
図１０は、図８に示したＳＣＡＮテスト動作を説明するためのタイミングチャートを示す図である。
【００３０】
（１）；ＳＣＡＮＣＬＫが０のときにＳＣＡＮＩＮから２発パルスを入れることでカウンタを２進数表記で００⇒０１⇒１０とし、ＳＣＡＮＥＮＢを１にして全ＦＦをＳＣＡＮ動作可能にする。
（２）；ＳＣＡＮＣＬＫが０のときにＳＣＡＮＩＮを所望の０または１にする（図９では１にセットしている。この際カウンタは２進数表記で１１となる）。
（３）；ＳＣＡＮＣＬＫを入れてＦＦＡに所望の値を取り込む（図９では１をとりこむ。このときカウンタはＳＣＡＮＣＬＫが１のためＬＳＢがリセットされ必ず２進数表記で１０になる）。
【００３１】
（４）；（２），（３）を繰り返し全ＦＦに所望の値をセットする（図９ではＦＦＡ、ＦＦＢ、ＦＦＢにそれぞれ１、０、１をセットしている）。
（５）；ＳＣＡＮＣＬＫが０のときにＳＣＡＮＩＮから２発パルスを入れることでカウンタを２進数表記で１０⇒１１⇒００とし、ＳＣＡＮＥＮＢを０（＝通常パス）にする。
（６）；ＳＣＡＮＣＬＫから１ＣＬＫ入力し、通常パスの出力（＝組み合わせ回路の出力）を各ＦＦに取り込む（図１０ではＦＦＡ、ＦＦＢ、ＦＦＢにそれぞれ組み合わせ回路出力のＱＡ１、ＱＢ１、ＱＣ１が取り込まれる。このときカウンタはＳＣＡＮＣＬＫが１のためＬＳＢがリセットされ必ず２進数表記で００になる）。
【００３２】
（７）；ＳＣＡＮＣＬＫが０のときにＳＣＡＮＩＮから２発パルスを入れることでカウンタを２進数表記で００⇒０１⇒１０とし、ＳＣＡＮＥＮＢを１にして全ＦＦをＳＣＡＮ動作可能にする。
（８）；ＳＣＡＮＣＬＫを入力して全ＦＦの値（ＱＡ１、ＱＢ１、ＱＣ１）をＳＣＡＮＯＵＴから出力しモニタする（この際同時に全ＦＦに次の所望の値をセットする。図１０では０、１、０をそれぞれセットしている）。
（９）；上記（５）〜（８）を繰り返す。
【００３３】
本実施例１におけるカウンタは、２ｂｉｔのバイナリカウンタとしたが、カウンタは、２ｂｉｔ以上であればｂｉｔ数は問わない。また、本実施例１は、バイナリカウンタとしたがカウンタの種類は問わない。また、本実施例１は、カウンタの動作は、ＳＣＡＮＩＮのＥｄｇｅは立ち上がりとしたがＥｄｇｅの向きは問わない。また、ＳＣＡＮＥＮＢが０又は１となるカウンタ値もＳＣＡＮ動作と通常パスが切り替えることができるように自由に決めてよい。カウンタのリセット信号は、本実施例１では、ＳＣＡＮテストを行う際に１とするＴＥＳＴＭＯＤＥ信号の反転信号をリセットとしたが、通常動作時にＳＣＡＮＥＮＢが１にならないようにすれば構成は問わない。
更に、本実施例１は、カウンタのＬＳＢのリセット信号にＳＣＡＮＣＬＫの１を入力しているが、これはＳＣＡＮＣＬＫが１となるとカウンタが２進数表記で００又は１０となり、カウンタの値を把握しやすくするためのものであり、取り除いても構わない。その場合の構成例を以下の実施例２に示す。
【実施例２】
【００３４】
図１１は、本発明に係る半導体テスト回路の実施例２を説明するための回路構成図で、ＳＣＡＮＩＮとＳＣＡＮＥＮＢとを共通化したＳＣＡＮテストを可能にした回路構成図である。なお、図８と同じ機能を有する構成要素には同一に符号を付してある。
ＳＣＡＮ回路がＳＣＡＮＣＬＫの立ち上がりＥｄｇｅで動作するときの新回路の例を図１１に示してある。ＳＣＡＮＥＮＢを、ＳＣＡＮＩＮをＣＬＫとしたカウンタ１３の出力とするように構成する。カウンタ１３は、ＳＣＡＮテストを行うＴＥＳＴＭＯＤＥ＝１以外はリセットされる。
【００３５】
図１２は、図１１に示したカウンタの状態遷移図である。ＳＣＡＮＣＬＫが０のとき、ＳＣＡＮＩＮの立ち上がりＥｄｇｅで２進数表記で００⇒０１⇒１０⇒１１⇒００⇒…と動作する２ｂｉｔバイナリカウンタであり、そのＭＳＢをＳＣＡＮＥＮＢとして構成する。つまり、カウンタが２進数表記で００，０１の時は、ＳＣＡＮＥＮＢが０に、カウンタが２進数表記で１０，１１のときは、ＳＣＡＮＥＮＢが１となる。
図１３は、図１１に示したＳＣＡＮテスト動作を説明するためのタイミングチャートを示す図である。
【００３６】
（１）；ＳＣＡＮＩＮからパルスを入れることでカウンタを２進数表記で１０とし、ＳＣＡＮＥＮＢを１にして全ＦＦをＳＣＡＮ動作可能にする（図１３ではＳＣＡＮＩＮからパルス２発を入れることでカウンタを２進数表記で００⇒０１⇒１０とし、ＳＣＡＮＥＮＢを１にして全ＦＦをＳＣＡＮ動作可能にしている）。
（２）；ＳＣＡＮＥＮＢが１かつＳＣＡＮＩＮを所望の０または１にする（図１３では１にセットしている。この際カウンタは２進数表記で１０⇒１１となる）。
（３）；ＳＣＡＮＥＮＢが１のままでＳＣＡＮＣＬＫを入れてＦＦＡに所望の値を取り込む（図１３では１をとりこむ。このときカウンタは２進数表記で１１のまま）。
【００３７】
（４）；ＳＣＡＮＥＮＢが１のままでＳＣＡＮＣＬＫを入れてＦＦＡ、ＦＦＢ、に所望の値を取り込む（図１３ではＦＦＡ、ＦＦＢにそれぞれ０、１をセットしている。このときカウンタは２進数表記で１１のまま）。
（５）；ＳＣＡＮＥＮＢが１かつＳＣＡＮＩＮを所望の０または１にする。（図１３では次にＳＣＡＮＩＮを１にしてＦＦＡ、ＦＦＢ、ＦＦＢにそれぞれ１、０、１を取り込ませるが、その際カウンタが１周して００になりＳＣＡＮＥＮＢが０になってしまうため、その前にＳＣＡＮＩＮにパルスを３発いれ、カウンタを２進数表記で１１⇒００⇒０１⇒１０とし、ＳＣＡＮＥＮＢを１にして全ＦＦをＳＣＡＮ動作可能にしている。その後ＳＣＡＮＩＮを１にしている。この際カウンタは２進数表記で１０⇒１１となる）。
（６）；ＳＣＡＮＥＮＢが１のままでＳＣＡＮＣＬＫを入れて全ＦＦに所望の値をセットする（図１３ではＦＦＡ、ＦＦＢ、ＦＦＢにそれぞれ１、０、１をセットしている。この際カウンタは２進数表記で１１のまま）。
【００３８】
（７）；ＳＣＡＮＩＮからパルスを入れることでカウンタを２進数表記で００とし、ＳＣＡＮＥＮＢを０（＝通常パス）にする（図１３ではＳＣＡＮＩＮから１発パルスを入れることでカウンタを２進数表記で１１⇒００とし、ＳＣＡＮＥＮＢを０（＝通常パス）にする）。
（８）；ＳＣＡＮＥＮＢが０のままでＳＣＡＮＣＬＫから１ＣＬＫ入力し、通常パスの出力（＝組み合わせ回路の出力）を各ＦＦに取り込む（図１３ではＦＦＡ、ＦＦＢ、ＦＦＢにそれぞれ組み合わせ回路出力のＱＡ１、ＱＢ１、ＱＣ１が取り込まれる。このときカウンタはＳＣＡＮＩＮを１にしたため２進数表記で０１になっている）。
【００３９】
（９）；ＳＣＡＮＩＮからパルスを入れることでカウンタを２進数表記で１０とし、ＳＣＡＮＥＮＢを１にして全ＦＦをＳＣＡＮ動作可能にする（図１３ではＳＣＡＮＩＮからパルス１発を入れることでカウンタを２進数表記で０１⇒１０とし、ＳＣＡＮＥＮＢを１にして全ＦＦをＳＣＡＮ動作可能にしている）。
（１０）；ＳＣＡＮＥＮＢが１でＳＣＡＮＣＬＫを入力して全ＦＦの値（ＱＡ１、ＱＢ１、ＱＣ１）をＳＣＡＮＯＵＴから出力しモニタする（この際同時に全ＦＦに次の所望の値をセットする。図１３では０、１、０をそれぞれセットしている）。
（１１）；上記（８）〜（１０）を繰り返す。
【００４０】
本実施例２におけるカウンタは、２ｂｉｔのカウンタとしたが、カウンタは、１ｂｉｔ以上であればｂｉｔ数は問わない。また、カウンタの種類は問わない。また、本実施例２は、カウンタの動作は、ＳＣＡＮＩＮのＥｄｇｅは立ち上がりとしたがＥｄｇｅの向きは問わない。また、ＳＣＡＮＥＮＢが０又は１となるカウンタ値もＳＣＡＮ動作と通常パスが切り替えることができるように自由に決めてよい。カウンタのリセット信号は、本実施例２では、ＳＣＡＮテストを行う際に１とするＴＥＳＴＭＯＤＥ信号の反転信号をリセットとしたが、通常動作時にＳＣＡＮＥＮＢが１にならないようにすれば構成は問わない。
【実施例３】
【００４１】
実施例３は、上述した実施例２において１ｂｉｔカウンタでカウンタを構成した例を示す。  
図１４は、本発明に係る半導体テスト回路の実施例３を説明するための回路構成図で、ＳＣＡＮＩＮとＳＣＡＮＥＮＢとを共通化したＳＣＡＮテストを可能にした回路構成図である。なお、図１１と同じ機能を有する構成要素には同一に符号を付してある。
ＳＣＡＮ回路がＳＣＡＮＣＬＫの立ち上がりＥｄｇｅで動作するときの新回路の例を図１４に示してある。ＳＣＡＮＥＮＢを、ＳＣＡＮＩＮをＣＬＫとしたカウンタ２３の出力とするように構成する。カウンタ２３は、ＳＣＡＮテストを行うＴＥＳＴＭＯＤＥ＝１以外はリセットされる。
【００４２】
図１５は、図１４に示したカウンタの状態遷移図である。ＳＣＡＮＣＬＫが０のとき、ＳＣＡＮＩＮの立ち上がりＥｄｇｅで２進数表記で０⇒１⇒…と動作する１ｂｉｔカウンタであり、その値をＳＣＡＮＥＮＢとして構成する。つまり、カウンタが２進数表記で０の時は、ＳＣＡＮＥＮＢが０に、カウンタが２進数表記で１のときは、ＳＣＡＮＥＮＢが１となる。
図１６は、図１４に示したＳＣＡＮテスト動作を説明するためのタイミングチャートを示す図である。
【００４３】
（１）；ＳＣＡＮＩＮから立ち上がりＥｄｇｅを１回いれることでカウンタを２進数表記で１とし、ＳＣＡＮＥＮＢを１にして全ＦＦをＳＣＡＮ動作可能にする（図１６ではＳＣＡＮＩＮから立ち上がりＥｄｇｅを１回いれることでカウンタを２進数表記で０⇒１とし、ＳＣＡＮＥＮＢを１にして全ＦＦをＳＣＡＮ動作可能にしている）。
（２）；ＳＣＡＮＥＮＢが１かつＳＣＡＮＩＮを所望の０または１にする（図１６では１にセットしている。この際カウンタは２進数表記で１のまま）。
（３）；ＳＣＡＮＥＮＢが１のままでＳＣＡＮＣＬＫを入れてＦＦＡに所望の値を取り込む（図１６では１をとりこむ。このときカウンタは２進数表記で１のまま）。
【００４４】
（４）；ＳＣＡＮＥＮＢが１のままでＳＣＡＮＣＬＫを入れてＦＦＡ、ＦＦＢ、に所望の値を取り込む（図１３ではＦＦＡ、ＦＦＢにそれぞれ０、１をセットしている。このときカウンタは２進数表記で１のまま）。
（５）；ＳＣＡＮＥＮＢが１かつＳＣＡＮＩＮを所望の０または１にする。（図１６では次にＳＣＡＮＩＮを１にしてＦＦＡ、ＦＦＢ、ＦＦＢにそれぞれ１、０、１を取り込ませるが、その際カウンタが１周して０になりＳＣＡＮＥＮＢが０になってしまうため、その前にＳＣＡＮＩＮにパルスを１発いれ、カウンタを２進数表記で１⇒０とする。その後ＳＣＡＮＩＮを１にしている。この際カウンタは２進数表記で０⇒１となり、ＳＣＡＮＥＮＢを１にして全ＦＦをＳＣＡＮ動作可能にする）。
（６）；ＳＣＡＮＥＮＢが１のままでＳＣＡＮＣＬＫを入れて全ＦＦに所望の値をセットする（図１３ではＦＦＡ、ＦＦＢ、ＦＦＢにそれぞれ１、０、１をセットしている。この際カウンタは２進数表記で１のまま）。
【００４５】
（７）；ＳＣＡＮＩＮから立ち上がりＥｄｇｅを１回いれることでカウンタを２進数表記で０とし、ＳＣＡＮＥＮＢを０（＝通常パス）にする（図１６ではＳＣＡＮＩＮから立ち上がりＥｄｇｅを１回いれることでカウンタを２進数表記で１⇒０とし、ＳＣＡＮＥＮＢを０（＝通常パス）にする）。
（８）；ＳＣＡＮＥＮＢが０のままでＳＣＡＮＣＬＫから１ＣＬＫ入力し、通常パスの出力（＝組み合わせ回路の出力）を各ＦＦに取り込む（図１６ではＦＦＡ、ＦＦＢ、ＦＦＢにそれぞれ組み合わせ回路出力のＱＡ１、ＱＢ１、ＱＣ１が取り込まれる。このときカウンタはＳＣＡＮＩＮを１にしたため２進数表記で０のまま）。
【００４６】
（９）；ＳＣＡＮＩＮから立ち上がりＥｄｇｅを１回いれることでカウンタを２進数表記で１とし、ＳＣＡＮＥＮＢを１にして全ＦＦをＳＣＡＮ動作可能にする（図１６ではＳＣＡＮＩＮから立ち上がりＥｄｇｅを１回いれることでカウンタを２進数表記で０⇒１とし、ＳＣＡＮＥＮＢを１にして全ＦＦをＳＣＡＮ動作可能にしている）。
（１０）；ＳＣＡＮＥＮＢが１でＳＣＡＮＣＬＫを入力して全ＦＦの値（ＱＡ１、ＱＢ１、ＱＣ１）をＳＣＡＮＯＵＴから出力しモニタする（この際同時に全ＦＦに次の所望の値をセットする。図１６では０、１、０をそれぞれセットしている）。
（１１）；上記（８）〜（１０）を繰り返す。
【００４７】
このような上記構成例１〜３により、ＳＣＡＮＩＮとＳＣＡＮＥＮＢを共通化することでピン数の削減ができる。また、従来技術とは異なり、ＳＣＡＮＥＮＢ用ＦＦは、ＳＣＡＮＣＬＫで動作しないため、ＳＣＡＮ回路は、一般のＳＣＡＮ回路と同様にＳＣＡＮＣＬＫの立ち上がりと立下りＥｄｇｅで動作するＦＦが混在してもよく、設計に自由度が増す。例えば、ＳＣＡＮ回路を全てＳＣＡＮＣＬＫの立ち上がりＥｄｇｅのみで動作させる場合、従来技術とは異なり、ＳＣＡＮＣＬＫの立下りＥｄｇｅをＳＣＡＮＥＮＢ用のＦＦに使用しないため、このＦＦ用のセットアップタイムが不要となり、ＳＣＡＮＣＬＫのＨｉの幅を短くできるため、テスト時間の削減ができる。
同様に、ＳＣＡＮ回路を全てＳＣＡＮＣＬＫの立ち下がりＥｄｇｅのみで動作させる場合、従来技術とは異なり、ＳＣＡＮＣＬＫの立ち上がりＥｄｇｅをＳＣＡＮＥＮＢ用に使用しないため、ＦＦのセットアップタイムが不要となり、ＳＣＡＮＣＬＫのＬｏｗの幅を短くできるため、テスト時間の削減ができる。
【００４８】
次に、本発明の半導体テスト回路を組み入れたＩＣチップについて説明する。  
本発明のＩＣチップは、複数のフリップフロップと組み合わせ回路とを有するデジタルブロックを、スキャンクロックと、スキャンデータ信号と、スキャンイネーブル信号と、によりスキャンテストを行うＩＣチップである。
スキャンクロックが入力される第１のＰＡＤ（ＳＣＡＮＣＬＫ）と、スキャンデータ信号が入力される第２のＰＡＤ（ＳＣＡＮＩＮ）と、第２のＰＡＤに接続され、スキャンデータ信号からスキャンイネーブル信号を出力するカウンタと、を備えている。
また、カウンタのクロックラインに、第２のＰＡＤが接続され、カウンタの第１のリセットラインに、第１のＰＡＤが論理素子を介して接続されている。
また、スキャンデータ信号は、複数のフリップフロップがスキャンクロックに同期して取り込むデータ信号と、複数のフリップフロップに入力されるスキャンクロックが配されない区間に配されるパルス信号と、を有している。
【００４９】
また、データ信号を複数のフリップフロップに、スキャンクロックに同期して設定するために順次データが入力された後、次にスキャンクロックが配されるまでの間に、パルス信号が配される。
また、次のスキャンクロックが配された後、別のデータ信号を複数のフリップフロップに、スキャンクロックに同期して設定するために順次データが入力されるまでの間に、パルス信号が配される。
このような構成により、設計の自由度が高く、また、テスト時間が短い半導体テスト回路を組み入れたＩＣチップを実現することができる。
【符号の説明】
【００５０】
１  組み合わせ回路
２ａ，２ｂ，２ｃ，１２ａ，１２ｂ，１２ｃ  第１乃至第３のフリップフロップ（ＦＦＡ、ＦＦＢ、ＦＦＣ）
３  フリップフロップ（ＦＦＥＮＢ）
１１  組み合わせ回路
１３，２３  カウンタ
【図１】
2015184265.tif 000003
【図２】
2015184265.tif 000004
【図３】
2015184265.tif 000005
【図４】
2015184265.tif 000006
【図５】
2015184265.tif 000007
【図６】
2015184265.tif 000008
【図７】
2015184265.tif 000009
【図８】
2015184265.tif 000010
【図９】
2015184265.tif 000011
【図１０】
2015184265.tif 000012
【図１１】
2015184265.tif 000013
【図１２】
2015184265.tif 000014
【図１３】
2015184265.tif 000015
【図１４】
2015184265.tif 000016
【図１５】
2015184265.tif 000017
【図１６】
2015184265.tif 000018