(57)【要約】【課題】複雑な制御なく、フューズセットに対するデータ書き換えを可能にする。【解決手段】１つのフューズセットは、複数のフューズブロックＢＬＫ１，ＢＬＫ２，・・・ＢＬＫｎから構成される。複数のフューズブロックＢＬＫ１，ＢＬＫ２，・・・ＢＬＫｎの各々は、電気的にプログラム可能な複数のフューズ素子から構成されるサブフューズセットＳＦＳ１，ＳＦＳ２，・・・ＳＦＳｎと、複数のフューズ素子に対するプログラムを制御するプログラム制御回路ＰＣＮＴ１，ＰＣＮＴ２，・・・ＰＣＮＴｎとを有する。複数のフューズ素子のうちの１つは、イネーブルビットであり、このイネーブルビットの値に基づいて、プログラムの対象となる１つのフューズブロックが決定される。【選択図】      図２
2005063535.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックから構成されるフューズセットを具備し、前記複数のブロックの各々は、電気的にプログラム可能な複数のフューズ素子から構成されるサブフューズセットと、前記複数のフューズ素子に対するプログラムを制御するプログラム制御回路とを有し、前記複数のフューズ素子のうちの１つは、前記サブフューズセットの有効／無効を示すイネーブルビットであり、前記プログラム制御回路は、前記イネーブルビットの値に基づいて、前記複数のブロックのなかから前記プログラムの対象となるブロックを決定することを特徴とするフューズ回路。
【請求項２】
請求項１記載のフューズ回路において、さらに、前記プログラムの対象となるブロックに対するプログラムデータをラッチするプログラムデータラッチ回路を具備することを特徴とするフューズ回路。
【請求項３】
前記複数のブロックは、ｎ（ｎは、複数）段に直列に接続され、１段目のブロックでは、前記プログラム制御回路は、前記１段目のブロック内の前記イネーブルビットの値に基づいて、前記１段目のブロックが前記プログラムの対象となるか否かを決定することを特徴とする請求項１記載のフューズ回路。
【請求項４】
前記１段目のブロック内の前記イネーブルビットの値が前記サブフューズセットの無効を示しているとき、前記１段目のブロックは、前記プログラムの対象になることを特徴とする請求項３記載のフューズ回路。
【請求項５】
前記複数のブロックは、ｎ（ｎは、複数）段に直列に接続され、ｉ（２≦ｉ≦ｎ）段目のブロックでは、前記プログラム制御回路は、（ｉ−１）段目のブロック内の前記イネーブルビットの値及び前記ｉ段目のブロック内の前記イネーブルビットの値に基づいて、前記ｉ段目のブロックが前記プログラムの対象となるか否かを決定することを特徴とする請求項１記載のフューズ回路。
【請求項６】
前記（ｉ−１）段目のブロック内の前記イネーブルビットの値が前記サブフューズセットの有効を示し、前記ｉ段目のブロック内の前記イネーブルビットの値が前記サブフューズセットの無効を示しているとき、前記ｉ段目のブロックは、前記プログラムの対象になることを特徴とする請求項５記載のフューズ回路。
【請求項７】
前記複数のブロックの各々は、前記複数のフューズ素子にプログラムされたフューズデータのリードを制御するリード制御回路を有し、前記リード制御回路は、前記イネーブルビットの値に基づいて、前記複数のブロックのなかから前記リードの対象となるブロックを決定することを特徴とする請求項１記載のフューズ回路。
【請求項８】
前記複数のブロックは、ｎ（ｎは、複数）段に直列に接続され、ｉ（１≦ｉ≦ｎ−１）段目のブロックでは、前記リード制御回路は、前記ｉ段目のブロック内の前記イネーブルビットの値及び（ｉ＋１）段目のブロック内の前記イネーブルビットの値に基づいて、前記ｉ段目のブロックが前記リードの対象となるか否かを決定することを特徴とする請求項７記載のフューズ回路。
【請求項９】
前記ｉ段目のブロック内の前記イネーブルビットの値が前記サブフューズセットの有効を示し、前記（ｉ＋１）段目のブロック内の前記イネーブルビットの値が前記サブフューズセットの無効を示しているとき、前記ｉ段目のブロックは、前記リードの対象になることを特徴とする請求項８記載のフューズ回路。
【請求項１０】
前記複数のブロックは、ｎ（ｎは、複数）段に直列に接続され、ｎ段目のブロックでは、前記リード制御回路は、前記ｎ段目のブロック内の前記イネーブルビットの値に基づいて、前記ｎ段目のブロックが前記リードの対象となるか否かを決定することを特徴とする請求項７記載のフューズ回路。
【請求項１１】
前記ｎ段目のブロック内の前記イネーブルビットの値が前記サブフューズセットの有効を示しているとき、前記ｎ段目のブロックは、前記リードの対象になることを特徴とする請求項１０記載のフューズ回路。
【請求項１２】
前記複数のブロックの各々は、前記複数のフューズ素子からリードされたフューズデータをラッチするリードデータラッチ回路を有することを特徴とする請求項１記載のフューズ回路。
【請求項１３】
前記複数のブロックの各々は、前記複数のフューズ素子のうちの１つからリードされた前記イネーブルビットをラッチするリードデータラッチ回路を有し、かつ、前記イネーブルビットを除く、残りのフューズデータをラッチするリードデータラッチ回路は、前記複数のブロックに共有されることを特徴とする請求項１記載のフューズ回路。
【請求項１４】
前記複数のフューズ素子の各々は、電気的フューズ素子又はアンチフューズ素子であることを特徴とする請求項１記載のフューズ回路。
【請求項１５】
前記プログラムは、パッケージング工程前又は後の任意の時期に実行されることを特徴とする請求項１記載のフューズ回路。
【請求項１６】
前記フューズセットに対するデータ書き換え回数の上限は、前記複数のブロックの数に等しいことを特徴とする請求項１記載のフューズ回路。
【請求項１７】
前記複数のブロックは、ｎ（ｎは、複数）段に直列に接続され、データ書き換えの度に、前記プログラムの対象となるブロックは、１段目のブロックからｎ段目のブロックに向かって移動していくことを特徴とする請求項１記載のフューズ回路。
【請求項１８】
１つ又は複数の機能ブロックを有する集積回路において、前記集積回路に関するデータを不揮発に記憶するメモリを具備し、前記メモリは、請求項１記載のフューズ回路であり、前記集積回路に関するデータは、書き換え可能であることを特徴とする集積回路。
【請求項１９】
ｎ（ｎは、複数）段に直列に接続された複数のサブフューズセットを有するフューズ回路に対して、プログラムの度に、前記プログラムの対象となるサブフューズセットを、１段目のサブフューズセットからｎ段目のサブフューズセットに向かって、順次、自動的に変えていくことにより、前記フューズ回路に対するデータ書き換えを可能にすることを特徴とするリード／プログラム方法。
【請求項２０】
前記プログラムの対象となるサブフューズセットは、パワーオンの直後に、前記サブフューズセットの有効／無効を示すイネーブルビットの値に基づいて自動的に決定されることを特徴とする請求項１９記載のリード／プログラム方法。
【請求項２１】
前記パワーオンの直後に、前記イネーブルビットの値に基づいて、フューズデータリードの対象となるサブフューズセットが自動的に決定されることを特徴とする請求項２０記載のリード／プログラム方法。
【請求項２２】
前記フューズデータリードの対象となるサブフューズセットは、最新のデータを記憶していることを特徴とする請求項２１記載のリード／プログラム方法。
【請求項２３】
前記パワーオンの直後に、前記イネーブルビットと共に全てのフューズデータがリードデータラッチ回路にラッチされることを特徴とする請求項２１記載のリード／プログラム方法。
【請求項２４】
前記パワーオンの直後に、まず、前記イネーブルビットがリードデータラッチ回路にラッチされ、前記フューズデータリードの対象となるサブフューズセットが決定された後に、そのサブフューズセットのフューズデータが前記リードデータラッチ回路にラッチされることを特徴とする請求項２１記載のリード／プログラム方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、標準ＣＭＯＳプロセスで形成できる電気的にプログラム可能なフューズ素子に対するリード／プログラム制御回路に関し、特に、電気的(electrically)-フューズ素子、アンチフューズ素子などから構成されるフューズ回路に使用される。
【背景技術】
【０００２】
従来、半導体集積回路内においてデータを不揮発に記憶しようとした場合、その半導体集積回路内に何らかしらのメモリ素子を配置しなければならない。
【０００３】
例えば、記憶するデータのデータ量が非常に多く、かつ、データの書き換えが多数回行われるような場合には、スタックトゲート構造のフラッシュメモリセルによりそのデータを記憶する。ここで、フラッシュメモリセルは、標準ＣＭＯＳプロセスとは異なる特殊プロセスにより形成される。このため、ロジックＬＳＩなどの標準ＣＭＯＳプロセスで形成される半導体集積回路内にフラッシュメモリセルを配置する場合には、メモリ容量の大容量化を図るなど、特殊プロセスを用いることによるコストオーバーヘッドを抑える工夫が必要になる。
【０００４】
しかし、例えば、１チップ内に複数の機能を混載させたシステムＬＳＩなどの半導体集積回路においては、データ量の多いデータを不揮発に記憶する、という要求がなされることは、ほとんどない。このような半導体集積回路では、回路動作に関するトリミングデータ、チップＩＤ、セキュリティデータ、ＤＲＡＭやＳＲＡＭなどのリダンダンシイデータなどの少ないデータ量のデータを不揮発に記憶するための小容量のメモリ素子が存在していれば足りる。
【０００５】
また、このようなデータは、１回、又は、多くても数回の書き換えが行えれば、それで十分であり、フラッシュメモリセルのような１０万回といったデータ書き換え回数を保障する必要は全くない。
【０００６】
従って、システムＬＳＩなどの半導体集積回路においては、特殊プロセスではなく、標準ＣＭＯＳプロセスで形成することができる不揮発性メモリセルによりこのようなデータを記憶し、コストの低下を図ることが重要となる。
【０００７】
ところで、標準ＣＭＯＳプロセスで形成できる不揮発性メモリセルとしては、フューズ素子がある（例えば、特許文献１，２参照）。
【０００８】
フューズ素子と言えば、従来、メタル配線やポリシリコン配線をレーザにより切断するレーザ溶断タイプフューズ素子がよく知られていたが、現在では、パッケージング後にもプログラムを可能にする、という要望から、このようなレーザ溶断タイプフューズに代わって、電気的にプログラム可能なフューズ素子（ E(electrical)-fuse、Anti-fuse など）を用いることが主流となりつつある。
【０００９】
電気的にプログラム可能なフューズ素子としては、例えば、過大電流による配線の溶断によりプログラムを行うタイプのものや、電圧ストレスによる絶縁体の破壊によりプログラムを行うタイプのものなどがある。前者のフューズ素子では、配線の溶断により導通状態から非導通状態になるが、後者のフューズ素子では、絶縁体の破壊により非導通状態から導通状態になる。
【００１０】
また、前者のフューズ素子と後者のフューズ素子の中間的なものとして、サリサイド層とポリシリコン層とからなる配線をフューズ素子として用いたものがある。このフューズ素子では、過大電流によるサリサイド層の破壊（抵抗値の増大）によりプログラムを行い、サリサイド層の破壊の前後の抵抗比を用いてデータを読み出す。
【００１１】
図１８は、従来のフューズ回路（フューズセット１個分）の例を示している。
【００１２】
このフューズ回路は、１個のイネーブルビットフューズ素子及びｍ個のデータフューズ素子からなるフューズセットＦＳと、これら（ｍ＋１）個のフューズ素子にプログラムされるデータＥｎ，Ｄｉｎ１，Ｄｉｎ２，・・・Ｄｉｎｍをラッチするプログラムデータラッチ回路ＰＤＬと、これら（ｍ＋１）個のフューズ素子から読み出されるデータＥｎ，Ｄｏｕｔ１，Ｄｏｕｔ２，・・・Ｄｏｕｔｍをラッチするリードデータ（フューズデータ）ラッチ回路ＲＤＬとから構成される。
【００１３】
イネーブルビットデータＥｎ及びプログラムデータＤｉｎ１，Ｄｉｎ２，・・・Ｄｉｎｍは、このフューズ回路が形成されるチップの内部で生成されてもよいし、そのチップの外部から供給されてもよい。また、イネーブルビットデータＥｎ及びフューズデータＤｏｕｔ１，Ｄｏｕｔ２，・・・Ｄｏｕｔｍは、例えば、パワーオン時に、リードデータラッチ回路ＲＤＬにラッチされた後、チップ内の回路に供給される。
【００１４】
イネーブルビットデータＥｎは、ｍ個のデータフューズ素子に記憶されたデータの有効／無効を判断するために使用される。例えば、イネーブルビットデータＥｎがプログラムされた状態、例えば、“１”（＝“Ｈ”）ならば、ｍ個のデータフューズ素子に記憶されたデータは有効となるが、イネーブルビットデータＥｎがプログラムされていない状態、例えば、“０”（＝“Ｌ”）ならば、ｍ個のデータフューズ素子に記憶されたデータは、無効となる。
【００１５】
図１９は、図１８のフューズ回路の一部を具体的に示している。  
本例では、フューズ素子ＦＵＳＥとして、絶縁体の破壊によりプログラムを行うアンチフューズ素子を使用する。
【００１６】
プログラム前においては、フューズセットＦＳ内の全てのフューズ素子ＦＵＳＥは、非導通状態となっている（初期状態）。ここで、プログラムデータＤｉｎ１，Ｄｉｎ２，・・・Ｄｉｎｍの値に応じて、フューズ素子ＦＵＳＥに対するプログラミングを実行する。
【００１７】
プログラム時、プログラムの対象となるフューズセットにおけるイネーブルビットデータＥｎは、“１”となり、プログラムデータラッチ回路ＰＤＬ（Ｅｎ）にラッチされる。この時、プログラムデータラッチ回路ＰＤＬ（Ｅｎ）の出力は、“Ｌ”、例えば、接地電位になる。選択信号ＳＥＬが“Ｈ”になると、トランジスタＮ２がオンし、フューズセットＦＳ（Ｅｎ）内のフューズ素子ＦＵＳＥの両端に高電圧ＶＰＰが印加される。
【００１８】
その結果、フューズ素子ＦＵＳＥにデータ“１”がプログラムされる。即ち、フューズ素子ＦＵＳＥを構成する絶縁体が破壊され、フューズ素子ＦＵＳＥは、非導通状態から導通状態に変化する。
【００１９】
また、プログラム時、プログラムデータＤｉｎ１，Ｄｉｎ２，・・・Ｄｉｎｍは、“１”又は“０”になる。例えば、プログラムデータＤｉｎ１が“１”のときは、イネーブルビットデータＥｎのときと同様に、フューズ素子ＦＵＳＥにデータ“１”がプログラムされる。プログラムデータＤｉｎ１が“０”のときは、フューズセットＦＳ（Ｄｉｎ１）内のフューズ素子ＦＵＳＥの両端に高電圧ＶＰＰが印加されない。このため、フューズ素子ＦＵＳＥを構成する絶縁体が破壊されず、フューズ素子ＦＵＳＥには、“０”がプログラムされる。
【００２０】
実際に、フューズデータを使用するためには、フューズ素子ＦＵＳＥに記憶されたアナログデータをデジタルデータに変換しなければならない。そこで、例えば、パワーオン時に、フューズデータを読み出し、これをリードデータ（フューズデータ）ラッチ回路ＲＤＬにラッチする。
【００２１】
具体的には、まず、パワーオン時、リセット信号ＲＳＴが一時的に“Ｈ”になり、ラッチ回路の状態がリセットされる、即ち、出力データＥｎ，Ｄｏｕｔ１，Ｄｏｕｔ２，・・・Ｄｏｕｔｍは、全て、“Ｌ”となる。この後、フューズ素子ＦＵＳＥのデータがリードデータラッチ回路ＲＤＬに転送される。
【００２２】
例えば、フューズセットＦＳ（Ｅｎ）内のフューズ素子ＦＵＳＥが破壊状態（フューズデータ“１”）にあるときは、リードデータラッチ回路ＲＤＬには、“１”がラッチされ、その出力データＥｎは、“Ｈ”になる。また、フューズセットＦＳ（Ｅｎ）内のフューズ素子ＦＵＳＥが非破壊状態（フューズデータ“０”）にあるときは、リードデータラッチ回路ＲＤＬには、“０”がラッチされ、その出力データＥｎは、“Ｌ”になる。
【００２３】
そして、電源が入っている間は、リードデータラッチ回路ＲＤＬは、常に、フューズデータをラッチしており、このフューズデータは、出力データＤｏｕｔ１，Ｄｏｕｔ２，・・・Ｄｏｕｔｍとして、データバスを経由して、内部回路やチップの外部に出力される。
【特許文献１】特開２００２−７６１２６号公報
【特許文献２】特開２００２−３６８０９６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２４】
このように、電気的にプログラム可能なフューズ素子によれば、パッケージング後にもフューズプログラムを行える、という利点を有するが、プログラム自体は、配線の溶断、絶縁体又はサリサイド層の破壊など、部材の物理的な変化に基づいており、一度、プログラムを行うと、プログラム前の元の状態に戻すことはできない。
【００２５】
つまり、従来のフューズ回路では、１つのフューズセットに対するプログラミングは、１回のみであり、同一のフューズセットに対してフューズデータの書き換えを行う、ということは、不可能である。
【００２６】
しかし、近年の半導体集積回路においては、少数回ではあるが、フューズデータの書き換えを行いたい、という要望がある。
【００２７】
この要望を満たす一つの案としては、フラッシュメモリセルを搭載する、というものがあるが、上述のように、特殊プロセスが必要となり、コストの増大を招くため、採用することはできない。また、他の案としては、複数のフューズセットを外部信号により選択する機能を設けてフューズデータの書き換えを可能とする、というものも考えられるが、この場合、回路規模の増大や複雑化を招く。
【００２８】
本発明の目的は、標準ＣＭＯＳプロセスで形成でき、かつ、１つのフューズセットに対して、フューズデータの書き換えを、特殊な制御なしに、自動的に行うことができるフューズ回路を提案することにある。
【課題を解決するための手段】
【００２９】
本発明の例に関わるフューズ回路は、複数のブロックから構成されるフューズセットを備え、複数のブロックの各々は、電気的にプログラム可能な複数のフューズ素子から構成されるサブフューズセットと、複数のフューズ素子に対するプログラムを制御するプログラム制御回路とを有し、複数のフューズ素子のうちの１つは、サブフューズセットの有効／無効を示すイネーブルビットであり、プログラム制御回路は、イネーブルビットの値に基づいて、複数のブロックのなかからプログラムの対象となるブロックを決定する。
【発明の効果】
【００３０】
本発明の例によれば、標準ＣＭＯＳプロセスで形成でき、かつ、１つのフューズセットに対して、フューズデータの書き換えを、特殊な制御なしに、自動的に行うことができるフューズ回路を提供することができる。
【発明を実施するための最良の形態】
【００３１】
以下、図面を参照しながら、本発明の例を実施するための最良の形態について詳細に説明する。
【００３２】
１．  概要  
小さな容量のデータを不揮発に記憶するためのメモリを、標準ＣＭＯＳプロセスにより形成しようとする場合、そのメモリは、フューズ素子（例えば、ＭＯＳトランジスタのゲート構造を利用したアンチフューズなど）となる。しかし、フューズ素子に対するデータプログラムは、部材の溶断や破壊などにより物理的に行われるため、フューズ素子自体を元の状態に戻すことはできない。
【００３３】
そこで、本発明の例では、フューズデータの書き換えを行うために、１つのフューズセットを複数のフューズブロックから構成する。各フューズブロック内には、複数のフューズ素子からなるサブフューズセットが配置され、このサブフューズセットにフューズデータがプログラムされる。本発明の例に関わるフューズ回路よれば、１つのフューズセットに対するデータの書き換え回数の最大値は、その１つのフューズセット内のフューズブロックの数に等しくなる。
【００３４】
フューズデータのプログラム時には、プログラム制御回路により、複数のフューズブロックのうちから１つのフューズブロックが選択される。その選択は、各フューズブロック内のイネーブルビットデータの値に基づいて行われる。イネーブルビットデータは、フューズデータをプログラミングするときに、これと同時にプログラミングされるため、複数のフューズブロックを直列接続することにより、データ書き換えに応じて、自動的に、プログラミングの対象となるフューズブロックを選択できる。
【００３５】
フューズデータのリード時には、最も新しいフューズデータがプログラムされているフューズブロックからフューズデータを、リードし、かつ、ラッチ回路にラッチする必要がある。つまり、データ書き換えを行った場合には、古いフューズデータがリードされないように、それを無効としなければならない。そこで、リード制御回路により、複数のフューズブロックのうちから、その最も新しいフューズデータがプログラムされている１つのフューズブロックを選択する。その選択は、各フューズブロック内のイネーブルビットデータの値に基づいて、容易に行うことができる。
【００３６】
このように、本発明の例に関わるフューズ回路では、１つのフューズセットを複数のフューズブロック（複数のサブフューズセット）から構成する。このような場合においても、プログラムデータとしては、小容量で、かつ、書き換え回数が少数回で足りるのものを対象とするため、面積的なペナルティは、それほど大きくならない。逆に、このような構成を採用することで、特殊プロセスを採用することなく、標準ＣＭＯＳプロセスのみで、半導体集積回路を形成できるため、安価で、適用範囲の広いフューズ回路を提供できる。
【００３７】
また、フューズデータのプログラム／リードに関しては、プログラム／リード制御回路を用いて、特定のフューズブロックに対して自動的に行うため、チップ外部から見た場合には、本発明の例に関わるフューズ回路は、従来の書き換えを行うことができないフューズ回路に対して何ら変わるところはない。
【００３８】
２．  フューズ回路  
図１は、フューズ回路の概要を示している。
【００３９】
フューズ回路１は、内部回路の動作に関するトリミングデータなど、小容量のデータを不揮発に記憶するため、ＬＳＩチップ上の任意の領域に配置される。
【００４０】
イネーブルビットデータＥｎ，プログラムデータＤｉｎ１，Ｄｉｎ２，・・・Ｄｉｎｍは、内部回路又はＬＳＩチップの外部から供給され、プログラムデータラッチ回路ＰＤＬに一時的にラッチされる。プログラムデータラッチ回路ＰＤＬは、例えば、１個又は複数個、本例では、ｋ個のフューズセットに対して１つのみ設けられる。
【００４１】
フューズ回路１内には、ｋ個のフューズセットが配置される。本例では、１個のフューズセットと１個のリードデータラッチ回路とは、ペアとなっており、１つのフューズセットからフューズデータＤｏｕｔ１，Ｄｏｕｔ２，・・・Ｄｏｕｔｍが出力される。
【００４２】
データのプログラム時には、例えば、選択信号ＳＥＬ１，ＳＥＬ２，・・・ＳＥＬｋにより１つのフューズセットが選択され、この選択されたフューズセットに対して、データのプログラミングが実行される。
【００４３】
ここで、従来のフューズ回路では、１つのフューズセットに対しては、一度、データをプログラミングしたら、その後、そのデータを書き換える、ということはできない。これに対し、本発明の例に関わるフューズ回路では、１つのフューズセットに対しては、予め決められた所定の回数だけ、データの書き換えを行うことができる。
【００４４】
このようなデータの書き換えは、後述するように、１つのフューズセット内に配置される複数個のサブフューズセットにより実現される。つまり、データ書き換えの度に、複数個のサブフューズセットのうちの１つにプログラムデータをプログラムし、かつ、最新のプログラムデータがプログラムされたサブフューズセットから常にデータが読み出されるようにする。
【００４５】
なお、データ書き換え回数の上限は、１つのフューズセット内に配置されるサブフューズセットの数に等しくなる。
【００４６】
以下、このようなデータ書き換えが可能なフューズ回路の具体例について説明する。
【００４７】
３．  第１実施例  
(1)   フューズセット  
図２は、本発明の第１実施例に関わるフューズ回路の主要部を示している。
【００４８】
同図に示す構成は、図１の１つのフューズセットに対応している。１つのフューズセットは、ｎ（ｎは、複数）個のフューズブロックＢＬＫ１，ＢＬＫ２，・・・ＢＬＫｎを有する。また、各フューズブロックＢＬＫｉ（ｉ＝１，２，・・・ｎ）は、（ｍ＋１）個のフューズ素子（ｍは、複数）から構成されるサブフューズセットＳＦＳｉと、このサブフューズセットＳＦＳｉに対応して設けられる（ｍ＋１）個のプログラム制御回路ＰＣＮＴｉ及び（ｍ＋１）個のリードデータラッチ回路ＲＤＬｉとを有する。
【００４９】
また、各フューズブロックＢＬＫｉは、リード制御回路ＲＣＮＴｉを有している。リード制御回路ＲＣＮＴｉは、イネーブルビットデータを除く、ｍビットのフューズデータをラッチするｍ個のリードデータラッチ回路ＲＤＬｉに対応して、ｍ個だけ設けられる。
【００５０】
プログラムデータラッチ回路ＰＤＬは、例えば、ｎ個のフューズブロックＢＬＫ１，ＢＬＫ２，・・・ＢＬＫｎに対して１つのみ設けられる。プログラムデータラッチ回路ＰＤＬは、イネーブルビットデータＥｎ及びプログラムデータＤｉｎ１，Ｄｉｎ２，・・・Ｄｉｎｍを一時的にラッチする。これら入力データＥｎ，Ｄｉｎ１，Ｄｉｎ２，・・・Ｄｉｎｍは、選択された１つのフューズブロックＢＬＫｉに転送される。
【００５１】
ここで、ｎ個のフューズブロックＢＬＫ１，ＢＬＫ２，・・・ＢＬＫｎは、直列接続される。そして、プログラム制御回路ＰＣＮＴ１，ＰＣＮＴ２，・・・ＰＣＮＴｎは、イネーブルビットデータに基づいて、ｎ個のフューズブロックＢＬＫ１，ＢＬＫ２，・・・ＢＬＫｎのうちから、プログラミングの対象となる１つのフューズブロックＢＬＫｊを選択する。
【００５２】
即ち、ｉ（ｉ＝１，２、・・・ｎ）番目のフューズブロックＢＬＫｉでは、プログラム制御回路ＰＣＮＴｉは、フューズブロックＢＬＫｉ内のイネーブルビットデータＥｎｉの値と、１つ前の（ｉ−１）番目のフューズブロックＢＬＫ（ｉ−１）内のイネーブルビットデータＥｎ（ｉ−１）の値とに基づいて、データプログラムに関し、フューズブロックＢＬＫｉの選択／非選択を決定する。
【００５３】
但し、最初（１番目）のフューズブロックＢＬＫ１では、１つ前のフューズブロックが存在しない。また、最初にプログラムの対象となるフューズブロックは、フューズブロックＢＬＫ１である。そこで、最初のフューズブロックＢＬＫ１では、プログラム制御回路ＰＣＮＴ１は、フューズブロックＢＬＫ１内のイネーブルビットデータＥｎ１の値と、入力データＥｎ０の値（“Ｈ”固定）とに基づいて、フューズブロックＢＬＫ１の選択／非選択を決定する。
【００５４】
なお、各フューズブロックＢＬＫｉ内のイネーブルビットデータＥｎｉは、例えば、パワーオンの後、直ちに、リードラッチ回路ＲＤＬｉにラッチされ、イネーブルビットデータＥｎｉとして、各フューズブロックＢＬＫｉにフィードバックされる。
【００５５】
また、リード制御回路ＲＣＮＴ１，ＲＣＮＴ２，・・・ＲＣＮＴｎは、イネーブルビットデータに基づいて、ｎ個のフューズブロックＢＬＫ１，ＢＬＫ２，・・・ＢＬＫｎのうちから、データリードの対象となる１つのフューズブロックＢＬＫｊを選択する。
【００５６】
即ち、ｉ（ｉ＝１，２、・・・ｎ）番目のフューズブロックＢＬＫｉでは、リード制御回路ＲＣＮＴｉは、フューズブロックＢＬＫｉ内のイネーブルビットデータＥｎｉの値と、１つ後の（ｉ＋１）番目のフューズブロックＢＬＫ（ｉ＋１）内のイネーブルビットデータＥｎ（ｉ＋１）の値とに基づいて、データリードに関し、フューズブロックＢＬＫｉの選択／非選択を決定する。
【００５７】
但し、最後（ｎ番目）のフューズブロックＢＬＫｎでは、１つ後のフューズブロックが存在しない。また、フューズブロックＢＬＫｎは、最後にプログラムの対象となるフューズブロックである。そこで、最後のフューズブロックＢＬＫｎでは、リード制御回路ＲＣＮＴｎは、フューズブロックＢＬＫｎ内のイネーブルビットデータＥｎｎの値と、入力データＥｎ（ｎ＋１）の値（“Ｌ”固定）とに基づいて、フューズブロックＢＬＫｎの選択／非選択を決定する。
【００５８】
(2)   回路例  
図３乃至図５は、図２のフューズセットを構成するブロックＢＬＫｉの回路例を示している。
【００５９】
[1]   ブロックＢＬＫ１  
図３は、ブロックＢＬＫ１の回路例である。  
1.    プログラムデータラッチ回路  
プログラムデータラッチ回路ＰＤＬ（Ｅｎ）は、イネーブルビットデータＥｎをラッチする。プログラムデータラッチ回路ＰＤＬ（Ｄｉｎ１），・・・ＰＤＬ（Ｄｉｎｍ）は、ｍビットのプログラムデータＤｉｎ１，・・・Ｄｉｎｍに対応してｍ個だけ設けられ、かつ、プログラムデータＤｉｎ１，・・・Ｄｉｎｍをラッチする。
【００６０】
プログラムデータラッチ回路ＰＤＬ（Ｅｎ），ＰＤＬ（Ｄｉｎ１），・・・ＰＤＬ（Ｄｉｎｍ）は、全て、同じ回路構成を有している。
【００６１】
インバータＩ１及びクロックドインバータＣＩ１により、ラッチ回路が構成される。ラッチ回路の出力信号は、ノア回路ＮＲ１の一方の入力端子に入力される。ノア回路ＮＲ１の他方の入力端子には、プログラム信号ＰＲＯＧの反転信号ｂＰＲＯＧが入力される。
【００６２】
プログラム時には、プログラム信号ＰＲＯＧが“Ｈ”となり、かつ、その反転信号が“Ｌ”となる。このため、プログラム時には、ノア回路ＮＲ１は、ラッチ回路にラッチされたデータに応じた出力信号を出力する。
【００６３】
例えば、ラッチ回路にラッチされたデータが“１”、即ち、クロックドインバータＣＩ１の出力信号が“Ｌ”のときは、ノア回路ＮＲ１の出力信号は、“Ｈ”となる。その結果、ＮチャネルＭＯＳトランジスタＮ１は、オンになる。また、ラッチ回路にラッチされたデータが“０”、即ち、クロックドインバータＣＩ１の出力信号が“Ｈ”のときは、ノア回路ＮＲ１の出力信号は、“Ｌ”となる。その結果、ＮチャネルＭＯＳトランジスタＮ１は、オフになる。
【００６４】
2.    プログラム制御回路  
プログラム制御回路ＰＣＮＴ１は、アンド回路ＡＤ１とプログラムスイッチＰＳＷとから構成される。
【００６５】
アンド回路ＡＤ１には、フューズセットの選択信号ＳＥＬ１、イネーブルビットデータＥｎ０（“Ｈ”固定）及びイネーブルビットデータＥｎ１の反転信号が、それぞれ入力される。フューズセットの選択信号ＳＥＬ１は、例えば、図１及び図２に示すように、フューズセット１に対するプログラミングを実行するときに、“Ｈ”となる。イネーブルビットデータＥｎ１は、サブフューズセットＳＦＳ１に対するプログラミング前においては、“Ｌ”、即ち、リードデータラッチ回路ＲＤＬ１（Ｅｎ１）の出力信号は、“Ｌ”（アンチフューズの絶縁体が未破壊状態）となっている。
【００６６】
従って、選択信号ＳＥＬ１が“Ｈ”になると、アンド回路ＡＤ１の出力信号は、“Ｈ”となる。また、プログラムスイッチＰＳＷは、ＮチャネルＭＯＳトランジスタであるため、アンド回路ＡＤ１の出力信号が“Ｈ”になると、オンになる。つまり、サブフューズセットＳＦＳ１を構成するフューズ素子ＦＵＳＥの一端が、プログラムデータラッチ回路ＰＤＬ（Ｅｎ），ＰＤＬ（Ｄｉｎ１），・・・ＰＤＬ（Ｄｉｎｍ）に電気的に接続される。
【００６７】
ここで、プログラム時、例えば、プログラムデータが“１”のときは、ＮチャネルＭＯＳトランジスタＮ１，ＰＳＷが、共に、オンとなるため、フューズ素子ＦＵＳＥの両端には、高電圧Ｖｆｕｓｅが印加される。その結果、例えば、フューズ素子（アンチフューズ）ＦＵＳＥを構成する絶縁体が破壊され、データ“１”がプログラミングされる。
【００６８】
また、例えば、プログラムデータが“０”のときは、ＮチャネルＭＯＳトランジスタＰＳＷは、オンであるが、ＮチャネルＭＯＳトランジスタＮ１は、オフとなるため、フューズ素子ＦＵＳＥの両端には、高電圧Ｖｆｕｓｅが印加されない。その結果、例えば、フューズ素子（アンチフューズ）ＦＵＳＥを構成する絶縁体が破壊されず、データ“０”がプログラミングされる。
【００６９】
3.    リードデータラッチ回路  
リードデータラッチ回路ＲＤＬ１（Ｅｎ１），ＲＤＬ１（Ｄｏｕｔ１），・・・ＲＤＬ１（Ｄｏｕｔｍ）は、（ｍ＋１）個のフューズ素子ＦＵＳＥに対応して、（ｍ＋１）個だけ設けられている。リードデータラッチ回路ＲＤＬ１（Ｅｎ１），ＲＤＬ１（Ｄｏｕｔ１），・・・ＲＤＬ１（Ｄｏｕｔｍ）の回路構成は、例えば、図１９に示すようになる。
【００７０】
リードデータラッチ回路ＲＤＬ１（Ｅｎ１），ＲＤＬ１（Ｄｏｕｔ１），・・・ＲＤＬ１（Ｄｏｕｔｍ）の回路例については、既に、図１９の説明において詳細に述べたため、ここでは、その説明については、省略する。
【００７１】
重要な点は、例えば、パワーオン時に、リードデータラッチ回路ＲＤＬ１（Ｅｎ１），ＲＤＬ１（Ｄｏｕｔ１），・・・ＲＤＬ１（Ｄｏｕｔｍ）は、“０”状態、即ち、出力信号として、“Ｌ”を出力する状態に初期化されること、その直後、リードデータラッチ回路ＲＤＬ１（Ｅｎ１），ＲＤＬ１（Ｄｏｕｔ１），・・・ＲＤＬ１（Ｄｏｕｔｍ）の状態は、フューズデータに応じて変化することにある。
【００７２】
4.    リード制御回路  
リード制御回路ＲＣＮＴ１は、アンド回路ＡＤ２とリードスイッチＲＳＷとから構成される。リード制御回路ＲＣＮＴ１は、フューズデータＤｉｎ１，・・・Ｄｉｎｍがプログラムされるｍ個のフューズ素子ＦＵＳＥに対応して、ｍ個だけ設けられている。つまり、本例では、イネーブルビットＥｎ１がプログラムされるフューズ素子ＦＵＳＥに対応するリード制御回路は、存在しない。
【００７３】
但し、イネーブルビットＥｎ１がプログラムされるフューズ素子ＦＵＳＥに対応するリード制御回路を設けても構わない。
【００７４】
アンド回路ＡＤ２には、リセット信号ＲＳＴの反転信号、イネーブルビットデータＥｎ１及びイネーブルビットデータＥｎ２の反転信号が、それぞれ入力される。リセット信号ＲＳＴは、例えば、パワーオン時に、一時的に“Ｈ”となり、その後、“Ｌ”を維持し続ける。
【００７５】
イネーブルビットデータＥｎ１は、サブフューズセットＳＦＳ１に対するプログラミング前においては、“Ｌ”であり、サブフューズセットＳＦＳ１に対するプログラミング後においては、“Ｈ”である。イネーブルビットデータＥｎ２は、サブフューズセットＳＦＳ２に対するプログラミング前においては、“Ｌ”であり、サブフューズセットＳＦＳ２に対するプログラミング後においては、“Ｈ”である。
【００７６】
つまり、サブフューズセットＳＦＳ１にデータがプログラムされ、サブフューズセットＳＦＳ２にデータがプログラムされていないときは、サブフューズセットＳＦＳ１にプログラムされているデータが最新のものとなり、例えば、パワーオン時に、リードスイッチＲＳＷは、オンとなる。
【００７７】
また、サブフューズセットＳＦＳ１，ＳＦＳ２のいずれにも、データがプログラムされていないときは、リードスイッチＲＳＷは、オンとなり得ない。サブフューズセットＳＦＳ１，ＳＦＳ２の双方にデータがプログラムされているときは、サブフューズセットＳＦＳ２にプログラムされているデータが最新のものとなるため、リードスイッチＲＳＷは、オンとなり得ない。
【００７８】
[2]   ブロックＢＬＫｉ（ｉ＝２，３，・・・ｎ−１）  
図４は、ブロックＢＬＫｉの回路例である。  
1.    プログラムデータラッチ回路  
プログラムデータラッチ回路ＰＤＬ（Ｅｎ），ＰＤＬ（Ｄｉｎ１），・・・ＰＤＬ（Ｄｉｎｍ）の構成については、既に、ブロックＢＬＫ１の項目において説明したため、ここでは、その説明を省略する。
【００７９】
2.    プログラム制御回路  
プログラム制御回路ＰＣＮＴ１は、アンド回路ＡＤ１とプログラムスイッチＰＳＷとから構成される。
【００８０】
アンド回路ＡＤ１には、フューズセットの選択信号ＳＥＬ１、イネーブルビットデータＥｎ（ｉ−１）及びイネーブルビットデータＥｎｉの反転信号が、それぞれ入力される。フューズセットの選択信号ＳＥＬ１は、既に説明したように、フューズセット１に対するプログラミングを実行するときに、“Ｈ”となる。
【００８１】
イネーブルビットデータＥｎ（ｉ−１）は、サブフューズセットＳＦＳ（ｉ−１）に対するプログラミング前においては、“Ｌ”であり、サブフューズセットＳＦＳ（ｉ−１）に対するプログラミング後においては、“Ｈ”である。また、イネーブルビットデータＥｎｉは、サブフューズセットＳＦＳｉに対するプログラミング前においては、“Ｌ”であり、サブフューズセットＳＦＳｉに対するプログラミング後においては、“Ｈ”である。
【００８２】
つまり、アンド回路ＡＤ１の出力信号は、サブフューズセットＳＦＳ（ｉ−１）に対するプログラミング後であって、サブフューズセットＳＦＳｉに対するプログラミング前において、“Ｈ”となり得る。
【００８３】
アンド回路ＡＤ１の出力信号が“Ｈ”になると、プログラムスイッチＰＳＷとしてのＮチャネルＭＯＳトランジスタは、オンになる。つまり、サブフューズセットＳＦＳｉを構成するフューズ素子ＦＵＳＥの一端が、プログラムデータラッチ回路ＰＤＬ（Ｅｎ），ＰＤＬ（Ｄｉｎ１），・・・ＰＤＬ（Ｄｉｎｍ）に電気的に接続される。
【００８４】
3.    リードデータラッチ回路  
リードデータラッチ回路ＲＤＬｉ（Ｅｎｉ），ＲＤＬｉ（Ｄｏｕｔ１），・・・ＲＤＬｉ（Ｄｏｕｔｍ）は、（ｍ＋１）個のフューズ素子ＦＵＳＥに対応して、（ｍ＋１）個だけ設けられている。リードデータラッチ回路ＲＤＬｉ（Ｅｎｉ），ＲＤＬｉ（Ｄｏｕｔ１），・・・ＲＤＬｉ（Ｄｏｕｔｍ）の回路構成については、既に説明したため、ここでは、その説明については、省略する。
【００８５】
4.    リード制御回路  
リード制御回路ＲＣＮＴｉは、アンド回路ＡＤ２とリードスイッチＲＳＷとから構成される。リード制御回路ＲＣＮＴｉは、フューズデータＤｉｎ１，・・・Ｄｉｎｍがプログラムされるｍ個のフューズ素子ＦＵＳＥに対応して、ｍ個だけ設けられている。
【００８６】
アンド回路ＡＤ２には、リセット信号ＲＳＴの反転信号、イネーブルビットデータＥｎｉ及びイネーブルビットデータＥｎ（ｉ＋１）の反転信号が、それぞれ入力される。リセット信号ＲＳＴは、例えば、パワーオン時に、一時的に“Ｈ”となり、その後、“Ｌ”を維持し続ける。
【００８７】
イネーブルビットデータＥｎｉは、サブフューズセットＳＦＳｉに対するプログラミング前においては、“Ｌ”であり、サブフューズセットＳＦＳｉに対するプログラミング後においては、“Ｈ”である。イネーブルビットデータＥｎ（ｉ＋１）は、サブフューズセットＳＦＳ（ｉ＋１）に対するプログラミング前においては、“Ｌ”であり、サブフューズセットＳＦＳ（ｉ＋１）に対するプログラミング後においては、“Ｈ”である。
【００８８】
つまり、サブフューズセットＳＦＳｉにデータがプログラムされ、サブフューズセットＳＦＳ（ｉ＋１）にデータがプログラムされていないときは、サブフューズセットＳＦＳｉにプログラムされているデータが最新のものとなり、例えば、パワーオン時に、リードスイッチＲＳＷは、オンとなる。
【００８９】
また、サブフューズセットＳＦＳｉ，ＳＦＳ（ｉ＋１）のいずれにも、データがプログラムされていないときは、リードスイッチＲＳＷは、オンとなり得ない。サブフューズセットＳＦＳｉ，ＳＦＳ（ｉ＋１）の双方にデータがプログラムされているときは、サブフューズセットＳＦＳ（ｉ＋１）にプログラムされているデータが最新のものとなるため、リードスイッチＲＳＷは、オンとなり得ない。
【００９０】
[3]   ブロックＢＬＫｎ  
図５は、ブロックＢＬＫｎの回路例である。  
1.    プログラムデータラッチ回路  
プログラムデータラッチ回路ＰＤＬ（Ｅｎ），ＰＤＬ（Ｄｉｎ１），・・・ＰＤＬ（Ｄｉｎｍ）の構成については、既に、ブロックＢＬＫ１の項目において説明したため、ここでは、その説明を省略する。
【００９１】
2.    プログラム制御回路  
プログラム制御回路ＰＣＮＴ１は、アンド回路ＡＤ１とプログラムスイッチＰＳＷとから構成される。
【００９２】
アンド回路ＡＤ１には、フューズセットの選択信号ＳＥＬ１、イネーブルビットデータＥｎ（ｎ−１）及びイネーブルビットデータＥｎｎの反転信号が、それぞれ入力される。フューズセットの選択信号ＳＥＬ１は、既に説明したように、フューズセット１に対するプログラミングを実行するときに、“Ｈ”となる。
【００９３】
イネーブルビットデータＥｎ（ｎ−１）は、サブフューズセットＳＦＳ（ｎ−１）に対するプログラミング前においては、“Ｌ”であり、サブフューズセットＳＦＳ（ｎ−１）に対するプログラミング後においては、“Ｈ”である。また、イネーブルビットデータＥｎｎは、サブフューズセットＳＦＳｎに対するプログラミング前においては、“Ｌ”であり、サブフューズセットＳＦＳｎに対するプログラミング後においては、“Ｈ”である。
【００９４】
つまり、アンド回路ＡＤ１の出力信号は、サブフューズセットＳＦＳ（ｎ−１）に対するプログラミング後であって、サブフューズセットＳＦＳｎに対するプログラミング前において、“Ｈ”となり得る。
【００９５】
アンド回路ＡＤ１の出力信号が“Ｈ”になると、プログラムスイッチＰＳＷとしてのＮチャネルＭＯＳトランジスタは、オンになる。つまり、サブフューズセットＳＦＳｎを構成するフューズ素子ＦＵＳＥの一端が、プログラムデータラッチ回路ＰＤＬ（Ｅｎ），ＰＤＬ（Ｄｉｎ１），・・・ＰＤＬ（Ｄｉｎｍ）に電気的に接続される。
【００９６】
3.    リードデータラッチ回路  
リードデータラッチ回路ＲＤＬｎ（Ｅｎｎ），ＲＤＬｎ（Ｄｏｕｔ１），・・・ＲＤＬｎ（Ｄｏｕｔｍ）は、（ｍ＋１）個のフューズ素子ＦＵＳＥに対応して、（ｍ＋１）個だけ設けられている。リードデータラッチ回路ＲＤＬｎ（Ｅｎｉ），ＲＤＬｎ（Ｄｏｕｔ１），・・・ＲＤＬｎ（Ｄｏｕｔｍ）の回路構成については、既に説明したため、ここでは、その説明については、省略する。
【００９７】
4.    リード制御回路  
リード制御回路ＲＣＮＴｎは、アンド回路ＡＤ２とリードスイッチＲＳＷとから構成される。リード制御回路ＲＣＮＴｎは、フューズデータＤｉｎ１，・・・Ｄｉｎｍがプログラムされるｍ個のフューズ素子ＦＵＳＥに対応して、ｍ個だけ設けられている。
【００９８】
アンド回路ＡＤ２には、リセット信号ＲＳＴの反転信号、イネーブルビットデータＥｎｎ及びイネーブルビットデータＥｎ（ｎ＋１）の反転信号が、それぞれ入力される。リセット信号ＲＳＴは、例えば、パワーオン時に、一時的に“Ｈ”となり、その後、“Ｌ”を維持し続ける。
【００９９】
イネーブルビットデータＥｎｎは、サブフューズセットＳＦＳｎに対するプログラミング前においては、“Ｌ”であり、サブフューズセットＳＦＳｎに対するプログラミング後においては、“Ｈ”である。イネーブルビットデータＥｎ（ｎ＋１）は、常に、“Ｌ”に固定されている。
【０１００】
つまり、サブフューズセットＳＦＳｎにデータがプログラムされているときは、このサブフューズセットＳＦＳｎにプログラムされているデータが最新のものとなるため、例えば、パワーオン時に、リードスイッチＲＳＷは、オンとなる。
【０１０１】
なお、サブフューズセットＳＦＳｎにデータがプログラムされていないときは、リードスイッチＲＳＷは、オンとなり得ない。
【０１０２】
(3)   動作  
次に、図１乃至図５におけるフューズ回路の動作について説明する。
【０１０３】
まず、フューズ回路の一般的な動作を説明する。  
図６は、フューズ回路の動作の概要を示している。  
パワーオンにより、例えば、ＬＳＩチップに電源が供給されると、まず、フューズセットの状態が検査される。即ち、フューズセットからフューズデータを読み出すフューズデータリードが実行される。この時、例えば、フューズセット内の一部のフューズ素子に記憶されたイネーブルビットデータも読み出される（ステップＳＴ１〜ＳＴ２）。
【０１０４】
この後、例えば、ＬＳＩチップ内の制御回路又はＬＳＩチップ外のＣＰＵなどからフューズプログラムのためのコマンドが供給されると、フューズプログラムが実行される（ステップＳＴ３）。
【０１０５】
ここで、従来では、フューズプログラムは、１回のみであるか、又は、特殊な制御によりフューズセットを選択し、フューズプログラムを行う必要があるが、本発明の例では、フューズプログラムに関しては、選択動作などの特殊な制御なしに、フューズプログラムのためのコマンドを与えるだけで、自動的に、フューズデータの書き換えを行うことができる。
【０１０６】
以下、具体的に、本発明の例に関わるフューズ回路の動作について説明する。  
なお、図１乃至図５に示すように、１つのフューズセットは、ｎ（ｎは、複数）個のブロック、即ち、ｎ個のサブフューズセットから構成され、各々のサブフューズセットは、１ビットのイネーブルビットデータを記憶する１個のフューズ素子と、ｍ（ｍは、複数）ビットのフューズデータを記憶するｍ個のフューズ素子とから構成されるものとする。
【０１０７】
本発明の例では、フューズデータのリード／プログラム動作の制御及びフューズデータの書き換え動作については、フューズ回路内において、イネーブルビットデータに基づいて自動的に行われる。
【０１０８】
［初期状態］  
まず、初期状態について説明する。
【表１】
2005063535.tif 000003
【０１０９】
表１に示されるように、初期状態、即ち、１つのフューズセットに対して、未だ、１回もフューズプログラム動作を行っていない状態では、全てのサブフューズセットＳＦＳ１，ＳＦＳ２，・・・ＳＦＳｎ内のフューズ素子（例えば、アンチフューズ素子）は、非破壊状態にある。
【０１１０】
このため、例えば、パワーオンによりＬＳＩチップに電源が供給されると、その１つのフューズセット内のサブフューズセットＳＦＳ１，ＳＦＳ２，・・・ＳＦＳｎから、それぞれ、イネーブルビットデータＥｎ１，Ｅｎ２，・・・Ｅｎｎとして、“０”（“Ｌ”レベル）が読み出され、これらがリードデータラッチ回路にラッチされる。
【０１１１】
ここで、最初のサブフューズセットＳＦＳ１を除く、残りの（ｎ−１）個のサブフューズセットＳＦＳ２，・・・ＳＦＳｎでは、図４及び図５に示すアンド回路ＡＤ１，ＡＤ２の出力信号は、全て、“Ｌ”となる。このため、プログラムスイッチＰＳＷ及びリードスイッチＲＳＷは、いずれもオフ状態であり、これらサブフューズセットＳＦＳ２，・・・ＳＦＳｎは、フューズプログラム又はフューズデータリードの対象とはならない。
【０１１２】
一方、最初（１番目）のサブフューズセットＳＦＳ１では、それより前のサブフューズセットが存在しないため、図３に示すアンド回路ＡＤ１に対する入力信号の一つとして、イネーブルビット信号Ｅｎ０が入力される。このイネーブルビット信号Ｅｎ０は、“Ｈ”に固定されているため、サブフューズセットＳＦＳ１では、アンド回路ＡＤ１の出力信号が“Ｈ”になる。このため、プログラムスイッチＰＳＷは、オン状態であり、サブフューズセットＳＦＳ１は、プログラムデータラッチ回路に電気的に接続される。
【０１１３】
なお、この段階では、図３に示すアンドＡＤ２の出力信号は、“Ｌ”であるため、リードスイッチＲＳＷは、オフ状態となっている。
【０１１４】
従って、パワーオン後、例えば、フューズデータをプログラムするためのコマンドがＬＳＩチップに供給され、かつ、イネーブルビットデータＥｎ（“１”）及びプログラムデータ（“０”又は“１”）がＬＳＩチップに供給されると、これらデータは、プログラムデータラッチ回路にラッチされる。
【０１１５】
また、プログラムデータラッチ回路にラッチされたイネーブルビットデータＥｎ及びプログラムデータの値に基づいて、サブフューズセットＳＦＳ１内のフューズ素子ＦＵＳＥに対するプログラミングが実行される。
【０１１６】
つまり、イネーブルビットデータＥｎは、“１”（＝“Ｈ”）であるため、イネーブルビットデータＥｎを記憶するフューズ素子ＦＵＳＥの両端には、高電圧Ｖｆｕｓｅが印加され、その結果、フューズ素子ＦＵＳＥは、破壊される。また、プログラムデータに関しては、“０”又は“１”であるため、“０”のときは、フューズ素子ＦＵＳＥは、未破壊のままとなり、“１”のときは、フューズ素子ＦＵＳＥは、破壊される。
【０１１７】
サブフューズセットＳＦＳ１に対するフューズプログラミングが終了すると、サブフューズセットＳＦＳ１内のイネーブルビットデータＥｎ１の値は、“０”（＝“Ｌ”）から“１”（＝“Ｈ”）に変化する。
【０１１８】
従って、サブフューズセットＳＦＳ１では、図３に示すアンド回路ＡＤ１の出力信号が“Ｈ”から“Ｌ”に変化し、プログラムスイッチＰＳＷは、オフ状態になる。これとほぼ同時に、サブフューズセットＳＦＳ１では、図３に示すアンドＡＤ２の出力信号が“Ｌ”から“Ｈ”に変化し、リードスイッチＲＳＷは、オン状態になる。
【０１１９】
［フューズプログラム（１回目）終了後の初期状態］。  
【表２】
2005063535.tif 000004
【０１２０】
表２に示されるように、フューズプログラム（１回目）終了後の初期状態では、最初のサブフューズセットＳＦＳ１内のフューズ素子（イネーブルビットデータ）は、破壊状態にあり、残りのサブフューズセットＳＦＳ２，・・・ＳＦＳｎ内のフューズ素子（イネーブルビットデータ）は、非破壊状態にある。
【０１２１】
このため、例えば、再度、パワーオンによりＬＳＩチップに電源が供給されると、サブフューズセットＳＦＳ１からは、イネーブルビットデータＥｎ１として、“１”（“Ｈ”レベル）が読み出され、また、サブフューズセットＳＦＳ２，・・・ＳＦＳｎからは、イネーブルビットデータＥｎ２，・・・Ｅｎｎとして、“０”（“Ｌ”レベル）が読み出される。そして、これらデータは、リードデータラッチ回路にラッチされる。
【０１２２】
ここで、最初（１番目）のサブフューズセットＳＦＳ１では、イネーブルビットデータＥｎ０，Ｅｎ１が“Ｈ”であるため、図３に示すアンド回路ＡＤ１の出力信号は、全て、“Ｌ”となる。このため、プログラムスイッチＰＳＷは、オフ状態となる。一方、イネーブルビットデータＥｎ１が“Ｈ”、イネーブルビットデータＥｎ２が“Ｌ”であるため、図３に示すアンドＡＤ２の出力信号は、“Ｈ”となる。このため、リードスイッチＲＳＷは、オン状態となる。
【０１２３】
従って、最初のサブフューズセットＳＦＳ１に関しては、既に、フューズプログラムされているため、フューズプログラムの対象にはならないが、最新のフューズデータを記憶しているため、フューズデータリードの対象となる。
【０１２４】
２番目のサブフューズセットＳＦＳ２では、イネーブルビットデータＥｎ１が“Ｈ”、イネーブルビットデータＥｎ２が“Ｌ”であるため、図４に示すアンドＡＤ１の出力信号は、全て、“Ｈ”となる。このため、プログラムスイッチＰＳＷは、オン状態となる。一方、イネーブルビットデータＥｎ２、Ｅｎ３が“Ｌ”であるため、図４に示すアンドＡＤ２の出力信号は、“Ｌ”となる。このため、リードスイッチＲＳＷは、オフ状態となる。
【０１２５】
従って、２番目のサブフューズセットＳＦＳ２に関しては、フューズプログラムの対象（データ書き換えの対象）になるが、フューズデータリードの対象にはならない。
【０１２６】
３番目以降のサブフューズセットＳＦＳ３，・・・ＳＦＳｎでは、イネーブルビットデータＥｎ２，Ｅｎ３，・・・Ｅｎｎが全て“Ｌ”であるため、図４及び図５に示すアンド回路ＡＤ１，ＡＤ２の出力信号は、全て、“Ｌ”となる。このため、プログラムスイッチＰＳＷ及びリードスイッチＲＳＷは、いずれもオフ状態であり、これらサブフューズセットＳＦＳ３，・・・ＳＦＳｎは、フューズプログラム又はフューズデータリードの対象とはならない。
【０１２７】
従って、パワーオン後、まず、サブフューズセットＳＦＳ１のフューズデータが読み出され、フューズセットの状態が確認される。この時、イネーブルビットデータＥｎ０，Ｅｎ１が“Ｈ”、イネーブルビットデータＥｎ２，・・・Ｅｎｎが“Ｌ”に確定し、サブフューズセットＳＦＳ２がプログラムデータラッチ回路に電気的に接続される。
【０１２８】
この後、例えば、フューズデータをプログラムするためのコマンドがＬＳＩチップに供給され、かつ、イネーブルビットデータＥｎ（“１”）及びプログラムデータ（“０”又は“１”）がＬＳＩチップに供給されると、これらデータは、プログラムデータラッチ回路にラッチされる。
【０１２９】
また、プログラムデータラッチ回路にラッチされたイネーブルビットデータＥｎ及びプログラムデータの値に基づいて、サブフューズセットＳＦＳ２内のフューズ素子ＦＵＳＥに対するプログラミングが実行される。
【０１３０】
つまり、イネーブルビットデータＥｎは、“１”（＝“Ｈ”）であるため、イネーブルビットデータＥｎを記憶するフューズ素子ＦＵＳＥの両端には、高電圧Ｖｆｕｓｅが印加され、その結果、フューズ素子ＦＵＳＥは、破壊される。また、プログラムデータに関しては、“０”又は“１”であるため、“０”のときは、フューズ素子ＦＵＳＥは、未破壊のままとなり、“１”のときは、フューズ素子ＦＵＳＥは、破壊される。
【０１３１】
サブフューズセットＳＦＳ２に対するフューズプログラミングが終了すると、サブフューズセットＳＦＳ２内のイネーブルビットデータＥｎ２の値は、“０”（＝“Ｌ”）から“１”（＝“Ｈ”）に変化する。
【０１３２】
従って、サブフューズセットＳＦＳ２では、図４に示すアンド回路ＡＤ１の出力信号が“Ｈ”から“Ｌ”に変化し、プログラムスイッチＰＳＷは、オフ状態になる。これとほぼ同時に、サブフューズセットＳＦＳ２では、図４に示すアンドＡＤ２の出力信号が“Ｌ”から“Ｈ”に変化し、リードスイッチＲＳＷは、オン状態になる。
【０１３３】
［フューズプログラム（２回目）終了後の初期状態］。  
【表３】
2005063535.tif 000005
【０１３４】
表３に示されるように、フューズプログラム（２回目）終了後の初期状態では、サブフューズセットＳＦＳ１，ＳＦＳ２内のフューズ素子（イネーブルビットデータ）は、破壊状態にあり、残りのサブフューズセットＳＦＳ３，・・・ＳＦＳｎ内のフューズ素子（イネーブルビットデータ）は、非破壊状態にある。
【０１３５】
このため、例えば、再度、パワーオンによりＬＳＩチップに電源が供給されると、サブフューズセットＳＦＳ１，ＳＦＳ２からは、イネーブルビットデータＥｎ１，Ｅｎ２として、“１”（“Ｈ”レベル）が読み出され、また、サブフューズセットＳＦＳ３，・・・ＳＦＳｎからは、イネーブルビットデータＥｎ３，・・・Ｅｎｎとして、“０”（“Ｌ”レベル）が読み出される。そして、これらデータは、リードデータラッチ回路にラッチされる。
【０１３６】
この場合の動作は、「フューズプログラム（２回目）終了後の初期状態」の欄で説明したのと同じとなるため、詳細な説明は、省略する。ただ、ここでは、サブフューズセットＳＦＳ２に最新のプログラムデータが記憶されているため、サブフューズセットＳＦＳ２のリードスイッチＲＳＷがオン状態となる。また、データ書き換えにより、新たにプログラムデータをフューズ素子に記憶させるときは、サブフューズセットＳＦＳ３がプログラムの対象となる。従って、サブフューズセットＳＦＳ３内のプログラムスイッチＰＳＷがオンとなる。
【０１３７】
［フューズプログラム（ｎ回目）終了後の初期状態］。  
【表４】
2005063535.tif 000006
【０１３８】
表４に示されるように、フューズプログラム（ｎ回目）終了後の初期状態では、全てのサブフューズセットＳＦＳ１，ＳＦＳ２，・・・ＳＦＳｎ内のフューズ素子（イネーブルビットデータ）は、破壊状態にある。
【０１３９】
このため、例えば、パワーオンによりＬＳＩチップに電源が供給されると、サブフューズセットＳＦＳ１，ＳＦＳ２，・・・ＳＦＳｎからは、イネーブルビットデータＥｎ１，Ｅｎ２，・・・Ｅｎｎとして、“１”（“Ｈ”レベル）が読み出される。そして、これらデータは、リードデータラッチ回路にラッチされる。
【０１４０】
ここで、サブフューズセットＳＦＳｎの次のサブフューズセットは存在しないため、本発明の例に関わるフューズ回路のデータ書き換え回数は、最大でｎ回となる。また、サブフューズセットＳＦＳｎの次のサブフューズセットは存在しないため、図５に示すように、イネーブルビットデータＥｎ（ｎ＋１）として、“Ｌ”（固定）の反転信号、即ち、“Ｈ”を、サブフューズセットＳＦＳｎ内のアンド回路ＡＤ２に与える。従って、サブフューズセットＳＦＳｎ内のリードスイッチＲＳＷがオン状態となる。
【０１４１】
(4)   まとめ  
このように、本発明の例に関わるフューズ回路では、１つのフューズセットをｎ（ｎは、複数）個のサブフューズセットから構成することで、ｎ回のフューズデータの書き換えを可能にする。
【０１４２】
また、このような構成にしても、フューズデータのリード／プログラム又は書き換えは、フューズデータをフューズ回路に入力するだけで、特殊な制御なく、自動的かつ容易に行うことができる。
【０１４３】
つまり、プログラムに関しては、サブフューズセット内のイネーブルビットデータの値をフューズ回路内でフィードバックさせることにより、どのサブフューズセットにデータを書き込んだらよいかを自動的に決めることができる。また、リードに関しても、サブフューズセット内のイネーブルビットデータの値をフューズ回路内でフィードバックさせることにより、どのサブフューズセットからデータを読み出したらよいかを自動的に決めることができる。
【０１４４】
以上をまとめると、本発明の例に関わるフューズ回路では、フューズセットに対するプログラムは、最大でｎ回行うことができ、かつ、データ書き換えを行う度に、プログラミングの対象は、サブフューズセットＳＦＳ１からサブフューズセットＳＦＳｎに向かって、１つずつ、順次、ずれていく。
【０１４５】
このような動作の制御は、フューズ回路内でのみ行われるため、例えば、このフューズ回路にプログラムデータを与える制御回路から見ると、フューズ回路には、プログラムデータを与えるだけでよく、実質的に、１回のみしかプログラムを行えない従来のフューズセットに対するプログラム手法をそのまま適用できる。
【０１４６】
つまり、本発明の例に関わるフューズ回路では、ｎ個のサブフューズセットのうち、どのサブフューズセットに対してプログラミングを実行し、どのフューズセットに対してフューズデータのリードを行うかは、フューズ回路内で自動的に行われるため、データ書き換えのための特殊な制御は、不要である。
【０１４７】
なお、本例では、全てのサブフューズセットＳＦＳ１，ＳＦＳ２，・・・ＳＦＳｎのレイアウトを同じにするため、最初のサブフューズセットＳＦＳ１では、“Ｈ”に固定されたイネーブルビットデータＥｎ０を使用し、かつ、最後のサブフューズセットＳＦＳｎでは、“Ｌ”に固定されたイネーブルビットデータＥｎ（ｎ＋１）を使用している。
【０１４８】
しかし、最初のサブフューズセットＳＦＳ１では、イネーブルビットデータＥｎ０をなくし、アンド回路ＡＤ１に入力される信号を２つとし、また、最後のサブフューズセットＳＦＳｎでは、イネーブルビットデータＥｎ（ｎ＋１）をなくし、アンド回路ＡＤ２に入力される信号を２つとしてもよい。
【０１４９】
４．  第２実施例  
第２実施例は、上述の第１実施例と比べると、プログラムに関する回路については同じであるが、フューズデータのリードに関する回路が大きく異なっている。そのポイントは、フューズデータに対するリードデータラッチ回路を、ｎ（ｎは、複数）個のサブフューズセットで共有化した点にある。
【０１５０】
第１実施例では、サブフューズセットごとに、フューズデータに対するリードデータラッチ回路を設けているが、この場合、サブフューズセットの数、即ち、データ書き換え回数の最大値が大きくなればなる程、リードデータラッチ回路の数も増え、フューズ回路のレイアウト面積が大きくなる。
【０１５１】
そこで、フューズ回路のレイアウト面積の増大を抑えるため、第２実施例では、リードデータラッチ回路を、ｎ個のサブフューズセットに対して、共通に、１個だけ設ける。そして、どのサブフューズセットをリードデータラッチ回路に電気的に接続するかは、第１実施例と同様に、フューズ回路内のリード制御回路により決定する。
【０１５２】
なお、第２実施例においても、共通化できるのは、内部回路で使用するデータに対するリードデータラッチ回路であり、サブフューズセットが有効か否かを示すイネーブルビットデータに対するリードデータラッチ回路は、サブフューズセットごとに、個別に設ける必要がある。
【０１５３】
なぜなら、本発明の例に関わるフューズ回路では、イネーブルビットデータの値に基づいて、データの書き換え動作、即ち、どのサブフューズセットに対してプログラムを実行し、どのサブフューズセットからフューズデータを読み出すか、を制御しているからである。
【０１５４】
つまり、本発明の例に関わるフューズ回路では、パワーオン後、全てのサブフューズセット内のイネーブルビットデータの値を直ちに認識する必要があるため、イネーブルビットデータに対するリードデータラッチ回路に関しては、サブフューズセットごとに、個別に設けておく。
【０１５５】
なお、第１実施例では、パワーオン時におけるフューズデータの読み出し動作、即ち、リードデータラッチ回路へのラッチ動作が１回で済むのに対して、第２実施例では、パワーオン時におけるフューズデータの読み出し動作、即ち、リードデータラッチ回路へのラッチ動作が２回必要になる。
【０１５６】
具体的には、第１実施例では、パワーオン時に、全てのサブフューズセットのフューズデータを一度ラッチしておき（１回のみの読み出し）、この後、イネーブルビットデータに基づいて、選択されたサブフューズセットのみからフューズデータを出力する、ということが可能である。
【０１５７】
しかし、第２実施例では、パワーオン後、まず、イネーブルビットデータをラッチし、サブフューズセットの選択を行う必要がある（１回目の読み出し）。この後、選択されたサブフューズセットのフューズデータをラッチし、かつ、出力する（２回目の読み出し）、という動作が必要である。
【０１５８】
以下、第２実施例に関わるフューズ回路について詳細に説明する。
【０１５９】
(1)   フューズセット  
図７は、本発明の第２実施例に関わるフューズ回路の主要部を示している。
【０１６０】
同図に示す構成は、図１の１つのフューズセットに対応している。１つのフューズセットは、ｎ（ｎは、複数）個のフューズブロックＢＬＫ１，ＢＬＫ２，・・・ＢＬＫｎを有する。また、各フューズブロックＢＬＫｉ（ｉ＝１，２，・・・ｎ）は、（ｍ＋１）個のフューズ素子（ｍは、複数）から構成されるサブフューズセットＳＦＳｉと、このサブフューズセットＳＦＳｉに対応して設けられる（ｍ＋１）個のプログラム制御回路ＰＣＮＴｉ及びイネーブルビットデータをラッチするための１個のリードデータラッチ回路ＲＤＬ（Ｅｎｉ）とを有する。
【０１６１】
また、各フューズブロックＢＬＫｉは、リード制御回路ＲＣＮＴｉを有している。リード制御回路ＲＣＮＴｉは、イネーブルビットデータを除く、ｍビットのフューズデータを記憶するｍ個のサブフューズセットＳＦＳｉに対応して、ｍ個だけ設けられる。
【０１６２】
さらに、本例では、１つのフューズセットは、ｎ個のフューズブロックＢＬＫ１，ＢＬＫ２，・・・ＢＬＫｎに共有されるリードデータラッチ回路ＲＤＬを有している。リードデータラッチ回路ＲＤＬは、リード制御回路ＲＣＮＴｉにより選択された１個のフューズブロックＢＬＫｉに対して、イネーブルビットデータを除く、ｍビットのフューズデータをラッチする。
【０１６３】
プログラムデータラッチ回路ＰＤＬは、イネーブルビットデータＥｎ及びプログラムデータＤｉｎ１，Ｄｉｎ２，・・・Ｄｉｎｍを一時的にラッチする。これら入力データＥｎ，Ｄｉｎ１，Ｄｉｎ２，・・・Ｄｉｎｍは、選択された１個のフューズブロックＢＬＫｉに転送される。
【０１６４】
ここで、ｎ個のフューズブロックＢＬＫ１，ＢＬＫ２，・・・ＢＬＫｎは、直列接続される。そして、プログラム制御回路ＰＣＮＴ１，ＰＣＮＴ２，・・・ＰＣＮＴｎは、イネーブルビットデータに基づいて、ｎ個のフューズブロックＢＬＫ１，ＢＬＫ２，・・・ＢＬＫｎのうちから、プログラミングの対象となる１個のフューズブロックＢＬＫｊを選択する。
【０１６５】
即ち、ｉ（ｉ＝１，２、・・・ｎ）番目のフューズブロックＢＬＫｉでは、プログラム制御回路ＰＣＮＴｉは、フューズブロックＢＬＫｉ内のイネーブルビットデータＥｎｉの値と、１つ前の（ｉ−１）番目のフューズブロックＢＬＫ（ｉ−１）内のイネーブルビットデータＥｎ（ｉ−１）の値とに基づいて、データプログラムに関し、フューズブロックＢＬＫｉの選択／非選択を決定する。
【０１６６】
但し、最初（１番目）のフューズブロックＢＬＫ１では、１つ前のフューズブロックが存在しない。また、最初にプログラムの対象となるフューズブロックは、フューズブロックＢＬＫ１である。そこで、最初のフューズブロックＢＬＫ１では、プログラム制御回路ＰＣＮＴ１は、フューズブロックＢＬＫ１内のイネーブルビットデータＥｎ１の値と、入力データＥｎ０の値（“Ｈ”固定）とに基づいて、フューズブロックＢＬＫ１の選択／非選択を決定する。
【０１６７】
なお、各フューズブロックＢＬＫｉ内のイネーブルビットデータＥｎｉは、例えば、パワーオンの後、直ちに、リードラッチ回路ＲＤＬ（Ｅｎｉ）にラッチされ、イネーブルビットデータＥｎｉとして、各フューズブロックＢＬＫｉにフィードバックされる。
【０１６８】
また、リード制御回路ＲＣＮＴ１，ＲＣＮＴ２，・・・ＲＣＮＴｎは、イネーブルビットデータに基づいて、ｎ個のフューズブロックＢＬＫ１，ＢＬＫ２，・・・ＢＬＫｎのうちから、データリードの対象となる１個のフューズブロックＢＬＫｊを選択する。
【０１６９】
即ち、ｉ（ｉ＝１，２、・・・ｎ）番目のフューズブロックＢＬＫｉでは、リード制御回路ＲＣＮＴｉは、フューズブロックＢＬＫｉ内のイネーブルビットデータＥｎｉの値と、１つ後の（ｉ＋１）番目のフューズブロックＢＬＫ（ｉ＋１）内のイネーブルビットデータＥｎ（ｉ＋１）の値とに基づいて、データリードに関し、フューズブロックＢＬＫｉの選択／非選択を決定する。
【０１７０】
但し、最後（ｎ番目）のフューズブロックＢＬＫｎでは、１つ後のフューズブロックが存在しない。また、フューズブロックＢＬＫｎは、最後にプログラムの対象となるフューズブロックである。そこで、最後のフューズブロックＢＬＫｎでは、リード制御回路ＲＣＮＴｎは、フューズブロックＢＬＫｎ内のイネーブルビットデータＥｎｎの値と、入力データＥｎ（ｎ＋１）の値（“Ｌ”固定）とに基づいて、フューズブロックＢＬＫｎの選択／非選択を決定する。
【０１７１】
選択された１個のフューズブロックＢＬＫｉからは、フューズデータが出力される。このフューズデータは、全てのブロックＢＬＫ１，ＢＬＫ２，・・・ＢＬＫｎで共有化されたリードデータラッチ回路ＲＤＬに転送され、そこにラッチされる。
【０１７２】
(2)   回路例  
図８乃至図１１は、図７のフューズセットを構成するブロックＢＬＫｉの回路例を示している。
【０１７３】
[1]   ブロックＢＬＫ１  
図８は、ブロックＢＬＫ１の回路例である。  
1.    プログラムデータラッチ回路  
プログラムデータラッチ回路ＰＤＬ（Ｅｎ）は、イネーブルビットデータＥｎをラッチする。プログラムデータラッチ回路ＰＤＬ（Ｄｉｎ１），・・・ＰＤＬ（Ｄｉｎｍ）は、ｍビットのプログラムデータＤｉｎ１，・・・Ｄｉｎｍに対応してｍ個だけ設けられ、かつ、プログラムデータＤｉｎ１，・・・Ｄｉｎｍをラッチする。
【０１７４】
プログラムデータラッチ回路ＰＤＬ（Ｅｎ），ＰＤＬ（Ｄｉｎ１），・・・ＰＤＬ（Ｄｉｎｍ）は、全て、同じ回路構成を有している。
【０１７５】
インバータＩ１及びクロックドインバータＣＩ１により、ラッチ回路が構成される。ラッチ回路の出力信号は、ノア回路ＮＲ１の一方の入力端子に入力される。ノア回路ＮＲ１の他方の入力端子には、プログラム信号ＰＲＯＧの反転信号ｂＰＲＯＧが入力される。
【０１７６】
プログラム時には、プログラム信号ＰＲＯＧが“Ｈ”となり、かつ、その反転信号が“Ｌ”となる。このため、プログラム時には、ノア回路ＮＲ１は、ラッチ回路にラッチされたデータに応じた出力信号を出力する。
【０１７７】
例えば、ラッチ回路にラッチされたデータが“１”、即ち、クロックドインバータＣＩ１の出力信号が“Ｌ”のときは、ノア回路ＮＲ１の出力信号は、“Ｈ”となる。その結果、ＮチャネルＭＯＳトランジスタＮ１は、オンになる。また、ラッチ回路にラッチされたデータが“０”、即ち、クロックドインバータＣＩ１の出力信号が“Ｈ”のときは、ノア回路ＮＲ１の出力信号は、“Ｌ”となる。その結果、ＮチャネルＭＯＳトランジスタＮ１は、オフになる。
【０１７８】
2.    プログラム制御回路  
プログラム制御回路ＰＣＮＴ１は、アンド回路ＡＤ１とプログラムスイッチＰＳＷとから構成される。
【０１７９】
アンド回路ＡＤ１には、フューズセットの選択信号ＳＥＬ１、イネーブルビットデータＥｎ０（“Ｈ”固定）及びイネーブルビットデータＥｎ１の反転信号が、それぞれ入力される。フューズセットの選択信号ＳＥＬ１は、例えば、図１及び図７に示すように、フューズセット１に対するプログラミングを実行するときに、“Ｈ”となる。イネーブルビットデータＥｎ１は、サブフューズセットＳＦＳ１に対するプログラミング前においては、“Ｌ”、即ち、リードデータラッチ回路ＲＤＬ１（Ｅｎ１）の出力信号は、“Ｌ”（アンチフューズの絶縁体が未破壊状態）となっている。
【０１８０】
従って、選択信号ＳＥＬ１が“Ｈ”になると、アンド回路ＡＤ１の出力信号は、“Ｈ”となる。また、プログラムスイッチＰＳＷは、ＮチャネルＭＯＳトランジスタであるため、アンド回路ＡＤ１の出力信号が“Ｈ”になると、オンになる。つまり、サブフューズセットＳＦＳ１を構成するフューズ素子ＦＵＳＥの一端が、プログラムデータラッチ回路ＰＤＬ（Ｅｎ），ＰＤＬ（Ｄｉｎ１），・・・ＰＤＬ（Ｄｉｎｍ）に電気的に接続される。
【０１８１】
ここで、プログラム時、例えば、プログラムデータが“１”のときは、ＮチャネルＭＯＳトランジスタＮ１，ＰＳＷが、共に、オンとなるため、フューズ素子ＦＵＳＥの両端には、高電圧Ｖｆｕｓｅが印加される。その結果、例えば、フューズ素子（アンチフューズ）ＦＵＳＥを構成する絶縁体が破壊され、データ“１”がプログラミングされる。
【０１８２】
また、例えば、プログラムデータが“０”のときは、ＮチャネルＭＯＳトランジスタＰＳＷは、オンであるが、ＮチャネルＭＯＳトランジスタＮ１は、オフとなるため、フューズ素子ＦＵＳＥの両端には、高電圧Ｖｆｕｓｅが印加されない。その結果、例えば、フューズ素子（アンチフューズ）ＦＵＳＥを構成する絶縁体が破壊されず、データ“０”がプログラミングされる。
【０１８３】
3.    リードデータラッチ回路  
イネーブルビットデータＥｎ１をラッチするためのリードデータラッチ回路ＲＤＬ（Ｅｎ１）は、フューズ素子ＦＵＳＥに対応して、１個だけ設けられる。また、イネーブルビットデータＥｎ１を除く、残りのｍビットのフューズデータをラッチするためのリードデータラッチ回路ＲＤＬ（Ｄｏｕｔ１），ＲＤＬ（Ｄｏｕｔ２），・・・ＲＤＬ（Ｄｏｕｔｍ）は、ｍ個のフューズ素子ＦＵＳＥに対応して、ｍ個だけ設けられる。
【０１８４】
但し、リードデータラッチ回路ＲＤＬ（Ｄｏｕｔ１），ＲＤＬ（Ｄｏｕｔ２），・・・ＲＤＬ（Ｄｏｕｔｍ）は、上述したように、１つのフューズセット内の複数のブロックに対して、共通に、１個だけ設けられる。
【０１８５】
リードデータラッチ回路ＲＤＬ（Ｅｎ１），ＲＤＬ（Ｄｏｕｔ１），・・・ＲＤＬ（Ｄｏｕｔｍ）の回路構成については、例えば、図１９に示すようになる。リードデータラッチ回路ＲＤＬ（Ｅｎ１），ＲＤＬ（Ｄｏｕｔ１），・・・ＲＤＬ（Ｄｏｕｔｍ）の回路構成については、既に、図１９の説明において詳細に述べたため、ここでは、その説明については、省略する。
【０１８６】
4.    リード制御回路  
リード制御回路ＲＣＮＴ１は、アンド回路ＡＤ２とリードスイッチＲＳＷとから構成される。リード制御回路ＲＣＮＴ１は、フューズデータＤｉｎ１，・・・Ｄｉｎｍがプログラムされるｍ個のフューズ素子ＦＵＳＥに対応して、ｍ個だけ設けられている。つまり、本例では、イネーブルビットＥｎ１がプログラムされるフューズ素子ＦＵＳＥに対応するリード制御回路は、存在しない。
【０１８７】
但し、イネーブルビットＥｎ１がプログラムされるフューズ素子ＦＵＳＥに対応するリード制御回路を設けても構わない。
【０１８８】
アンド回路ＡＤ２には、リセット信号ＲＳＴの反転信号、イネーブルビットデータＥｎ１及びイネーブルビットデータＥｎ２の反転信号が、それぞれ入力される。リセット信号ＲＳＴは、例えば、パワーオン時に、一時的に“Ｈ”となり、その後、“Ｌ”を維持し続ける。
【０１８９】
イネーブルビットデータＥｎ１は、サブフューズセットＳＦＳ１に対するプログラミング前においては、“Ｌ”であり、サブフューズセットＳＦＳ１に対するプログラミング後においては、“Ｈ”である。イネーブルビットデータＥｎ２は、サブフューズセットＳＦＳ２に対するプログラミング前においては、“Ｌ”であり、サブフューズセットＳＦＳ２に対するプログラミング後においては、“Ｈ”である。
【０１９０】
つまり、サブフューズセットＳＦＳ１にデータがプログラムされ、サブフューズセットＳＦＳ２にデータがプログラムされていないときは、サブフューズセットＳＦＳ１にプログラムされているデータが最新のものとなり、例えば、パワーオン時に、リードスイッチＲＳＷは、オンとなる。
【０１９１】
また、サブフューズセットＳＦＳ１，ＳＦＳ２のいずれにも、データがプログラムされていないときは、リードスイッチＲＳＷは、オンとなり得ない。サブフューズセットＳＦＳ１，ＳＦＳ２の双方にデータがプログラムされているときは、サブフューズセットＳＦＳ２にプログラムされているデータが最新のものとなるため、リードスイッチＲＳＷは、オンとなり得ない。
【０１９２】
[2]   ブロックＢＬＫｉ（ｉ＝２，３，・・・ｎ−１）  
図９は、ブロックＢＬＫｉの回路例である。  
1.    プログラムデータラッチ回路  
プログラムデータラッチ回路ＰＤＬ（Ｅｎ），ＰＤＬ（Ｄｉｎ１），・・・ＰＤＬ（Ｄｉｎｍ）の構成については、既に、ブロックＢＬＫ１の項目において説明したため、ここでは、その説明を省略する。
【０１９３】
2.    プログラム制御回路  
プログラム制御回路ＰＣＮＴ１は、アンド回路ＡＤ１とプログラムスイッチＰＳＷとから構成される。
【０１９４】
アンド回路ＡＤ１には、フューズセットの選択信号ＳＥＬ１、イネーブルビットデータＥｎ（ｉ−１）及びイネーブルビットデータＥｎｉの反転信号が、それぞれ入力される。フューズセットの選択信号ＳＥＬ１は、既に説明したように、フューズセット１に対するプログラミングを実行するときに、“Ｈ”となる。
【０１９５】
イネーブルビットデータＥｎ（ｉ−１）は、サブフューズセットＳＦＳ（ｉ−１）に対するプログラミング前においては、“Ｌ”であり、サブフューズセットＳＦＳ（ｉ−１）に対するプログラミング後においては、“Ｈ”である。また、イネーブルビットデータＥｎｉは、サブフューズセットＳＦＳｉに対するプログラミング前においては、“Ｌ”であり、サブフューズセットＳＦＳｉに対するプログラミング後においては、“Ｈ”である。
【０１９６】
つまり、アンド回路ＡＤ１の出力信号は、サブフューズセットＳＦＳ（ｉ−１）に対するプログラミング後であって、サブフューズセットＳＦＳｉに対するプログラミング前において、“Ｈ”となり得る。
【０１９７】
アンド回路ＡＤ１の出力信号が“Ｈ”になると、プログラムスイッチＰＳＷとしてのＮチャネルＭＯＳトランジスタは、オンになる。つまり、サブフューズセットＳＦＳｉを構成するフューズ素子ＦＵＳＥの一端が、プログラムデータラッチ回路ＰＤＬ（Ｅｎ），ＰＤＬ（Ｄｉｎ１），・・・ＰＤＬ（Ｄｉｎｍ）に電気的に接続される。
【０１９８】
3.    リードデータラッチ回路  
リードデータラッチ回路ＲＤＬ（Ｅｎｉ），ＲＤＬ（Ｄｏｕｔ１），・・・ＲＤＬ（Ｄｏｕｔｍ）は、（ｍ＋１）個のフューズ素子ＦＵＳＥに対応して、（ｍ＋１）個だけ設けられている。但し、上述したように、イネーブルビットデータＥｎｉを除く、他のｍビットのフューズデータをラッチするためのｍ個のリードデータラッチ回路ＲＤＬ（Ｄｏｕｔ１），ＲＤＬ（Ｄｏｕｔ２），・・・ＲＤＬ（Ｄｏｕｔｍ）については、１つのフューズセット内の複数のブロックに共有化される。
【０１９９】
リードデータラッチ回路ＲＤＬ（Ｅｎｉ），ＲＤＬ（Ｄｏｕｔ１），・・・ＲＤＬ（Ｄｏｕｔｍ）の回路構成については、既に説明したため、ここでは、その説明については、省略する。
【０２００】
4.    リード制御回路  
リード制御回路ＲＣＮＴｉは、アンド回路ＡＤ２とリードスイッチＲＳＷとから構成される。リード制御回路ＲＣＮＴｉは、フューズデータＤｉｎ１，・・・Ｄｉｎｍがプログラムされるｍ個のフューズ素子ＦＵＳＥに対応して、ｍ個だけ設けられている。
【０２０１】
アンド回路ＡＤ２には、リセット信号ＲＳＴの反転信号、イネーブルビットデータＥｎｉ及びイネーブルビットデータＥｎ（ｉ＋１）の反転信号が、それぞれ入力される。リセット信号ＲＳＴは、例えば、パワーオン時に、一時的に“Ｈ”となり、その後、“Ｌ”を維持し続ける。
【０２０２】
イネーブルビットデータＥｎｉは、サブフューズセットＳＦＳｉに対するプログラミング前においては、“Ｌ”であり、サブフューズセットＳＦＳｉに対するプログラミング後においては、“Ｈ”である。イネーブルビットデータＥｎ（ｉ＋１）は、サブフューズセットＳＦＳ（ｉ＋１）に対するプログラミング前においては、“Ｌ”であり、サブフューズセットＳＦＳ（ｉ＋１）に対するプログラミング後においては、“Ｈ”である。
【０２０３】
つまり、サブフューズセットＳＦＳｉにデータがプログラムされ、サブフューズセットＳＦＳ（ｉ＋１）にデータがプログラムされていないときは、サブフューズセットＳＦＳｉにプログラムされているデータが最新のものとなり、例えば、パワーオン時に、リードスイッチＲＳＷは、オンとなる。
【０２０４】
また、サブフューズセットＳＦＳｉ，ＳＦＳ（ｉ＋１）のいずれにも、データがプログラムされていないときは、リードスイッチＲＳＷは、オンとなり得ない。サブフューズセットＳＦＳｉ，ＳＦＳ（ｉ＋１）の双方にデータがプログラムされているときは、サブフューズセットＳＦＳ（ｉ＋１）にプログラムされているデータが最新のものとなるため、リードスイッチＲＳＷは、オンとなり得ない。
【０２０５】
[3]   ブロックＢＬＫｎ  
図１０は、ブロックＢＬＫｎの回路例である。  
1.    プログラムデータラッチ回路  
プログラムデータラッチ回路ＰＤＬ（Ｅｎ），ＰＤＬ（Ｄｉｎ１），・・・ＰＤＬ（Ｄｉｎｍ）の構成については、既に、ブロックＢＬＫ１の項目において説明したため、ここでは、その説明を省略する。
【０２０６】
2.    プログラム制御回路  
プログラム制御回路ＰＣＮＴ１は、アンド回路ＡＤ１とプログラムスイッチＰＳＷとから構成される。
【０２０７】
アンド回路ＡＤ１には、フューズセットの選択信号ＳＥＬ１、イネーブルビットデータＥｎ（ｎ−１）及びイネーブルビットデータＥｎｎの反転信号が、それぞれ入力される。フューズセットの選択信号ＳＥＬ１は、既に説明したように、フューズセット１に対するプログラミングを実行するときに、“Ｈ”となる。
【０２０８】
イネーブルビットデータＥｎ（ｎ−１）は、サブフューズセットＳＦＳ（ｎ−１）に対するプログラミング前においては、“Ｌ”であり、サブフューズセットＳＦＳ（ｎ−１）に対するプログラミング後においては、“Ｈ”である。また、イネーブルビットデータＥｎｎは、サブフューズセットＳＦＳｎに対するプログラミング前においては、“Ｌ”であり、サブフューズセットＳＦＳｎに対するプログラミング後においては、“Ｈ”である。
【０２０９】
つまり、アンド回路ＡＤ１の出力信号は、サブフューズセットＳＦＳ（ｎ−１）に対するプログラミング後であって、サブフューズセットＳＦＳｎに対するプログラミング前において、“Ｈ”となり得る。
【０２１０】
アンド回路ＡＤ１の出力信号が“Ｈ”になると、プログラムスイッチＰＳＷとしてのＮチャネルＭＯＳトランジスタは、オンになる。つまり、サブフューズセットＳＦＳｎを構成するフューズ素子ＦＵＳＥの一端が、プログラムデータラッチ回路ＰＤＬ（Ｅｎ），ＰＤＬ（Ｄｉｎ１），・・・ＰＤＬ（Ｄｉｎｍ）に電気的に接続される。
【０２１１】
3.    リードデータラッチ回路  
リードデータラッチ回路ＲＤＬ（Ｅｎｎ），ＲＤＬ（Ｄｏｕｔ１），・・・ＲＤＬ（Ｄｏｕｔｍ）は、（ｍ＋１）個のフューズ素子ＦＵＳＥに対応して、（ｍ＋１）個だけ設けられている。但し、上述したように、イネーブルビットデータＥｎｉを除く、他のｍビットのフューズデータをラッチするためのｍ個のリードデータラッチ回路ＲＤＬ（Ｄｏｕｔ１），ＲＤＬ（Ｄｏｕｔ２），・・・ＲＤＬ（Ｄｏｕｔｍ）については、１つのフューズセット内の複数のブロックに共有化される。
【０２１２】
リードデータラッチ回路ＲＤＬ（Ｅｎｉ），ＲＤＬ（Ｄｏｕｔ１），・・・ＲＤＬ（Ｄｏｕｔｍ）の回路構成については、既に説明したため、ここでは、その説明については、省略する。
【０２１３】
4.    リード制御回路  
リード制御回路ＲＣＮＴｎは、アンド回路ＡＤ２とリードスイッチＲＳＷとから構成される。リード制御回路ＲＣＮＴｎは、フューズデータＤｉｎ１，・・・Ｄｉｎｍがプログラムされるｍ個のフューズ素子ＦＵＳＥに対応して、ｍ個だけ設けられている。
【０２１４】
アンド回路ＡＤ２には、リセット信号ＲＳＴの反転信号、イネーブルビットデータＥｎｎ及びイネーブルビットデータＥｎ（ｎ＋１）の反転信号が、それぞれ入力される。リセット信号ＲＳＴは、例えば、パワーオン時に、一時的に“Ｈ”となり、その後、“Ｌ”を維持し続ける。
【０２１５】
イネーブルビットデータＥｎｎは、サブフューズセットＳＦＳｎに対するプログラミング前においては、“Ｌ”であり、サブフューズセットＳＦＳｎに対するプログラミング後においては、“Ｈ”である。イネーブルビットデータＥｎ（ｎ＋１）は、常に、“Ｌ”に固定されている。
【０２１６】
つまり、サブフューズセットＳＦＳｎにデータがプログラムされているときは、このサブフューズセットＳＦＳｎにプログラムされているデータが最新のものとなるため、例えば、パワーオン時に、リードスイッチＲＳＷは、オンとなる。
【０２１７】
なお、サブフューズセットＳＦＳｎにデータがプログラムされていないときは、リードスイッチＲＳＷは、オンとなり得ない。
【０２１８】
(3)   動作  
次に、図７乃至図１０におけるフューズ回路の動作について説明する。  
第２実施例に関わるフューズ回路の動作は、全体としては、第１実施例に関わるフューズ回路の動作とほぼ同じであるが、パワーオン時におけるフューズデータのラッチ動作が２回になる点が異なる。
【０２１９】
以下、具体的に、本発明の例に関わるフューズ回路の動作について説明する。  
なお、図７乃至図１０に示すように、１つのフューズセットは、ｎ（ｎは、複数）個のブロック、即ち、ｎ個のサブフューズセットから構成され、各々のサブフューズセットは、１ビットのイネーブルビットデータを記憶する１個のフューズ素子と、ｍ（ｍは、複数）ビットのフューズデータを記憶するｍ個のフューズ素子とから構成されるものとする。
【０２２０】
［初期状態］  
初期状態、即ち、１つのフューズセットに対して、未だ、１回もフューズプログラム動作を行っていない状態では、全てのサブフューズセットＳＦＳ１，ＳＦＳ２，・・・ＳＦＳｎ内のフューズ素子（例えば、アンチフューズ素子）は、非破壊状態にある。
【０２２１】
このため、例えば、パワーオンによりＬＳＩチップに電源が供給されると、その１つのフューズセット内のサブフューズセットＳＦＳ１，ＳＦＳ２，・・・ＳＦＳｎから、それぞれ、イネーブルビットデータＥｎ１，Ｅｎ２，・・・Ｅｎｎとして、“０”（“Ｌ”レベル）が読み出され、これらがリードデータラッチ回路ＲＤＬ（Ｅｎ１），ＲＤＬ（Ｅｎ２），・・・ＲＤＬ（Ｅｎｎ）にラッチされる（１回目のラッチ動作）。
【０２２２】
ここで、最初のサブフューズセットＳＦＳ１を除く、残りの（ｎ−１）個のサブフューズセットＳＦＳ２，・・・ＳＦＳｎでは、図９及び図１０に示すアンド回路ＡＤ１，ＡＤ２の出力信号は、全て、“Ｌ”となる。このため、プログラムスイッチＰＳＷ及びリードスイッチＲＳＷは、いずれもオフ状態であり、これらサブフューズセットＳＦＳ２，・・・ＳＦＳｎは、フューズプログラム又はフューズデータリードの対象とはならない。
【０２２３】
一方、最初（１番目）のサブフューズセットＳＦＳ１では、それより前のサブフューズセットが存在しないため、図８に示すアンド回路ＡＤ１に対する入力信号の一つとして、イネーブルビット信号Ｅｎ０が入力される。このイネーブルビット信号Ｅｎ０は、“Ｈ”に固定されているため、サブフューズセットＳＦＳ１では、アンド回路ＡＤ１の出力信号が“Ｈ”になる。このため、プログラムスイッチＰＳＷは、オン状態であり、サブフューズセットＳＦＳ１は、プログラムデータラッチ回路に電気的に接続される。
【０２２４】
なお、この段階では、図８に示すアンドＡＤ２の出力信号は、“Ｌ”であるため、リードスイッチＲＳＷは、オフ状態となっている。
【０２２５】
イネーブルビットデータＥｎ１，Ｅｎ２，・・・Ｅｎｎがリードデータラッチ回路ＲＤＬ（Ｅｎ１），ＲＤＬ（Ｅｎ２），・・・ＲＤＬ（Ｅｎｎ）にラッチされると、各ブロック内のリード制御回路ＲＣＮＴ１，２，・・・ｎは、その値に基づいて、リードスイッチＲＳＷのオン／オフを決定する。
【０２２６】
ここでは、いずれのブロック内のサブフューズセットＳＦＳ１，ＳＦＳ２，・・・ＳＦＳｎにも、フューズデータが書き込まれていないため、全てのブロックにおいて、リードスイッチＲＳＷは、オフ状態である。このため、この後、フューズデータのラッチ動作（２回目のラッチ動作）が実行されるが、ラッチデータ自体が存在しないため、全てのリードデータラッチ回路ＲＤＬ（Ｄｏｕｔ１），ＲＤＬ（Ｄｏｕｔ２），・・・ＲＤＬ（Ｄｏｕｔｍ）のデータは、“０”となる。
【０２２７】
パワーオン後、例えば、フューズデータをプログラムするためのコマンドがＬＳＩチップに供給され、かつ、イネーブルビットデータＥｎ（“１”）及びプログラムデータ（“０”又は“１”）がＬＳＩチップに供給されると、これらデータは、プログラムデータラッチ回路にラッチされる。
【０２２８】
また、プログラムデータラッチ回路にラッチされたイネーブルビットデータＥｎ及びプログラムデータの値に基づいて、サブフューズセットＳＦＳ１内のフューズ素子ＦＵＳＥに対するプログラミングが実行される。
【０２２９】
つまり、イネーブルビットデータＥｎは、“１”（＝“Ｈ”）であるため、イネーブルビットデータＥｎを記憶するフューズ素子ＦＵＳＥの両端には、高電圧Ｖｆｕｓｅが印加され、その結果、フューズ素子ＦＵＳＥは、破壊される。また、プログラムデータに関しては、“０”又は“１”であるため、“０”のときは、フューズ素子ＦＵＳＥは、未破壊のままとなり、“１”のときは、フューズ素子ＦＵＳＥは、破壊される。
【０２３０】
サブフューズセットＳＦＳ１に対するフューズプログラミングが終了すると、サブフューズセットＳＦＳ１内のイネーブルビットデータＥｎ１の値は、“０”（＝“Ｌ”）から“１”（＝“Ｈ”）に変化する。
【０２３１】
従って、サブフューズセットＳＦＳ１では、図８に示すアンド回路ＡＤ１の出力信号が“Ｈ”から“Ｌ”に変化し、プログラムスイッチＰＳＷは、オフ状態になる。これとほぼ同時に、サブフューズセットＳＦＳ１では、図８に示すアンドＡＤ２の出力信号が“Ｌ”から“Ｈ”に変化し、リードスイッチＲＳＷは、オン状態になる。
【０２３２】
［フューズプログラム（１回目）終了後の初期状態］  
フューズプログラム（１回目）終了後の初期状態では、最初のサブフューズセットＳＦＳ１内のフューズ素子（イネーブルビットデータ）は、破壊状態にあり、残りのサブフューズセットＳＦＳ２，・・・ＳＦＳｎ内のフューズ素子（イネーブルビットデータ）は、非破壊状態にある。
【０２３３】
このため、例えば、再度、パワーオンによりＬＳＩチップに電源が供給されると、サブフューズセットＳＦＳ１からは、イネーブルビットデータＥｎ１として、“１”（“Ｈ”レベル）が読み出され、また、サブフューズセットＳＦＳ２，・・・ＳＦＳｎからは、イネーブルビットデータＥｎ２，・・・Ｅｎｎとして、“０”（“Ｌ”レベル）が読み出される。そして、これらデータは、リードデータラッチ回路ＲＤＬ（Ｅｎ１），ＲＤＬ（Ｅｎ２），・・・ＲＤＬ（Ｅｎｎ）にラッチされる（１回目のラッチ動作）。
【０２３４】
ここで、最初（１番目）のサブフューズセットＳＦＳ１では、イネーブルビットデータＥｎ０，Ｅｎ１が“Ｈ”であるため、図８に示すアンド回路ＡＤ１の出力信号は、全て、“Ｌ”となる。このため、プログラムスイッチＰＳＷは、オフ状態となる。一方、イネーブルビットデータＥｎ１が“Ｈ”、イネーブルビットデータＥｎ２が“Ｌ”であるため、図８に示すアンドＡＤ２の出力信号は、“Ｈ”となる。このため、リードスイッチＲＳＷは、オン状態となる。
【０２３５】
従って、最初のサブフューズセットＳＦＳ１に関しては、既に、フューズプログラムされているため、フューズプログラムの対象にはならないが、最新のフューズデータを記憶しているため、フューズデータリードの対象となる。
【０２３６】
２番目のサブフューズセットＳＦＳ２では、イネーブルビットデータＥｎ１が“Ｈ”、イネーブルビットデータＥｎ２が“Ｌ”であるため、図９に示すアンドＡＤ１の出力信号は、全て、“Ｈ”となる。このため、プログラムスイッチＰＳＷは、オン状態となる。一方、イネーブルビットデータＥｎ２、Ｅｎ３が“Ｌ”であるため、図９に示すアンドＡＤ２の出力信号は、“Ｌ”となる。このため、リードスイッチＲＳＷは、オフ状態となる。
【０２３７】
従って、２番目のサブフューズセットＳＦＳ２に関しては、フューズプログラムの対象（データ書き換えの対象）になるが、フューズデータリードの対象にはならない。
【０２３８】
３番目以降のサブフューズセットＳＦＳ３，・・・ＳＦＳｎでは、イネーブルビットデータＥｎ２，Ｅｎ３，・・・Ｅｎｎが全て“Ｌ”であるため、図９及び図１０に示すアンド回路ＡＤ１，ＡＤ２の出力信号は、全て、“Ｌ”となる。このため、プログラムスイッチＰＳＷ及びリードスイッチＲＳＷは、いずれもオフ状態であり、これらサブフューズセットＳＦＳ３，・・・ＳＦＳｎは、フューズプログラム又はフューズデータリードの対象とはならない。
【０２３９】
このように、イネーブルビットデータＥｎ１，Ｅｎ２，・・・Ｅｎｎがリードデータラッチ回路ＲＤＬ（Ｅｎ１），ＲＤＬ（Ｅｎ２），・・・ＲＤＬ（Ｅｎｎ）にラッチされた後、各ブロック内のリード制御回路ＲＣＮＴ１，２，・・・ｎは、その値に基づいて、リードスイッチＲＳＷのオン／オフを決定する。
【０２４０】
ここでは、サブフューズセットＳＦＳ１にフューズデータが書き込まれているため、最初のブロックＢＬＫ１においては、リードスイッチＲＳＷは、オン状態である。このため、この後、フューズデータのラッチ動作（２回目のラッチ動作）が実行されるが、このラッチ動作では、リード制御回路ＲＣＮＴ１，ＲＣＮＴ２，・・・ＲＣＮＴｎにより最初のブロックＢＬＫ１が選択され、サブフューズセットＳＦＳ１に記憶されたラッチデータが、リードデータラッチ回路ＲＤＬ（Ｄｏｕｔ１），ＲＤＬ（Ｄｏｕｔ２），・・・ＲＤＬ（Ｄｏｕｔｍ）にラッチされる。
【０２４１】
また、パワーオン後、イネーブルビットデータＥｎ０，Ｅｎ１が“Ｈ”、イネーブルビットデータＥｎ２，・・・Ｅｎｎが“Ｌ”となっているため、サブフューズセットＳＦＳ２がプログラムデータラッチ回路に電気的に接続される。
【０２４２】
従って、例えば、フューズデータをプログラムするためのコマンドがＬＳＩチップに供給され、かつ、イネーブルビットデータＥｎ（“１”）及びプログラムデータ（“０”又は“１”）がＬＳＩチップに供給されると、これらデータは、プログラムデータラッチ回路にラッチされる。
【０２４３】
また、プログラムデータラッチ回路にラッチされたイネーブルビットデータＥｎ及びプログラムデータの値に基づいて、サブフューズセットＳＦＳ２内のフューズ素子ＦＵＳＥに対するプログラミングが実行される。
【０２４４】
サブフューズセットＳＦＳ２に対するフューズプログラミングが終了すると、サブフューズセットＳＦＳ２内のイネーブルビットデータＥｎ２の値は、“０”（＝“Ｌ”）から“１”（＝“Ｈ”）に変化する。
【０２４５】
従って、サブフューズセットＳＦＳ２では、図９に示すアンド回路ＡＤ１の出力信号が“Ｈ”から“Ｌ”に変化し、プログラムスイッチＰＳＷは、オフ状態になる。これとほぼ同時に、サブフューズセットＳＦＳ２では、図９に示すアンドＡＤ２の出力信号が“Ｌ”から“Ｈ”に変化し、リードスイッチＲＳＷは、オン状態になる。
【０２４６】
［フューズプログラム（ｎ回目）終了後の初期状態］  
フューズプログラム（ｎ回目）終了後の初期状態では、全てのサブフューズセットＳＦＳ１，ＳＦＳ２，・・・ＳＦＳｎ内のフューズ素子（イネーブルビットデータ）は、破壊状態にある。
【０２４７】
このため、例えば、パワーオンによりＬＳＩチップに電源が供給されると、サブフューズセットＳＦＳ１，ＳＦＳ２，・・・ＳＦＳｎからは、イネーブルビットデータＥｎ１，Ｅｎ２，・・・Ｅｎｎとして、“１”（“Ｈ”レベル）が読み出される。そして、これらデータは、リードデータラッチ回路にラッチされる（１回目のラッチ動作）。
【０２４８】
ここで、サブフューズセットＳＦＳｎの次のサブフューズセットは存在しないため、本発明の例に関わるフューズ回路のデータ書き換え回数は、最大でｎ回となる。また、サブフューズセットＳＦＳｎの次のサブフューズセットは存在しないため、図１０に示すように、イネーブルビットデータＥｎ（ｎ＋１）として、“Ｌ”（固定）の反転信号、即ち、“Ｈ”を、サブフューズセットＳＦＳｎ内のアンド回路ＡＤ２に与える。従って、サブフューズセットＳＦＳｎ内のリードスイッチＲＳＷがオン状態となる。
【０２４９】
ここでは、全てのサブフューズセットＳＦＳ１，ＳＦＳ２，・・・ＳＦＳｎにフューズデータが書き込まれているため、最後のブロックＢＬＫｎにおけるリードスイッチＲＳＷのみがオン状態になる。
【０２５０】
このため、この後、フューズデータのラッチ動作（２回目のラッチ動作）が実行されるが、このラッチ動作では、リード制御回路ＲＣＮＴ１，ＲＣＮＴ２，・・・ＲＣＮＴｎにより最後のブロックＢＬＫｎが選択され、サブフューズセットＳＦＳｎに記憶されたラッチデータが、リードデータラッチ回路ＲＤＬ（Ｄｏｕｔ１），ＲＤＬ（Ｄｏｕｔ２），・・・ＲＤＬ（Ｄｏｕｔｍ）にラッチされる。
【０２５１】
(4)   まとめ  
このように、第２実施例に関わるフューズ回路においても、第１実施例に関わるフューズ回路と同様に、１つのフューズセットをｎ（ｎは、複数）個のサブフューズセットから構成することで、ｎ回のフューズデータの書き換えが可能になる。
【０２５２】
また、このような構成にしても、フューズデータのリード／プログラム又は書き換えは、フューズデータをフューズ回路に入力するだけで、特殊な制御なく、自動的かつ容易に行うことができる。
【０２５３】
５．  応用例  
本発明の例に関わるフューズ回路を有するＬＳＩチップ及びそのＬＳＩを利用したシステムの例について説明する。
【０２５４】
図１１は、システムＬＳＩのチップレイアウトの一例を示している。  
ＬＳＩチップ上には、ＣＰＵ、ロジック回路、ＳＲＡＭ及びＤＲＡＭが形成される。また、ＬＳＩチップ上の任意の位置に、本回路、即ち、本発明の例に関わるフューズ回路が配置される。チップの外部から見た場合には、チップに与える信号や制御方法などに関して、従来と本発明の例とで、何ら変わるところはない。つまり、本発明の例では、複雑な制御なしに、フューズセットのデータ書き換えを可能にする。
【０２５５】
なお、ＬＳＩチップに関し、そのチップ内に組み込まれる機能（ブロック）としては、本例に限定されるものではなく、当然に、図１１の例に対して、ＬＳＩチップ内に組み込まれる機能（ブロック）の追加、減少、変更などが可能である。
【０２５６】
図１２は、汎用ＬＳＩのチップレイアウトの一例を示している。  
本例では、汎用メモリのチップレイアウトを示す。メモリチップ上には、メモリセルアレイ及びその周辺回路が形成される。また、メモリチップ上の任意の位置に、本回路、即ち、本発明の例に関わるフューズ回路が配置される。チップの外部から見た場合には、チップに与える信号や制御方法などに関して、従来と本発明の例とで、何ら変わるところはない。つまり、本発明の例では、複雑な制御なしに、フューズセットに対するデータ書き換えを可能にする。
【０２５７】
なお、本例では、汎用メモリのレイアウトについて説明したが、例えば、その他のＬＳＩチップ、例えば、メモリとロジック回路とを混載したメモリ混載ロジックＬＳＩなどに、本発明の例に関わるフューズ回路を適用することもできる。
【０２５８】
図１３は、接触式ＩＣカードの概略を示している。  
プラスチックカード１０には、コネクタ部１１及びＩＣカード用ＭＰＵ１２が搭載されている。コネクタ部１１は、外部電極を有しており、この外部電極を外部装置（リーダ／ライタ）１８に直接接触させることによりデータなどのやりとりを行う。一般に、コネクタ部１１とＩＣカード用ＭＰＵ１２は、モジュール化され、ＩＣモジュールとなっており、このＩＣモジュールをプラスチックカード１０のエンボス領域に嵌め込むことでＩＣカードが出来上がる。
【０２５９】
ＩＣカード用ＭＰＵ１２は、制御部１３、演算部１４、ＲＯＭ１５及びＲＡＭ１６を備えている。ＲＯＭ１５には、データ処理用のプログラムが保存されている。例えば、このＲＯＭ１５に、本発明の例に関わるフューズ回路を適用できる。また、ＲＡＭ１６は、データの一時記憶用として用いられる。ＥＥＰＲＯＭ１７は、データ保存用として用いられる。
【０２６０】
図１４は、無線式ＩＣカードの概略を示している。  
プラスチックカード２０には、アンテナ２１及びＩＣカード用ＭＰＵ２２が内蔵されている。アンテナ２１は、外部装置（リーダ／ライタ）３０との間でデータなどのやりとりを行うためのものである。ＩＣカード用ＭＰＵ２２は、変復調回路２３、入出力制御回路２４、ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７及びバス２９を備えている。
【０２６１】
アンテナ２１において受信された無線信号は、変復調回路２３を経由して入出力制御回路２４に入力される。また、ＲＯＭ２６には、データ処理用のプログラムが保存されている。例えば、このＲＯＭ２６に、本発明の例に関わるフューズ回路を適用できる。ＳＲＡＭ２７は、データの一時記憶用として用いられる。ＥＥＰＲＯＭ２８は、データ保存用として用いられる。
【０２６２】
なお、本発明の例に関わるフューズ回路は、１枚のカードで様々なアプリケーションを処理できるマルチカード（例えば、コンビカードなど）内に搭載されるチップに適用することもできる。
【０２６３】
図１５は、ＩＣカードの外観を示している。  
プラスチックカード１０は、一定の厚さを有し、その表面の一部には、エンボス領域が設けられている。ＩＣモジュール５３には、ＩＣ（チップ）が搭載されている。ＩＣモジュール５３のＩＣが搭載される側の面に対して反対側の面には、外部端子（電極）５４が形成されている。ＩＣモジュール５３は、外部端子５４が剥き出しになるようにしてエンボス領域に嵌め込まれる。
【０２６４】
図１６は、ＩＣモジュールを示している。また、図１７は、図１６のＸＶＩＩ−ＸＶＩＩ線に沿う断面図である。なお、図１６において、外部端子は、省略している。  
ＩＣモジュール５３の一面側には、ＩＣ（チップ）５５が搭載されている。ＩＣ５５は、樹脂５６により覆われている。また、ＩＣモジュール５３の他面側には、外部電極５４が形成されている。
【０２６５】
６．  まとめ  
本発明の例に関わるフューズ回路によれば、標準ＣＭＯＳプロセスで形成でき、かつ、１つのフューズセットに対して、フューズデータの書き換えを、特殊な制御なしに、自動的に行うことができる。
【０２６６】
ところで、本発明の例では、フューズデータの書き換えは、パッケージング（アセンブリ）工程後におけるユーザ側での書き換えを主眼に置いているが、当然に、その他の時期、例えば、パッケージング工程前に、フューズデータの書き換えをする必要性が生じたならば、そのときに、本発明を適用することもできる。
【０２６７】
本発明の例に関わるフューズ回路は、ロジック回路（ＡＳＩＣなど）とメモリ回路（ＤＲＡＭ，ＳＲＡＭなど）とを混載したメモリ混載ロジックＬＳＩに有効である。例えば、このような混載ＬＳＩにおいて、本発明の例に関わるフューズ回路を、メモリ回路（リダンダンシイ回路）における不良アドレス（リダンダンシイデータ）のプログラムに適用することができる。
【０２６８】
本発明の例に関わるフューズ回路は、リダンダンシイ回路における不良アドレスのリード／プログラムに限られず、様々なデータのプログラム、特に、容量の少ないデータ（例えば、５１２キロビット以下）のプログラムに効果的である。
【０２６９】
例えば、本発明の例に関わるフューズ回路は、回路動作に関するトリミングデータ、チップＩＤ、セキュリティコード、さらには、携帯電話の液晶ディスプレイのコントラストに関するデータなどをプログラムする場合に適用できる。
【０２７０】
本発明の例に関わるフューズ回路では、各フューズブロック内のサブフューズセットのビット数は、全て等しく設定されているが、異なっていてもよい。また、１つのフューズセット（図１参照）内の各フューズブロック内のサブフューズセットのビット数を等しく設定し、異なるフューズセット間で、プログラムできるビット数を異ならせるようにしても構わない。
【０２７１】
７．  その他  
本発明は、上述の形態に限定されるものではなく、その要旨を逸脱しない範囲で、構成要素を変形して具体化できる。また、上述の形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を構成できる。例えば、上述の形態に開示される全構成要素から幾つかの構成要素を削除してもよいし、異なる形態の構成要素を適宜組み合わせてもよい。
【産業上の利用可能性】
【０２７２】
本発明の例に関わるフューズ回路は、特に、少ないデータを不揮発に記憶する必要があると共に、少数回ではあるが、これらデータを書き換える必要もある混載ＬＳＩ、システムＬＳＩ、ロジックＬＳＩ、メモリＬＳＩなどの半導体集積回路に有効である。
【図面の簡単な説明】
【０２７３】
【図１】フューズ回路の例を示す図。
【図２】第１実施例に関わるフューズ回路の概要を示す図。
【図３】第１実施例に関わるフューズ回路を示す回路図。
【図４】第１実施例に関わるフューズ回路を示す回路図。
【図５】第１実施例に関わるフューズ回路を示す回路図。
【図６】パワーオン時のチップ動作を示す図。
【図７】第２実施例に関わるフューズ回路の概要を示す図。
【図８】第２実施例に関わるフューズ回路を示す回路図。
【図９】第２実施例に関わるフューズ回路を示す回路図。
【図１０】第２実施例に関わるフューズ回路を示す回路図。
【図１１】システムＬＳＩのチップレイアウトの例を示す図。
【図１２】汎用ＬＳＩのチップレイアウトの例を示す図。
【図１３】接触式ＩＣカードの例を示す図。
【図１４】無線式ＩＣカードの例を示す図。
【図１５】ＩＣカードの外観を示す図。
【図１６】ＩＣモジュールの例を示す図。
【図１７】図１６のＸＶＩＩ−ＸＶＩＩ線に沿う断面図。
【図１８】従来のフューズ回路の概要を示す図。
【図１９】従来のフューズ回路を示す回路図。
【符号の説明】
【０２７４】
１：  フューズ回路、  ＰＤＬ：  プログラムデータラッチ回路、  ＰＣＮＴ１，ＰＣＮＴ２，・・・ＰＣＮＴｎ：  プログラム制御回路、  ＳＦＳ１，ＳＦＳ２，・・・ＳＦＳｎ：  サブフューズセット、  ＲＤＬ１，ＲＤＬ２，・・・ＲＤＬｎ：  リードデータラッチ回路、  ＲＣＮＴ１，ＲＣＮＴ２，・・・ＲＣＮＴｎ：  リード制御回路、  Ｉ１：  インバータ、  ＣＩ１：  クロックドインバータ、  ＮＲ１：  ノア回路、  ＰＳＷ：  プログラムスイッチ、  ＲＳＷ：  リードスイッチ、  ＡＤ１，ＡＤ２：  アンド回路、  ＦＵＳＥ：  フューズ素子。
【図１】
2005063535.tif 000007
【図２】
2005063535.tif 000008
【図３】
2005063535.tif 000009
【図４】
2005063535.tif 000010
【図５】
2005063535.tif 000011
【図６】
2005063535.tif 000012
【図７】
2005063535.tif 000013
【図８】
2005063535.tif 000014
【図９】
2005063535.tif 000015
【図１０】
2005063535.tif 000016
【図１１】
2005063535.tif 000017
【図１２】
2005063535.tif 000018
【図１３】
2005063535.tif 000019
【図１４】
2005063535.tif 000020
【図１５】
2005063535.tif 000021
【図１６】
2005063535.tif 000022
【図１７】
2005063535.tif 000023
【図１８】
2005063535.tif 000024
【図１９】
2005063535.tif 000025
【手続補正書】
【提出日】平成15年11月6日(2003.11.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のブロックから構成されるフューズセットを具備し、前記複数のブロックの各々は、電気的にプログラム可能な複数のフューズ素子から構成されるサブフューズセットと、前記複数のフューズ素子に対するプログラムを制御するプログラム制御回路とを有し、前記複数のフューズ素子のうちの１つは、前記サブフューズセットの有効／無効を示すイネーブルビットであり、前記プログラム制御回路は、前記イネーブルビットの値に基づいて、前記複数のブロックのなかから前記プログラムの対象となるブロックを決定することを特徴とするフューズ回路。
【請求項２】
請求項１記載のフューズ回路において、さらに、前記プログラムの対象となるブロックに対するプログラムデータをラッチするプログラムデータラッチ回路を具備することを特徴とするフューズ回路。
【請求項３】
前記複数のブロックは、ｎ（ｎは、複数）段に直列に接続され、ｉ（２≦ｉ≦ｎ）段目のブロックでは、前記プログラム制御回路は、（ｉ−１）段目のブロック内の前記イネーブルビットの値及び前記ｉ段目のブロック内の前記イネーブルビットの値に基づいて、前記ｉ段目のブロックが前記プログラムの対象となるか否かを決定することを特徴とする請求項１記載のフューズ回路。
【請求項４】
前記複数のブロックの各々は、前記複数のフューズ素子のうちの１つからリードされた前記イネーブルビットをラッチするリードデータラッチ回路を有し、かつ、前記イネーブルビットを除く、残りのフューズデータをラッチするリードデータラッチ回路は、前記複数のブロックに共有されることを特徴とする請求項１記載のフューズ回路。
【請求項５】
ｎ（ｎは、複数）段に直列に接続された複数のサブフューズセットを有するフューズ回路に対して、プログラムの度に、前記プログラムの対象となるサブフューズセットを、１段目のサブフューズセットからｎ段目のサブフューズセットに向かって、順次、自動的に変えていくことにより、前記フューズ回路に対するデータ書き換えを可能にすることを特徴とするリード／プログラム方法。