(57)【要約】【課題】ヒューズのプログラムが正しく行われたか否かを簡易かつ正確に、しかも短時間で検出する。【解決手段】チップは、不良セルを冗長セルに置換可能なSRAM１と、チップ内の複数のヒューズのプログラム（ブロー）に関する情報を出力するヒューズデータ転送回路２と、シフトレジスタ３，４と、シフトクロック発生回路５と、リセット信号発生回路６とを備えている。チップIDとリダンダンシ情報に基づいて生成されるCRCコード情報を格納するCRCコード格納部１３と、チップID、リダンダンシ情報およびCRCコード情報に誤りがあるか否かを検出するCRC剰余計算回路１４とを設けるため、所望のヒューズが正しくプログラムされたか否かを簡易かつ正確に検出できる。【選択図】図１
2007179697.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルからなるセルアレイと、
不良のメモリセルを置換可能な冗長セルと、
不良のメモリセルを冗長セルに置換する制御を行うリダンダンシ制御回路と、
前記セルアレイを搭載するチップを特定するための識別情報に応じてプログラムされる複数の第１ヒューズと、
不良のメモリセルを冗長セルに置換するためのリダンダンシ情報とチップの各種設定情報とに応じてプログラムされる複数の第２ヒューズと、
前記リダンダンシ情報、前記チップの各種設定情報および前記識別情報に基づいて生成されるCRC（Cyclic Redundancy Check）コードに応じてプログラムされる複数の第３ヒューズと、
前記複数の第１ヒューズの状態を保持する第１シフトレジスタと、
前記第１シフトレジスタに縦続接続され、前記複数の第２ヒューズの状態を保持する第２シフトレジスタと、
前記第１および第２シフトレジスタに縦続接続され、前記複数の第３ヒューズの状態を保持する第３シフトレジスタと、
前記第１、第２および第３シフトレジスタに保持された情報を順にシリアルにCRCの生成方程式に入力して除算した余りを計算するCRC剰余計算部と、
前記余りに基づいて、前記複数の第１、第２および第３ヒューズのプログラムが正しく行われたか否かを示す情報を出力するCRC判定部と、を備えることを特徴とする半導体集積回路。
【請求項２】
前記第１シフトレジスタに保持された情報を格納する第４シフトレジスタと、
前記第４シフトレジスタに縦続接続され、前記第２シフトレジスタに保持された情報を格納する第５シフトレジスタと、
前記第４および５シフトレジスタに縦続接続され、前記第３シフトレジスタに保持された情報を格納する第６シフトレジスタと、を備え、
前記リダンダンシ制御回路は、前記第５シフトレジスタに格納された情報に基づいて不良のメモリセルを冗長セルに置換する制御を行うことを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記第１乃至第６シフトレジスタに対して、前記第１乃至第３シフトレジスタのそれぞれが有するレジスタの総数サイクル分のシフトクロックを供給するクロック供給回路を備えることを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
複数のメモリセルからセルアレイと、
不良のメモリセルを置換可能な冗長セルと、
不良のメモリセルを冗長セルに置換する制御を行うリダンダンシ制御回路と、
前記セルアレイを識別するための識別情報に応じてプログラムされる複数の第１ヒューズと、
不良のメモリセルを冗長セルに置換するためのリダンダンシ情報とチップの各種設定情報とに応じてプログラムされる複数の第２ヒューズと、
前記リダンダンシ情報、前記チップの各種設定情報および前記識別情報に基づいて生成されるCRC（Cyclic Redundancy Check）コードに応じてプログラムされる複数の第３ヒューズと、
前記複数の第１ヒューズの状態を保持する第１シフトレジスタと、
前記第１シフトレジスタに縦続接続され、前記複数の第２ヒューズの状態を保持する第２シフトレジスタと、
前記第１および第２シフトレジスタに縦続接続され、前記複数の第３ヒューズの状態を保持する第３シフトレジスタと、
前記第１および第２シフトレジスタに保持された情報を順にシリアルにCRCの生成方程式に入力して除算した余りを計算するCRC剰余計算部と、
前記余りと前記第３シフトレジスタに保持された情報とに基づいて、前記複数の第１、第２および第３ヒューズのプログラムが正しく行われたか否かを示す情報を出力するCRC判定部と、を備えることを特徴とする半導体集積回路。
【請求項５】
複数のメモリセルからセルアレイと、
不良のメモリセルを置換可能な冗長セルと、
不良のメモリセルを冗長セルに置換する制御を行うリダンダンシ制御回路と、
前記セルアレイを識別するための識別情報に応じてプログラムされる複数の第１ヒューズと、
不良のメモリセルを冗長セルに置換するためのリダンダンシ情報とチップの各種設定情報とに応じてプログラムされる複数の第２ヒューズと、
前記リダンダンシ情報、前記チップの各種設定情報および前記識別情報に基づいて生成されるCRC（Cyclic Redundancy Check）コードに応じてプログラムされる複数の第３ヒューズと、を備えた半導体集積回路の検査方法であって、
前記複数の第１ヒューズの状態を第１シフトレジスタに保持し、
前記複数の第２ヒューズの状態を前記第１シフトレジスタに縦続接続される第２シフトレジスタに保持し、
前記複数の第３ヒューズの状態を前記第１および第２シフトレジスタに縦続接続される第３シフトレジスタに保持し、
前記第１乃至第３シフトレジスタに保持された情報を順にシリアルにCRCの生成方程式に入力して除算した余りを計算するか、または前記第１および第２シフトレジスタに保持された情報を順にシリアルに前記生成方程式に入力して除算した余りを計算し、
前記余りに基づいて、前記複数の第１、第２および第３ヒューズのプログラムが正しく行われたか否かを示す情報を出力することを特徴とする半導体集積回路の検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不良のメモリセルを冗長セルに置換可能な半導体集積回路と、冗長セルへの置換が正しく行われているかどうかを検査する検査方法とに関する。
【背景技術】
【０００２】
不良のメモリセルを冗長セルに置換できるようにして歩留まりの向上を図ったSRAMが知られている（特許文献１，２参照）。
【０００３】
この種のSRAMを備えた半導体集積回路では、まずウエハの状態でいわゆるダイソートテストを行う。ダイソートテスト時に、SRAMの不良セルが見つかった場合には、SRAMに内蔵されているリダンダンシ制御回路で不良セルを救済できるか否かをテスタにより検査する。そして、救済可能であれば、不良セルを救済するためのリダンダンシ情報をテスタに記憶しておく。
【０００４】
ダイソートテストは一般に複数枚のウエハからなるロット単位で行われるため、１ロット終了時にそのロットに含まれる全チップのリダンダンシ情報をまとめて出力する。出力されたリダンダンシ情報はチップを識別するチップIDと対応づけて所定のファイルに保存される。
【０００５】
その後、ロットを単位としてブロー工程が行われる。ブロー工程では、ダイソートテストで得られたリダンダンシ情報に基づいて、各チップ内の不良セルに対応するヒューズをレーザで切断（ブロー）する。
【０００６】
一般に、ブロー工程を行う装置は、ヒューズを正しくプログラム（切断）したか否かを確認する機能を持たないため、ブロー工程を行った段階では、ヒューズのプログラムが意図通りに行われたか否かを知るすべがない。
【０００７】
ブロー工程が終了した後、ウエハはダイシングされ、パッケージに封入されて最終テスト工程に送られる。チップがいったんパッケージに封入された後は、チップIDを読み出さない限り、そのチップがどのロットの何枚目のウエハ上のどの位置にあるかを知ることができない。チップIDが正しく読み出されれば、上述したファイルにより、チップIDに対応する半導体集積回路のリダンダンシ情報を取得でき、不良セル箇所を正しく特定することができる。
【０００８】
しかしながら、読み出したチップIDが誤っている場合には、上述したファイルから異なる半導体集積回路のリダンダンシ情報を読み出してしまい、不良セルを有する半導体集積回路を特定できなくなり、最終テスト工程を正しく行えなかったり、最終テスト工程が完了するまでの時間が長くなったりする。
【特許文献１】特開平7-272411号公報
【特許文献２】特開平1-23465号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、ヒューズのプログラムが正しく行われたか否かを簡易かつ正確に、しかも短時間で検出可能な半導体集積回路およびその検査方法を提供するものである。
【課題を解決するための手段】
【００１０】
本発明の一態様によれば、複数のメモリセルからなるセルアレイと、不良のメモリセルを置換可能な冗長セルと、不良のメモリセルを冗長セルに置換する制御を行うリダンダンシ制御回路と、前記セルアレイを識別するための識別情報に応じてプログラムされる複数の第１ヒューズと、不良のメモリセルを冗長セルに置換するためのリダンダンシ情報に応じてプログラムされる複数の第２ヒューズと、前記リダンダンシ情報および前記識別情報に基づいて生成されるCRC（Cyclic Redundancy Check）コードに応じてプログラムされる複数の第３ヒューズと、前記複数の第１ヒューズの状態を保持する第１シフトレジスタと、前記第１シフトレジスタに縦続接続され、前記複数の第２ヒューズの状態を保持する第２シフトレジスタと、前記第１および第２シフトレジスタに縦続接続され、前記複数の第３ヒューズの状態を保持する第３シフトレジスタと、前記第１、第２および第３シフトレジスタに保持された情報を順にシリアルにCRCの生成方程式に入力して除算した余りを計算するCRC剰余計算部と、前記余りに基づいて、前記複数の第１、第２および第３ヒューズのプログラムが正しく行われたか否かを示す情報を出力するCRC判定部と、を備えることを特徴とする半導体集積回路が提供される。
【００１１】
また、本発明の一態様によれば、複数のメモリセルからセルアレイと、不良のメモリセルを置換可能な冗長セルと、不良のメモリセルを冗長セルに置換する制御を行うリダンダンシ制御回路と、前記セルアレイを識別するための識別情報に応じてプログラムされる複数の第１ヒューズと、不良のメモリセルを冗長セルに置換するためのリダンダンシ情報に応じてプログラムされる複数の第２ヒューズと、前記リダンダンシ情報および前記識別情報に基づいて生成されるCRC（Cyclic Redundancy Check）コードに応じてプログラムされる複数の第３ヒューズと、前記複数の第１ヒューズの状態を保持する第１シフトレジスタと、前記第１シフトレジスタに縦続接続され、前記複数の第２ヒューズの状態を保持する第２シフトレジスタと、前記第１および第２シフトレジスタに縦続接続され、前記複数の第３ヒューズの状態を保持する第３シフトレジスタと、前記第１および第２シフトレジスタに保持された情報を順にシリアルにCRCの生成方程式に入力して除算した余りを計算するCRC剰余計算部と、前記余りと前記第３シフトレジスタに保持された情報とに基づいて、前記複数の第１、第２および第３ヒューズのプログラムが正しく行われたか否かを示す情報を出力するCRC判定部と、を備えることを特徴とする半導体集積回路が提供される。
【００１２】
また、本発明の一態様によれば、複数のメモリセルからセルアレイと、不良のメモリセルを置換可能な冗長セルと、不良のメモリセルを冗長セルに置換する制御を行うリダンダンシ制御回路と、前記セルアレイを識別するための識別情報に応じてプログラムされる複数の第１ヒューズと、不良のメモリセルを冗長セルに置換するためのリダンダンシ情報に応じてプログラムされる複数の第２ヒューズと、前記リダンダンシ情報および前記識別情報に基づいて生成されるCRC（Cyclic Redundancy Check）コードに応じてプログラムされる複数の第３ヒューズと、を備えた半導体集積回路の検査方法であって、前記複数の第１ヒューズの状態を第１シフトレジスタに保持し、前記複数の第２ヒューズの状態を前記第１シフトレジスタに縦続接続される第２シフトレジスタに保持し、前記複数の第３ヒューズの状態を前記第１および第２シフトレジスタに縦続接続される第３シフトレジスタに保持し、前記第１乃至第３シフトレジスタに保持された情報を順にシリアルにCRCの生成方程式に入力して除算した余りを計算するか、または前記第１および第２シフトレジスタに保持された情報を順にシリアルに前記生成方程式に入力して除算した余りを計算し、前記余りに基づいて、前記複数の第１、第２および第３ヒューズのプログラムが正しく行われたか否かを示す情報を出力することを特徴とする半導体集積回路の検査方法が提供される。
【発明の効果】
【００１３】
本発明によれば、ヒューズのプログラムが正しく行われたか否かを簡易かつ正確に、しかも短時間で検出することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照しながら、本発明の一実施形態について説明する。
【００１５】
（第１の実施形態）
図１は本発明の第１の実施形態に係る半導体集積回路の概略構成を示すブロック図である。図１の半導体集積回路は、１個のチップ内の構成を示しており、ウエハには図１のチップが複数形成されている。
【００１６】
図１のチップは、不良セルを冗長セルに置換可能なSRAM１と、チップ内の複数のヒューズのプログラム（ブロー）に関する情報を出力するヒューズデータ転送回路２と、シフトレジスタ３，４と、シフトクロック発生回路５と、リセット信号発生回路６とを備えている。
【００１７】
ヒューズデータ転送回路２は、不良セルを冗長セルに置換するためのリダンダンシ情報とチップの各種設定情報を格納するリダンダンシ情報格納部１１と、チップを識別するためのチップIDを格納するチップID格納部１２と、リダンダンシ情報およびチップIDに対応するCRC（Cyclic Redundancy Check）コードを格納するCRCコード格納部１３と、CRC剰余計算回路１４とを有する。CRC剰余計算回路１４は、チップID、リダンダンシ情報およびCRCコードを順にシリアルにCRCの生成方程式に入力して除算した余りを出力する。
【００１８】
ここで、チップの各種設定情報とは、例えば以下の（１）〜（３）の情報を含む。
（１）I/OのSSTL、LVCMOS、HSTL切替情報
I/Oバッファの中には、制御信号によって、SSTL、LVCMOS、HSTL等の複数の電圧レベルに対応できるものがある。個々のI/Oバッファごと、あるいはすべてのI/Oバッファの電圧レベルを一括に電圧レベルを切り替えできるようにする情報。
（２）内部クロックの逓倍数を切り替えるための情報
外部の参照クロックに対して内部のクロックが何倍の周波数になるかを決める情報。
（３）参照クロックの周波数切替情報
外部から与えられる参照クロック周波数に応じて内部のPLLの特性を変更する場合、そのチップがどのような参照クロックで使用されるかを予めプログラムした情報。
（４）電圧ID
チップごとに最適な電源電圧範囲が異なる場合がある。そのチップの最適な電源電圧範囲をヒューズにプログラムしておき、そのチップを使うときはその情報を外部から読み出して最適な電源電圧の電源を供給する。
【００１９】
リダンダンシ情報格納部１１は、リダンダンシ情報とチップの各種設定情報に従って個別にプログラム可能な複数のヒューズ（第２ヒューズ）２１と、各ヒューズに対応して設けられヒューズのプログラム情報すなわちリダンダンシ情報を保持する複数のレジスタ２２とを有し、複数のレジスタ２２は縦続接続されてシフトレジスタ（第２のシフトレジスタ）２３を構成している。
【００２０】
チップID格納部１２は、チップIDに従って個別にプログラム可能な複数のヒューズ（第１ヒューズ）２４と、各ヒューズに対応して設けられヒューズのプログラム情報すなわちチップIDを保持する複数のレジスタ２５とを有し、複数のレジスタは縦続接続されてシフトレジスタ（第１のシフトレジスタ）２６を構成している。
【００２１】
ここで、チップIDとは、より詳しくは、チップを一意に特定するためのロット番号、ウエハ番号、ウエハ内のチップ座標などを示すものである。
【００２２】
CRCコード格納部１３は、CRCコードに従って個別にプログラム可能な複数のヒューズ２７と、各ヒューズに対応して設けられヒューズのプログラム情報すなわちCRCコードを保持する複数のレジスタ２８とを有し、複数のレジスタ２８は縦続接続されてシフトレジスタ（第３のシフトレジスタ）２９を構成している。
【００２３】
SRAM１の内部には、複数のSRAMセルからなるSRAMセルアレイ３１と、不良セルを冗長セルに置換する制御を行うリダンダンシ制御回路３２と、ヒューズデータ転送回路２から出力されたリダンダンシ情報を保持するシフトレジスタ（第５のシフトレジスタ）３３とを有する。リダンダンシ制御回路３２は、シフトレジスタ３３に保持されているリダンダンシ情報に基づいて、不良セルを冗長セルに置換する処理を行う。具体的には、外部からアドレスが与えられたときに、そのアドレスに対応するメモリセルが不良セルであれば、冗長セルにアクセスする。
【００２４】
シフトレジスタ（第４のシフトレジスタ）４は、ヒューズデータ転送回路２から出力されたチップIDを保持する。また、シフトレジスタ（第６のシフトレジスタ）３は、ヒューズデータ転送回路２から出力されたCRCコードを保持する。
【００２５】
ヒューズデータ転送回路２内の３つのシフトレジスタ２６，２３，２９と、シフトレジスタ３と、SRAM１内のシフトレジスタ３３と、シフトレジスタ４とは縦続接続されており、共通のシフトクロックCLKによりシフト動作を行う。
【００２６】
シフトクロック発生回路５は、ヒューズデータ転送回路２内の３つのシフトレジスタ２６，２３，２９のレジスタの総数サイクル分のシフトクロックCLKを発生する。例えば、シフトレジスタ２６のレジスタ段数が８、シフトレジスタ２３のレジスタ段数が１６、およびシフトレジスタ２９のレジスタ段数が１６の場合、８＋１６＋１６＝４０サイクル分のシフトクロックCLKが出力される。
【００２７】
縦続接続された６つのシフトレジスタ２６，２３，２９，３，３３，４に４０サイクル分のシフトクロックCLKが入力されると、ヒューズデータ転送回路２内の３つのシフトレジスタ２６，２３，２９の保持内容はすべて、他の３つのシフトレジスタ３，３３，４に転送される。より具体的には、シフトレジスタ２６に保持されていたチップIDはシフトレジスタ４に転送され、シフトレジスタ２３に保持されていたリダンダンシ情報はシフトレジスタ３３に転送され、シフトレジスタ２９に保持されていたCRCコードはシフトレジスタ３に転送される。
【００２８】
シフトクロックCLKに同期してシフトレジスタ２６から出力されたデータは順にシフトレジスタ３に入力されるだけでなく、CRC剰余計算回路１４にも入力される。CRC剰余計算回路１４は、シリアルに入力される４０ビットのデータ（チップID８ビット＋リダンダンシ情報１６ビット＋CRCコード１６ビット）をCRCの生成多項式（ｘ16＋ｘ12＋ｘ5＋１）で除算して、その余りを計算する。もし、入力された４０ビットに誤りがなければ、余りは０となる。
【００２９】
図２はCRC剰余計算回路１４の内部構成の一例を示すブロック図である。図２のCRC剰余計算回路１４は、シフトレジスタ２６，２３，２９の保持データをCRCの生成方程式に入力して除算した余りを計算するCRC剰余計算部４１と、計算された余りに基づいてヒューズ２２，２５，２８のプログラムが正しく行われたか否かを判定するCRC判定部４２とを有する。
【００３０】
CRC剰余計算部４１は、上述した生成多項式の除算器を構成するフリップフロップ５１〜６６と、ExORゲート６７〜６９とを有する。CRC判定部４２は、各フリップフロップ５１〜６６の出力のNOR演算を行うNORゲート４２を有する。
【００３１】
フリップフロップ５１〜６６はいずれも共通のシフトクロックCLKに同期して動作する。フリップフロップ５１〜５５は縦続接続されており、最終段のフリップフロップ５５の出力はExORゲート６８を介してフリップフロップ５６に入力される。フリップフロップ５６〜６２は縦続接続されており、最終段のフリップフロップ６２の出力はExORゲート６９を介してフリップフロップ６３に入力される。フリップフロップ６３〜６６は縦続接続されており、最終段のフリップフロップ６６の出力はExORゲート６７を介してフリップフロップ５１に入力される。
【００３２】
ExORゲート６７は、CRC剰余計算回路１４の入力データ、すなわちチップID格納部１２の出力とフリップフロップ６６の出力との排他的論理和を演算する。ExORゲート６８は、ExORゲート６７の出力とフリップフロップ５５の出力との排他的論理和を演算する。ExORゲート６９はフリップフロップ５８，６２の出力の排他的論理和を演算する。
【００３３】
CRC剰余計算回路１４には、ヒューズデータ転送回路２から供給されるチップID、リダンダンシ情報およびCRCコードからなる４０ビットが入力され、この４０ビットのデータを生成多項式で割った余りが各フリップフロップ５１〜６６から出力される。すべてのフリップフロップ５１〜６６の出力がゼロであれば、入力された４０ビットに誤りがないことを示しており、いずれかのフリップフロップの出力がゼロでなければ、入力された４０ビットに何らかの誤りがあることを示している。
【００３４】
すべてのフリップフロップ５１〜６６の出力がゼロの場合、CRC判定部４２の出力は１になる。また、少なくとも一つのフリップフロップの出力が１の場合、CRC判定部４２の出力はゼロになる。したがって、入力された４０ビットに誤りがあるか否かをCRC判定部４２の出力により検出できる。
【００３５】
図３は本実施形態によるチップの検査方法の処理手順を示すフローチャートである。このフローチャートは、テスタ等の検査装置（不図示）を用いて行われる。以下、このフローチャートを参照しながら、チップの検査方法を順に説明する。以下の処理は、複数枚のウエハからなるロットを単位として行われる。
【００３６】
ロット単位でウエハ上に図１の半導体集積回路が形成されると、ウエハのままでSRAM１のテスト、いわゆるダイソートテストを行う（ステップＳ１）。ダイソートテスト時には、半導体集積回路内のSRAM１のテストだけでなく、SRAM１以外のロジック部のテストも併せて行う。
【００３７】
次に、ダイソートテスト時にSRAM１に不良セルが見つかったか否かを判定し（ステップＳ２）、不良セルが見つかった場合には、その不良セルをリダンダンシ制御回路３２で救済可能か否かを判定する（ステップＳ３）。この判定は、テスタのテストプログラムにより行う。
【００３８】
不良セルが救済可能であれば、不良セルを冗長セルに置換するためのリダンダンシ情報と、不良セルがどのロットの何枚目のウエハ上のどの位置に存在するかを示すチップIDとを検査装置内の一時記憶部に格納する（ステップＳ４）。
【００３９】
ステップＳ４の処理が終了した場合、あるいはステップＳ２またはステップＳ３の判定が否定された場合、１ロット分の全ウエハについてのダイソートテストが終了したか否かを判定し（ステップＳ５）、終了していないウエハが存在する場合には、ウエハごとにステップＳ１〜Ｓ４の処理を行う。
【００４０】
１ロット分のダイソートテストが終了した場合には、そのロットについて一時記憶部に格納されたすべてのチップIDとリダンダンシ情報を検査装置内のリダンダンシ情報ファイルに転送する（ステップＳ６）。
【００４１】
次に、ダイソートテストを終えた１ロット分のウエハに対して、リダンダンシ情報ファイルに基づいてブロー工程を行う（ステップＳ７）。このブロー工程では、リダンダンシ情報ファイルに記述されているリダンダンシ情報に従って、リダンダンシ情報格納部１１内のヒューズをレーザにて切断（ブロー）する。また、それに並行して、不良セルを有するチップのチップIDに従って、チップID格納部１２内のヒューズをレーザにて切断する。さらには、リダンダンシ情報とチップIDにより生成されるCRCコードに従って、CRCコード格納部１３内のヒューズをレーザにて切断する。ヒューズには対応するシフトレジスタのデータ入力端子が接続されており、ヒューズがプログラム（切断）されているか否かによりデータ入力端子の論理は０または１になる。
【００４２】
次に、リセット信号発生回路６からリセット信号を出力させて、すべてのシフトレジスタの出力をゼロにリセットする（ステップＳ８）。
【００４３】
その後、シフトクロック発生回路５からシフトクロックCLKを出力させる（ステップＳ９）。これにより、ヒューズデータ転送回路２内のシフトレジスタ２６，２３，２９は、データ入力端子に供給されたヒューズの導通／切断のプログラム情報をラッチする。すなわち、シフトレジスタ２６，２３，２９はそれぞれ、チップID、リダンダンシ情報およびCRCコードを保持する。シフトクロックCLKは、チップID８ビット＋リダンダンシ情報１６ビット＋CRCコード１６ビットの計４０サイクルだけ出力されるため、シフトレジスタ２６，２３，２９がラッチした情報は順にシフトされる。
【００４４】
これにより、ヒューズデータ転送回路２内のシフトレジスタ２６，２３，２９で保持されたチップID、リダンダンシ情報およびCRCコードはそれぞれ、シフトレジスタ４，３３，３に転送される。それに並行して、CRC剰余計算回路１４は、シフトレジスタ２６，２３，２９で保持されたチップID、リダンダンシ情報およびCRCコードに誤りがあるか否かを示す信号を出力する。この出力の論理により、ヒューズデータ転送回路２内のヒューズ２１，２４，２７が正しくプログラムできたか否かを検出できる。
【００４５】
このように、第１の実施形態では、チップIDとリダンダンシ情報に基づいて生成されるCRCコード情報を格納するCRCコード格納部１３と、チップID、リダンダンシ情報およびCRCコード情報に誤りがあるか否かを検出するCRC剰余計算回路１４とを設けるため、所望のヒューズが正しくプログラムされたか否かを簡易かつ正確に検出できる。したがって、半導体集積回路の製造後の最終テストを短時間でかつ精度よく行うことができ、生産性の向上が図れる。
【００４６】
（第２の実施形態）
第２の実施形態は、CRCコード格納部１３内のシフトレジスタから転送されたCRCコードを保持するシフトレジスタを不要としたものである。
【００４７】
図４は本発明の第２の実施形態に係る半導体集積回路の概略構成を示すブロック図である。図４では図１と共通する構成部分には同一符号を付しており、以下では相違点を中心に説明する。
【００４８】
図４の半導体集積回路は、図１のシフトレジスタ３を備えていないことと、図１のCRC剰余計算回路１４とは異なる回路構成のCRC剰余計算回路１４を備えていることが図１の半導体集積回路と異なっている。また、ヒューズデータ転送回路２内のCRCコードを保持するシフトレジスタ２９は、それ以外のシフトレジスタ２３，２６，３，３３，４とは縦続接続されておらず、シフト動作は行わない。
【００４９】
図１の半導体集積回路では、６つのシフトレジスタ４，３３，３，２６，２３，２９に４０サイクル分のシフトクロックCLKを供給して、ヒューズデータ転送回路２内の３つのシフトレジスタ２６，２３，２９の保持データをすべてシフトレジスタ４，３３，３に転送したが、図４の半導体集積回路では、５つのシフトレジスタ４，３３，２６，２３に８＋１６＝２４サイクル分のシフトクロックCLKを供給して、ヒューズデータ転送回路２内の２つのシフトレジスタ２６，２３の保持データをシフトレジスタ４，３３に転送する。シフトレジスタ２９に保持されているCRCコードはシフトされずにそのままシフトレジスタ２９に留まっている。
【００５０】
図５は図４のCRC剰余計算回路１４の内部構成を示す回路図である。図５において、CRCの生成方程式を用いて構成されるCRC剰余計算部４１の回路構成は図２と同様であり、フリップフロップ５１〜６６とExORゲート６７〜６９とを有する。一方、各フリップフロップ５１〜６６の出力に基づいて誤り判定信号を生成するCRC判定部４２の回路構成が図２と異なっている。図５のCRC判定部４２は、各フリップフロップ５１〜６６の出力Ｘ<0:15>と、ヒューズデータ転送回路２内のシフトレジスタ２９の出力CRC code<0:15>とが一致するか否かを対応する各ビットごとに比較する１６個のExORゲート７１と、これらExORゲート７１の出力の反転論理和を演算するNORゲート７２とを有する。
【００５１】
ヒューズデータ転送回路２内のシフトレジスタ２６，２３が保持しているチップIDとリダンダンシ情報はすべてCRC剰余計算回路１４に転送されるため、CRC剰余計算回路１４内のCRC剰余計算部４１ではCRCコードが生成されるはずである。したがって、もしヒューズデータ転送回路２から転送されたチップIDとリダンダンシ情報に誤りがなければ、CRC剰余計算部４１を構成する各フリップフロップ５１〜６６の出力Ｘ<0:15>からは、ヒューズデータ転送回路２内のシフトレジスタ２９に保持されているCRCコードと同じになる。したがって、この場合、１６個のExORゲート７１の出力はすべて０になり、NORゲート７２の出力は１になる。
【００５２】
一方、ヒューズデータ転送回路２から転送されたチップIDとリダンダンシ情報に１ビットでも誤りがあれば、CRC剰余計算部４１を構成する各フリップフロップ５１〜６６の出力とヒューズデータ転送回路２内のシフトレジスタ２９に保持されているCRCコードとは完全には一致せず、いずれかのExORゲート７１の出力が１になって、NORゲート７２の出力は０になる。
【００５３】
このように、第２の実施形態では、CRC剰余計算回路１４内のCRC判定部４２でヒューズデータ転送回路２で保持されているCRCコードとの比較を行うため、シフトレジスタ２９の保持データを転送しなくてすみ、第１の実施形態よりもシフトレジスタを１個少なくでき、かつ必要なシフトクロックCLKの数も削減できる。したがって、回路構成を縮小でき、かつテスト時間の短縮化が図れる。
【００５４】
上述した各実施形態では、SRAMセルのリダンダンシ処理を行う例について説明したが、本発明はSRAMセル以外の各種メモリセル（例えば、フラッシュメモリ、EPROM、DRAMなど）にも適用可能である。
【００５５】
図１と図４では、リダンダンシ情報を保持するシフトレジスタ２３の後段側に、チップIDを保持するシフトレジスタ２６を接続しているが、この順番を入れ替えてもよい。
【００５６】
上述した各実施形態では、ヒューズをレーザで切断（ブロー）する例を説明したが、本発明はレーザで切断するレーザブローヒューズだけでなく、各種のヒューズを適用可能である。例えば、ポリシリコンヒューズは、切断する代わりに溶断する。また、絶縁膜に高電圧をかけて絶縁膜を破壊させて短絡させるものもある。本明細書では、各種のヒューズに物理的な外力を与えて最初の状態を別の状態することをプログラムと呼んでいる。
【図面の簡単な説明】
【００５７】
【図１】本発明の第１の実施形態に係る半導体集積回路の概略構成を示すブロック図。
【図２】CRC剰余計算回路１４の内部構成の一例を示すブロック図。
【図３】本実施形態によるチップの検査方法の処理手順を示すフローチャート。
【図４】本発明の第２の実施形態に係る半導体集積回路の概略構成を示すブロック図。
【図５】図４のCRC剰余計算回路１４の内部構成を示す回路図。
【符号の説明】
【００５８】
１  SRAM
２  ヒューズデータ転送回路
３、４，２３，２６，２９，３３  シフトレジスタ
５  シフトクロック発生回路
６  リセット信号発生回路
１１  リダンダンシ情報格納部
１２  チップID格納部
１３  CRCコード格納部
１４  CRC剰余計算回路
２１，２４，２７  ヒューズ
３１  SRAMセルアレイ
３２  リダンダンシ制御回路
４１  CRC剰余計算部
４２  CRC判定部
【図１】
2007179697.tif 000003
【図２】
2007179697.tif 000004
【図３】
2007179697.tif 000005
【図４】
2007179697.tif 000006
【図５】
2007179697.tif 000007