(57)【要約】【課題】故障位置解析回路を設けることによる大型化を防止した半導体集積回路装置を提供する。【解決手段】記憶部ＲＭ１〜ＲＭｎに対して１対１で対応するように設けられたスキャンパス回路ＳＣ１〜ＳＣｎと、スキャンパス回路ＳＣ１〜ＳＣｎから出力されるシリアルデータＳＯ１〜ＳＯｎを受けてＯＲ演算を行うＯＲ回路ＯＲ１と、ＯＲ演算出力を受ける故障位置解析回路ＥＮＣとを備え、故障位置解析回路ＥＮＣにおいて、ＯＲ演算出力に基づいて、故障位置情報ＦＡＩＬ＿ＰＯＳＩやフェイルフラグＦＡＩＬ＿ＦＬＡＧが出力される。【選択図】図４
2008021359.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが、冗長機能を有する半導体記憶装置を有した複数の記憶部と、
前記複数の記憶部の動作の良否についての診断のためのテスト信号を出力する自己診断回路と、
前記複数の記憶部に対して１対１で設けられ、前記テスト信号に基づいて、前記複数の記憶部のそれぞれの出力値と、前記自己診断回路が出力する期待値とをメモリセルブロック単位で比較し、前記期待値との一致および不一致により、動作の良および不良を判断してビットデータとして出力する複数の比較回路と、
前記複数の比較回路に対して１対１で設けられ、前記複数の比較回路での比較結果をそれぞれパラレルに取り込み、シリアル出力データに変換して出力する複数のパラレル／シリアル変換回路と、
前記複数のパラレル／シリアル変換回路からそれぞれ出力される前記シリアル出力データを受け、ＯＲ演算を施すＯＲ回路と、
前記ＯＲ回路の演算出力に基づいて、故障メモリセルブロックの位置を特定する故障位置解析回路とを備える半導体集積回路装置。
【請求項２】
前記複数のパラレル／シリアル変換回路は、それぞれの出力部に設けられ、シリアルシフト動作を制御するシフト制御信号によってゲート動作が制御されるゲート回路を有する、請求項１記載の半導体集積回路装置。
【請求項３】
前記半導体集積回路装置は、
前記複数のパラレル／シリアル変換回路のシリアルシフト動作に同期して、前記シリアル出力データのビット番号をカウントするビットカウンタと、
前記ビットカウンタでのカウント結果を受けて、前記カウント結果が予め定めた所定値を越えた場合には、所定のイネーブル信号を出力する少なくとも１つのイネーブル制御回路と、をさらに備え、
前記複数のパラレル／シリアル変換回路は、それぞれの出力部に設けられ、前記イネーブル信号によってゲート動作が制御されるゲート回路を有する、請求項１記載の半導体集積回路装置。
【請求項４】
前記故障位置解析回路は、
前記ＯＲ回路の前記演算出力をカウントし、前記演算出力のうち前記メモリセルブロックの不良を示すビットに至った場合にカウントを停止することで、前記故障メモリセルブロックの位置を特定する位置情報用カウンタを有し、
前記半導体集積回路装置は、
前記位置情報用カウンタでのカウント結果を受けて、前記カウント結果が予め定めた所定値を越えた場合には、所定のイネーブル信号を出力する少なくとも１つのイネーブル制御回路、をさらに備え、
前記複数のパラレル／シリアル変換回路は、それぞれの出力部に設けられ、前記イネーブル信号によってゲート動作が制御されるゲート回路を有する、請求項１記載の半導体集積回路装置。
【請求項５】
前記少なくとも１つのイネーブル制御回路は、前記複数の記憶部の出力ビット数の種類に応じて複数配設され、
前記所定値は、前記出力ビット数の異なる記憶部のそれぞれの最大ビット番号に相当するように、イネーブル制御回路ごとに設定される、請求項３または請求項４記載の半導体集積回路装置。
【請求項６】
それぞれが、冗長機能を有する半導体記憶装置を有した複数の記憶部と、
前記複数の記憶部の動作の良否についての診断のためのテスト信号を出力する自己診断回路と、
前記複数の記憶部に対して１対１で設けられ、前記テスト信号に基づいて、前記複数の記憶部のそれぞれの出力値と、前記自己診断回路が出力する期待値とをメモリセルブロック単位で比較し、前記期待値との一致および不一致により、動作の良および不良を判断してビットデータとして出力する複数の比較回路と、
前記複数の比較回路に対して１対１で設けられ、前記複数の比較回路での比較結果をそれぞれパラレルに取り込み、シリアル出力データに変換して出力する複数のパラレル／シリアル変換回路と、
前記複数のパラレル／シリアル変換回路からそれぞれ出力される前記シリアル出力データを受け、何れか１つを選択して出力するセレクタ回路と、
前記セレクタ回路の出力に基づいて、故障メモリセルブロックの位置を特定する故障位置解析回路とを備える半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路装置に関し、特に半導体記憶装置の故障情報を解析する故障位置解析回路を有した半導体集積回路装置に関する。
【背景技術】
【０００２】
ＲＡＭ（Random Access Memory）等の半導体記憶装置を有する大規模集積回路（ＬＳＩ）においては、例えば、特許文献１に示されているように、ＲＡＭの故障位置を特定するための手段を有する構成が知られているが、特許文献１では、例えば図１に示されるように、１つのＲＡＭに対して１つの故障位置特定手段（故障位置解析回路）を設ける構成となっていた。
【０００３】
より具体的には、特許文献１においては、ＲＡＭのデータ出力に１対１で対応するようにデータ比較機能を有するスキャンレジスタ（図５〜図８）を設け、それらからシリアルにデータが出力されるように構成した比較機能を有するスキャンパスが開示されている。
【０００４】
当該スキャンパスの比較機能を活用してＲＡＭのテストを実行した後に、各データ出力に対するパスあるいはフェイルの情報をシリアルにスキャンアウトすることで、故障位置情報、すなわち、データ出力の何ビット目にフェイル情報が含まれているかという情報を取得することができる。
【０００５】
そして、取得した故障位置情報は、故障位置特定手段により解析されてコード化されることになる。
【０００６】
【特許文献１】特開２００２−１２４０９８号公報（図５〜図８）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１に示されるように、従来のＬＳＩにおいては、１つのＲＡＭに対して１つの故障位置解析回路を設ける構成となっていたので、ＬＳＩが大型化するという問題があった。
【０００８】
本発明は上記のような問題点を解消するためになされたもので、故障位置解析回路を設けることによる大型化を防止した半導体集積回路装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る請求項１記載の半導体集積回路装置は、それぞれが、冗長機能を有する半導体記憶装置を有した複数の記憶部と、前記複数の記憶部の動作の良否についての診断のためのテスト信号を出力する自己診断回路と、前記複数の記憶部に対して１対１で設けられ、前記テスト信号に基づいて、前記複数の記憶部のそれぞれの出力値と、前記自己診断回路が出力する期待値とをメモリセルブロック単位で比較し、前記期待値との一致および不一致により、動作の良および不良を判断してビットデータとして出力する複数の比較回路と、前記複数の比較回路に対して１対１で設けられ、前記複数の比較回路での比較結果をそれぞれパラレルに取り込み、シリアル出力データに変換して出力する複数のパラレル／シリアル変換回路と、前記複数のパラレル／シリアル変換回路からそれぞれ出力される前記シリアル出力データを受け、ＯＲ演算を施すＯＲ回路と、前記ＯＲ回路の演算出力に基づいて、故障メモリセルブロックの位置を特定する故障位置解析回路とを備えている。
【００１０】
本発明に係る請求項６記載の半導体集積回路装置は、それぞれが、冗長機能を有する半導体記憶装置を有した複数の記憶部と、前記複数の記憶部の動作の良否についての診断のためのテスト信号を出力する自己診断回路と、前記複数の記憶部に対して１対１で設けられ、前記テスト信号に基づいて、前記複数の記憶部のそれぞれの出力値と、前記自己診断回路が出力する期待値とをメモリセルブロック単位で比較し、前記期待値との一致および不一致により、動作の良および不良を判断してビットデータとして出力する複数の比較回路と、前記複数の比較回路に対して１対１で設けられ、前記複数の比較回路での比較結果をそれぞれパラレルに取り込み、シリアル出力データに変換して出力する複数のパラレル／シリアル変換回路と、前記複数のパラレル／シリアル変換回路からそれぞれ出力される前記シリアル出力データを受け、何れか１つを選択して出力するセレクタ回路と、前記セレクタ回路の出力に基づいて、故障メモリセルブロックの位置を特定する故障位置解析回路とを備えている。
【発明の効果】
【００１１】
本発明に係る請求項１記載の半導体集積回路装置によれば、複数のパラレル／シリアル変換回路からそれぞれ出力されるシリアル出力データをＯＲ回路で受けてＯＲ演算を施し、その演算出力に基づいて、故障位置解析回路で故障メモリセルブロックの位置を特定するので、１つの記憶部に対して１つの故障位置解析回路を設ける構成に比べて半導体集積回路装置の小型化が可能となる。また、複数のパラレル／シリアル変換回路からそれぞれ出力されるシリアル出力データをＯＲ回路で受けてＯＲ演算を施すので、故障が存在する記憶部が１つだけであると想定される場合、当該ＯＲ回路は故障が存在する記憶部のみの情報を自動的に選択して故障位置解析回路に入力する自動セレクタとして機能するので、シリアル出力データを選択するための構成が不要となり、装置構成を簡略化することができる。
【００１２】
本発明に係る請求項６記載の半導体集積回路装置によれば、複数のパラレル／シリアル変換回路からそれぞれ出力されるシリアル出力データをセレクタ回路で受けて、何れか１つを選択して出力し、当該出力に基づいて、故障位置解析回路で故障メモリセルブロックの位置を特定するので、１つの記憶部に対して１つの故障位置解析回路を設ける構成に比べて半導体集積回路装置の小型化が可能となる。
【発明を実施するための最良の形態】
【００１３】
＜Ａ．実施の形態１＞
本発明に係る半導体集積回路装置の実施の形態１について、図１〜図３を用いて説明する。
【００１４】
＜Ａ−１．装置構成＞
図１は、実施の形態１に係るＬＳＩ１００の全体構成を示すブロック図である。
図１に示すように、ＬＳＩ１００においては、冗長機能を有するＲＡＭで構成されるｎ個の記憶部ＲＭ１〜ＲＭｎと、これらの記憶部における記憶、読み出し動作の良否についての自己診断（セルフテスト）を制御する自己診断回路ＢＩＳＴとを備えている。
【００１５】
記憶部ＲＭ１〜ＲＭｎは、論理回路ＵＬとの間でデータを授受する構成となっており、論理回路ＵＬから出力されるアドレス信号ＵＡ１〜ＵＡｎ、データ入力信号ＵＤＩ１〜ＵＤＩｎおよびライトイネーブル信号ＵＷＥ１〜ＵＷｎが、それぞれ、セレクタ回路ＳＬ１〜ＳＬｎを介して記憶部ＲＭ１〜ＲＭｎに与えられる構成となっている。
【００１６】
セレクタ回路ＳＬ１〜ＳＬｎは、ＬＳＩ１００は通常動作モードにある場合と自己診断モードにある場合とで、記憶部ＲＭ１〜ＲＭｎに与える信号を切り替える回路であり、セレクタ回路ＳＬ１〜ＳＬｎには、自己診断回路ＢＩＳＴから、テスト信号として、テストアドレス信号ＴＡ、テストデータ入力信号ＴＤＩおよびテストライトイネーブル信号ＴＷＥが共通に与えられる構成となっている。
【００１７】
セレクタ回路ＳＬ１〜ＳＬｎでは、ＬＳＩ１００が通常動作モードにある場合は、アドレス信号ＵＡ１〜ＵＡｎ、データ入力信号ＵＤＩ１〜ＵＤＩｎおよびライトイネーブル信号ＵＷＥ１〜ＵＷｎを選択して記憶部ＲＭ１〜ＲＭｎにそれぞれ与え、自己診断モードにある場合は、テストアドレス信号ＴＡ、テストデータ入力信号ＴＤＩおよびテストライトイネーブル信号ＴＷＥを選択して記憶部ＲＭ１〜ＲＭｎに共通に与える。
【００１８】
記憶部ＲＭ１〜ＲＭｎのそれぞれのデータ出力ＤＯ１〜ＤＯｎは、論理回路ＵＬに与えられるとともに、比較機能を有するスキャンパス回路ＳＣ１〜ＳＣｎに与えられる構成となっている。
【００１９】
また、記憶部ＲＭ１〜ＲＭｎには、故障箇所を有するＲＡＭを救済するためのヒューズがそれぞれ接続されており、当該ヒューズを集めてヒューズ回路ＦＵ１が構成されている。
【００２０】
なお、ヒューズには、過電流により溶断するものの他に、外部からレーザー光を照射してで溶断するものや、フラッシュメモリのような不揮発メモリを使用することが考えられるが、本発明は何れのヒューズにも適用可能である。
【００２１】
スキャンパス回路ＳＣ１〜ＳＣｎは、記憶部ＲＭ１〜ＲＭｎに対して１対１で対応するように設けられており、比較回路ＣＭ１〜ＣＭｎおよびパラレル／シリアル変換回路ＰＳ１〜ＰＳｎをそれぞれ有している。
【００２２】
比較回路ＣＭ１〜ＣＭｎは、それぞれ記憶部ＲＭ１〜ＲＭｎのデータ出力ＤＯ１〜ＤＯｎを受け、自己診断回路ＢＩＳＴが出力する期待値ＥＸＰとの比較を行う回路であり、記憶部ＲＭ１〜ＲＭｎの出力データに対応した複数ビットの比較結果を出力する。例えば、ＲＡＭの出力ビットにおいて、故障しているビットに対しては“１”を、正常なビットに対しては“０”を出力する構成となっている。
【００２３】
期待値ＥＸＰは、単一ビットのデータとして与えても良いし、複数ビットのデータとして与えても良い。
【００２４】
単一ビットの場合は、記憶部ＲＭ１〜ＲＭｎのデータ出力ＤＯ１〜ＤＯｎの全ビットに対して、同一の期待値になることは言うまでもないが、複数ビットの場合は、部分的に異なる期待値データを供給することが可能となる。複数ビットの場合は一般的には期待値ＥＸＰをｍビットとして、その各ビットを記憶部ＤＯ１〜ＤＯｎのデータ出力の全ビットに対して１対多または１対１でグループ化して割り当てる。具体例としてはｍ＝２として、各記憶部ＤＯ１〜ＤＯｎのデータ出力の偶数番目のビットの期待値ＥＸＰ［０］と奇数番目のビットの期待値ＥＸＰ［１］との２ビットを期待値ＥＸＰとして用いることが考えられる。
【００２５】
なお、比較回路ＣＭ１〜ＣＭｎにおける比較動作は、自己診断回路ＢＩＳＴが出力する比較イネーブル信号ＣＭＰによって制御される構成となっている。
【００２６】
パラレル／シリアル変換回路ＰＳ１〜ＰＳｎは、比較回路ＣＭ１〜ＣＭｎが出力する複数ビットの比較結果をパラレルで取り込み、それぞれシリアルデータＳＯ１〜ＳＯｎに変換して出力する回路である。なお、パラレル／シリアル変換回路としては比較結果を複数回パラレルで取り込み、各ビットに対応した故障フラグ情報を蓄積する機能を持つものが望ましい。
【００２７】
そして、シリアルデータＳＯ１〜ＳＯｎは、セレクタ回路ＳＳＬに与えられ、図示しない選択信号によって選択された入力端子に与えられるシリアルデータが故障位置解析回路ＥＮＣに与えられる。なお、セレクタ回路ＳＳＬに与えられる選択信号は、ＬＳＩ１００の外部から入力ピンを介して与えられる構成であっても良いし、自己診断回路ＢＩＳＴが出力する構成であっても良いし、図示されない解析専用のコントローラから与えられる構成であっても良い。
【００２８】
故障位置解析回路ＥＮＣは、シリアルデータＳＯ１〜ＳＯｎから選択されたシリアルデータを受け、故障位置情報ＦＡＩＬ＿ＰＯＳＩやフェイルフラグＦＡＩＬ＿ＦＬＡＧを出力する装置である。
【００２９】
故障位置情報ＦＡＩＬ＿ＰＯＳＩやフェイルフラグＦＡＩＬ＿ＦＬＡＧは、故障情報出力論理回路ＯＬに与えられ、所望の信号形式に変換されて故障位置検出結果ＦＡ＿ＲＥＳＵＬＴとして出力される。
【００３０】
故障情報出力論理回路ＯＬは、例えば、パラレル／シリアル変換回路で構成して、故障位置情報ＦＡＩＬ＿ＰＯＳＩやフェイルフラグＦＡＩＬ＿ＦＬＡＧをシリアルデータに変換して出力すれば良い。
【００３１】
故障情報出力論理回路ＯＬが出力する故障位置検出結果ＦＡ＿ＲＥＳＵＬＴは、ＬＳＩテスト装置等で読み取り、故障箇所を有する記憶部に接続されたヒューズ回路ＦＵ１内のヒューズの切断情報として利用することができる。
【００３２】
具体的には、故障位置検出結果ＦＡ＿ＲＥＳＵＬＴに基づいて、該当する記憶部に接続されているヒューズを切断して、該当記憶部内の故障セルを含むメモリセルブロックを、予め準備されている冗長メモリセルブロックに置き換えることで、正常な記憶部として使用することができる。
【００３３】
なお、ヒューズ回路ＦＵ１が、電気的にプログラム可能なヒューズで構成されている場合は、故障情報出力論理回路ＯＬの出力データをＬＳＩ１００内の回路で処理して、ヒューズを切断することもできる。
【００３４】
次に、図２を用いて、発明に関連する部分の構成についてさらに説明する。
図２においては、便宜的に記憶部ＲＭ１およびＲＭ２を例に採り、これらから出力されるシリアルデータＳＯ１およびＳＯ２の一例を示して説明を行う。
【００３５】
図２に示すように、記憶部ＲＭ１およびＲＭ２は、どちらも８ビットのデータ出力ＸＤＯ（０）〜ＸＤＯ（７）を有したＲＡＭで構成され、比較機能を有するスキャンパス回路ＳＣ１およびＳＣ２も８ビットのデータに対応している。なお、図２においてはスキャンパス回路ＳＣ１およびＳＣ２は、便宜的に比較回路およびパラレル／シリアル変換回路を一纏めにして示している。
【００３６】
スキャンパス回路ＳＣ１およびＳＣ２は、共通する期待値ＥＸＰ、比較イネーブル信号ＣＭＰおよびシフト制御信号ＳＦＴを受ける構成となっている。
【００３７】
なお、シフト制御信号ＳＦＴは、ＬＳＩ１００の外部から入力ピンを介して与えられる構成であっても良いし、自己診断回路ＢＩＳＴが出力する構成であっても良いし、図示されない解析専用のコントローラから与えられる構成であっても良い。
【００３８】
スキャンパス回路ＳＣ１およびＳＣ２は、シフト機能、比較機能およびホールド機能を有し、シフト制御信号と比較イネーブル信号との組み合わせで、これらの機能の何れかが起動する。例えば、ＳＦＴ＝１，ＣＭＰ＝０の組み合わせでシフト機能が起動され、ＳＦＴ＝０，ＣＭＰ＝１の組み合わせで比較機能が起動され、ＳＦＴ＝０，ＣＭＰ＝０の組み合わせでホールド機能が起動される。
【００３９】
なお、比較を行う場合は、期待値ＥＸＰを与えるが、先に説明したように、この期待値は全データ出力に共通な単一ビットのデータでも良いし、適切にグルーピングした複数ビットのデータとして与えても良い。
【００４０】
例えば、記憶部のデータ出力の偶数番ビット（ＸＤＯ（０），ＸＤＯ（２），ＸＤＯ（４），ＸＤＯ（６））に対応した期待値を“０”としてＥＸＰ（０）端子に与え、奇数番ビット（ＸＤＯ（１），ＸＤＯ（３），ＸＤＯ（５），ＸＤＯ（７））に対応した期待値を“１”として、ＥＸＰ（１）端子に与えるように構成することができる。
【００４１】
例えば、記憶部ＲＭ２のデータ出力ＸＤＯ（４）に対応した回路（メモリセルやセンスアンプ、ライトドライバ等）に故障があった場合、スキャンパス回路ＳＣ２の比較機能を用いたテストの実行後は、スキャンパス回路ＳＣ２内のデータ（故障情報）は、図２に示すように“００００１０００”になる。この故障情報をスキャンパス回路ＳＣ２のシフト機能によりシリアルに出力端子からシフトアウトして、シリアルデータＳＯ２を得る。
【００４２】
一方、記憶部ＲＭ１においては何れのデータ出力に対応した回路にも故障はなく、スキャンパス回路ＳＣ１において期待値ＥＸＰとデータ出力とが一致するので、シリアルデータＳＯ１は“００００００００”となる。
【００４３】
なお、スキャンパス回路ＳＣ１およびＳＣ２においては、それぞれ、シリアル入力信号ＳＩ１およびＳＩ２が入力される構成となっており、故障がない場合に誤作動を防止するためにシリアル入力信号ＳＩ１およびＳＩ２として、“０”をシフトインしている。
【００４４】
シリアル入力信号ＳＩ１およびＳＩ２は、ＬＳＩ１００の外部から入力ピンを介して与えられる構成であっても良いし、自己診断回路ＢＩＳＴが出力する構成であっても良いし、図示されない解析専用のコントローラから与えられる構成であっても良い。
【００４５】
シリアルデータＳＯ１およびＳＯ２は、セレクタ回路ＳＳＬに与えられ、図示しない選択信号によって選択されたシリアルデータがセレクタ回路ＳＳＬの選択出力ＳＬＳＯとして故障位置解析回路ＥＮＣに与えられる。ここで、例えば、セレクタ回路ＳＳＬに与えられるシリアルデータを、予め定めた所定の順番に故障位置解析回路ＥＮＣに向けて出力するものとすれば、故障情報を有するシリアルデータＳＯ２が選択出力ＳＬＳＯとして故障位置解析回路ＥＮＣに与えられることで、故障情報が故障位置情報にコード化される。
【００４６】
故障位置解析回路ＥＮＣは、ＯＲ回路１と、フリップフロップ２と、位置情報用カウンタ３とを有して構成されている。
【００４７】
ＯＲ回路１はセレクタ回路ＳＳＬの出力を受けるとともに、フリップフロップ２のＱ出力も受け、ＯＲ回路１の出力は、フリップフロップ２のＤ入力に与えられるとともに、位置情報用カウンタ３のホールド入力にも与えられる。
【００４８】
また、フリップフロップ２のリセット入力および位置情報用カウンタ３のリセット入力には、リセット信号ＲＥＳＥＴが与えられ、フリップフロップ２のクロック入力および位置情報用カウンタ３のクロック入力には、クロック信号ＣＫが与えられる構成となっている。なお、クロック信号ＣＫは、スキャンパス回路ＳＣ１およびＳＣ２にも与えられる。
【００４９】
ここで、フリップフロップ２のＱ出力は、フェイルフラグＦＡＩＬ＿ＦＬＡＧとして故障位置解析回路ＥＮＣから出力され、位置情報用カウンタ３の３ビットの出力Ｑ（０）、Ｑ（１）、Ｑ（２）は、故障位置情報ＦＡＩＬ＿ＰＯＳＩとして故障位置解析回路ＥＮＣから出力される。
【００５０】
＜Ａ−２．装置動作＞
次に、図３に示すタイミングチャートを用いて、故障位置解析回路ＥＮＣの動作について説明する。
【００５１】
まず、解析動作に先だって、リセット信号ＲＥＳＥＴを“１”（高電位Ｈ）に設定することで、フリップフロップ２および位置情報用カウンタ３を“０”（低電位Ｌ）に初期化する。
【００５２】
次に、リセット信号ＲＥＳＥＴを“０”に遷移させてリセット状態を解除し、スキャンパス回路ＳＣ１およびＳＣ２に与えるシフト制御信号ＳＦＴを“１”に設定し、クロック信号ＣＫを与えれば、スキャンパス回路ＳＣ１およびＳＣ２からシフトアウトが始まるとともに、位置情報用カウンタ３のカウントアップが始まる。
【００５３】
図３の例では、セレクタ回路ＳＳＬにおいてスキャンパス回路ＳＣ２から出力されるシリアルデータＳＯ２が選択され、当該シリアルデータＳＯ２が故障位置解析回路ＥＮＣに与えられた場合を示しており、位置情報用カウンタ３のカウントが４（記憶部ＲＭ２の故障位置を表す値）になった時に、ホールド入力ＨＯＬＤに与えられる信号が“１”になる。その後は、クロック信号ＣＫが与えられても、位置情報用カウンタ３のカウントは増えることなくカウント４を保持する。この保持されたカウント数に基づいて故障位置情報ＦＡＩＬ＿ＰＯＳＩが作成され、故障位置解析回路ＥＮＣから出力される。
【００５４】
図３の例では、記憶部ＲＭ２のデータ出力ＸＤＯ（４）が“１”になって故障を表しているので、故障位置情報ＦＡＩＬ＿ＰＯＳＩの出力は“１００”となっている。
【００５５】
また、フェイルフラグＦＡＩＬ＿ＦＬＡＧは、ホールド入力ＨＯＬＤに与えられる信号が“１”になった後、クロック信号ＣＫの１パルス分遅れて“１”となる。
【００５６】
このような動作を、全ての記憶部に対して繰り返す、例えばセレクタ回路ＳＳＬにおいて複数のスキャンパス回路からのシリアルデータを順番に選択して出力することで、複数の記憶部において故障を有する場合にも故障位置の解析が可能となって、記憶部の救済をすることができる。
【００５７】
＜Ａ−３．効果＞
以上説明したように、実施の形態１に係るＬＳＩ１００によれば、複数の記憶部ＲＭ１〜ＲＭｎに対して１対１で対応するように設けられたスキャンパス回路ＳＣ１〜ＳＣｎから出力されるシリアルデータＳＯ１〜ＳＯｎをセレクタ回路ＳＳＬで受け、その中から選択したデータを故障位置解析回路ＥＮＣに与えて、故障位置情報ＦＡＩＬ＿ＰＯＳＩを得るようにするので、１つの記憶部に対して１つの故障位置解析回路を設ける構成となっていた従来のＬＳＩに比べて小型化が可能となる。
【００５８】
＜Ａ−４．変形例＞
以上説明した実施の形態１の変形例について図４および図５を用いて説明する。
図４は、変形例に係るＬＳＩ１００Ａの全体構成を示すブロック図であり、図１に示したＬＳＩ１００と同一の構成については同一の符号を付し、重複する説明は省略する。
【００５９】
図４に示すように、ＬＳＩ１００Ａにおいては、ＬＳＩ１００におけるセレクタ回路ＳＳＬの代わりに、ＯＲ回路ＯＲ１を使用することで、スキャンパス回路ＳＣ１〜ＳＣｎから出力されるシリアルデータＳＯ１〜ＳＯｎをＯＲ演算して、故障位置解析回路ＥＮＣに与える構成となっている。
【００６０】
また、故障箇所を有するＲＡＭを救済するためのヒューズは、記憶部ＲＭ１〜ＲＭｎに対して共通に接続されており、当該１つのヒューズによってヒューズ回路ＦＵ２が構成されている。
【００６１】
図４に示すＬＳＩ１００Ａにおいては、スキャンパス回路ＳＣ１〜ＳＣｎから出力されるシリアルデータＳＯ１〜ＳＯｎをＯＲ演算しているので、記憶部ＲＭ１〜ＲＭｎの何れか１つに故障がある場合は、ＯＲ回路ＯＲ１の出力は当該記憶部に対応するスキャンパス回路から送られるシリアルデータに等しくなるので、それをそのまま故障位置解析回路ＥＮＣに送れば、故障位置の解析が可能となる。
【００６２】
このような構成を採ることは、記憶部ＲＭ１〜ＲＭｎに対して、故障箇所を有する記憶部を救済するためのヒューズが共通に接続されている場合の解析に適している。
【００６３】
すなわち、記憶部ＲＭ１〜ＲＭｎに対してヒューズが共通に接続されている構成においては、許容される故障記憶部の個数は１つであり、２つ以上の記憶部に故障が存在する場合はＬＳＩ自体を不良品として扱うので、２つ以上の記憶部に故障が存在する場合を考慮する必要はないからである。
【００６４】
従って、ＯＲ回路ＯＲ１は故障が存在する記憶部のみの情報を自動的に選択して故障位置解析回路ＥＮＣに入力する自動セレクタとして機能する。
【００６５】
なお、故障箇所を有する記憶部を救済するためのヒューズが、全ての記憶部に共通に接続されている構成を採る場合に、当該ヒューズによる救済方法については、後に説明する。
【００６６】
また、図５には、ＬＳＩ１００Ａの発明に関連する主要部分の構成を示しており、図２に示したＬＳＩ１００と同一の構成については同一の符号を付し、重複する説明は省略する。
【００６７】
図５においては、便宜的に記憶部ＲＭ１およびＲＭ２を例に採り、これらから出力されるシリアルデータＳＯ１およびＳＯ２は、ＯＲ回路ＯＲ１に与えられ、ＯＲ演算を施した結果がＯＲ回路ＯＲ１の演算出力ＯＲＳＯとなる。この場合、演算出力ＯＲＳＯは、“００００１０００”となる。なお、シリアル入力信号ＳＩ１およびＳＩ２として、“０”をシフトインしているので、“００００１０００”の後は“０”が連続して出力される。  この演算出力ＯＲＳＯ（合成された故障情報）は、故障位置解析回路ＥＮＣに与えられることで、故障情報が故障位置情報にコード化される。
【００６８】
図５の例では、記憶部ＲＭ２のデータ出力ＸＤＯ（４）が“１”になって故障を表しているので、故障位置情報ＦＡＩＬ＿ＰＯＳＩの出力は“１００”となっている。
【００６９】
以上説明したＬＳＩ１００Ａによれば、複数の記憶部ＲＭ１〜ＲＭｎに対して１対１で対応するように設けられたスキャンパス回路ＳＣ１〜ＳＣｎから出力されるシリアルデータＳＯ１〜ＳＯｎをＯＲ回路ＯＲ１で受け、ＯＲ演算を施して故障位置解析回路ＥＮＣに与えて、故障位置情報ＦＡＩＬ＿ＰＯＳＩを得るようにするので、１つの記憶部に対して１つの故障位置解析回路を設ける構成となっていた従来のＬＳＩに比べて小型化が可能となる。
【００７０】
また、シリアルデータＳＯ１〜ＳＯｎの全てに対して１回のＯＲ演算を行うだけで、故障位置解析回路ＥＮＣに与えるべきデータを決定するので、テスト時間を短縮できる。
【００７１】
また、故障箇所を有する記憶部を救済するためのヒューズが、全ての記憶部に共通に接続されている構成を採るので、ヒューズの数を削減することができ、小面積、低コストのＬＳＩを実現できる。
【００７２】
＜Ｂ．実施の形態２＞
＜Ｂ−１．装置構成＞
図６は、本発明に係る半導体集積回路装置の実施の形態２のＬＳＩ２００において、発明に関連する部分を示す図である。なお、図５を用いて説明したＬＳＩ１００Ａと同一の構成については同一の符号を付し、重複する説明は省略する。
【００７３】
図６に示すように、ＬＳＩ２００においては、記憶部ＲＭ２が７ビットのデータ出力ＸＤＯ（０）〜ＸＤＯ（６）を有したＲＡＭで構成され、比較機能を有するスキャンパス回路ＳＣ２も７ビットのデータに対応している。
【００７４】
また、スキャンパス回路ＳＣ１およびＳＣ２においては、比較動作やシリアルシフト動作、ホールド動作を独立して行うために、それぞれ、期待値ＥＸＰ１およびＥＸＰ２、比較イネーブル信号ＣＭＰ１およびＣＭＰ２、シフト制御信号ＳＦＴ１およびＳＦＴ２を、それぞれ独立して受ける構成となっている。ただし、これらを独立制御する必要がない場合は、共通接続して使用することもできる。
【００７５】
なお、ＬＳＩ２００の全体構成は、基本的には、図４に示したＬＳＩ１００Ａの全体構成と同じであり、期待値、比較イネーブル信号が、自己診断回路ＢＩＳＴから、記憶部ＲＭ１〜ＲＭｎのそれぞれに対して別個独立に与えられる構成だけが異なる。
【００７６】
図６に示すＬＳＩ２００においても、図４に示したＬＳＩ１００Ａと同様に、スキャンパス回路ＳＣ１およびＳＣ２から出力されるシリアルデータＳＯ１およびＳＯ２をＯＲ演算しているので、ＯＲ回路ＯＲ１の出力は記憶部ＲＭ２に対応するスキャンパス回路ＳＣ２から送られるシリアルデータに等しくなり、それをそのまま故障位置解析回路ＥＮＣに送れば、故障位置の解析が可能となる。
【００７７】
この例では記憶部ＲＭ２のデータ出力ＸＤＯ（４）に対応した回路（メモリセルやセンスアンプ、ライトドライバ等）に故障があった場合を示しており、スキャンパス回路ＳＣ２の比較機能を用いたテストの実行後は、スキャンパス回路ＳＣ２内のデータ（故障情報）は、図６に示すように“００００１００”になる。この故障情報をスキャンパス回路ＳＣ２のシフト機能によりシリアルに出力端子からシフトアウトして、シリアルデータＳＯ２を得る。
【００７８】
一方、記憶部ＲＭ１においては何れのデータ出力に対応した回路にも故障はなく、スキャンパス回路ＳＣ１において期待値ＥＸＰとデータ出力とが一致するので、シリアルデータＳＯ１は“００００００００”となる。
【００７９】
シフト制御信号ＳＦＴ１およびＳＦＴ２を同時に“１”として、スキャンパス回路ＳＣ１およびＳＣ２を同時にシリアルシフト動作させた場合、演算出力ＯＲＳＯには“００００１０００”がシフトアウトされる。なお、シリアル入力信号ＳＩ１およびＳＩ２として、“０”をシフトインしているので、“００００１００”の後は“０”が連続して出力される。
【００８０】
この演算出力ＯＲＳＯ（合成された故障情報）は、故障位置解析回路ＥＮＣに与えられることで、故障情報が故障位置情報にコード化される。
【００８１】
図６の例では、記憶部ＲＭ２のデータ出力ＸＤＯ（４）が“１”になって故障を表しているので、故障位置情報ＦＡＩＬ＿ＰＯＳＩの出力は“１００”となっている。
【００８２】
なお、複数の記憶部で故障が発生した場合は、シフトアウト時に最初に検出された故障位置に応じた故障位置解析（コード化）が行われる。
【００８３】
＜Ｂ−２．効果＞
以上説明したＬＳＩ２００によれば、複数の記憶部ＲＭ１〜ＲＭｎに対して１対１で対応するように設けられたスキャンパス回路ＳＣ１〜ＳＣｎから出力されるシリアルデータＳＯ１〜ＳＯｎをＯＲ回路ＯＲ１で受け、ＯＲ演算を施して故障位置解析回路ＥＮＣに与えて、故障位置情報ＦＡＩＬ＿ＰＯＳＩを得るようにするので、１つの記憶部に対して１つの故障位置解析回路を設ける構成となっていた従来のＬＳＩに比べて小型化が可能となる。
【００８４】
また、期待値、比較イネーブル信号およびシフト制御信号を、複数の記憶部のそれぞれに対して別個独立に与えるように構成されているので、記憶部の出力ビット数が、記憶部によって異なる場合でも、故障位置解析回路ＥＮＣを共有することができる。
【００８５】
＜Ｃ．実施の形態３＞
＜Ｃ−１．装置構成＞
図７は、本発明に係る半導体集積回路装置の実施の形態３のＬＳＩ３００において、発明に関連する部分を示す図である。なお、図５を用いて説明したＬＳＩ１００Ａと同一の構成については同一の符号を付し、重複する説明は省略する。
【００８６】
図６に示すように、ＬＳＩ３００においては、記憶部ＲＭ２が７ビットのデータ出力ＸＤＯ（０）〜ＸＤＯ（６）を有したＲＡＭで構成され、比較機能を有するスキャンパス回路ＳＣ２も７ビットのデータに対応している。
【００８７】
また、スキャンパス回路ＳＣ１およびＳＣ２においては、比較動作やシリアルシフト動作、ホールド動作を独立して行うために、それぞれ、期待値ＥＸＰ１およびＥＸＰ２、比較イネーブル信号ＣＭＰ１およびＣＭＰ２、シフト制御信号ＳＦＴ１およびＳＦＴ２を、それぞれ独立して受ける構成となっている。ただし、期待値ＥＸＰ１およびＥＸＰ２と比較イネーブル信号ＣＭＰ１およびＣＭＰ２に関しては、これらを独立制御する必要がない場合は、共通接続して使用することもできる。
【００８８】
なお、ＬＳＩ３００の全体構成は、基本的には、図４に示したＬＳＩ１００Ａの全体構成と同じであり、期待値、比較イネーブル信号が、自己診断回路ＢＩＳＴから、記憶部ＲＭ１〜ＲＭｎのそれぞれに対して別個独立に与えられる構成だけが異なる。
【００８９】
また、ＬＳＩ３００においては、記憶部ＲＭ１およびＲＭ２にそれぞれ接続されるスキャンパス回路ＳＣ１およびＳＣ２が、それぞれシリアル出力端子部にシフト制御信号ＳＦＴ１およびＳＦＴ２で制御されるＡＮＤ回路ＡＮ１およびＡＮ２を備えている。
【００９０】
すなわち、スキャンパス回路ＳＣ１においては、記憶部ＲＭ１から受けた８ビットのデータを出力するシリアル出力端子部がＡＮＤ回路ＡＮ１の一方の入力に接続され、ＡＮＤ回路ＡＮ１の他方の入力にはシフト制御信号ＳＦＴ１が与えられる構成となっている。
【００９１】
そして、ＡＮＤ回路ＡＮ１の出力がスキャンパス回路ＳＣ１からのシリアルデータＥＳＯ１としてＯＲ回路ＯＲ１に与えられる構成となっている。
【００９２】
なお、スキャンパス回路ＳＣ１は、ＡＮＤ演算前のシリアルデータＳＯ１を外部に出力できる構成も有している。
【００９３】
また、スキャンパス回路ＳＣ２においては、記憶部ＲＭ２から受けた７ビットのデータを出力するシリアル出力端子部がＡＮＤ回路ＡＮ２の一方の入力に接続され、ＡＮＤ回路ＡＮ２の他方の入力にはシフト制御信号ＳＦＴ２が与えられる構成となっている。
【００９４】
そして、ＡＮＤ回路ＡＮ２の出力がスキャンパス回路ＳＣ２からのシリアルデータＥＳＯ２としてＯＲ回路ＯＲ１に与えられる構成となっている。
【００９５】
なお、スキャンパス回路ＳＣ２は、ＡＮＤ演算前のシリアルデータＳＯ２を外部に出力できる構成も有している。
【００９６】
このような構成を有するＬＳＩ３００においては、図６に示したＬＳＩ２００と比べて、以下のような特徴を有している。
【００９７】
すなわち、ＬＳＩ２００においては、記憶部ＲＭ１およびＲＭ２のどちらか一方において、データ出力ＸＤＯ（０）に故障が発見されると、ＯＲ回路ＯＲ１の演算出力ＯＲＳＯは、最初のビット出力が“１”になってしまう。
【００９８】
例えば、図７においては、記憶部ＲＭ１のデータ出力ＸＤＯ（０）に対応した回路に故障があった場合を示しており、スキャンパス回路ＳＣ１の比較機能を用いたテストの実行後は、スキャンパス回路ＳＣ１内のデータ（故障情報）は、“１０００００００”になっている。また、記憶部ＲＭ２においては、データ出力ＸＤＯ（４）に対応した回路に故障があった場合を示しており、スキャンパス回路ＳＣ２の比較機能を用いたテストの実行後は、スキャンパス回路ＳＣ２内のデータ（故障情報）は、“００００１００”になっている。
【００９９】
このような場合、ＬＳＩ２００においてはＯＲ回路ＯＲ１の演算出力ＯＲＳＯは“１０００１０００”となってしまい、故障位置解析回路ＥＮＣにおける故障位置解析が正確に行えないという可能性を有している。
【０１００】
しかし、ＬＳＩ３００においては、ＡＮＤ回路ＡＮ１およびＡＮ２に与えるシフト制御信号ＳＦＴ１およびＳＦＴ２を調整することで、このような問題を解消できる。
【０１０１】
すなわち、図７に示すＬＳＩ３００において、スキャンパス回路ＳＣ１のＡＮＤ回路ＡＮ１の他方の入力にシフト制御信号ＳＦＴ１として“０”を与えると、ＡＮＤ回路ＡＮ１の出力は、スキャンパス回路ＳＣ１内のデータによらず“０”のみを出力することになる。
【０１０２】
一方、スキャンパス回路ＳＣ２のＡＮＤ回路ＡＮ２の他方の入力にシフト制御信号ＳＦＴ２として“１”を与えると、ＡＮＤ回路ＡＮ２の出力は、スキャンパス回路ＳＣ２内のデータを反映した値となる。
【０１０３】
従って、この状態で、スキャンパス回路ＳＣ２のデータをシフトアウトすれば、ＯＲ回路ＯＲ１の出力は記憶部ＲＭ２に対応するスキャンパス回路ＳＣ２から送られるシリアルデータＥＳＯ２に等しくなり、それをそのまま故障位置解析回路ＥＮＣに送れば、記憶部ＲＭ２の故障位置の解析が可能となる。
【０１０４】
なお、記憶部ＲＭ１の故障位置の解析を行うには、スキャンパス回路ＳＣ１のＡＮＤ回路ＡＮ１の他方の入力にシフト制御信号ＳＦＴ１として“１”を与え、一方、スキャンパス回路ＳＣ２のＡＮＤ回路ＡＮ２の他方の入力にシフト制御信号ＳＦＴ２として“０”を与えることで、スキャンパス回路ＳＣ１のデータをシフトアウトすれば、ＯＲ回路ＯＲ１の出力は記憶部ＲＭ１に対応するスキャンパス回路ＳＣ１から送られるシリアルデータＥＳＯ１に等しくなり、それをそのまま故障位置解析回路ＥＮＣに送れば、記憶部ＲＭ１の故障位置の解析が可能となる。
【０１０５】
なお、図７に示すように、複数の記憶部において故障を有する場合、上述したように何れか１つの記憶部に接続されるスキャンパス回路にはシフト制御信号として“１”を与え、他の記憶部に接続されるスキャンパス回路にはシフト制御信号として“０”を与えることで、当該１の記憶部の故障位置の解析を行う。そして、故障位置が確認された場合は、ヒューズによる救済を行う。その後、再び自己診断を行った後、他の記憶部から１つの記憶部を選択し、それに接続されるスキャンパス回路にはシフト制御信号として“１”を与え、他の記憶部に接続されるスキャンパス回路にはシフト制御信号として“０”を与える。このような動作を、全ての記憶部に対して繰り返すことで、複数の記憶部において故障を有する場合にも故障位置の解析が可能となって、記憶部の救済をすることができる。
【０１０６】
＜Ｃ−２．効果＞
以上説明したＬＳＩ３００によれば、複数の記憶部ＲＭ１〜ＲＭｎに対して１対１で対応するように設けられたスキャンパス回路ＳＣ１〜ＳＣｎから出力されるシリアルデータＳＯ１〜ＳＯｎをＯＲ回路ＯＲ１で受け、ＯＲ演算を施して故障位置解析回路ＥＮＣに与えて、故障位置情報ＦＡＩＬ＿ＰＯＳＩを得るようにするので、１つの記憶部に対して１つの故障位置解析回路を設ける構成となっていた従来のＬＳＩに比べて小型化が可能となる。
【０１０７】
また、記憶部ＲＭ１およびＲＭ２にそれぞれ接続されるスキャンパス回路ＳＣ１およびＳＣ２が、それぞれシリアル出力端子部にシフト制御信号ＳＦＴ１およびＳＦＴ２で制御されるＡＮＤ回路ＡＮ１およびＡＮ２を備えているので、シフト制御信号ＳＦＴ１およびＳＦＴ２を調整することで、複数の記憶部において故障を有する場合にも故障位置の解析が可能となって、記憶部の救済をすることができる。
【０１０８】
＜Ｄ．実施の形態４＞
＜Ｄ−１．装置構成＞
図８は、本発明に係る半導体集積回路装置の実施の形態４のＬＳＩ４００において、発明に関連する部分を示す図である。なお、図５を用いて説明したＬＳＩ１００Ａと同一の構成については同一の符号を付し、重複する説明は省略する。
【０１０９】
図８に示すように、ＬＳＩ４００においては、記憶部ＲＭ２が７ビットのデータ出力ＸＤＯ（０）〜ＸＤＯ（６）を有したＲＡＭで構成され、比較機能を有するスキャンパス回路ＳＣ２も７ビットのデータに対応している。
【０１１０】
また、スキャンパス回路ＳＣ１およびＳＣ２においては、比較動作やシリアルシフト動作、ホールド動作を独立して行うために、それぞれ、期待値ＥＸＰ１およびＥＸＰ２、比較イネーブル信号ＣＭＰ１およびＣＭＰ２、シフト制御信号ＳＦＴ１およびＳＦＴ２を、それぞれ独立して受ける構成となっている。ただし、独立制御する必要がない場合は、共通接続して使用することもできる。
【０１１１】
また、ＬＳＩ４００においては、記憶部ＲＭ１およびＲＭ２にそれぞれ接続されるスキャンパス回路ＳＣ１およびＳＣ２が、それぞれシリアル出力端子部に、ＡＮＤ回路ＡＮ１およびＡＮ２を備えている。
【０１１２】
すなわち、スキャンパス回路ＳＣ１においては、記憶部ＲＭ１から受けた８ビットのデータを出力するシリアル出力端子部がＡＮＤ回路ＡＮ１の一方の入力に接続され、ＡＮＤ回路ＡＮ１の他方の入力にはスキャンパス回路ＳＣ１のシリアルシフト動作に基づいて生成されるイネーブル信号ＥＮ１が与えられる構成となっている。
【０１１３】
そして、ＡＮＤ回路ＡＮ１の出力がスキャンパス回路ＳＣ１からのシリアルデータＥＳＯ１としてＯＲ回路ＯＲ１に与えられる構成となっている。
【０１１４】
なお、スキャンパス回路ＳＣ１は、ＡＮＤ演算前のシリアルデータＳＯ１を外部に出力できる構成も有している。
【０１１５】
また、スキャンパス回路ＳＣ２においては、記憶部ＲＭ２から受けた７ビットのデータを出力するシリアル出力端子部がＡＮＤ回路ＡＮ２の一方の入力に接続され、ＡＮＤ回路ＡＮ２の他方の入力にはスキャンパス回路ＳＣ２のシリアルシフト動作に基づいて生成されるイネーブル信号ＥＮ２が与えられる構成となっている。
【０１１６】
そして、ＡＮＤ回路ＡＮ２の出力がスキャンパス回路ＳＣ２からのシリアルデータＥＳＯ２としてＯＲ回路ＯＲ１に与えられる構成となっている。
【０１１７】
なお、スキャンパス回路ＳＣ２は、ＡＮＤ演算前のシリアルデータＳＯ２を外部に出力できる構成も有している。
【０１１８】
このような構成を有するＬＳＩ４００においては、図６に示したＬＳＩ２００と比べて、以下のような特徴を有している。
【０１１９】
すなわち、図６に示したＬＳＩ２００では、故障がない場合に誤作動を防止するためにシリアル入力信号ＳＩ１およびＳＩ２として、“０”をシフトインしているので、スキャンパス回路ＳＣ１およびＳＣ２に、他の情報をシフトインすることができず、例えば、シリアルデータＳＯ１の信号をシリアル入力信号ＳＩ２として与えることができなかった。
【０１２０】
しかし、ＬＳＩ４００においては、シリアル入力信号ＳＩ１およびＳＩ２にいかなる信号も与えることができる。
【０１２１】
図８に示すＬＳＩ４００においては、スキャンパス回路ＳＣ１およびＳＣ２のシリアルシフト動作に同期してビット番号をカウントするビットカウンタＢＣを備え、さらに、このビットカウンタＢＣの出力値を、記憶部ＲＭ１およびＲＭ２のビット番号の最大値と比較して、イネーブル信号ＥＮ１およびＥＮ２を出力するイネーブル制御回路ＥＣ１およびＥＣ２を備えている。
【０１２２】
ビットカウンタＢＣは、シフト制御信号ＳＦＴ１またはＳＦＴ２に基づいて、スキャンパス回路ＳＣ１およびＳＣ２のシリアルシフト動作に同期してビット番号をカウントし、カウント結果をイネーブル制御回路ＥＣ１およびＥＣ２に与える。
【０１２３】
イネーブル制御回路ＥＣ１は、８ビットの記憶部ＲＭ１に接続されるスキャンパス回路ＳＣ１のシリアルデータＥＳＯ１のイネーブル制御を行う回路であり、ビットカウンタＢＣのＢ出力が７以下、すなわちビット番号が７以下である場合にはイネーブル信号ＥＮ１として“１”を出力し、ビットカウンタＢＣのＢ出力が７を越えた場合はイネーブル信号ＥＮ１として“０”を出力するように構成されている。
【０１２４】
従って、スキャンパス回路ＳＣ１において、スキャンパス回路ＳＣ１内のデータをシフトアウトしている場合は、当該データがＯＲ回路ＯＲ１に与えられるが、シフトアウトが終わった後は、ＡＮＤ回路ＡＮ１からは“０”のみが出力されることになる。
【０１２５】
イネーブル制御回路ＥＣ２は、７ビットの記憶部ＲＭ２に接続されるスキャンパス回路ＳＣ２のシリアルデータＥＳＯ２のイネーブル制御を行う回路であり、ビットカウンタＢＣのＢ出力が６以下、すなわちビット番号が６以下である場合にはイネーブル信号ＥＮ２として“１”を出力し、ビットカウンタＢＣのＢ出力が６を越えた場合はイネーブル信号ＥＮ２として“０”を出力するように構成されている。
【０１２６】
従って、スキャンパス回路ＳＣ２において、スキャンパス回路ＳＣ２内のデータをシフトアウトしている場合は、当該データがＯＲ回路ＯＲ１に与えられるが、シフトアウトが終わった後は、ＡＮＤ回路ＡＮ２からは“０”のみが出力されることになる。
【０１２７】
＜Ｄ−２．装置動作＞
次に、図９に示すタイミングチャートを用いて、ビットカウンタＢＣおよびイネーブル制御回路ＥＣ１およびＥＣ２の動作について説明する。
【０１２８】
まず、解析動作に先だって、リセット信号ＲＥＳＥＴを“１”に設定することで、フリップフロップ２および位置情報用カウンタ３を“０”に初期化する。
【０１２９】
次に、リセット信号ＲＥＳＥＴを“０”に遷移させてリセット状態を解除し、スキャンパス回路ＳＣ１およびＳＣ２に与えるシフト制御信号ＳＦＴ１およびＳＦＴ２を“１”に設定し、クロック信号ＣＫを与えれば、スキャンパス回路ＳＣ１およびＳＣ２からシフトアウトが始まるとともに、位置情報用カウンタ３のカウントアップが始まる。同時に、ビットカウンタＢＣのカウントアップも始まり、Ｂ出力からカウント結果が刻々と出力される。
【０１３０】
イネーブル制御回路ＥＣ１は、Ｂ出力が８に達するまでは“１”を出力するが、Ｂ出力が８に達した後は“０”を出力する。また、イネーブル制御回路ＥＣ２は、Ｂ出力が７に達するまでは“１”を出力するが、Ｂ出力が７に達した後は“０”を出力する。
【０１３１】
従って、Ｂ出力が８に達した後は、ＡＮＤ回路ＡＮ１の出力は、スキャンパス回路ＳＣ１内のデータによらず“０”のみを出力することになる。同様に、Ｂ出力が７に達した後は、ＡＮＤ回路ＡＮ２の出力は、スキャンパス回路ＳＣ２内のデータによらず“０”のみを出力することになる。
【０１３２】
このため、データのシフトアウト後に、シリアル入力信号ＳＩ１およびＳＩ２として、“０”をシフトインする必要がなくなり、スキャンパス回路ＳＣ１およびＳＣ２に他の情報をシフトインすることが可能となる。
【０１３３】
従って、例えばシリアルデータＳＯ１の信号をシリアル入力信号ＳＩ２として与えることも可能となる。これは、シフト制御信号ＳＦＴ１およびＳＦＴ２を共通接続できることを意味する。また、シリアル入力信号ＳＩ１およびＳＩ２にいかなる信号を与えても良いことは言うまでもない。
【０１３４】
なお、図９においては、ビットカウンタＢＣのＢ出力が８に達した後は、シリアルデータＳＯ１の出力は任意の値Ｘとして表しており、Ｂ出力が７に達した後は、シリアルデータＳＯ２の出力は任意の値Ｘとして表している。
【０１３５】
＜Ｄ−３．効果＞
以上説明したように、実施の形態４に係るＬＳＩ４００によれば、故障位置解析時でもスキャンパス回路に任意の情報をシフトインできるので、故障位置解析を行いながら自己診断をする際に有用である。また、記憶部に対応するスキャンパス回路の診断情報のデータをシリアルにシフトアウトしながら、故障位置解析（コード化）も行うことができる。
【０１３６】
＜Ｄ−４．変形例＞
なお、以上の説明においては、スキャンパス回路ごとにイネーブル制御回路を設けた構成を説明したが、これに限定されるものではなく、記憶部の出力ビット数の種類に応じて配設すれば良い。
【０１３７】
すなわち、例えば、複数の記憶部が、出力ビット数によって３種類に分類されるのであれば、３つのイネーブル制御回路を設ければ良く、同じ出力ビット数を有する記憶部どうしは、１つのイネーブル制御回路から共通のイネーブル信号を受ければ良い。
【０１３８】
このような構成を採ることで、出力ビット数が異なる複数種類の記憶部を有する場合にも対応することができる。
【０１３９】
なお、複数の記憶部が、何れも同じ出力ビット数であれば、イネーブル制御回路は１つ設ければ良いということになる。
【０１４０】
＜Ｅ．実施の形態５＞
＜Ｅ−１．装置構成＞
図１０は、本発明に係る半導体集積回路装置の実施の形態５のＬＳＩ５００において、発明に関連する部分を示す図である。なお、図５を用いて説明したＬＳＩ１００Ａと同一の構成については同一の符号を付し、重複する説明は省略する。
【０１４１】
図１０に示すように、ＬＳＩ５００においては、記憶部ＲＭ２が７ビットのデータ出力ＸＤＯ（０）〜ＸＤＯ（６）を有したＲＡＭで構成され、比較機能を有するスキャンパス回路ＳＣ２も７ビットのデータに対応している。
【０１４２】
また、スキャンパス回路ＳＣ１およびＳＣ２においては、比較動作やシリアルシフト動作、ホールド動作を独立して行うために、それぞれ、期待値ＥＸＰ１およびＥＸＰ２、比較イネーブル信号ＣＭＰ１およびＣＭＰ２、シフト制御信号ＳＦＴ１およびＳＦＴ２を、それぞれ独立して受ける構成となっている。ただし、独立制御する必要がない場合は、共通接続して使用することもできる。
【０１４３】
また、ＬＳＩ５００においては、記憶部ＲＭ１およびＲＭ２にそれぞれ接続されるスキャンパス回路ＳＣ１およびＳＣ２が、それぞれシリアル出力端子部に、ＡＮＤ回路ＡＮ１およびＡＮ２を備えている。
【０１４４】
すなわち、スキャンパス回路ＳＣ１においては、記憶部ＲＭ１から受けた８ビットのデータを出力するシリアル出力端子部がＡＮＤ回路ＡＮ１の一方の入力に接続され、ＡＮＤ回路ＡＮ１の他方の入力にはスキャンパス回路ＳＣ１のシリアルシフト動作に基づいて生成されるイネーブル信号ＥＮ１が与えられる構成となっている。
【０１４５】
そして、ＡＮＤ回路ＡＮ１の出力がスキャンパス回路ＳＣ１からのシリアルデータＥＳＯ１としてＯＲ回路ＯＲ１に与えられる構成となっている。
【０１４６】
なお、スキャンパス回路ＳＣ１は、ＡＮＤ演算前のシリアルデータＳＯ１を外部に出力できる構成も有している。
【０１４７】
また、スキャンパス回路ＳＣ２においては、記憶部ＲＭ２から受けた７ビットのデータを出力するシリアル出力端子部がＡＮＤ回路ＡＮ２の一方の入力に接続され、ＡＮＤ回路ＡＮ２の他方の入力にはスキャンパス回路ＳＣ２のシリアルシフト動作に基づいて生成されるイネーブル信号ＥＮ２が与えられる構成となっている。
【０１４８】
そして、ＡＮＤ回路ＡＮ２の出力がスキャンパス回路ＳＣ２からのシリアルデータＥＳＯ２としてＯＲ回路ＯＲ１に与えられる構成となっている。
【０１４９】
なお、スキャンパス回路ＳＣ２は、ＡＮＤ演算前のシリアルデータＳＯ２を外部に出力できる構成も有している。
【０１５０】
このような構成を有するＬＳＩ５００においては、図６に示したＬＳＩ２００と比べて、以下のような特徴を有している。
【０１５１】
すなわち、図６に示したＬＳＩ２００では、故障がない場合に誤作動を防止するためにシリアル入力信号ＳＩ１およびＳＩ２として、“０”をシフトインしているので、スキャンパス回路ＳＣ１およびＳＣ２に、他の情報をシフトインすることができず、例えば、シリアルデータＳＯ１の信号をシリアル入力信号ＳＩ２として与えることができなかった。
【０１５２】
しかし、ＬＳＩ５００においては、シリアル入力信号ＳＩ１およびＳＩ２にいかなる信号も与えることができる。
【０１５３】
図１０に示すＬＳＩ５００においては、故障位置解析回路ＥＮＣに含まれる位置情報用カウンタ３ａにおけるカウント機能を利用して、スキャンパス回路ＳＣ１およびＳＣ２のシリアルシフト動作に同期してビット番号をカウントする構成となっている。
【０１５４】
そして、位置情報用カウンタ３ａでのカウントの出力値を、記憶部ＲＭ１およびＲＭ２のビット番号の最大値と比較して、イネーブル信号ＥＮ１およびＥＮ２を出力するイネーブル制御回路ＥＣ１およびＥＣ２を備えている。
【０１５５】
位置情報用カウンタ３ａは、故障位置情報ＦＡＩＬ＿ＰＯＳＩを出力する３ビットの出力Ｑ（０）、Ｑ（１）、Ｑ（２）（Ｑ［２：０］）に加えて、記憶部ＲＭ１およびＲＭ２における最大ビット番号よりも１つ多い値を出力可能な、４ビットのＱ［３：０］出力を有している。
【０１５６】
すなわち、図１０に示す例では、記憶部ＲＭ１が８ビットで最もビット数が多く、最大ビット番号は７であるので、それよりも１つ多い８の値を出力するために、４ビットのＢ［３：０］出力を有している。なお、位置情報用カウンタ３ａは、４ビットカウンタであることは言うまでもない。
【０１５７】
なお、故障が検出されない場合に備えて位置情報用カウンタ３ａにカウント停止機能を付加することが望ましい。この場合、このカウンタの停止機能の停止値は記憶部の最大ビット番号よりも大きい必要がある。
【０１５８】
スキャンパス回路ＳＣ１およびＳＣ２からシフトアウトが始まるとともに、位置情報用カウンタ３ａのカウントアップが始まり、カウント結果（Ｑ［３：０］）がイネーブル制御回路ＥＣ１およびＥＣ２にＢ［３：０］出力として与えられる。
【０１５９】
イネーブル制御回路ＥＣ１は、８ビットの記憶部ＲＭ１に接続されるスキャンパス回路ＳＣ１のシリアルデータＥＳＯ１のイネーブル制御を行う回路であり、位置情報用カウンタ３ａのＱ［３：０］（Ｂ［３：０］）出力が７以下、すなわちビット番号が７以下である場合にはイネーブル信号ＥＮ１として“１”を出力し、位置情報用カウンタ３ａのＱ［３：０］（Ｂ［３：０］）出力が７を越えた場合はイネーブル信号ＥＮ１として“０”を出力するように構成されている。
【０１６０】
従って、スキャンパス回路ＳＣ１において、スキャンパス回路ＳＣ１内のデータをシフトアウトしている場合は、当該データがＯＲ回路ＯＲ１に与えられるが、シフトアウトが終わった後は、ＡＮＤ回路ＡＮ１からは“０”のみが出力されることになる。
【０１６１】
イネーブル制御回路ＥＣ２は、７ビットの記憶部ＲＭ２に接続されるスキャンパス回路ＳＣ２のシリアルデータＥＳＯ２のイネーブル制御を行う回路であり、位置情報用カウンタ３ａのＱ［３：０］（Ｂ［３：０］）出力が６以下、すなわちビット番号が６以下である場合にはイネーブル信号ＥＮ２として“１”を出力し、位置情報用カウンタ３ａのＱ［３：０］（Ｂ［３：０］）出力が６を越えた場合はイネーブル信号ＥＮ２として“０”を出力するように構成されている。
【０１６２】
従って、スキャンパス回路ＳＣ２において、スキャンパス回路ＳＣ２内のデータをシフトアウトしている場合は、当該データがＯＲ回路ＯＲ１に与えられるが、シフトアウトが終わった後は、ＡＮＤ回路ＡＮ２からは“０”のみが出力されることになる。
【０１６３】
＜Ｅ−２．装置動作＞
次に、図１１および図１２に示すタイミングチャートを用いて、位置情報用カウンタ３ａおよびイネーブル制御回路ＥＣ１およびＥＣ２の動作について説明する。
【０１６４】
図１１は故障が検出された場合のタイミングチャートを表し、図１２は故障が検出されなかった場合のタイミングチャートを表している。
【０１６５】
図１１に示すように、まず、解析動作に先だって、リセット信号ＲＥＳＥＴを“１”に設定することで、フリップフロップ２および位置情報用カウンタ３ａを“０”に初期化する。
【０１６６】
次に、リセット信号ＲＥＳＥＴを“０”に遷移させてリセット状態を解除し、スキャンパス回路ＳＣ１およびＳＣ２に与えるシフト制御信号ＳＦＴ１およびＳＦＴ２を“１”に設定し、クロック信号ＣＫを与えれば、スキャンパス回路ＳＣ１およびＳＣ２からシフトアウトが始まるとともに、位置情報用カウンタ３ａのカウントアップが始まる。
【０１６７】
このカウントアップにより、Ｑ［２：０］出力、Ｑ［３：０］出力からカウント結果が刻々と出力される。
【０１６８】
位置情報用カウンタ３ａのカウントが４（記憶部ＲＭ２の故障位置を表す値）になった時に、ホールド入力ＨＯＬＤに与えられる信号が“１”になる。その後は、クロック信号ＣＫが与えられても、位置情報用カウンタ３ａのカウント（Ｑ［２：０］、Ｑ［３：０］）は増えることなくカウント４を保持する。この保持されたカウント数に基づいて故障位置情報ＦＡＩＬ＿ＰＯＳＩ（Ｑ［２：０］）出力が作成され、故障位置解析回路ＥＮＣから出力される。
【０１６９】
図１１の例では、記憶部ＲＭ２のデータ出力ＸＤＯ（４）が“１”になって故障を表しているので、故障位置情報ＦＡＩＬ＿ＰＯＳＩの出力は“１００”となっている。
【０１７０】
また、フェイルフラグＦＡＩＬ＿ＦＬＡＧは、ホールド入力ＨＯＬＤに与えられる信号が“１”になった後、クロック信号ＣＫの１パルス分遅れて“１”となる。
【０１７１】
位置情報用カウンタ３ａのＱ［３：０］出力が４を保持することで、イネーブル制御回路ＥＣ１およびＥＣ２は１の出力を維持し続ける。
【０１７２】
故障が検出されなかった場合には、図１２に示すように、スキャンパス回路ＳＣ１およびＳＣ２からシフトアウトが始まって、位置情報用カウンタ３ａのカウントアップが始まると、イネーブル制御回路ＥＣ１は、Ｂ［３：０］出力が８に達するまでは“１”を出力するが、Ｂ［３：０］出力が８に達した後は“０”を出力する。また、イネーブル制御回路ＥＣ２は、Ｂ［３：０］出力が７に達するまでは“１”を出力するが、Ｂ［３：０］出力が７に達した後は“０”を出力する。
【０１７３】
従って、Ｂ［３：０］出力が８に達した後は、ＡＮＤ回路ＡＮ１の出力は、スキャンパス回路ＳＣ１内のデータによらず“０”のみを出力することになる。同様に、Ｂ［３：０］出力が７に達した後は、ＡＮＤ回路ＡＮ２の出力は、スキャンパス回路ＳＣ２内のデータによらず“０”のみを出力することになる。
【０１７４】
このため、データのシフトアウト後に、シリアル入力信号ＳＩ１およびＳＩ２として、“０”をシフトインする必要がなくなり、スキャンパス回路ＳＣ１およびＳＣ２に他の情報をシフトインすることが可能となる。
【０１７５】
従って、例えばシリアルデータＳＯ１の信号をシリアル入力信号ＳＩ２として与えることも可能となる。これは、シフト制御信号ＳＦＴ１およびＳＦＴ２を共通接続できることを意味する。また、シリアル入力信号ＳＩ１およびＳＩ２にいかなる信号を与えても良いことは言うまでもない。
【０１７６】
なお、図１２においては、位置情報用カウンタ３ａにカウント停止機能が付加された例を示しており、この例ではカウントが８になった後はその値が保持される状態を示している。
【０１７７】
＜Ｅ−３．効果＞
以上説明したように、実施の形態５に係るＬＳＩ５００によれば、故障位置解析時でもスキャンパス回路に任意の情報をシフトインできるので、故障位置解析を行いながら自己診断をする際に有用である。
【０１７８】
また、位置情報用カウンタ３ａでのカウント結果を用いて、イネーブル制御回路ＥＣ１およびＥＣ２の制御を行うので、イネーブル制御回路ＥＣ１およびＥＣ２の制御のために専用の回路設ける場合に比べて、ＬＳＩのサイズを小さくできる。
【０１７９】
＜Ｆ．記憶部の構成例＞
以上説明した実施の形態１〜５においては、記憶部ＲＭ１〜ＲＭｎは冗長機能を有するＲＡＭで構成されるものとしたが、以下、図１３〜図１６を用いて、冗長機能を有するＲＡＭの構成および動作の一例について説明する。
【０１８０】
図１３は、８ビットのデータ出力ＸＤＯ（０）〜ＸＤＯ（７）を有した記憶部ＲＭ１を示すブロック図であり、シフト冗長方式の救済機能を有した構成として示している。
【０１８１】
記憶部ＲＭ１は、ＲＡＭコアＣ１と、救済制御用デコーダ回路ＤＣと、複数の入力セレクタ１０〜１８および出力セレクタ２０〜２７を有している。なお、図１３においては、ＲＡＭコアＣ１のアドレス信号やライトイネーブル信号は図示を省略している。
【０１８２】
図１３に示すように、ＲＡＭコアＣ１はＤＩ（０）〜ＤＩ（８）の９ビットのデータ入力と、ＤＯ（０）〜ＤＯ（８）の９ビットのデータ出力とを有する９ビットのＲＡＭである。
【０１８３】
データ入力ＤＩ（０）〜ＤＩ（８）は、入力セレクタ１０〜１８の出力をそれぞれ受ける構成となっている。入力セレクタ１０〜１８は、記憶部ＲＭ１のデータ入力ＸＤＩ（０）〜ＸＤＩ（７）を受け、隣り合う入力との間で、入力セレクタ１０〜１８を共有するように接続されており、制御信号ｉｏｓｅｌが“０”の場合と“１”の場合とで入力を切り替える構成となっている。
【０１８４】
なお、入力セレクタ１０〜１８においては、記憶部ＲＭ１のデータ入力の番号の小さい方が０入力に接続され、制御信号ｉｏｓｅｌが“０”の場合には０入力に与えられるデータが選択され、制御信号ｉｏｓｅｌが“１”の場合には１入力に与えられるデータが選択される。入力セレクタ１０については、０入力にはデータ０が与えられ、入力セレクタ１８については、１入力にはデータ０が与えられる構成となっている。
【０１８５】
また、データ出力ＤＯ（０）〜ＤＯ（８）は、隣り合う出力との間で、出力セレクタ２０〜２７を共有するように出力セレクタ２０〜２７に接続されており、出力セレクタ２０〜２７の出力が、それぞれ記憶部ＲＭ１のデータ出力ＸＤＯ（０）〜ＸＤＯ（７）となっている。
【０１８６】
なお、出力セレクタ２０〜２７においては、データ出力ＤＯ（０）〜ＤＯ（８）の番号の小さい方が１入力に接続され、制御信号ｉｏｓｅｌが“１”の場合には１入力に与えられるデータが選択され、制御信号ｉｏｓｅｌが“０”の場合には９入力に与えられるデータが選択される。
【０１８７】
これら入力セレクタ１０〜１８と出力セレクタ２０〜２７は、救済制御用デコーダ回路ＤＣが出力する制御信号ｉｏｓｅｌ（０）〜ｉｏｓｅｌ（７）に連動して制御される。
【０１８８】
すなわち、制御信号ｉｏｓｅｌ（０）は、入力セレクタ１０、１１および出力セレクタ２０の選択動作を制御し、制御信号ｉｏｓｅｌ（１）は、入力セレクタ１２および出力セレクタ２１の選択動作を制御し、制御信号ｉｏｓｅｌ（２）は、入力セレクタ１３および出力セレクタ２２の選択動作を制御し、制御信号ｉｏｓｅｌ（３）は、入力セレクタ１４および出力セレクタ２３の選択動作を制御し、制御信号ｉｏｓｅｌ（４）は、入力セレクタ１５および出力セレクタ２４の選択動作を制御し、制御信号ｉｏｓｅｌ（５）は、入力セレクタ１６および出力セレクタ２５の選択動作を制御し、制御信号ｉｏｓｅｌ（６）は、入力セレクタ１７および出力セレクタ２６の選択動作を制御し、制御信号ｉｏｓｅｌ（７）は、入力セレクタ１８および出力セレクタ２７の選択動作を制御するように構成されている。
【０１８９】
救済制御用デコーダ回路ＤＣには、外部から３ビット（［２：０］）の救済位置コード情報ＲＥＰ＿ＣＯＤＥと救済イネーブル信号ＲＥＰ＿ＥＮが入力され、図１４に示す真理値表に従って制御信号ｉｏｓｅｌ（０）〜ｉｏｓｅｌ（７）が出力される。
【０１９０】
図１４の最下欄に示すように、救済解析用のテストを行う場合や救済の必要がない場合（故障がない場合）は、救済イネーブル信号ＲＥＰ＿ＥＮを“０”に設定する。このとき救済位置コード情報ＲＥＰ＿ＣＯＤＥは任意の値で良い。この状態では、制御信号ｉｏｓｅｌ（０）〜ｉｏｓｅｌ（７）は全て“１”になる。
【０１９１】
このとき、記憶部ＲＭ１のデータ出力ＸＤＯ（０）〜ＸＤＯ（７）には、ＲＡＭコアＣ１のデータ出力ＤＯ（０）〜ＤＯ（７）が接続され、記憶部ＲＭ１のデータ入力ＸＤＩ（０）〜ＸＤＩ（７）には、ＲＡＭコアＣ１のデータ入力ＤＩ（０）〜ＤＩ（７）が接続されることになる。従って、この場合、記憶部ＲＭ１は８ビットのデータ入出力を有するＲＡＭとして機能する。
【０１９２】
なお、データ入力ＤＩ（８）およびデータ出力ＤＯ（８）に対応するメモリセルブロックは、冗長メモリセルブロックに相当するが、救済イネーブル信号ＲＥＰ＿ＥＮが０の場合は使用されない。
【０１９３】
次に、救済を行う場合について説明する。
記憶部ＲＭ１に故障が発見された場合、救済イネーブル信号ＲＥＰ＿ＥＮとして“１”を与える。
【０１９４】
ただし、故障箇所を有するＲＡＭを救済するためのヒューズが、図４を用いて説明したＬＳＩ１００のように、記憶部ＲＭ１〜ＲＭｎに対して共通に接続されている場合には、救済を行わない記憶部に対しても救済イネーブル信号ＲＥＰ＿ＥＮとして“１”が設定される場合がある。
【０１９５】
また、救済位置コード情報ＲＥＰ＿ＣＯＤＥは故障位置に応じて設定され、救済位置コード情報ＲＥＰ＿ＣＯＤＥとしては、位置情報用カウンタ３が出力する、３ビット（Ｑ［２：０］）の故障位置情報ＦＡＩＬ＿ＰＯＳＩを使用することができる。
【０１９６】
図１３では、データ入力ＤＩ（４）およびデータ出力ＤＯ（４）に対応するメモリセルブロックに故障が存在する場合を想定しており、この場合は、救済位置コード情報ＲＥＰ＿ＣＯＤＥとして４（２進数で“１００”）を設定する。
【０１９７】
この場合、真理値表から、制御信号ｉｏｓｅｌ（０）〜ｉｏｓｅｌ（３）が“１”となり、制御信号ｉｏｓｅｌ（４）〜ｉｏｓｅｌ（７）が“０”となることが判る。
【０１９８】
これにより、記憶部ＲＭ１のデータ出力ＸＤＯ（０）〜ＸＤＯ（３）には、ＲＡＭコアＣ１のデータ出力ＤＯ（０）〜ＤＯ（３）が与えられ、記憶部ＲＭ１のデータ出力ＸＤＯ（４）〜ＸＤＯ（７）には、ＲＡＭコアＣ１のデータ出力ＤＯ（５）〜ＤＯ（８）が与えられることになる。
【０１９９】
また、記憶部ＲＭ１のデータ入力ＸＤＩ（０）〜ＸＤＩ（３）は、ＲＡＭコアＣ１のデータ入力ＤＩ（０）〜ＤＩ（３）に与えられ、記憶部ＲＭ１のデータ入力ＸＤＩ（４）〜ＸＤＩ（７）は、ＲＡＭコアＣ１のデータ入力ＤＩ（５）〜ＤＩ（８）に与えられることになる。
【０２００】
従って、記憶部ＲＭ１においては、ＲＡＭコアＣ１のデータ入力ＤＩ（４）およびデータ出力ＤＯ（４）に対応するメモリセルブロックが使用されず、８ビットのデータ入出力を持つＲＡＭとして機能する。
【０２０１】
なお、上記の例ではビット番号４に対応するメモリセルブロックが故障の場合の救済方法を説明したが、図１４に示す真理値表には、ビット番号０〜７に対応するメモリセルブロックのそれぞれを救済する場合の救済位置コード情報ＲＥＰ＿ＣＯＤＥを示している。
【０２０２】
図１５は、７ビットのデータ出力ＸＤＯ（０）〜ＸＤＯ（７）を有した記憶部ＲＭ２を示すブロック図であり、シフト冗長方式の救済機能を有した構成として示している。
【０２０３】
記憶部ＲＭ２は、ＲＡＭコアＣ２と、救済制御用デコーダ回路ＤＣと、複数の入力セレクタ１０〜１７および出力セレクタ２０〜２６を有している。なお、図１５においては、ＲＡＭコアＣ１のアドレス信号やライトイネーブル信号は図示を省略している。
【０２０４】
図１５に示すように、ＲＡＭコアＣ１はＤＩ（０）〜ＤＩ（７）の８ビットのデータ入力と、ＤＯ（０）〜ＤＯ（７）の８ビットのデータ出力とを有する８ビットのＲＡＭである。
【０２０５】
データ入力ＤＩ（０）〜ＤＩ（７）は、入力セレクタ１０〜１７の出力をそれぞれ受ける構成となっている。入力セレクタ１０〜１７は、記憶部ＲＭ１のデータ入力ＸＤＩ（０）〜ＸＤＩ（６）を受け、隣り合う入力との間で、入力セレクタ１０〜１７を共有するように接続されており、制御信号ｉｏｓｅｌが“０”の場合と“１”の場合とで入力を切り替える構成となっている。
【０２０６】
なお、入力セレクタ１０〜１７においては、記憶部ＲＭ１のデータ入力の番号の小さい方が０入力に接続され、制御信号ｉｏｓｅｌが“０”の場合には０入力に与えられるデータが選択され、制御信号ｉｏｓｅｌが“１”の場合には１入力に与えられるデータが選択される。入力セレクタ１０については、０入力にはデータ０が与えられ、入力セレクタ１７については、１入力にはデータ０が与えられる構成となっている。
【０２０７】
また、データ出力ＤＯ（０）〜ＤＯ（７）は、隣り合う出力との間で、出力セレクタ２０〜２６を共有するように出力セレクタ２０〜２６に接続されており、出力セレクタ２０〜２６の出力が、それぞれ記憶部ＲＭ２のデータ出力ＸＤＯ（０）〜ＸＤＯ（６）となっている。
【０２０８】
なお、出力セレクタ２０〜２６においては、データ出力ＤＯ（０）〜ＤＯ（７）の番号の小さい方が１入力に接続され、制御信号ｉｏｓｅｌが“１”の場合には１入力に与えられるデータが選択され、制御信号ｉｏｓｅｌが“０”の場合には９入力に与えられるデータが選択される。
【０２０９】
これら入力セレクタ１０〜１７と出力セレクタ２０〜２６は、救済制御用デコーダ回路ＤＣが出力する制御信号ｉｏｓｅｌ（０）〜ｉｏｓｅｌ（６）に連動して制御される。
【０２１０】
すなわち、制御信号ｉｏｓｅｌ（０）は、入力セレクタ１０、１１および出力セレクタ２０の選択動作を制御し、制御信号ｉｏｓｅｌ（１）は、入力セレクタ１２および出力セレクタ２１の選択動作を制御し、制御信号ｉｏｓｅｌ（２）は、入力セレクタ１３および出力セレクタ２２の選択動作を制御し、制御信号ｉｏｓｅｌ（３）は、入力セレクタ１４および出力セレクタ２３の選択動作を制御し、制御信号ｉｏｓｅｌ（４）は、入力セレクタ１５および出力セレクタ２４の選択動作を制御し、制御信号ｉｏｓｅｌ（５）は、入力セレクタ１６および出力セレクタ２５の選択動作を制御し、制御信号ｉｏｓｅｌ（６）は、入力セレクタ１７および出力セレクタ２６の選択動作を制御するように構成されている。
【０２１１】
救済制御用デコーダ回路ＤＣには、外部から３ビット（［２：０］）の救済位置コード情報ＲＥＰ＿ＣＯＤＥと救済イネーブル信号ＲＥＰ＿ＥＮが入力され、図１６に示す真理値表に従って制御信号ｉｏｓｅｌ（０）〜ｉｏｓｅｌ（６）が出力される。
【０２１２】
なお、記憶部ＲＭ２における救済動作は、図１３および図１４を用いて説明した記憶部ＲＭ１における救済動作と同じであるので、説明は省略する。
【０２１３】
＜Ｇ．ヒューズによる救済について＞
図１を用いて説明したＬＳＩ１００のように、故障位置情報ＦＡＩＬ＿ＰＯＳＩやフェイルフラグＦＡＩＬ＿ＦＬＡＧは、故障情報出力論理回路ＯＬを介してシリアルデータに変換され、ＬＳＩテスト装置等で読み取ってヒューズ回路ＦＵ１内のヒューズの切断情報として利用するので、記憶部ＲＭ１〜ＲＭｎのそれぞれに１対１で対応してヒューズが設けられている場合には、該当する記憶部に対応するヒューズを切断することで、該当する記憶部に例えば救済イネーブル信号ＲＥＰ＿ＥＮとして“１”を与え、また、救済位置コード情報ＲＥＰ＿ＣＯＤＥとして故障位置情報ＦＡＩＬ＿ＰＯＳＩを与えることで、該当する記憶部を救済することができる。
【０２１４】
しかし、図４を用いて説明したＬＳＩ１００のように、故障箇所を有する記憶部を救済するためのヒューズが、複数の記憶部に共通に接続されている構成を採る場合は、以下に説明するような方法で救済を行う。
【０２１５】
第１の方法としては、図１３に示した救済位置コード情報ＲＥＰ＿ＣＯＤＥを複数の記憶部で共有し、救済イネーブル信号ＲＥＰ＿ＥＮは共有しない方法が考えられる。
【０２１６】
この場合、故障が存在する記憶部に対する救済イネーブル信号ＲＥＰ＿ＥＮ信号はイネーブル状態“１”に設定し、故障がない記憶部に対する救済イネーブル信号ＲＥＰ＿ＥＮはディスエーブル状態“０”に設定できる。
【０２１７】
従って、故障がない記憶部に対しては、救済位置コード情報ＲＥＰ＿ＣＯＤＥが与えられたとしても、冗長メモリセルブロックへの置換は実行されず、故障がない記憶部についてのみ、救済位置コード情報ＲＥＰ＿ＣＯＤＥに基づいた冗長メモリセルブロックへの置換が実行される。
【０２１８】
第２の方法としては、救済位置コード情報ＲＥＰ＿ＣＯＤＥおよび救済イネーブル信号ＲＥＰ＿ＥＮを複数の記憶部で共有する方法が考えられる。
【０２１９】
この場合、複数の記憶部に対して共通するに、救済イネーブル信号ＲＥＰ＿ＥＮをイネーブル状態“１”に設定する。
【０２２０】
この場合、故障がない記憶部においても救済位置コード情報ＲＥＰ＿ＣＯＤＥに基づいた冗長メモリセルブロックへの置換が実行される。
【０２２１】
この場合、冗長メモリセルブロックに故障がなければ、置換実行後の記憶部は、正常な記憶部として動作する。
【０２２２】
一般に、冗長メモリセルブロックの面積はそれ以外のメモリセルブロックの面積の合計よりも小さく、故障が存在しない確率は高いので、故障がない記憶部において置換が実行されても、問題は生じない。
【０２２３】
なお、万が一、冗長メモリセルブロックに故障が存在した場合には、置換実行後に、再度自己診断を行うことで、不良品として判定される。
【０２２４】
なお、第２の方法を、構成の異なる２種類の記憶部を備えるＬＳＩで適用する場合、救済回路の設計には以下の工夫が必要となる。
【０２２５】
例えば、図６に示したＬＳＩ２００のように、記憶部ＲＭ１は８ビット、記憶部ＲＭ２は７ビットである場合、これらを同じヒューズに接続するには、救済イネーブル信号ＲＥＰ＿ＥＮがイネーブル状態“１”で、救済位置コード情報ＲＥＰ＿ＣＯＤＥが“１１１”の状態に対する配慮が必要となる。
【０２２６】
すなわち、８ビットの記憶部ＲＭ１において、救済位置コード情報ＲＥＰ＿ＣＯＤＥが“１１１”の場合は、８番目のビットに対応するメモリセルブロックに故障が存在する場合を示すが、７ビットの記憶部ＲＭ２には８番目のビットに対応するメモリセルブロックは存在しない。
【０２２７】
この場合、記憶部ＲＭ２においては、故障箇所のない正常な記憶部であるものとして制御されるように、救済位置コード情報ＲＥＰ＿ＣＯＤＥとして“１１１”が与えられた場合は、例えば、非救済状態（ｉｏｓｅｌ［６：０］＝“１１１１１１１”）となるように、救済制御用デコーダ回路ＤＣを設計する。
【０２２８】
なお、第２の方法を用いる場合、複数の記憶部のうち何れか１つでも故障が発見された場合は、全ての記憶部において置換を実行するので、故障を有する記憶部を特定する必要はないが、第１の方法を用いる場合は、故障を有する記憶部を特定して、救済イネーブル信号ＲＥＰ＿ＥＮを“１”にしなければならない。
【０２２９】
これは、ＬＳＩ内部に各記憶部に対する故障判定回路を追加することでも実現でき、また、パラレルシリアル変換回路のシリアル出力のデータをＬＳＩ外部に出力し、ＬＳＩテスト装置で判定することでも実現できる。
【０２３０】
なお、故障判定回路としては、例えば、比較回路の複数ビットの出力（“１”が不良、“０”が正常）に対してＯＲ演算を実行する回路や、パラレルシリアル変換回路のシリアル出力に含まれる“１”（ＦＡＩＬ情報）を検出する回路等が考えられる。
【０２３１】
また、故障情報出力論理回路ＯＬを介して外部に出力される故障位置検出結果ＦＡ＿ＲＥＳＵＬＴを、ＬＳＩテスト装置等で読み取って、故障を有する記憶部を特定し、各記憶部に対する救済イネーブル信号ＲＥＰ＿ＥＮ発生用のヒューズのプログラミングを決定することもできる。
【０２３２】
また、上記においては、ヒューズをプログラミングすることで、救済イネーブル信号ＲＥＰ＿ＥＮを発生させる例を示したが、ヒューズ回路の出力部分に例えばレジスタを設け、当該レジスタにフェイルフラグＦＡＩＬ＿ＦＬＡＧや故障位置情報ＦＡＩＬ＿ＰＯＳＩを書き込み、その出力を救済制御用デコーダ回路ＤＣに与えるようにすれば、ヒューズをプログラムしなくても救済状態のテストを行うことができる。
【０２３３】
また、ヒューズをプログラミングするではなく、フェイルフラグＦＡＩＬ＿ＦＬＡＧおよび故障位置情報ＦＡＩＬ＿ＰＯＳＩを、救済イネーブル信号ＲＥＰ＿ＥＮおよび救済位置コード情報ＲＥＰ＿ＣＯＤＥとして、直接、救済制御用デコーダ回路ＤＣに与えるように構成しても良いが、電源を切ると、フェイルフラグＦＡＩＬ＿ＦＬＡＧおよび故障位置情報ＦＡＩＬ＿ＰＯＳＩの情報が消えてしまうので、電源を入れるごとに、自己診断を行って救済を実行することになる。
【図面の簡単な説明】
【０２３４】
【図１】本発明に係る実施の形態１の半導体集積回路装置の全体構成を示すブロック図である。
【図２】本発明に係る実施の形態１の半導体集積回路装置の発明関連部分の構成を示す図である。
【図３】本発明に係る実施の形態１の半導体集積回路装置の動作を説明するタイミングチャートである。
【図４】本発明に係る実施の形態１の半導体集積回路装置の変形例の全体構成を示すブロック図である。
【図５】本発明に係る実施の形態１の半導体集積回路装置の変形例の発明関連部分の構成を示す図である。
【図６】本発明に係る実施の形態２の半導体集積回路装置の発明関連部分の構成を示す図である。
【図７】本発明に係る実施の形態３の半導体集積回路装置の発明関連部分の構成を示す図である。
【図８】本発明に係る実施の形態４の半導体集積回路装置の発明関連部分の構成を示す図である。
【図９】本発明に係る実施の形態４の半導体集積回路装置の動作を説明するタイミングチャートである。
【図１０】本発明に係る実施の形態５の半導体集積回路装置の発明関連部分の構成を示す図である。
【図１１】本発明に係る実施の形態５の半導体集積回路装置の動作を説明するタイミングチャートである。
【図１２】本発明に係る実施の形態５の半導体集積回路装置の動作を説明するタイミングチャートである。
【図１３】冗長機能を有する８ビットのＲＡＭの構成を説明する図である。
【図１４】冗長機能を有する８ビットのＲＡＭの動作を説明する真理値表を示す図である。
【図１５】冗長機能を有する７ビットのＲＡＭの構成を説明する図である。
【図１６】冗長機能を有する７ビットのＲＡＭの動作を説明する真理値表を示す図である。
【図１】
2008021359.tif 000003
【図２】
2008021359.tif 000004
【図３】
2008021359.tif 000005
【図４】
2008021359.tif 000006
【図５】
2008021359.tif 000007
【図６】
2008021359.tif 000008
【図７】
2008021359.tif 000009
【図８】
2008021359.tif 000010
【図９】
2008021359.tif 000011
【図１０】
2008021359.tif 000012
【図１１】
2008021359.tif 000013
【図１２】
2008021359.tif 000014
【図１３】
2008021359.tif 000015
【図１４】
2008021359.tif 000016
【図１５】
2008021359.tif 000017
【図１６】
2008021359.tif 000018