【解決手段】メモリチップ試験回路は、内部回路が正常に動作しているか否かを表す第1の判定信号、および、読み出しデータと期待値データとが一致しているか否かを表す第2の判定信号を出力する判定回路と、第1の試験結果信号として、第1の判定信号の変化検出信号に応じて、第2の判定信号の変化検出信号とメモリクロックとを切り替えて出力する試験結果信号生成回路と、モード切替回路を通過する前後の書き込みデータが一致している第1の場合、かつ、メモリクロックが正常に動作している第2の場合か否かを表す切替信号、および、第1および第2の場合のうちの少なくとも一方ではない場合に固定値であるエラーデータを出力する不具合切り分け回路と、第2の試験結果信号として、切替信号に応じて、第1の試験結果信号とエラーデータとを切り替えて出力する試験結果出力回路とを備えている。
メモリチップと、前記メモリチップの動作を制御するロジックチップとを1つのパッケージに収納して所定のシステムを構成する半導体集積回路において、前記ロジックチップが備えるメモリチップ試験回路であって、
前記メモリチップの動作を制御するための、第1の書き込みデータ、制御信号、および、前記メモリチップからの読み出しデータに対する期待値データを生成するメモリチップ制御回路と、
前記メモリチップ制御回路および自分自身の内部回路が正常に動作しているか否かを表す第1の判定信号と、前記第1の判定信号に基づいて、前記読み出しデータと前記期待値データとが一致しているか否かを表す第2の判定信号とを出力する判定回路と、
第1の試験結果信号として、前記第1の判定信号の変化検出信号に応じて、前記内部回路が正常に動作している場合に前記第2の判定信号の変化検出信号を出力し、前記内部回路が正常に動作していない場合にメモリ読み出しクロックまたはメモリ書き込みクロックを出力する試験結果信号生成回路と、
前記第1の書き込みデータと、前記第1の書き込みデータが通常動作と試験動作とを切り替えるモード切替回路を通過した後の、前記メモリチップに入力される第2の書き込みデータとが一致している第1の場合、かつ、前記メモリ読み出しクロックおよび前記メモリ書き込みクロックが正常に動作している第2の場合か否かを表す切替信号と、前記第1および第2の場合のうちの少なくとも一方ではない場合に固定値であるエラーデータとを出力する不具合切り分け回路と、
第2の試験結果信号として、前記切替信号に応じて、前記第1の場合かつ前記第2の場合に前記第1の試験結果信号を出力し、前記第1および第2の場合のうちの少なくとも一方ではない場合に前記エラーデータを出力する試験結果出力回路とを備えていることを特徴とするメモリチップ試験回路。
【背景技術】
【0002】
メモリチップと、メモリチップに記憶されたデータを使用して、画像処理等の所定の機能を実行するロジックチップとを1つのパッケージに収納して所定のシステムを構成するSiP構成の半導体集積回路が利用されている。
【0003】
以下、従来のSiP構成の半導体集積回路について一例を挙げて説明する。
【0004】
図10は、従来のSiP構成の半導体集積回路110の構成を表すブロック図である。同図に示す半導体集積回路110は、特許文献1の
図2に記載されたものの概略図であり、メモリチップ112と、ロジックチップ114とが1つのパッケージ116に収納されて、所定のシステムを構成している。
【0005】
ロジックチップ114は、所定の機能を実行する論理回路118と、メモリチップ112の動作試験を行うメモリチップ試験回路120と、論理回路118からのアクセス信号とメモリチップ試験回路120からのテスト用アクセス信号との切替を行うセレクタ/入出力回路122とを備えている。
メモリチップ試験回路120からセレクト信号SELが出力され、セレクタ/入出力回路122に入力される。セレクタ/入出力回路122は、セレクト信号SELに応じて、通常動作時に、論理回路118からのアクセス信号とメモリチップ112の対応する各信号とを接続し、メモリチップ試験時に、メモリチップ試験回路120からのテスト用アクセス信号とメモリチップ112の対応する各信号とを接続するように切り替える。
【0006】
続いて、
図11は、
図10に示すメモリチップ試験回路120の構成を表すブロック図である。同図に示すメモリチップ試験回路120は、特許文献1の
図5に記載されたものの概略図であり、テスト用アクセス信号、期待値データEXV等を生成するメモリチップ制御回路124と、メモリチップ112からのリードデータと期待値EXVとが一致するか否かを判定する判定回路126と、不一致の時の判定結果ERRORを保持するフリップフロップ(FF)128およびOR回路130を有するテストデータ判定回路132とを備えている。
メモリチップ試験回路120は,さらに,メモリチップの初期化を行う初期化回路134と、メモリチップ制御回路124やテストデータ判定回路132の機能チェックを行うセルフテスト回路136と、試験モードの設定を行う試験モード設定回路138とを備えている。
【0007】
メモリチップ試験回路120では、メモリチップ試験時に、初期化回路134によりメモリチップ112の初期化が行われ、続いて、セルフテスト回路136により、メモリチップ試験回路120の内部回路の機能チェックが行われる。その後、試験モード設定回路138により、試験モードの設定が行われると、メモリチップ制御回路124により、試験モードに応じてメモリチップ112の試験が行われ、テストデータ判定回路132により、試験結果信号が保持されて、外部に出力される。
【0008】
上記のように、特許文献1の半導体集積回路110では、メモリチップ試験回路120によるメモリチップ試験時に、メモリチップ112の初期化、メモリチップ試験回路120のセルフテスト、メモリチップ112の試験が、この順序でシーケンシャルに実施される。そのため、テスト時間が長くなり、テストコストが増大するという問題点があった。
また、特許文献1のメモリチップ試験回路120では、試験結果信号からメモリチップ112に不良ビットが存在するか否かの判定結果しか分からない。そのため、メモリチップ112や、セレクタ/入出力回路122、メモリチップ試験回路120の内部回路うちのどの回路に不具合が発生しているのかを特定することが非常に困難であるという問題点もあった。
【0009】
なお、本発明に関連性のある先行技術文献として、特許文献1の他に、特許文献2〜4等がある。
【発明を実施するための形態】
【0019】
以下に、添付の図面に示す好適実施形態に基づいて、本発明のメモリチップ試験回路を詳細に説明する。
【0020】
図1は、本発明のメモリチップ試験回路18を搭載する半導体集積回路10の構成を表す一実施形態のブロック図である。同図に示す半導体集積回路10は、メモリチップ12と、ロジックチップ14とを1つのパッケージ16に収納して所定のシステムを構成するSiP構成のものである。
パッケージ16内において、ロジックチップ14の各信号(制御信号、書き込みデータ、読み出しデータ)は、対応するメモリチップ12の各信号に接続されている。
【0021】
メモリチップ12は、例えば、DRAM(ダイナミックRAM(ランダム・アクセス・メモリ))、SRAM(スタティックRAM)、PRAM(プログラマブルRAM)等の各種構成の半導体メモリを1チップ化したものである。
【0022】
ロジックチップ14は、メモリチップ12の動作(メモリチップ12へのデータの書き込みおよびメモリチップ12からのデータの読み出し)を制御する機能を含む、所定の機能を実行するロジック回路を1チップ化したものである。
ロジックチップ14は、通常動作時に、メモリチップ12の動作を制御する制御回路を含む内部回路(図示省略)と、試験動作時に、メモリチップ12の試験を行うメモリチップ試験回路18と、メモリチップ試験回路18から出力されるモード切替信号(図示省略)に応じて、通常動作と試験動作とを切り替えるモード切替回路20とを備えている。
【0023】
半導体集積回路10では、通常動作時に、モード切替回路20により、モード切替信号に応じて、ロジックチップ14の内部回路の各信号とメモリチップ12の対応する各信号とが接続されるように切り替えられる。これにより、メモリチップ12の動作は、ロジックチップ14の内部回路によって制御される。
一方、試験動作時には、モード切替回路20により、モード切替信号に応じて、メモリチップ試験回路18の各信号とメモリチップ12の対応する各信号とが接続されるように切り替えられる。これにより、メモリチップ12の動作は、メモリチップ試験回路18によって制御される。
【0024】
次に、メモリチップ試験回路18について説明する。
【0025】
メモリチップ試験回路18は、試験動作時に、メモリチップ12、メモリチップ試験回路18の内部回路、ロジックチップ14のモード切替回路20等の試験を行うための各種の試験用信号を生成して試験を行い、その試験結果信号を出力する。メモリチップ試験回路18は、初期化回路22と、試験モード設定回路24と、メモリチップ制御回路26と、判定回路28と、試験結果信号生成回路30と、不具合切り分け回路32と、試験結果出力回路34とを備えている。
【0026】
初期化回路22は、メモリチップ試験回路18の外部から入力される信号S1に従って、メモリチップ12と、メモリチップ試験回路18の内部回路の初期化を行うものである。
【0027】
試験モード設定回路24は、メモリチップ試験回路18の外部から入力される信号S2に従って、試験動作時の、書き込みデータW_Dataと、それ以外の、メモリアドレス、データ書き込み信号およびデータ読み出し信号等の制御信号etcと、期待値データ等をどのように制御するのかを決定する試験モードの設定を行うものである。
従来から各種の試験モードが使用されているが、試験モード設定回路24は、従来公知の試験モードを含む、各種の試験モードを採用することができる。
【0028】
信号S1,S2は、例えば、ロジックチップ14の内部回路からメモリチップ試験回路18へ入力してもよいし、あるいは、パッケージ16の外部ピンからメモリチップ試験回路18へ直接入力してもよい。
【0029】
メモリチップ制御回路26は、初期化時、および、試験動作時に、メモリチップ12の動作を制御するための、書き込みデータW_Dataおよび制御信号etcと、メモリチップ12からの読み出しデータに対する期待値データとを生成するものである。
【0030】
試験動作時には、まず、初期化回路22により、信号S1に従って、メモリチップ12と、メモリチップ試験回路18の内部回路の初期化が行われる。
【0031】
メモリチップ制御回路26は、初期化回路22から入力される初期化信号に従って、書き込みデータW_Dataおよび制御信号etcを生成する。これらの信号に応じて、メモリチップ12が初期化される。
図1では、煩雑さを避けるために省略しているが、判定回路28、試験結果信号生成回路30および不具合切り分け回路32も初期化信号によって初期化される。
また、モード切替回路20は、初期化信号に従って、メモリチップ試験回路18の各信号とメモリチップ12の対応する各信号とを接続するように切り替えられる。
【0032】
続いて、試験モード設定回路24により、信号S2に従って、試験モードの設定が行われる。この試験モードの設定に応じて、メモリチップ試験回路18により、メモリチップ12の試験が行われる。
メモリチップ制御回路26は、試験動作時に、メモリチップ12に供給する、書き込みデータW_Data、制御信号etcに加えて、メモリチップ12からの読み出しデータと比較照合するための期待値データを生成する。これにより、メモリチップ12の試験が行われ、かつ、メモリチップ試験回路18、ロジックチップ14の内部回路、ロジックチップ14のモード切替回路20等の試験(セルフテスト)が同時に行われる。
【0033】
判定回路28は、メモリチップ12からの読み出しデータ(本実施形態の場合、不具合切り分け回路32を通過した読み出しデータR_Data)を、メモリ読み出しクロックの1周期ごとに反転させたデータと、期待値データ(メモリチップ制御回路26により生成される書き込みデータW_Dataと等しいデータ)とを比較し、その比較結果として、メモリ読み出しクロックの1周期ごとに、意図的に一致状態と不一致状態とを交互に発生させることにより、メモリチップ制御回路26および判定回路28(自分自身)の内部回路が正常に動作しているか否かを表す判定信号A(第1の判定信号)を生成し、この判定信号Aに基づいて、読み出しデータとその期待値データとが一致しているか否かを表す判定信号B(第2の判定信号)を生成するものである。
【0034】
判定信号Aは、メモリチップ制御回路26および判定回路28の内部回路が正常に動作している正常動作時に、メモリ読み出しクロックの1周期ごとに、L(一致状態)、H(不一致状態)をトグルし、メモリチップ制御回路26および判定回路28の内部回路が正常に動作していない異常動作時に、L固定もしくはH固定になる信号である。
判定信号Bは、メモリチップ12からの読み出しデータとメモリチップ12への書き込みデータとが一致していない場合、言い換えると、メモリ読み出しクロックの1周期ごとに、判定信号AがL、Hをトグルする正常な動作をしていない異常動作時に、判定信号Aのパルス幅がメモリ読み出しクロックの1周期よりも長くなっていることを検出する信号である。
【0035】
試験結果信号生成回路30は、第1の試験結果信号Cとして、判定信号Aの変化検出信号に応じて、つまり、メモリチップ制御回路26および判定回路28の内部回路が正常に動作しているか否かに応じて、ロジックチップ14の内部回路により生成されるメモリ読み出しクロックまたはメモリ書き込みクロックと、判定信号Bの変化検出信号とを切り替えて出力するものである。
試験結果信号生成回路30は、第1の試験結果信号Cとして、メモリチップ制御回路26および判定回路28の内部回路が正常動作している場合に判定信号Bの変化検出信号を出力し、メモリチップ制御回路26および判定回路28の内部回路が正常動作していない場合にメモリ読み出しクロックまたはメモリ書き込みクロックを出力する。
【0036】
不具合切り分け回路32は、メモリチップ制御回路26により生成された書き込みデータW_Data(第1の書き込みデータ)と、この書き込みデータW_Dataがモード切替回路20を通過した後の、メモリチップ12に入力される書き込みデータWB_Data(第2の書き込みデータ)とを比較して、両者が一致しているか否かを検出し、かつ、メモリ書き込みクロックおよびメモリ読み出しクロックの両方が正常に動作しているか否か(停止しているか否か)を検出するものである。書き込みデータW_Dataと、メモリチップ12への書き込みデータWB_Dataは論理的に等しいデータである。不具合切り分け回路32からは、切替信号SW、読み出しデータR_Data、エラーデータEr_Dataが出力される。
【0037】
切替信号SWは、書き込みデータW_Data,WB_Dataが一致する第1の場合、かつ、メモリ読み出しクロックおよびメモリ書き込みクロックが正常に動作している第2の場合か否かを表す信号である。
読み出しデータR_Dataは、メモリチップ12からの読み出しデータが不具合切り分け回路32を通過した後のデータである。第1の場合かつ第2の場合に、メモリチップ12からの読み出しデータと、読み出しデータR_Dataは論理的に等しいデータである。
エラーデータEr_Dataは、第1および第2の場合のうちの少なくとも一方ではない場合に出力される固定値(本実施形態の場合、固定値A,Bのいずれか一方のパラレルデータをシリアルデータに変換したもの)である。
【0038】
不具合切り分け回路32は、
図1に示すように、さらに、メモリチップ制御回路26により生成された制御信号etcと、この制御信号etcがモード切替回路20を通過した後の、メモリチップ12に入力される制御信号etcとを比較して、両者が一致しているか否かを検出してもよい。
【0039】
試験結果出力回路34は、第2の試験結果信号として、切替信号SWに応じて、第1の試験結果信号Cと、エラーデータEr_Dataとを切り替えて出力するものである。
試験結果出力回路34は、第2の試験結果信号として、切替信号SWがHの場合、つまり、第1の場合かつ第2の場合に第1の試験結果信号Cを出力する。一方、試験結果出力回路34は、切替信号SWがLの場合、つまり、第1および第2の場合のうちの少なくとも一方ではない場合に、エラーデータEr_Dataを出力する。
【0040】
第2の試験結果信号は、例えば、メモリチップ試験回路18からロジックチップ14の内部回路へ出力して処理してもよいし、あるいは、メモリチップ試験回路18からパッケージ16の外部ピンを介して外部へ直接出力し、外部でモニタしてもよい。
【0041】
次に、判定回路28について説明する。
【0042】
図2は、
図1に示す判定回路28の構成を表す回路図である。同図に示す判定回路28は、分周回路36と、読み出しデータ反転回路38と、読み出しデータ比較回路42と、パルス幅検出回路44とを備えている。
【0043】
分周回路36は、メモリ読み出しクロックを2分周した分周クロックを生成するものであり、インバータ46と、フリップフロップ(FF)48とを備えている。
FF48のリセット端子RBには初期化信号が入力され、クロック入力端子にはメモリ読み出しクロックが入力される。FF48のデータ出力端子Qから分周クロックが出力され、分周クロックは、インバータ46により反転されてFF48のデータ入力端子Dに入力される。
【0044】
分周回路36では、初期化信号がLになると、FF48が初期化され、分周クロックはLになる。これに応じて、インバータ46の出力信号(分周クロックの反転信号)はHになる。
初期化信号がHになった後、インバータ46の出力信号のHが、メモリ読み出しクロックの立ち上がりエッジに同期してFF48に保持され、分周クロックはHになる。つまり、分周クロックは、LからHに反転する。これ以後、分周クロックは、メモリ読み出しクロックに同期してH,Lの反転を繰り返す。つまり、分周クロックとして、メモリ読み出しクロックを2分周した信号が生成される。
【0045】
読み出しデータ反転回路38は、分周クロックのL,Hに応じて、メモリ読み出しクロックの1周期ごとに、メモリチップ12からの読み出しデータR_Dataと、その反転データとを切り替えて出力するものであり、インバータ50と、セレクタ52とを備えている。
インバータ50には読み出しデータR_Dataが入力される。セレクタ52の入力端子A0には読み出しデータR_Dataが入力され、入力端子A1にはインバータ50の出力信号が入力され、選択入力端子には分周クロックが入力される。
【0046】
読み出しデータ反転回路38では、分周クロックがLになると、セレクタ52で入力端子A0が選択され、セレクタ52から読み出しデータR_Dataがそのまま出力される。一方、分周クロックがHになると、セレクタ52で入力端子A1が選択され、セレクタ52からインバータ50の出力信号、つまり、読み出しデータR_Dataの反転データが出力される。
これ以後、セレクタ52の出力信号として、分周クロックのL,Hに応じて、つまり、メモリ読み出しクロックの1周期ごとに、読み出しデータR_Dataとその反転データとが交互に出力される。
【0047】
読み出しデータ比較回路42は、読み出しデータ反転回路38の出力信号と期待値データとを比較して、その比較結果を判定信号Aとして出力するものであり、FF54,56と、EXOR回路58と、OR回路60とを備えている。
FF54,56のリセット端子RBには初期化信号が入力され、クロック入力端子にはメモリ読み出しクロックが入力される。FF54,56のデータ入力端子Dには、それぞれ、読み出しデータ反転回路38の出力信号および期待値データが入力される。EXOR回路58には、FF54,56の出力信号、つまり、メモリ読み出しクロックの立ち上がりエッジに同期された、読み出しデータ反転回路38の出力信号および期待値データが入力される。OR回路60には、EXOR回路58の出力信号が入力され、OR回路60からは判定信号Aが出力される。
【0048】
読み出しデータ比較回路42では、初期化信号がLになると、FF54,56が初期化され、FF54,56の出力信号はLになる。
初期化信号がHになった後、読み出しデータ反転回路38の出力信号と、期待値データとは、それぞれ、メモリ読み出しクロックの立ち上がりエッジに同期してFF54,56に保持される。つまり、FF54,56の出力信号は、メモリ読み出しクロックの1周期の時間だけ読み出しデータ反転回路38の出力信号と、期待値データとを遅延したものである。
FF54,56から出力される、読み出しデータ反転回路38の出力信号と、期待値データとが一致すると、EXOR回路58からLが出力され、両者が不一致であれば、EXOR回路58からHが出力される。つまり、EXOR回路58の出力信号は、読み出しデータR_Dataと期待値データとが一致している場合に、メモリ読み出しクロックの1周期ごとに、意図的に一致状態と不一致状態とが交互に発生され、L,Hの反転が繰り返された信号になる。
このように、メモリ読み出しクロックの1周期ごとに、読み出しデータR_Dataを反転させた反転データと、期待値データとを比較することにより、一致の場合の出力と不一致の場合の出力の両方を確認することができるため、判定信号Aに基づいて、期待値データを生成するメモリチップ試験回路18の内部回路、および、判定回路28の内部回路に不具合が発生しているか否かを検出することができる。
EXOR回路58の出力信号は、
図2の例では、さらにOR回路60を通過して、判定信号Aとして判定回路28から出力される。
【0049】
パルス幅検出回路44は、判定信号AのHのパルス幅が、メモリ読み出しクロックの1周期の時間よりも長くなった(本実施形態の場合、2周期以上の時間となった)こと、つまり、読み出しデータR_Dataの不一致が発生したことを検出して、その検出結果を判定信号Bとして出力するものであり、FF62と、AND回路64とを備えている。
FF62のリセット端子RBには初期化信号が入力され、クロック入力端子にはメモリ読み出しクロックが入力される。FF62のデータ入力端子Dには、判定信号Aが入力される。AND回路64には、判定信号AおよびFF62のデータ出力端子Qから出力される信号が入力され、AND回路64からは判定信号Bが出力される。
【0050】
パルス幅検出回路44では、初期化信号がLになると、FF62が初期化され、FF62の出力信号はLになる。
初期化信号がHになった後、判定信号Aは、メモリ読み出しクロックの立ち上がりエッジに同期してFF62に保持される。つまり、FF62の出力信号は、メモリ読み出しクロックの1周期の時間だけ判定信号Aを遅延したものである。
判定信号AのHのパルス幅がメモリ読み出しクロックの1周期の時間であれば、つまり、読み出しデータR_Dataと期待値データとが一致する正常動作の場合、AND回路64からLが出力される。一方、判定信号AのHのパルス幅がメモリ読み出しクロックの1周期の時間よりも長くなると、つまり、両者が不一致となる異常動作の場合、AND回路64からHが出力される。
図2の例では、判定信号AのHのパルス幅がメモリ読み出しクロックの1周期の時間よりも長くなったタイミングから、判定信号AがLになるタイミングまでの間、AND回路64からHが出力される。
AND回路64の出力信号、つまり、パルス幅検出回路44の出力信号は、判定信号Bとして判定回路28から出力される。
【0051】
以下、判定回路28の動作について説明する。
【0052】
図3は、正常動作時の判定回路28の動作を表すタイミングチャートである。
このタイミングチャートに示すように、メモリ読み出しクロックの立ち上がりエッジに同期して、メモリチップ12から読み出しデータが1,2,3,4,5,6,…の順序で読み出される場合を考える。
【0053】
図2に示す判定回路28において、読み出しデータ反転回路38のインバータ50の出力信号(
図2の(1’))は、読み出しデータ1,2,3,4,5,6,…の反転データ−1,−2,−3,−4,−5,−6,…になる(“−”は反転データを表す)。
読み出しデータ反転回路38のセレクタ52からは、分周クロックがLの時に読み出しデータ、分周クロックがHの時に反転データが出力される。従って、セレクタ52の出力信号(
図2の(2’))は、1,−2,3,−4,5,−6,…になる。
続いて、読み出しデータ比較回路42のFF54の出力信号(
図2の(3’))は、セレクタ52の出力信号からメモリ読み出しクロックの1周期の時間だけ遅延されて、1,−2,3,−4,5,−6,…になる。また、読み出しデータ比較回路42のFF56の出力信号(
図2の(4’))は、同様に、期待値データがメモリ読み出しクロックの1周期の時間だけ遅延され、従って、FF54の出力信号に同期して、1,2,3,4,5,6,…になる。
その結果、判定信号Aは、FF54,56の出力信号(
図2の(3’)および(4’))が1,1の時はL、−2,2の時はH、3,3の時はL、−4,4の時はH、5,5の時はL、−6,6の時はH、…というように、L,Hの反転を繰り返す。
【0054】
続いて、パルス幅検出回路44のFF62の出力信号(
図2の(5’))は、判定信号Aからメモリ読み出しクロックの1周期の時間だけ遅延されてL,Hの反転を繰り返す信号になる。
その結果、判定信号AがHの時はFF62の出力信号がL、判定信号AがLの時はFF62の出力信号がHになるため、判定信号Bは、Lの状態を維持する。
このように、正常動作時には、判定信号Aは、L,Hの反転を繰り返し、反転信号Bは、Lの状態を維持する。
【0055】
続いて、
図4は、読み出しデータが不一致の場合の判定回路28の動作を表すタイミングチャートである。同図に示すタイミングチャートは、
図3に示すタイミングチャートにおいて、読み出しデータの3がX(LまたはHの固定値)であった場合を表している。
【0056】
この場合、
図3に示す正常動作時のタイミングチャートにおける、読み出しデータ反転回路38のインバータ50の出力信号(
図2の(1’))の−3、セレクタ52の出力信号(
図2の(2’))の3、読み出しデータ比較回路42のFF54の出力信号(
図2の(3’))の3は、
図4に示すタイミングチャートではいずれもXになる。
その結果、判定信号Aは、FF54,56の出力信号(
図2の(3’)および(4’))がX,3の時はHになり、−2,2の開始のタイミングから−4,4の終了のタイミングまでの、メモリ読み出しクロックの3周期の時間、Hになる。
【0057】
パルス幅検出回路44のFF62の出力信号(
図2の(5’))は、判定信号Aからメモリ読み出しクロックの1周期の時間だけ遅延される。
その結果、FF62の出力信号(
図2の(5’))がHになったタイミング(判定信号AのHのパルス幅がメモリ読み出しクロックの1周期の時間よりも長くなったタイミング)から、判定信号AがLになるタイミングまでの間、判定信号Bは、Hになる。
このように、読み出しデータが不一致の場合、判定信号AのHのパルス幅がメモリ読み出しクロックの1周期の時間よりも長くなり、これに応じて、反転信号BはHになる。
【0058】
続いて、
図5は、メモリチップ制御回路および判定回路28の内部回路のいずれか一方が正常に動作していない場合の判定回路28の動作を表すタイミングチャートである。
このタイミングチャートに示すように、メモリチップ制御回路26および判定回路28の内部回路のいずれか一方が正常動作していない場合、判定信号Aは、L固定またはH固定となる。
【0059】
次に、試験結果信号生成回路30について説明する。
【0060】
図6は、
図1に示す試験結果信号生成回路30の構成を表す回路図である。同図に示す試験結果信号生成回路30は、判定信号Aの検出回路66と、判定信号Bの検出回路68と、セレクタ70とを備えている。
【0061】
判定信号Aの検出回路(第1の判定信号の検出回路)66は、判定信号AのL,Hが変化するか否かを検出し、その検出結果として判定信号Aの変化検出信号を出力するものであり、FF72を備えている。
FF72のリセット端子RBには初期化信号が入力され、クロック入力端子には判定信号Aが入力される。FF72のデータ入力端子Dには、Hが入力(電源が接続)され、データ出力端子Qから判定信号Aの変化検出信号が出力される。
【0062】
判定信号Aの検出回路66では、初期化信号がLになると、FF72が初期化され、FF72の出力信号、つまり、判定信号Aの変化検出信号はLになる。
初期化信号がHになった後、判定信号AがLからHに変化すると、データ入力端子Dに入力されているHがFF72に保持され、判定信号Aの変化検出信号はHになる。一方、初期化信号がHになった後、判定信号AがL固定もしくはH固定であれば、判定信号Aの変化検出信号は、初期化後のLのままの状態になる。
【0063】
判定信号Bの検出回路(第2の判定信号の検出回路)68は、判定信号BのL,Hが変化するか否かを検出し、その検出結果として判定信号Bの変化検出信号を出力するものであり、OR回路74と、FF76とを備えている。
OR回路74には、FF76のデータ出力端子Qから出力される信号と、判定信号Bとが入力される。FF76のリセット端子RBには初期化信号が入力され、クロック入力端子にはメモリ読み出しクロックが入力される。FF76のデータ入力端子DにはOR回路74の出力信号が入力され、データ出力端子Qから判定信号Bの変化検出信号が出力される。
【0064】
判定信号Bの検出回路68では、初期化信号がLになると、FF76が初期化され、FF76の出力信号、つまり、判定信号Bの変化検出信号はLになる。判定信号Bの初期化後の状態はLであるから、OR回路74の出力信号はLになる。
初期化信号がHになった後、判定信号BがLからHに変化すると、OR回路74の出力信号はHになる。OR回路74の出力信号は、メモリ読み出しクロックの立ち上がりエッジに同期してFF76に保持され、判定信号Bの変化検出信号としてHが出力される。判定信号Bの変化検出信号がHになると、これ以後、判定信号BがLになったとしても、OR回路74の出力信号はFF76の出力信号によりHに固定されるため、判定信号Bの変化検出信号もHに固定される。一方、初期化信号がHになった後、判定信号BがLのままの状態であれば、OR回路74の出力信号はLのままの状態であり、判定信号Bの変化検出信号も初期化後のLのままの状態になる。
【0065】
セレクタ(第1のセレクタ)70は、判定信号Aの変化検出信号に応じて、メモリ書き込みクロックまたはメモリ読み出しクロックと、判定信号Bの変化検出信号とを切り替えて出力するものである。
セレクタ70の入力端子A0にはメモリ書き込みクロックまたはメモリ読み出しクロックが入力され、入力端子A1には判定信号Bの変化検出信号が入力され、選択入力端子には判定信号Aの変化検出信号が入力される。
【0066】
判定信号Aの変化検出信号がLの場合、つまり、判定信号AがL固定もしくはH固定の場合、セレクタ70で入力端子A0が選択され、セレクタ70からメモリ書き込みクロックまたはメモリ読み出しクロックが出力される。一方、判定信号Aの変化検出信号がHの場合、つまり、判定信号AがLからHに変化した場合、セレクタ70で入力端子A1が選択され、セレクタ70から判定信号Bの変化検出信号が出力される。セレクタ70の出力信号は、第1の試験結果信号Cとして試験結果信号生成回路30から出力される。
【0067】
図6の回路構成では、不一致が発生した時点で判定信号Bの値を保持(固定)する構成であるため、判定信号BがLからHに変化したという最低限の判定結果しか出力しない。しかし、本発明は、
図6の構成に限定されず、これ以外の多くのエラー情報を保持する構成としてもよい。
【0068】
次に、不具合切り分け回路32について説明する。
【0069】
図7は、
図1に示す不具合切り分け回路32の構成を表す回路図である。同図に示す不具合切り分け回路32は、書き込みデータ比較回路78と、クロック検出回路80と、セレクタ82,84と、AND回路86と、パラレルシリアル変換回路88とを備えている。
【0070】
書き込みデータ比較回路78は、メモリチップ制御回路26により生成される書き込みデータW_Dataと、この書き込みデータW_Dataがモード切替回路20を通過した後の、メモリチップ12に入力される書き込みデータWB_Dataとを比較し、その比較結果である書き込みデータ比較信号を出力するものであり、FF90,92と、EXOR回路94と、OR回路96と、NOR回路98とを備えている。
FF90,92のリセット端子RBには初期化信号が入力され、クロック入力端子にはメモリ読み出しクロックが入力される。FF90,92のデータ入力端子Dには、それぞれ、書き込みデータW_Data、WB_Dataが入力される。EXOR回路94にはFF90,92のデータ出力端子Qから出力される信号が入力される。EXOR回路94の出力信号はOR回路96を通過し、さらに図示しない内部回路を通過した後にNOR回路98に入力され、書き込みデータ比較信号として反転出力される。
【0071】
書き込みデータ比較回路78では、初期化信号がLになると、FF90,92が初期化され、FF90,92の出力信号はLになる。これに応じて、EXOR回路94の出力信号はL、OR回路96の出力信号もL。NOR回路の出力信号はHになる。
初期化信号がHになった後、書き込みデータW_Data、WB_Dataは、それぞれ、メモリ読み出しクロックの立ち上がりエッジに同期してFF90,92に保持される。つまり、FF90,92の出力信号は、メモリ読み出しクロックの1周期の時間だけ書き込みデータW_Data、WB_Dataを遅延したものである。FF90,92から出力される、書き込みデータW_Data、WB_Dataが一致すると、EXOR回路94からLが出力され、両者が不一致であれば、EXOR回路94からHが出力される。
EXOR回路94の出力信号は、
図7の例では、さらにOR回路96、図示しない内部回路およびNOR回路98を通過し、反転されて、書き込みデータ比較回路78から出力される。
【0072】
クロック検出回路80は、メモリ書き込みクロックおよびメモリ読み出しクロックの両方が正常に動作しているか否かを検出し、その検出結果であるクロック検出信号を出力するものであり、FF100,102と、AND回路104とを備えている。
FF100,102のリセット端子RBには初期化信号が入力され、クロック入力端子には、それぞれ、メモリ書き込みクロックおよびメモリ読み出しクロックが入力される。FF100,102のデータ入力端子DにはHが入力(電源に接続)される。AND回路104にはFF100,102のデータ出力端子Qから出力される信号が入力され、AND回路104からはクロック検出信号が出力される。
【0073】
クロック検出回路80では、初期化信号がLになると、FF100,102が初期化され、FF100,102の出力信号はLになる。これに応じて、AND回路104の出力信号はLになる。
初期化信号がHになった後、メモリ書き込みクロックおよびメモリ読み出しクロックの両方がLからHに変化すると、つまり、メモリ書き込みクロックおよびメモリ読み出しクロックの両方が正常に動作していると、FF100,102のデータ入力端子Dに入力されているHがFF100,102に保持され、FF100,102の出力信号はHになる。これに応じて、AND回路104の出力信号はHになる。
一方、初期化信号がHになった後、メモリ書き込みクロックおよびメモリ読み出しクロックの少なくとも一方がL固定もしくはH固定であれば、つまり、メモリ書き込みクロックおよびメモリ読み出しクロックの少なくとも一方に不具合があると、対応するFF100,102の出力信号は、初期化後のLのままの状態になる。これに応じて、AND回路104の出力信号も初期化後のLのままの状態になる。
【0074】
セレクタ(第2のセレクタ)82は、書き込みデータ比較回路78の出力信号である書き込みデータ比較信号に応じて、固定値A(第1の固定値)と、メモリチップ12からの読み出しデータとを切り替えて出力するものである。
セレクタの入力端子A0には固定値Aが入力され、入力端子A1には読み出しデータが入力され、選択入力端子には書き込みデータ比較信号が入力される。
【0075】
書き込みデータ比較信号がLの場合、つまり、書き込みデータW_Data、WB_Dataが不一致の場合、セレクタ82で入力端子A0が選択され、セレクタ82から固定値Aが出力される。一方、書き込みデータ比較信号がHの場合、つまり、書き込みデータW_Data、WB_Dataが一致する場合、セレクタ82で入力端子A1が選択され、セレクタ82から読み出しデータが出力される。
【0076】
セレクタ(第3のセレクタ)84は、クロック検出回路80の出力信号であるクロック検出信号に応じて、固定値B(第2の固定値)と、セレクタ82の出力信号とを切り替えて出力するものである。
セレクタ84の入力端子A0には固定値Bが入力され、入力端子A1にはセレクタ82の出力信号が入力され、選択入力端子にはクロック検出信号が入力される。
【0077】
クロック検出信号がLの場合、つまり、メモリ書き込みクロックおよびメモリ読み出しクロックの少なくとも一方に不具合がある場合、セレクタ84で入力端子A0が選択され、セレクタ84から固定値Bが出力される。一方、クロック検出信号がHの場合、つまり、メモリ書き込みクロックおよびメモリ読み出しクロックの両方が正常に動作している場合、セレクタ84で入力端子A1が選択され、セレクタ84からセレクタ82の出力信号が出力される。セレクタ84の出力信号は、読み出しデータR_Dataとして不具合切り分け回路32から出力される。
【0078】
つまり、書き込みデータ比較信号およびクロック検出信号がHの場合、つまり、書き込みデータW_Data、WB_Dataが一致し、かつ、メモリ書き込みクロックおよびメモリ読み出しクロックの両方が正常動作している場合、読み出しデータR_Dataとして、メモリチップ12からの読み出しデータが出力される。
【0079】
一方、書き込みデータ比較信号およびクロック検出信号の少なくとも一方がLの場合、セレクタ84から固定値A,Bが出力される。この場合、切替信号SWがLになるため、後述する試験結果出力回路34では、エラーデータEr_Dataが出力され、読み出しデータR_Dataとして固定値A,Bを使用して生成される第1の試験結果信号Cは出力されない。
【0080】
固定値A,Bは、互いに異なる所定ビット長のパラレルデータである。固定値A,Bの値は任意である。
【0081】
AND回路86は、書き込みデータ比較回路78の出力信号である書き込みデータ比較信号と、クロック検出回路80の出力信号であるクロック検出信号との論理積をとって出力するものである。
AND回路86には、書き込みデータ比較信号と、クロック検出信号とが入力され、AND回路86からは切替信号SWが出力される。
【0082】
書き込みデータ比較信号およびクロック検出信号の両方がHであれば、つまり、書き込みデータW_Data、WB_Dataが一致し、かつ、メモリ書き込みクロックおよびメモリ読み出しクロックの両方が正常動作している場合、AND回路86からHが出力される。両者の少なくとも一方がLであれば、つまり、書き込みデータW_Data、WB_Dataが不一致の場合、および、メモリ書き込みクロックおよびメモリ読み出しクロックの少なくとも一方に不具合がある場合の少なくとも一方の場合、AND回路86からLが出力される。AND回路86の出力信号は、切替信号SWとして不具合切り分け回路32から出力される。
【0083】
なお、本実施形態では、書き込みデータ比較信号とクロック検出信号との論理積をとるAND回路86を使用しているが、本発明はこれに限定されず、入出力信号の極性に応じて、書き込みデータ比較信号とクロック検出信号との論理をとる論理回路を使用することができる。
【0084】
パラレルシリアル変換回路88は、セレクタ84の出力信号、つまり、固定値Aまたは固定値Bをパラレルシリアル変換して出力するものである。
パラレルシリアル変換回路にはセレクタ84の出力信号が入力される。パラレルシリアル変換回路88の出力信号は、エラーデータEr_Dataとして不具合切り分け回路32から出力される。
【0085】
なお、セレクタ84から読み出しデータR_Dataが出力される場合にも、パラレルシリアル変換回路88により、読み出しデータR_Dataのパラレルシリアル変換が行われ、エラーデータEr_Dataが出力される。しかし、この場合、切替信号SWがHになるため、次に説明する試験結果出力回路34では、第1の試験結果信号Cが出力され、エラーデータEr_Dataは出力されない。
【0086】
最後に、試験結果出力回路34について説明する。
【0087】
図8は、
図1に示す試験結果出力回路34の構成を表す回路図である。同図に示す試験結果出力回路34は、セレクタ106を備えている。
セレクタ(第4のセレクタ)106は、不具合切り分け回路32の出力信号である切替信号SWに応じて、同じく不具合切り分け回路32の出力信号であるエラーデータEr_Dataと、試験結果信号生成回路30の出力信号である第1の試験結果信号Cとを切り替えて出力するものである。
セレクタ106の入力端子A0にはエラーデータEr_Dataが入力され、入力端子A1には第1の試験結果信号Cが入力され、選択入力端子には切替信号SWが入力される。
【0088】
切替信号SWがLの場合、つまり、書き込みデータW_Data、WB_Dataが不一致の場合、および、メモリ書き込みクロックおよびメモリ読み出しクロックの少なくとも一方に不具合がある場合の少なくとも一方の場合、セレクタ106で入力端子A0が選択され、セレクタ106からエラーデータEr_Data、つまり、固定値Aもしくは固定値Bのシリアルデータが出力される。
一方、切替信号SWがHの場合、つまり、書き込みデータW_Data、WB_Dataが一致し、かつ、メモリ書き込みクロックおよびメモリ読み出しクロックの両方が正常動作している場合、セレクタ106では入力端子A1が選択され、セレクタ106から第1の試験結果信号Cが出力される。
セレクタ106の出力信号は、第2の試験結果信号として試験結果出力回路34から出力される。
【0089】
メモリチップ試験回路18では、第2の試験結果信号に基づいて、以下の表1のように試験結果を識別することができる。
【0091】
図9に示すように、
図10,11に示す従来のメモリチップ試験回路120では、初期化、セルフテスト、メモリチップの試験が、この順序でシーケンシャルに実施されている。
これに対し、本実施形態のメモリチップ試験回路18では、
図9に示すように、初期化の後、メモリチップ12の試験を実施する時同時に、メモリチップ試験回路18の内部回路、ロジックチップ14のモード切替回路20等の試験(セルフテスト)を実施することができる。そのため、メモリチップ試験回路18では、従来よりも試験時間を短縮することができ、試験コストを削減することができる。
また、メモリチップ試験回路18では、不具合発生時に、不具合が発生している概略箇所を特定することができる。これにより、不具合発生時のデバッグ時間を短縮することができ、デバッグ効率を向上させることができる。
【0092】
なお、上記実施形態では、1つのメモリチップ12を搭載する半導体集積回路10を例に挙げて説明したが、本発明はこれに限定されず、2以上のメモリチップ12を搭載する半導体集積回路においても同様に適用可能である。
また、上記実施形態では、判定回路28、試験結果信号生成回路30、不具合切り分け回路32および試験結果出力回路34の具体的な回路構成を挙げて説明したが、本発明はこれらの構成の回路に限定されず、同様の機能を果たすことができる様々な構成の回路を採用することができる。また、メモリチップ試験回路18内の各信号の初期化後の値や、信号極性等は適宜変更してもよい。
【0093】
本発明は、基本的に以上のようなものである。
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。