(57)【特許請求の範囲】
【請求項１】
第１の数ビットの出力データを出力する記憶回路と、
冗長救済動作時に、冗長制御信号に基づき選択設定内容が切り替えられることにより、前記第１の数ビットの出力データから前記第１の数ビットより小さい第２の数ビットの出力データを前記選択設定内容に応じて選択して前記第２の数ビットの冗長出力データを出力する冗長出力選択回路と、
前記第２の数ビットの前記冗長出力データをデータ入力とするフリップフロップ群とを備え、前記冗長制御信号は前記フリップフロップ群の保持データに基づき決定される、
半導体集積回路。
【請求項２】
請求項１記載の半導体集積回路であって、
冗長出力選択回路テスト時に、前記冗長出力選択回路の前記選択設定内容を強制的に設定する選択内容設定手段をさらに備える、
半導体集積回路。
【請求項３】
請求項２記載の半導体集積回路であって、
前記フリップフロップ群は、前記冗長出力データまたは前記出力データと期待値データとを比較して比較結果を得る比較動作が実行可能な前記第１の数のフリップフロップを含み、前記第１の数の前記フリップフロップは、前記第２の数ビットの冗長出力データをそれぞれ前記保持データとする前記第２の数のフリップフロップと、前記第１の数ビットの前記出力データのうち第３の数ビットの前記出力データをそれぞれ前記保持データとする第３の数のフリップフロップとを含み前記第３の数は前記第１の数から前記第２の数を差し引いた数を含む、
半導体集積回路。
【請求項４】
請求項３記載の半導体集積回路であって、
前記第３の数のフリップフロップは、前記冗長出力選択回路テスト時に前記比較動作が無効化される、
半導体集積回路。
【請求項５】
請求項１ないし請求項４のうち、いずれか１項に記載の半導体集積回路であって、
前記フリップフロップ群と前記冗長出力選択回路との間に介挿され、切り替え情報を記憶する切り替え情報記憶手段をさらに備える、
半導体集積回路。
【請求項６】
請求項１記載の半導体集積回路であって、
前記記憶回路は、前記第１の数ビットの入力データを取り込むための前記第１の数のデータ入力部を有し、
前記第２の数ビットの冗長入力データを受け、前記冗長救済動作時に、前記冗長制御信号に基づき、前記第１の数のデータ入力部のうち前記第２の数の前記データ入力部に前記第２の数ビットの前記冗長入力データを付与する冗長入力選択回路をさらに備える、
半導体集積回路。
【請求項７】
請求項６記載の半導体集積回路であって、
冗長入力選択回路テスト時に、前記冗長入力選択回路の選択設定内容を強制的に設定する選択内容設定手段をさらに備える、
半導体集積回路。
【請求項８】
請求項６あるいは請求項７記載の半導体集積回路であって、
前記記憶回路，前記冗長入力選択回路間に介挿され、前記第１の数のデータ入力部に対応して設けられる前記第１の数のデータ保持部をさらに備え、前記第１の数の前記データ保持部は、前記冗長入力選択回路が所定の選択設定内容の時に、自身の保持データをホールドするホールド状態となる、
半導体集積回路。
【請求項９】
請求項６あるいは請求項７記載の半導体集積回路であって、
前記フリップフロップ群は、前記第１の数ビットの出力データに対応して設けられる前記第１の数のスキャンフリップフロップを含み、前記第１の数のスキャンフリップフロップは初段から最終段にかけて直列に接続されることにより、シリアルデータのシフト動作が可能であり、
前記半導体集積回路は、
前記第１の数のデータ入力部に対応して設けられ、シリアルに動作することにより前記第１の数をカウントするカウント機能を有する前記第１の数のデータ保持部と、
記憶回路テスト時に、前記第１の数ビットの出力データのテスト結果を前記第１の数の前記スキャンフリップフロップそれぞれの保持データとして保持させ、その後、前記第１の数の前記スキャンフリップフロップを１ビット分シフト動作させて最終段の前記スキャンフリップフロップのシリアル出力データを、外部に出力させるとともに初段の前記スキャンフリップフロップのシリアルデータ入力として帰還させる１ビットループ処理を、前記第１の数のデータ保持部の前記カウント機能によるカウント結果に従って前記第１の数回行わせる記憶回路テスト用制御手段とをさらに備える、
半導体集積回路。
【請求項１０】
請求項９記載の半導体集積回路であって、
前記第１の数の前記データ保持部は、前記冗長入力選択回路が所定の選択設定内容の時に、自身の保持データをホールドするホールド状態となる、
半導体集積回路。
【請求項１１】
請求項３記載の半導体集積回路であって、
前記第１の数のフリップフロップからの第１の数ビットの出力データを２個以上で前記第１の数より小さい第４の数の第１グループに分類し、前記第４の数の前記第１グループそれぞれにおいて、外部より得られる第１の選択信号に基づき、前記第１グループ内の前記フリップフロップの出力データうち一のデータを第１の選択出力データとして出力させることにより、前記第４の数ビットの前記第１の選択出力データを出力する第１のマルチプレクサ部をさらに備える、
半導体集積回路。
【請求項１２】
請求項１１記載の半導体集積回路であって、
冗長出力選択回路テスト時に、前記冗長出力選択回路の選択設定内容を強制的に設定する選択内容設定手段をさらに備え、
前記選択内容設定手段及び前記第１のマルチプレクサ部は構成要素を一部共有する、
半導体集積回路。
【請求項１３】
請求項１１あるいは請求項１２記載の半導体集積回路であって、
前記第４の数ビットの前記第１の選択出力データを２個以上で前記第４の数より小さい第５の数の第２グループに分類し、前記第５の数の前記第２グループそれぞれにおいて、外部より得られる第２の選択信号に基づき、前記第２グループ内の前記第１の選択出力データのうち一のデータを第２の選択出力データとして出力させることにより、前記第５の数ビットの前記第２の選択出力データを出力する第２のマルチプレクサ部をさらに備える、
半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、半導体集積回路装置の記憶回路部分に対するテスト回路及び冗長回路に関するものである。
【０００２】
【従来の技術】
半導体集積回路装置の記憶回路部分に対する従来のテスト回路及び冗長回路は、例えば、特開平８−９４７１８号公報(USP5815512)に開示されたテスト回路及び冗長回路がある。
【０００３】
図７１〜図７４は、テスト回路と冗長回路を備えたＲＡＭから構成される従来の半導体集積回路を示す図であり、図７１は図７２と図７３との位置関係を示す説明図であり、図７２及び図７３は従来のＲＡＭの回路構成を示す回路図である。図７４は、図７２及び図７３で示した比較回路付きスキャン・フリップフロップＳＦＦＣ<i>〜ＳＦＦＣ<i+4>それぞれの内部構成を示す回路図である。
【０００４】
図７４に示すように、コンパレータ２０１はＥＸ−ＯＲゲート２０２及びＮＡＮＤゲート２０３から構成され、ＥＸ−ＯＲゲート２０２は一方入力及び他方入力に入力データＤ及び期待値データＥＸＰを受け、ＮＡＮＤゲート２０３は一方入力がＥＸ−ＯＲゲート２０２の出力に接続され、他方入力に比較制御信号ＣＭＰを受ける。そして、ＮＡＮＤゲート２０３の出力がコンパレータ２０１の出力となる。
【０００５】
ＡＮＤゲート２０４は一方入力がコンパレータ２０１の出力に接続され、セレクタ２０５は“０”入力にシリアル入力（データ）ＳＩを受け、“１”入力がＡＮＤゲート２０４の出力に接続され、制御入力にテストモード信号ＴＭを受ける。そして、セレクタ２０５はテストモード信号ＴＭの“１”／“０”に基づき“１”入力／“０”入力より得られる信号を出力部Ｙより出力する。
【０００６】
セレクタ２０６は“０”入力に入力データＤを受け、“１”入力がセレクタ２０５の出力部Ｙに接続され、制御入力にシフトモード信号ＳＭを受ける。そして、セレクタ２０６はシフトモード信号ＳＭの“１”／“０”に基づき“１”入力／“０”入力より得られる信号を出力部Ｙより出力する。このセレクタ２０６の出力部Ｙより得られる信号が出力データＰとなる。
【０００７】
Ｄ−ＦＦ（Ｄ型フリップフロップ）２０７はＤ入力にセレクタ２０６の出力部Ｙが接続され、トグル入力Ｔにタイミング信号（クロック信号）Ｔを受け、そのＱ出力部より得られる信号がデータ出力Ｑ及びシリアル出力（データ）ＳＯとして外部に出力されるとともに、ＡＮＤゲート２０４の他方入力に帰還する。
【０００８】
図７２及び図７３に示すように、図７４で示した回路構成のスキャン・フリップフロップＳＦＦＣ<i>〜ＳＦＦＣ<i+4>を５個直列接続してＲＡＭテスト用のスキャンパスを有している。以下、スキャン・フリップフロップＳＦＦＣ<>を単にＳＦＦＣ<>と略する場合がある。
【０００９】
すなわち、ＳＦＦＣ<i+4>はシリアル入力データＳＩＤＯ<i+4>をシリアル入力ＳＩとし、シリアル出力ＳＯをＳＦＦＣ<i+3>のシリアル入力ＳＩに接続し、同様に、ＳＦＦＣ<i+2>，ＳＦＦＣ<i+1>及びＳＦＦＣ<i>を直列に接続し、最終段のＳＦＦＣ<i>のシリアル出力ＳＯがシリアル出力データＳＯＤＯ<i>として出力される。
【００１０】
ＳＦＦＣ<i>〜ＳＦＦＣ<i+4>はシフトモード信号ＳＭ、テストモード信号ＴＭ、比較制御信号ＣＭＰ及びタイミング制御信号ＣＫＤＯを共通に受け（タイミング制御信号ＣＫＤＯはタイミング信号Ｔとして入力される）、ＳＦＦＣ<i>〜ＳＦＦＣ<i+4>それぞれの入力データＤとして、ＲＡＭ２１１のデータ出力ＤＯ<i>〜ＤＯ<i+4>を受ける。ＳＦＦＣ<i>〜ＳＦＦＣ<i+3>それぞれのデータ出力Ｐがデータ出力Ｐ<i>〜Ｐ<i+3>となる。
【００１１】
また、ＳＦＦＣ<i>，<i+2>，<i+4>が期待値データＥＸＰとして期待値データＥＸＰＡを受け、ＳＦＦＣ<i+1>，<i+3>が期待値データＥＸＰとして期待値データＥＸＰＢを受ける。すなわち、比較動作の期待値は偶数ビット目と奇数ビット目で異なる値を設定することができる。
【００１２】
冗長出力選択回路を構成するセレクタ２３０〜２３３それぞれの“０”入力にデータ出力ＤＯ<i>〜ＤＯ<i+3>を受け、それぞれの“１”入力にデータ出力ＤＯ<i+1>〜ＤＯ<i+4>を受け、制御入力に出力データＦ<i+1>〜Ｆ<i+4>を受ける。そして、冗長入力選択回路を構成するセレクタ２３０〜２３３の出力が冗長データ出力ＸＤＯ<i>〜ＸＤＯ<i+3>として出力される。
【００１３】
ＡＮＤゲート２２１〜２２３はそれぞれ一方入力にシリアル出力ＳＯ<i+1>〜ＳＯ<i+3>を受ける。ＡＮＤゲート２２１は他方入力にＡＮＤゲート２２２の出力を受け、ＡＮＤゲート２２２は他方入力にＡＮＤゲート２２３の出力を受け、ＡＮＤゲート２２３は他方入力にシリアル出力ＳＯ<i+4>を受ける。そして、ＡＮＤゲート２２１〜２２３の出力が出力データＦ<i+1>〜Ｆ<i+3>となり、シリアル出力ＳＯ<i+4>が出力データＦ<i+4>となる。
【００１４】
一方、ＯＲゲート２１５は一方入力に冗長データ入力ＸＤＩ<i>を受け、他方入力に出力データＦ<i+1>を受ける。セレクタ２３４〜２３６はそれぞれの“０”入力に冗長データ入力ＸＤＩ<i+1>〜ＸＤＩ<i+3>を受け、それぞれの“１”入力に冗長データ入力ＸＤＩ<i>〜ＸＤＩ<i+2>を受け、制御入力に出力データＦ<i+2>〜Ｆ<i+4>を受ける。なお、セレクタ２３０〜２３６は制御入力に受ける信号の“０”／“１”に基づき、“０”／“１”入力に受ける信号を出力する。またＯＲゲート２１５は必須ではなく、なくても良い。
【００１５】
そして、ＯＲゲート２１５の出力が入力データＸＩ<i>、セレクタ２３４〜２３６の出力が入力データＸＩ<i+1>〜<i+3>、冗長データ入力ＸＤＩ<i+4>が入力データＸＩ<i+4>としてスキャンパス回路ＤＩＳＣＡＮに入力される。
【００１６】
スキャンパス回路ＤＩＳＣＡＮはシリアル入力データＳＩＤＩ<i+4>を含む制御信号ＣＴＲＬを受け、シリアル出力データＳＩＤＯ<i>を出力すると共に、入力データＤＩ<i>〜ＤＩ<i+4>をＲＡＭ２１１の入力データＤＩ<i>〜ＤＩ<i+4>用の５ビット入力部に出力する。
【００１７】
図７５はスキャンパス回路ＤＩＳＣＡＮの内部構成を示す回路図である。同図に示すように、スキャンフリップフロップＳＦＦＤＩ<i>〜ＳＦＦＤＩ<i+4>が直列に接続される。以下、スキャン・フリップフロップＳＦＦＤＩ<>を単にＳＦＦＤＩ<>と略する場合がある。
【００１８】
図７６は図７５で示したスキャンフリップフロップＳＦＦＤＩ<>の内部構成を示す回路図である。同図に示すように、ＳＦＦＤＩ<>はセレクタ２４１及びＤ−ＦＦ２４２で構成され、セレクタ２４１は“０”入力に入力データＤを受け、“１”入力にシリアル入力ＳＩを受け、制御入力にシフトモード信号ＳＭを受ける。セレクタ２４１の出力部Ｙより得られる信号はＤ−ＦＦ２４２のＤ入力に付与されるとともに、データ出力Ｐとして出力される。Ｄ−ＦＦ２４２はトグル入力Ｔにタイミング信号Ｔを受け、Ｑ出力よりデータ出力Ｑ及びシリアル出力ＳＯを出力する。
【００１９】
図７５に戻って、ＳＦＦＤＩ<>は、ＳＦＦＤＩ<i+4>〜ＳＦＦＤＩ<i>の順に直列に接続され、ＳＦＦＤＩ<i+4>はシリアル入力ＳＩとしてシリアル入力データＳＩＤＩ<i+4>を受け、ＳＦＦＤＩ<i>はシリアル出力ＳＯとしてシリアル出力データＳＩＤＯ<i>を出力する。
【００２０】
ＳＦＦＤＩ<i>〜ＳＦＦＤＩ<i+4>のシフトモード信号ＳＭとしてシフトモード入力データＳＭＤＩが共通に入力され、タイミング信号ＴとしてクロックデータＣＫＤＩが共通に入力される。そして、ＳＦＦＤＩ<i>〜ＳＦＦＤＩ<i+4>の入力データＤとして冗長データ入力ＸＩ<i>〜ＸＩ<i+4>が入力される。なお、シリアル入力データＳＩＤＩ<i+4>、シフトモード入力データＳＭＤＩ、及びクロックデータＣＫＤＩが図７２の制御信号ＣＴＲＬに相当する。
【００２１】
ＲＡＭ２１１のテスト時は、このスキャンパス回路ＤＩＳＣＡＮを用いて書き込みデータを設定する。なお、図７２及び図７３の例では、ＲＡＭ２１１は４ビット分のアドレス入力Ａ<0>〜<3>と、１ビット分の書き込み制御信号ＷＥと、５ビット分のデータ出力信号ＤＯ<i>〜ＤＯ<i+4>、データ入力信号ＤＩ<i>〜<i+4>を有する場合を示している。
【００２２】
次に、上述した構成によるＲＡＭテスト動作の説明を行う。
（１）ＲＡＭのテストを行う前に「TM1=0,SM=1」の状態でＳＩＤＯ端子（ＳＩＤＯ<i+4>）から“１”をシフトインしておく(この例のように５ビットのスキャンパスなら５クロック必要)。
【００２３】
その結果、ＳＦＦＣ<i>〜ＳＦＦＣ<i+4>において、それぞれのシリアル出力ＳＯが、「SO<i>=1,SO<i+1>=1,SO<i+2>=1,SO<i+3>=1,SO<i+4>=1」になる。
【００２４】
（２）「TM1=1,SM=1」の状態で全アドレスに対してＲＡＭのテストを行う。テスト用データの書き込みや読み出しを行いながら、期待値EXP（EXPA，EXPB）及び比較制御信号CMP（=1で比較）を適切に制御する。
【００２５】
その結果、故障があれば（期待値EXPA,EXPBとＲＡＭのデータ出力ＤＯ<>が異なる）、当該ＳＦＦＣ<>のコンパレータ２０１の出力が“０”になり、がクロック信号Ｔに同期してＤ−ＦＦ２０７が“０”にリセットされる。
【００２６】
例えば、ＲＡＭ２１１のデータ出力ＤＯ<i+2>対応のＳＦＦＣ<i+2>で故障が検出される場合、シリアル出力ＳＯ<i+2>=“０”となる(SO<i>,SO<i+1>,SO<i+3>,SO<i+4>は“１”のまま)。
【００２７】
（３）「TM1=0,SM=1」の状態でテスト結果をＳＯＤＯ端子（ＳＯＤＯ<i>）からシフトアウトする。
【００２８】
ＲＡＭ冗長救済動作を行う場合は、上記のＲＡＭテスト動作の（１）と（２）を実行した後で、セレクタの制御信号Ｆ<>を保持する。
【００２９】
例えば、ＲＡＭの出力データＤＯ<i+2>対応のＳＦＦＣ<i+2>で故障が検出されたら、前述したように、ＳＯ<i+2>=“０”になる(ＳＯ<i>,ＳＯ<i+1>,ＳＯ<i+3>,ＳＯ<i+4>は“１”のまま)。
【００３０】
したがって、セレクタ２３０〜２３３の制御信号は、「F<i+4>=1,F<i+3>=1,F<i+2>=0,F<i+1>=0」になる。その結果、セレクタ２３０〜２３３の選択設定内容が決定し、出力データＤＯ<i+4>が冗長データ出力ＸＤＯ<i+3>、以下、ＤＯ<i+3>がＸＤＯ<i+2>、ＤＯ<i+1>がＸＤＯ<i+1>、ＤＯ<i>がＸＤＯ<i>に接続され、故障した出力データＤＯ<i+2>を使用しなくなる。同様に、セレクタ２３４〜２３６の選択設定内容が決定し、冗長データ入力ＸＤＩ<i+3>はデータ入力ＤＩ<i+4>、以下、ＸＤＩ<i+2>はＤＩ<i+3>とＤＩ<i+2>、ＸＤＩ<i+1>はＤＩ<i+1>、ＸＤＩ<i>はＤＩ<i>に接続される。
【００３１】
以上の接続切替により、ＲＡＭ２１１において出力データＤＯ<i+2>の対応のメモリ回路に故障があっても、４ビット入出力のＲＡＭとして正常に動作する。
【００３２】
なお、データの入出力に関して同様の回路を２系統（例えば、上述した例ではｉ＝０（データ出力ＤＯ<0>〜ＤＯ<4>），ｉ＝５（データ出力ＤＯ<5>〜ＤＯ<9>）の場合の２系統）備えることによって、ｉ＝０，ｉ＝５それぞれで１ビット、計２ビット救済可能なＲＡＭ２１１を構成することもできる。この場合、１０ビットのＲＡＭを用いて、通常動作では８ビットの入出力を行うＲＡＭとして使用する。
【００３３】
【発明が解決しようとする課題】
従来のテスト回路を備えたＲＡＭでは、以下の（１）〜（３）で示す問題点があった。
（１）冗長データ出力ＸＤＯ<>に関するセレクタ２３０〜２３３の動作の正常・異常をテストすることができない。
（２）冗長救済の可否判定を行うために、ＳＦＦＣ<i>〜ＳＦＦＣ<i+4>からテスト結果のシフトアウトを行うと、テスト結果である冗長制御用データＦ<i>〜Ｆ<i+4>の内容が消失する。
（３）シリアル出力ＳＯとして圧縮されたテスト結果をシフトアウトするため、メモリテスト装置による不良解析が困難という問題があった。
【００３４】
この発明は少なくとも上記（１）の問題点を解決するためになされたもので、冗長出力データを選択する冗長出力選択回路の選択動作の良否テストが可能な、テスト回路及び冗長回路を有する半導体集積回路を得ることを目的とする。
【００３５】
【課題を解決するための手段】
この発明に係る請求項１記載の半導体集積回路は、第１の数ビットの出力データを出力する記憶回路と、冗長救済動作時に、冗長制御信号に基づき選択設定内容が切り替えられることにより、前記第１の数ビットの出力データから前記第１の数ビットより小さい第２の数ビットの出力データを前記選択設定内容に応じて選択して前記第２の数ビットの冗長出力データを出力する冗長出力選択回路と、前記第２の数ビットの前記冗長出力データをデータ入力とするフリップフロップ群とを備え、前記冗長制御信号は前記フリップフロップ群の保持データに基づき決定される。
【００３６】
また、請求項２の発明は、請求項１記載の半導体集積回路であって、冗長出力選択回路テスト時に、前記冗長出力選択回路の前記選択設定内容を強制的に設定する選択内容設定手段をさらに備える。
【００３７】
また、請求項３の発明は、請求項２記載の半導体集積回路であって、前記フリップフロップ群は、前記冗長出力データまたは前記出力データと期待値データとを比較して比較結果を得る比較動作が実行可能な前記第１の数のフリップフロップを含み、前記第１の数の前記フリップフロップは、前記第２の数ビットの冗長出力データをそれぞれ前記保持データとする前記第２の数のフリップフロップと、前記第１の数ビットの前記出力データのうち第３の数ビットの前記出力データをそれぞれ前記保持データとする第３の数のフリップフロップとを含み前記第３の数は前記第１の数から前記第２の数を差し引いた数を含む。
【００３８】
また、請求項４の発明は、請求項３記載の半導体集積回路であって、前記第３の数のフリップフロップは、前記冗長出力選択回路テスト時に前記比較動作が無効化される。
【００３９】
また、請求項５の発明は、請求項１ないし請求項４のうち、いずれか１項に記載の半導体集積回路であって、前記フリップフロップ群と前記冗長出力選択回路との間に介挿され、切り替え情報を記憶する切り替え情報記憶手段をさらに備える。
【００４０】
また、請求項６の発明は、請求項１記載の半導体集積回路であって、前記記憶回路は、前記第１の数ビットの入力データを取り込むための前記第１の数のデータ入力部を有し、前記第２の数ビットの冗長入力データを受け、前記冗長救済動作時に、前記冗長制御信号に基づき、前記第１の数のデータ入力部のうち前記第２の数の前記データ入力部に前記第２の数ビットの前記冗長入力データを付与する冗長入力選択回路をさらに備える。
【００４１】
また、請求項７の発明は、請求項６記載の半導体集積回路であって、冗長入力選択回路テスト時に、前記冗長入力選択回路の選択設定内容を強制的に設定する選択内容設定手段をさらに備える。
【００４２】
また、請求項８の発明は、請求項６あるいは請求項７記載の半導体集積回路であって、前記記憶回路，前記冗長入力選択回路間に介挿され、前記第１の数のデータ入力部に対応して設けられる前記第１の数のデータ保持部をさらに備え、前記第１の数の前記データ保持部は、前記冗長入力選択回路が所定の選択設定内容の時に、自身の保持データをホールドするホールド状態となる。
【００４３】
また、請求項９の発明は、請求項６あるいは請求項７記載の半導体集積回路であって、前記フリップフロップ群は、前記第１の数ビットの出力データに対応して設けられる前記第１の数のスキャンフリップフロップを含み、前記第１の数のスキャンフリップフロップは初段から最終段にかけて直列に接続されることにより、シリアルデータのシフト動作が可能であり、前記半導体集積回路は、前記第１の数のデータ入力部に対応して設けられ、シリアルに動作することにより前記第１の数をカウントするカウント機能を有する前記第１の数のデータ保持部と、記憶回路テスト時に、前記第１の数ビットの出力データのテスト結果を前記第１の数の前記スキャンフリップフロップそれぞれの保持データとして保持させ、その後、前記第１の数の前記スキャンフリップフロップを１ビット分シフト動作させて最終段の前記スキャンフリップフロップのシリアル出力データを、外部に出力させるとともに初段の前記スキャンフリップフロップのシリアルデータ入力として帰還させる１ビットループ処理を、前記第１の数のデータ保持部の前記カウント機能によるカウント結果に従って前記第１の数回行わせる記憶回路テスト用制御手段とをさらに備える。
【００４４】
また、請求項１０の発明は、請求項９記載の半導体集積回路であって、前記第１の数の前記データ保持部は、前記冗長入力選択回路が所定の選択設定内容の時に、自身の保持データをホールドするホールド状態となる。
【００４５】
また、請求項１１の発明は、請求項３記載の半導体集積回路であって、前記第１の数のフリップフロップからの第１の数ビットの出力データを２個以上で前記第１の数より小さい第４の数の第１グループに分類し、前記第４の数の前記第１グループそれぞれにおいて、外部より得られる第１の選択信号に基づき、前記第１グループ内の前記フリップフロップの出力データうち一のデータを第１の選択出力データとして出力させることにより、前記第４の数ビットの前記第１の選択出力データを出力する第１のマルチプレクサ部をさらに備える。
【００４６】
また、請求項１２の発明は、請求項１１記載の半導体集積回路であって、冗長出力選択回路テスト時に、前記冗長出力選択回路の選択設定内容を強制的に設定する選択内容設定手段をさらに備え、前記選択内容設定手段及び前記第１のマルチプレクサ部は構成要素を一部共有する。
【００４７】
さらに、請求項１３の発明は、請求項１１あるいは請求項１２記載の半導体集積回路であって、前記第４の数ビットの前記第１の選択出力データを２個以上で前記第４の数より小さい第５の数の第２グループに分類し、前記第５の数の前記第２グループそれぞれにおいて、外部より得られる第２の選択信号に基づき、前記第２グループ内の前記第１の選択出力データのうち一のデータを第２の選択出力データとして出力させることにより、前記第５の数ビットの前記第２の選択出力データを出力する第２のマルチプレクサ部をさらに備える。
【００４８】
【発明の実施の形態】
＜実施の形態１＞
図１〜図３はこの発明の実施の形態１であるテスト回路及び冗長回路を有する半導体集積回路を示す図であり、図１は図２と図３との位置関係を示す説明図であり、図２及び図３は半導体集積回路の回路構成を示す回路図である。
【００４９】
図２及び図３に示すように、実施の形態１の半導体集積回路の回路構成は、図７１〜図７６で示した従来の回路構成に比べて、ＳＦＦＣ<i+3>,ＳＦＦＣ<i+2>,ＳＦＦＣ<i+1>,ＳＦＦＣ<i>のデータ入力Ｄの接続先が、ＲＡＭ２１１の出力データＤＯ<i+3>，ＤＯ<i+2>，ＤＯ<i+1>，ＤＯ<i>から、それぞれ冗長データ出力ＸＤＯ<i+3>,ＸＤＯ<i+2>,ＸＤＯ<i+1>,ＸＤＯ<i>に変更されている。なお、ＳＦＦＣ<i+4>のデータ入力Ｄの接続先は出力データＤＯ<i+4>であり、従来の回路構成から変更されていない。
【００５０】
また、セレクタテスト信号ＰＦＩＮを入力するＡＮＤゲート２１と出力信号ＰＦＯＵＴを出力するＡＮＤゲート２２とが追加されている。ＡＮＤゲート２１は一方入力にシリアル出力ＳＯ<i+4>を受け、他方入力にセレクタテスト信号ＰＦＩＮを受け、その出力がＡＮＤゲート２２３の他方入力となる。ＡＮＤゲート２２１〜２２３間の接続は従来構成と同様である。ＡＮＤゲート２２は一方入力にシリアル出力ＳＯ<i>を受け、他方入力にＡＮＤゲート２２１の出力を受ける。
【００５１】
また、書き込みデータ制御回路ＤＩＣＯＮＴはＲＡＭ２１１に対するデータ書き込みを行うための制御回路であり、例えば、図４，図６，図７に示すような回路が用いられる。なお、図５は、図４，図６で用いるスキャンフリップフロップＳＦＦＤＩの内部構成例を示す回路図である。
【００５２】
図４で示す書き込みデータ制御回路ＤＩＣＯＮＴの構成は図７５で示したスキャンパス回路ＤＩＳＣＡＮと同じであり、図５で示すＳＦＦＤＩの内部構成は図７６で示した回路と同様であるため、共に説明を省略する。
【００５３】
図６の構成は図４の構成から入力データＤＩ<i>〜ＤＩ<i+4>の出力をＳＦＦＤＩ<i>〜ＳＦＦＤＩ<i+4>のＱ出力からＰ出力に置き換えた点のみ異なる。
【００５４】
図７で示す書き込みデータ制御回路ＤＩＣＯＮＴは、ＡＮＤゲート３０，３２，３４、ＯＲゲート３１，３３、及びインバータ３５から構成される。インバータ３５は制御信号ＦＯＲＣＥ０１を受ける。
【００５５】
ＡＮＤゲート３０，３２，３４は一方入力に入力データＸＩ<i>，ＸＩ<i+2>，ＸＩ<i+4>を受け、他方入力にインバータ３５の出力を共通に受ける。ＯＲゲート３１，３３は一方入力に入力データＸＩ<i+1>，ＸＩ<i+3>を受け、他方入力に制御信号ＦＯＲＣＥ０１を受ける。そして、論理ゲート３０〜３４の出力が入力データＤＩ<i>〜<i+4>としてＲＡＭ２１１に与えられる。
【００５６】
書き込みデータ制御回路ＤＩＣＯＮＴの目的は、各ＸＤＯ<>に対するセレクタ２３０〜２３３の一方のデータ入力に“１”、他方のデータ入力に“０”が与えられるようにＲＡＭ２１１に対する書き込みデータ(入力データＤＩ<>)を制御することである。
【００５７】
具体的には、例えば、ＤＩ<i+4>＝“０”,ＤＩ<i+3>＝“１”,ＤＩ<i+2>＝“０”,ＤＩ<i+1>＝“１”,ＤＩ<i>＝“０”になるように制御する。
【００５８】
図４のような従来のスキャンパス(データ出力Ｑを出力信号とする)を用いる場合は、ＳＦＦＤＩ<i>〜ＳＦＦＤＩ<i+4>に「01010」をシフトインすることで実現できる。
【００５９】
図６のような従来のスキャンパス(データ出力Ｐを出力信号とする)を用いる場合は、ＳＦＦＤＩ<i>〜ＳＦＦＤＩ<i+3>に「0101」をシフトインし、ＳＩＤＩ<i+4>に“０”を設定することで実現できる。
【００６０】
図７の回路構成の場合は、制御信号ＦＯＲＣＥ０１を“１”にすることにより実現できる。
【００６１】
なお、図６に関して、通常動作モード時はＳＭＤＩ＝“０”に設定する。また、図７の回路に関しては、通常動作モード時はＦＯＲＣＥ０１＝“０”に設定する。
【００６２】
なお、上述した以外の構成は、図７１〜図７６で示した従来構成と同様であるため、説明は省略する。
【００６３】
次に動作の説明を行う。
セレクタテスト信号ＰＦＩＮを“０”に設定することによって、強制的に冗長制御信号である「F<i+4>=0,F<i+3>=0,F<i+2>=0,F<i+1>=0」にする。
【００６４】
これにより、冗長データ出力ＸＤＯ<i+3>には出力データＤＯ<i+3>、ＸＤＯ<i+2>にはＤＯ<i+2>、ＸＤＯ<i+1>にはＤＯ<i+1>、ＸＤＯ<i>にはＤＯ<i>が伝わる。したがって、ＳＦＦＣ<i+3>,ＳＦＦＣ<i+2>,ＳＦＦＣ<i+1>,ＳＦＦＣ<i>のD信号の接続先はそれぞれ、ＤＯ<i+3>,ＤＯ<i+2>,ＤＯ<i+1>,ＤＯ<i>になるため、図７１〜図７６で示した従来の構成のテスト回路を有する半導体集積回路と同じようにＲＡＭ２１１のテストが行える。
【００６５】
次に、冗長データ出力ＸＤＯ<>の冗長出力選択回路を構成するセレクタ２３０〜２３３に対するテスト方法を説明する。
【００６６】
書き込みデータ制御回路ＤＩＣＯＮＴによって、入力データＤＩ<i+4>＝“０”,ＤＩ<i+3>＝“１”,ＤＩ<i+2>＝“０”,ＤＩ<i+1>＝“１”,ＤＩ<i>＝“０”に設定し、ＲＡＭ２１１の特定番地にデータを書き込む。
【００６７】
そして、この特定番地に対するＲＡＭ２１１に対する読み出し動作を行う。この結果、出力データＤＯ<i+4>＝“０”,ＤＯ<i+3>＝“１”,ＤＯ<i+2>＝“０”,ＤＯ<i+1>＝“１”,ＤＯ<i>＝“０”になる。
【００６８】
セレクタテスト信号ＰＦＩＮ＝“０”としてセレクタ２３０〜２３３の選択設定内容を全て“０”入力に強制的に設定した状態で、ＳＦＦＣを用いてテストを行えば、セレクタ２３０〜２３３の一方の入力（入力０側）が冗長データ出力ＸＤＯ<>として正常に伝わっているか否かを検証することができる。
【００６９】
また、セレクタテスト信号ＰＦＩＮ＝“１”,かつ「SO<i+4>=1,SO<i+3>=1,SO<i+2>=1,SO<i+1>=1」の状態で、ＳＦＦＣ<>を用いてテストを行えば、セレクタ回路の他方の入力（“１”入力側）が冗長データ出力ＸＤＯ<>として正常に伝わっているか否かを検証することができる。
【００７０】
このようにして、実施の形態１の半導体集積回路は、冗長データ出力ＸＤＯ<>に関するセレクタ２３０〜２３３の動作テストを行うことができる。なお、ＳＦＦＣ<>を用いてのテストは、比較動作を用いたものでもよいし、キャプチャー動作を用いたものでもよい。なお、キャプチャー動作はＳＦＦＣ<>を通常モードにしてトグルとなるクロックを入力する動作を意味する。
【００７１】
＜実施の形態２＞
図８〜図１０はこの発明の実施の形態２である半導体集積回路を示す図であり、図８は図９と図１０との位置関係を示す説明図であり、図９及び図１０は半導体集積回路の回路構成を示す回路図である。
【００７２】
実施の形態１の構成に比べて、レジスタＲＥＧ<i>〜ＲＥＧ<i+4>が付加されている。トグル入力Ｔにタイミング信号ＴＲを共通に受けるレジスタＲＥＧ<i>〜ＲＥＧ<i+4>はＤ型フリップフロップで構成されている。
【００７３】
レジスタＲＥＧ<i>のデータ入力Ｄにシリアル出力ＳＯ<i>を受け、データ出力ＱがＡＮＤゲート２２の一方入力となり、レジスタＲＥＧ<i+1>のデータ入力Ｄにシリアル出力ＳＯ<i+1>を受け、データ出力ＱがＡＮＤゲート２２１の一方入力となり、レジスタＲＥＧ<i+2>のデータ入力Ｄにシリアル出力ＳＯ<i+2>を受け、データ出力ＱがＡＮＤゲート２２２の一方入力となり、レジスタＲＥＧ<i+3>のデータ入力Ｄにシリアル出力ＳＯ<i+3>を受け、データ出力ＱがＡＮＤゲート２２３の一方入力となり、レジスタＲＥＧ<i+4>のデータ入力Ｄにシリアル出力ＳＯ<i+4>を受け、データ出力ＱがＡＮＤゲート２１の一方入力となる。
【００７４】
このような構成において、ＳＦＦＣ<i+1>〜ＳＦＦＣ<i+4>のシリアル出力ＳＯ<i+1>〜ＳＯ<i+4>は、レジスタＲＥＧ<i+1>〜ＲＥＧ<i+4>からそれぞれ供給されるため、通常動作モード時はＳＦＦＣ<>内部のフリップフロップ２０７をＲＡＭ２１１の冗長出力データの一時記憶用の出力レジスタとして用いることができる。
【００７５】
なお、レジスタＲＥＧ<>は、Ｄ型フリップフロップ以外に、マスター／スレーブ型のフリップフロップでも、ハーフラッチ回路で構成しても良い。
【００７６】
＜実施の形態３＞
図１１〜図１３はこの発明の実施の形態３である半導体集積回路を示す図であり、図１１は図１２と図１３との位置関係を示す説明図であり、図１２及び図１３は半導体集積回路の回路構成を示す回路図である。
【００７７】
実施の形態１の構成に比べてＡＮＤゲートＡＮＤＣＭＰＥが追加されている。ＡＮＤゲートＡＮＤＣＭＰＥは一方入力に比較制御信号ＣＭＰを受け、他方入力に比較制御信号ＣＭＰＥを受け、その出力がＳＦＦＣ<i+4>の比較制御信号ＣＭＰの入力部に入力される。なお、他の構成は実施の形態１の構成と同様である。
【００７８】
実施の形態１の回路構成では、セレクタ２３０〜２３３の入力“１”側のテスト時に、ＳＦＦＣ<i+4>のラッチデータの比較動作が行わると、不一致となって、ＳＯ<i+4>＝“０”になってしまう。このため、ＳＯＤＯ<i+4>に基づく判定が煩雑になる。
【００７９】
実施の形態３の回路構成では、セレクタ２３０〜２３３の入力“１”側のテスト時に、比較制御信号ＣＭＰＥ＝“０”に設定すれば、ＳＦＦＣ<i+4>の比較動作を抑制することができる。
【００８０】
このように制御すれば、このテストの期待値はSO<i+4>=1,SO<i+3>=1,SO<i+2>=1,SO<i+1>=1,SO<i>=1と全て“１”に統一されるため、ＳＯＤＯ<i+4>に基づく判定が容易になる。
【００８１】
このとき、セレクタテスト信号ＰＦＩＮ＝“１”に設定しておけば、出力信号ＰＦＯＵＴの“１”／“０”によって正常／異常が判定可能となる。
【００８２】
＜実施の形態４＞
図１４〜図１６はこの発明の実施の形態４である半導体集積回路の比較回路付きスキャンパス回路部を示す図であり、図１４は図１５と図１６との位置関係を示す説明図であり、図１５及び図１６はスキャンパス回路部の回路構成を示す回路図である。
【００８３】
実施の形態４の比較回路付きスキャンパス回路部は、実施の形態１の回路構成であるＳＦＦＣ<i>〜ＳＦＦＣ<i+4>を、スキャンフリップフロップＳＦＦＤ<i>〜ＳＦＦＤ<i+4>及び信号制御回路９に置き換えた部分である。なお、スキャンパス回路部以外の構成は実施の形態１と同様である。また、実施の形態２，実施の形態３及び以降で述べる実施の形態のスキャンフリップフロップＳＦＦＣ<i>〜ＳＦＦＣ<i+4>に置き替えて使用することができる。以下、スキャン・フリップフロップＳＦＦＤ<>を単にＳＦＦＤ<>と略する場合がある。
【００８４】
図１５に示すように、信号制御回路９は論理ゲート４１〜５２から構成されている。３入力のＡＮＤゲート４１及び３入力のＮＯＲゲート４２は共に信号ＡＮＤＳＩ、ＣＭＰ及びＴＭを受け、インバータ４３は信号ＴＭを受け、ＯＲゲート４４は信号ＥＸＰＡ及び信号ＣＭＰの反転信号を受け、ＮＡＮＤゲート４５は信号ＥＸＰＡ及びＣＭＰを受け、３入力のＯＲゲート４６は信号ＥＸＰＡ、ＣＭＰ及びＳＭを受け、ＯＲゲート４７は信号ＥＸＰＢ及び信号ＣＭＰの反転信号を受け、ＮＡＮＤゲート４８は信号ＥＸＰＢ及び信号ＣＭＰを受ける。
【００８５】
ＯＲゲート４９はＡＮＤゲート４１及びＮＯＲゲート４２の出力を受け、ＮＡＮＤゲート５０は信号ＳＭ及びＯＲゲート４９の出力を受け、ＡＮＤゲート５１がＮＡＮＤゲート４５の出力及びＯＲゲート４６の出力を受け、ＡＮＤゲート５２はＡＮＤゲート４８の出力及びＯＲゲート４６の出力を受ける。
【００８６】
そして、ＮＡＮＤゲート５０の出力が信号ＴＭＳＩ、インバータ４３の出力が信号ＴＭＦＢ、ＯＲゲート４４の出力が信号ＣＭＰ０ＬＡ、ＡＮＤゲート５１の出力が信号ＣＭＰ１ＬＡ、ＯＲゲート４７の出力が信号ＤＭＰ０ＬＢ、ＡＮＤゲート５２の出力がＣＭＰ１ＬＢとして出力される。
【００８７】
図１６に示すように、スキャンフリップフロップＳＦＦＤ<i>〜ＳＦＦＤ<i+4>はＳＦＦＤ<i+4>からＳＦＦＤ<i>の順で直列に接続され、ＳＦＦＤ<i+4>は信号ＳＩＤＯ<i+4>をシリアル入力ＳＩとして受け、ＳＦＦＤ<i>のシリアル出力ＳＯ<i>が信号ＳＯＤＯ<i>となる。
【００８８】
スキャンフリップフロップＳＦＦＤ<i>〜ＳＦＦＤ<i+4>はそれぞれ論理ゲート５５〜６２及びＤ−ＦＦ６３から構成されている。ＯＲゲート５５は信号ＣＭＰ１Ｌ及び信号Ｄを受け、インバータ５６は信号Ｄを受け、ＯＲゲート５７はインバータ５６の出力及び信号ＣＭＰ０Ｌを受け、ＯＲゲート５８は信号ＴＭＦＢ及びＤ−ＦＦ６３のＱ出力を受け、ＯＲゲート５９は信号ＳＩ及びＴＭＳＩを受ける。
【００８９】
ＮＡＮＤゲート６０はＯＲゲート５５及びＯＲゲート５７の出力を受け、ＮＡＮＤゲート６１はＯＲゲート５８及びＯＲゲート５９の出力を受け、ＮＯＲゲート６２はＮＡＮＤゲート６０及びＮＡＮＤゲート６１の出力を受け、Ｄ−ＦＦ６３はＤ入力にＮＯＲゲート６２の出力を受け、そのＱ出力より得られる信号がシリアル出力信号ＳＯとして外部に出力される。なお、Ｄ−ＦＦ６３へのクロック入力は図示省略されている。
【００９０】
スキャンフリップフロップＳＦＦＤ<i>〜ＳＦＦＤ<i+３>はＤ入力として冗長データ出力ＸＤＯ<i>〜ＸＤＯ<i+3>を受け、スキャンフリップフロップＳＦＦＤ<i+4>はＤ入力として出力データＤ<i+4>を受ける。
【００９１】
スキャンフリップフロップＳＦＦＤ<i>，ＳＦＦＤ<i+2>及びＳＦＦＤ<i+4>は共通に信号ＣＭＰ１Ｌとして信号ＣＭＰ１ＬＡを受け、ＣＭＰ０Ｌとして信号ＣＭＰ０ＬＡを受け、スキャンフリップフロップＳＦＦＤ<i+1>及びＳＦＦＤ<i+3>は共通に信号ＣＭＰ１Ｌとして信号ＣＭＰ１ＬＢを受け、ＣＭＰ０Ｌとして信号ＣＭＰ０ＬＢを受ける。
【００９２】
このように、偶数ビット目（even）のＳＦＦＤ<>は、信号ＣＭＰ１Ｌとして信号ＣＭＰ１ＬＡを入力し、信号ＣＭＰ０Ｌとして信号ＣＭＰ０ＬＡを入力し、奇数ビット目（odd）のＳＦＦＤ<>は、信号ＣＭＰ１Ｌとして信号ＣＭＰ１ＬＢを入力し、信号ＣＭＰ０Ｌとして信号ＣＭＰ０ＬＢを入力する。
【００９３】
そして、スキャンフリップフロップＳＦＦＤ<i>〜ＳＦＦＤ<i+4>のシリアル出力信号ＳＯがＳＯ<i>〜ＳＯ<i+4>として出力される。
【００９４】
図１７は実施の形態４のスキャンパス回路部における各種信号の真理値状態を示す図である。また、図１８〜図２４はスキャンフリップフロップＳＦＦＤの各動作モードにおける動作状態を示す説明図である。
【００９５】
以下、これらの図を参照して、通常(NORMAL),シフト(SHIFT),ホールド(HOLD),比較(COMPARE),シフト比較(SHIFTING-COMPARE),比較ワンス(COMPARE-ONCE),セット１(SET1)の７つの動作モードについて説明を行う。
【００９６】
まず、信号ＡＮＤＳＩ＝“０”に設定して、従来と同様の信号設定で、通常モード,シフトモード,ホールドモード,比較モードに設定し、図７４で示したＳＦＦＣ<>と互換性をもたせることができる。
【００９７】
通常モードは、ＲＡＭ２１１の出力データをＳＦＦＤ<>内のＤ−ＦＦ６３に取り込むように構成されている。ただし、ＳＦＦＣ<>内のＤ−ＦＦ６３を冗長制御に用いる場合は、Ｄ−ＦＦ６３に供給するクロック（図１６では図示せず）を停止する必要がある。
【００９８】
図１８に示すように、通常モードでは、信号ＣＭＰ１Ｌ，ＣＭＰ０Ｌ，ＴＭＦＢ及びＴＭＳＩが“０”，“１”，“１”及び“１”に設定されるため、ＮＡＮＤゲート６１の出力が“０”で固定され、入力信号ＤがＤ−ＦＦ６３のＤ入力に付与される。
【００９９】
シフトモードは、ＳＦＦＤ<i>〜ＳＦＦＤ<i+4>による直列シフト動作を行う動作モードである。後述する比較モードで比較を行う前にＤ−ＦＦ６３に“１”をセットする場合にこのシフトモードを用いることができる。
【０１００】
図１９に示すように、シフトモードでは、信号ＣＭＰ１Ｌ，ＣＭＰ０Ｌ，ＴＭＦＢ及びＴＭＳＩが“１”，“１”，“１”及び“０”に設定されるため、ＮＡＮＤゲート６０の出力が“０”で固定され、シリアル入力信号ＳＩがＤ−ＦＦ６３のＤ入力に付与される。
【０１０１】
ホールドモードは、テスト途中のテスト結果を保持する為に用いる。Ｄ−ＦＦ６３を冗長制御に用いる場合は、このモードを使用することができる（クロック停止は不要）。
【０１０２】
図２０に示すように、ホールドモードでは、信号ＣＭＰ１Ｌ，ＣＭＰ０Ｌ，ＴＭＦＢ及びＴＭＳＩが“１”，“１”，“０”及び“１”に設定されるため、ＮＡＮＤゲート６０の出力が“０”で固定され、Ｄ−ＦＦ６３のＱ出力がＤ入力に帰還する。
【０１０３】
比較モードは、ＲＡＭ２１１の出力データＤＯ<i>〜ＤＯ<i+4>と期待値(EXPA,EXPB)とを比較するモードである。ただし、比較を行う前にＤ−ＦＦ６３に“１”をセットしておく必要がある。
【０１０４】
その後、期待値に応じて信号ＣＭＰ１Ｌｃ,ＣＭＰ０Ｌｃ(ｃ=「Ａ」,「Ｂ」)のどちらか一方を“０”に設定してクロックを与えることにより、比較動作を行う。ＲＡＭ２１１からの出力が期待値と異なる場合はＤ−ＦＦ６３の値が“０”に変化する。
【０１０５】
全アドレスに対するテストが終わった後で、このテスト結果を上記のシフトモードにしてＳＩＤＯ<i>として読み出す。なお、救済動作は場合でテスト結果を検出する必要がなければ、テスト結果をシフト動作で読み出すことは不要である。
【０１０６】
図２１に示すように、比較モードでは、期待値が(expa)の場合、信号ＣＭＰ１Ｌ，ＣＭＰ０Ｌ，ＴＭＦＢ及びＴＭＳＩが“バー(expa)”，“(expa)”，“０”及び“１”に設定される。
【０１０７】
したがって、Ｄ−ＦＦ６３のＱ出力が“１”の場合はＮＡＮＤゲート６１の出力が“０”で固定され、入力信号Ｄを期待値(expa)との一致／不一致によって“１”／“０”がＤ−ＦＦ６３のＤ入力に付与される。
【０１０８】
一方、Ｄ−ＦＦ６３のＱ出力が“０”の場合はＮＡＮＤゲート６１の出力が“１”で固定されてＮＯＲゲート６２の出力が“０”で固定されることにより、入力信号Ｄと期待値(expa)との比較結果に関係なく“０”がＤ−ＦＦ６３のＤ入力に付与される。
【０１０９】
シフト比較モードは、上記の比較モードとシフトモードを組み合わせたものである(ANDSI=1に設定)。故障が検出される(Ｄ−ＦＦ６３に“０”がラッチされる)とその情報が後段のＳＦＦＤ<>にも伝播して行く(後段のＳＦＦＤのＤ−ＦＦ６３も伝播とともに“０”になっていく)。上記の比較モードに比べて、比較動作と共にシフト動作が実行されるため、早期に“０”がＳＯＤＯ<i>として外部に出力されるため、ＲＡＭ２１１の不良の検出時間を短縮できる。
【０１１０】
また、後述する実施の形態６で述べるが、シフト動作モードでＳＦＦＤ<>を動作させることにより、Ｄ−ＦＦ６３の出力をそのまま、冗長切り替え用のセレクタ２３０〜２３３の冗長制御信号である出力データＦ<i+1>〜Ｆ<i+4>とすることが可能である。
【０１１１】
図２２に示すように、シフト比較モードでは、期待値が(expa)の場合、信号ＣＭＰ１Ｌ，ＣＭＰ０Ｌ，ＴＭＦＢ及びＴＭＳＩが“バー(expa)”，“(expa)”，“０”及び“０”に設定される。
【０１１２】
したがって、Ｄ−ＦＦ６３のＱ出力及びシリアル入力信号ＳＩが共に“１”の場合はＮＡＮＤゲート６１の出力が“０”で固定され、入力信号Ｄを期待値(expa)との一致／不一致によって“１”／“０”がＤ−ＦＦ６３のＤ入力に付与される。
【０１１３】
一方、Ｄ−ＦＦ６３のＱ出力及びシリアル入力信号ＳＩのうち少なくとも一方が“０”の場合はＮＡＮＤゲート６１の出力が“１”で固定されてＮＯＲゲート６２の出力が“０”で固定されることにより、入力信号Ｄと期待値(expa)との比較結果に関係なく“０”がＤ−ＦＦ６３のＤ入力に付与される。
【０１１４】
比較ワンスモードは、上記の比較モードの蓄積動作を削除したものであり、１回毎の比較結果がＤ−ＦＦ６３に取り込まれその度にＤ−ＦＦ６３の内容が更新される。すなわち、比較モードはＤ−ＦＦ６３が一度“０”となると“０”が維持されるが、比較ワンスモードでは維持されない。
【０１１５】
図２３に示すように、比較ワンスモードでは、期待値が(expa)の場合、信号ＣＭＰ１Ｌ，ＣＭＰ０Ｌ，ＴＭＦＢ及びＴＭＳＩが“バー(expa)”，“(expa)”，“１”及び“１”に設定されるため、ＮＡＮＤゲート６１の出力が“０”で固定され、入力信号Ｄを期待値(expa)との一致／不一致によって“１”／“０”がＤ−ＦＦ６３のＤ入力に付与される。
【０１１６】
セット１モードはＤ−ＦＦ６３に“１”を設定するためのものである。
【０１１７】
図２４に示すように、セット１モードでは、信号ＣＭＰ１Ｌ，ＣＭＰ０Ｌ，ＴＭＦＢ及びＴＭＳＩが“１”，“１”，“１”及び“１”に設定されるため、ＮＯＲゲート６２の出力が“１”で固定され、Ｄ−ＦＦ６３のＤ入力に“１”が付与される。
【０１１８】
以上のように、実施の形態４のスキャンパス回路部は、実施の形態１のＳＦＦＣ<i>〜ＳＦＦＣ<i+4>による構成に比べて、シフト比較モードと比較ワンスモード、セット１モードが付加されており、より多様な動作が可能となる。
【０１１９】
また、上記以外のモードでは従来（実施の形態１のＳＦＦＣ<i>〜ＳＦＦＣ<i+4>による構成）と互換性があるので、実施の形態４のスキャンパス回路部を他の実施の形態に用いることもできる。
【０１２０】
＜実施の形態５＞
図２５〜図２７はこの発明の実施の形態５である半導体集積回路の比較回路付きスキャンパス回路部を示す図であり、図２５は図２６と図２７との位置関係を示す説明図であり、図２６及び図２７はスキャンパス回路部の回路構成を示す回路図である。
【０１２１】
図２６及び図２７に示すように、実施の形態５のスキャンパス回路部変形であり、実施の形態４の回路構成において、ANDCMPEの機能をＳＦＦＤ<i+4>にもたせるべくＡＮＤゲート６５を追加している。
【０１２２】
ＡＮＤゲート６５は一方入力としてＮＡＮＤゲート６０の出力を受け、他方入力として外部より比較制御信号ＣＭＰＥを受ける。そして、ＡＮＤゲート６５の出力がＮＯＲゲート６２の一方入力となる。ＳＦＦＤ<i+4>内部における他の構成は実施の形態４のＳＦＦＤ<i+4>と同様であり、ＳＦＦＤ<i+4>外部の構成は実施の形態４のスキャンパス回路部と同様である。
【０１２３】
実施の形態５のスキャンパス回路部を用いる場合、セレクタ２３０〜２３３の入力“１”側のテスト時に、比較制御信号ＣＭＰＥ＝“０”に設定すれば、ＳＦＦＣ<i+4>の比較動作を抑制することができるため、実施の形態３と同様にして信号ＳＯＤＯ<i+4>に基づく判定が容易になる。
【０１２４】
＜実施の形態６＞
図２８〜図３０はこの発明の実施の形態６である半導体集積回路を示す図であり、図２８は図２９と図３０との位置関係を示す説明図であり、図２９及び図３０は半導体集積回路の回路構成を示す回路図である。
【０１２５】
実施の形態６では、スキャンフリップフロップＳＦＦＥ<i>〜ＳＦＦＥ<i+4>を直列に接続してスキャンパスを設けている。以下、スキャン・フリップフロップＳＦＦＥ<>を単にＳＦＦＥ<>と略する場合がある。
【０１２６】
図３１に示すように、ＳＦＦＥ<i>〜ＳＦＦＥ<i+3>は、実施の形態４及び実施の形態５のＳＦＦＤ<i>〜ＳＦＦＤ<i+3>と実質的に同じ回路構成を呈しており、ＮＯＲゲート６２の出力がデータ出力Ｐとして出力されると共に、タイミング信号ＴをＤ−ＦＦ６３のトグル入力Ｔに受けている。
【０１２７】
図３２に示すように、ＳＦＦＥ<i+4>は、実施の形態５のＳＦＦＤ<i+4>と実質的に同じ回路構成を呈しており、ＮＯＲゲート６２の出力がデータ出力Ｐとして出力されると共に、タイミング信号ＴをＤ−ＦＦ６３のトグル入力Ｔに受けている。
【０１２８】
ＳＦＦＥ<i>〜ＳＦＦＥ<i+4>は信号ＴＭＦＢ、信号ＴＭＳＩ及びタイミング制御信号ＣＫＤＯを共通に受け（タイミング制御信号ＣＫＤＯはＤ−ＦＦ６３のタイミング信号Ｔとして入力される）、ＳＦＦＥ<i>〜ＳＦＦＥ<i+3>それぞれの入力データＤとして、冗長データ出力ＸＤＯ<i>〜ＸＤＯ<i+3>を受け、ＳＦＦＥ<i+4>の入力データＤとしてデータ出力ＤＯ<i+4>を受ける。
【０１２９】
また、ＳＦＦＥ<i>，<i+2>，<i+4>が期待値用の信号ＣＭＰ１Ｌ及び信号ＣＭＰ０Ｌとして信号ＣＭＰ１ＬＡ及びＣＭＰ０ＬＡを受け、ＳＦＦＥ<i+1>，<i+3>が信号ＣＭＰ１Ｌ及び信号ＣＭＰ０Ｌとして信号ＣＭＰ１ＬＢ及びＣＭＰ０ＬＢを受ける。すなわち、比較動作の期待値は偶数ビット目と奇数ビット目で異なる値を設定することができる。なお、これらの信号と動作モードとの関係は図１７で示した通りである。
【０１３０】
また、セレクタ２３０〜２３３の冗長制御信号である出力データＦ<i+1>〜Ｆ<i+4>として、ＳＦＦＥ<i+1>〜ＳＦＦＥ<i+4>のシリアル出力ＳＯ<i+1>〜ＳＯ<i+4>が与えられる。ＳＦＦＥ<i>〜ＳＦＦＥ<i+3>それぞれのデータ出力Ｐがデータ出力Ｐ<i>〜Ｐ<i+3>となる。
【０１３１】
さらに、ＳＦＦＥ<i+4>は比較制御信号ＣＭＰＥによって、実施の形態５のＳＦＦＥ<i+4>と同様の比較抑制機能を備えている。他の構成は実施の形態１と同様であるため、説明は省略する。
【０１３２】
このような構成において、ＳＦＦＥ<i>〜ＳＦＦＥ<i+4>をシフト比較モードに設定して動作させることにより、例えば、ＲＡＭ２１１の出力データＤＯ<i+2>対応のＳＦＦＥ<i+2>で故障が検出されると、クロック（タイミング制御信号ＣＫＤＯ）を与える毎にＳＦＦＥ<i+1>,ＳＦＦＥ<i>に（出力ＤＯ<i+1>,ＤＯ<i>に故障がない場合でも）順次伝搬していく。
【０１３３】
最終的に、SO<i+4>=1,SO<i+3>=1,SO<i+2>=0,SO<i+1>=0,SO<i>=0の状態になる。これらＳＯ<i+1>〜ＳＯ<i+4>をそのままＦ<i+1>〜Ｆ<i+4>として、セレクタ２３０〜２３３の選択設定内容を制御するように用いれば、所望の冗長切替を実現することができる。
【０１３４】
次に、冗長データ出力ＸＤＯ<>の冗長出力選択回路であるセレクタ２３０〜２３３のテスト方法を説明する。
【０１３５】
書き込みデータ制御回路ＤＩＣＯＮＴにより、ＤＩ<i+4>＝“０”,ＤＩ<i+3>＝“１”,ＤＩ<i+2>＝“０”,ＤＩ<i+1>＝“１”,ＤＩ<i>＝“０”に設定し、ＲＡＭ２１１の特定番地にデータを書き込む。この特定番地に対する読み出し動作を行う。この結果、ＤＯ<i+4>＝“０”,ＤＯ<i+3>＝“１”,ＤＯ<i+2>＝“０”,ＤＯ<i+1>＝“１”,ＤＯ<i>＝“０”になる。
【０１３６】
「SO<i+4>＝0,SO<i+3>＝0,SO<i+2>＝0,SO<i+1>＝0」の状態で、ＳＦＦＥ<i>〜ＳＦＦＥ<i+3>を用いてキャプチャー動作を行えば、セレクタ２３０〜２３３の一方の入力（入力“０”側）が冗長データ出力ＸＤＯ<>として伝わっているか否かを検証することができる。
【０１３７】
また、「SO<i+4>＝1,SO<i+3>＝1,SO<i+2>＝1,SO<i+1>＝1」の状態で、ＳＦＦＥ<i>〜ＳＦＦＥ<i+3>を用いてキャプチャー動作を行えば、セレクタ２３０〜２３３の他方の入力（入力“１”側）が冗長データ出力ＸＤＯ<>として伝わっているか否かを検証することができる。
【０１３８】
このようにして冗長データ出力ＸＤＯ<>に関するセレクタ２３０〜２３３の動作テストが行える。
【０１３９】
＜実施の形態７＞
図３３〜図３５はこの発明の実施の形態７である半導体集積回路を示す図であり、図３３は図３４と図３５との位置関係を示す説明図であり、図３４及び図３５は半導体集積回路の回路構成を示す回路図である。
【０１４０】
同図に示すように、直列に接続された４個のスキャンフリップフロップＳＦＦＥ<i>〜ＳＦＦＥ<i+3>の直列接続によってスキャンパスを構成している。
【０１４１】
このような構成において、シフトモード動作が、信号ＣＭＰ１Ｌ，ＣＭＰ０Ｌ，ＴＭＦＢ及びＴＭＳＩが“１”，“１”，“１”及び“０”に設定することにより実現でき、シフト比較モード動作が期待値が(expa)の場合、信号ＣＭＰ１Ｌ，ＣＭＰ０Ｌ，ＴＭＦＢ及びＴＭＳＩが“バー(expa)”，“(expa)”，“０”及び“０”に設定することにより実現できる。
【０１４２】
ＳＦＦＥ<i>〜ＳＦＦＥ<i+3>は、外部から信号ＳＩＤＯ<i+3>をＳＦＦＥ<i+3>のシリアル入力ＳＩに取り込み、ＳＦＦＥ<i>のシリアル出力ＳＯからＳＯＤＯ<i>を外部に出力する。
【０１４３】
また、ＡＮＤゲート２２の一方入力にシリアル出力ＳＯ<i>が入力され、ＡＮＤゲート２２１〜２２３の一方入力にシリアル出力ＳＯ<i+1>〜ＳＯ<i+3>が入力され、ＡＮＤゲート２２３の他方入力にセレクタ制御信号ＰＦＩＮが入力され、ＡＮＤゲート２２２の他方入力にＡＮＤゲート２２３の出力が入力され、ＡＮＤゲート２２１の他方入力にＡＮＤゲート２２２の出力が入力され、ＡＮＤゲート２２の他方入力にＡＮＤゲート２２１の出力が入力され、ＡＮＤゲート２２の出力が信号ＰＦＯＵＴとして外部に出力される。
【０１４４】
そして、ＡＮＤゲート２２、ＡＮＤゲート２２１〜２２３の出力が冗長制御信号である出力データＦ<i+1>〜Ｆ<i+4>として、セレクタ２３０〜２３３の制御入力に与えられる。他の構成は実施の形態６の回路構成と同様であるため説明は省略する。
【０１４５】
このような構成において、セレクタ制御信号ＰＦＩＮ＝“０”の状態で、出力データＤＯ<i+3>,ＤＯ<i+2>,ＤＯ<i+1>,ＤＯ<i>のテストを行い、シリアル出力ＳＯ<i>〜ＳＯ<i+3>を“１”に設定し、かつセレクタテスト信号ＰＦＩＮ＝“１”の状態で出力データＤＯ<i+4>,ＤＯ<i+3>,ＤＯ<i+2>,ＤＯ<i+1>のテストを行うことができる。この２回のテストで、２ビット以上の故障がないことを確認しておく。
【０１４６】
そして、救済動作時は、セレクタテスト信号ＰＦＩＮ=1の状態でＲＡＭテスト（比較動作）を行う。ＲＡＭテスト中に故障が見つかればその時点で、シリアル出力ＳＯ<i>〜ＳＯ<i+3>によって冗長切替が行われる。
【０１４７】
実施の形態７の回路を用いれば、スキャンフリップフロップを１つ省略できる分、回路規模が小さくできるという効果がある。
【０１４８】
＜実施の形態８＞
図３６〜図３８はこの発明の実施の形態８である半導体集積回路を示す図であり、図３６は図３７と図３８との位置関係を示す説明図であり、図３７及び図３８は半導体集積回路の回路構成を示す回路図である。
【０１４９】
図３７に示すように、冗長データ入力ＸＤＩ<i>〜ＸＤＩ<i+3>が書き込みデータ制御回路ＤＩＣＯＮＴ２の入力データＸＩ<i>〜ＸＩ<i+3>として入力され、データ制御回路ＤＩＣＯＮＴ２の出力データＤＩ２<i>〜ＤＩ２<i+4>が出力される。
【０１５０】
出力データＤＩ２<i+1>〜ＤＩ２<i+4>はセレクタ１１〜１４の“０”入力に付与され、出力データＤＩ２<i>〜ＤＩ２<i+3>はセレクタ１１〜１４の“１”入力に付与される。セレクタ１１〜１３は制御入力に出力データＦ<i+2>〜Ｆ<i+4>を受け、セレクタ１４は制御入力にセレクタ制御信号ＰＦＩＮを受け、ＯＲゲート１５は出力データＤＩ２<i>を一方入力に受け、他方入力に出力データＦ<i+1>を受ける。
【０１５１】
ＯＲゲート１５の出力がＲＡＭ２１１の入力データＤＩ<i>用の入力部に付与され、セレクタ１１〜１４の出力がＲＡＭ２１１の入力データＤＩ<i+1>〜ＤＩ<i+4>用の入力部に付与される。したがって、ＲＡＭ２１１は入力データＤＩ<i>〜ＤＩ<i+4>用の５ビットの入力部を有している。
【０１５２】
図３８に示すように、直列に接続された５個のスキャンフリップフロップＳＦＦＥ<i>〜ＳＦＦＥ<i+4>の直列接続によってスキャンパスを構成し、外部から信号ＳＩＤＯ<i+4>をＳＦＦＥ<i+4>のシリアル入力ＳＩに取り込み、ＳＦＦＥ<i>のシリアル出力ＳＯから信号ＳＯＤＯ<i>を外部に出力する。
【０１５３】
また、ＡＮＤゲート２２の一方入力にシリアル出力ＳＯ<i>が入力され、ＡＮＤゲート２２１〜２２３の一方入力にシリアル出力ＳＯ<i+1>〜ＳＯ<i+3>が入力され、ＡＮＤゲート２１の一方入力にシリアル出力ＳＯ<i+4>が入力される。
【０１５４】
そして、ＡＮＤゲート２１の他方入力にセレクタ制御信号ＰＦＩＮが入力され、ＡＮＤゲート２２３の他方入力にＡＮＤゲート２１の出力が入力され、ＡＮＤゲート２２２の他方入力にＡＮＤゲート２２３の出力が入力され、ＡＮＤゲート２２１の他方入力にＡＮＤゲート２２２の出力が入力され、ＡＮＤゲート２２の他方入力にＡＮＤゲート２２１の出力が入力され、ＡＮＤゲート２２の出力が信号ＰＦＯＵＴとして外部に出力される。
【０１５５】
そして、ＡＮＤゲート２２１〜２２３及び２１の出力が制御用の出力データＦ<i+1>〜Ｆ<i+4>として、セレクタ２３０〜２３３の制御入力に与えられる。他の構成は実施の形態６の回路構成と同様であるため説明は省略する。
【０１５６】
また、書き込みデータ制御回路ＤＩＣＯＮＴ２はＲＡＭ２１１に対するデータ書き込みを行うための制御回路であり、例えば、図３９，図４０，図４１に示すような回路が用いられる。
【０１５７】
図３９で示す書き込みデータ制御回路ＤＩＣＯＮＴ２の構成は、図４の構成からＳＦＦＤＩ<i+4>の代わりに、通常のＤ−ＦＦであるフリップフロップＦＦＤＩ<i+4>を用いている。このＦＦＤＩ<i+4>は、Ｄ入力に信号ＳＩＤＩ<i+4>を受け、Ｔ入力に信号ＣＫＤＩを受け、Ｑ出力がＤＩ２<i+4>として出力されるとともに、ＳＦＦＤＩ<i+3>のシリアル入力ＳＩとなる。他の構成は、図４の構成と同様であるため、説明を省略する。また、ＳＦＦＤＩ<>の構成は図５で示した構成である。
【０１５８】
図４０の構成は図３９の構成から入力データＤＩ２<i>〜ＤＩ２<i+3>の出力をＳＦＦＤＩ<i>〜ＳＦＦＤＩ<i+3>のＱ出力からＰ出力に置き換え、入力データＤＩ２<i+4>の出力をＦＦＤＩ<i+4>の出力からＳＩＤＩ<i+4>自体に置き換えた点のみ異なる。
【０１５９】
図４１で示す書き込みデータ制御回路ＤＩＣＯＮＴ２は、図７で示した回路から、ＡＮＤゲート３４を除去し、入力データＤＩ２<i+4>としてインバータ３５の出力を用いて点が異なる。
【０１６０】
なお、図３９，図４０，及び図４１において、ＤＩ<i>〜ＤＩ<i+4>がＤＩ２<i>〜ＤＩ２<i+4>に名称変更している点も図４，図５及び図７と異なる。
【０１６１】
このような構成において、セレクタテスト信号ＰＦＩＮ＝“０”の状態では、ＲＡＭ２１１のＤＩ<i+4>,ＤＩ<i+3>,ＤＩ<i+2>,ＤＩ<i+1>,ＤＩ<i>用の入力部にＤＩＣＯＮＴ２からの入力データＤＩ２<i+4>,ＤＩ２<i+3>,ＤＩ２<i+2>,ＤＩ２<i+1>,ＤＩ２<i>が付与される。この状態では、前述の実施の形態で示したように冗長データ出力ＸＤＯ<>の冗長出力選択回路であるセレクタ２３０〜２３３のテストが行える。
【０１６２】
なお、セレクタテスト信号ＰＦＩＮ＝“１”,「SO<i+4>=1,SO<i+3>=1,SO<i+2>=1,SO<i+1>=1」の状態では、ＲＡＭ２１１の入力データＤＩ<i+4>,ＤＩ<i+3>,ＤＩ<i+2>,ＤＩ<i+1>用の入力部に、ＤＩＣＯＮＴ２からの入力データＤＩ２<i+3>,ＤＩ２<i+2>,ＤＩ２<i+1>,ＤＩ２<i>が付与され、入力データＤＩ<i>用の入力部に“１”が供給される。
【０１６３】
次に、データ入力部分の冗長入力選択回路を構成するセレクタ１１〜１４のテスト方法を説明する。
（１）データ制御回路ＤＩＣＯＮＴ２をＤＩ２<i+4>＝“０”,ＤＩ２<i+3>＝“１”,ＤＩ２<i+2>＝“０”,ＤＩ２<i+1>＝“１”,ＤＩ２<i>＝“０”に設定する。
（２）セレクタテスト信号ＰＦＩＮ＝“０”の状態でＲＡＭ２１１の特定番地にデータを書き込む。
（３）その特定番地に対してＲＡＭ２１１の読み出し動作を行う。その結果、出力データＤＯ<i+4>＝“０”,ＤＯ<i+3>＝“１”,ＤＯ<i+2>＝“０”,ＤＯ<i+1>＝“１”,ＤＯ<i>＝“０”になる。
（４）セレクタテスト信号ＰＦＩＮ＝“０”、期待値データＥＸＰＡ＝“０”,ＥＸＰＢ＝“１”の状態で比較テストを行う。
（５）データ制御回路ＤＩＣＯＮＴ２をＤＩ<i+4>＝“０”,ＤＩ<i+3>＝“１”,ＤＩ<i+2>＝“０”,ＤＩ<i+1>＝“１”,ＤＩ<i>＝“０”に設定する。
（６）セレクタテスト信号ＰＦＩＮ＝“１”,「SO<i+4>＝1,SO<i+3>＝1,SO<i+2>＝1,SO<i+1>＝1」の状態でＲＡＭの特定番地にデータを書き込む。
（７）その特定番地に対してＲＡＭの読み出し動作を行う。その結果、出力データＤＯ<i+4>＝“１”,ＤＯ<i+3>＝“０”,ＤＯ<i+2>＝“１”,ＤＯ<i+1>＝“０”,ＤＯ<i>＝“１”になる。
（８）セレクタテスト信号ＰＦＩＮ＝“０”、期待値データＥＸＰＡ＝“１”,ＥＸＰＢ＝“０”の状態で比較テストを行う。
【０１６４】
このように、（４），（８）の比較テストによって、データ出力部(ＸＤＯ<>)の冗長用セレクタ２３０〜２３３だけでなく、データ入力部の冗長用セレクタ１１〜１４に対しても動作テストが行える。
【０１６５】
なお、実施の形態８の回路構成は、実施の形態６の回路を対象として改良したものを示しているが、同様にして他の実施の形態の回路にも適用して、データ入力部の冗長入力選択回路を構成するセレクタに対しても動作テストが行えるようにできる。
【０１６６】
＜実施の形態９＞
図４２〜図４４はこの発明の実施の形態９である半導体集積回路を示す図であり、図４２は図４３と図４４との位置関係を示す説明図であり、図４３及び図４４は半導体集積回路の回路構成を示す回路図である。
【０１６７】
実施の形態９の半導体集積回路は、実施の形態８のデータ制御回路ＤＩＣＯＮＴ２（特に図３９で示した構成）とＯＲゲート１５とを、通常のＤ−ＦＦであるフリップフロップＦＦＤＩ<i>〜ＦＦＤＩ<i+4>とセレクタ７０〜７３とＯＲゲート７５とによって実現したものである。以下、Ｄ型フリップフロップＦＦＤＩ<>を単にＦＦＤＩ<>と略する場合がある。
【０１６８】
これらの図に示すように、セレクタ７０〜７３は“０”入力に冗長データ入力ＸＤＩ<i>〜ＸＤＩ<i+3>を受け、“１”入力にＦＦＤＩ<i+1>〜ＦＦＤＩ<i+4>のＱ出力を受ける。そして、セレクタ７０〜７３の制御入力には信号ＳＭＤＩが共通に与えられる。セレクタ７０〜７３の出力がセレクタ１１〜１４の“１”入力となり、セレクタ７１〜７３の出力がセレクタ１１〜１３の“０”入力となり、セレクタ７０の出力がＯＲゲート７５の一方入力となる。
【０１６９】
セレクタ１４の“０”入力がＳＩＤＩ<i+4>となり、セレクタ１１〜１４の出力がＦＦＤＩ<i+1>〜<i+4>のＤ入力に付与され、ＯＲゲート７５の他方入力は出力データＦ<i+1>となり、ＯＲゲート７５の出力がＦＦＤＩ<i>のＤ入力に付与される。
【０１７０】
ＦＦＤＩ<i>〜ＦＦＤＩ<i+4>はＦＦＤＩ<i+4>，ＦＦＤＩ<i+3>，…ＦＦＤＩ<i>の順で直列に接続され、Ｔ入力に信号ＣＫＤＩを共通に受け、ＦＦＤＩ<i>〜<i+4>のＱ出力がＲＡＭ２１１の入力データＤＩ<i>〜ＤＩ<i+4>用の５ビット入力部に付与される。また、ＦＦＤＩ<i>のＱ出力が信号ＳＯＤＩ<i>として外部に出力される。なお、他の構成は図３６〜図３９で示した実施の形態８と同様であるため説明は省略する。
【０１７１】
実施の形態９は、基本的には、ＦＦＤＩ<i>〜ＦＦＤＩ<i+4>のＤ入力切り替え用のセレクタ７０〜７３とＦＦＤＩ<i>〜ＦＦＤＩ<i+4>との間に、冗長制御用セレクタ１１〜１４が配置されるように構成したものである。
【０１７２】
このように構成することにより、実施の形態９は実施の形態８と等価な動作が実現可能となる。例えば、ＳＭＤＩ＝“１”，セレクタテスト信号ＰＦＩＮ＝“０”の状態で、セレクタ１１〜１４が“０”入力を出力し、セレクタ７０〜７３が“１”入力を出力することにより、ＦＦＤＩ<i>〜ＦＦＤＩ<i+4>によるシフト動作が行える。
【０１７３】
＜実施の形態１０＞
図４５〜図４７はこの発明の実施の形態１０である半導体集積回路を示す図であり、図４５は図４６と図４７との位置関係を示す説明図であり、図４６及び図４７は半導体集積回路の回路構成を示す回路図である。
【０１７４】
実施の形態１０の半導体集積回路は、実施の形態８のデータ制御回路ＤＩＣＯＮＴ２（特に図４０で示した構成）とＯＲゲート１５とを、通常のＤ−ＦＦであるフリップフロップＦＦＤＩ<i>〜ＦＦＤＩ<i+4>とセレクタ７０〜７３とＯＲゲート７５とによって実現したものである。
【０１７５】
これらの図に示すように、ＦＦＤＩ<i>〜<i+4>のＤ入力がＲＡＭ２１１の入力データＤＩ<i>〜ＤＩ<i+4>用の入力部に付与される。他の構成は図４２〜図４４で示した実施の形態９の構成と同様であるため説明を省略する。
【０１７６】
このように構成することにより、実施の形態１０は、実施の形態８と等価な動作が実現可能となる。例えば、ＳＭＤＩ＝“１”，セレクタテスト信号ＰＦＩＮ＝“０”の状態で、実施の形態９と同様にしてシフト動作が行える。
【０１７７】
＜実施の形態１１＞
図４８〜図５０はこの発明の実施の形態１１である半導体集積回路を示す図であり、図４８は図４９と図５０との位置関係を示す説明図であり、図４９及び図５０は半導体集積回路の回路構成を示す回路図である。
【０１７８】
実施の形態１１の半導体集積回路は、実施の形態８のデータ制御回路ＤＩＣＯＮＴ２（図３９あるいは図４０で示した構成）とＯＲゲート１５とを、通常のＤ−ＦＦであるフリップフロップＦＦＤＩ<i>〜ＦＦＤＩ<i+4>とセレクタ７０〜７３及びセレクタ１０とによって実現したものである。
【０１７９】
これらの図に示すように、新たに設けられたセレクタ１０は“０”入力にセレクタ７０の出力を受け、“１”入力にＦＦＤＩ<i>のＱ出力を受け、制御入力に出力データＦ<i+1>を受け、その出力がＦＦＤＩ<i>のＤ入力に付与される。また、ＯＲゲート７５が省略されている。なお、他の構成は、図３６〜図４１あるいは図４２〜図４４で示した実施の形態９あるいは実施の形態１０の構成と同様であるため説明を省略する。
【０１８０】
このように構成することにより、実施の形態１１は、実施の形態８と等価な動作が実現可能となる。例えば、ＳＭＤＩ＝“１”，セレクタテスト信号ＰＦＩＮ＝“０”の状態で、実施の形態９，実施の形態１０と同様にしてシフト動作が行える。
【０１８１】
さらに、ＳＭＤＩ＝“１”、ＰＦＩＮ＝“１”、ＳＯ<i>〜ＳＯ<i+4>＝１の信号設定によって、ＦＦＤＩ<i>〜ＦＦＤＩ<i+4>が全てデータ保持状態（ホールド状態）に設定することができる。
【０１８２】
この状態では、信号ＣＫＤＩにクロックを与えても、ＦＦＤＩ<i>〜ＦＦＤＩ<i+4>の保持データは変化しない。したがって、実施の形態１１ではＦＦＤＩ<>の書き込みデータを保持させることができる。
【０１８３】
このデータ保持動作は、ＲＡＭ２１１のテストへのデータ入力の際に用いることもできるし、通常動作において冗長書き込みデータを保持するための一時記憶用入力レジスタとして用いることもできる。
【０１８４】
＜実施の形態１２＞
図５１〜図５３はこの発明の実施の形態１２である半導体集積回路を示す図であり、図５１は図５２と図５３との位置関係を示す説明図であり、図５２及び図５３は半導体集積回路の回路構成を示す回路図である。
【０１８５】
実施の形態１２の半導体集積回路は、実施の形態１１のセレクタ７０〜７３を論理ゲートで構成する等の変更が加えられている。
【０１８６】
これらの図に示すように、ＯＲゲート２５〜２８は一方入力にＸＤＩ<i>〜<i+3>を受け、他方入力に信号ＳＭＤＩＸを共通に受ける。ＯＲゲート３６〜３９は一方入力にＦＦＤＩ<i+1>〜ＦＦＤＩ<i+4>のＱ出力を受け、他方入力に信号ＳＭＤＩＳを共通に受ける。ＡＮＤゲート１７〜２０は一方入力にＯＲゲート２５〜２８の出力を受け、他方入力にＯＲゲート３６〜３９の出力を受け、出力がセレクタ１０〜１３の“０”入力となる。これら論理ゲート群１７〜２０，２５〜２８，３６〜３９は、セレクタ７０〜７３と等価な働きをする。
【０１８７】
さらに、新たに追加されたセレクタ１６は“０”入力にＳＩＤＯ<i+4>を受け、“１”入力にＳＦＦＥ<i>のシリアル出力ＳＯ<i>を受け、制御入力に信号ＬＯＯＰＥＮを受け、その出力がＳＦＦＥ<i+4>のシリアル入力ＳＩに与えられる。
【０１８８】
また、ＡＮＤゲート２３は信号ＬＯＯＰＥＮ及び信号ＳＯＤＩ<i>の反転信号とを受ける。ＯＲゲート２４は一方入力にＡＮＤゲート２３の出力、他方入力にシリアル出力ＳＯ<i>を受け、その出力がＳＯＤＯ<i>として外部に出力される。
【０１８９】
さらに、ＡＮＤゲート５３は一方入力にＡＮＤゲート２３の出力の反転信号を受け、他方入力に信号ＴＭＦＢを受け、その出力がＳＦＦＥ<i>〜<i+4>のＴＭＦＢ入力に共通に付与される。ＯＲゲート５４は一方入力にＡＮＤゲート２３の出力を受け、他方入力に信号ＴＭＳＩを受け、その出力がＳＦＦＥ<i>〜<i+4>のＴＭＳＩ入力に共通に付与される。
【０１９０】
なお、他の構成は、図４８〜図５０で示した実施の形態１１の構成と同様であるため説明を省略する。
【０１９１】
このように構成することにより、実施の形態１２は、実施の形態１１と等価な動作が実現可能となる。但し、ＳＭＤＩＳ＝“１”，ＳＭＤＩＸ＝“０”が実施の形態１１のＳＭＤＩ＝“０”に相当し、ＳＭＤＩＳ＝“０”，ＳＭＤＩＸ＝“１”が実施の形態１１のＳＭＤＩ＝“１”に相当する。
【０１９２】
したがって、ＳＭＤＩＳ＝“０”，ＳＭＤＩＸ＝“１”（実施の形態１１のＳＭＤＩ＝“１”に相当），セレクタテスト信号ＰＦＩＮ＝“０”の状態で、シフト動作が行える。
【０１９３】
さらに、ＳＭＤＩＳ＝“０”，ＳＭＤＩＸ＝“１”、ＰＦＩＮ＝“１”、ＳＯ<i>〜ＳＯ<i+4>＝１の信号設定によって、ＦＦＤＩ<i>〜ＦＦＤＩ<i+4>が全てデータ保持状態に設定することができる。
【０１９４】
さらに、ＳＭＤＩＳ＝“１”，ＳＭＤＩＸ＝“１”，ＰＦＩＮ＝“０”，ＳＩＤＩ<i+4>=１の時にクロックを与えれば、全てのＦＦＤＩ<i>〜ＦＦＤＩ<i+4>を一括して“１”にセットすることができる。この時、ＦＦＤＩ<i>の出力Ｑは“１”になっている。
【０１９５】
全てのＦＦＤＩ<i>〜ＦＦＤＩ<i+4>を“１”にセットした後で、ＳＭＤＩＳ＝“０”，ＳＭＤＩＸ＝“１”，ＰＦＩＮ＝“０”，ＳＩＤＩ<i+4>＝０の状態でシフト動作をくりかえせば、ＦＦＤＩ<i>の出力Ｑは４クロックまでは“１”で５クロック以降は“０”になる。
【０１９６】
このように、ＦＦＤＩ<i>〜ＦＦＤＩ<i+4>を５クロックカウンタとして利用することができる。
【０１９７】
実施の形態１２では、ＦＦＤＩ<i>〜ＦＦＤＩ<i+4>の上述したカウント動作を利用して、比較回路付きスキャンフリップフロップＳＦＦＥ<i>〜ＳＦＦＥ<i+4>に格納されたテスト結果をシリアルでＳＯＤＯ<i>に読み出し、それをＳＦＦＥ<i>〜ＳＦＦＥ<i+4>間にループさせて元の位置に格納するための回路（ＲＡＭテスト用制御手段（１６，２３，５３，５４））を付加している。
【０１９８】
ＬＯＯＰＥＮ＝“１”に設定することにより、セレクタ１６の切り替え操作により、ＳＯＤＯ<i>からＳＦＦＣ<i+4>のシリアル入力ＳＩへのループが構成される。
【０１９９】
この状態で、上記のＦＦＤＩ<i>〜ＦＦＤＩ<i+4>によるカウント動作とＳＦＦＥ<i>〜ＳＦＦＥ<i+4>のテスト結果のシフト動作を同時に行えば、５クロック後に各ＳＦＦＥ<>は強制的に「TMFB=0,TMSI=1」のホールド状態になる。これにより、テスト結果は元のＳＦＦＥ<>に格納される。５クロックを超えるクロックが与えられても、信号ＬＯＯＰＥＮが“１”を維持する限り、ＡＮＤゲート２３が“１”となって各ＳＦＦＥ<>のホールド状態が維持されるため、テスト結果はシフトされない。
【０２００】
ＳＯＤＯ<i>としてＯＲゲート２４から出力されたテスト結果（この例では、５ビット）は、半導体集積回路装置内又は外部の判定回路により、２ビット以上の故障がないかどうかが判定される。２ビット以上故障があれば、救済不可能であると判定される。
【０２０１】
上記のループ機能により、テスト結果は元のＳＦＦＥ<>の位置に戻るので、「PFIN=1,LOOPEN=0,SMDIS=1,SMDIX=0」に設定し、ＳＦＦＥ<>に対するクロックＴ(ＣＫＤＯ)を停止することにより、ＳＦＦＥ<i>〜ＳＦＦＥ<i+4>の格納データに基づき適切な冗長切替が行われる。
【０２０２】
なお、実施の形態１２では、ＦＦＤＩ<i>〜ＦＦＤＩ<i+4>に“１”をセットする手段として信号ＳＭＤＩＳ，ＳＭＤＩＸで制御される論理ゲートを用いているが、他の手段を用いることもできる。
【０２０３】
例えば、ＦＦＤＩ<i>〜ＦＦＤＩ<i+4>のシフト動作を利用して、ＳＩＤＩ<i+4>から“１”をシフトインすることでも実現できる。この時、ビット数よりも多目にクロックを与えてシフト動作を行うことができる。また、例えば、ＦＦＤＩ<i>〜ＦＦＤＩ<i+4>としてセット機能付きのフリップフロップを用いてもよい。
【０２０４】
上記のように、故障救済の可否判定の為のシフト動作時に、ＲＡＭ２１１の入力データＤＩ設定用に設けられるＦＦＤＩ<i>〜ＦＦＤＩ<i+4>をカウンタとして用いることにより、ＳＦＦＥ<i>〜ＳＦＦＥ<i+4>から得られるテスト結果を自動的に元の位置に再格納することができる。このとき、クロックは必要ビット数よりも多目に与えても何ら支障が生じないため、複数のＲＡＭが半導体集積回路装置上に搭載された場合に、制御が非常に容易になるといる効果がある。
【０２０５】
例えば、５ビットのＲＡＭと８ビットのＲＡＭと１２ビットのＲＡＭが搭載されている場合には、同時に１２クロックのシフト動作（１ビットループ動作）を行うことによってれらら３つのＲＡＭのテスト結果はテスト用スキャンフリップフロップ上の元の位置に戻って格納される。
【０２０６】
なお、ＯＲゲート２４は、必要ビット数よりも多くのビット数でシフト動作を行っているＲＡＭに関してＳＯＤＯ<i>がPassを示す“１”を出力するために付加されている（ＯＲゲート２４は必須ではない）。このＯＲゲート２４が存在すれば、救済可否の判定回路の制御が容易になる。つまり、上記の３つのＲＡＭの例では、３つのＲＡＭのＳＯＤＯ<i>を１２ビット分観測すれば、判定が行える。このＯＲゲート２４が存在しない場合、例えば、５ビットのＲＡＭのＳＯ<i>が“０”（Failを示す）の場合に、この“０”が７ビット分も余分に観測されてしまうので、これをマスクする制御が必要になってしまう不具合が生じるが、ＯＲゲート２４によってその不具合は解消される。
【０２０７】
＜実施の形態１３＞
実施の形態１３は、メモリテスト装置によるＲＡＭの不良解析を容易にすることを目的としている。詳細な不良解析を行う場合は、比較回路付きスキャン・フリップフロップでテスト結果内容を圧縮する（元の情報の一部を失う）ことは、望ましくない。テスト結果を圧縮せずに出力することが望ましい。
【０２０８】
しかし、内蔵されるＲＡＭの出力ビット数はメモリテスト装置で扱えるビット数を超えていることがあり、マルチプレクサ部でデータ圧縮することなくビット数を削減して出力する必要がある。実施の形態１３は、このマルチプレクサ部を冗長切替用の直列接続されたＡＮＤゲート（ＡＮＤ<0>〜<17>）で構成する場合を示している。
【０２０９】
図５４〜図５６はこの発明の実施の形態１３である半導体集積回路のマルチプレクサ部を示す図であり、図５４は図５５と図５６との位置関係を示す説明図であり、図５５及び図５６はマルチプレクサ部の回路構成を示す回路図である。
【０２１０】
実施の形態１２までの実施例は冗長制御用スキャンフリップフロップ（ＳＦＦＣ<>，ＳＦＦＤ<>，ＳＦＦＥ<>）が<i>〜<i+4>の５ビット構成の例を示したが、実施の形態１３ではＳＦＦＣ<0>〜ＳＦＦＣ<17>の１８ビット構成の例を示している。
【０２１１】
これらの図に示すように、マルチプレクサ部は、ＯＲゲートＯＲＭ<0>〜<17>、ＯＲゲートＯＲＣ<3>，<7>，<11>，<15>，<17>、ＡＮＤゲート<0>〜<17>から構成される。なお、以降、単にＯＲＭ<>，ＯＲＣ<>，ＡＮＤ<>で略記する場合がある。
【０２１２】
ＳＦＦＣ<0>〜ＳＦＦＣ<17>のシリアル出力ＳＯ<0>〜ＳＯ<17>はそれぞれＯＲゲートＯＲＭ<0>〜ＯＲＭ<17>の一方入力となり、ＯＲゲートＯＲＭ<0>，ＯＲＭ<4>，ＯＲＭ<8>，ＯＲＭ<12>，ＯＲＭ<16>の他方入力に信号Ｓ０が付与され、ＯＲゲートＯＲＭ<1>，ＯＲＭ<5>，ＯＲＭ<9>，ＯＲＭ<13>，ＯＲＭ<17>の他方入力に信号Ｓ１が付与され、ＯＲゲートＯＲＭ<2>，ＯＲＭ<6>，ＯＲＭ<10>，ＯＲＭ<14>の他方入力に信号Ｓ２が付与され、ＯＲゲートＯＲＭ<3>，ＯＲＭ<7>，ＯＲＭ<11>，ＯＲＭ<15>の他方入力に信号Ｓ３が付与される。
【０２１３】
冗長制御用出力データＦ<>を出力するＡＮＤゲートＡＮＤ<0>〜ＡＮＤ<17>は一方入力にＯＲゲートＯＲＭ<0>〜ＯＲＭ<17>の出力を受け、ＡＮＤゲートＡＮＤ<0>，<1>，<2>，<4>，<5>，<6>，<8>，<9>，<10>，<12>，<13>，<14>，<16>の他方入力に出力データＦ<1>，<2>，<3>，<5>，<6>，<7>，<9>，<10>，<11>，<13>，<14>，<15>，<17>を受け、ＡＮＤゲートＡＮＤ<3>，<7>，<11>，<15>，<17>の他方入力にＯＲゲートＯＲＣ<3>，<7>，<11>，<15>，<17>の出力を受ける。なお、ＡＮＤ<0>〜<17>は、例えば実施の形態１のＡＮＤゲート２１，２２，２２１〜２２３に相当し、ＡＮＤ<1>〜<17>の出力が出力データＦ<1>〜<17>となり、ＡＮＤ<0>の出力がＰＦＯＵＴとなる。
【０２１４】
そして、ＡＮＤ<0>，ＡＮＤ<4>，ＡＮＤ<8>，ＡＮＤ<12>，ＡＮＤ<16>の出力がマルチプレクス出力ＭＤＯ<0>〜ＭＤＯ<4>として外部に出力される。
【０２１５】
ＯＲゲートＯＲＣ<3>，<7>，<11>，<15>，<17>は一方入力に信号ＣＨＯＰを共通に受け、ＯＲゲートＯＲＣ<3>，<7>，<11>，<15>，及びＯＲＣ<17>は他方入力に出力データＦ<4>，<8>，<12>，<16>，及び信号ＰＦＩＮを受ける。
【０２１６】
図５７はマルチプレクサ部制御用の信号Ｓ０〜Ｓ３を発生する信号発生回路の構成例を示す回路図である。同図に示すように、デコーダ７９は２ビットアドレス入力ＳＡ０，ＳＡ１を２ビット入力部Ｂ０，Ｂ１に受け、デコード結果として、４ビット出力部Ｙ０〜Ｙ３から、１ビットのみを“１”に他の３ビットを“０”にして出力する。
【０２１７】
セレクタ８０〜８３は“１”入力に出力部Ｙ０〜Ｙ３から得られる信号の反転信号を受け、“０”入力に信号ＳＡＬＬを共通に受け、制御入力にＤＥＣＥＮを共通に受ける。
【０２１８】
図５８は実施の形態１３のマルチプレクサ部に対応するＲＡＭの構成例を示す説明図である。同図に示すように、ＲＡＭ１は４ビットのアドレス入力Ａ<0>〜Ａ<3>、書き込み制御信号ＷＥ、入力データＤＩ<0>〜ＤＩ<17>、ビット書き込み（Bit-Write）制御信号ＢＷＣ<0>〜ＢＷＣ<17>を受け、出力データＤＯ<0>〜ＤＯ<17>を出力する。
【０２１９】
ＲＡＭ１全体の書き込み動作は書き込み制御信号ＷＥにより制御されるが、書き込みを行うときにＢＷＣ<n>＝“１”に設定すれば、ビット番号ｎに対しては書き込み動作を抑制することができる。このようなＲＡＭ１に対しては、図５５及び図５６の破線に相当する信号ＢＷＣ<>の接続を行うことができる（ビット書き込み制御信号ＢＷＣ<>は、必須ではないが、存在する方が望ましい）。
【０２２０】
以下、実施の形態１３のマルチプレクサ部の動作を説明する。まず、ＣＨＯＰ＝“１”に設定することにより、ＯＲＣ<>の出力が全て“１”になり、直列接続されたＡＮＤ<0>〜<17>は分断される。
【０２２１】
例えば、出力データＦ<4>〜Ｆ<7>を出力するＡＮＤ<4>〜ＡＮＤ<7>は４入力（ＯＲＭ<4>〜<7>の出力）のＡＮＤゲートを構成することになる。また、出力データＦ<16>,Ｆ<17>を出力するＡＮＤ<16>，<17>は２入力（ＯＲＭ<16>，<17>の出力）のＡＮＤゲートを構成することなる。
【０２２２】
これらの分断されたＡＮＤゲート群は、対応するＯＲＭ<>と組み合わされて、マルチプレクサを構成することができる。
【０２２３】
例えば、ＯＲＭ<4>〜<7>の出力は、ＡＮＤ<4>〜<7>によりＡＮＤ演算されてＭＤＯ<1>として外部に出力される。
【０２２４】
ＯＲＭ<4>,ＯＲＭ<5>,ＯＲＭ<6>,ＯＲＭ<7>の一方の入力には、ＳＯ<4>,ＳＯ<5>,ＳＯ<6>,ＳＯ<7>が付与されており、他方入力には、信号Ｓ０,Ｓ１,Ｓ２,Ｓ３が付与されていることから、以下のようにマルチプレクス出力ＭＤＯ<1>が決定する。
【０２２５】
「S0=0,S1=1,S2=1,S3=1」の時はＭＤＯ<1>=ＳＯ<4>、「S0=1,S1=0,S2=1,S3=1」の時は、ＭＤＯ<1>=ＳＯ<5>、「S0=1,S1=1,S2=0,S3=1」の時は、ＭＤＯ<1>=ＳＯ<6>、「S0=1,S1=1,S2=1,S3=0」の時は、ＭＤＯ<1>=ＳＯ<7>となる。
【０２２６】
実施の形態１３のマルチプレクサ部は、k=0〜3に対して、ＭＤＯ<k>は以下のように決定する。
【０２２７】
「S0=0,S1=1,S2=1,S3=1」の時は、ＭＤＯ<k>=ＳＯ<4*k>、「S0=1,S1=0,S2=1,S3=1」の時は、ＭＤＯ<k>=ＳＯ<4*k+1>、「S0=1,S1=1,S2=0,S3=1」の時は、ＭＤＯ<k>=ＳＯ<4*k+2>、「S0=1,S1=1,S2=1,S3=0」の時は、ＭＤＯ<k>=ＳＯ<4*k+3>になる。
【０２２８】
なお、実施の形態１３では、k=4に関しては、ＭＤＯ<k>は以下のように決定する。
【０２２９】
「S0=0,S1=1,S2=1,S3=1」の時は、ＭＤＯ<k>=ＳＯ<4*k>、「S0=1,S1=0,S2=1,S3=1」の時は、ＭＤＯ<k>=ＳＯ<4*k+1>、「S0=1,S1=1,S2=0,S3=1」の時は、ＭＤＯ<k>=“１”、「S0=1,S1=1,S2=1,S3=0」の時は、ＭＤＯ<k>=“１”になる。
【０２３０】
なお、「S0=1,S1=1,S2=1,S3=1」の時は、全てのＭＤＯ<>は“１”になる。また、「S0=0,S1=0,S2=0,S3=0」の時は、ＭＤＯ<k>はＳＯ<4*k>,ＳＯ<4*k+1>,ＳＯ<4*k+2>,ＳＯ<4*k+3>のAND演算結果になる。
【０２３１】
上記のような、信号Ｓ０,Ｓ１,Ｓ２,Ｓ３の設定は、上述した図５７で示す回路によって容易に発生できる。なお、ＳＡ０，ＳＡ１は、拡張されたアドレス信号であり、図５８のＲＡＭを仮定した場合は、追加アドレス入力Ａ<4>,Ａ<5>に相当する。
【０２３２】
なお、通常動作時は、ＤＥＣＥＮ＝“０”,ＳＡＬＬ＝“０”にして、「S0=0,S1=0,S2=0,S3=0」に信号設定（ＢＷＣ<>が全て“０”、ＯＲＭ<0>〜<17>の出力がシリアル出力ＳＯ<0>〜<17>となる）することにより実現できる。
【０２３３】
以上のように、実施の形態１３では、冗長切替用の直列接続された、選択内容設定手段であるＡＮＤゲートを利用してマルチプレクサ部が構成できるので、回路規模の増大を抑制できる。
【０２３４】
なお、ＲＡＭ１の不良解析を行う時には、以下の２サイクルをアドレスＡ<0>〜Ａ<3>及びＳＡ０（Ａ<4>），ＳＡ１（Ａ<5>）を変えながら繰り返す。
【０２３５】
（１）信号ＰＦＩＮ＝“０”の状態（冗長セレクタで“０”入力側を選択）で、ＲＡＭ１の出力データを比較回路付きスキャン・フリップフロップＳＦＦＣ<0>〜<17>の内のＦＦに取り込む。
（２）ＣＨＯＰ＝“１”,ＤＥＣＥＮ＝“１”の状態で、ＳＦＦＣ<0>〜<17>の出力データをＭＤＯ<>として出力する。
【０２３６】
なお、上記（１）の代わりに、
（１）′ＰＦＩＮ=0の状態（冗長セレクタで“０”入力側を選択）で、ＲＡＭの出力データを期待値と比較し、その比較結果を比較回路付きスキャン・フリップフロップＳＦＦＣ<0>〜<17>内のＦＦに取り込む。
としてもよい。例えば、図２３で示した比較ワンス(Compare-once)モードを使用して上記（１）′を実行することができる。
【０２３７】
なお、実施の形態１３では、冗長切替用の直列接続されたＡＮＤゲートを用いて４ビットのマルチプレクサ部を構成した場合を示したが、２ビット以上であれば同様のマルチプレクサ部を構成できるのは勿論である。
【０２３８】
＜実施の形態１４＞
実施の形態１３で示したマルチプレクサ部を適用してもマルチプレクス出力ＭＤＯ<>のビット数が、メモリテスト装置で扱えない程度に大きい場合は、更にデータ圧縮することなくビット数を削減する第２のマルチプレクサ部を追加する必要がある。
【０２３９】
例えば、ＲＡＭの出力ビット数が７２ビットで、マルチプレクス出力ＭＤＯ<>のビット数が１８ビットの場合、これをより小さな９ビットに変換したい場合は、第２のマルチプレクサ部が必要となり、これを実現したのが実施の形態１４である。
【０２４０】
図５９はこの発明の実施の形態１４である半導体集積回路の第２マルチプレクサ部を示す回路図である。
【０２４１】
同図に示すように、第２のマルチプレクサ部は１８ビットの第１マルチプレクス出力ＭＤＯ１<0>〜<17>をビット数を減少させて９ビットの第２のマルチプレクス出力ＭＤＯ２<0>〜<8>を出力すべく、ＯＲゲートＯＲＧ<0>〜<17>、及びＡＮＤゲートＡＮＧ<0>〜<8>から構成される。ＯＲゲートＯＲＧ<>及びＡＮＤゲートＡＮＧ<>は、単にＯＲＧ<>，ＡＮＧ<>と略する場合がある。また、第１マルチプレクス出力ＭＤＯ１<0>〜<17>は、実施の形態１３におけるマルチプレクサ部によるマルチプレクス出力ＭＤＯ<0>〜<4>に相当する。
【０２４２】
ＯＲゲートＯＲＧ<0>〜<17>はそれぞれ一方入力に第１のマルチプレクス出力ＭＤＯ１<0>〜<17>を受け、ＯＲＧ<0>〜<8>は他方入力に信号Ｎ０を共通に受け、ＯＲＧ<9>〜<17>は他方入力に信号Ｎ１を共通に受ける。
【０２４３】
ＡＮＧ<0>〜<8>は一方入力にＯＲＧ<0>〜<8>の出力を受け、他方入力にＯＲＧ<9>〜<17>の出力を受け、その出力が第２のマルチプレクス出力ＭＤＯ２<0>〜<8>となる。
【０２４４】
図６０は第２のマルチプレクサ部制御用の信号Ｎ１，Ｎ２を発生する信号発生回路の構成例を示す回路図である。
【０２４５】
同図に示すように、セレクタ６８は“１”入力に拡張されたアドレス入力ＮＡ０を受け、“０”入力に信号ＮＡＬＬを受ける。セレクタ６９は“１”入力にアドレス入力ＮＡ０がインバータ６７を介して得られる反転信号を受け、“０”入力に信号ＮＡＬＬを受ける。セレクタ６８，６９の制御入力には信号ＤＥＣＥＮが共通に入力される。
【０２４６】
このような構成の信号発生回路は、ＤＥＣＥＮ＝“１”にすれば、アドレス入力ＮＡ０に基づき、信号Ｎ０，Ｎ１のうち、一方が“０”、他方が“１”となる。
【０２４７】
したがって、実施の形態１４の第２のマルチプレクサ部は、k=0〜8に対して、第２のマルチプレクス出力ＭＤＯ２<k>は、「N0=0,N1=1」の時は、ＭＤＯ２<k>=ＭＯＤ１<k>、「N0=1,N1=0」の時は、ＭＤＯ２<k>=ＭＯＤ１<k+9>になる。
【０２４８】
なお、「N0=1,N1=1」の時は、全てのＭＤＯ２<>は“１”になる。また、「N0=0,S1=0」の時は、ＭＤＯ２<k>はＭＯＤ１<k>とＭＯＤ１<k+9>のAND演算結果になる。
【０２４９】
したがって、第２のマルチプレクス出力ＭＤＯ２<0>〜<8>に基づき、９ビットでメモリテスト可能なメモリテスト装置で解析することができる。
【０２５０】
図６１は実施の形態１４で利用可能な不良結果出力回路の回路構成を示す回路図である。同図に示すように、ＡＮＤゲート６４は第２のマルチプレクス出力ＭＤＯ２<0>〜<8>を受け、そのＡＮＤ演算結果を検出信号ＰＦとして出力する。
【０２５１】
したがって、ＤＥＣＥＮ＝“０”,ＮＡＬＬ＝“０”の状態で、ＭＤＯ１<>全体における良／否（Pass/Fail）を検出信号ＰＦの“１”／“０”によって検出可能になる。但し、実施の形態１３でＲＡＭの不良検出を上述の（１）′を用いて行う必要がある。なお、図６１で示した回路は実施の形態１４において必須ではない。
【０２５２】
＜実施の形態１５＞
実施の形態１３で示したマルチプレクサ部を適用してもマルチプレクス出力ＭＤＯ<>のビット数が、メモリテスト装置で扱えない程度に大きい場合は、更にデータ圧縮することなくビット数を削減する第２のマルチプレクサ部を追加する必要がある。
【０２５３】
例えば、ＲＡＭの出力ビット数が７２ビットで、マルチプレクス出力ＭＤＯ<>のビット数が１８ビットの場合、これをより小さな５ビットに変換したい場合は、第２のマルチプレクサ部が必要となり、これを実現したのが実施の形態１５である。
【０２５４】
図６２は第２マルチプレクサ部の回路構成を示す回路図である。図に示すように、第２のマルチプレクサ部は１８ビットの第１マルチプレクス出力ＭＤＯ１<0>〜<17>をさらにビット数を縮小して５ビットの第２のマルチプレクス出力ＭＤＯ２<0>〜<4>を出力すべく、ＯＲゲートＯＲＨ<0>〜<17>、及びＡＮＤゲートＡＮＨ<0>〜<4>から構成される。ＯＲゲートＯＲＨ<>及びＡＮＤゲートＡＮＨ<>は、単にＯＲＨ<>，ＡＮＨ<>と略する場合がある。また、第１マルチプレクス出力ＭＤＯ１<0>〜<17>は、実施の形態１３におけるマルチプレクサ部によるマルチプレクス出力ＭＤＯ<0>〜<4>に相当する。
【０２５５】
ＯＲゲートＯＲＨ<0>〜<17>はそれぞれ一方入力に第１のマルチプレクス出力ＭＤＯ１<0>〜<17>を受け、ＯＲゲートＯＲＨ<0>〜<3>及びＯＲＨ<9>の他方入力に信号Ｎ０が付与され、ＯＲゲートＯＲＨ<5>〜<8>及びＯＲＨ<14>の他方入力に信号Ｎ１が付与され、ＯＲゲートＯＲＨ<10>〜<13>の他方入力に信号Ｎ２が付与され、ＯＲゲートＯＲＨ<15>〜<17>及びＯＲＨ<4>の他方入力に信号Ｎ３が付与される。
【０２５６】
ＡＮＨ<0>はＯＲＨ<0>，<5>，<10>，<15>の出力を受け、ＡＮＨ<1>はＯＲＨ<1>，<6>，<11>，<16>の出力を受け、ＡＮＨ<2>はＯＲＨ<2>，<7>，<12>，<17>の出力を受け、ＡＮＨ<3>はＯＲＨ<3>，<8>，<13>の出力を受け、ＡＮＨ<4>はＯＲＨ<4>，<9>，<14>の出力を受け、その出力が第２のマルチプレクス出力ＭＤＯ２<0>〜<4>となる。
【０２５７】
図６３は第２のマルチプレクサ部制御用の信号Ｎ０〜Ｎ３を発生する信号発生回路の構成例を示す回路図である。同図に示すように、デコーダ８９は２ビットアドレス入力ＮＡ０，ＮＡ１を２ビット入力部Ｂ０，Ｂ１に受け、デコード結果として、４ビット出力部Ｙ０〜Ｙ３から、１ビットのみを“１”に他の３ビットを“０”にして出力する。
【０２５８】
セレクタ９０〜９３は“１”入力に出力部Ｙ０〜Ｙ３から得られる信号の反転信号を受け、“０”入力に信号ＮＡＬＬを共通に受け、制御入力にＤＥＣＥＮを共通に受ける。
【０２５９】
実施の形態１５の第２のマルチプレクサ部は、k=0〜3に対して、ＭＤＯ<k>は以下のように決定する。
【０２６０】
「N0=0,N1=1,N2=1,N3=1」の時は、ＭＤＯ２<k>=ＳＯ<k>、「N0=1,N1=0,N2=1,N3=1」の時は、ＭＤＯ２<k>=ＭＤＯ１<k+5>、「N0=1,N1=1,N2=0,N3=1」の時は、ＭＤＯ２<k>=ＭＤＯ１<k+10>、「N0=1,N1=1,N2=1,N3=0」の時は、ＭＤＯ２<k>=ＭＤＯ１<k+15>（但し、ＭＯＤ２<3>＝“１”）になる。
【０２６１】
なお、実施の形態１５では、k=4に関しては、ＭＤＯ２<k>は以下のように決定する。
【０２６２】
「N0=0,N1=1,N2=1,N3=1」の時は、ＭＤＯ２<4>=ＭＤＯ１<9>、「N0=1,N1=0,N2=1,N3=1」の時は、ＭＤＯ２<4>=ＭＤＯ１<14>、「N0=1,N1=1,N2=0,N3=1」の時は、ＭＤＯ２<4>=“１”、「N0=1,N1=1,N2=1,N3=0」の時は、ＭＤＯ２<4>=ＭＤＯ１<4>になる。
【０２６３】
なお、「N0=1,N1=1,N2=1,N3=1」の時は、全てのＭＤＯ２<>は“１”になる。また、「N0=0,N1=0,N2=0,N3=0」の時は、k=0〜4に対してＭＤＯ２<k>はＭＤＯ１<k>,ＭＤＯ１<k+5>,ＭＤＯ１<k+10>,ＭＤＯ１<k+15>（但し、k=3，4のときは、ＭＤＯ１<k+15>は存在しない）のＡＮＤ演算結果になる。
【０２６４】
上記のような、信号Ｎ０〜Ｎ３は、実施の形態１３同様、上述した図６３で示す回路によって容易に発生できる。なお、ＮＡ０，ＮＡ１は、拡張されたアドレス信号である。
【０２６５】
以上のように、実施の形態１５では、第２のマルチプレクス出力ＭＤＯ２<0>〜<4>に基づき、５ビットでメモリテスト可能なメモリテスト装置で解析することができる。
【０２６６】
図６４は実施の形態１５で利用可能な不良結果出力回路の回路構成を示す回路図である。同図に示すように、ＡＮＤゲート７４は第２のマルチプレクス出力ＭＤＯ２<0>〜<4>を受け、そのＡＮＤ演算結果を検出信号ＰＦとして出力する。
【０２６７】
したがって、ＤＥＣＥＮ＝“０”,ＮＡＬＬ＝“０”の状態で、ＭＤＯ１<>全体における良／否（Pass/Fail）を検出信号ＰＦの“１”／“０”によって検出可能になる。但し、実施の形態１３でＲＡＭの不良検出を上述の（１）′を用いて行う必要がある。なお、図６４で示した回路は実施の形態１５において必須ではない。
【０２６８】
＜実施の形態１６＞
図６５〜図６７はこの発明の実施の形態１６である半導体集積回路を示す図であり、図６５は図６６と図６７との位置関係を示す説明図であり、図６６及び図６７は半導体集積回路の回路構成を示す回路図である。
【０２６９】
実施の形態１６の半導体集積回路は、実施の形態１２の構成から、さらに、ＯＲゲート８５〜８８，ＯＲゲート７６，７７，ＡＮＤゲート７８が追加されている。また、ＡＮＤゲート１７〜２０が２入力から３入力に拡張されている。
【０２７０】
ＯＲゲート８５〜８８は一方入力に信号ＳＭＦＢを受け、他方入力にＦＦＤＩ<i>〜ＦＦＤＩ<i+3>のＱ出力を受け、ＯＲゲート８５〜８８の出力がＡＮＤゲート１７〜２０の第３の入力となる。
【０２７１】
ＯＲゲート７６は一方入力に信号ＳＭＦＢを受け、他方入力にＦＦＤＩ<i+4>のＱ出力を受ける。ＯＲゲート７７は一方入力に信号ＳＩＤＩ<i+4>を受け、他方入力に信号ＳＭＤＩＳを受ける。
【０２７２】
ＡＮＤゲート７８はＯＲゲート７６，７７の出力を受け、その出力がセレクタ１４の“０”入力に付与される。なお、他の構成は図５１〜図５３で示した実施の形態１２と同様であるため、説明を省略する。
【０２７３】
このように構成した実施の形態１６は、実施の形態１２の動作に加え、簡単な信号設定でＦＦＤＩ<i>〜ＦＦＤＩ<i+4>それぞれにデータ保持動作（ホールド状態）を実行させることができる。
【０２７４】
すなわち、ＳＭＦＢ＝“０”，ＳＭＤＩＳ＝“１”，ＳＭＤＩＸ＝“１”，ＰＦＩＮ＝“０”に設定すれば、各ＦＦＤＩ<>が自分自身のＱ出力データをＤ入力に取り込むことができる。
【０２７５】
このデータ保持動作は、ＲＡＭ２１１に対するテストの際に用いることもでき、通常動作において冗長書き込みデータを保持するための一時記憶用の入力レジスタとして用いることもでききる。
【０２７６】
実施の形態９や実施の形態１０では、ＦＦＤＩ<>にデータ保持動作を行わせるために、別のＳＦＦＥ<i+1>〜ＳＦＦＥ<i+4>のシリアル出力ＳＯを「SO<i+4>=1,SO<i+3>=1,SO<i+2>=1,SO<i+1>=1」に設定する必要があったが、実施の形態１６ではその必要はなく、信号制御が大変容易になるという効果がある。
【０２７７】
＜実施の形態１７＞
図６８〜図７０はこの発明の実施の形態１７である半導体集積回路を示す図であり、図６８は図６９と図７０との位置関係を示す説明図であり、図６９及び図７０は半導体集積回路の回路構成を示す回路図である。
【０２７８】
実施の形態１７の半導体集積回路は、実施の形態１２の構成から、さらに、ＯＲゲート９４〜９９が追加されている。
【０２７９】
これらの図に示すように、ＯＲゲート９４は一方入力に信号ＳＩＤＩ<i+4>、他方入力に信号ＳＭＤＩＳを受け、その出力がセレクタ１４の“０”入力に付与される。
【０２８０】
ＯＲゲート９５〜９９は一方入力に信号ＳＯＡＬＬを共通に受け、他方入力にシリアル出力ＳＯ<i>〜<i+4>を受ける。そして、ＯＲゲート９５の出力がＡＮＤゲート２２の一方入力となり、ＯＲゲート９６〜９８の出力がＡＮＤゲート２２１〜２２３の一方入力となり、ＯＲゲート９９の出力がＡＮＤゲート２１の一方入力となる。なお、他の構成は図５１〜図５３で示した実施の形態１２と同様であるため、説明を省略する。
【０２８１】
このように構成した実施の形態１７は、実施の形態１２の動作に加え、簡単な信号設定でＦＦＤＩ<i>〜ＦＦＤＩ<i+4>それぞれにデータ保持動作（ホールド状態）を実行させることができる。
【０２８２】
すなわち、ＳＯＡＬＬ＝“１”，ＳＭＤＩＳ＝“０”，ＳＭＤＩＸ＝“１”，信号ＰＦＩＮ＝“１”に設定すれば、実施の形態１６と同様、各ＦＦＤＩ<>が自分自身のＱ出力データをＤ入力に取り込むことができる。
【０２８３】
なお、本実施の形態１７と実施の形態１３のマルチプレクサ部とを組み合わせる場合、ＯＲゲート９５〜９９と、実施の形態１３におけるＯＲゲートＯＲＭ<>とを共用させても良い。
【０２８４】
また、出力信号ＰＦＯＵＴ部分に用いたＯＲゲート９５の追加は必須ではなく、なくても良い。
【０２８５】
＜その他＞
冗長救済されたＲＡＭの出力としては冗長データ出力ＸＤＯ<>を直接用いても良いが、代わりにＳＦＦＣ（ＳＦＦＤ，ＳＦＦＥ）<>のＰ出力を用いてもよい。
【０２８６】
また、冗長制御用のレジスタＲＥＧを備えている場合は、ＳＦＦＣ<>のＱ出力を用いても良い（ＳＦＦＣ内のＦＦを出力レジスタとして用いる）。
【０２８７】
ＳＦＦＣ<>のＰ出力やＱ出力を冗長救済されたＲＡＭの出力として用いる場合は、それに接続されるロジック回路をスキャンパス(ＳＩＤＯ<i+4>からＳＯＤＯ<i>)を用いて容易にスキャンテストが行えるという利点がある。
【０２８８】
本明細書の複数の実施の形態において、信号ＣＭＰＥで制御される比較抑制機能を示したが、これらは望ましいが、必須ではない機能である。したがって、各実施の形態において、比較抑制機能を削除するように回路の変更を行っても良い。具体的には信号ＣＭＰＥに関するゲート回路を削除することができる。
【０２８９】
【発明の効果】
この発明における請求項１記載の半導体集積回路は、第２の数ビットの冗長出力データをデータ入力とするフリップフロップ群を備えるため、フリップフロップ群の保持データに基づき決定される冗長制御信号により冗長出力選択回路の選択設定内容を適宜切り替えて、フリップフロップ群に第２の数の冗長出力データを新たに保持させることにより、冗長出力選択回路の選択動作の良否判定を比較的容易に行うことができる。
【０２９０】
請求項２記載の半導体集積回路は、選択内容設定手段によって冗長出力選択回路テスト時に、冗長出力選択回路の選択設定内容を強制的に設定することができるため、冗長制御信号を用いることなく簡単に上記選択設定内容を設定することができる。
【０２９１】
請求項３記載の半導体集積回路は、冗長出力選択回路の選択設定内容を適宜切り替えて、第２の数のフリップフロップによって冗長出力データと期待値データとの比較結果を得ることにより、冗長出力選択回路の選択動作の良否判定を比較的容易に行うことができる。
【０２９２】
さらに、請求項４記載の半導体集積回路における第３の数のフリップフロップは、冗長出力選択回路テスト時に比較機能が無効化されるため、冗長出力選択回路テストに寄与しない第３の数のフリップフロップによる比較動作実行による不具合を回避することができる。
【０２９３】
請求項５記載の半導体集積回路は、切り替え情報記憶手段をさらに備えることにより、フリップフロップ群を記憶回路の冗長出力データの一時記憶部として用いることができる。
【０２９４】
請求項６記載の半導体集積回路は、フリップフロップ群の保持データに基づき決定される冗長制御信号により冗長入力選択回路の選択設定内容を適宜切り替えて第２の数ビットの冗長入力データを記憶回路に入力した後、第２の数ビットの冗長出力データとして記憶回路から出力させ、フリップフロップ群に新たに保持させることにより、冗長入力選択回路の選択動作の良否判定を比較的容易に行うことができる。
【０２９５】
請求項７記載の半導体集積回路は、選択内容設定手段によって冗長入力選択回路テスト時に、冗長入力選択回路の選択設定内容を強制的に設定することができるため、冗長制御信号を用いることなく簡単に上記選択設定内容を設定することができる。
【０２９６】
請求項８記載の半導体集積回路は、第１の数のデータ保持部を冗長入力データの一時記憶部として利用することができる。
【０２９７】
請求項９記載の半導体集積回路における記憶回路テスト用制御手段は、最終段のスキャンフリップフロップのシリアル出力データを外部に出力させるとともに、初段のスキャンフリップフロップのシリアルデータ入力として帰還させる１ビットループ処理を、第１の数回行わせることにより、テスト結果をシリアル出力データの出力後に、第１の数のスキャンフリップフロップの保持データを元のテスト結果保持状態に戻すことができる。
【０２９８】
請求項１０記載の半導体集積回路は、第１の数のデータ保持部を冗長入力データの一時記憶部として利用することができる。
【０２９９】
請求項１１記載の半導体集積回路は第１のマルチプレクサ部によって、第１の数ビットの出力データを、より小さい第４の数ビットの第１の選択出力データとしてマルチプレクス出力することにより、第１の数ビットの出力データのデータ内容を圧縮することなく、第１の選択出力データとして出力させることができる。
【０３００】
請求項１２記載の半導体集積回路は、選択内容設定手段及び第１のマルチプレクサ部は構成要素を一部共有することにより、装置構成の簡略化を図ることができる。
【０３０１】
請求項１３記載の半導体集積回路は、第２のマルチプレクサ部によって、第４の数ビットの第１の選択出力データを、より小さい第５の数ビットの第２の選択出力データとしてマルチプレクス出力することにより、第４の数ビットの第１の選択出力データのデータ内容を圧縮することなく、第２の選択出力データとして出力させることができる。
【図面の簡単な説明】
【図１】  図２と図３との位置関係を示す説明図である。
【図２】  実施の形態１の半導体集積回路の回路構成を示す回路図である。
【図３】  実施の形態１の半導体集積回路の回路構成を示す回路図である。
【図４】  書き込みデータ制御回路の内部構成例を示す回路図である。
【図５】  スキャンフリップフロップの内部構成を示す回路図である。
【図６】  書き込みデータ制御回路の内部構成例を示す回路図である。
【図７】  書き込みデータ制御回路の内部構成例を示す回路図である。
【図８】  図９と図１０との位置関係を示す説明図である。
【図９】  実施の形態２の半導体集積回路の回路構成を示す回路図である。
【図１０】  実施の形態２の半導体集積回路の回路構成を示す回路図である。
【図１１】  図１２と図１３との位置関係を示す説明図である。
【図１２】  実施の形態３の半導体集積回路の回路構成を示す回路図である。
【図１３】  実施の形態３の半導体集積回路の回路構成を示す回路図である。
【図１４】  図１５と図１６との位置関係を示す説明図である。
【図１５】  実施の形態４のスキャンパス回路部の回路構成を示す回路図である。
【図１６】  実施の形態４のスキャンパス回路部の回路構成を示す回路図である。
【図１７】  実施の形態４のスキャンパス回路部における各種信号の真理値状態を示す説明図である。
【図１８】  スキャンフリップフロップのノーマルモードにおける動作状態を示す説明図である。
【図１９】  スキャンフリップフロップのシフトモードにおける動作状態を示す説明図である。
【図２０】  スキャンフリップフロップのホールドモードにおける動作状態を示す説明図である。
【図２１】  スキャンフリップフロップの比較モードにおける動作状態を示す説明図である。
【図２２】  スキャンフリップフロップのシフト比較モードにおける動作状態を示す説明図である。
【図２３】  スキャンフリップフロップの比較ワンスモードにおける動作状態を示す説明図である。
【図２４】  スキャンフリップフロップのセット１モードにおける動作状態を示す説明図である。
【図２５】  図２６と図２７との位置関係を示す説明図である。
【図２６】  実施の形態５の半導体集積回路の回路構成を示す回路図である。
【図２７】  実施の形態５の半導体集積回路の回路構成を示す回路図である。
【図２８】  図２９と図３０との位置関係を示す説明図である。
【図２９】  実施の形態６の半導体集積回路の回路構成を示す回路図である。
【図３０】  実施の形態６の半導体集積回路の回路構成を示す回路図である。
【図３１】  図３０で用いたスキャンフリップフロップの回路構成を示す回路図である。
【図３２】  図３０で用いたスキャンフリップフロップの回路構成を示す回路図である。
【図３３】  図３４と図３５との位置関係を示す説明図である。
【図３４】  実施の形態７の半導体集積回路の回路構成を示す回路図である。
【図３５】  実施の形態７の半導体集積回路の回路構成を示す回路図である。
【図３６】  図３７と図３８との位置関係を示す説明図である。
【図３７】  実施の形態８の半導体集積回路の回路構成を示す回路図である。
【図３８】  実施の形態８の半導体集積回路の回路構成を示す回路図である。
【図３９】  書き込みデータ制御回路の内部構成例を示す回路図である。
【図４０】  書き込みデータ制御回路の内部構成例を示す回路図である。
【図４１】  書き込みデータ制御回路の内部構成例を示す回路図である。
【図４２】  図４３と図４４との位置関係を示す説明図である。
【図４３】  実施の形態９の半導体集積回路の回路構成を示す回路図である。
【図４４】  実施の形態９の半導体集積回路の回路構成を示す回路図である。
【図４５】  図４６と図４７との位置関係を示す説明図である。
【図４６】  実施の形態１０の半導体集積回路の回路構成を示す回路図である。
【図４７】  実施の形態１０の半導体集積回路の回路構成を示す回路図である。
【図４８】  図４９と図５０との位置関係を示す説明図である。
【図４９】  実施の形態１１の半導体集積回路の回路構成を示す回路図である。
【図５０】  実施の形態１１の半導体集積回路の回路構成を示す回路図である。
【図５１】  図５２と図５３との位置関係を示す説明図である。
【図５２】  実施の形態１２の半導体集積回路の回路構成を示す回路図である。
【図５３】  実施の形態１２の半導体集積回路の回路構成を示す回路図である。
【図５４】  図５５と図５６との位置関係を示す説明図である。
【図５５】  実施の形態１３のマルチプレクサ部の回路構成を示す回路図である。
【図５６】  実施の形態１３のマルチプレクサ部の回路構成を示す回路図である。
【図５７】  マルチプレクサ部制御用の信号発生回路の構成例を示す回路図である。
【図５８】  実施の形態１３のマルチプレクサ部に対応するＲＡＭの構成例を示す説明図である。
【図５９】  実施の形態１４の第２のマルチプレクサ部の回路構成を示す回路図である。
【図６０】  マルチプレクサ部制御用の信号発生回路の構成例を示す回路図である。
【図６１】  不良結果出力回路の回路構成を示す回路図である。
【図６２】  実施の形態１５の第２のマルチプレクサ部の回路構成を示す回路図である。
【図６３】  マルチプレクサ部制御用の信号発生回路の構成例を示す回路図である。
【図６４】  不良結果出力回路の回路構成を示す回路図である。
【図６５】  図６６と図６７との位置関係を示す説明図である。
【図６６】  実施の形態１６の半導体集積回路の回路構成を示す回路図である。
【図６７】  実施の形態１６の半導体集積回路の回路構成を示す回路図である。
【図６８】  図６９と図７０との位置関係を示す説明図である。
【図６９】  実施の形態１７の半導体集積回路の回路構成を示す回路図である。
【図７０】  実施の形態１７の半導体集積回路の回路構成を示す回路図である。
【図７１】  図７２と図７３との位置関係を示す説明図である。
【図７２】  テスト回路と冗長回路を備えた従来のＲＡＭ回路構成を示す回路図である。
【図７３】  テスト回路と冗長回路を備えた従来のＲＡＭ回路構成を示す回路図である。
【図７４】  図７２及び図７３で示した比較回路付きスキャン・フリップフロップの内部構成を示す回路図である。
【図７５】  スキャンパス回路ＤＩＳＣＡＮの内部構成を示す回路図である。
【図７６】  図７５で示したスキャンフリップフロップの内部構成を示す回路図である。
【符号の説明】
１，２１１  ＲＡＭ、９  信号制御回路、１０〜１４，１６，７０〜７３，２３０〜２３６  セレクタ、１７〜２２，５５，６５，７８，２２１〜２２３，ＡＮＤ<>，ＡＮＤＣＭＰＥ，ＡＮＧ<>，ＡＮＨ<>  ＡＮＤゲート、２４〜２８，３６〜３９，５４，７６，７７，８５〜８８，９４〜９９，ＯＲＣ<>，ＯＲＧ<>，ＯＲＨ<>，ＯＲＭ<>  ＯＲゲート、ＲＥＧ<>  レジスタ、ＦＦＤＩ<>  Ｄフリップフロップ、ＳＦＦＣ<>，ＳＦＦＣ<>，ＳＦＦＥ<>，  スキャンフリップフロップ。
【図１】
0004428829.tif 000002
【図２】
0004428829.tif 000003
【図３】
0004428829.tif 000004
【図４】
0004428829.tif 000005
【図５】
0004428829.tif 000006
【図６】
0004428829.tif 000007
【図７】
0004428829.tif 000008
【図８】
0004428829.tif 000009
【図９】
0004428829.tif 000010
【図１０】
0004428829.tif 000011
【図１１】
0004428829.tif 000012
【図１２】
0004428829.tif 000013
【図１３】
0004428829.tif 000014
【図１４】
0004428829.tif 000015
【図１５】
0004428829.tif 000016
【図１６】
0004428829.tif 000017
【図１７】
0004428829.tif 000018
【図１８】
0004428829.tif 000019
【図１９】
0004428829.tif 000020
【図２０】
0004428829.tif 000021
【図２１】
0004428829.tif 000022
【図２２】
0004428829.tif 000023
【図２３】
0004428829.tif 000024
【図２４】
0004428829.tif 000025
【図２５】
0004428829.tif 000026
【図２６】
0004428829.tif 000027
【図２７】
0004428829.tif 000028
【図２８】
0004428829.tif 000029
【図２９】
0004428829.tif 000030
【図３０】
0004428829.tif 000031
【図３１】
0004428829.tif 000032
【図３２】
0004428829.tif 000033
【図３３】
0004428829.tif 000034
【図３４】
0004428829.tif 000035
【図３５】
0004428829.tif 000036
【図３６】
0004428829.tif 000037
【図３７】
0004428829.tif 000038
【図３８】
0004428829.tif 000039
【図３９】
0004428829.tif 000040
【図４０】
0004428829.tif 000041
【図４１】
0004428829.tif 000042
【図４２】
0004428829.tif 000043
【図４３】
0004428829.tif 000044
【図４４】
0004428829.tif 000045
【図４５】
0004428829.tif 000046
【図４６】
0004428829.tif 000047
【図４７】
0004428829.tif 000048
【図４８】
0004428829.tif 000049
【図４９】
0004428829.tif 000050
【図５０】
0004428829.tif 000051
【図５１】
0004428829.tif 000052
【図５２】
0004428829.tif 000053
【図５３】
0004428829.tif 000054
【図５４】
0004428829.tif 000055
【図５５】
0004428829.tif 000056
【図５６】
0004428829.tif 000057
【図５７】
0004428829.tif 000058
【図５８】
0004428829.tif 000059
【図５９】
0004428829.tif 000060
【図６０】
0004428829.tif 000061
【図６１】
0004428829.tif 000062
【図６２】
0004428829.tif 000063
【図６３】
0004428829.tif 000064
【図６４】
0004428829.tif 000065
【図６５】
0004428829.tif 000066
【図６６】
0004428829.tif 000067
【図６７】
0004428829.tif 000068
【図６８】
0004428829.tif 000069
【図６９】
0004428829.tif 000070
【図７０】
0004428829.tif 000071
【図７１】
0004428829.tif 000072
【図７２】
0004428829.tif 000073
【図７３】
0004428829.tif 000074
【図７４】
0004428829.tif 000075
【図７５】
0004428829.tif 000076
【図７６】
0004428829.tif 000077