(57)【要約】【課題】高速動作を行うことが可能なプログラマブル論理回路および不揮発性ＦＰＧＡを提供する。【解決手段】本実施形態のプログラマブル論理回路は、ソース、ドレイン、およびゲートを有する第１トランジスタと、第１および第２端子を有し前記第１端子が前記第１トランジスタの前記ソースおよびドレインの一方に接続される第１プログラマブル素子と、を備えたセルと、前記第１トランジスタの前記ソースおよびドレインの他方が接続される第１配線と、前記第１プログラマブル素子の前記第２端子が接続される第２配線と、前記第１トランジスタの前記ゲートが接続される第３配線と、ソース、ドレイン、およびゲートを有し前記ソースおよびドレインの一方が前記第２配線に接続される第１カットオフトランジスタと、入力端子を有し前記入力端子が前記第１カットオフトランジスタの前記ソースおよびドレインの他方に接続される第１ＣＭＯＳインバータと、を備えている。【選択図】図２
2015142175.tif 000002
【特許請求の範囲】
【請求項１】
ソース、ドレイン、およびゲートを有する第１トランジスタと、第１および第２端子を有し前記第１端子が前記第１トランジスタの前記ソースおよびドレインの一方に接続される第１プログラマブル素子と、を備えたセルと、
前記第１トランジスタの前記ソースおよびドレインの他方が接続される第１配線と、
前記第１プログラマブル素子の前記第２端子が接続される第２配線と、
前記第１トランジスタの前記ゲートが接続される第３配線と、
ソース、ドレイン、およびゲートを有し前記ソースおよびドレインの一方が前記第２配線に接続される第１カットオフトランジスタと、
入力端子を有し前記入力端子が前記第１カットオフトランジスタの前記ソースおよびドレインの他方に接続される第１ＣＭＯＳインバータと、
を備えたプログラマブル論理回路。
【請求項２】
マトリクス状に配列された複数のセルであって、各セルはソース、ドレイン、およびゲートを有する第１トランジスタと、第１および第２端子を有し前記第１端子が前記第１トランジスタの前記ソースおよびドレインの一方に接続される第１プログラマブル素子と、を備える、複数のセルと、
前記複数のセルの各列に対応して設けられる複数の第１配線であって、各第１配線は対応する列におけるセルの前記第１トランジスタの前記ソースおよびドレインの他方が接続される、複数の第１配線と、
前記複数のセルの各行に対応して設けられる複数の第２配線であって、各第２配線は対応する行におけるセルの前記第１プログラマブル素子の前記第２端子が接続される、複数の第２配線と、
前記複数のセルの各行に対応して設けられる複数の第３配線であって、各第３配線は対応する行におけるセルの前記第１トランジスタの前記ゲートが接続される、複数の第３配線と、
前記複数の第２配線のそれぞれに対応して設けられる複数の第１カットオフトランジスタであって、各第１カットオフトランジスタのソースおよびドレインの一方が、対応する前記第２配線に接続される、複数の第１カットオフトランジスタと、
前記複数の第１カットオフトランジスタに対応して設けられる複数の第１ＣＭＯＳインバータであって、各第１ＣＭＯＳインバータの入力端子が、対応する前記第１カットオフトランジスタの前記ソースおよびドレインの他方に接続される、複数の第１ＣＭＯＳインバータと、
を備えたプログラマブル論理回路。
【請求項３】
マトリクス状に配列された複数のセルであって、各セルは、第１乃至第４トランジスタと、第１および第２プログラマブル素子と、を備え、前記第１トランジスタのソースおよびドレインの一方に前記第２トランジスタのソースおよびドレインの一方が接続され、前記第２トランジスタのソースおよびドレインの他方に前記第１プログラマブル素子の第１端子が接続され、前記第３トランジスタのソースおよびドレインの一方に前記第４トランジスタのソースおよびドレインの一方が接続され、前記第４トランジスタのソースおよびドレインの他方に前記第２プログラマブル素子の第１端子が接続される、複数のセルと、
前記複数のセルの各列に対応して設けられる複数の第１配線であって、各第１配線は、対応する列におけるセルの前記第１および第２トランジスタのそれぞれの前記ソースおよびドレインの他方が接続される、複数の第１配線と、
前記複数のセルの各行に対応して設けられる複数の第２配線であって、各第２配線は対応する行におけるセルの前記第１および第２プログラマブル素子のそれぞれの前記第２端子が接続される、複数の第２配線と、
前記複数のセルの各行に対応して設けられる複数の第３配線であって、各第３配線は対応する行におけるセルの前記第１トランジスタのゲートが接続される、複数の第３配線と、
前記複数のセルの各行に対応して設けられる複数の第４配線であって、各第４配線は対応する行におけるセルの前記第２トランジスタのゲートが接続される、複数の第４配線と、
前記複数のセルの各行に対応して設けられる複数の第５配線であって、各第５配線は対応する行におけるセルの前記第３トランジスタのゲートが接続される、複数の第５配線と、
前記複数のセルの各行に対応して設けられる複数の第６配線であって、各第６配線は対応する行におけるセルの前記第４トランジスタのゲートが接続される、複数の第６配線と、
前記複数の第２配線のそれぞれに対応して設けられる複数の第１カットオフトランジスタであって、各第１カットオフトランジスタのソースおよびドレインの一方が、対応する前記第２配線に接続される、複数の第１カットオフトランジスタと、
前記複数の第１カットオフトランジスタに対応して設けられる複数の第１ＣＭＯＳインバータであって、各第１ＣＭＯＳインバータの入力端子が、対応する前記第１カットオフトランジスタの前記ソースおよびドレインの他方に接続される、複数の第１ＣＭＯＳインバータと、
を備えたプログラマブル論理回路。
【請求項４】
マトリクス状に配列された複数のセルであって、各セルは第１および第２端子を有する第１プログラマブル素子を備える、複数のセルと、
前記複数のセルの各列に対応して設けられる複数の第１配線であって、各第１配線は対応する列におけるセルの前記第１プログラマブル素子の前記第１端子が接続される、複数の第１配線と、
前記複数のセルの各行に対応して設けられる複数の第２配線であって、各第２配線は対応する行におけるセルの前記第１プログラマブル素子の前記第２端子が接続される、複数の第２配線と、
前記複数の第２配線のそれぞれに対応して設けられる複数の第１カットオフトランジスタであって、各第１カットオフトランジスタのソースおよびドレインの一方が、対応する前記第２配線に接続される、複数の第１カットオフトランジスタと、
前記複数の第１カットオフトランジスタに対応して設けられる複数の第１ＣＭＯＳインバータであって、各第１ＣＭＯＳインバータの入力端子が、対応する前記第１カットオフトランジスタの前記ソースおよびドレインの他方に接続される、複数の第１ＣＭＯＳインバータと、
を備えたプログラマブル論理回路。
【請求項５】
前記プログマブル素子に書き込みが行われるとき、前記第１カットオフトランジスタのゲートに駆動電圧Ｖｄｄが印加される請求項１乃至４のいずれかに記載のプログラマブル論理回路。
【請求項６】
前記プログラマブル素子に書き込みを行う電圧Ｖｐｐは、前記第１カットオフトランジスタのゲート絶縁膜の厚さをＴｏｘとすると、
Ｖｄｄ＜Ｖｐｐ＜１．５×１０９×Ｔｏｘ＋Ｖｄｄ
の範囲にある請求項５記載のプログラマブル論理回路。
【請求項７】
前記プログラマブル素子は、ＭＯＳトランジスタであって、前記第１および第２端子の一方は前記ＭＯＳトランジスタのゲートであり、前記第１および第２端子の他方は前記ＭＯＳトランジスタのソースおよびドレインの少なくとも一方である請求項１乃至６のいずれかに記載のプログラマブル論理回路。
【請求項８】
前記プログラマブル素子は、ｐｎ接合である請求項１乃至６のいずれかに記載のプログラマブル論理回路。
【請求項９】
前記プログラマブル素子は、第１および第２電極と、前記第１電極と前記第２電極との間に設けられた抵抗変化層とを備えた抵抗変化型メモリである請求項１乃至６のいずれかに記載のプログラマブル論理回路。
【請求項１０】
前記第１配線を駆動する第２ＣＭＯＳインバータを更に備えている請求項１乃至９のいずれかに記載のプログラマブル論理回路。
【請求項１１】
前記第２ＣＭＯＳインバータの出力段に設けられた第２カットオフトランジスタを更に備えている請求項１０記載のプログラマブル論理回路。
【請求項１２】
アレイ状に配置された複数の基本ブロックを備え、各基本ブロックは隣接する基本ブロックと配線で接続されかつ、論理演算を行う論理ブロックと、隣接する基本ブロックに接続される配線の被接続または非接続を制御するとともに前記論理ブロックとの接続を制御するスイッチブロックと、を備え、前記論理ブロックおよび前記スイッチブロックの少なくともいずれかは、請求項１乃至１１のいずれかに記載のプログラマブル論理回路を備えている不揮発性ＦＰＧＡ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、プログラマブル論理回路および不揮発性ＦＰＧＡに関する。
【背景技術】
【０００２】
近年、フィールドプログラマブルゲートアレイ（以下、ＦＰＧＡ(Field Programmable Gate Array)ともいう）に代表されるようなリコンフィギャラブルな集積回路装置が注目されている。ＦＰＧＡは、論理ブロックで基本的な論理情報を実現し、論理ブロック間の接続をスイッチブロックで切り換える。これによって、ＦＰＧＡは、利用者が任意の論理機能を実現することができる。論理ブロックの論理情報や接続を切り換えるスイッチブロックのデータはコンフィグレーションメモリ(Configuration Memory)に格納され、このデータに基づいて任意の論理機能が実現される。
【０００３】
コンフィグレーションメモリの情報を不揮発性にすることで不揮発性ＦＰＧＡが実現される。不揮発性ＦＰＧＡの一種として、プログラマブル素子のひとつである、アンチフューズデバイスを用いたものがある。これは、論理ブロック間を接続するスイッチブロックを、アンチフューズデバイスそのものに置き換えたものである。ただし、アンチフューズデバイスの書き込みには高電圧が必要になる。このため、従来のアンチフューズＦＰＧＡでは、高電圧が印加される配線を高速動作可能な低電圧駆動ＣＭＯＳ回路において直接に増幅することができず、ＦＰＧＡ動作速度が遅くなってしまうという課題があった。また、アンチフューズデバイスを用いた不揮発ＦＰＧＡは、一箇所のスイッチにメモリを多数配置して、用途に応じて読み出すメモリを変えるような、メモリ多重アーキテクチャを用いることができないという課題もあった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−３７７３６号公報
【特許文献２】特開２０１２−２０３９５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本実施形態は、高速動作を行うことが可能なプログラマブル論理回路および不揮発性ＦＰＧＡを提供する。
【課題を解決するための手段】
【０００６】
本実施形態によるプログラマブル論理回路は、ソース、ドレイン、およびゲートを有する第１トランジスタと、第１および第２端子を有し前記第１端子が前記第１トランジスタの前記ソースおよびドレインの一方に接続される第１プログラマブル素子と、を備えたセルと、前記第１トランジスタの前記ソースおよびドレインの他方が接続される第１配線と、前記第１プログラマブル素子の前記第２端子が接続される第２配線と、前記第１トランジスタの前記ゲートが接続される第３配線と、ソース、ドレイン、およびゲートを有し前記ソースおよびドレインの一方が前記第２配線に接続される第１カットオフトランジスタと、入力端子を有し前記入力端子が前記第１カットオフトランジスタの前記ソースおよびドレインの他方に接続される第１ＣＭＯＳインバータと、を備えている。
【図面の簡単な説明】
【０００７】
【図１】ＦＰＧＡの構成を示すブロック図。
【図２】第１実施形態によるプログラマブル論理回路の第１例を示す回路図。
【図３】第１実施形態によるプログラマブル論理回路の第２例を示す回路図。
【図４】第２例のプログラマブル論理回路の書き込み動作を説明する図。
【図５】第２例のプログラマブル論理回路の書き込み動作を説明する図。
【図６】第１実施形態によるプログラマブル論理回路の第３例を示す回路図。
【図７】第２例のプログラマブル論理回路の読み出し動作を説明する図。
【図８】第１実施形態によるプログラマブル論理回路の第４例を示す回路図。
【図９】図９（ａ）乃至９（ｃ）は、プログラマブル素子の例を示す断面図。
【図１０】第２実施形態によるプログラマブル論理回路を示す回路図。
【図１１】第２実施形態によるプログラマブル論理回路の書き込み動作を説明する図。
【図１２】第２実施形態によるプログラマブル論理回路の書き込み動作を説明する図。
【図１３】第２実施形態のプログラマブル論理回路を用いたマルチコンテキストＦＰＧＡのＦＰＧＡ動作を説明する図。
【図１４】図１４（ａ）、１４（ｂ）はそれぞれ、第３実施形態のプログラマブル論理回路の第１例および第２例を示す回路図。
【図１５】図１５（ａ）、１５（ｂ）はそれぞれ、第４実施形態のプログラマブル論理回路の第１例および第２例を示す回路図。
【図１６】第５実施形態のプログラマブル論理回路に用いられるプログラマブル素子の一例を示す断面図。
【発明を実施するための形態】
【０００８】
図面を参照して実施形態について説明する。
【０００９】
（第１実施形態）
まず、第１実施形態によるプログラマブル論理回路について説明する前に、一般的なＦＰＧＡの構成について説明する。図１に示すように、一般に、ＦＰＧＡ１００は、アレイ状に配置された複数の基本ブロック１１０を有している。各基本ブロック１１０は、隣接する基本ブロック１１０と配線で接続される。各基本ブロック１１０は、論理ブロック１２０と、スイッチブロック１３０と、を備えている。論理ブロック１２０は論理演算を行うブロックであり、その基本構成は真理値表を実装したルックアップテーブルを用いて行う。各スイッチブロック１３０は、隣接する基本ブロック１１０に接続される配線の接続／非接続を制御し、任意の方向へ信号を伝達することを可能にする。また、各スイッチブロック１３０は、このスイッチブロック１３０が含まれる基本ブロック１１０に属する論理ブロック１２０との接続も行う。論理ブロック１２０およびスイッチブロック１３０はともにプログラマブル論理回路、すなわちコンフィグレーションメモリに記憶されたデータに基づいて接続の制御を行うことができる。
【００１０】
第１実施形態によるプログラマブル論理回路の第１例について図２を参照して説明する。この第１例のプログラマブル論理回路１４０は、ＦＰＧＡのスイッチブロック１３０に用いられる。この第１例のプログラマブル論理回路１４０は、少なくとも１本のソース線ＳＬと、少なくとも１本のワード線ＷＬと、ソース線ＳＬと交差する少なくとも１本のビット線ＢＬと、少なくとも１個のセル１０と、ソース線ＳＬを駆動するＣＭＯＳインバータ２０と、ビット線ＢＬに接続されるカットオフトランジスタ３２と、このカットオフトランジスタ３２を介してビット線に接続されるＣＭＯＳインバータ３４と、を備えている。なお、ソース線ＳＬをＣＭＯＳインバータ２０以外のもので駆動できる場合は、ＣＭＯＳインバータ２０は無くともよい。
【００１１】
セル１０は、ソース線ＳＬとビット線ＢＬとの交差領域に設けられ、選択トランジスタ１２と、プログラマブル素子１４と、を備えている。選択トランジスタ１２は、ゲートがワード線（選択信号線）ＷＬに接続され、ソースおよびドレインの一方がソース線ＳＬに接続される。プログラマブル素子１４は、一端が選択トランジスタ１２のソースおよびドレインの他方に接続され、他端がビット線ＢＬに接続される。
【００１２】
この第１実施形態においては、１つのプログラマブル素子１４に対して、１つの選択トランジスタ１２が直列に配置される。プログラマブル素子１４に書き込み行う場合またはセル１０がＦＰＧＡ動作を行う場合には、選択トランジスタ１２のゲートには、選択トランジスタ１２がＯＮとなる電圧が与えられる。例えば、選択トランジスタ１２がＮチャネルＭＯＳトランジスタであれば、典型的には電源電圧Ｖｄｄが用いられる。図２では、選択トランジスタ１２とカットオフトランジスタ３２がＮチャネルＭＯＳトランジスタして記述されているが、ＰチャネルＭＯＳトランジスタであってもよい。
【００１３】
プログラマブル素子１４への書き込みには、通常、論理動作で用いる電源電圧Ｖｄｄよりも高いプログラマブル電圧Ｖｐｐが用いられる。しかし、ＣＭＯＳインバータ２０、３４、選択トランジスタ１２、カットオフトランジスタ３２は、電源電圧Ｖｄｄで動作する通常のトランジスタを用いることが好ましい。通常のトランジスタではなく、プログラマブル電圧Ｖｐｐで動作するトランジスタは高耐圧のトランジスタとなり、動作が遅くなるうえに回路面積等が増大する。このように、電源電圧Ｖｄｄで動作する通常のトランジスタを用いることにより、回路面積を増加させることなく、プログラマブル素子１４を用いたＦＰＧＡを実現することができる。
【００１４】
本実施形態のプログラマブル論理回路の第２例を図３に示す。この第２例のプログラマブル論理回路１４０は、図２に示すセル１０を、２×２のアレイ状に配置した構成を有し、ＦＰＧＡのスイッチブロック１３０、および論理ブロック１２０の両方に用いることができる。すなわち、この第２例のプログラマブル論理回路１４０は、２本のソース線ＳＬ１、ＳＬ２と、２本のワード線ＷＬ１、ＷＬ２と、各ソース線ＳＬ１、ＳＬ２と交差する２本のビット線ＢＬ１、ＢＬ２と、４個のセル１０ｉｊ、（ｉ，ｊ＝１、２）と、ソース線ＳＬｊ（ｊ＝１、２）を駆動するＣＭＯＳインバータ２０ｊと、ビット線ＢＬｉ（ｉ＝１，２）に接続されるカットオフトランジスタ３２ｉと、このカットオフトランジスタ３２ｉを介してビット線ＢＬｉに接続されるＣＭＯＳインバータ３４ｉと、を備えている。このように、複数のセルをアレイ状に配置する場合には、同一行（ｉ（ｉ＝１、２）行）のセル１０ｉ１、１０ｉ２、でワード線ＷＬｉおよびビット線ＢＬｉを共有するとともに、同一行（ｉ（ｉ＝１，２）行）のカットオフトランジスタ３２ｉ、ＣＭＯＳインバータ３４ｉでビット線ＢＬｉを共有する。また同一列（ｊ＝１、２）のセル１０１ｊ、１０２ｊでソース線ＳＬｊおよびＣＭＯＳインバータ２０ｊを共有する。このような構成を有することにより、回路面積を縮小することが可能となる。
【００１５】
次に、図４および図５を参照して、アレイ状に配置されたセル１０ｉｊ（ｉ，ｊ＝１、２）の書込み動作を説明する。図４では２×２のアレイであるが、２×３のアレイや、３×３のアレイ、もっと多いセルを備えたアレイあっても、同様の動作が可能である。また、図４および図５では、選択トランジスタやカットオフトランジスタがＮチャネルＭＯＳトランジスタであるとして説明するが、各々がＰチャネルＭＯＳトランジスタを用いた場合は、適宜電圧Ｖｄｄと電圧Ｖｓｓを置き換えることで同様の動作が可能である。
【００１６】
図４は、すべてのセル１０ｉｊ（ｉ，ｊ＝１、２）のプログラマブル素子１４がフレッシュな状態にあり、この状態からセル１０１１のプログラマブル素子１４に書込みを行う動作を説明する図である。この場合、セル１０１１内の選択トランジスタ１２が接続されるワード線ＷＬ１に、トランジスタがＯＮする電圧Ｖｄｄを印加する。セル１０１１内のプログラマブル素子１４が接続されるビット線ＢＬ１にプログラム電圧Ｖｐｐ、セル１０１１内の選択トランジスタ１２が接続されるソース線ＳＬ１に規準電位Ｖｓｓ（通常はグラウンド電位）を与える。そのほかの配線および端子、例えばワード線ＷＬ２、ビット線ＢＬ２、ソース線ＳＬ２、およびカットオフトランジスタ３２１および３２２のゲートにはすべて電圧Ｖｄｄを与える。この場合、セル１０１１のプログラマブル素子１４にＶｐｐ−Ｖｓｓの電圧が印加され、プログラマブル素子１４は破壊され導通する。すなわち、セル１０１１内のプログラマブル素子１４は書き込まれたことになる。
【００１７】
このとき、他のセル１０１２、１０２１、１０２２内のプログラマブル素子１４には書き込みが行われない。例えば、セル１０１２においては、選択トランジスタ１２のゲートに電圧Ｖｄｄが印加され、ソースに電圧Ｖｄｄが印加されているため、選択トランジスタ１２がＯＦＦしている。そのため、プログラマブル素子１４の片方の端子には電圧Ｖｐｐが印加されるものの、プログラマブル素子１４の両端には電圧Ｖｐｐ−Ｖｓｓが印加されず、破壊されることはない。セル１０２１においては、プログラマブル素子１４の両端には、電圧Ｖｄｄ−Ｖｓｓしか印加されず、破壊されない。セル１０２２では、選択トランジスタ１２のゲートとソースに、ともに電圧Ｖｄｄが印加されているため、選択トランジスタ１２がＯＦＦしている。セル１０１１、セル１０１２のビット線ＢＬ１に接続されるカットオフトランジスタ３２１においては、ドレイン端に電圧Ｖｐｐが印加されているが、ゲートに電圧Ｖｄｄが印加されている。カットオフトランジスタ３２１の閾値電圧をＶｔｈ＿ｃとすると、ＣＭＯＳインバータ３４１と接続しているソース端の電位がＶｄｄ−Ｖｔｈ＿ｃになった段階で、カットオフトランジスタ３２１がＯＦＦし、ＣＭＯＳインバータ３４１の入力にＶｐｐが印加されることを防ぐ。これによりＣＭＯＳインバータ３４１の破壊も防ぐことができる。
【００１８】
なお、プログラム電圧Ｖｐｐはプログラマブル素子１４を破壊でき得る電圧であれば良いが、入力回路に用いるＩ／Ｏ電圧Ｖｉｏをプログラム電圧Ｖｐｐの代わりに用いると、新たな電源回路などを追加する必要がないため、回路面積を増大させることがない。
【００１９】
プログラム電圧Ｖｐｐの上限は、カットオフトランジスタ３２１、３２２に印加される電圧差Ｖｐｐ−Ｖｄｄで、カットオフトランジスタ３２１、３２２が破壊されないように設定される。ゲート絶縁膜の破壊は時間に依存するが、あるプログラム時間のときゲート絶縁膜が破壊される電界をＥｂｋ、ゲート絶縁膜の膜厚をＴｏｘとすると、
【数１】
2015142175.tif 000003
を満たす必要がある。すなわち
Ｖｐｐ＜Ｅｂｋ×Ｔｏｘ＋Ｖｄｄ
となる必要がある。数十μｓｅｃでプログラムするのに必要な電界Ｅｂｋは、大まかには１５ＭＶ／ｃｍ程度である。したがって、プログラム電圧Ｖｐｐは、
Ｖｐｐ＜１．５×１０９×Ｔｏｘ＋Ｖｄｄ
を満たす必要がある。プログラム電圧Ｖｐｐは電圧Ｖｄｄより大きい電圧であるので、
Ｖｄｄ＜Ｖｐｐ＜１．５×１０９×Ｔｏｘ＋Ｖｄｄ
となる。例えば、Ｔｏｘ＝５ｎｍ、Ｖｄｄ＝１．８Ｖであれば、
１．８Ｖ＜Ｖｐｐ＜９．３Ｖ
となる。すなわち、プログラマブル電圧Ｖｐｐは、プログラマブル素子１４に書き込みを行うことができ、かつトランジスタのゲート絶縁膜が破壊されない電圧として選択することができる。このため、プログラマブル電圧Ｖｐｐが印加される配線をＣＭＯＳ回路で直接に増幅することが可能となり、ＦＰＧＡとして高速動作を行うことができる。
【００２０】
図５は、セル１０１１が書き込まれた後、セル１０１２のプログラマブル素子１４に書き込みを行う際の動作を説明する図である。このとき、セル１０１１、セル１０１２が接続されるビット線ＢＬ１にはプログラム電圧Ｖｐｐを印加するとともにワード線ＷＬ１には電圧Ｖｄｄを印加し、セル１０１２が接続されるソース線ＳＬ２には電圧Ｖｓｓを印加する。他のセル１０２１が接続されるワード線ＷＬ２、ソース線ＳＬ１、ビット線ＢＬ２には電圧Ｖｄｄを印加する。セル１０１１においては、プログラマブル素子１４は既に導通状態になっているが、選択トランジスタ１２のゲートとソースに、ともに電圧Ｖｄｄが印加されているため、セル１０１１の選択トランジスタ１２がＯＦＦしており、ほかのセル１０１２、１０２１、１０２２への回り込みを防ぐ。セル１０１２のプログラマブル素子１４の両端には電圧差Ｖｐｐ−Ｖｓｓが印加され、破壊される。これにより、セル１０１２のプログラマブル素子１４に書き込みが行われる。なお、セル１０２１、セル１０２２、ビット線ＢＬ１、ＢＬ２のＣＭＯＳインバータ３４１、３４２が保護される仕組みは、図４で説明した場合と同様である。
【００２１】
第１実施形態のプログラマブル論理回路の第３例を図６に示す。この第３例のプログラマブル論理回路１４０Ａは、ＦＰＧＡのスイッチブロック１３０、および論理ブロック１２０の両方に用いることができる。この第３例のプログラマブル論理回路１４０Ａは、図３に示す第２例のプログラマブル論理回路１４０において、ソース線ＳＬ１、ＳＬ２に接続されるＣＭＯＳインバータ２０１、２０２の出力に、カットオフトランジスタ２２１、２２２をそれぞれ設けた構成を有している。
【００２２】
図４、図５で説明したように、ソース線ＳＬ１、ＳＬ２には基本的に高電圧Ｖｐｐは印加されない。しかし、例えば図４において、セル１０１１のプログラマブル素子１４が破壊された直後には、ソース線ＳＬ１にプログラム電圧Ｖｐｐが回りこむことが考えられる。実際は破壊されたプログマブル素子１４、選択トランジスタ１２、およびＣＭＯＳインバータ２０１のＮチャネルＭＯＳトランジスタもしくはＰチャネルＭＯＳトランジスタの抵抗の分圧でソース線ＳＬ１の電位が決まるため、それほど高電位にならないことが考えられる。しかし、破壊後のプログラマブル素子の抵抗や、トランジスタの抵抗ばらつきなどで、ソース線に高電圧が回り込むことが予想される場合には、ソース線ＳＬ１、ＳＬ２に接続されるＣＭＯＳインバータ２０１、２０２の破壊を防ぐためにカットオフトランジスタ２２１、２２２を挿入する。カットオフトランジスタ２２１、２２２のゲートには、ほかの素子と同様に動作時には電圧Ｖｄｄを印加する。これにより、確実にソース線ＳＬ１、ＳＬ２に接続されるＣＭＯＳインバータ２０１、２０２の破壊を防ぐことができる。
【００２３】
図３に示す第２例のプログラマブル論理回路１４０の読み出し動作について図７を参照して説明する。選択トランジスタ１２およびカットオフトランジスタ３２１、３２２がともにＯＮ状態にして用いる。選択トランジスタ１２、およびカットオフトランジスタ３２１、３２２がＮチャネルＭＯＳトランジスタの場合、ゲート電圧として電圧Ｖｄｄを印加しても良いが、この場合、ＦＰＧＡの動作信号が閾値電圧分だけ減少し、動作速度が減少する。そのため、電圧Ｖｄｄよりも高めの読み出し電圧Ｖｒｅａｄを用いると、動作速度を減少させることなくＦＰＧＡに用いることができるため、好ましい。選択トランジスタ１２の閾値電圧をＶｔｈ＿ｓ、カットオフトランジスタ３２１、３２２の閾値電圧をＶｔｈ＿ｃとして、Ｖｔｈ＿ｓ＝Ｖｔｈ＿ｃであれば、Ｖｒｅａｄは、
Ｖｒｅａｄ＞Ｖｄｄ＋Ｖｔｈ＿ｃ＝Ｖｄｄ＋Ｖｔｈ＿ｓ
とする。Ｖｔｈ＿ｓかＶｔｈ＿ｃが異なる場合は高い方の電圧に合わせる。例えば、Ｖｔｈ＿ｓ＞Ｖｔｈ＿ｃであれば、
Ｖｒｅａｄ＞Ｖｄｄ＋Ｖｔｈ＿ｓ
とする。
【００２４】
第１実施形態のプログラマブル論理回路の第４例を図８に示す。この第４例のプログラマブル論理回路１４０Ｂは、ＦＰＧＡの論理ブロック１２０に用いられる。この第４例のプログラマブル論理回路１４０Ｂは、図２に示すセル１０を、２×２のアレイ状に配置した構成を有している。すなわち、この第４例のプログラマブル論理回路１４０Ｂは、２本のソース線ＳＬ１、ＳＬ２と、２本のワード線ＷＬ１、ＷＬ２と、各ソース線ＳＬ１、ＳＬ２と交差する２本のビット線ＢＬ１、ＢＬ２と、４個のセル１０ｉｊ、（ｉ，ｊ＝１、２）と、ソース線ＳＬｊ（ｊ＝１、２）を駆動するＣＭＯＳインバータ２０ｊと、ビット線ＢＬｉ（ｉ＝１、２）に接続されるカットオフトランジスタ３２ｉと、を備えている。
【００２５】
この第４例のプログラマブル論理回路１４０Ｂにおいては、例えば、各ビット線ＢＬｉ（ｉ＝１、２）にプログラマブル素子１４を２つ用い、片方のプログラマブル素子１４をプログラムするようにし、２つのソース線ＳＬ１、ＳＬ２の一方に電圧Ｖｄｄ、もう一方に電圧Ｖｓｓを与えることで、プログラマブル素子１０の状態に応じてビット線ＢＬ１、ＢＬ２の出力にＶｄｄもしくはＶｓｓを出力することができる。その後は、通常の論理回路のように、電圧Ｖｄｄおよび電圧Ｖｓｓを用いて演算を行えばよい。
【００２６】
図９（ａ）乃至９（ｃ）はプログラマブル素子１０の例について示す断面図である。図９（ａ）は、プログラマブル素子１４としてＭＯＳトランジスタを用い、ＭＯＳトランジスタのゲート絶縁膜を破壊することによって書き込みを行う第１例を示す断面図である。この第１例のプログラマブル素子１４は、半導体層４０に離間して設けられたソース４２ａおよびドレイン４２ｂと、ソース４２ａとドレイン４２ｂとの間の半導体層４０上に設けられかつ一部分がソース４２ａおよびドレイン４２ｂとオーバーラップするゲート絶縁膜４４と、ゲート絶縁膜４４上に設けられたゲート４６とを備えている。ゲート４６にプログラム電圧Ｖｐｐを印加し、ソース４２ａに電圧Ｖｓｓを印加し、ゲート４６とソース４２ａのオーバーラップしている領域でゲート絶縁膜４４を破壊する。このときドレイン４２ｂをフローティング状態にして、ソース端のみを破壊することができる。この場合、配線数が最も少ないため、回路面積を小さくすることができる。使わないドレイン端はＳＴＩ（Shallow Trench Isolation）にしてしまってもよい。
【００２７】
なお、ソース４２ａとドレイン４２ｂを共有化して、どちらか、もしくは両方とゲート絶縁膜４４とのオーバーラップ領域の絶縁膜を破壊することもできる。このようにすると、破壊される位置が２つになり、破壊確率が上がるため、書込みまでの時間が短縮される。
【００２８】
また、ソース４２ａ、ドレイン４２ｂ、半導体層４０の端子を共有化することもできる。この場合は、配線数は増えてしまうものの、書込み時間は大幅に短縮される。トランジスタはＮチャネルＭＯＳトランジスタでもＰチャネルＭＯＳトランジスタでも良い。ただし、本実施形態のＦＰＧＡにおいては、破壊された伝導パスをＦＰＧＡ信号が通過する。そのため、ゲート４６と半導体層４０の端子を導通させる場合には、隣の素子と電気的に分離させるために、半導体層４０を分離する必要があるため、半導体層４０の端子は非導通であることが望ましい。
【００２９】
図９（ｂ）は、プログラマブル素子１４としてｐｎ接合を用い、ｐｎ接合に大きな逆バイアスを印加して、ｐｎ接合を破壊することによって書き込みを行う第２例を示す断面図である。この第２例のプログラマブル素子１４は、半導体層５０に設けられたｎウェル５２と、このｎウェル５２に設けられたｐウェル５４とを備え、ｎウェル５２にプログラム電圧Ｖｐｐを印加し、ｐウェル５４に電圧Ｖｓｓを印加する。なお同様に、ｐウェル５４にｎウェル５２を設けるようにしてｐｎ接合を形成することも可能である。
【００３０】
図９（ｃ）は、プログラマブル素子１４としてポリシリコンから形成されたｐｎ接合を用い、ｐｎ接合に大きな逆バイアスを印加して、ｐｎ接合を破壊することによって書き込みを行う第３例を示す断面図である。この第３例のプログラマブル素子１４は半導体層６０上に絶縁膜６２を設け、この絶縁膜６２上にポリシリコンからなるｎ層６４およびｐ層６６を設けた構成を有している。これらのｎ層６４およびｐ層６６は、ＭＯＳトランジスタのポリシリコンからなるゲートにｎ型不純物およびｐ型不純物を導入することにより形成することができる。ｐｎ接合の接合領域でシリサイドをつけないことにより、ｐｎ接合を実現できる。ｐｎ接合を形成した後は、大きな逆バイアス電圧を印加して、破壊することができる。ポリシリコンを用いてｐｎ接合を形成する場合は、半導体層にウェルを形成するｐｎ接合に比べて小さく作ることができる。
【００３１】
以上説明したように、第１実施形態によれば、プログラマブル電圧Ｖｐｐとして、プログラマブル素子に書き込みを行うことができかつトランジスタのゲート絶縁膜が破壊されない電圧として選択することができ、これにより、プログラマブル電圧Ｖｐｐが印加される配線をＣＭＯＳ回路で直接に増幅することが可能となり、高速動作を行うことができる。
【００３２】
（第２実施形態）
第２実施形態によるプログラマブル論理回路を図１０に示す。この第２実施形態のプログラマブル論理回路１４０Ｃは、図３に示すプログラマブル論理回路１４０において、セル１０１１〜１０２２を１０Ａ１１〜１０Ａ２２に置き換えた構成を有している。各セル１０Ａｉｊ（ｉ，ｊ＝１、２）は、４個の選択トランジスタ１２ａ、１２ｂ、１２ｃ、１２ｄと、２個のプログラマブル素子１４ａ、１４ｂと、を備えている。各セル１０Ａｉｊ（ｉ，ｊ＝１、２）において、選択トランジスタ１２ａ、１２ｂおよびプログラマブル素子１４ａは直列に接続され、選択トランジスタ１２ｃ、１２ｄおよびプログラマブル素子１４ｂは直列に接続される。すなわち、各セル１０Ａｉｊ（ｉ，ｊ＝１、２）において、選択トランジスタ１２ａのソースおよびドレインの一方はソース線ＳＬｊに接続され、選択トランジスタ１２ａのソースおよびドレインの他方は選択トランジスタ１２ｂのソースおよびドレインの一方に接続され、選択トランジスタ１２ｂのソースおよびドレインの他方はプログラマブル素子１４ａの一方の端子に接続され、プログマブル素子１４ａの他方の端子はビット線ＢＬｉに接続される。また、各セル１０Ａｉｊ（ｉ，ｊ＝１、２）において、選択トランジスタ１２ｃのソースおよびドレインの一方はソース線ＳＬｊに接続され、選択トランジスタ１２ｃのソースおよびドレインの他方は選択トランジスタ１２ｄのソースおよびドレインの一方に接続され、選択トランジスタ１２ｄのソースおよびドレインの他方はプログラマブル素子１４ｂの一方の端子に接続され、プログマブル素子１４ｂの他方の端子はビット線ＢＬｉに接続される。
【００３３】
セル１０Ａ１ｊ（ｊ＝１、２）の選択トランジスタ１２ａのゲートはワード線ＷＬ１１に接続され、セル１０Ａ１ｊ（ｊ＝１、２）の選択トランジスタ１２ｂのゲートはワード線ＷＬ２１に接続される。また、セル１０Ａ１ｊ（ｊ＝１、２）の選択トランジスタ１２ｃのゲートはワード線ＷＬ３１に接続され、セル１０Ａ１ｊ（ｊ＝１、２）の選択トランジスタ１２ｄのゲートはワード線ＷＬ４１に接続される。セル１０Ａ２ｊ（ｊ＝１、２）の選択トランジスタ１２ａのゲートはワード線ＷＬ１２に接続され、セル１０Ａ２ｊ（ｊ＝１、２）の選択トランジスタ１２ｂのゲートはワード線ＷＬ２２に接続される。また、セル１０Ａ２ｊ（ｊ＝１、２）の選択トランジスタ１２ｃのゲートはワード線ＷＬ３２に接続され、セル１０Ａ２ｊ（ｊ＝１、２）の選択トランジスタ１２ｄのゲートはワード線ＷＬ４２に接続される。
【００３４】
このように構成したことにより、セル内のプログラマブル素子を切り替えることで、ある論理機能を有する回路から別の論理機能を有する回路に瞬時に切り替えることが可能なマルチコンテキストＦＰＧＡを実現することができる。ここでは、各セル１０Ａｉｊ（ｉ，ｊ＝１、２）内に２つのプログラマブル素子１４ａ、１４ｂを設けた例を示した。２個より多くのプログラマブル素子を並列に接続することで、より多数の回路情報を書き込むことができるマルチコンテキストＦＰＧＡを実現することができる。また、回路情報の切り替えは、ダイナミックに行うこともできる。マルチコンテキスト化することで、実効的にＦＰＧＡの集積度を向上させることができる。
【００３５】
次に、第２実施形態におけるプログラマブル素子に書き込みを行う際の動作について、図１１を参照して説明する。ここでは、セル１０Ａ１１のプログラマブル素子１４ａを破壊する場合について説明する。プログラマブル素子１４ａが接続されるビット線ＢＬ１に書き込み電圧Ｖｐｐを印加し、プログラマブル素子１４ａが接続される２つの選択トランジスタ１２ａ、１２ｂのゲートはともに電圧Ｖｄｄを印加し、ソース線ＳＬ１には電圧Ｖｓｓを印加する。同じセル１０Ａ１１内のプログラマブル素子１４ｂに接続される選択トランジスタ１２ｃのゲートには電圧Ｖｓｓを印加し、選択トランジスタ１２ｄのゲートには電圧Ｖｄｄを印加する。特に、ソース線ＳＬ１に接続される選択トランジスタ１２ｃに電圧Ｖｓｓを印加する。そして、ワード線ＷＬ１２、ＷＬ２２、ＷＬ３２、ＷＬ４２、ビット線ＢＬ２、ソース線ＳＬ２には電圧Ｖｄｄを印加する。また、カットオフトランジスタ３２１、３２２のゲートには電圧Ｖｄｄを印加する。このような電圧を印加することにより、プログラマブル素子１４ａの両端には電圧差Ｖｐｐ−Ｖｓｓが印加され、プログラマブル素子１４ａが破壊される。プログラマブル素子１４ｂは、２つの選択トランジスタ１２ｃ、１２ｄによりソース線ＳＬ１の電圧が遮断されるため、破壊されない。その他のセル１０Ａ１２、１０Ａ２１、１０Ａ２２内それぞれのプログラマブル素子１４ａ、１４ｂと、ＣＭＯＳインバータ３４１、３４２と、が破壊されない理由は、第１実施形態と同様であるので説明を省略する。
【００３６】
次に、セル１０Ａ１１のプログラマブル素子１４ａが破壊された後、セル１０Ａ１１のプログラマブル素子１４ｂに書き込む場合の動作について図１２を参照して説明する。この場合は、ビット線ＢＬ１に書き込み電圧Ｖｐｐを印加し、ワード線ＷＬ１１に電圧Ｖｓｓを印加し、ワード線ＷＬ２１、ＷＬ３１、ＷＬ４１、ＷＬ１２、ＷＬ２２、ＷＬ３２、ＷＬ４２、ビット線ＢＬ２、およびソース線ＳＬ２にそれぞれ電圧Ｖｄｄを印加する。なお、カットオフトランジスタ３２１、３２２のゲートには電圧Ｖｄｄを印加する。このとき、セル１０Ａ１１のプログラマブル素子１４ｂの両端には電圧Ｖｐｐ−Ｖｓｓが印加されるため、破壊される。また、セル１０Ａ１１のプログラマブル素子１４ａの片方の端子には書き込み電圧Ｖｐｐが印加される。しかし、プログラマブル素子１４ａは既に破壊されているため、書き込み電圧Ｖｐｐは選択トランジスタ１２ｂのドレイン端に与えられる。このとき、選択トランジスタ１２ｂのゲートには電圧Ｖｄｄが印加されており、選択トランジスタ１２ｂのゲートとドレインとの間には電圧Ｖｐｐ−Ｖｄｄが印加される。このため、この選択トランジスタ１２ｂは破壊されない。また、選択トランジスタ１２ｂの閾値電圧をＶｔｈｃとすると、次の選択トランジスタ１２ａのドレイン端には電圧Ｖｄｄ−Ｖｔｈｃが印加される。しかし、ゲートには電圧Ｖｓｓが印加されており、選択トランジスタ１２ａのゲートとドレインとの間に印加される電圧はＶｄｄ−Ｖｔｈｃ−Ｖｓｓとなり、こちらも破壊されない。その他のセル１０Ａ１２、１０Ａ２１、１０Ａ２２内の素子とＣＭＯＳインバータ３４１、３４２が破壊されない理由は、第１実施形態と同様である。これにより、不必要な素子が破壊されることなく、プログラマブル素子を用いたマルチコンテキストＦＰＧＡを実現することができる。
【００３７】
ＦＰＧＡの集積度を上げる手法として、マルチコンテキスＦＰＧＡがある。マルチコンテキストＦＰＧＡとは、１つのＦＰＧＡ回路に対して複数のコンフィグレーションメモリ（プログラマブル論理回路）を備え、読み出時にコンフィグレーションメモリを切り替えることで、瞬時に別の回路構成に切り替えることが可能なＦＰＧＡ構成である。例えば、コンフィグレーションメモリの切り替えをアプリケーションごとに行うことで、複数のＦＰＧＡチップを実効的に１チップで実現することが可能になる。また、コンフィグレーションメモリの切り替えをダイナミックに行うことで、ダイナミックリコンフィグレーション動作が可能になり、ＦＰＧＡを小面積に使うことが可能になる。
【００３８】
次に、図１０に示す第２実施形態のプログラマブル論理回路を用いたマルチコンテキストＦＰＧＡのＦＰＧＡ動作について図１３を参照して説明する。選択コンテキスト１６を担うプログラマブル素子１４ａに接続される選択トランジスタ１２ａ、１２ｂのゲートにそれぞれ電圧Ｖｒｅａｄを印加してＯＮにする。Ｖｒｅａｄは、第１実施形態と同様に、電源電圧Ｖｄｄでも良いし、選択トランジスタやカットオフトランジスタの閾値電圧だけＶｄｄよりも大きい電圧でも良い。非選択コンテキストを担うプログラマブル素子１４ｂに接続される選択トランジスタ１２ｃ、１２ｄは、片方の選択トランジスタ、例えば選択トランジスタ１２ｃのゲートに電圧Ｖｓｓを印加してＯＦＦにし、もう片方の選択トランジスタ、例えば選択トランジスタ１２ｄのゲートに印加する電圧はＶｓｓでも良いしＶｄｄでもよい。これにより、選択コンテキスト１６を担うプログラマブル素子１４ａをＦＰＧＡ動作の信号が通過するため、プログラマブル素子１４ａに書き込まれた情報に従った回路動作が行われる。選択コンテキストの切り替えは、選択トランジスタのゲート電圧を入れ替えることで瞬時に行うことができる。これにより、実効的にＦＰＧＡの集積度を向上させることができる。
【００３９】
以上説明したように、第２実施形態によれば、第１実施形態と同様に、プログラマブル電圧Ｖｐｐとして、プログラマブル素子に書き込みを行うことができかつトランジスタのゲート絶縁膜が破壊されない電圧として選択することができ、これにより、プログラマブル電圧Ｖｐｐが印加される配線をＣＭＯＳ回路で直接に増幅することが可能となり、高速動作を行うことができる。
【００４０】
（第３実施形態）
次に、第３実施形態によるプログラマブル論理回路について図１４（ａ）、１４（ｂ）を参照して説明する。第３実施形態のプログラマブル論理回路は、図２に示す第１実施形態の第１例のプログラマブル論理回路において、プログラマブル素子１４として、ゲート絶縁膜を破壊するタイプのＭＯＳトランジスタを用いた構成を有している。図１４（ａ）、１４（ｂ）は、第３実施形態のプログラマブル論理回路の第１例および第２例を示す回路図である。図１４（ａ）に示す第１例のプログラマブル論理回路は、ＭＯＳトランジスタ１５ａのゲートをビット線ＢＬに、ソースおよびドレインの一方を選択トランジスタ１２のソースまたはドレインに、もう一方の端子はどこにも接続されない構成を有している。図１４（ｂ）に示す第２例のプログラマブル論理回路は、ＭＯＳトランジスタ１５ｂのゲートをビット線ＢＬに、ソースおよびドレインを共通に選択トランジスタ１２のソースまたはドレインに接続した構成を有している。プログラマブル素子１４は基本的に２端子素子であり、どちらの端子をどちらの配線に接続しても良い。ただし、ＭＯＳトランジスタのゲート絶縁膜を破壊する際には、ゲートに高電位のプログラム電圧を与える方が好ましい。逆にソースおよびドレインの少なくとも一方に高電位のプログラム電圧を与えると、ソースおよびドレインの半導体層との接合がゲート絶縁膜よりも先に破壊される恐れがあるためである。
【００４１】
以上説明したように、第３実施形態によれば、第１実施形態と同様に、プログラマブル電圧Ｖｐｐとして、プログラマブル素子に書き込みを行うことができかつトランジスタのゲート絶縁膜が破壊されない電圧として選択することができ、これにより、プログラマブル電圧Ｖｐｐが印加される配線をＣＭＯＳ回路で直接に増幅することが可能となり、高速動作を行うことができる。
【００４２】
（第４実施形態）
第４実施形態によるプログラマブル論理回路について図１５（ａ）、１５（ｂ）を参照して説明する。図１５（ａ）、１５（ｂ）は第４実施形態のプログラマブル論理回路の第１例および第２例を示す回路図である。
【００４３】
一般に、ワード線に接続される選択トランジスタは、プログラムするセルの選択、非選択を制御する役割を担うが、ある一区切りのセルのうち、一つのプログラム素子がプログラムされることが分かっている場合には、その一区切りの中においては選択トランジスタを用いない構成も可能である。これらはＦＰＧＡのスイッチブロック１３０に用いられる。
【００４４】
第４実施形態の第１例のプログラマブル論理回路は、図３に示す第１実施形態の第２例によるプログラマブル論理回路の各セルにおいて、選択トランジスタ１２を削除した構成を有している。すなわち、カットオフトランジスタ３２１、３２２がそれぞれ出力側のＣＭＯＳインバータ３４１、３４２の前に配置された構成を有している。
【００４５】
また、第４実施形態の第２例のプログラマブル論理回路は、図６に示す第１実施形態の第３例によるプログラマブル論理回路において、選択トランジスタ１２を削除した構成を有している。すなわち、カットオフトランジスタ３２１、３２２がそれぞれ出力側のＣＭＯＳインバータ３４１、３４２の前段に配置されるとともに、カットオフトランジスタ２２１、２２２がそれぞれ入力側のＣＭＯＳインバータ２０１、２０２の後段に配置された構成を有している。
【００４６】
上記一区切りの単位を、一行の複数のセルを単位とすること、または一列の複数のセルを単位することもできる。特に、プログラムする際に、高電位側のプログラム電圧Ｖｐｐを、一区切りの中で１つのプログラマブル素子１４に加えられるようにすれば、上記一区切りの他のプログラマブル素子のプログラムの際にリーク電流が増大することも、回りこみ電流を気にする必要がない。例えば、あるビット線、例えばビット線ＢＬ１にプログラム電圧Ｖｐｐが印加される場合に、このビット線ＢＬ１を共有する複数のプログラマブル素子１４のうち１つのプログラマブル素子１４がプログラムされるという制約があれば、選択トランジスタを用いないで、第４実施形態の第１例または第２例のように構成してもよい。
【００４７】
以上説明したように、第４実施形態によれば、第１実施形態と同様に、プログラマブル電圧Ｖｐｐとして、プログラマブル素子に書き込みを行うことができかつトランジスタのゲート絶縁膜が破壊されない電圧として選択することができ、これにより、プログラマブル電圧Ｖｐｐが印加される配線をＣＭＯＳ回路で直接に増幅することが可能となり、高速動作を行うことができる。
【００４８】
（第５実施形態）
第５実施形態によるプログラマブル論理回路について図１６を参照して説明する。この５実施形態のプログラマブル論理回路は、第１実施形態、第２実施形態、または第４実施形態のプログラマブル論理回路において、プログラマブル素子１４として、図１６に示すプログラムマブル素子１４Ａを用いた構成を有している。
【００４９】
図１６に示すプログラマブル素子１４Ａは、１層または多層からなる下部電極１７、１層または多層からなる抵抗変化膜１８、１層または多層からなるおよび下部電極１９がこの順序で積層された構造を備えた抵抗変化型の不揮発性メモリである。上部電極１９と下部電極１７との間に印加する電圧の大きさや方向、および印加時間に応じて、抵抗変化膜１８の抵抗値が高抵抗、低抵抗、もしくはその中間の抵抗と、変化させることができる。通常、抵抗変化型メモリでは、絶縁膜を抵抗変化可能な状態にするために、抵抗変化膜に高い電圧を与えて膜中に欠陥（フィラメント）を導入する必要がある。このときの初期電圧（フォーミング電圧）をＶｐｐとすれば、欠陥を導入する動作はプログラマブル素子１４のプログラム動作と同様となる。このため、第１実施形態、       第２実施形態、または第４実施形態のプログラマブル論理回路のプログラマブル素子に、抵抗変化型メモリを用いることができる。プログラマブル素子１４に抵抗変化型メモリを用いることで、欠陥の導入後は不揮発性のメモリとなるため、ＦＰＧＡを何度も書き換え可能にできるという利点がある。
【００５０】
以上説明したように、第５実施形態によれば、第１実施形態と同様に、プログラマブル電圧Ｖｐｐとして、プログラマブル素子に書き込みを行うことができかつトランジスタのゲート絶縁膜が破壊されない電圧として選択することができ、これにより、プログラマブル電圧Ｖｐｐが印加される配線をＣＭＯＳ回路で直接に増幅することが可能となり、高速動作を行うことができる。
【００５１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００５２】
１０、１０１１〜１０２２、１０Ａ１１〜１０Ａ２２  セル
１２  選択トランジスタ
１４  プログラマブル素子
１４Ａ  プログラマブル素子（抵抗変化型メモリ）
１５ａ、１５ｂ  プログラマブル素子（ＭＯＳトランジスタ）
１６  選択コンテキスト
２０、２０１、２０２  ＣＭＯＳインバータ
２２１、２２２  カットオフトランジスタ
３２、３２１、３２２  カットオフトランジスタ
３４、３４１、３４２  ＣＭＯＳインバータ
１００  ＦＰＧＡ
１１０  基本ブロック
１２０  論理ブロック
１３０  スイッチブロック
１４０、１４０Ａ、１４０Ｂ。１４０Ｃ  プログラマブル論理回路
【図１】
2015142175.tif 000004
【図２】
2015142175.tif 000005
【図３】
2015142175.tif 000006
【図４】
2015142175.tif 000007
【図５】
2015142175.tif 000008
【図６】
2015142175.tif 000009
【図７】
2015142175.tif 000010
【図８】
2015142175.tif 000011
【図９】
2015142175.tif 000012
【図１０】
2015142175.tif 000013
【図１１】
2015142175.tif 000014
【図１２】
2015142175.tif 000015
【図１３】
2015142175.tif 000016
【図１４】
2015142175.tif 000017
【図１５】
2015142175.tif 000018
【図１６】
2015142175.tif 000019