(57)【要約】【課題】  遅延故障検出能力の高い半導体集積回路を提供する。【解決手段】  複数の同一機能ブロック２ａ、２ｂ、２ｃに対して、テストデータ入力端子５から同一のテストデータを入力し、一つの同一機能ブロック２ａを低周波数クロック信号で動作させ、その残りの同一機能ブロック２ｂ、２ｃを高周波数クロック信号で動作させる。低周波数クロック信号で動作させた同一機能ブロック２ａの出力信号と高周波数クロック信号で動作させた同一機能ブロック２ｂ、２ｃの出力信号とを比較器４で比較する。次に、同一機能ブロック２ｂを低周波数クロック信号で動作させ、その他の同一機能ブロック２ａ、２ｃを高周波数クロック信号で動作させ、同様に各同一機能ブロックの出力信号を比較器４で比較する。この判定結果により遅延故障をしている同一機能ブロックの存在の有無が検出される。【選択図】  図１
2005241287.tif 000002
【特許請求の範囲】
【請求項１】
半導体チップ上に設けられたＮ個の同一機能ブロックと、
テストモード時に前記Ｎ個の同一機能ブロックに同一のテストデータを入力するためのテストデータ入力端子と、
テストモード時に前記Ｎ個の同一機能ブロックに周波数の異なるクロック信号を個別に入力するためのクロック信号入力端子と、
前記Ｎ個の同一機能ブロックの各出力信号を同期信号に同期してそれぞれ記憶するＮ個の第１の記憶素子と、
前記第１の記憶素子に記憶された各信号が一致しているか否かを判定し、その判定結果を記憶する第２の記憶素子を有する比較器と、
前記比較器の判定結果を半導体集積回路装置の外部に出力するためのテスト出力端子とを有し、
前記クロック信号入力端子には、テストモード時に、前記Ｎ個の同一機能ブロックのうちの１個の前記同一機能ブロックにのみ低周波数クロック信号が入力され、且つ残りのＮ−１個の前記同一機能ブロックには共通した高周波数クロック信号が入力されることを特徴とする半導体集積回路装置。
【請求項２】
半導体チップ上に設けられたＮ個の同一機能ブロックと、
テストモード時にテストデータを入力するためのテストデータ入力端子に直列接続され、且つ前記Ｎ個の同一機能ブロックのいずれかに接続された複数のテストデータ記憶素子と、
前記テストデータ記憶素子に入力されるテストデータを順次シフトさせるためのシフト動作制御信号を入力するためのシフト動作制御信号端子と、
テストモード時に前記Ｎ個の同一機能ブロックに周波数の異なるクロック信号を個別に入力するためのクロック信号入力端子と、
前記Ｎ個の同一機能ブロックの各出力信号を同期信号に同期してそれぞれ記憶するＮ個の第１の記憶素子と、
前記第１の記憶素子に記憶された各信号が一致しているか否かを判定し、その判定結果を記憶する第２の記憶素子を有する比較器と、
前記比較器の判定結果を半導体集積回路装置の外部に出力するためのテスト出力端子とを有し、
テストモード時に、前記テストデータ記憶素子を介して前記Ｎ個の同一機能ブロックに同一のテストデータがそれぞれ入力され、前記クロック信号入力端子には、テストモード時に、前記Ｎ個の同一機能ブロックのうちの１個の前記同一機能ブロックにのみ低周波数クロック信号が入力され、且つ残りのＮ−１個の前記同一機能ブロックには共通した高周波数クロック信号が入力されることを特徴とする半導体集積回路装置。
【請求項３】
前記比較器は、
Ｎ個のＥＸＯＲゲート、Ｎ個のＡＮＤゲート、Ｎ個のＯＲゲート及びＮ個の前記第２の記憶素子を有し、
第１の前記ＥＸＯＲゲートは、第１の前記第１の記憶素子の出力を一方の入力とし、且つ第２の前記第１の記憶素子の出力を他方の入力とし、
第ｍ（２≦ｍ≦Ｎ）の前記ＥＸＯＲゲートは、第１の前記第１の記憶素子の出力を一方の入力とし、第ｍの前記第１の記憶素子の出力を他方の入力とし、
第１の前記ＡＮＤゲートは、第１の前記ＥＸＯＲゲートの出力を一方の入力とし、制御信号の反転信号を他方の入力とし、
第ｍの前記ＡＮＤゲートは、第ｍの前記ＥＸＯＲゲートの出力を一方の入力とし、前記制御信号を他方の入力とし、
第１の前記ＯＲゲートは、前記第１の前記ＡＮＤゲートの出力を一方の入力とし、第１の前記第２の記憶素子の出力を他方の入力とし、
第ｍの前記ＯＲゲートは、前記第ｍの前記ＡＮＤゲートの出力を一方の入力とし、第ｍの前記第２の記憶素子の出力を他方の入力とし、
第１の前記第２の記憶素子は、第１の前記ＯＲゲートの出力を判定結果として記憶し、
第ｍの前記第２の記憶素子は、第ｍの前記ＯＲゲートの出力を判定結果として記憶することを特徴とする請求項１または請求項２に記載の半導体集積回路装置。
【請求項４】
Ｎ個の同一機能ブロックのうちの選択された１個の前記同一機能ブロックにのみ前記同一機能ブロックを動作させるための低周波数クロック信号を入力し、残りのＮ−１個の前記同一機能ブロックには共通した高周波数クロック信号を入力するステップと、
前記Ｎ個の同一機能ブロックに同一のテストデータを入力するステップと、
同期信号に同期して、前記Ｎ個の同一機能ブロックからの各出力信号をＮ個の第１の記憶素子にそれぞれ記憶させるステップと、
前記Ｎ個の第１の記憶素子に記憶された各信号が一致しているか否を判定し、その判定結果を半導体集積回路装置の外部に出力するステップと
を有することを特徴とする半導体集積回路装置の検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つの半導体チップ上に複数の同一機能ブロックを有する半導体集積回路装置及びその検査方法に関する。
【背景技術】
【０００２】
近年、半導体集積回路装置の大規模化に伴い、設計期間とコストの低減のために既に設計、検証済みのマイクロプロセッサ、メモリ、ロジック回路などの複数の同一機能ブロックを、一つの半導体チップ上に搭載している半導体集積回路装置がますます増えている。
【０００３】
このような、複数の同一機能ブロックを有する半導体集積回路装置に対して機能検査（または、テストともいう）を行なう場合には、複数の機能ブロックに対して同一のテストデータを入力して検査を行なうという方法が知られている（例えば、特許文献１参照。）。
【０００４】
特許文献１に開示された半導体集積回路装置の検査方法では、図９に示すように、半導体集積回路装置１０１内部の同一機能ブロック１０２a、１０２b、１０２c、に対してテストデータ入力端子１０５より同一のテストデータを入力し、クロック信号入力端子１０６より縮退故障検査の場合には同一の低周波数クロック信号を、また、遅延故障テストの検査の場合には同一の高周波数クロック信号を入力して機能ブロック１０２a、１０２b、１０２cを並列動作させ、機能ブロック１０２a、１０２b、１０２cの出力結果をそれぞれの機能ブロック１０２a、１０２b、１０２cに対応する記憶素子１０３a、１０３b、１０３cに記憶させる。
【０００５】
そして、各記憶素子１０３a、１０３b、１０３cに記憶された各機能ブロック１０２a、１０２b、１０２cの各出力を、同期信号入力端子１０７からの同期信号に基づいて、比較器１０４に入力し、各機能ブロック１０２a、１０２b、１０２cの出力が一致しているか否かを判定する。
【０００６】
各機能ブロックの機能が同一であるから、それらの機能が正常であれば、各同一機能ブロックのそれぞれの出力は一致する。従って、出力が一致していれば故障している機能ブロックはなく、不一致ならば故障している機能ブロックがあると判定される。その比較器１０４における判定結果が出力端子１０８より外部に出力される。このようにして、複数の同一機能ブロックに対して同時にテストを行なうことができる。
【０００７】
しかしながら、上述した従来の半導体集積回路装置では、各機能ブロックの出力が一致していれば故障なし、出力が一致していなければ故障ありと判定しているため、縮退故障、または、遅延故障が全ての機能ブロックにおいて発生している場合であっても、故障している機能ブロックはないと判定され、機能検査をパスしてしまうという欠点がある。
【特許文献１】特開平4-147072号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、信頼性の高い遅延故障テストをすることが可能な半導体集積回路装置及びその検査方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の一態様の半導体集積回路装置は、半導体チップ上に設けられたＮ個の同一機能ブロックと、テストモード時に前記Ｎ個の同一機能ブロックに同一のテストデータを入力するためのテストデータ入力端子と、テストモード時に前記Ｎ個の同一機能ブロックにクロック信号を個別に入力するためのクロック信号入力端子と、前記Ｎ個の同一機能ブロックの各出力信号を同期信号に同期してそれぞれ記憶するＮ個の第１の記憶素子と、前記第１の記憶素子に記憶された各信号が一致しているか否かを判定し、その判定結果を記憶する第２の記憶素子を有する比較器と、前記比較器の判定結果を半導体集積回路装置の外部に出力するためのテスト出力端子とを有し、前記クロック信号入力端子には、テストモード時に、前記Ｎ個の同一機能ブロックのうちの１個の前記同一機能ブロックにのみ低周波数クロック信号が入力され、且つ残りのＮ−１個の前記同一機能ブロックには共通した高周波数クロック信号が入力されることを特徴としている。
【００１０】
また、本発明の別の態様の半導体集積回路装置の検査方法は、Ｎ個の同一機能ブロックのうちの選択された１個の前記同一機能ブロックにのみ前記同一機能ブロックを動作させるための低周波数クロック信号を入力し、残りのＮ−１個の前記同一機能ブロックには共通した高周波数クロック信号を入力するステップと、前記Ｎ個の同一機能ブロックに同一のテストデータを入力するステップと、同期信号に同期して、前記Ｎ個の同一機能ブロックからの各出力信号をＮ個の第１の記憶素子にそれぞれ記憶させるステップと、前記Ｎ個の第１の記憶素子に記憶された各信号が一致しているか否を判定し、その判定結果を半導体集積回路装置の外部に出力するステップとを有することを特徴としている。
【発明の効果】
【００１１】
本発明によれば、信頼性の高い遅延故障検査をすることが可能である。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施例について、図面を参照して説明する。
【実施例１】
【００１３】
まず、本発明の第１の実施例に係る半導体集積回路装置及びその検査方法について、図１乃至図４を用いて説明する。図１は、本発明の第１の実施例に係る半導体集積回路装置を示す回路構成図である。
【００１４】
図１に示すように、本実施例の半導体集積回路１は、１つの半導体チップ上に、複数の同一機能ブロック２a、２b、２c、第１の記憶素子３a、３b、３c、及び比較器４を有している。
【００１５】
各同一機能ブロック２a、２b、２cは、半導体集積回路装置１の外部に設けられたテストデータ入力端子５にそれぞれ共通接続され、テストモード時には、半導体集積回路装置１の外部からテストデータ入力端子５を介して同一のテストデータが入力される。また、各同一機能ブロック２a、２b、２cは、半導体集積回路装置１の外部に設けられたクロック信号入力端子６a、６b、６cにそれぞれ個別に接続され、テストモード時には、半導体集積回路装置１の外部から各クロック信号入力端子６a、６b、６cを介して、クロック信号が入力される。そして、各同一機能ブロック２a、２b、２cは、与えられたクロック信号に基づいて、テストデータを処理する。
【００１６】
各第１の記憶素子３a、３b、３cは、各同一機能ブロック２a、２b、２cに1対１に対応付けられ各出力部に接続されて、各同一機能ブロック２a、２b、２cの出力信号を記憶する。また、各第１の記憶素子３a、３b、３cには、半導体集積回路装置１の外部に設けられた同期信号入力端子７から同一の同期信号（Ｔ）が入力され、この同期信号（Ｔ）が入力されたタイミングにおいて各同一機能ブロック２a、２b、２cの出力信号を記憶する。
【００１７】
また、各第１の記憶素子３ａ、３ｂ、３ｃの各出力は、比較器４の入力にそれぞれ接続され、各第１の記憶素子３a、３b、３cに記憶された各同一機能ブロック２ａ、２b、２ｃの出力信号は、比較器４に入力され、各同一機能ブロック２a、２b、２cの各出力信号が一致しているか否かが判定される。また、比較器４の判定結果は、半導体集積回路装置１の外部に設けられたテスト出力端子８より外部に出力される。
【００１８】
図２は、本発明の第１の実施例に係る半導体集積回路装置の比較器を示す回路構成図である。
【００１９】
比較器４は、一致検出回路２０と、ＯＲゲート２１と、第２の記憶素子２２で構成されている。
【００２０】
一致検出回路２０は、複数の入力信号が、一致したときには“０”を出力し、一致しなかったときには“１”を出力するものである。なお、この一致検出回路２０は、種々の回路を構成することが可能である。
【００２１】
一致検出回路２０は、各第１の記憶素子３a、３b、３cの各出力が入力として与えられ、一致検出回路２０の出力がＯＲゲート２１の一方の入力として与えられ、第２の記憶素子２２に記憶されている値がＯＲゲート２１のもう一方の入力として与えられている。ＯＲゲート２１の出力が第２の記憶素子２２に記憶され、また、第２の記憶素子２２の値がテスト出力端子８を介して、半導体集積回路装置１の外部に出力されるように構成されている。
【００２２】
次に、上記半導体集積回路装置１における同一機能ブロックの検査方法について、図１乃至図４を参照して説明する。
【００２３】
ここで、各同一機能ブロック２a、２b、２cへのクロック信号の入力及び、各第１の記憶素子３a、３b、３cへの同期信号の入力は、次のようにして行われる。
【００２４】
同一機能ブロック２a、２b、２cのうち、一つの同一機能ブロックにのみ低周波数クロック信号（ＬＣ）が入力され、他の残りの同一機能ブロックには高周波数クロック信号（ＨＣ）が入力される。
【００２５】
高周波数クロック信号（ＨＣ）は、同一機能ブロックの実動作時における動作クロック信号等、同一機能ブロックの製品仕様により規定されたクロック信号のことであり、本実施例では周期が２０nsのクロック信号を用いている。
【００２６】
低周波数クロック信号（ＬＣ）は、同一機能ブロックが遅延故障していても、テストデータの処理を終えているような、実動作時の動作クロック信号の周期に比べて十分に長い周期を有するクロック信号であり、本実施例では周期が２００nsのクロック信号を用いている。
【００２７】
低周波数クロック信号（ＬＣ）及び高周波数クロック信号（ＨＣ）は、同期信号（Ｔ）が入力されるタイミングに基づいて、各同一機能ブロックに入力される。つまり、図４に示すように、高周波数クロック信号（ＨＣ）が入力されてから２０ns後に、同期信号（Ｔ）が入力され、又、低周波数クロック信号（ＬＣ）が入力されてから２００ns後に、同期信号（Ｔ）が入力されるように、各同一機能ブロックに低周波数クロック信号（ＬＣ）又は高周波数クロック信号（ＨＣ）を入力し、各第１の記憶素子に同期信号（Ｔ）を入力する。
【００２８】
最初に、上記半導体集積回路装置１における同一機能ブロックの検査方法に関して、遅延故障している同一機能ブロックが存在しないとした場合について説明する。
【００２９】
まず始めに、同一機能ブロック２a以外の遅延故障の有無を判定するために、同期信号（Ｔ）を入力するタイミングより２００ns以上前に、クロック信号入力端子６aに低周波数クロック信号（ＬＣ）を入力し、同期信号（Ｔ）を入力するタイミングより２０ns前に、他のクロック信号入力端子６b及び６cに高周波数クロック信号（ＨＣ）を入力して、同一機能ブロック２aを低周波数クロック信号（ＬＣ）で動作させ、同一機能ブロック２b、２cを高周波数クロック信号（ＨＣ）で動作させる。
【００３０】
そして、同期信号（Ｔ）が入力されるタイミングで、低周波数クロック信号（ＬＣ）で動作させて得られた同一機能ブロック２aの出力信号と、高周波数クロック信号（ＨＣ）で動作させて得られた同一機能ブロック２b、２cの出力信号を、第１の記憶素子３a、３b、３cにそれぞれ記憶する（ステップＳ３０１）。
【００３１】
ここでは、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２b及び２cは遅延故障していないので、低周波数クロック信号（ＬＣ）で動作させた同一機能ブロック２aと、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２b及び２cの出力信号は互いに一致する。例えば、低周波数クロック信号（ＬＣ）で動作させた同一機能ブロック２aが“１”を出力しているときは、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２b、２cの出力信号も“１”で、各第１の記憶素子３a、３b、３cは“１”を記憶する。
【００３２】
次に、第１の記憶素子３ａにおける低周波数クロック信号（ＬＣ）で動作させた同一機能ブロック２aの出力信号と、第１の記憶素子３ｂ、３ｃにおける高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２b、２cの出力信号とを比較器４に入力する。
【００３３】
比較器４は、図２に示すような構成になっており、各第１の記憶素子３a、３b、３cに記憶されている同一機能ブロック２ａ、２ｂ、２ｃの各出力信号が一致検出回路２０に入力される。一致検出回路２０は、入力が一致していれば出力は“０”になり、一致していなければ出力は“１”となる。従って、各第１の記憶素子３a、３b、３cからの入力がともに“１”であるため、一致検出回路２０の出力は“０”となる。
【００３４】
この一致検出回路２０の出力がＯＲゲート２１の一方に入力され、第２の記憶素子２２に記憶されている値が、ＯＲゲート２１のもう一方の入力となる。この第２の記憶素子２２には初期値として“０”が保存してあるので、“０”が入力される。
【００３５】
ＯＲゲート２１は、入力がともに“０”であるので、“０”を出力し、第２の記憶素子２２は、この“０”を記憶する（ステップＳ３０２）。
【００３６】
続いて、同一機能ブロック２а、２ｂ、２cの動作クロックを変える。即ち、同一機能ブロック２aについても遅延故障の有無を判定するために、図４に示すように、同期信号（Ｔ）を入力するタイミングより２００ns以上前に、クロック信号入力端子６bに低周波数クロック信号（ＬＣ）を入力し、同期信号（Ｔ）を入力するタイミングより２０ns前に、他のクロック信号入力端子６a及び６cに高周波数クロック信号（ＨＣ）を入力して、同一機能ブロック２bを低周波数クロック信号（ＬＣ）で動作させ、同一機能ブロック２a、２cを高周波数クロック信号（ＨＣ）で動作させる。そして、同期信号（Ｔ）が入力されるタイミングで、低周波数クロック信号（ＬＣ）で動作させて得られた同一機能ブロック２bの出力信号と、高周波数クロック信号（ＨＣ）で動作させて得られた同一機能ブロック２a、２cの出力信号を、第１の記憶素子３a、３b、３cにそれぞれ記憶させる（ステップＳ３０３）。
【００３７】
ここでは、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２a及び２cは遅延故障していないので、低周波数クロック信号（ＬＣ）で動作させた同一機能ブロック２bと、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２a及び２cの出力信号は互いに一致する。例えば、低周波数クロック信号（ＬＣ）で動作させた同一機能ブロック２aが“１”を出力しているときは、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２b、２cの出力信号も“１”で、各第１の記憶素子３a、３b、３cは“１”を記憶する。
【００３８】
次に、第１の記憶素子３ｂに記憶されている低周波数クロック信号（ＬＣ）で動作させた同一機能ブロック２bの出力信号と、第１の記憶素子３ａ、３ｃに記憶されている高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２a、２cの出力信号とが比較器４の一致検出回路２０に入力される。各第１の記憶素子３a、３b、３cからの入力がともに“１”であるため、一致検出回路２０の出力は“０”となる。
【００３９】
この一致検出回路２０の出力がＯＲゲート２１の一方に入力され、ＯＲゲート２１のもう一方の入力には、ステップＳ３０２において第２の記憶素子２２に保存された値“０”が入力される。
【００４０】
ＯＲゲート２１は、入力がともに“０”であるので、“０”を出力し、第２の記憶素子２２は、この“０”を記憶する（ステップＳ３０４）。
【００４１】
次に、第２の記憶素子２２の値を判定結果としてテスト出力端子８より半導体集積回路装置１の外部に出力して読み取る（ステップＳ３０５）。このとき、第２の記憶素子２２からは、初期状態の値と同じ“０”が出力されるので、同一機能ブロック２a、２b、２cは遅延故障していないということが分かる。
【００４２】
次に、上記半導体集積回路装置１における同一機能ブロックの検査方法に関して、遅延故障している同一機能ブロックが存在しているとした場合について説明する。例えば、同一機能ブロック２bに遅延故障があるとする。
【００４３】
まず、上述したように、クロック信号入力端子６aに低周波数クロック信号（ＬＣ）を入力し、他のクロック信号入力端子６b及び６cに高周波数クロック信号（ＨＣ）を入力して、同一機能ブロック２aを低周波数クロック信号（ＬＣ）で動作させ、同一機能ブロック２b、２cを高周波数クロック信号（ＨＣ）で動作させる。そして、同期信号（Ｔ）が入力されるタイミングで、低周波数クロック信号（ＬＣ）で動作させて得られた同一機能ブロック２aの出力信号と、高周波数クロック信号（ＨＣ）で動作させて得られた同一機能ブロック２b、２cの出力信号を、第１の記憶素子３a、３b、３cにそれぞれ記憶する（ステップＳ３０１）。
【００４４】
このとき、同一機能ブロック２bは、遅延故障しているが、同一機能ブロック２a及び２cは遅延故障していないので、低周波数クロック信号（ＬＣ）で動作させた同一機能ブロック２aと、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２cの出力信号は互いに一致するが、低周波数クロック信号（ＬＣ）で動作させた同一機能ブロック２aと、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２bの出力信号は一致しない。例えば、低周波数クロック信号（ＬＣ）で動作させた同一機能ブロック２aが“１”を出力しているときは、遅延故障している同一機能ブロック２bは“０”を出力し、遅延故障していない同一機能ブロック２cは“１”を出力し、第１の記憶素子３a及び３cは“１”を記憶し、第１の記憶素子３bは、“０”を記憶する。
【００４５】
次に、各第１の記憶素子３a、３b、３cに記憶されている各同一機能ブロック２ａ、２ｂ、２ｃの出力信号を比較器４の一致検出回路２０にそれぞれ入力する。一致検出回路２０には、第１の記憶素子３bの出力“０”と第１の記憶素子３a及び３cの出力“１”とが入力され、入力の値が異なるため、一致検出回路２０の出力は“１”となる。
【００４６】
この一致検出回路２０の出力がＯＲゲート２１の一方に入力され、ＯＲゲート２１のもう一方の入力には、第２の記憶素子２２に初期値として保存してある“０”が入力される。
【００４７】
従って、ＯＲゲート２１は、一致検出回路２０の出力が“１”であるので、“１”を出力し、第２の記憶素子２２は、この“１”を記憶する（ステップＳ３０２）。
【００４８】
続いて、同一機能ブロック２ａ、２ｂ、２ｃの動作クロックを換える。即ち、クロック信号入力端子６bに低周波数クロック信号（ＬＣ）を入力し、他のクロック信号入力端子６a及び６cに高周波数クロック信号（ＨＣ）を入力して、同一機能ブロック２bを低周波数クロック信号（ＬＣ）で動作させ、同一機能ブロック２a、２cを高周波数クロック信号（ＨＣ）で動作させる。そして、同期信号（Ｔ）が入力されるタイミングで、低周波数クロック信号（ＬＣ）で動作させて得られた同一機能ブロック２bの出力信号と、高周波数クロック信号（ＨＣ）で動作させて得られた同一機能ブロック２a、２cの出力信号が、各第１の記憶素子３a、３b、３cにそれぞれ記憶される（ステップＳ３０３）。
【００４９】
このとき、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２a及び２cは遅延故障していないので、低周波数クロック信号（ＬＣ）で動作させた同一機能ブロック２bと、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２a及び２cの出力信号は互いに一致する。例えば、低周波数クロック信号（ＬＣ）で動作させた同一機能ブロック２aが“１”を出力しているときは、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２b、２cの出力信号も“１”で、各第１の記憶素子３a、３b、３cはいずれも“１”を記憶する。
【００５０】
次に、各第１の記憶素子３a、３b、３cに記憶している各同一機能ブロック２ａ、２ｂ、２ｃの出力信号が一致検出回路２０に入力される。各第１の記憶素子３a、３b、３cからの入力がいずれも“１”であるため、一致検出回路２０の出力は“０”となる。
【００５１】
この一致検出回路２０の出力がＯＲゲート２１の一方に入力され、ＯＲゲート２１のもう一方の入力には、ステップＳ３０２において第２の記憶素子２２に記憶されている“１”が入力される。
【００５２】
従って、ＯＲゲート２１は、第２の記憶素子２２からの入力が“１”であるので、“１”を出力し、第２の記憶素子２２は、この“１”を記憶する（ステップＳ３０４）。
【００５３】
次に、第２の記憶素子２２の値をテスト出力端子８より半導体集積回路装置１の外部に出力して読み取る（ステップＳ３０５）。このとき、第２の記憶素子２２からは、初期状態の“０”と異なる“１”が出力されるので、同一機能ブロック２a、２b、２cのうちのいずれかに遅延故障が存在していることが分かる。
【００５４】
このようにして、遅延故障している同一機能ブロックがあれば、第２の記憶素子２２の出力は“１”になり、遅延故障がなければ“０”が出力される。ここで用いた比較器４内部の第２の記憶素子２２は、最低限直前の比較ステップでのＯＲゲート２１の出力結果を記憶することができればよい。
【００５５】
以上のような本実施例の半導体集積回路装置によれば、複数の同一機能ブロックのうち、一つの同一機能ブロックを低周波数クロック信号で動作させ、その残りの同一機能ブロックを高周波数クロック信号で動作させ、且つ低周波数クロック信号で動作させる同一機能ブロックを順次変え、各同一機能ブロックの出力信号を比較器に入力することにより、半導体集積回路内に遅延故障をしている同一機能ブロックが存在するか否かを正確に検査することができる。
【００５６】
また、比較器内に第２の記憶素子を設けて判定結果を記憶させておくことにより、テストの最後、もしくは任意の時刻にテスタで判定結果を確認することで、テスタのメモリ使用量を削減することでできる。
【実施例２】
【００５７】
以下に、本発明の第２の実施例に係る半導体集積回路装置及びその検査方法について、図５を用いて説明する。図５は、本発明の第２の実施例に係る半導体集積回路装置を示す回路構成図である。
【００５８】
本実施例は、上記実施例１とテストデータの入力部分の構成が異なるが、その他の構成部分は同じであり、同一構成部分には同一符号を付し、その説明を省略する。
【００５９】
この第２の実施例の半導体集積回路装置は、図５に示すように、実施例１における各同一機能ブロック２a、２b、２cの各テストデータを入力するためのテストデータ入力端子にテストデータ記憶素子１１a、１１b、１１cをそれぞれ配置する。さらに、テストデータ記憶素子１１a、１１b、１１cを直列に接続し、テストデータ記憶素子１１ｃをテストデータ入力端子１２に接続し、テストデータ記憶素子１１ａをテストデータ出力端子１３に接続している。また、テストデータ記憶素子１１には、シフト動作制御信号端子１４a、１４b、１４cよりシフト動作制御信号を入力し、各同一機能ブロック２a、２b、２cにテストデータを入力する。なお、その他の構成部分については、上記実施例１と同じ構成であり、その説明を省略する。
【００６０】
そして、本実施例では、テストデータ入力端子１２より入力されたテストデータは、シフト動作制御信号に基づいてシフトされ、各テストデータ記憶素子１１a、１１b、１１cに直列に入力され、各テストデータ記憶素子１１a、１１b、１１cに同一のテストデータが格納された後、各同一機能ブロック２ａ、２ｂ、２ｃに、同時に同一のテストデータが入力される。そして、このテストデータを、シフトされてテストデータ出力端子１３より出力することも可能である。
【００６１】
なお、上記シフト動作制御信号端子１４a、１４b、１４cは、テストモード時以外の実動作時においても、入力端子として用いることができる。
【００６２】
また、本実施例の半導体集積回路装置における同一機能ブロックの検査方法については、上記実施例１と同じであるので、説明は省略する。
【００６３】
上記のような本実施例の半導体集積回路装置では、上記実施例１と同様の効果の他に、１つのテストデータ入力端子に入力されたテストデータを順次シフトさせて各同一機能ブロックの入力側に設けたテストデータ記憶素子にすることにより、各同一機能ブロックに同一のテストデータを入力しているので、半導体集積回路装置の検査に用いることのできる入出力端子が少数のときでも、遅延故障テストを行なうことができる。
【実施例３】
【００６４】
以下に、本発明の第３の実施例に係る半導体集積回路装置及びその検査方法について、図１、図４、図６及び図７を用いて説明する。この第３の実施例の半導体集積回路装置は、図１の第１の実施例及び図５の第２の実施例における比較器４に換えて、図６に示す構成の比較器６０を設けたもので、その他の構成は第１及び第２の実施例の場合と同様であり、比較器６０以外の部分については、同一符号を付しその説明は省略する。
【００６５】
この比較器６０は、ＥＸＯＲゲート６１a、６１b、６１c、ＡＮＤゲート６２a、６２b、６２c、ＯＲゲート６４a、６４b、６４c、第２の記憶素子６５a、６５b、６５c及び選択回路６６を有している。
【００６６】
ＥＸＯＲゲート６１ａ及び６１ｂは、第１の記憶素子３ａ及び３ｂの各出力が入力として与えられ、ＥＸＯＲゲート６１ｃは、第１の記憶素子３ａ及び３ｃの出力が入力として与えられている。
【００６７】
各ＡＮＤゲート６２ａ、６２ｂ、６２ｃの一方の入力には、ＥＸＯＲゲート６１ａ、６１ｂ、６１ｃの各出力が与えられ、ＡＮＤゲート６２b、６２cのもう一方の入力には、制御信号６３が入力され、ＡＮＤゲート６２aのもう一方の入力には、この制御信号６３の反転信号が入力される。
【００６８】
各ＯＲゲート６４ａ、６４ｂ、６４ｃの一方の入力には、各ＡＮＤゲート６２a、６２b、６２cの各出力が与えられ、もう一方の入力には、各第２の記憶素子６５a、６５b、６５cに記憶されている値がそれぞれ与えられる。
【００６９】
各第２の記憶素子６５a、６５b、６５cは、各ＯＲゲート６４ａ、６４ｂ、６４ｃの各出力によって上書きされ、その上書きされた値を記憶する。
【００７０】
選択回路６６は、各第２の記憶素子６５a、６５b、６５cに記憶している値を選択し、テスト出力端子８を介して半導体集積回路装置１の外部に出力するように構成されている。
【００７１】
次に、上記比較器６０を用いた上記半導体集積回路装置１における同一機能ブロックの検査方法について、図１、図４、図６及び図７を参照して説明する。
【００７２】
最初に、同一機能ブロック２ａ、２ｂ、２ｃのいずれにも遅延故障がない場合について説明する。
【００７３】
まず、上記実施例１と同様に、図４に示す同期信号（Ｔ）を入力するタイミングより２００ns以上前に、クロック信号入力端子６aに低周波数クロック信号（ＬＣ）を入力し、同期信号（Ｔ）を入力するタイミングより２０ns前に、他のクロック信号入力端子６b及び６cに高周波数クロック信号（ＨＣ）を入力して、同一機能ブロック２aを低周波数クロック信号（ＬＣ）で動作させ、同一機能ブロック２b、２cを高周波数クロック信号（ＨＣ）で動作させる。そして、同期信号（Ｔ）が入力されるタイミングで、低周波数クロック信号（ＬＣ）で動作させて得られた同一機能ブロック２aの出力信号と、高周波数クロック信号（ＨＣ）で動作させて得られた同一機能ブロック２b、２cの出力信号を、第１の記憶素子３a、３b、３cにそれぞれ記憶する（ステップＳ７０１）。
【００７４】
このとき、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２b及び２cは遅延故障していないので、低周波数クロック信号（ＬＣ）で動作させた同一機能ブロック２aと、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２b及び２cの出力信号は互いに一致する。例えば、低周波数クロック信号（ＬＣ）で動作させた同一機能ブロック２aが“１”を出力しているときは、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２b、２cの出力信号も“１”で、各第１の記憶素子３a、３b、３cはいずれも“１”を記憶する。
【００７５】
次に、ＥＸＯＲゲート６１ａ及び６１ｂには、第１の記憶素子３a及び３ｂの出力“１”が入力され、ＥＸＯＲゲート６１ｃには、第１の記憶素子３ａ及び３cの出力“１”が入力される。そのため、各ＥＸＯＲゲート６１a、６１b、６１cの出力はいずれも“０”となる。
【００７６】
この各ＥＸＯＲゲート６１a、６１b、６１cの各出力“０”がそれぞれＡＮＤゲート６２a、６２b、６２cの一方に入力される。ＡＮＤゲート６２b、６２cのもう一方の入力には、外部より制御信号６３の“１”が入力される。ＡＮＤゲート６２aのもう一方の入力には制御信号６３の反転信号“０”が入力される。これにより、ＡＮＤゲート６２a、６２b、６２cの出力信号は全て“０”となる。
【００７７】
そして、このＡＮＤゲート６２ａ、６２ｂ、６２ｃの各出力“０”をＯＲゲート６４a、６４b、６４cにそれぞれ入力する。第２の記憶素子６５a、６５b、６５cには初期値として“０”が記憶してあるので、ＯＲゲート６４a、６４b、６４cの各出力は“０”となり、それぞれの第２の記憶素子６５a、６５b、６５cに“０”が記憶される（ステップＳ７０２）。
【００７８】
続いて、同一機能ブロック２ａ、２ｂ、２ｃの動作クロックを換える。即ち、クロック信号入力端子６bに低周波数クロック信号（ＬＣ）を入力し、他のクロック信号入力端子６a及び６cに高周波数クロック信号（ＨＣ）を入力して、同一機能ブロック２bを低周波数クロック信号（ＬＣ）で動作させ、同一機能ブロック２a、２cを高周波数クロック信号（ＨＣ）で動作させる。そして、同期信号（Ｔ）が入力されるタイミングで、低周波数クロック信号（ＬＣ）で動作させて得られた同一機能ブロック２bの出力信号と、高周波数クロック信号（ＨＣ）で動作させて得られた同一機能ブロック２a、２cの出力信号を、第１の記憶素子３a、３b、３cにそれぞれ記憶する（ステップＳ７０３）。
【００７９】
このとき、低周波数クロック信号（ＬＣ）で動作させた同一機能ブロック２ｂの出力信号は“１”であるため、第１の記憶素子３ｂには“１”が記憶され、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２ａ及び２cは、遅延故障がないためその出力信号はいずれも“１”であるため、第１の記憶素子３a及び３cには“１”が記憶される。
【００８０】
この各第１の記憶素子３a、３b、３cの各出力“１”が各ＥＸＯＲゲート６１a、６１b、６１cに入力される。そのため、各ＥＸＯＲゲート６１a、６１b、６１cの出力はいずれも“０”となる。そして、この各ＥＸＯＲゲート６１a、６１b、６１cの出力“０”がそれぞれＡＮＤゲート６２a、６２b、６２cの一方に入力される。ＡＮＤゲート６２b及び６２cのもう一方には外部より制御信号６３の“０”が入力され、ＡＮＤゲート６２aの入力には制御信号６３の反転信号の“１”が入力される。これにより、ＡＮＤゲート６２a、６２b、６２cの出力は全て“０”となる。
【００８１】
そして、このＡＮＤゲート６２ａ、６２ｂ、６２ｃの各出力“０”がＯＲゲート６４a、６４b、６４cにそれぞれ入力される。第２の記憶素子６５a、６５b、６５cには“０”が記憶されているので、ＯＲゲート６４a、６４b、６４cの各出力は全て“０”となり、それぞれの第２の記憶素子６５a、６５b、６５cに“０”が記憶される（ステップＳ７０４）。
【００８２】
この後、各第２の記憶素子６５a、６５b、６５cの値が、選択回路６６により選択され、テスト出力端子８を介して半導体集積回路装置１の外部に出力される（ステップＳ７０５）。このとき、各第２の記憶素子６５a、６５b、６５cには、“０”が記憶されているので、同一機能ブロック２ａ、２ｂ、２ｃは遅延故障していないことが分かる。
【００８３】
次に、遅延故障している同一機能ブロックが存在しているとした場合について説明する。例えば、同一機能ブロック２aに遅延故障があるとする。
【００８４】
まず、上述したように、クロック信号入力端子６aに低周波数クロック信号（ＬＣ）を入力し、他のクロック信号入力端子６b及び６cに高周波数クロック信号（ＨＣ）を入力して、同一機能ブロック２aを低周波数クロック信号（ＬＣ）で動作させ、同一機能ブロック２b、２cを高周波数クロック信号（ＨＣ）で動作させる。そして、同期信号（Ｔ）が入力されるタイミングで、低周波数クロック信号（ＬＣ）で動作させて得られた同一機能ブロック２aの出力信号と、高周波数クロック信号（ＨＣ）で動作させて得られた同一機能ブロック２b、２cの出力信号を、各第１の記憶素子３a、３b、３cにそれぞれ記憶する（ステップＳ７０１）。
【００８５】
ここで、低周波数クロック信号（ＬＣ）で動作させた同一機能ブロック２aは“１”を出力し、また高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２b、２cは遅延故障していないため“１”をいずれも出力し、各第１の記憶素子３a、３b、３cは、いずれも“１”を記憶する。
【００８６】
次に、各第１の記憶素子３a、３b、３cの各出力“１”が各ＥＸＯＲゲート６１a、６１b、６１cに入力される。そのため、各ＥＸＯＲゲート６１a、６１b、６１cの出力は全て“０”となる。各ＥＸＯＲゲート６１a、６１b、６１cの各出力“１”がそれぞれＡＮＤゲート６２a、６２b、６２cの一方に入力される。ＡＮＤゲート６２b及び６２cのもう一方の入力には、外部より制御信号６３の“１”が入力され、ＡＮＤゲート６２aのもう一方の入力には制御信号６３の反転信号である“０”が入力される。そのためＡＮＤゲート６２a、６２b、６２cの出力は全て“０”となる。この各ＡＮＤゲート６２a、６２b、６２cの各出力“０”が各ＯＲゲート６４a、６４b、６４cの一方に入力され、もう一方には各第２の記憶素子６５a、６５b、６５cに記憶されている“０”が入力されるので、各ＯＲゲート６４a、６４b、６４cの出力は全て“０”となり、それぞれの第２の記憶素子６５a、６５b、６５cに“０”が記憶される（ステップＳ７０２）。
【００８７】
続いて、各同一機能ブロック２ａ、２ｂ、２ｃに入力される動作クロックを換える。即ち、クロック信号入力端子６bに低周波数クロック信号（ＬＣ）を入力し、他のクロック信号入力端子６a及び６cに高周波数クロック信号（ＨＣ）を入力して、同一機能ブロック２bを低周波数クロック信号（ＬＣ）で動作させ、同一機能ブロック２a、２cを高周波数クロック信号（ＨＣ）で動作させる。そして、同期信号（Ｔ）が入力されるタイミングで、低周波数クロック信号（ＬＣ）で動作させて得られた同一機能ブロック２bの出力信号と、高周波数クロック信号（ＨＣ）で動作させて得られた同一機能ブロック２a、２cの出力信号が、各第１の記憶素子３a、３b、３cにそれぞれ記憶される（ステップＳ７０３）。
【００８８】
このとき、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２cは遅延故障していないが、同一機能ブロック２aは遅延故障しているので、低周波数クロック信号（ＬＣ）で動作させた同一機能ブロック２bと、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２cの出力信号は一致するが、低周波数クロック信号（ＬＣ）で動作させた同一機能ブロック２bと、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２aの出力信号は一致しない。例えば、低周波数クロック信号（ＬＣ）で動作させた同一機能ブロック２bの出力信号は“１”のため、第１の記憶素子３ｂには“１”が記憶されるが、高周波数クロック信号（ＨＣ）で動作させた同一機能ブロック２ａ及び２cのうち、遅延故障していない同一機能ブロック２ｃは出力信号“１”で、第１の記憶素子３ｃには“１”が記憶されるが、同一機能ブロック２aは遅延故障しているため、その出力信号は“０”で、第１の記憶素子３aには“０”が記憶される。
【００８９】
次に、この各第１の記憶素子３a、３b、３cの各出力が各ＥＸＯＲゲート６１a、６１b、６１cにそれぞれ入力される。このとき、第１の記憶素子３aの出力が“１”であるので、各ＥＸＯＲゲート６１a、６１b、６１cの出力は全て“１”となる。
【００９０】
この各ＥＸＯＲゲート６１a、６１b、６１cの出力“１”がそれぞれＡＮＤゲート６２a、６２b、６２cの一方に入力される。ＡＮＤゲート６２b及び６２cのもう一方の入力には、外部より制御信号６３の“０”が入力され、ＡＮＤゲート６２aのもう一方の入力には制御信号６３の反転信号の“１”が入力される。そのためＡＮＤゲート６２aは、入力がともに“１”であるため、“１”を出力し、ＡＮＤゲート６２b及び６２cの出力は“０”となる。この各ＡＮＤゲートの出力が各ＯＲゲート６４a、６４b、６４cの一方にそれぞれ入力され、もう一方の入力には各第２の記憶素子６５a、６５b、６５cの出力“０”が入力されるので、ＯＲゲート６４aの出力は“１”であり、ＯＲゲート６４b及び６４cの出力は“０”となる。これにより、第２の記憶素子６５aには、“１”が記憶され、第２の記憶素子６５b及び６５cには“０”が記憶される（ステップＳ７０４）。
【００９１】
この後、第２の記憶素子６５a、６５b、６５cに記憶されている値が、選択回路６６により選択され、テスト出力端子８を介して半導体集積回路装置１の外部に出力される（ステップＳ７０５）。このとき、第２の記憶素子６５ａには、“１”が記憶されており、第２の記憶素子６５b及び６５ｃには、“０”が記憶されているので、第２の憶素子６５aに対応する同一機能ブロック２aには遅延故障が発生しており、第２の記憶素子６５b及び６５cに対応する同一機能ブロック２b及び２cには遅延故障がないことが分かる。
【００９２】
これにより、複数の同一機能ブロックのうち、どの同一機能ブロックが遅延故障しているかを特定することができる。
【実施例４】
【００９３】
以下に、本発明の第４の実施例に係る半導体集積回路装置について、図８を参照して説明する。この第４の実施例の半導体集積回路装置は、図１の第１の実施例における比較器４及び図５の第２の実施例における比較器４に換えて、図８に示す構成の比較器８０を設けたもので、他の構成は、第１、第２及び第３の実施例と同様であるため、同一符号を付しその説明を省略する。
【００９４】
この比較器８０は、図２に示す比較器４と図６に示す比較器６０を並列に接続したものである。比較器８１は図２に示す比較器４と同一のものであり、比較器８２は図６に示す比較器６０と同一のものである。
【００９５】
本実施例では、第１の記憶素子３ａ、３ｂ、３ｃの各出力が比較器８１及び８２にそれぞれ入力され、この比較器８１及び８２の出力が、選択回路８３により選択され、テスト出力端子８を介して半導体集積回路装置の外部に出力されるように構成されている。
【００９６】
この半導体集積回路装置では、まず、最初に、選択回路８３により、比較器８１の第２の記憶素子に記憶された値を半導体集積回路装置１の外部に出力して、半導体集積回路装置１内に遅延故障している同一機能ブロックが存在するか否かを判断する。ここで、“０”が出力されれば、半導体集積回路装置１内の各同一機能ブロック２a、２b、２cには遅延故障が存在せず、“１”が出力されれば、各同一機能ブロック２a、２b、２cのいずれかが遅延故障を発生していることが分かる。
【００９７】
次に、遅延故障を発生している同一機能ブロックが存在する場合には、選択回路８３により、比較器８２の各第２の記憶素子に記憶された値を出力することにより、どの同一機能ブロックが遅延故障しているかを特定することができる。
【００９８】
この実施例では、まず、比較器８１の第２の記憶素子に記憶されている値を選択回路８３により選択的に出力して半導体集積回路１内に遅延故障している同一機能ブロックの存在の有無を判定する。その判定結果、遅延故障の同一機能ブロックが存在しなければ検査終了となり、遅延故障している同一機能ブロックが存在していれば、選択回路８３により比較器８２の第２の記憶素子に記憶されている値を出力し、どの同一機能ブロックが遅延故障しているかを判断する。
【００９９】
上記比較器８２は、どの同一機能ブロックが遅延故障をしているかを特定できるが、同一機能ブロックごとその出力を比較する上に論理ゲート数も多いため検査に時間が掛かる。一方、比較器８１は、短時間で検査できるがどの同一機能ブロックが故障しているかを特定することはできないが、本実施例では、比較器８０は、比較器８１と比較器８２とを組み合わせて構成しているため、短時間にどの同一機能ブロックが遅延故障しているかを特定することが可能である。
【０１００】
また、上記の実施例１乃至実施例４では、半導体集積回路装置内に３つの同一機能ブロックが存在する場合を一例として取り上げたが、同一機能ブロックは２つ以上であれば、何個でも良いことは勿論である。
【図面の簡単な説明】
【０１０１】
【図１】本発明の第１の実施例に係る半導体集積回路装置を示す回路構成図。
【図２】本発明の第１の実施例に係る半導体集積回路装置の比較器の回路構成図。
【図３】本発明の第１の実施例に係る半導体集積回路装置の機能検査の手順を示すフローチャート。
【図４】本発明の第１の実施例に係る半導体集積回路装置に用いられる制御クロック信号のキャプチャー図。
【図５】本発明の第２の実施例に係る半導体集積回路装置を示す回路構成図。
【図６】本発明の第３の実施例に係る半導体集積回路装置の比較器の回路構成図。
【図７】本発明の第３の実施例に係る半導体集積回路装置の機能検査の手順を示すフローチャート。
【図８】本発明の第４の実施例に係る半導体集積回路装置の比較器の回路構成図。
【図９】従来の半導体集積回路装置の回路構成図。
【符号の説明】
【０１０２】
１、１０１  半導体集積回路装置
２ａ、２ｂ、２ｃ、１０２a、１０２b、１０２c  同一機能ブロック
３ａ、３ｂ、３ｃ  第１の記憶素子
４、６０、８０、８１，８２、１０４  比較器
５、１２、１０５  テストデータ入力端子
６、１０６  クロック信号入力端子
７、１０７  同期信号入力端子
８、１０８  テスト出力端子
１１ａ、１１ｂ、１１ｃ  テストデータ記憶素子
１３  テストデータ出力端子
１４ａ、１４ｂ、１４ｃ  シフト動作制御信号入力端子
２０  一致検出回路
２１、６４a、６４b、６４c  ＯＲゲート
２２、６５a、６５b、６５c  第２の記憶素子
６１ａ、６１ｂ、６１ｃ、  ＥＸＯＲゲート
６２a、６２b、６２c  ＡＮＤゲート
６３  制御信号
６６、８３  選択回路
１０３a、１０３b、１０３c  記憶素子
【図１】
2005241287.tif 000003
【図２】
2005241287.tif 000004
【図３】
2005241287.tif 000005
【図４】
2005241287.tif 000006
【図５】
2005241287.tif 000007
【図６】
2005241287.tif 000008
【図７】
2005241287.tif 000009
【図８】
2005241287.tif 000010
【図９】
2005241287.tif 000011