(57)【要約】【課題】  抵抗変化性のバイポーラ型メモリを、誤書き込みや誤動作を起こさずにFPGAに適用する。【解決手段】  本発明の半導体集積回路は、一端が第一の電源１０５に接続され、他端が出力ノード１０８に接続される第一の抵抗変化性素子１０１と、一端が出力ノード１０８に接続される第二の抵抗変化性素子１０２と、第二の抵抗変化性素子１０２の他端と第一の端子が接続され、第二の電源１０６と第二の端子が接続される、第一のスイッチング素子１０３とを備える。【選択図】  図１
2011172084.tif 000002
【特許請求の範囲】
【請求項１】
第一の極性を有する一端が第一の電源に接続され、第二の極性を有する他端が出力ノードに接続される第一の抵抗変化性素子と、
前記第二の極性を有する一端が出力ノードに接続される第二の抵抗変化性素子と、
前記第二の抵抗変化性素子の他端と第一の端子が接続され、第二の電源と第二の端子が接続される、第一のスイッチング素子と、
を備えることを特徴とする半導体集積回路。
【請求項２】
前記出力ノードに制御端子が接続される第二のスイッチング素子をさらに備えることを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記出力ノードに制御端子が接続される第三のスイッチング素子をさらに備えることを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
前記出力ノードに第一の反転回路を介して制御端子が接続される第四のスイッチング素子をさらに備えることを特徴とする請求項１、２のいずれか一項に記載の半導体集積回路。
【請求項５】
前記第二のスイッチング素子の第一の端子及び前記第四のスイッチング素子の第一の端子に接続される出力端子をさらに備えることを特徴とする請求項４に記載の半導体集積回路。
【請求項６】
第一の極性を有する一端が第一の電源に接続され、第二の極性を有する他端が出力ノードに接続される第一の抵抗変化性素子と、
前記第二の極性を有する一端が第一の出力ノードに接続される第二の抵抗変化性素子と、
前記第二の抵抗変化性素子の他端と第一の端子が接続され、第二の電源と第二の端子が接続される、第一のスイッチング素子と、
前記第一の出力ノードが第一の端子に接続され、出力端子が第二の端子に接続される第五のスイッチング素子と、
第一の極性を有する一端が第三の電源に接続され、第二の極性を有する他端が第二の出力ノードに接続される第三の抵抗変化性素子と、
前記第二の極性を有する一端が第一の出力ノードに接続される第四の抵抗変化性素子と、
前記第四の抵抗変化性素子の他端と第一の端子が接続され、第四の電源と第二の端子が接続される、第六のスイッチング素子と、
前記第二の出力ノードが第一の端子に接続され、前記出力端子が第二の端子に接続される第七のスイッチング素子と、
前記第五のスイッチング素子の制御端子と前記第七のスイッチング素子の制御端子を接続する第二の反転回路と、
を備えることを特徴とする半導体集積回路。
【請求項７】
前記第一の出力ノードと前記第二のスイッチング素子の前記第一の端子との間に接続される第三の反転回路と、
前記第二の出力ノードと前記第七のスイッチング素子の前記第一の端子との間に接続される第四の反転回路と、
を備えることを特徴とする請求項６に記載の半導体集積回路。
【請求項８】
前記第一のスイッチング素子は、高抵抗状態の抵抗変化性素子の抵抗をRoff、低抵抗状態の抵抗変化性素子の抵抗をRonとし、サブスレッショルドファクターをSとした時、閾値電圧が
【数１】
2011172084.tif 000008
よりも大きいことを特徴とする請求項１から６のいずれか一項に記載の半導体集積回路。
【請求項９】
前記第一の電源端子を高電位とし、前記第二の電源端子を低電位として前記第一及び第二の抵抗変化性素子を書き込むと、前記第二のスイッチング素子がOFFとなることを特徴とする請求項２から８のいずれか一項に記載の半導体集積回路。
【請求項１０】
前記第一及び第二の抵抗変化性素子は、上部電極の面積が、下部電極よりも小さいことを特徴とする請求項１から９のいずれか一項に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィールドプログラマブルゲートアレイ（FPGA）に代表されるようなリコンフィギャラブルな半導体集積回路に関し、特に、配線接続情報や論理情報を保持するメモリ回路に関するものである。
【背景技術】
【０００２】
FPGAの基本構成として、任意の論理情報を実現するコンフィギュラブルロジックブロック（CLB）、CLBと配線との入出力を行なうコネクションブロック（CB）、配線の接続を切り替えるスイッチブロック（SB）、からなる。各々のブロックにおいて、論理情報や配線接続情報はコンフィギュレーションメモリに保持される値によって変更される。
【０００３】
このコンフィギュレーションメモリとして近年、いくつかの不揮発性の抵抗変化性メモリが提案されている。これらは配線層に作成されるため、SRAMに比べてシリコン面積を小さくすることが可能である。抵抗変化性メモリはいくつかの種類が提案されているが、電圧の印加する方向で導通、非導通をプログラムするバイポーラ型のメモリは、ユニポーラ型と比較して電圧の値を細かく制御する必要がない分、制御しやすい利点がある。例えば、特許文献１の図２３、図２４において、バイポーラ型のメモリをFPGAのコンフィギュレーションメモリに用いる方法が提案されている。
【０００４】
２つのメモリ素子を直列に配置したとき、他のメモリセルへの電流回り込みを防ぐには、２つのメモリ素子に直列に選択トランジスタを挿入する必要がある。そのような回路構成として、例えば、特許文献２に記載されているものがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開２００７／０１４６０１２号公報
【特許文献２】特開２００９−１５１８８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に記載されているバイポーラ型のメモリをFPGAのコンフィギュレーションメモリに用いる方法では、４つの電源電圧を用意する必要があるという問題がある。また、二つのメモリが配線間に直接接続されているため、プログラムしたくない素子へも電流の回り込みが発生し、誤書き込みが起こるという問題がある。
【０００７】
また、特許文献２に記載されている回路構成はスピン注入MTJ(Magnetic Tunnel Junction)を想定しているため、素子の導通、非導通比が小さく、FPGAのコンフィギュレーションメモリに直接使用するのは難しいという問題がある。また、メモリアレイを想定しており、一つのビットラインに複数のメモリが接続されるため、他のセルのメモリ素子への電流回り込みがあり、動作が不安定になる問題がある。
【課題を解決するための手段】
【０００８】
上記課題を解決するため本発明の半導体集積回路は、第一の極性を有する一端が第一の電源に接続され、第二の極性を有する他端が出力ノードに接続される第一の抵抗変化性素子と、前記第二の極性を有する一端が出力ノードに接続される第二の抵抗変化性素子と、前記第二の抵抗変化性素子の他端と第一の端子が接続され、第二の電源と第二の端子が接続される、第一のスイッチング素子とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、抵抗変化性のバイポーラ型メモリを、誤書き込みや誤動作を起こさずにFPGAに適用することが可能になる。
【図面の簡単な説明】
【００１０】
【図１】本発明の半導体集積回路の回路図である。
【図２】本発明の半導体集積回路へのデータ書き込み方法を示す図である。
【図３】本発明の半導体集積回路へのデータ書き込み方法を示す図である。
【図４】２つの抵抗変化性素子にかかる電圧と第一のスイッチング素子１０３のオフ抵抗との関係を示した図である。
【図５】第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２および第一のスイッチング素子１０３の上面図である。
【図６】図５のＡ−Ａ断面及びＢ−Ｂ断面を示す図である。
【図７】図６に示す半導体集積回路の製造工程を示す図である。
【図８】図６に示す半導体集積回路の製造工程を示す図である。
【図９】図６に示す半導体集積回路の製造工程を示す図である。
【図１０】図６に示す半導体集積回路の製造工程を示す図である。
【図１１】図６に示す半導体集積回路の製造工程を示す図である。
【図１２】図５のＡ−Ａ断面及びＢ−Ｂ断面のもう一つの例を示す図である。
【図１３】図１２に示す半導体集積回路の製造工程を示す図である。
【図１４】図１２に示す半導体集積回路の製造工程を示す図である。
【図１５】図１２に示す半導体集積回路の製造工程を示す図である。
【図１６】図１２に示す半導体集積回路の製造工程を示す図である。
【図１７】図１２に示す半導体集積回路の製造工程を示す図である。
【図１８】図５に示す半導体集積回路のデバイス構成の変形例を示す図である。
【図１９】本発明の半導体集積回路の実施例１を示す図である。
【図２０】本発明の半導体集積回路の実施例２を示す図である。
【図２１】本発明の半導体集積回路の実施例３を示す図である。
【図２２】本発明の半導体集積回路の実施例４を示す図である。
【図２３】本発明の半導体集積回路の実施例５を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら本発明の実施の形態を具体的に説明する。
【００１２】
図１は、本発明の半導体集積回路の基本構成を示す回路図である。図中、第一の抵抗変化性素子１０１及び第二の抵抗変化性素子１０２は、バイポーラ型の抵抗変化性メモリを示しており、＋−は極性を示す。例えば、＋から−の方向へプログラミング電圧がかけられた場合は、メモリは低抵抗状態にプログラムされ、−から＋の方向へプログラミング電圧がかけられた場合は、メモリは高抵抗状態にプログラムされる、といった具合である。以下の説明では、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２とも上記の極性であることを前提とする。
【００１３】
図１の基本構成では、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２と第一のスイッチング素子１０３が、第一の電源１０５と第二の電源１０６との間に直列に接続される。また、第二のスイッチング素子１０４が、第一の抵抗変化性素子１０１と第二の抵抗変化性素子１０２の出力（接続）ノード１０８とゲート電極を共有化して接続される。この第二のスイッチング素子１０４はFPGA内の配線切り替えのスイッチとして使用される。図１では第一のスイッチング素子１０３および第二のスイッチング素子１０４ともN型トランジスタ（FET）としているが、それに限るものではなく、P型FETでもよい。ここでは、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２と第一のスイッチング素子１０３で一つの抵抗変化性メモリのメモリセルと考える。
【００１４】
第一の抵抗変化性素子１０１と第二の抵抗変化性素子１０２の抵抗状態は、定常状態ではそれぞれ相補的にプログラムされる。すなわち、第一の抵抗変化性素子１０１が高抵抗状態であれば第二の抵抗変化性素子１０２は低抵抗状態に（状態１とする）、第一の抵抗変化性素子１０１が低抵抗状態であれば第二の抵抗変化性素子１０２は高抵抗状態に（状態２とする）、それぞれプログラムされる。そのため、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２は第一の電源１０５から第二の電源１０６の方向に対して極性がお互いに逆になるように接続される。なお、極性の向きについては、図１の方向の組み合わせに限定するものではなく、たとえば、第一の電源１０５から第二の電源１０６の方向に対して、第一の抵抗変化性素子１０１の極性が−＋、第二の抵抗変化性素子１０２の極性が＋−、とするように接続してもよい。
【００１５】
FPGAを動作させる場合は、第一のスイッチング素子１０３を導通させ、第一の電源１０５と第二の電源１０６の間に電圧をかけて動作させる。例えば、第一の電源１０５に高電位側電源電圧Vddを与え、第二の電源１０６に低電位側電源電圧Vssを与えると、出力ノード１０８には、状態１の場合にはVssに近い電圧、状態２の場合にはVddに近い電圧がそれぞれ現れる。その電圧値によって、第二のスイッチング素子１０４の導通あるいは非導通が制御される。出力ノード１０８の電圧値でトランジスタを駆動するため、状態1と状態２で出力ノード１０８の電圧値は大きくスイングさせる必要がある。よって第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２の抵抗比は２桁程度必要である。そのため、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２はバイポーラ型のメモリであることが必要である。抵抗比が２桁程度あるメモリの具体例としては、ＲｅＲＡＭ、イオンメモリ、ヒューズ／アンチヒューズメモリ、電界効果メモリなどの材料で決まるものや、ＭＥＭＳスイッチ、ＮＥＭＳスイッチなどのメカニカルスイッチなどが挙げられる。
【００１６】
FPGA動作をさせるときの第一の電源１０５、第二の電源１０６の電圧は、どちらが高電位側電源でも良いが、第一のスイッチング素子１０３がN型FETの場合は、第一の電源１０５を高電位、第二の電源１０６を低電位にするほうが好ましく、第一のスイッチング素子１０３がP型FETの場合は、第一の電源１０５を低電位、第二の電源１０６を高電位にするほうが好ましい。
【００１７】
次に本発明の半導体集積回路へのデータ書き込み方法について、図２、３を用いて説明する。
【００１８】
第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２への書き込みは、第一のスイッチング素子１０３を導通させ、第一の電源１０５と第二の電源１０６との間に書き込み電圧Vprgを与えることによって行なう。なお、Vprgはメモリ単体の書き込み電圧よりも高い値である。
【００１９】
例えば、２つの抵抗変化性素子を図２に示すように状態１から状態２にプログラムする場合を考える。今の例では、第一の電源１０５から第二の電源１０６の方向にVprgをかけることに相当する。図２（ａ）に示す書き込み初期の段階では、高抵抗状態の第一の抵抗変化性素子１０１にほぼVprg程度の電圧がかかる。そのため、第一の抵抗変化性素子１０１が低抵抗状態にプログラムされる。この段階では図２（ｂ）に示すように、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２とも低抵抗状態となり、出力ノード１０８はおおよそVprg/2程度の電圧になる。第二の抵抗変化性素子１０２にはおおよそVprg/2の電圧がかかるが、この値が抵抗変化性素子単体をプログラムするのに十分な値であれば、第二の抵抗変化性素子１０２は高抵抗状態にプログラムされる。このとき、第一の抵抗変化性素子１０１にも同様に、おおよそVrpg/2の電圧が印加されるが、極性が高抵抗状態にプログラムされる方向と逆方向であるため、第一の抵抗変化性素子１０１はプログラムされない。よって、最終的に図２（ｃ）に示すように２つの抵抗変化性素子は状態２に変更される。
【００２０】
状態２から状態１にプログラムする場合は、図３に示すように第二の電源１０６から第一の電源１０５の方向にVprgをかければよい。図３（ａ）に示す書き込み初期の段階では、高抵抗状態の第二の抵抗変化性素子１０２にほぼVprg程度の電圧がかかる。そのため、第二の抵抗変化性素子１０２が低抵抗状態にプログラムされる。この段階では図３（ｂ）に示すように、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２とも低抵抗状態となり、出力ノード１０８はおおよそVprg/2程度の電圧になる。第一の抵抗変化性素子１０１にはおおよそVprg/2の電圧がかかるが、この値が抵抗変化性素子単体をプログラムするのに十分な値であれば、第一の抵抗変化性素子１０１は高抵抗状態にプログラムされる。このとき、第二の抵抗変化性素子１０２にも同様に、おおよそVrpg/2の電圧が印加されるが、極性が高抵抗状態にプログラムされる方向と逆方向であるため、第二の抵抗変化性素子１０２はプログラムされない。よって、最終的に図３（ｃ）に示すように２つの抵抗変化性素子は状態１に変更される。
【００２１】
なお、第一のスイッチング素子１０３がN型FETの場合に第二の電源１０６から第一の電源１０５の方向にVprgをかける場合には、第一のスイッチング素子１０３の閾値電圧に応じた電圧降下が起こることに注意して第一のスイッチング素子１０３を導通させる必要がある。例えば、ゲート電圧に高めの電圧を与える、基板バイアスを与えて閾値を低くする、チャネル長が短くチャネル幅が大きい素子を用いる、Vprgを高めに与える、などの方法がある。
【００２２】
すでに状態２のメモリに、第一の電源１０５から第二の電源１０６の方向にVprgをかけた場合は、高抵抗状態の第二の抵抗変化性素子１０２にほとんどの電圧がかかるが、極性が低抵抗状態にプログラムされる方向と逆方向のためプログラムされず、状態２が保たれる。逆に状態１のメモリに、第二の電源１０６から第一の電源１０５の方向にVprgをかけた場合は、高抵抗状態の第一の抵抗変化性素子１０１にほとんどの電圧がかかるが、極性が低抵抗状態にプログラムされる方向と逆方向のためプログラムされず、状態１が保たれる。すなわち、現在のメモリの状態を気にすることなく、プログラミング電圧の方向によって状態を切り替えることが可能である。
【００２３】
以上、本発明の実施の形態である半導体集積回路は、抵抗変化性素子と直列に第一のスイッチング素子１０３が設けられているため、他のメモリセルの書き込み時には第一のスイッチング素子１０３を非導通としておくことで、電流回り込みをなくすことができ、誤書き込みを避けることができる。また、抵抗比の大きいメモリを使うため、出力ノード１０８の電圧振幅を大きくすることができ、直接第二のスイッチング素子１０４の導通または非導通を制御することが可能となる。また、出力ノード１０８が第二のスイッチング素子１０４のゲートに直接接続されるため、メモリの読み出し配線からの電流の回り込みもなく、誤書き込みを防ぐことができる。なお、書き込み動作中に、比較的高電圧のVprgが第二のスイッチング素子１０４のゲートに掛かることがあるが、プログラム時間が短い時間であれば信頼性上の問題はない。
【００２４】
第一の抵抗変化性素子１０１、または第二の抵抗変化性素子１０２の高抵抗状態の抵抗値が大きい場合は、第一のスイッチング素子１０３のオフ抵抗に注意する必要がある。オフ抵抗が小さい、言い換えるとオフリーク電流が大きい場合、非選択のメモリセルに誤書き込みされてしまう可能性があるからである。
【００２５】
図４は、高抵抗状態の抵抗変化性素子の抵抗値を１０ＧΩとしたとき、第一の電源１０５から第二の電源１０６の方向にかけるVprgと、２つの抵抗変化性素子にかかる電圧の関係を、第一のスイッチング素子１０３のオフ抵抗のいくつかに対して示したものである。実際はリーク電流自体がVprgの関数であるため、使用するスイッチング素子とプログラミング電圧に応じて詳細は考慮する必要があるが、大まかにはスイッチング素子のオフ抵抗が1GΩ程度であると、高い電圧が抵抗変化性素子にかかってしまい、スイッチング素子の用をなさず、10GΩ程度は必要であることがわかる。すなわち、オフリーク電流を100pA以下にする必要がある。
【００２６】
メモリセルへの書き込みの際に、選択セル、非選択セルの両方ともに安定に動作する条件から、抵抗変化性素子の抵抗値と第一のスイッチング素子のトランジスタ特性との関係が得られる。高抵抗状態の抵抗変化性素子の抵抗をRoff、低抵抗状態のメモリの抵抗をRonとし、第一のスイッチング素子１０３のオフリーク電流をIoffとする。リークによる電圧はほとんど高抵抗状態のメモリにかかるが、このときにメモリの状態が書き換わらないようにする必要がある。１以上の任意の正数ｎを用いて、Vprg/n以下に抑えれば問題ないと考えると、このときの条件は、
【数１】
2011172084.tif 000003
【００２７】
とかける。一般的には、高抵抗から低抵抗へ変化させるのに必要な電圧の方が高いので、nは２〜３程度で良いと考えられる。
【００２８】
一方で、最も電流を必要とするのは、上述の書き換え動作で述べた、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２ともに低抵抗状態となった場合であり、そのとき、おおよそVprg/2の電圧が抵抗変化性素子に印加されている。第一のスイッチング素子１０３のオン電流をIonとすると、Ionに対する条件として、
【数２】
2011172084.tif 000004
【００２９】
と与えられる。（１）、（２）より、第一のスイッチング素子１０３のオンオフ比は、
【数３】
2011172084.tif 000005
【００３０】
である必要がある。また、第一のスイッチング素子１０３のサブスレッショルドファクター（電流を一桁上げるのに必要なゲート電圧）をSとすると、第一のスイッチング素子１０３の閾値電圧Vthは、
【数４】
2011172084.tif 000006
【００３１】
という条件を満たす必要がある。例えば、ｎ＝２として、メモリの抵抗比が６桁、S＝６０ｍＶ／ｄｅｃである場合は、Ｖthは０．３６Ｖよりも大きくする必要がある。もし、（４）で必要となるしきい値電圧がデバイス設計のみで実現できない場合には、基板バイアスを印加してしきい値電圧を満たすようにしても良い。
【００３２】
また、当然ながら、下記（５）式の通り、Vthは高電位側電源電圧Vddやプログラミング電圧Vprgよりも小さい必要がある。
【数５】
2011172084.tif 000007
【００３３】
第一のスイッチング素子１０３は式（１）〜（５）を満たすように設計する。
【００３４】
リーク電流の点では、第一の電源１０５を高電位としてVprgが印加される場合よりも、第二の電源１０６を高電位としてVprgが印加される場合の方が大きい。前者の場合は、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２による電圧降下があるため、スイッチング素子にかかる電圧はその分小さくなっているのに対し、後者の場合は、Vprgが直接スイッチング素子にかかるためである。FPGAにおいては、第二のスイッチング素子１０４を非導通にする配線の方が、導通にする配線よりも多いと期待される。よって、第一の電源１０５を高電位としてVprgが印加される場合に、第二のスイッチング素子１０４が非導通になるようにすると、消費電力的に有利である。今の場合では、状態１にすることになるが、これはもちろん、メモリの極性や第二のスイッチング素子１０４の種類によって変わる。
【００３５】
次に本発明の半導体集積回路のデバイス構成およびその製造方法について図５〜１１を用いて説明する。
【００３６】
図５は、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２および第一のスイッチング素子１０３の上面図である。図において、第一の抵抗変化性素子１０１および第二の抵抗変化性素子１０２は丸印で示されている。第一の抵抗変化性素子１０１の一端及び第二の抵抗変化性素子１０２の一端とは第二の接続配線層１１１で接続されている。第一の抵抗変化性素子１０１の他端は、第一の電源である第一のビット線（ＢＬ１）１０９に接続され、第二の抵抗変化性素子１０２の他端は第一の接続配線層１１３を通じて第一のスイッチング素子（トランジスタ）のドレインである第一の活性化領域１１２に接続される。この活性化領域１１２とゲート電極１０７によりスイッチング素子（トランジスタ）を形成する。第一の活性化領域１１２のゲート電極を挟んだ反対側の端部はソース領域になるが、図に示すとおり、ソース領域はもう一つのスイッチング素子と共通に接続される。第一のスイッチング素子１０３のソースにはコンタクトを介して、第二の電源である第二のビット線（ＢＬ２）１１０が接続されている。
【００３７】
図６（ａ）は図５のＡ−Ａ断面図であり、図６（ｂ）は図５のＢ−Ｂ断面図である。図６（ａ）において、第一のスイッチング素子１０３のドレイン領域１０３ａはコンタクトプラグを介して第一の接続配線層１１３を通じて第二の抵抗変化性素子１０２に接続される。第二のビット線１１０に隣接して第一の接続配線層１１３および第一のビット線１０９が配置されている。これら第二のビット線１１０、第一の接続配線層１１３および第一のビット線１０９は、後述するように同一層をパターニングすることで形成される。第一のビット線１０９上には第一の抵抗変化性素子１０１が配置される。この第一の抵抗変化性素子１０１は下層から順に下部電極、素子本体、上部電極から構成されている。一方第一の接続配線層１１３上には第二の抵抗変化性素子１０２が配置される。この第二の抵抗変化性素子１０２も第一の抵抗変化性素子１０１と同様、下層から順に下部電極、素子本体、上部電極から構成されている。第一の抵抗変化性素子１０１及び第二の抵抗変化性素子１０２の上部電極は第二の接続配線層１１１と接続される。図示しないが、この第二の接続配線層１１１は第二のスイッチング素子１０４のゲート電極に接続される。
【００３８】
図６（ｂ）において、第一のスイッチング素子１０３のソース領域１０３ｂはコンタクトプラグを介して第二のビット線１１０に接続される。そして、第一の接続配線層１１０と同一層内に第一のビット線１０９が配置される。
【００３９】
図５ではメモリセルを４つ示しているが、第一の活性化領域１１２により第一のスイッチング素子１０３の第二の電源１０６側のコンタクトを２つのセルで共通にすることで、セル面積を縮小することができる。また、第一のビット線１０９、第二のビット線１１０、第一の接続配線１１３を、同一層で作製し、同一方向に配線することでセル面積を縮小することができる。２つの抵抗変化性素子は、第一のスイッチング素子１０３のゲート電極１０７方向にならべて配置しているが、抵抗変化性素子は第二の接続配線層１１１下部に配置することが可能である。従って図５のようにレイアウトすることで、２層の配線層でメモリセルを実現することができ、配線リソースを節約することが可能である。
【００４０】
なお、図では、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２はそれぞれ第一のビット線１０９と第二の接続配線層１１１との間、第一の接続配線層１１３と第二の接続配線層１１１との間に形成されているが、必ずしもそれに限るものではない。任意のｎ層目の導電層とそれより上層のｍ層目の導電層とを用いて、その間にメモリセルを配置するようにしても良い。また、第一の接続配線層１１３と第二の抵抗変化性素子１０２の下部電極を同一構成としてもよい。また、第二の接続配線層１１１と第一の抵抗変化性素子１０１の上部電極を同一構成としてもよい。
【００４１】
次に図５、６で示される半導体集積回路の製造方法について図７〜１１を用いて説明する。図７〜１１において（ａ）はＡ−Ａ断面図を、（ｂ）はＢ−Ｂ断面図をそれぞれ示す。
【００４２】
まず図７に示すように、半導体基板上の素子領域に第一のスイッチング素子１０３を形成する。その後半導体基板上を層間絶縁膜で被覆し、第一のスイッチング素子１０３のソース、ドレイン上にコンタクト穴を開口する。開口後、ダマシン法等の方法によりコンタクト穴を埋め込むコンタクトプラグを形成しながら、層間絶縁膜上に導電層を形成する。
【００４３】
その後、図８に示すように、この導電層をスパッタエッチング等の方法によりパターニングし、第一のビット線１０９、第二のビット線１１０、第一の接続配線層１１３を形成する。そして第一のビット線１０９、第二のビット線１１０、第一の接続配線層１１３間を層間絶縁膜で埋め込む。
【００４４】
次に、図９に示すように、抵抗変化性素子の下部電極、素子本体、上部電極となる層をこの順に積層し、素子サイズにエッチング加工することにより、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２を形成する。この工程により、メモリセルの成膜を一度で行なうことができ、プロセス数を少なくすることができる。
【００４５】
その後、図１０、１１に示すように、層間絶縁膜で第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２を覆い、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２の上部電極表面をそれぞれ露出するコンタクト穴を開口する。開口後、ダマシン法等の方法によりコンタクト穴を埋め込むコンタクトプラグを形成しながら、層間絶縁膜上に導電層を形成する。その後、この導電層をスパッタエッチング等の方法によりパターニングすることで、第二の接続配線層１１１を形成する。
【００４６】
その後、第二の接続配線層１１１を、図示しない第二のスイッチング素子１０４のゲート電極に接続することで、本発明の半導体集積回路が完成する。
【００４７】
図１２は、図５のＡ−Ａ断面及びＢ−Ｂ断面のもう一つの例を示したものである。図６の構造との違いは、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２のそれぞれの上部電極の幅が図６の構造では第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２のそれぞれの素子本体、下部電極の幅と同等であるのに対し、図１２では素子本体、下部電極の幅より小さいことである。図１２の構成によれば、抵抗変化性素子側面でのリーク電流を抑えることができる。
【００４８】
なお、図１２の構成においても図６の構成と同様、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２はそれぞれ第一のビット線１０９と第二の接続配線層１１１との間、第一の接続配線層１１３と第二の接続配線層１１１との間に形成されているが、必ずしもそれに限るものではない。任意のｎ層目の導電層とそれより上層のｍ層目の導電層とを用いて、その間にメモリセルを配置するようにしても良い。また、第一の接続配線層１１３と第二の抵抗変化性素子１０２の下部電極を同一構成としてもよい。また、第二の接続配線層１１１と第一の抵抗変化性素子１０１の上部電極を同一構成としてもよい。
【００４９】
次に図１２の半導体集積回路の製造工程を図１３〜１８を用いて説明する。図１３〜１８において（ａ）はＡ−Ａ断面図を、（ｂ）はＢ−Ｂ断面図をそれぞれ示す。
【００５０】
まず図１３に示すように、半導体基板上の素子領域に第一のスイッチング素子１０３を形成する。その後半導体基板上を層間絶縁膜で被覆し、第一のスイッチング素子１０３のソース、ドレイン上にコンタクト穴を開口する。開口後、ダマシン法等の方法によりコンタクト穴を埋め込むコンタクトプラグを形成しながら、層間絶縁膜上に導電層を形成する。その後、この導電層をスパッタエッチング等の方法によりパターニングし、第一のビット線１０９、第二のビット線１１０、第一の接続配線層１１３を形成する。そして第一のビット線１０９、第二のビット線１１０、第一の接続配線層１１３間を層間絶縁膜で埋め込む。
【００５１】
次に、図１４に示すように、抵抗変化性素子の下部電極、素子本体となる層をこの順に積層し、素子サイズにエッチング加工する。
【００５２】
エッチング加工後、層間絶縁膜で第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２の下部電極、素子本体を被覆し、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２の素子本体表面をそれぞれ露出する開口を形成する。開口形成後、図１５に示すように、スパッタ等の方法により開口中に上部電極の材料を堆積させる。
【００５３】
その後、図１６、１７に示すように、層間絶縁膜で第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２を覆い、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２の上部電極表面をそれぞれ露出するコンタクト穴を開口する。開口後、ダマシン法等の方法によりコンタクト穴を埋め込むコンタクトプラグを形成しながら、層間絶縁膜上に導電層を形成する。その後、この導電層をスパッタエッチング等の方法によりパターニングすることで、第二の接続配線層１１１を形成する。
【００５４】
その後、第二の接続配線層１１１を、図示しない第二のスイッチング素子１０４のゲート電極に接続することで、本発明の半導体集積回路が完成する。
【００５５】
以上、図１３〜１７の製造工程によれば、素子サイズの調整が抵抗変化性素子のサイズにより調整でき制御しやすいという利点がある。
【００５６】
プログラム電圧のかけ方を工夫することで、図５に示す半導体集積回路のデバイス構成の変形例として図１８の構成が可能になる。図１８はメモリセルを８つ並べる場合の第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２および第一のスイッチング素子１０３の上面図を示す。図５との違いは、第一のスイッチング素子１０３のゲート電極１０７が図１８の上下方向に配置されるメモリセル間で共有していることであり、かつ第二のビット線１１０を共有していることである。その他は図５の構成と同様であるため、説明を省略する。このようにすることで、セル面積を縮小することが可能になる。この構成の場合、第二のビット線１１０が共通となっているため、書き込み動作は第一のビット線１０９の電位を操作することで行なう。すなわち、書き込み動作時においては、第二のビット線１１０の電位を共通電位V0とし、第一のビット線１０９に与える電位を＋Vprg、または−Vprgとして電圧の方向を変更することで書き込みを行なう。ゲート電極１０７、第二のビット線１１０を共有することにより、セル面積を縮小することができる。
【００５７】
図１８では第二のビット線１１０を共有しているが、第一のビット線１０９を共有し、第二のビット線の電位を操作して書き込みを行なうことも可能である。また、ゲート電極１０７のみを共有し、ビット線は共有しないようにすると、書き込み動作の操作を変えずにセル面積を縮小することが可能である。
【実施例】
【００５８】
（実施例１）
図１９に示す本発明の半導体集積回路の実施例は、図１に示す本発明の半導体集積回路の基本構成において、出力ノード１０８に第二のスイッチング素子１０４のゲートとは別に第三のスイッチング素子１２０のゲートが接続されており、一つのメモリセルに複数のスイッチング素子を接続する形態をとっている。第三のスイッチング素子１２０は、例えば、第二のスイッチング素子１０４と同様にFPGA内での配線切り替えスイッチに使用することも可能である。FPGA内で、スイッチング素子の導通、非導通の状態が必ず同じになる箇所がある場合には、メモリセルを増やさずに第三のスイッチング素子１２０を用いることで、メモリセル数を削減することができ、低面積化が可能になる。
【００５９】
もう一つの利用方法として、第三のスイッチング素子１２０を、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２の状態の確認に使用することも可能である。例えばプログラム時には、2つの第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２が両方とも低抵抗状態になり定常状態より大きな電流が流れる時間があるため、第一の電源１０５と第二の電源１０６の間に流れる電流を計測することで、書き込みが行なわれたかどうかの判断は可能である。しかし、定常状態では、２つの第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２は状態１、状態２のいずれでも、一方のメモリの抵抗値が高抵抗状態であれば、もう一方のメモリの抵抗値は低抵抗状態であるので、電流量を読むだけでは、いずれの状態であるかの判断ができない。また、何らかのエラーが起きて正しくプログラムできなかった場合でも、電流量だけでは判断することができない。メモリの状態は、第二のスイッチング素子１０４の導通、非導通状態をソース、ドレインの間に流れる信号によって確認することもできる。ただし、ソース・ドレインはFPGAの信号線として使われているため、確認用の回路を付加して、動作させることで、配線容量の増大や、FPGAを動作させられない時間ができ、実際の回路動作に支障が出る。
【００６０】
第三のスイッチング素子１２０の導通、非導通状態を第三のスイッチング素子１２０のソース・ドレイン間にテスト信号を流し、確認することで、同様に接続された第二のスイッチング素子１０４の導通、非導通状態と第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２の状態を類推することができる。第三のスイッチング素子１２０のソース・ドレインはテスト用配線として、FPGAの信号線と切り離して使用するため、FPGA動作に負荷をかけることはない利点がある。また、第二のスイッチング素子１０４は、任意の回路構成で信号遅延を減少させるためにサイズを大きくとっておく必要があるが、第三のスイッチング素子１２０はテスト信号が読めればよいので、小さいサイズでよく、面積のオーバーヘッドも小さく抑えることができる。また、N型でもP型でも良い。よって第三のスイッチング素子１２０は、上述の全ての実施例で使用することが可能である。
【００６１】
（実施例２）
図２０は図１に示す基本構成の変形例の一つである。第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２と第一のスイッチング素子１０３の構成は同じであるが、２つの抵抗変化性素子間の出力ノード１０８は、第一の反転回路１３０に接続される。第一の反転回路１３０の出力は第四のスイッチング素子１３１のゲートに接続される。第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２の抵抗値によっては駆動力が落ちることがあるため、バッファとして第一の反転回路１３０を挿入し、第四のスイッチング素子１３１の導通、非導通を切り換える。なお、この場合出力ノード１０８の論理は反転させてプログラムするようにする。すなわち、第四のスイッチング素子１３１を導通させる場合には、出力ノード１０８がVSSに近い電圧になるように、第四のスイッチング素子１３１を非導通にする場合には、出力ノード１０８がVDDに近い電圧になるように、第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２をプログラムする。
【００６２】
（実施例３）
図２１は、図１に示す本発明の半導体集積回路の基本構成でマルチプレクサを実現したものである。第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２と第一のスイッチング素子１０３の構成は図１と同じであるが、２つの抵抗変化性素子間の出力ノード１０８は、第二のスイッチング素子１０４のゲートと第一の反転回路１３０に接続される。第一の反転回路１３０の出力は第四のスイッチング素子１３１のゲートに接続される。第二のスイッチング素子１０４のソースには第一の入力端子１４０が、第四のスイッチング素子１３１のソースには第二の入力端子１４１が接続され、第二のスイッチング素子１０４、第四のスイッチング素子１３１両方のドレインは出力端子１４２に接続される。FPGA動作時に、例えば出力ノード１０８がVDDに近い電圧である場合には、第二のスイッチング素子１０４はオンであり、第四のスイッチング素子１３１はオフとなるので、第一の入力端子１４０の状態が出力端子１４２に出力される。逆に、出力ノード１０８がVSSに近い電圧であれば、第二のスイッチング素子１０４はオフであり、第四のスイッチング素子１３１はオンとなるので、第二の入力端子１４１の状態が出力端子１４２に出力される。このように、相補的な論理を実現したい場合は、二入力の一方に反転回路を追加することで対応できる。また、ここでは２入力１出力のマルチプレクサの例を示したが、これを繰り返すことで、任意の入力数のマルチプレクサを実現することが可能である。
【００６３】
（実施例４）
図２２は、ルックアップテーブルを実現したものである。第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２と第一のスイッチング素子１０３の構成、及び、第三の抵抗変化性素子２０１、第四の抵抗変化性素子２０２と第六のスイッチング素子２０３の構成は同じであるが、抵抗変化性素子間の出力ノード１０８および出力ノード２１８はそれぞれ、第五のスイッチング素子２０８、第七のスイッチング素子２０９のソースに接続される。入力端子２１１は第五のスイッチング素子２０８のゲートと第二の反転回路２１０に入力され、第二の反転回路２１０の出力は第七のスイッチング素子２０９のゲートに接続される。第五のスイッチング素子２０８、第七のスイッチング素子２０９のドレインは両方とも出力端子２１２に接続される。FPGA動作時に、例えば、入力端子２１１にVDDの電圧が入力された場合、第五のスイッチング素子２０８はオンとなり、第七のスイッチング素子２０９はオフとなるので、出力端子２１２には第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２の状態で決まる出力ノード１０８の値が出力される。逆に、入力端子２１１にVSSの電圧が入力された場合、第五のスイッチング素子２０８はオフとなり、第七のスイッチング素子２０９はオンとなるので、出力端子２１２には第三の抵抗変化性素子２０１、第四の抵抗変化性素子２０２の状態で決まる出力ノード２１８の値が出力される。第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２、第三の抵抗変化性素子２０１、第四の抵抗変化性素子２０２の値を適切にプログラムすることで、１入力１出力の場合の任意の真理値表を実現することができる。また、ここでは、１入力１出力のルックアップテーブルの例を示したが、これを繰り返すことで、任意の入力数のルックアップテーブルを実現することが可能である。
【００６４】
（実施例５）
図２３は図２２の変形例の一つで、ルックアップテーブルを実現したものである。第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２と第一のスイッチング素子１０３の構成、及び第三の抵抗変化性素子２０１、第四の抵抗変化性素子２０２と第六のスイッチング素子２０３の構成は同じであるが、出力ノード１０８および出力ノード２１８はそれぞれ、第三の反転回路３０１と第四の反転回路３０２に入力される。第三の反転回路３０１の出力は第五のスイッチング素子２０８のソースに、第四の反転回路３０２の出力は第七のスイッチング素子２０９のソースにそれぞれ接続される。入力端子２１１は第五のスイッチング素子２０８のゲートと第二の反転回路２１０に入力され、第二の反転回路２１０の出力は第七のスイッチング素子２０９のゲートに接続される。第五のスイッチング素子２０８、第七のスイッチング素子２０９のドレインは両方とも出力端子２１２に接続される。第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２、および第三の抵抗変化性素子２０１、第四の抵抗変化性素子２０２の抵抗値によっては駆動力が落ちることがあるため、バッファとして第三の反転回路３０１、第四の反転回路３０２を挿入し、ルックアップテーブルの出力に使用する。FPGA動作時に、例えば、入力端子２１１にVDDの電圧が入力された場合、第五のスイッチング素子２０８はオンとなり、第七のスイッチング素子２０９はオフとなるので、出力端子２１２には第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２の状態で決まる出力ノード１０８の反転した値が出力される。逆に、入力端子２１１にVSSの電圧が入力された場合、第五のスイッチング素子２０８はオフとなり、第七のスイッチング素子２０９はオンとなるので、出力端子２１２には第三の抵抗変化性素子２０１、第四の抵抗変化性素子２０２の状態で決まる出力ノード２１８の反転した値が出力される。第一の抵抗変化性素子１０１、第二の抵抗変化性素子１０２、第三の抵抗変化性素子２０１、及び第四の抵抗変化性素子２０２の値を適切にプログラムすることで、１入力１出力の場合の任意の真理値表を実現することができる。ただし、バッファとして第三の反転回路３０１と第四の反転回路３０２が挿入されているため、メモリ素子のプログラムの際は、出力ノード１０８、２１８は逆の値になるようにする。
【００６５】
以上、本発明によれば、抵抗変化性のバイポーラ型メモリを、誤書き込みや誤動作を起こさずにFPGAに適用することが可能になる。以上述べた実施例は一例であり、それらを組み合わせた構成や、同様の機能を有する異なる構成をとることは可能である。
【００６６】
以上本発明の実施形態について説明したが、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００６７】
１０１…第一の抵抗変化性素子
１０２…第二の抵抗変化性素子
１０３…第一のスイッチング素子
１０３ａ…ドレイン領域
１０３ｂ…ソース領域
１０４…第二のスイッチング素子
１０５…第一の電源
１０６…第二の電源
１０７…ゲート電極
１０８、２１８…出力ノード
１０９…第一のビット線
１１０…第二のビット線
１１１…第二の接続配線層
１１２…第一の活性化領域
１１３…第一の接続配線層
１２０…第三のスイッチング素子
１３０…第一の反転回路
１３１…第四のスイッチング素子
１４０…第一の入力端子
１４１…第二の入力端子
１４２…出力端子
２０１…第三の抵抗変化性素子
２０２…第四の抵抗変化性素子
２０３…第六のスイッチング素子
２０８…第五のスイッチング素子
２０９…第七のスイッチング素子
２１０…第二の反転回路
２１１…入力端子
２１２…出力端子
３０１…第三の反転回路
３０２…第四の反転回路
【図１】
2011172084.tif 000009
【図２】
2011172084.tif 000010
【図３】
2011172084.tif 000011
【図４】
2011172084.tif 000012
【図５】
2011172084.tif 000013
【図６】
2011172084.tif 000014
【図７】
2011172084.tif 000015
【図８】
2011172084.tif 000016
【図９】
2011172084.tif 000017
【図１０】
2011172084.tif 000018
【図１１】
2011172084.tif 000019
【図１２】
2011172084.tif 000020
【図１３】
2011172084.tif 000021
【図１４】
2011172084.tif 000022
【図１５】
2011172084.tif 000023
【図１６】
2011172084.tif 000024
【図１７】
2011172084.tif 000025
【図１８】
2011172084.tif 000026
【図１９】
2011172084.tif 000027
【図２０】
2011172084.tif 000028
【図２１】
2011172084.tif 000029
【図２２】
2011172084.tif 000030
【図２３】
2011172084.tif 000031