(57)【要約】【課題】消費電力を低減できるリコンフィギュラブル論理回路を提供する。【解決手段】本実施形態に関わるリコンフィギュラブル論理回路は、互いに直列接続された複数の単位セルＵＣを含む第１のセル群ＣＳと第１のセル群ＣＳの一端に接続された制御回路８と第１のセル群ＣＳの他端に接続された出力端子ＮＤＲとを含むメモリ回路１１０と、出力端子ＮＤＲに接続され、メモリ回路１１０からの出力信号によって制御されるスイッチ回路９を含む。単位セルＵＣのそれぞれは、第１及び第２の端子と選択信号が入力される制御端子とを含む選択素子２と、第１の端子に接続された第３の端子Ｔ１と第２の端子に接続された第４の端子Ｔ２とを含むメモリ素子１と、を備える。【選択図】図１
2015026901.tif 000002
【特許請求の範囲】
【請求項１】
互いに直列接続された複数の第１の単位セルを含む第１のセル群と、前記第１のセル群の一端の前記第１の単位セルに接続される制御回路と、前記第１のセル群の他端の前記第１の単位セルに接続される出力端子とを含むメモリ回路と、
前記出力端子に接続され、前記メモリ回路からの出力信号によって制御されるスイッチ回路と、
を具備し、
前記第１の単位セルのそれぞれは、
第１及び第２の端子と制御信号が入力される制御端子とを含む選択素子と、
前記第１の端子に接続される第３の端子と、前記第２の端子に接続される第４の端子とを含み、複数の抵抗状態と記憶すべきデータとが関連付けられるメモリ素子と、
を備える、
ことを特徴とするリコンフィギュラブル論理回路。
【請求項２】
互いに直列接続された複数の第１の単位セルを含む第１のセル群と、互いに直列接続された複数の第２の単位セルを含む第２のセル群と、１つの前記第１の単位セルと１つの前記第２の単位セルとをそれぞれ含む複数のメモリセルと、前記第１のセル群の一端の前記第１の単位セルに接続される第１の制御回路と、前記第２のセル群の一端の前記第２の単位セルに接続される第２の制御回路と、前記第１のセル群の他端の前記第１の単位セル及び前記第２のセル群の他端の前記第２の単位セルに接続される出力端子と、を含むメモリ回路と、
前記出力端子に接続され、前記メモリ回路からの出力信号によって制御されるスイッチ回路と、
を具備し、
前記第１及び第２の単位セルのそれぞれは、
第１及び第２の端子と制御信号が入力される制御端子とを含む選択素子と、
前記第１の端子に接続される第３の端子と、前記第２の端子に接続される第４の端子とを含み、複数の抵抗状態と記憶すべきデータとが関連付けられるメモリ素子と、
を備え、
前記第１及び第２の制御回路は、前記メモリセルに対するデータ書き込み時、選択された前記メモリセル内の前記第１及び第２の単位セルがそれぞれ含む前記メモリ素子の抵抗状態を互いに異なる抵抗状態に変化させる、
ことを特徴とするリコンフィギュラブル論理回路。
【請求項３】
前記出力端子と前記スイッチ回路との間に接続されるフリップフロップ回路を、さらに具備することを特徴とする請求項１又は２に記載のリコンフィギュラブル論理回路。
【請求項４】
前記出力端子と前記スイッチ回路との間に接続されるインバータ回路を、さらに具備することを特徴とする請求項１又は２に記載のリコンフィギュラブル論理回路。
【請求項５】
前記制御回路は、第１の電圧が入力される第１の電源端子と、前記第１の電圧より小さい第２の電圧が入力される第２の電源端子と、前記第１のセル群の一端及び他端の前記第１の単位セルうちいずれか一方と前記第１の電源端子との間の接続を制御する第１の回路と、前記第１のセル群の一端及び他端の前記第１の単位セルのうち前記第１の回路が接続された側の反対側と前記第２の電源端子との間の接続を制御する第２の回路とを、含むことを特徴とする請求項１に記載のリコンフィギュラブル論理回路。
【請求項６】
参照信号を生成するための参照抵抗素子と、
前記出力端子に接続される第１の入力端子と、前記参照抵抗素子に接続される第２の入力端子とを含み、前記第１及び前記第２の入力端子にそれぞれ入力された前記メモリ回路からの出力信号に基づいた第１の信号と前記参照信号とを前記スイッチ回路に出力するセンスアンプ回路とを、
さらに具備することを特徴とする請求項１に記載のリコンフィギュラブル論理回路。
【請求項７】
前記メモリ回路は、信号処理を実行する論理回路のコンフィギュレーション情報が格納されるコンフィギュレーションメモリであり、
前記スイッチ回路は、前記メモリ回路からの出力信号としての前記コンフィギュレーション情報に基づいて、前記スイッチ回路の電流経路に接続された複数の論理素子間の接続を制御する、
ことを特徴とする請求項１乃至６のいずれか１項に記載のリコンフィギュラブル論理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、リコンフィギュラブル論理回路に関する。
【背景技術】
【０００２】
ＦＰＧＡ（Field Programmable Gate Array）のようなリコンフィギュラブル論理回路は、チップの製造／出荷の後に、ユーザーが所望の回路に書き換えることができるため、ＬＳＩチップの開発期間を短縮できる。
【０００３】
ＦＰＧＡは、例えば、ルックアップテーブル（ＬＵＴ：Look Up Table）ベースの複数の論理素子（論理ゲート）と、論理素子間の接続を切り替えるスイッチとから形成される回路である。
【０００４】
ＦＰＧＡは、論理素子とスイッチとの接続関係を制御するためのコンフィギュレーションメモリを含んでいる。コンフィギュレーションメモリ内に格納される情報を書き換えることによって、ＦＰＧＡは、任意の回路を構築できる。
【０００５】
一般的なＦＰＧＡは、コンフィギュレーションメモリに揮発性のＳＲＡＭを用いたＦＰＧＡが主流である。ＳＲＡＭを用いたＦＰＧＡは、消費電力が大きい等のいくつかの問題があるため、不揮発性メモリを用いたコンフィグレーションメモリの開発及び検討が行われている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許第７，１９３，４３７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
リコンフィギュラブル論理回路の消費電力を削減する。
【課題を解決するための手段】
【０００８】
実施形態のリコンフィギュラブル論理回路は、互いに直列接続された複数の第１の単位セルを含む第１のセル群と、前記第１のセル群の一端の前記第１の単位セルに接続される制御回路と、前記第１のセル群の他端の前記第１の単位セルに接続される出力端子とを含むメモリ回路と、前記出力端子に接続され、前記メモリ回路からの出力信号によって制御されるスイッチ回路と、を具備し、前記第１の単位セルのそれぞれは、第１及び第２の端子と制御信号が入力される制御端子とを含む選択素子と、前記第１の端子に接続される第３の端子と、前記第２の端子に接続される第４の端子とを含み、複数の抵抗状態と記憶すべきデータとが関連付けられるメモリ素子と、を備える。
【図面の簡単な説明】
【０００９】
【図１】実施形態のリコンフィギュラブル論理回路の基本構成を説明するための図。
【図２】リコンフィギュラブル論理回路のメモリ回路のメモリ素子を説明するための図。
【図３】第１の実施形態のリコンフィギュラブル論理回路を説明するための図。
【図４】第１の実施形態のリコンフィギュラブル論理回路を説明するための図。
【図５】第１の実施形態のリコンフィギュラブル論理回路の構成例を示す等価回路図。
【図６】第１の実施形態のリコンフィギュラブル論理回路の変形例を示す等価回路図。
【図７】第１の実施形態のリコンフィギュラブル論理回路の変形例を示す等価回路図。
【図８】第１の実施形態のリコンフィギュラブル論理回路の動作例を説明するための図。
【図９】第１の実施形態のリコンフィギュラブル論理回路の動作例を説明するための図。
【図１０】第１の実施形態のリコンフィギュラブル論理回路の動作例を説明するための図。
【図１１】実施形態のリコンフィギュラブル論理回路の特性を説明するための図。
【図１２】実施形態のリコンフィギュラブル論理回路の特性を説明するための図。
【図１３】第２の実施形態のリコンフィギュラブル論理回路の構成例を示す等価回路図。
【図１４】第２の実施形態のリコンフィギュラブル論理回路の変形例を示す等価回路図。
【図１５】第３の実施形態のリコンフィギュラブル論理回路の構成例を示す等価回路図。
【図１６】実施形態のリコンフィギュラブル論理回路の変形例を示す模式図。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、本実施形態について詳細に説明する。以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複する説明は必要に応じて行う。
【００１１】
［実施形態］  
図１乃至図１６を参照して、実施形態に係るリコンフィギュラブル論理回路について、説明する。
【００１２】
（１）  基本構成  
図１及び図２を用いて、実施形態のリコンフィギュラブル論理回路の基本構成について、説明する。
【００１３】
図１は、実施形態のリコンフィギュラブル論理回路の基本構成を示す等価回路図である。
【００１４】
本実施形態のリコンフィギュラブル論理回路は、メモリ回路内に格納された情報に基づいて、信号処理のための論理の構成を再構築可能な半導体集積回路（論理回路）である。
【００１５】
図１に示されるように、実施形態のリコンフィギュラブル論理回路１０００は、メモリ回路１１０を含み、メモリ回路１１０は、複数の単位セル（セル群）ＵＣを含んでいる。１以上の単位セルＵＣを用いて、データを記憶する複数のメモリセルが形成される。
【００１６】
各単位セルＵＣは、１つのメモリ素子１と、１つの選択素子２とを含んでいる。  
メモリ素子（不揮発性メモリ素子）１は、書き込まれたデータを、実質的に不揮発に記憶できる。メモリ素子１は、抵抗変化素子１であり、複数の抵抗状態（例えば、低抵抗状態及び高抵抗状態）を取りうる。
【００１７】
抵抗変化素子１をメモリ素子１に用いたメモリ回路１１０は、記憶すべきデータと抵抗変化素子１の抵抗状態とが関連付けられることによって、データを記憶する。
【００１８】
図２は、実施形態のリコンフィギュラブル論理回路内のメモリ回路の単位セルＵＣに用いられるメモリ素子の構成について、説明するための図である。  
図２に示されるように、単位セルＵＣに用いられるメモリ素子１は、第１の端子Ｔ１と第２の端子Ｔ２とを有する抵抗変化素子１である。
【００１９】
メモリ素子１としての抵抗変化素子１には、ＭＴＪ（Magnetic Tunnel Junction）素子、酸化還元型抵抗変化素子、イオン伝導型抵抗変化素子、相変化素子などのうち１つの素子が用いられる。ＭＴＪ素子は、トンネルバリア層（例えば、絶縁層）が２つの磁性層の間に挟まれた構造を有し、２つの磁性層の相対的な磁化配列の状態に応じて、抵抗状態（抵抗値）が変化する。酸化還元型抵抗変化素子は、遷移金属酸化物層が２つの電極（例えば、金属層）の間に挟まれた構造を有し、遷移金属酸化物の酸素欠損の移動（又は、発生、消失）によって、素子の抵抗状態が変化する。イオン伝導型抵抗変化素子は、例えば、半導体層が２つの電極の間に挟まれた構造を有し、半導体層の内部の金属等のイオンの移動によって、素子の抵抗状態が変化する。相変化素子は、相変化材料（例えば、カルコゲナイド系材料）から形成される相変化層を有し、電流によるジュール熱による相変化層の相（結晶状態／非晶質状態）の変化によって、素子の抵抗状態が変化する。
【００２０】
メモリ素子１としての抵抗変化素子１は、抵抗変化素子１の一端Ｔ１及び他端Ｔ２に印加されるしきい値以上の電位差によって、又は、電位差に起因するしきい値以上の電流によって、抵抗状態が変化する。抵抗変化素子１の種類（材料）に応じて、メモリ素子１としての抵抗変化素子１の抵抗状態は、電圧／電流の極性（供給方向）に応じて変化したり、電圧パルス／電流パルスのパルス形状（振幅及びパルス幅）に応じて変化したりする。抵抗変化素子１の抵抗状態は、抵抗変化素子１の抵抗状態を変化させるための電圧／電流が供給されるまで、実質的に不揮発に維持できる。
【００２１】
図２の（ａ）及び（ｂ）は、抵抗変化素子１の抵抗状態が電圧／電流の極性に応じて変化する場合における抵抗変化素子１の端子Ｔ１，Ｔ２間の電圧の関係を示している。
【００２２】
抵抗変化素子１の抵抗状態の変化が電圧／電流の極性に依存する場合、抵抗変化素子１の抵抗状態の変化に必要なしきい値電圧Ｖｔｈ以上の電位差又はしきい値電流Ｉｔｈ以上の電流が抵抗変化素子１に供給されるように、抵抗変化素子１の各端子Ｔ１，Ｔ２の電圧ＶＨ，ＶＬが、設定される。
【００２３】
例えば、抵抗変化素子１の抵抗状態が電圧／電流の極性に応じて変化する場合、図２の（ａ）に示されるように、低抵抗状態（“Ｌ(low)”状態）の抵抗変化素子１の端子Ｔ１に、高電圧ＶＨ（例えば、しきい値電圧Ｖｔｈ）が印加され、低抵抗状態の抵抗変化素子１の端子Ｔ２に、低電圧ＶＬ（例えば、０Ｖ）が印加される。抵抗変化素子１の電位差ＶＨ−ＶＬ（＝Ｖｔｈ）に応じて、電流Ｉ１が、抵抗変化素子１の端子Ｔ１から端子Ｔ２へ向かう方向へ、抵抗変化素子１内を流れる。抵抗変化素子１の抵抗状態の変化が、電流Ｉ１に応じる場合、抵抗変化素子１の抵抗状態を変化に必要なしきい値電流Ｉｔｈ以上の電流Ｉ１が生じるように、各端子Ｔ１，Ｔ２に印加される電圧ＶＨ，ＶＬの大きさが、適宜設定される。
【００２４】
このように、抵抗変化素子１の抵抗状態を変化させるとき、抵抗変化素子１の端子Ｔ１が高電位側、抵抗変化素子１の端子Ｔ２が低電位側に設定されることによって、抵抗変化素子１の抵抗状態は、低抵抗状態から高抵抗状態（“Ｈ(high)”状態）に変化する。
【００２５】
また、図２の（ａ）とは反対に、図２の（ｂ）に示されるように、低電圧ＶＬが高抵抗状態の抵抗変化素子１の端子Ｔ１に印加され、高電圧ＶＨが高抗抵抗状態の抵抗変化素子１の端子Ｔ２に印加され、端子Ｔ１，Ｔ２間の電位差による電流Ｉ２が、抵抗変化素子の端子Ｔ２から端子Ｔ１へ向かう方向へ流れる。このとき、電圧ＶＨ，ＶＬに起因するしきい値以上の電圧又は電流によって、抵抗変化素子１の抵抗状態は、高抵抗状態から低抵抗状態へ変化する。
【００２６】
図２に示されるように、抵抗変化素子１の抵抗状態が電圧／電流の極性に応じて変化する場合、抵抗変化素子１の端子間Ｔ１，Ｔ２に印加されるしきい値以上の電位差の正負の向き、抵抗変化素子１内におけるしきい値以上の電流Ｉ１の流れる方向に応じて、抵抗変化素子１の抵抗状態は、変化する。この場合、抵抗変化素子１は極性を有する。以下では、抵抗状態の変化に関して極性を有する抵抗変化素子１の２つの端子Ｔ１，Ｔ２のうち、一方の端子Ｔ１を第１の極性の端子Ｔ１とよび、他方の端子Ｔ２を第２の極性の端子Ｔ２とよぶ。
【００２７】
抵抗変化素子１の可変な抵抗状態と記憶すべきデータとが関連付けられることによって、抵抗変化素子１が、書込み及び消去が可能なメモリ素子に用いられる。以下では、抵抗変化素子１の低抵抗状態を、書込み状態とし、抵抗変化素子１の高抵抗状態を、消去状態とする。これとは反対に、抵抗変化素子１の高抵抗状態が書き込み状態、抵抗変化素子１の低抵抗状態が消去状態とされた場合においても、単位セルＵＣ及び単位セルＵＣを用いたメモリ回路１１０の構成は、同じである。
【００２８】
以下では、抵抗変化素子を書き込み状態にする動作と抵抗変化素子を消去状態にする動作とを区別しない場合には、単に、データの書き込み及び書き込み動作（又はプログラム動作）とよぶ。尚、抵抗変化素子１の抵抗状態を高抵抗状態から低抵抗状態に変化させる動作は、セット動作とよばれ、抵抗変化素子１の抵抗状態を低抵抗状態から高抵抗状態へ変化させる動作は、リセット動作とよばれる場合もある。
【００２９】
このメモリ素子１としての抵抗変化素子１は、配線層内（層間絶縁膜）内に設けられてもよいし、半導体基板（例えば、シリコン基板）上又は基板内部に設けられてもよい。
【００３０】
単位セルＵＣの選択素子２は、例えば、電界効果トランジスタ（例えば、ｎチャネル型ＭＯＳトランジスタ）２である。以下では、単位セルＵＣの選択素子２としての電界効果トランジスタのことを、セレクトトランジスタ（又はセルトランジスタ）２とよぶ。
【００３１】
各単位セルＵＣにおいて、セレクトトランジスタ２の電流経路の一端（選択素子の端子）に、メモリ素子としての抵抗変化素子１の端子Ｔ１が接続され、セレクトトランジスタ２の電流経路の他端（選択素子の端子）に、抵抗変化素子１の端子Ｔ２が接続されている。抵抗変化素子１は、セレクトトランジスタ２の電流経路（チャネル領域）に対して並列に接続されている。
【００３２】
セレクトトランジスタ２のゲートは、選択信号線（図示せず）に接続され、セレクトトランジスタ２のゲートに、制御信号ＣＮＴが供給される。
【００３３】
セレクトトランジスタ２が、ｎチャネル型ＭＯＳトランジスタ（以下、ｎ型トランジスタと表記する）である場合、“Ｌ”レベルの制御信号ＣＮＴによって、単位セルＵＣのメモリ素子１が選択状態（活性化状態）にされ、“Ｈ”レベルの制御信号ＣＮＴによって、単位セルＵＣのメモリ素子１が非選択状態（非活性化状態）にされる。
【００３４】
実施形態のリコンフィギュラブル論理回路１０００のメモリ回路１１０において、複数の単位セルＵＣの電流経路が直列接続されている。より具体的には、本実施形態のリコンフィギュラブル論理回路１０００のメモリ回路１１０内に含まれる複数の単位セルＵＣにおいて、複数のセレクトトランジスタ２の電流経路が直列接続されている。
【００３５】
以下では、直列接続された複数の単位セルＵＳから形成される回路構成ＣＳのことを、セルストリングＣＳとよぶ。
【００３６】
例えば、メモリ回路１１０内のセルストリングＣＳの一端（セルストリングＣＳの一端側の単位セル）は、メモリ回路の動作に用いられる電源などを含む制御回路（駆動回路）８に接続され、セルストリングＣＳの他端ＮＤＲ（セルストリングＣＳの他端側の単位セル）は、スイッチ回路９に接続されている。このスイッチ回路９は、トランジスタやインバータなど素子の制御端子（ゲート）の電圧の制御によって駆動されるスイッチ素子である。スイッチ回路９の電流経路には、論理素子（論理ゲート又は論理回路）ＬＥが接続されている。
【００３７】
メモリセルに用いられる単位セルＵＣのデータ保持状態（抵抗変化素子１の抵抗状態）に応じたメモリ回路１１０の出力信号（データ）によって、このスイッチ回路９の動作が制御される。例えば、スイッチ回路９のオン及びオフによって、論理素子ＬＥが電気的に接続される、又は、論理素子ＬＥが互いに電気的に分離される。
【００３８】
尚、スイッチ回路９は、メモリ回路１１０の内部回路として扱われてもよい。
【００３９】
例えば、本実施形態において、図１のようなセルストリングＣＳを含むメモリ回路１１０は、リコンフィギュラブル論理回路１０００としてのＦＰＧＡ（Field Programmable Gate Array）における論理回路を形成するためのコンフィギュレーション情報を記憶するコンフィギュレーションメモリとして用いられる。
【００４０】
図１のように、実施形態のリコンフィギュラブル論理回路１０００のメモリ回路１１０は、メモリ回路を構成する複数の単位セルＵＣが直列接続されることによって、メモリ回路１１０のリーク電流を低減できる。
【００４１】
これによって、実施形態のリコンフィギュラブル論理回路は、消費電力を削減できる。
【００４２】
（２）  第１の実施形態  
図３乃至図１２を参照して、第１の実施形態のリコンフィギュラブル論理回路について、説明する。
【００４３】
（ａ）  回路  
図３乃至図７を参照して、第１の実施形態の半導体集積回路の回路構成について、説明する。
【００４４】
図３及び図４は、第１の実施形態のリコンフィギュラブル論理回路（再構築可能な論理回路）を説明するための図である。
【００４５】
図３に示される本実施形態のリコンフィギュラブル論理回路１０００は、例えば、メモリ回路１１０（１１０Ａ）を含むＦＰＧＡ１０００である。ＦＰＧＡ１０００は、ロジックブロック（ＬＢ）１０１、スイッチブロック（ＳＢ）１０２及び入出力回路（Ｉ／Ｏ回路）１０３を含む。
【００４６】
ロジックブロック１０１は、ルックアップテーブルタイプ、マルチプレクサタイプ又はトランジスタアレイタイプなど、基本的な論理情報（論理回路）を実現するための論理素子（論理ゲート）を含む回路領域である。スイッチブロック１０２は、各ロジックブロック１０１を接続するためのスイッチを含む回路領域である。１つのロジックブロック１０１及び１つのスイッチブロック１０２によって、ＦＰＧＡ１０００の基本タイル１００が形成されている。複数の基本タイル１００が、ＦＰＧＡ１０００内に設けられている。
【００４７】
Ｉ／Ｏ回路１０３は、ロジックブロック１０１からの信号をＦＰＧＡ１０００の外部へ出力する、また、ＦＰＧＡ１０００の外部からの信号をロジックブロック１０１に入力する。Ｉ／Ｏ回路１０３は、複数の基本タイル１００が配列された領域（タイルアレイ）の周囲に、設けられている。
【００４８】
ユーザーから与えられたコンフィギュレーション情報に基づいて、ロジックブロック１０１とスイッチブロック１０２とによって、ユーザーの要求する所定の論理演算を実行する回路が、構築される。
【００４９】
本実施形態において、リコンフィギュラブル論理回路としてのＦＰＧＡ１０００は、メモリ回路１１０（１１０Ａ）を含み、メモリ回路１１０Ａは、ＦＰＧＡ１０００のコンフィギュレーション情報を記憶する。
【００５０】
例えば、図３に示されるように、メモリ回路１１０は、各基本タイル１００内に設けられている。尚、メモリ回路１１０Ａは、ロジックブロック１０１内に設けられてもよいし、スイッチブロック１０２内に設けられてもよい。また、１つのメモリ回路１１０Ａが、複数の基本タイル１００に対応するように、ＦＰＧＡ１０００内に設けられてもよい。
【００５１】
例えば、メモリ回路１１０は、マルチコンテキスト技術を用いたＦＰＧＡ１０００のコンフィギュレーションメモリ（以下では、マルチコンテキストメモリとよぶ）として用いられる。
【００５２】
図４は、本実施形態におけるＦＰＧＡ１０００のコンフィギュレーション情報を記憶するメモリ回路１１０（１１０Ａ）が、マルチコンテキストメモリとして用いられた場合における構成例を示す模式図である。
【００５３】
図４の（ａ）、（ｂ）及び（ｃ）に示されるように、メモリ回路１１０（１１０Ａ）は、複数のメモリセルＭＣを含んでいる。例えば、メモリセルＭＣは、１ビットのデータを記憶している。
【００５４】
図４の（ａ）に示されるように、メモリ回路１１０（１１０Ａ）の複数のメモリセルＭＣが、スイッチブロック１０２内のスイッチ素子ＳＷとしての１つの電界効果トランジスタＳＷのゲートに、接続される。メモリセルＭＣと電界効果トランジスタＳＷとの接続を切り替えることによって、１つのスイッチブロック１２０が、複数回にわたって使用される。
【００５５】
図４の（ｂ）及び（ｃ）に示されるように、メモリ回路１１０（１１０Ａ）は、マルチプレクサ１２０に接続される。
【００５６】
図４の（ｂ）に示される例では、マルチプレクサ１２０の複数の入力端子のそれぞれに、メモリ回路１１０の複数のメモリセルＭＣが、接続される。メモリセルＭＣとマルチプレクサ１２０の入力端子との接続が切り替えられることによって、各メモリセルＭＣ内の情報が、マルチプレクサ１２０に対する入力信号として、マルチプレクサ１２０の入力端子に接続の切り替えのタイミングで順次供給される。
【００５７】
また、図４の（ｃ）に示される例のように、マルチプレクサ１２０の複数の制御端子のそれぞれに、複数のメモリセルＭＣが、接続される。この場合、各メモリセルＭＣ内の情報は、マルチプレクサ１２０の制御信号として、ある１つの制御端子に供給される。  
メモリセルＭＣとマルチプレクサ１２０の制御端子との接続が切り替えられることによって、マルチプレクサ１２０の入力端子と出力端子との接続が、順次切り替えられる。
【００５８】
このように、ＦＰＧＡ１０００内のある１つの構成要素とメモリ回路内の複数のメモリセルとの接続が切り替えられることによってユーザーが要求する論理計算を実行するマルチコンテキスト技術が、本実施形態におけるメモリ回路を含むＦＰＧＡ１０００に適用され、ＦＰＧＡ１０００の面積（チップサイズ）が削減される。
【００５９】
図５は、第１の実施形態のＦＰＧＡ内に含まれるメモリ回路の回路構成の一例を示す等価回路図である。
【００６０】
図５に示されるように、本実施形態のＦＰＧＡ内に含まれるメモリ回路１１０Ａは、複数の単位セルＵＣＡ，ＵＣＢを含み、複数の単位セルＵＣＡ，ＵＣＢの電流経路は、直列接続されている。
【００６１】
電流経路が直列接続された複数の単位セルＵＣＡ，ＵＣＢからなるセルストリングＣＳ１，ＣＳ２に、単位セルＵＣＡ，ＵＣＢの動作を制御するための制御回路８が接続されている。
【００６２】
図５のメモリ回路１１０Ａにおいて、電流経路が直列接続された複数の単位セルＵＣＡ，ＵＣＢの一端及び他端の中間点に、単位セルＵＣＡ，ＵＣＢからの信号を出力するための出力端子（読み出しノード）ＮＤＲが、設けられている。その出力端子ＮＤＲに、例えば、電界効果トランジスタ（ｎ型トランジスタ）４を介して、スイッチ回路９が接続されても良い。
【００６３】
本実施形態のＦＰＧＡのメモリ回路１１０Ａにおいて、２つの単位セルＵＣＡ，ＵＣＢを用いて、１つのメモリセル（又はプログラマブルセルともよぶ）ＭＣ１，ＭＣ２，・・・，ＭＣｎが形成される。各メモリセルＭＣ１，ＭＣ２，・・・，ＭＣｎは、２つのメモリ素子１Ａ，１Ｂ及び２つのセレクトトランジスタ２Ａ，２Ｂを含んでいる。
【００６４】
各メモリセルＭＣ１，ＭＣ２，・・・，ＭＣｎに、制御信号（選択信号）ＣＮＴ１，ＣＮＴ２，・・・，ＣＮＴｎが供給される。メモリセルＭＣ１，ＭＣ２，・・・，ＭＣｎ内の２つの単位セルＵＣＡ，ＵＣＢは、例えば、制御信号ＣＮＴ１，ＣＮＴ２，・・・，ＣＮＴｎによって制御される。
【００６５】
以下では、説明の明確化のため、メモリセルＭＣ１，ＭＣ２，・・・，ＭＣｎを区別しない場合には、メモリセルＭＣと表記する。また、制御信号ＣＮＴ１，ＣＮＴ２，・・・，ＣＮＴｎを区別しない場合には、制御信号ＣＮＴと表記する。
【００６６】
本実施形態のＦＰＧＡに用いられるメモリ回路１１０Ａは、各メモリセルＭＣを形成する２つの単位セルＵＣＡ，ＵＣＢに関して、複数の第１の単位セルＵＣＡを含む第１のセルストリング（第１のセル群）ＣＳ１、及び、複数の第２の単位セルＵＣＢを含む第２のセルストリング（第２のセル群）ＣＳ２を含む。
【００６７】
各メモリセルＭＣは、第１のセルストリングＣＳ１に属する１つの単位セルＵＣＡと第２のセルストリングＣＳ２に属する１つの単位セルＵＣＢとから形成される。第２のセルストリングＣＳ２内の第２の単位セルＵＣＢの個数は、第１のセルストリングＣＳ１内の第１の単位セルＵＣＡの個数と同じである。以下では、単位セルＵＣＡ，ＵＣＢを区別しない場合には、単位セルＵＣと表記する。また、メモリセルを形成する２つの単位セルＵＣＡ，ＵＣＢ内の素子に関して、メモリ素子１Ａ，１Ｂを区別しない場合には、メモリ素子１と表記し、セレクトトランジスタ２Ａ，２Ｂを区別しない場合には、セレクトトランジスタ２と表記する。
【００６８】
以下では、複数のメモリセルＭＣを形成するための２つのセルストリングＣＳ１，ＣＳ２を含む構成（メモリ領域）のことを、メモリブロックＭＢともよぶ。
【００６９】
メモリ回路１１０Ａは、メモリブロックＭＢ内のメモリセルＭＣ及び単位セルＵＣＡ，ＵＣＢを駆動及び選択するための制御回路８を含む。
【００７０】
制御回路８は、駆動回路８０Ａ，８０Ｂ及び選択回路８５を含む。
【００７１】
第１のセルストリングＣＳ１の一端に、第１の駆動回路８０Ａが接続され、第２のセルストリングＣＳ２の一端に、第２の駆動回路８０Ｂが接続される。第１及び第２の駆動回路８０Ａ，８０Ｂは、メモリ回路１１０Ａを駆動させるための電圧源（又は、電流源）を含んでいる。
【００７２】
第１の駆動回路８０Ａは、メモリセルＭＣにデータを書き込むため（抵抗変化素子１Ａ，１Ｂの抵抗状態を変化させるため）の電圧（書き込み電圧／消去電圧）ＶＷＲが入力される電源端子ＶＷＲと、メモリセルＭＣのデータを読み出すための電圧（読み出し電圧、ＦＰＧＡ動作電圧）ＶＯＰが入力される電源端子ＶＯＰと、グランド電圧ＶＧＮＤが入力されるグランド端子ＶＧＮＤを有している。各端子ＶＷＲ，ＶＯＰ，ＶＧＮＤからセルストリングＣＳ１，ＣＳ２に、所定の電圧ＶＷＲ，ＶＯＰ，ＶＧＮＤが供給される。
【００７３】
第１の駆動回路８０Ａの各電源端子ＶＷＲ，ＶＯＰは、スイッチ素子としてのｐチャネル型ＭＯＳトランジスタ（以下、ｐ型トランジスタと表記する）８００，８０１を介して、セルストリングＣＳ１の一端に接続されている。グランド端子ＶＧＮＤは、ｎ型トランジスタ８０２を介して、セルストリングＣＳ１の一端に接続されている。各トランジスタ８００，８０１，８０２のオン／オフによって、電源／グランド端子ＶＷＲ，ＶＯＰ，ＶＧＮＤとセルストリングＣＳ１，ＣＳ２との接続が、制御される。
【００７４】
第２の駆動回路８０Ｂは、メモリセルＭＣにデータを書き込むための電圧ＶＷＲを出力する電源端子ＶＷＲと、グランド端子ＶＧＮＤとを有している。
【００７５】
第２の駆動回路８０Ｂの電源端子ＶＷＲは、スイッチ素子としてのｐ型トランジスタ８０３を介して、セルストリングＣＳ２の一端に接続されている。第２の駆動回路８０Ｂのグランド端子ＶＧＮＤは、ｎ型トランジスタ８０４を介して、セルストリングＣＳ２の一端に接続されている。各トランジスタ８０３，８０４のオン／オフによって、電源／グランド端子ＶＷＲ，ＶＯＰとセルストリングＣＳ２との接続が、制御される。
【００７６】
データの書き込み時及びデータの読み出し時、２つの駆動回路８０Ａ，８０Ｂのうち、一方の駆動回路が高電位側（電流の供給側）の回路（ソース回路）として機能し、他方の駆動回路が低電位側（電流の吸収側）の回路（シンク回路）として機能する。
【００７７】
書き込み電圧ＶＷＲは、メモリ素子としての抵抗変化素子１Ａ，１Ｂの抵抗状態を変化させるためのしきい値電圧Ｖｔｈ以上の電圧値、又は、メモリ素子としての抵抗変化素子１Ａ，１Ｂの抵抗状態を変化させるためのしきい値電流Ｉｔｈ以上の電流を生成する電圧値を有している。
【００７８】
一方、読み出し電圧ＶＯＰは、データ読み出し時に抵抗変化素子１Ａ，１Ｂの抵抗状態が変化しないように、しきい値電圧Ｖｔｈより小さい電圧値、又は、しきい値電流Ｉｔｈより小さい電流を生成する電圧値を有している。
【００７９】
尚、素子の抵抗状態が素子に供給される電圧／電流の極性に応じて変化する抵抗変化素子がメモリ素子に用いられた場合、抵抗変化素子１に対するプログラム電圧／プログラム電流の供給方向を変えることで、メモリ素子１としての抵抗変化素子１の抵抗状態を変化させることが、できる。このような抵抗変化素子がメモリ素子に用いられる場合、図５に示されるように、同じ電圧値及び極性（同じパルス形状）の電圧ＶＷＲを出力する電源端子ＶＷＲが、セルストリングＣＳ１，ＣＳ２の一端側及び他端側の駆動回路８０Ａ，８０Ｂの両方に、設けられることが好ましい。
【００８０】
また、抵抗変化素子１Ａ，１Ｂの抵抗状態の変化のメカニズム（例えば、電圧値／電流値の大きさ、パルス幅）に応じて、データのプログラム（書き込み及び消去）のために、出力する電圧値（≧Ｖｔｈ）の異なる２以上の電源端子が、駆動回路８０Ａ，８０Ｂ内に、設けられてもよい。例えば、ユニポーラ型の抵抗変化素子がメモリ素子１に用いられた場合、２つの駆動回路８０Ａ，８０Ｂのうち少なくとも一方は、抵抗変化素子１の抵抗状態を消去状態にするために、電圧ＶＷＲと異なる大きさの電圧（消去電圧）ＶＥＲを出力するための電源端子ＶＥＲ、及び、スイッチ素子（ｐ型トランジスタ）８０９を、さらに含んでいてもよい。データの書き込み／消去時に抵抗変化素子１Ａ，１Ｂに供給される電圧／電流パルスのパルス幅は、電圧供給の制御用のトランジスタ８００，８０３がオンしている期間によって、制御できる。消去電圧ＶＥＲを出力する電源端子ＶＥＲ及びスイッチ素子は、２つの駆動回路８０Ａ，８０Ｂの両方に設けられてもよい。尚、駆動回路８０Ａ，８０Ｂ内の書き込み電源及び消去電源は、メモリ素子に用いられる抵抗変化素子の種類及び特性に応じて、適宜、駆動回路８０Ａ，８０Ｂ内に追加でき、また、駆動回路８０Ａ，８０Ｂ内から削除できる。
【００８１】
以下では、メモリセルに対するデータの書き込みのための電圧ＶＷＲ，ＶＥＲを出力するための電源端子のことを、書き込み電源、又は、プログラム電源とよぶ。データの読み出しのための電圧を出力するための電源端子のことを、読み出し電源とよぶ。尚、説明の明確化のため、抵抗変化素子の抵抗状態を消去状態（高抵抗状態）にするための電圧を出力するための電源端子のことを、消去電源とよぶ場合もある。本実施形態では、駆動回路８０Ａ，８０Ｂにおいて、書き込み電源ＶＷＲなどのデータの書き込みに用いられる素子からなる回路のことを、書き込み回路とよび、読み出し電源ＶＯＰなどのデータの読み出しに用いられる素子からなる回路のことを、読み出し回路とよぶ場合もある。
【００８２】
選択回路８９は、メモリセルＭＣの選択／非選択を制御するための制御信号ＣＮＴを、メモリセルＭＣの単位セルＵＣＡ，ＵＣＢ内のセレクトトランジスタ２Ａ，２Ｂに、供給する。例えば、選択回路８９は、制御信号ＣＮＴとして、メモリセルＭＣ（単位セルＵＣ）を選択状態にするための“Ｌ”レベルの選択信号ＳＳ、及び、メモリセルＭＣ（単位セルＵＣ）を非選択状態にするための“Ｈ”レベルの非選択信号ｕＳＳを出力する。
【００８３】
例えば、ＦＰＧＡ内のメモリ回路１１０Ａの動作時、同じ信号レベルの制御信号ＣＮＴが、メモリセルＭＣ内の第１の単位セルＵＣＡのセレクトトランジスタ２Ａのゲート及び第２の単位セルＵＣＢのセレクトトランジスタ２Ｂのゲートに、供給される。
【００８４】
メモリセルＭＣの２つのセレクトトランジスタ２Ａ，２Ｂのゲートは、共通な配線（図示せず）に接続され、所定の信号レベルの制御信号ＣＮＴが、その共通の配線から２つのセレクトトランジスタ２Ａ，２Ｂのゲートに、供給されてもよい。また、メモリセルＭＣの２つのセレクトトランジスタ２Ａ，２Ｂのゲートは、互いに分離された２つの配線（図示せず）にそれぞれ接続され、所定の信号レベルの制御信号ＣＮＴが、各配線から各セレクトトランジスタ２Ａ，２Ｂに、それぞれ供給されてもよい。互いに分離された２つの配線からセレクトトランジスタ２Ａ，２Ｂに制御信号ＣＮＴが供給される場合、同じメモリセル内の２つのセレクトトランジスタ２Ａ，２Ｂに、それぞれ独立に制御信号ＣＮＴを供給でき、単位セルＵＣＡ，ＵＣＢの動作を、単位セル毎に制御できる。
【００８５】
選択回路８９は、外部からの制御信号（例えば、クロック信号、アドレス信号）に基づいて、所定のメモリセルＭＣを選択するための１以上の選択信号生成回路８９０を有している。メモリセルＭＣ内の２つの単位セルＵＣＡ，ＵＣＢが、共通の制御信号ＣＮＴで制御される場合には、１つの選択信号生成回路８９０が設けられる。また、メモリセルＭＣ内の２つの単位セルＵＣＡ，ＵＣＢが、互いに独立に制御される場合、２つのセルストリングＣＳ１，ＣＳ２に対応するように、２つの選択信号生成回路８９０が設けられる。例えば、選択信号生成回路８９０は、シフトレジスタ回路やデコーダ回路などを用いて、形成される。
【００８６】
以下では、データのプログラム（書き込み／消去）及び読み出しの対象のメモリセル又は単位セルのことを、選択セルとよび、選択セル以外のメモリセル又は単位セルのことを、非選択セルとよぶ。
【００８７】
第１のセルストリングＣＳ１の他端が、第２のセルストリングＣＳ２の他端に接続され、２つのセルストリングＣＳ１，ＣＳ２の接続ノードＮＤＲが、メモリ回路１１０Ａの出力端子（読み出しノード）ＮＤＲとなっている。
【００８８】
メモリ回路１１０Ａの出力端子ＮＤＲに、スイッチ回路９が接続される。例えば、スイッチ回路９は、スイッチアレイ２内のスイッチ素子（例えば、電界効果トランジスタ）である。
【００８９】
スイッチ回路９の入力端子（制御端子）に、メモリセルＭＣからのデータ（ＦＰＧＡのコンフィギュレーション情報）が、メモリ回路１１０Ａの出力信号として、供給され、供給されたデータ（例えば、“Ｈ”又は“Ｌ”レベルの信号）に基づいて、スイッチ回路９は、オン又はオフする。スイッチ回路９がオンすることによって、スイッチ回路９の電流経路（信号経路）の両端に接続された論理素子（論理ゲート）ＬＥが、互いに接続される。スイッチ回路９がオフすることによって、スイッチ回路９の電流経路の両端に接続された論理素子ＬＥが、互いに分離される
但し、スイッチ回路９の電流経路（出力ノード）は、図４のスイッチブロック１０２内に設けられたスイッチ素子（例えば、ｎ型トランジスタ）のゲートに接続されてもよいし、マルチプレクサ１２０の入力端子／制御端子に接続されてもよい。また、メモリ回路１１０Ａの出力端子が、トランジスタの電流経路を介して、マルチプレクサ１２０の入力端子／制御端子に接続されてもよい。
【００９０】
例えば、スイッチ回路９は、電界効果トランジスタ４の電流経路を経由して、セルストリングＣＳ１，ＣＳ２に接続されている。例えば、電界効果トランジスタ４は、メモリ回路１１０Ａに対する書き込み動作時において、セルストリングＣＳ１，ＣＳ２とスイッチ回路９とを電気的に分離する。そして、メモリ回路１１０Ａに対する読み出し動作時において、電界効果トランジスタ４は、セルストリングＣＳ１，ＣＳ２とスイッチ回路９とを電気的に接続する。
【００９１】
例えば、第１のセルストリングＣＳ１内のメモリ素子としての抵抗変化素子１Ａの第１の極性の端子Ｔ１は、セルストリングＣＳ１の一端側（第１の駆動回路側）に配置され、抵抗変化素子１Ａの第２の極性の端子Ｔ２は、２つのセルストリングＣＳ１，ＣＳ２の接続ノードＮＤＲ側に配置されている。第２のセルストリングＣＳ２内のメモリ素子としての抵抗変化素子１Ｂの第１の極性の端子Ｔ１は、セルストリングＣＳ２の一端側（第２の駆動回路側）に配置され、抵抗変化素子１Ｂの第２の極性の端子Ｔ２は、接続ノードＮＤＲ側に配置されている。このように、セルストリングＣＳ１内の抵抗変化素子１Ａの端子Ｔ１，Ｔ２の配置は、２つのセルストリングＣＳ１，ＣＳ２内の接続ノードＮＤＲを中心として、セルストリングＣＳ２内の抵抗変化素子１Ｂの端子Ｔ１，Ｔ２の配置に対して反対になっている
１つのメモリセルＭＣは、ある論理（論理素子間の接続）を実現するために用いられるデータ（以下では、コンテキストとよぶ）を格納している。メモリ回路（メモリブロック）内のメモリセルＭＣの個数が、メモリ回路１１０Ａが格納可能なコンテキストの個数に相当する。
【００９２】
本実施形態のＦＰＧＡ内に含まれるメモリ回路１１０Ａにおいて、メモリセルＭＣの２つのメモリ素子１Ａ，１Ｂは、互いに相補なデータ保持状態（書き込み状態／消去状態）にされる。  
すなわち、あるメモリセルＭＣの第１及び第２の単位セルＵＣＡ，ＵＣＢにおいて、第１の単位セルＵＣＡのメモリ素子１Ａとしての抵抗変化素子１Ａの抵抗状態が、低抵抗状態（“Ｌ”状態、オン状態、書き込み状態）である場合、第２の単位セルＵＣＢのメモリ素子１Ｂとしての抵抗変化素子１Ｂの抵抗状態は、高抵抗状態（“Ｈ”状態、オフ状態、消去状態）である。この一方で、メモリセルＭＣにおいて、抵抗変化素子１Ａの抵抗状態が高抵抗状態である場合、抵抗変化素子１Ｂの抵抗状態が低抵抗状態である。
【００９３】
尚、データ書き込み時の過渡的な状態において、１つのメモリセルＭＣ内の２つのメモリ素子としての抵抗変化素子１Ａ，１Ｂの抵抗状態は、同じになる場合があるが、コンフィギュレーション情報の保持状態において、データが正しく書き込まれたメモリセルＭＣの２つの抵抗変化素子１Ａ，１Ｂは、互いに相補の関係の抵抗状態（異なる抵抗状態）になっている。
【００９４】
２つの単位セルＵＣＡ，ＵＣＢを含むメモリセルＭＣのデータを読み出す場合、選択回路８９からの制御信号ＣＮＴによって、読み出し対象の選択セル内の単位セルＵＣＡ，ＵＣＢのセレクトトランジスタ２Ａ，２Ｂは、オフ状態にされる。これによって、単位セルＵＣＡ，ＵＣＢ内のメモリ素子１Ａ，１Ｂが、単位セルＵＣＡ，ＵＣＢ内における読み出しパルス（電圧／電流パルス）の電流経路となる。
【００９５】
メモリ素子としての抵抗変化素子１Ａ，１Ｂの抵抗状態が互いに異なるように、メモリセルＭＣ内の抵抗変化素子１Ａ，１Ｂの抵抗状態が設定されているので、２つの抵抗変化素子１Ａ，１Ｂの抵抗値の差が、メモリセルＭＣの記憶しているデータ（例えば、１ビットのデータ）として、実質的に扱われる。
【００９６】
例えば、データの読み出し時において、高電位側の単位セルの抵抗変化素子の抵抗状態が、高抵抗状態であり、低電位側の単位セルの抵抗変化素子の抵抗状態が、低抵抗状態である場合、セルストリングＣＳ１，ＣＳ２のノードＮＤＲの電位が、グランド電位になる。それゆえ、メモリ回路１１０Ａからの出力信号は、“Ｌ”レベルとなる。これとは反対に、高電位側の単位セルの抵抗変化素子の抵抗状態が、低抵抗状態であり、低電位側の単位セルの抵抗変化素子の抵抗状態が、高抵抗状態である場合、セルストリングＣＳ１，ＣＳ２のノードＮＤＲの電位が、読み出し電圧ＶＯＰ程度の大きさになる。それゆえ、メモリ回路１１０Ａからの出力信号は、“Ｈ”レベルとなる。
【００９７】
２つの単位セルＵＣＡ，ＵＣＢから形成されるメモリセルＭＣ内のメモリ素子１Ａ，１Ｂに対するデータの書き込み動作及び読み出し動作の詳細については、後述する。尚、以下では、ＦＰＧＡのコンフィギュレーション情報（コンテキスト）を出力するためのメモリ回路１１０Ａ（メモリセルＭＣ）のデータの読み出し動作のことを、ＦＰＧＡ動作ともよぶ。
【００９８】
以上のように、メモリ回路１１０Ａが、マルチコンテキスト型のＦＰＧＡのコンフィギュレーションメモリとして、用いられる。
【００９９】
尚、図５のメモリ回路１１０Ａのように、メモリセルＭＣが、互いに相補な関係の抵抗状態（書き込み状態／消去状態）の２つの抵抗変化素子１Ａ，１Ｂをメモリ素子１Ａ，１Ｂとして用いる場合、抵抗変化素子の低抵抗状態の抵抗値（オフ抵抗）と高抵抗状態の抵抗値（オフ抵抗）との比（オン・オフ比）が大きい抵抗変化素子が、メモリ素子１Ａ，１Ｂに用いることが好ましい。
【０１００】
図６は、本実施形態のＦＰＧＡ内に含まれるメモリ回路の変形例を示す図である。
【０１０１】
図６に示されるように、ＦＰＧＡ内のメモリ回路１１０Ａは、ＳＲＡＭ（フリップフロップ回路）を介して、スイッチ回路９に接続されてもよい。
【０１０２】
メモリ回路１１０Ａの出力端子としてのノードＮＤＲは、ＳＲＡＭのメモリセル（以下では、ＳＲＡＭセルとよぶ）５に接続されている。ＳＲＡＭセル５は、メモリ回路１１０Ａから出力されたデータを、一時的に保持できる。
【０１０３】
ＳＲＡＭセル５は、データ記憶部としてのフリップフロップＦＦと、フリップフロップＦＦとメモリ回路（メモリセル）１１０Ａの間のデータ転送を制御するための転送ゲート５５とを、含んでいる。
【０１０４】
フリップフロップＦＦは、フリップフロップ接続された２つのインバータＩＮＶ１，ＩＮＶ２を含む。一方のインバータＩＮＶ１のｐ型トランジスタ５１とｎ型トランジスタ５２とは、電源電圧ＶＤＤが印加される電源線５８と、グランド電圧ＶＳＳが印加されるグランド線５９との間に、トランジスタ５１，５２の電流経路が直列接続されている。他方のインバータＩＮＶ２のｐ型トランジスタ５３とｎ型トランジスタ５４とは、電源線５８とグランド線５９との間に、トランジスタ５３，５４の電流経路が直列接続されている。インバータＩＮＶ１の入力ノードが、インバータＩＮＶ２の出力ノードに接続されている。インバータＩＮＶ２の入力ノードが、インバータＩＮＶ１の出力ノードに接続されている。
【０１０５】
転送ゲート（例えば、ｎ型トランジスタ）５５の電流経路は、インバータＩＮＶ２の入力ノード（インバータＩＮＶ１の出力ノード）に接続されている。転送ゲート５５の制御端子（ゲート）は、読み出し制御線５６に接続されている。読み出し制御線５６の信号レベルに応じて、転送ゲート５５はオン又はオフする。
【０１０６】
メモリ回路１１０Ａの出力端子（読み出しノード）ＮＤＲが、ＳＲＡＭセル５の転送ゲート５５の電流経路を経由して、ＳＲＡＭセル５の入力ノードに接続されている。ＳＲＡＭセル５の出力ノードが、スイッチ回路９の制御端子に接続されている。
【０１０７】
ＳＲＡＭセル５の転送ゲート５５がオンされることによって、ＳＲＡＭセル５のフリップフロップＦＦが、メモリ回路１１０Ａと導通する。これによって、メモリ回路１１０Ａの読み出し動作（ＦＰＧＡ動作）時、メモリ回路１１０Ａの出力信号が、ＳＲＡＭセル５を介して、スイッチ回路９に転送される。
【０１０８】
このように、ＦＰＧＡ内のメモリ回路１内に記憶されているデータが、ＳＲＡＭセル５を経由して、スイッチ回路９に出力されることによって、メモリ回路１１０Ａの出力信号が、ＳＲＡＭセル５によって、増幅される。この結果として、スイッチ回路９のオン／オフに十分なレベルの信号を、ＳＲＡＭセル５を経由して、メモリ回路１１０Ａからスイッチ回路９へ供給できる。
【０１０９】
また、図７に示されるように、スイッチ回路９の特性（しきい値電圧）に応じて、メモリ回路１１０Ａの出力端子が、インバータ回路５Ｚを介して、スイッチ回路９に接続されてもよい。
【０１１０】
図７におけるメモリ回路１１０Ａの出力信号は、インバータ回路５Ｚを介して、スイッチ回路９に供給される。メモリ回路１１０Ａの出力信号が、インバータ回路５Ｚによって増幅され、増幅された信号がスイッチ回路９に供給される。
【０１１１】
これによって、メモリセルＭＣのメモリ素子としての抵抗変化素子１がある程度の大きさのオン・オフ比を有しているが、そのオン・オフ比に相関するメモリ回路１１０Ａの出力信号の大きさがスイッチ回路９の動作に不十分なときに、インバータ回路５Ｚによって、メモリセルＭＣの出力信号を、スイッチ回路９を駆動させるために十分な大きさに、増幅できる。
【０１１２】
尚、インバータ回路５Ｚの代わりに、バッファ回路が、メモリ回路１１０Ａの出力端子とスイッチ回路９との間に、接続されてもよい。
【０１１３】
以上のように、第１の実施形態のＦＰＧＡ内のメモリ回路１１０Ａは、メモリ素子としての抵抗変化素子１を含む複数の単位セルＵＣの電流経路が直列に接続される。これによって、本実施形態のＦＰＧＡは、メモリ回路１１０Ａの単位セルＵＣ及び単位セルＵＣから形成されるメモリセルのリーク電流を低減できる。
【０１１４】
この結果として、第１の実施形態のリコンフィギュラブル論理回路は、消費電力を削減できる。
【０１１５】
（ｂ）  動作  
図８乃至図１０を参照して、第１の実施形態のリコンフィギュラブル論理回路の動作について、説明する。
【０１１６】
＜書き込み動作＞  
図８及び図９を用いて、第１の実施形態のリコンフィギュラブル論理回路（例えば、ＦＰＧＡ）内に含まれるメモリ回路におけるデータの書き込み動作（プログラム動作）について説明する。
【０１１７】
まず、単位セルＵＣのメモリ素子１に対するデータの書き込み及び消去の基本動作について、説明する。
【０１１８】
図２及び図５を用いて説明したように、ＦＰＧＡに用いられるメモリ回路１１０Ａに対するデータの書き込み及び消去時、メモリ回路１１０Ａ内の複数のメモリセルＭＣのうち、データの書き込み対象のメモリセル／単位セル（選択セル）に対して、選択線号ＳＳが、制御信号ＣＮＴとして供給される。複数のメモリセルのうち、選択セル以外のメモリセル／単位セル（非選択セル）に、非選択信号ｕＳＳが制御信号ＣＮＴとして、供給される。
【０１１９】
制御信号ＣＮＴとしての選択信号ＳＳは、単位セルＵＣのセレクトトランジスタ２をオフさせる電圧値の信号（例えば、“Ｌ”レベルの信号）である。一方、制御信号ＣＮＴとしての非選択信号ｕＳＳは、セレクトトランジスタ２をオンさせる電圧値の信号（例えば、“Ｈ”レベルの信号）である。  
非選択信号ｕＳＳが供給された非選択セル内のセレクトトランジスタ２は、十分にオンしている。チャネル（反転層）が形成されたセレクトトランジスタ２は、十分に低い抵抗になっている。
【０１２０】
それゆえ、オン状態のセレクトトランジスタ２のソース/ドレイン間の電位差は、ほとんどゼロとなる。セレクトトランジスタ２の電流経路（チャネル）に対して並列に接続されているメモリ素子１の端子Ｔ１，Ｔ２間の電位差も、実質的にゼロとなり、電流もメモリ素子１内にほとんど供給されない。このため、非選択セル内のメモリ素子１としての抵抗変化素子１に、データの書き込み又は消去は、生じない。
【０１２１】
一方、選択信号ＳＳが供給されている選択セル内のセレクトトランジスタ２は、十分にオフしている。つまり、セレクトトランジスタ２の電流経路内にチャネルが形成されず、セレクトトランジスタ２は、十分に高い抵抗として機能する。
【０１２２】
そのため、セレクトトランジスタ２のソース/ドレイン間に、書き込み電源からの書き込み電圧ＶＷＲ又は消去電源からの消去電圧ＶＥＲに対応する電位差が、印加される。
【０１２３】
これによって、セレクトトランジスタ２の電流経路に対して並列に接続されているメモリ素子１としての抵抗変化素子１の両端Ｔ１，Ｔ２に、書き込み電圧ＶＷＲ又は消去電圧ＶＥＲに対応する電位差が印加され、そのメモリ素子１としての抵抗変化素子１の抵抗状態が、変化する。
【０１２４】
書き込み電圧ＶＷＲが印加された抵抗変化素子１の抵抗状態が高抵抗状態（消去状態）である場合、その抵抗変化素子１の抵抗状態は、高抵抗状態から低抵抗状態へ変化する。消去電圧ＶＥＲが印加された抵抗変化素子１の抵抗状態が低抵抗状態（書き込み状態）である場合、その抵抗変化素子１の抵抗状態は、低抵抗状態から高抵抗状態へ変化する。
【０１２５】
抵抗変化素子１の特性／種類に応じて、消去電圧ＶＥＲのパルス形状（電圧値及びパルス幅の少なくとも一方）が書き込み電圧ＶＷＲのパルス形状と異なる、又は、書き込み電圧ＶＷＲの極性と消去電圧ＶＥＲの極性とが互いに反対（すなわち、ＶＥＲ＝−ＶＷＲの関係）になっている。
【０１２６】
尚、抵抗変化素子１の２つの端子が互いに反対の極性を有し、互いに反対の極性の電圧／電流によって抵抗変化素子１の抵抗状態が変化する場合、メモリ素子としての抵抗変化素子１に対する電圧／電流（プログラムパルス）の供給方向、即ち、抵抗変化素子１に対する電圧／電流のソース側（高電位側）とシンク側（低電位側）との関係を切り替えることによって、同じ極性の電圧（例えば、正の電圧）を用いて、抵抗変化素子１の抵抗状態を変えることができる。この場合、消去電圧の極性を、書き込み電圧の極性と同じにできる。
【０１２７】
このように、メモリセル／単位セルに対するプログラム動作によって、本実施形態のＦＰＧＡのメモリ回路１１０Ａにおける単位セルＵＣのメモリ素子１としての抵抗変化素子１が、書き込み状態及び消去状態にされる。これによって、メモリセルＭＵ及び単位セルＵＣ内に、抵抗変化素子１の書き込み状態又は消去状態に対応するデータが、プログラムされる。
【０１２８】
尚、メモリ素子１に用いられる抵抗変化素子１は、抵抗変化素子の種類に応じて、フォーミングとよばれる動作が、データの書き込み及び消去の前に、施される。フォーミングによって、抵抗変化素子１内の金属酸化物などの絶縁膜内に、フィラメントとよばれる微細な電流経路が形成され、低抵抗状態と高抵抗状態との間で抵抗状態が変化する抵抗変化素子が、実現される。フォーミング動作は、上述のメモリセル／単位セルに対するプログラム動作と実質的に同じ動作で実行できる。但し、フォーミングのために抵抗変化素子に供給される電圧及び電流の大きさは、書き込み電圧及び消去電圧の大きさと異なる場合がある。
【０１２９】
本実施形態のＦＰＧＡ内に含まれるメモリ回路のように、２つのメモリ素子１Ａ，１Ｂの互いに相補な関係のデータ保持状態（２つの抵抗変化素子の互いに異なる抵抗状態）によって、２つのメモリ素子１Ａ，１Ｂを含むメモリセルＭＣがコンテキスト（１ビットのデータ）を記憶する場合、以下のように、メモリセルＭＣに対するデータの書き込み動作が実行される。
【０１３０】
図８及び図９は、図５のＦＰＧＡ内のメモリ回路１１０Ａの書き込み動作を説明するための模式図である。図８及び図９において、ＦＰＧＡ内に含まれるメモリ回路１１０Ａに対するデータの書き込み及び消去に用いられる回路の主要部が、抽出されて示されている。
【０１３１】
図８及び図９において、ＦＰＧＡに用いられるメモリ回路１１０Ａが、５つのメモリセルＭＣ１，ＭＣ２，ＭＣ３，ＭＣ４，ＭＣ５を含む例が示されている。各メモリセルＭＣ１，ＭＣ２，ＭＣ３，ＭＣ４，ＭＣ５は、２つの単位セルＵＣから形成され、２つのメモリ素子（抵抗変化素子）１と２つのセレクトトランジスタ２を含んでいる。ここでは、第４のメモリセルＭＣ４が選択セル、第１、第２、第３及び第５のメモリセルＭＣ１，ＭＣ２，ＭＣ３，ＭＣ５が非選択セルとして、メモリ回路の書き込み動作が説明される。
【０１３２】
フォーミングを実行しなくともよい抵抗変化素子（例えば、ＭＴＪ素子、又は、バイポーラ型の抵抗変化素子）が、メモリ素子１に用いられた場合、図８に示されるＦＰＧＡ内のメモリ回路の動作によって、２つのメモリ素子１Ａ，１Ｂを含むメモリセルＭＣに対するデータの書き込みが実行される。
【０１３３】
図８に示されるように、フォーミングを実行しなくともよい抵抗変化素子をメモリ素子１として含むＦＰＧＡ内のメモリ回路１１０Ａは、選択セル（ここでは、メモリセルＭＣ４）内の２つのメモリ素子１Ａ，１Ｂを、実質的に同時に、互いに相補の関係のデータ保持状態（異なる抵抗状態）にできる。
【０１３４】
例えば、ＦＰＧＡ内のメモリ回路１１０Ａのプログラム時、書き込み電源ＶＷＲがオン状態のスイッチ素子８００を介して、セルストリングＣＳ１に接続され、グランド端子ＶＧＮＤが、オン状態のスイッチ素子８０４を介して、セルストリングＣＳ２に接続される。
【０１３５】
非選択セルＭＣ１，ＭＣ２，ＭＣ３，ＭＣ５に対して、非選択信号ｕＳＳが２つの単位セルＵＣＡ，ＵＣＢの両方に供給され、“Ｈ”レベルの非選択信号ｕＳＳによって、非選択セル内のセレクトトランジスタ２がオンされる。
【０１３６】
選択セルＭＣ４の２つの単位セルＵＣＡ，ＵＣＢに対して、制御信号ＣＮＴとしての選択信号ＳＳが、両方の単位セルＵＣＡ，ＵＣＢに供給される。“Ｌ”レベルの選択信号ＳＳによって、選択セルＭＣ４内の２つのセレクトトランジスタ２Ａ，２Ｂが、オフする。
【０１３７】
図８のメモリ回路１１０Ａにおいて、各セルストリングＣＳ１，ＣＳ２において、抵抗変化素子１Ａ，１Ｂの第１の極性の端子Ｔ１が、駆動回路側に位置し、抵抗変化素子１Ａ，１Ｂの第２の極性の端子Ｔ２が、読み出しノード（メモリ回路１１０Ａの出力端子）ＮＤＲ側に位置するように、セルストリングＣＳ１，ＣＳ２が形成されている。セルストリングＣＳ１内の抵抗変化素子１ＡとセルストリングＣＳ２内の抵抗変化素子１Ｂとは、素子１Ａ，１Ｂの端子Ｔ１，Ｔ２の極性の関係がノードＮＤＲを中心に対称になるように、メモリブロック内に配置されている。
【０１３８】
接続された書き込み電源ＶＷＲとグランド端子ＶＧＮＤとによって、第１のセルストリングＣＳ１側の駆動回路８０Ａが高電位側（ソース側）、第２のセルストリングＣＳ２側の駆動回路８０Ｂが低電位側（シンク側）である場合、第１のセルストリングＣＳ１内の抵抗変化素子１Ａにおいて、第１の極性の端子Ｔ１が、高電位側になり、第２の極性の端子Ｔ２が、低電位側になる。一方、第２のセルストリングＣＳ２内の抵抗変化素子１Ｂにおいて、抵抗変化素子１Ｂの第２の極性の端子Ｔ２が、高電位側となり、抵抗変化素子１Ｂの第１の極性の端子Ｔ１が低電位側となる。
【０１３９】
このように、抵抗変化素子１の端子Ｔ１，Ｔ２の向きが設定されることによって、電圧の供給側に関して、第２のセルストリングＣＳ２内の抵抗変化素子１Ｂに印加される電圧の極性は、第１のセルストリングＣＳ１内の抵抗変化素子１Ａに印加される電圧の極性の反対になる。
【０１４０】
したがって、第１のセルストリングＣＳ１内の抵抗変化素子１Ａにおいて、書き込み電圧又は書き込み電流としてのプログラムパルス（書き込みパルス）ＰＬＰＲＧが、抵抗変化素子１Ａの第１の極性の端子Ｔ１から第２の極性の端子Ｔ２に向かって供給されるのに対して、第２のセルストリングＣＳ２内の抵抗変化素子１Ｂにおいて、プログラムパルスＰＬＰＲＧは、抵抗変化素子１Ｂの第２の極性の端子Ｔ２から第１の極性の端子Ｔ１に向かう方向に供給される。それゆえ、抵抗変化素子１Ｂには、消去電圧又は消去電流（消去パルス）としてのプログラムパルスＰＬＰＲＧが、供給される。
【０１４１】
このように、メモリ素子としての極性を有する抵抗変化素子１Ａ，１Ｂに対して、書き込み電流の流れる方向が互いに反対になるので、供給された書き込みパルスＰＬＰＲＧによって、メモリセルＭＣ内の２つの単位セルＵＣＡ，ＵＣＢの抵抗変化素子１Ａ，１Ｂの抵抗状態が、互いに異なる状態になる。  
これによって、供給された書き込みパルスＰＬＰＲＧによって、メモリセルＭＣ内に、データが格納される。
【０１４２】
メモリセルＭＣに書き込まれるデータが、図８の動作で書き込まれるデータと反対のデータである場合、図８の高電位側／低電位側の関係とは反対に、第２のセルストリングＣＳ２側が高電位側に設定され、第１のセルストリングＣＳ１が低電位側に設定される。
【０１４３】
すなわち、極性が互いに反対の電圧によって抵抗変化素子１の抵抗状態の変化が実行される場合、図８に示されるように、セルストリングＣＳ１，ＣＳ２の一端側及び他端側の駆動回路８０Ａ，８０Ｂ内のそれぞれに、同じ極性の電圧ＶＷＲ（例えば、正の電圧）をセルストリングＣＳ１，ＣＳ２に出力するための電源端子ＶＷＲが設けられることが好ましい。各電源端子ＶＷＲに対して、スイッチ素子８００，８０３が、駆動回路８０Ａ，８０Ｂ内に設けられている。また、駆動回路８０Ａ，８０Ｂの両方に、グランド端子ＶＧＮＤ及びスイッチ素子８０２，８０４が、設けられる。
【０１４４】
上述のように、図８におけるセルストリングＣＳ１内の抵抗変化素子１ＡとセルストリングＣＳ２内の抵抗変化素子１Ｂとは、プログラムパルスＰＬＰＲＧのソース側とシンク側との間においてプログラムパルスＰＬＰＲＧのソース側に対する抵抗変化素子の端子Ｔ１，Ｔ２の極性の向きが互いに反対になるように、ノードＮＤＲを中心として２つの駆動回路８０Ａ，８０Ｂ間に接続されている。
【０１４５】
それゆえ、セルストリングＣＳ１側の駆動回路８０Ａが、ソース側（高電位側、電圧出力側）となり、セルストリングＣＳ２側の駆動回路８０Ｂが、シンク側（低電位側、グランド側）となる場合には、セルストリングＣＳ１内の抵抗変化素子１Ａに、書き込み電圧に相当する極性のパルスＰＬＰＲＧが供給され、セルストリングＣＳ２内の抵抗変化素子１Ｂに、消去電圧に相当する極性のパルスＰＬＰＲＧが供給される。これによって、抵抗変化素子１Ａの抵抗状態が書き込み状態（低抵抗状態）にされ、抵抗変化素子１Ｂの抵抗状態が消去状態（高抵抗状態）にされる。
【０１４６】
一方、セルストリングＣＳ１側の駆動回路８０Ａがシンク側となり、セルストリングＣＳ２側の駆動回路８０Ｂがソース側となる場合において、セルストリングＣＳ１側がソース側となる場合と同じ極性の電圧ＶＷＲが、ソース側となる駆動回路８０ＡからセルストリングＣＳ２に供給されたとしても、セルストリングＣＳ２内の抵抗変化素子１Ｂに、書き込み電圧に相当する極性のパルスＰＬＰＲＧが供給され、セルストリングＣＳ１内の抵抗変化素子１Ａに、消去電圧に相当する極性のパルスＰＬＰＲＧが供給される。これによって、抵抗変化素子１Ａの抵抗状態が消去状態にされ、抵抗変化素子１Ｂの抵抗状態が書き込み状態にされる。
【０１４７】
このように、ＦＰＧＡ内のメモリ回路１１０Ａのプログラム時において、セルストリングＣＳ１，ＣＳ２に対するプログラムパルスＰＬＰＲＧのソース側及びシンク側を切り替えることで、同じ極性（パルス形状）の電圧パルス（又は電流パルス）を用いて、メモリセルＭＣ内のメモリ素子としての抵抗変化素子１Ａ，１Ｂの抵抗状態を、互いに異なる状態に変えることができる。
【０１４８】
これに伴って、ＦＰＧＡ内のメモリ回路１１０Ａにおいて、書き込み電圧及び消去電圧を生成するための回路（電圧生成回路）を簡素化でき、例えば、消去電圧としての負電圧を生成するための回路を、削減できる。この結果として、ＦＰＧＡに用いられるメモリ回路１１０Ａの駆動回路８０Ａ，８０Ｂの回路設計を容易化でき、駆動回路８０Ａ，８０Ｂの回路サイズを縮小できる。
【０１４９】
例えば、図８の動作によって、メモリセルＭＣ内のメモリ素子としての２つの抵抗変化素子１Ａ，１Ｂのうち、第１のセルストリング内の抵抗変化素子１Ａが書き込み状態（低抵抗状態）にされ、第２のセルストリングＣＳ２側の抵抗変化素子１Ｂが消去状態（高抵抗状態）にされる場合、メモリセルＭＣ内に、“０”データが書き込まれる。これとは反対に、第１のセルストリング内の抵抗変化素子１Ａが消去状態にされ、第２のセルストリングＣＳ２側の抵抗変化素子１Ｂが書き込み状態にされる場合、メモリセルＭＣ内に、“１”データが書き込まれる。
【０１５０】
図８に示されるように、フォーミング動作が実行されない抵抗変化素子がメモリ素子に用いられた場合、図５のメモリ回路１１０Ａのように、２つの単位セルＵＣＡ，ＵＣＢから形成されるメモリセルＭＣにおいて、電圧／電流パルスの供給方向に対する抵抗変化素子１の極性を有する端子Ｔ１，Ｔ２の向きが互いに反対になるように、単位セルＵＣＡ，ＵＣＢが設計される。これによって、共通の電圧／電流パルスによって、２つの単位セルＵＣＡ，ＵＣＢの抵抗変化素子１Ａ，１Ｂの抵抗状態を同時に変化でき、１回の書き込みパルスの供給で、メモリセルＭＣにデータをプログラムできる。
【０１５１】
図８のように、１回の書き込みパルスの供給で、複数の単位セル内のメモリ素子１の抵抗状態を変化させることによって、ＦＰＧＡ内に含まれるメモリ回路の書き込み及び消去（プログラム）時の消費電力を削減できる。また、複数のメモリ素子１の抵抗状態を同時に変化させることによって、データの書き込み時間を短縮でき、ＦＰＧＡ内に含まれるメモリ回路の高速な書き込み及び消去動作（プログラム動作）を実現できる。
【０１５２】
図８に示されるＦＰＧＡ内のメモリ回路の動作例のように、メモリセル内の２つの単位セルの２つの抵抗変化素子の抵抗状態を同時に変化させることができる場合、１つのメモリセルＭＣ内の２つの単位セルＵＣＡ，ＵＣＢに共通な配線から共通の制御信号ＣＮＴ（ＳＳ，ｕＳＳ）を供給してもよい。この場合、セレクトトランジスタ２Ａ，２Ｂのゲートは共通の配線（制御信号線）に、接続されている。この場合、制御回路８内の選択回路は、メモリセル内の２つの単位セルＵＣＡ，ＵＣＢを共通に制御できるため、例えば、１つの選択信号生成回路８９０を含めばよい。
【０１５３】
抵抗状態が変化する性質を素子に発現させるためにフォーミングが施される抵抗変化素子（例えば、ユニポーラ型の抵抗変化素子）が、メモリ回路１１０Ａのメモリ素子１として用いられた場合、図９に示される動作によって、メモリセルＭＣ内の１つの単位セルＵＣ毎に、メモリ素子１に対するデータの書き込み又は消去が実行される。
【０１５４】
ソース側となる駆動回路８０Ａ内の書き込み電源ＶＷＲ又は消去電源ＶＥＲのいずれか一方が、セルストリングＣＳ１に接続される。シンク側となる駆動回路８０Ｂ内のグランド端子ＶＧＮＤが、セルストリングＣＳ２に接続される。
【０１５５】
非選択セルＭＣ１，ＭＣ２，ＭＣ３，ＭＣ５に対して、非選択信号ｕＳＳが２つの単位セルＵＣＡ，ＵＣＢの両方に供給され、非選択信号ｕＳＳによって、非選択セル内のセレクトトランジスタ２がオンされる。
【０１５６】
選択セルＭＣ４の２つの単位セルＵＣＡ，ＵＣＢのうち、制御信号ＣＮＴとしての選択信号ＳＳが、一方の単位セル（ここでは、単位セルＵＣＡ）に供給され、非選択信号ｕＳＳが、他方の単位セルＵＣＢに供給される。
【０１５７】
これによって、選択セルＭＣ４内の２つのセレクトトランジスタ２Ａ，２Ｂのうち一方のセレクトトランジスタ２Ａのみがオフし、そのオフ状態のセレクトトランジスタ２Ａの電流経路に並列に接続された抵抗変化素子１Ａに、書き込み電圧ＶＷＲ又は消去電圧ＶＥＲに起因するプログラムパルスＰＬＰＲＧが供給される。  
選択セルＭＣ４内の２つのセレクトトランジスタ２Ａ，２Ｂのうち他方のセレクトトランジスタ２Ｂはオンするため、書き込みパルスＰＬＰＲＧは、オン状態のセレクトトランジスタ２Ｂに並列に接続された抵抗変化素子１Ｂには、ほとんど供給されない。
【０１５８】
これによって、選択セルＭＣ４内の２つの単位セルＵＣＡ，ＵＣＢのうち、一方の単位セルＵＣＡ内のメモリ素子としての抵抗変化素子１Ａの抵抗状態が、供給されたプログラムパルスのパルス形状（パルスの電圧値及びパルス幅の少なくとも一方）に応じて、書き込み状態又は消去状態に変化する。この時、他方の単位セルＵＣＢ内の抵抗変化素子１Ｂの抵抗状態は、維持される。
【０１５９】
選択セルＭＣ４内の２つの単位セルＵＣＡ，ＵＣＢに関して、一方の単位セルＵＣＡの抵抗変化素子１Ａの抵抗状態を変化させた後、一方の単位セルＵＣＡが非選択状態にされ、他方の単位セルＵＣＢが選択状態にされる。他方の単位セルＵＣＢの抵抗変化素子１Ｂの抵抗状態が、抵抗変化素子１Ａの抵抗状態に対して反対の状態になるように、書き込みパルスＰＬＰＲＧが抵抗変化素子１Ｂに供給され、単位セルＵＣＢの抵抗変化素子１Ｂに対するデータの書き込み又は消去が実行される。
【０１６０】
単位セルＵＣＡの抵抗変化素子の抵抗状態を変化させた後、単位セルＵＣＢの抵抗変化素子１Ｂの抵抗状態を変化させることによって、２つの単位セルＵＣＡ，ＵＣＢを含むメモリセルＭＣに、データがプログラムされる。
【０１６１】
このように、メモリセルＭＣ内の２つの単位セルＵＣＡ，ＵＣＢのオン／オフを互いに独立に制御することによって、同じパルス形状のプログラムパルス（書き込みパルス及び消去パルス）ＰＬＰＲＧが、選択セル内の２つの抵抗変化素子１Ａ，１Ｂに同時に供給されることを防止できる。
【０１６２】
以上のように、図９に示されるように、フォーミング動作が実行される抵抗変化素子がメモリ素子に用いられた場合、図５のメモリ回路１１０Ａのように、２つの単位セルＵＣＡ，ＵＣＢから形成されるメモリセルＭＣにおいて、単位セルＵＣＡ，ＵＣＢ毎に、抵抗変化素子１Ａ，Ｂの抵抗状態が順次変化されることによって、データが、メモリセルＭＣに書き込まれる。
【０１６３】
図９に示される例のように、単位セル毎に抵抗変化素子の抵抗状態を変化させる場合、１つのメモリセルＭＣ内の２つの単位セルＵＣＡ，ＵＣＢに互いに異なる配線から制御信号が供給されるように、セレクトトランジスタ２Ａ，２Ｂのゲートは互いに独立に制御される配線（制御信号線）に、接続されている。例えば、制御回路８内の選択回路は、メモリセル内の２つの単位セルＵＣＡ，ＵＣＢを互いに独立に制御できるように、２つの選択信号生成回路８９０を含む。
【０１６４】
尚、フォーミングが実行されない抵抗変化素子がメモリセル／単位セルＭＣ，ＵＣのメモリ素子１に用いられる場合、メモリ素子１としての抵抗変化素子１のオン抵抗／オフ抵抗の大きさに応じて、選択セル内の抵抗変化素子１によるプログラムパルスの電圧降下／電流の消費に起因した書き込み不良を防止するために、図９のＦＰＧＡ内のメモリ回路の書き込み及び消去動作のように、単位セルＵＣＡ，ＵＣＢ毎に、抵抗変化素子の抵抗状態を変化させて、２つの抵抗変化素子を含むメモリセルに対するデータのプログラムが実行されてもよい。また、メモリ素子に用いられる抵抗変化素子の種類及び特性に応じて、フォーミングが実行される抵抗変化素子に対して、図８のＦＰＧＡ内のメモリ回路の書き込み及び消去動作が実行されてもよい。
【０１６５】
データの書き込み／消去時、図５のＦＰＧＡ内のメモリ回路のように、メモリ回路１１０Ａの出力端子とスイッチ回路９との間のトランジスタ４によって、スイッチ回路９は、メモリ回路１１０Ａから電気的に分離されている。それゆえ、データの書き込み／消去時における書き込み／消去電圧（又は電流）が、スイッチ回路９に供給されることは、ほとんど無い。
【０１６６】
図８及び図９に示されるＦＰＧＡ内のメモリ回路１１０Ａの書き込み動作によって、メモリ回路１１０Ａ内のメモリセル内の２つのメモリ素子（抵抗変化素子）が、互いに相補のデータ保持状態（互いに異なる抵抗状態）に設定されることによって、そのメモリセルＭＣ内にデータ（コンテキスト、１ビットのデータ）を格納でき、所定の論理計算を実行できる論理回路を構築するためのコンフィギュレーション情報を、ＦＰＧＡ内のメモリ回路に格納できる。
【０１６７】
＜読み出し動作＞  
図１０を用いて、第１の実施形態のリコンフィギュラブル論理回路（例えば、ＦＰＧＡ）内に含まれるメモリ回路の読み出し動作（ＦＰＧＡ動作）について、説明する。
【０１６８】
まず、単位セルＵＣのメモリ素子１に対するデータの読み出しの基本動作について、説明する。
【０１６９】
ＦＰＧＡ内のメモリ回路１１０Ａに対するデータの読み出し（ＦＰＧＡ動作）時、メモリ回路内の複数のメモリセル／単位セルＭＣ，ＵＣのうち、データの読み出し対象のメモリセル／単位セルに対して、選択線号ＳＳが、制御信号として供給される。複数のメモリセル／単位セルのうち、非選択セルに、非選択信号ｕＳＳが制御信号として、供給される。
【０１７０】
図８及び図９の書き込み動作と同様に、読み出し動作における選択信号ＳＳは、単位セルＵＣのセレクトトランジスタ２をオフさせる電圧値の信号（“Ｌ”レベルの信号）である。読み出し動作における非選択信号ｕＳＳは、セレクトトランジスタ２をオンさせる電圧値の信号（“Ｈ”レベルの信号）である。
【０１７１】
非選択信号ｕＳＳが供給された非選択セルにおいて、セレクトトランジスタ２は、オンする。したがって、読み出し電圧ＶＯＰによって生じる電流（以下では、読み出し電流）の大部分は、単位セルＵＣ内のセレクトトランジスタ２Ａ，２Ｂのチャネルを流れ、その電流はメモリ素子１としての抵抗変化素子１にはほとんど流れない。
【０１７２】
一方、選択信号ＳＳが供給された選択セルＭＣにおいて、セレクトトランジスタ２は、オフする。したがって、読み出し電圧ＶＯＰに起因する読み出し電流の大部分は、メモリ素子１としての抵抗変化素子１に、供給される。
【０１７３】
メモリ素子１としての抵抗変化素子１が高抵抗状態であるか、又は、抵抗変化素子１が低抵抗状態であるかに応じて、選択セルからメモリ回路の読み出しノード（メモリ回路の出力端子）ＮＤＲに供給される電流（又は電位）の大きさが、異なる。
【０１７４】
読み出しノードＮＤＲにおける電流（電位）の大きさに応じて、メモリ回路の選択セルに記憶されているデータが、判別される。
【０１７５】
また、読み出しノードＮＤＲにおける電流／電位に応じて、スイッチ回路９がオン又はオフする。オン状態のスイッチ回路９によって、２つの論理素子ＬＥが電気的に接続される。オフ状態のスイッチ回路９によって、２つの論理素子ＬＥが電気的に分離される。
【０１７６】
本実施形態のＦＰＧＡ内の含まれるメモリ回路１１０Ａのように、２つのメモリ素子１Ａ，１Ｂの互いに相補な関係のデータ保持状態（２つの抵抗変化素子の互いに異なる抵抗状態）によって、２つのメモリ素子１Ａ，１Ｂを含むメモリセルＭＣがコンテキスト情報（１ビットのデータ）を記憶する場合、以下のように、メモリセルＭＣからのデータの読み出し動作（ＦＰＧＡ動作）が実行される。
【０１７７】
メモリセルＭＣの２つのメモリ素子１のうち、一方のメモリ素子１としての抵抗変化素子１の抵抗状態は、高抵抗状態であり、他方のメモリ素子１としての抵抗変化素子１の抵抗状態は、低抵抗状態である。
【０１７８】
例えば、図１０に示されるＦＰＧＡ内のメモリ回路１１０Ａの読み出し動作において、本実施形態のＦＰＧＡ内のメモリ回路１１０Ａにおける選択セル（ここでは、メモリセルＭＣ４）からのデータ読み出し時、第１のセルストリングＣＳ１側が高電位側に設定され、第２のセルストリングＣＳ２側が低電位側に設定される場合について、述べる。図１０において、メモリ回路１１０Ａに対するデータの読み出しに用いられる回路の主要部が、抽出されて示されている。
【０１７９】
メモリ回路１１０Ａの読み出し動作（ＦＰＧＡ動作）時、読み出し電源ＶＯＰ（＜Ｖｔｈ）及びグランド電源ＶＧＮＤが、オン状態のスイッチ素子（図示せず）を介して、セルストリングＣＳ１，ＣＳ２に接続される。読み出し電源ＶＯＰに起因する読み出し電流Ｉｒｅａｄ（＜Ｉｔｈ）が、セルストリングＣＳ１，ＣＳ２に供給される。読み出し動作時、選択セルＭＣ４内の２つのセレクトトランジスタ２は、オフされ、非選択セルＭＣ１，ＭＣ２，ＭＣ３，ＭＣ５内の２つのセレクトトランジスタ２は、オンされている。
【０１８０】
上述のように、本実施形態のＦＰＧＡのメモリ回路１１０Ａにおいて、メモリセルＭＣ内の２つの抵抗変化素子１は、互いに異なる抵抗状態に設定されている。  
本実施形態において、選択セルＭＣ４の第１のセルストリングＣＳ１側の抵抗変化素子１Ａが高抵抗状態である場合、選択セルＭＣ４の第２のセルストリングＣＳ２側の抵抗変化素子１Ｂは、低抵抗状態になっている。
【０１８１】
この場合において、第１のセルストリングＣＳ１側から供給される読み出し電圧ＶＯＰは、高抵抗状態の抵抗変化素子１Ａによって、メモリ回路１１０Ａの読み出しノードＮＤＲから電気的に分離される、又は、高抵抗状態の抵抗変化素子１Ａによる電圧降下によって、消費される。低抵抗状態の抵抗変化素子１Ｂによって、第２のセルストリングＣＳ２側から供給されるグランド電圧ＶＧＮＤが、読み出しノードＮＤＲに転送される。
【０１８２】
これによって、データの読み出し（ＦＰＧＡ動作）時、相補データを記憶するメモリセルＭＣ内の２つのメモリ素子１としての抵抗変化素子１のうち、高電位側の抵抗変化素子が低抵抗状態である場合、メモリ回路１１０Ａの読み出しノードＮＤＡの電位は、低電位（“Ｌ”レベル）になる。
【０１８３】
一方、選択セルＭＣ４の第１のセルストリングＣＳ１側の抵抗変化素子１Ａが、低抵抗状態である場合、選択セルＭＣ４の第２のセルストリングＣＳ２側の抵抗変化素子１Ｂは、高抵抗状態になっている。  
この場合、読み出しノードに対するＮＤＲに対するグランド電圧ＶＧＮＤの供給は、高抵抗状態の抵抗変化素子１Ｂによって、遮断され、第１のセルストリングＣＳ１側からの読み出し電圧ＶＯＰが、低抵抗状態の抵抗変化素子１Ａを経由して、読み出しノードＮＤＲに転送される。
【０１８４】
それゆえ、データの読み出し時、メモリセルＭＣ内において相補データを記憶する２つのメモリ素子１としての抵抗変化素子１のうち、高電位側の抵抗変化素子１が低抵抗状態である場合、メモリ回路１１０Ａの読み出しノードＮＤＲの電位は、高電位（“Ｈ”レベル）になる。
【０１８５】
メモリセルＭＣから読み出されたデータに基づいた読み出しノードＮＤＲの電位によって、スイッチ回路９がオン又はオフする。スイッチ回路９のオン／オフに応じて、スイッチ回路９に接続された複数の論理素子ＬＥが接続される、又は、分離される。
【０１８６】
このように、互いに異なる抵抗状態（互いに相補のデータ保持状態）の２つの抵抗変化素子１をメモリ素子１に用いたメモリセルＭＣを含むメモリ回路１１０Ａの読み出し動作（ＦＰＧＡ動作）において、各メモリセルＭＣからデータ（コンテキスト、コンフィギュレーション情報）を読み出すことができ、その読み出したデータに基づいて、所定の論理計算を実行できる論理回路を、構築できる。
【０１８７】
尚、ＦＰＧＡ内に含まれるメモリ回路１１０Ａの読み出し動作（ＦＰＧＡ動作）時、駆動回路８０Ａ，８０Ｂ内の電源の構成に応じて、第２のセルストリングＣＳ２側が、高電位側に設定され、第１のセルストリングＣＳ１側が低電位側に設定されてもよい。
【０１８８】
以上のように、第１の実施形態のＦＰＧＡ内の含まれるメモリ回路に対するデータの書き込み／消去動作及び読み出し動作によって、本実施形態で述べられたメモリ回路１１０Ａが、ＦＰＧＡ（例えば、マルチコンテキスト型ＦＰＧＡ）のコンフィギュレーションメモリとして、駆動される。
【０１８９】
（ｃ）  メモリ回路の特性  
図１１及び図１２を参照して、第１の実施形態のリコンフィギュラブル論理回路（例えば、ＦＰＧＡ）に用いられるメモリ回路の特性について、説明する。
【０１９０】
第１の実施形態のＦＰＧＡ内に含まれるメモリ回路１１０Ａにおいて、メモリ素子としての抵抗変化素子１のオン抵抗（素子１の低抵抗状態時の抵抗値）は、メモリ回路１１０Ａの動作遅延に関係し、抵抗変化素子１のオフ抵抗（素子１の高抵抗状態の抵抗値）は、メモリ回路１１０Ａの消費電力に、関係する。
【０１９１】
ＦＰＧＡ内のメモリ回路１１０Ａの動作遅延に対して抵抗変化素子１のオン抵抗が関係するする理由は、その抵抗変化素子１が選択されたときに、どれだけ速やかに抵抗変化素子１内に電流を流すことができるかに影響するためである。
【０１９２】
メモリ回路１１０Ａ及びそのメモリ回路１１０Ａを含むＦＰＧＡの消費電力における抵抗変化素子のオフ抵抗が関係する理由は、たとえ電流経路が直列に接続されている複数のセレクトトランジスタ２のオフ抵抗が大きくても、メモリ素子１としての抵抗変化素子１のオフ抵抗が低ければ、セレクトトランジスタ２側よりも抵抗変化素子１側に多くの電流が流れ、単位セルＵＣ（メモリセルＭＣ）内に、リーク電流が発生するためである。
【０１９３】
また、メモリ回路１１０Ａの特性に対して、単位セルＵＣのセレクトトランジスタ２のオン・オフ比も、影響する。もし、セレクトトランジスタ２のオン抵抗（オン状態のセレクトトランジスタ２のソース／ドレイン間の抵抗値）が高い、また、セレクトトランジスタ２のオフ抵抗（オフ状態のセレクトトランジスタ２のソース／ドレイン間の抵抗値）が低ければ、メモリ素子１の抵抗値のオン・オフ比が大きくても、メモリ回路１１０Ａの動作が遅延したり、貫通電流が増大したりする。
【０１９４】
以下では、ＦＰＧＡ内のメモリ回路１１０Ａに用いられるメモリ素子１としての抵抗変化素子１のオン抵抗及びオフ抵抗の大きさとメモリ回路１１０Ａの動作特性との関係について、述べる。
【０１９５】
図１１及び図１２は、実施形態のＦＰＧＡに用いられるメモリ回路のシミュレーション結果を示している。
【０１９６】
図１１は、実施形態のＦＰＧＡのメモリ回路のメモリ素子としての抵抗変化素子のオフ抵抗とメモリ回路（ＦＰＧＡ）の消費電力との関係のシミュレーション結果を示すグラフである。図１１のグラフの横軸は、抵抗変化素子のオフ抵抗（単位：Ω）をｌｏｇスケールで示し、図１１のグラフの縦軸は、ＦＰＧＡ内に含まれるメモリ回路の消費電力（単位：％）を示している。図１０において、１ｋΩのオン抵抗を有する抵抗変化素子、１０ｋΩのオン抵抗を有する抵抗変化素子、１００ｋΩのオン抵抗を有する抵抗変化素子を、それぞれメモリ素子に用いた本実施形態のＦＰＧＡ内のメモリ回路に対するシミュレーション結果が示されている。
【０１９７】
尚、図１１において、比較例としてのＦＰＧＡ内の並列型メモリ回路の消費電力を基準として１００％で示した場合における本実施形態のＦＰＧＡ内に含まれるメモリ回路の消費電力を示している。並列型メモリ回路とは、１つのメモリ素子と１つのセレクトトランジスタとを含む複数の単位セルが電源線とメモリ回路の出力端子（読み出しノード）との間で互いに並列に接続されるメモリ回路のことである。
【０１９８】
図１２は、本実施形態のＦＰＧＡ内の含まれるメモリ回路のメモリ素子としての抵抗変化素子のオン／オフ比とメモリ回路の動作遅延との関係を示すシミュレーション結果を示すグラフである。  
図１２のグラフの横軸は、メモリ素子としての抵抗変化素子のオン抵抗（単位：Ω）を示し、図１２のグラフの縦軸は、メモリ回路の出力信号の遅延比（単位：％）を示している。図１２において、メモリ回路１１０Ａのメモリ素子としての抵抗変化素子において、抵抗変化素子のオフ抵抗は１．０×１０８Ωに設定されている。尚、図１２において、１ｋΩのオン抵抗を有する抵抗変化素子をメモリ素子に用いたメモリ回路の出力信号の遅延比を１００％で示している
図１１に示されるように、本実施形態のＦＰＧＡ内に含まれるメモリ回路１１０Ａのように、各オン抵抗の抵抗変化素子において、抵抗変化素子のオン抵抗がどのような値でも、大きいオフ抵抗を有する抵抗変化素子が、メモリ回路１１０Ａに用いられた場合に、データの書き込み／読み出しが実行されない待機状態時における回路の消費電力を、削減できる。
【０１９９】
抵抗変化素子１のオフ抵抗が１．０×１０８Ω（１００ＭΩ）以上であれば、抵抗変化素子１のオン抵抗の大きさが異なっていても、各抵抗変化素子を用いたメモリ回路の消費電力は、ほとんど変化しない。尚、抵抗変化素子１における１．０×１０８Ωのオフ抵抗は、回路シミュレーションで用いられたセレクトトランジスタ２のオフ抵抗の１０分の１程度の大きさである。
【０２００】
図１１において、低いオン抵抗の抵抗変化素子を用いたメモリ回路ほど、消費電力が低くなっている。これは、図１２で示される回路の動作遅延による動作の長期化によって、余分な動作時が発生し、電力が消費されるためである。
【０２０１】
１ｋΩのオン抵抗及び１００ＭΩのオフ抵抗の抵抗変化素子をメモリ素子に用いた本実施形態のＦＰＧＡ内のメモリ回路（直列型メモリ回路）は、比較例としてのＦＰＧＡに用いられる並列型メモリ回路に比べて、４割程度の消費電力を削減できる。
【０２０２】
図１２に示されるように、メモリ素子１としての抵抗変化素子１のオン抵抗が低いほど、メモリ回路１１０Ａの出力の遅延が少ない。例えば、抵抗変化素子１における１ｋΩのオン抵抗は、回路シミュレーションにおけるセレクトトランジスタ２のオン抵抗と同じ値である。
【０２０３】
図１１及び図１２に示されるシミュレーション結果により、実施形態のＦＰＧＡのメモリ回路１１０Ａのメモリ素子に用いられる抵抗変化素子１の条件が、以下の関係式（１）〜（７）に示される。ここで、以下の関係式（１）〜（７）において、電源電圧（駆動電圧）が“Ｖｄｄ”が示され、セレクトトランジスタ２のオン電流が“Ｉｄｓａｔ”で示され、セレクトトランジスタ２のオフ電流が“Ｉｏｆｆ”で示されている。メモリ素子１としての抵抗変化素子１のオン抵抗（素子１の低抵抗状態の抵抗値）が“Ｒｏｎ”で示され、抵抗変化素子１のオフ抵抗（素子１の高抵抗状態の抵抗値）が“Ｒｏｆｆ”で示され、オフ抵抗とオン抵抗とのオン・オフ比（Ｒｏｆｆ／Ｒｏｎ）が“ｎ”で示される。
【０２０４】
オフ抵抗Ｒｏｆｆ及びオン抵抗Ｒｏｎは、電源電圧Ｖｄｄ及びセレクトトランジスタ２のオフ電流Ｉｏｆｆ及びオン電流Ｉｏｎによって、（式１）及び（式２）のように示される。
【０２０５】
Ｒｏｆｆ≧Ｖｄｄ／（１０×Ｉｏｆｆ）    ・・・（式１）  
Ｒｏｎ≦ｎＶｄｄ／Ｉｄｓａｔ    ・・・（式２）  
さらに、オン抵抗Ｒｏｎの関係式を示す（式２）が、抵抗比ｎを用いて示される場合、以下の（式３）で示される。  
Ｒｏｆｆ≦ｎＶｄｄ／Ｉｄｓａｔ    ・・・（式３）
関係式（１）〜（３）に基づいて、オフ抵抗の抵抗値の範囲は、以下の関係式（式４）によって示される。
【０２０６】
Ｖｄｄ／（１０×Ｉｏｆｆ）≦Ｒｏｆｆ≦ｎＶｄｄ／Ｉｄｓａｔ    ・・・（式４）
以下の関係式（式５）の条件が成立する場合、メモリ素子としての抵抗変化素子が、オフ抵抗Ｒｏｆｆを有する。  
Ｖｄｄ／（１０×Ｉｏｆｆ）≦ｎＶｄｄ／Ｉｄｓａｔ    ・・・（式５）
関係式（１）〜（５）に基づいて、本実施形態のＦＰＧＡのメモリ回路に用いられるメモリ素子としての抵抗変化素子の条件は、抵抗変化素子のオフ抵抗Ｒｏｆｆの条件を示す（式１）とともに、抵抗変化素子のオン・オフ比の条件を示す（式６）によって示される。
【０２０７】
ｎ≧Ｉｄｓａｔ／（１０×Ｉｏｆｆ）  ・・・（式６）
（式１）及び（式６）の条件を有する抵抗変化素子が、本実施形態のＦＰＧＡのメモリ回路１１０Ａのメモリ素子１に用いられることによって、メモリ回路１１０Ａの出力信号の遅延を低減でき、ＦＰＧＡの消費電力を削減できる。
【０２０８】
（ｄ）  まとめ  
実施形態のリコンフィギュラブル論理回路（再構築可能な半導体集積回路）において、実施形態のリコンフィギュラブル論理回路（例えば、ＦＰＧＡ）のコンフィギュレーション情報が格納されるメモリ回路は、メモリ素子１としての抵抗変化素子１と選択素子２とをそれぞれ含む複数の単位セルＵＣを含み、単位セルＵＣの電流経路が直列に接続されている。各単位セルＵＣ内において、抵抗変化素子１が、選択素子としてのセレクトトランジスタ２の電流経路に対して並列に接続されている。単位セルＵＣは、ＦＰＧＡ内のメモリ回路１１０ＡのメモリセルＭＣを形成するための基本ユニットとして用いられる。
【０２０９】
ＳＲＡＭや並列型メモリ回路のように単位セル（メモリセル）毎にリーク電流が発生するメモリ回路がＦＰＧＡに用いられた場合に比較して、本実施形態のＦＰＧＡに用いられるメモリ回路１１０Ａは、配線（電源線）間に複数の単位セルＵＣの電流経路（セレクトトランジスタ２の電流経路）が直列に接続されていることによって、隣接する単位セル間における電流の流れが抑制されるため、リーク電流を低減できる。  
それゆえ、本実施形態で述べられたメモリ回路１１０Ａを含むＦＰＧＡは、低消費電力化できる。
【０２１０】
また、本実施形態のＦＰＧＡにおけるメモリ回路１１０Ａのメモリ素子として用いられる抵抗変化素子１は、しきい値電圧／しきい値電流以上の書き込み電圧／電流が印加されるまで所定の抵抗状態を維持できるため、抵抗変化素子１をメモリ素子１に用いたメモリセル／単位セルＭＣ，ＵＣは、データを実質的に不揮発に保持できる。そして、抵抗変化素子１の抵抗状態を変化させるために用いられる電圧の大きさは、フラッシュメモリのメモリセル（浮遊ゲート型トランジスタ又はＭＯＮＯＳ型トランジスタ）の書き込み電圧に比較して、小さい。このように、ＦＰＧＡ内のメモリ回路１１０Ａのメモリ素子に用いられる抵抗変化素子１の特性も、本実施形態のＦＰＧＡの低消費電力化に寄与する。
【０２１１】
実施形態のＦＰＧＡ内に含まれるメモリ回路１１０Ａは、メモリセルを形成するための単位セルＵＣが直列に接続されていることによって、隣接するセル間において単位セルＵＣの構成部材（例えば、トランジスタのソース／ドレイン）を共有化できる。また、メモリ素子としての抵抗変化素子１は、微細化が比較的容易である。それゆえ、ＳＲＡＭ及び並列型メモリ回路に比較して、本実施形態のＦＰＧＡ内に含まれるメモリ回路１１０Ａは、チップ（半導体基板）上における回路の占有面積を縮小できる。また、本実施形態で述べられたメモリ回路１１０Ａは、マルチコンテキスト型のＦＰＧＡのコンフィギュレーションメモリに用いることができるため、ＦＰＧＡのチップコストを低減できる。したがって、本実施形態によれば、本実施形態のＦＰＧＡ及びそのＦＰＧＡを含むＬＳＩのチップコストを、低減できる。
【０２１２】
以上のように、実施形態のリコンフィギュラブル論理回路は、消費電力を低減できる。
【０２１３】
（３）  第２の実施形態  
図１３及び図１４を参照して、第２の実施形態のリコンフィギュラブル論理回路（再構築可能な半導体集積回路、例えば、ＦＰＧＡ）について、説明する。尚、本実施形態において、第１の実施形態と実質的に同じ構成要素及び機能について、重複する説明は、省略する。
【０２１４】
図１３は、第２の実施形態のＦＰＧＡ内に含まれるメモリ回路の回路構成を説明するための等価回路図である。
【０２１５】
第２の実施形態のＦＰＧＡ内のメモリ回路１１０Ｂは、１つのメモリセルＭＣが、１つの単位セルＵＣを用いて形成されることが、第１の実施形態のＦＰＧＡ内のメモリ回路と異なっている。
【０２１６】
１つの単位セルＵＣのみで１ビットのデータを記憶するメモリセルＭＣが形成される場合、図１３に示されるように、メモリセル（単位セル）からデータを読み出すための駆動回路（読み出し回路）６が、ＦＰＧＡのメモリ回路１１０Ｂに設けられることが好ましい。
【０２１７】
制御回路内の駆動回路（読み出し回路）６は、判定回路（第２の回路）６１とプリチャージ回路（第１の回路）６２とを有している。
【０２１８】
判定回路６１は、例えば、メモリ回路１１０Ｂ内のセルストリングＣＳの一端に接続されている。判定回路６１は、例えば、ｎ型トランジスタから形成される。ｎ型トランジスタ６１の電流経路の一端は、グランド端子ＶＧＮＤに接続され、ｎ型トランジスタ６１の電流経路の他端は、セルストリングＣＳの単位セルＵＣ内のセレクトトランジスタ２の電流経路の一端に接続されている。
【０２１９】
プリチャージ回路６２は、例えば、メモリ回路１１０Ｂ内のセルストリングＣＳの他端（読み出しノード側）に接続されている。プリチャージ回路６２は、例えば、ｐ型トランジスタ６２から形成される。ｐ型トランジスタ６２の電流経路の一端は、電源端子ＶＯＰに接続され、ｐ型トランジスタ６２の電流経路の他端は、セルストリングＣＳの終端（読み出しノード側）の単位セルＵＣｎのセレクトトランジスタ２の電流経路の他端に接続されている。
【０２２０】
制御信号ＰＣが、判定回路６１としてのｎ型トランジスタ６１のゲート、及び、プリチャージ回路６２としてのｐ型トランジスタ６２のゲートに、供給される。
【０２２１】
図１３に示されるように、メモリセルＭＣとしての各単位セルＵＣに書き込み電圧／書き込み電流を供給するための駆動回路（書き込み回路）８０Ａ，８０Ｂが、セルストリングＣＳの一端及び他端に接続されてもよい。また、メモリセルＭＣとしての各単位セルＵＣを選択状態／非選択状態にするための選択回路８９が、各単位セルＵＣに接続されてもよい。
【０２２２】
本実施形態のＦＰＧＡ内に含まれるメモリ回路１１０Ｂからのデータの読み出し動作（ＦＰＧＡ動作）は、以下のように、実行される。
【０２２３】
ＦＰＧＡ内のメモリ回路１１０Ｂのデータ読み出し時、制御信号ＰＣが“Ｌ”レベルに設定され、プリチャージ回路６２としてのｐ型トランジスタ６２はオンされ、判定回路６１としてのｎ型トランジスタ６１はオフされる。電源電圧（読み出し電圧）ＶＯＰが、オン状態のｐ型トランジスタ６２を経由して、メモリ回路１１０ＢのセルストリングＣＳに供給される。これによって、セルストリングＣＳ内の読み出しノードＮＤＲが充電される。
【０２２４】
セルストリングＣＳのプリチャージ時、“Ｌ”レベルの制御信号ＣＮＴによって、セルストリングＣＳ内の全てのセレクトトランジスタ２がオフされ、読み出しノードＮＤＲのみが充電されてもよい。また、“Ｈ”レベルの制御信号ＣＮＴによって、セルストリングＣＳ内の全てのセレクトトランジスタ２がオンされ、セルストリングＣＳの全てのセレクトトランジスタ２のチャネル領域が充電されてもよい。尚、セルストリングＣＳのプリチャージ時に、プリチャージ用の電源電圧ＶＯＰの供給によって、抵抗変化素子の抵抗状態の変化が生じないように、電源電圧ＶＯＰのパルス形状が制御されている。
【０２２５】
メモリ回路１１０Ｂの読み出しノードＮＤＲのプリチャージの後、制御信号ＰＣが“Ｈ”レベルに設定され、ｐ型トランジスタ６２はオフされ、ｎ型トランジスタ６１はオンされる。また、選択された単位セル（メモリセル）ＵＣのセレクトトランジスタ２のゲートに、“Ｌ”レベルの選択信号が供給され、非選択の単位セルＵＣのセレクトトランジスタ２のゲートに、“Ｈ”レベルの選択信号が、供給される。  
このとき、選択信号（“Ｌ”レベルの信号）が供給された選択セル内のセレクトトランジスタ２に並列に接続される抵抗変化素子１の抵抗状態が高抵抗状態（消去状態）であれば、図１３のメモリ回路の読み出しノードＮＤＲの電位は、電源電圧ＶＯＰの状態に維持される。この結果として、判定回路６２によるノードの充電／放電の判定時に、読み出しノードＮＤＲの電位は、“Ｈ”レベルとなり、メモリ回路１１０Ｂの出力信号は、“Ｈ”レベルとなる。
【０２２６】
この一方、選択セル内の抵抗変化素子１の抵抗状態が低抵抗状態（書き込み状態）であれば、低抵抗の抵抗変化素子１内に電流が流れ、セルストリングＣＳの読み出しノードＮＤＲが充電状態から放電状態になり、その読み出しノードＮＤＲの電位は、“Ｌ”レベルとなり、メモリ回路１１０Ｂの出力信号は、“Ｌ”レベルとなる。
【０２２７】
このように、メモリ回路１１０Ｂの出力端子としてのノードＮＤＲはプリチャージされ、選択セルのメモリ素子としての抵抗変化素子１の抵抗状態に応じて、ノードＮＤＲの電位が、変化する。この結果として、メモリセルＭＣに格納されたデータが、ノードＮＤＲの電位の変化として読み出され、そのデータに基づいて、スイッチ回路９のオン及びオフを制御できる。
【０２２８】
本実施形態のＦＰＧＡ内に含まれるメモリ回路１１０Ｂに対するデータの書き込み時、メモリ素子としての抵抗変化素子１の抵抗状態を変化させる動作は、抵抗変化素子１の特性に応じて、第１の実施形態と実質的に同様の動作（例えば、図８及び図９で述べた動作）を適用できるため、ここでの説明は、省略する。
【０２２９】
尚、メモリ回路１１０ＢのノードＮＤＲ（セルストリングの他端）とノードＮＤＲをグランド端子ＶＧＮＤとの接続を制御する回路（例えば、ｎ型トランジスタ６１）が、セルストリングＣＳの他端に接続され、ノードＮＤＲの反対側のメモリ回路１１０Ｂの端部（セルストリングの一端）と電源端子ＶＯＰとの接続を制御する回路（ｐ型トランジスタ６２）がセルストリングＣＳの一端に接続されてもよい。
【０２３０】
この場合、メモリ回路１１０Ｂ内に格納されたデータによるスイッチ回路の動作の制御は、以下のように、実行される。メモリ回路１１０Ｂの読み出しノードＮＤＲが、ｎ型トランジスタ６１（第２の回路）によって、グランド端子ＶＧＮＤに接続され、読み出しノードＮＤＲが放電状態にされる。読み出しノードＮＤＲが放電状態にされた後、ｎ型トランジスタ６１がオフされる。この後、選択セルのセレクトトランジスタ２がオフされ、セルストリングＣＳの一端が、オン状態のｐ型トランジスタ（第１の回路）６２によって、電源端子ＶＯＰに接続される。読み出しノードＮＤＲが、複数のメモリセル（単位セル）を経由して、電源端子ＶＯＰに接続される。電源電圧ＶＯＰが、記憶するデータに応じた抵抗状態のメモリ素子１を経由して、読み出しノードＮＤＲに供給される。選択セルに供給された電源電圧ＶＯＰがメモリ素子１の抵抗状態に応じて降圧され、電源電圧ＶＯＰに起因する読み出しノードＮＤＲの電位が、変化する。これによって、選択セル内のメモリ素子１に格納されたデータに応じて、スイッチ回路９のオン／オフが制御される。
【０２３１】
図１４は、第２の実施形態のＦＰＧＡ内のメモリ回路の変形例の主要部を示す等価回路図である。
【０２３２】
図１４に示されるように、図６の第１の実施形態のＦＰＧＡに用いられるメモリ回路１１０Ａと実質的に同様に、本実施形態のＦＰＧＡに用いられるメモリ回路１１０Ｂの出力端子が、メモリ回路１１Ｂから出力されたデータを一時的に保持するためのＳＲＡＭセル（フリップフロップ）５を介して、スイッチ回路９に接続されてもよい。また、図７のメモリ回路１１０Ａと実質的に同様に、本実施形態におけるメモリ回路１１０Ｂの出力端子は、インバータ回路やバッファ回路を介して、スイッチ回路９に接続されてもよい。
【０２３３】
尚、本実施形態のＦＰＧＡ内に含まれるメモリ回路１１０Ｂは、メモリ素子としての抵抗変化素子１のオン・オフ比は、小さくともよい。
【０２３４】
第２の実施形態のリコンフィギュラブル論理回路内のメモリ回路１１０Ｂにおいても、メモリセルＭＣを形成するための複数の単位セルＵＣが直列接続されている。それゆえ、第２の実施形態のリコンフィギュラブル論理回路内のメモリ回路１１０Ｂは、単位セルＵＣ及びメモリセルＭＣのリーク電流を低減できる。
【０２３５】
したがって、第２の実施形態のリコンフィギュラブル論理回路は、消費電力を削減できる。
【０２３６】
（４）  第３の実施形態  
図１５を参照して、第３の実施形態のリコンフィギュラブル論理回路（再構築可能な半導体集積回路、例えば、ＦＰＧＡ）について、説明する。  
尚、本実施形態において、第１及び第２の実施形態と実質的に同じ構成要素及び機能について、重複する説明は、省略する。
【０２３７】
図１５は、第３の実施形態のＦＰＧＡ内のメモリ回路の回路構成を説明するための等価回路図である。
【０２３８】
上述のように、ＦＰＧＡのメモリ回路に用いられるメモリ素子は、抵抗変化素子の高抵抗状態の抵抗値と低抵抗状態の抵抗値との差が大きい、すなわち、抵抗変化素子のオン抵抗Ｒｏｎとオフ抵抗Ｒｏｆｆとの比が大きいことが好ましい。
【０２３９】
但し、オン・オフ比が小さい抵抗変化素子がメモリ回路のメモリ素子に用いられる場合、図１５のような回路構成を有するメモリ回路１１０Ｃが、形成されてもよい。  
図１５に示されるように、第３の実施形態のメモリ回路１１０Ｃは、センスアンプ回路７０を含む読み出し回路（駆動回路）７を含む。
【０２４０】
セルストリングＣＳの一端は、スイッチ素子としてのｎ型トランジスタ７９を介して、グランド端子ＶＧＮＤに接続される。
【０２４１】
セルストリングＣＳの他端（読み出しノード）ＮＤＲは、バイアス回路７１Ａを介して、センスアンプ回路７０の第１の入力端子（例えば、反転入力端子）ＩＴＡに、接続されている。
【０２４２】
参照抵抗素子７３は、センスアンプ回路７０の第２の入力端子（例えば、非反転入力端子）ＩＴＢに、バイアス回路７１Ｂを介して、接続されている。
【０２４３】
参照抵抗素子７３の抵抗値は、例えば、抵抗変化素子１の低抵抗状態の抵抗値と高抵抗状態の抵抗値との中間値を有している。参照抵抗素子７３は、メモリ素子としての抵抗変化素子１と同じ材料を用いた素子から形成されてもよい。参照抵抗素子７３は、ポリシリコンやシリサイドを用いて形成されてもよい。複数の抵抗変化素子１が直列／並列に接続されることによって、所定の抵抗値の参照抵抗素子７３が、形成されてもよい。
【０２４４】
センスアンプ回路７０の出力端子ＯＴは、スイッチ回路９に接続されている。
【０２４５】
このように、本実施形態のＦＰＧＡのメモリ回路１１０Ｃにおいて、複数の単位セルＵＣが直列接続されたセルストリングＣＳは、センスアンプ回路７０を介して、スイッチ回路９に接続されている。
【０２４６】
第３の実施形態のＦＰＧＡのメモリ回路１１０Ｃにおけるデータ読み出し（ＦＰＧＡ動作）は、以下のように、実行される。
【０２４７】
ＦＰＧＡ内に含まれるメモリ回路１１０Ｃのデータの読み出し時、判定電圧（又は電流）が、第１の入力端子ＩＴＡ側のバイアス回路７１ＡからセルストリングＣＳに、オン状態のトランジスタ４を介して、供給される。参照電圧（又は電流）が第２の入力端子ＩＴＢ側のバイアス回路７１Ｂから参照抵抗素子７３に、供給される。
【０２４８】
選択セルＵＣ内のセレクトトランジスタ２に、“Ｌ”レベルの制御信号（選択信号）ＣＮＴが供給され、選択セルＵＣ内のセレクトトランジスタ２はオフする。これによって、選択セルＵＣ内において、低抵抗状態又は高抵抗状態の抵抗変化素子１に、バイアス回路７１Ａからの電流が、供給される。非選択セルＵＣ内のセレクトトランジスタ２は、“Ｈ”レベルの制御信号（非選択信号）ＣＮＴによって、オンする。非選択セルＵＣにおいて、バイアス回路７１Ａからの電流は、オン状態のセレクトトランジスタ２のチャネルを流れる。
【０２４９】
参照抵抗素子７３に流れる電流の大きさに対して選択セルＵＣ内の抵抗変化素子１にどの程度の大きさの電流が流れているか、センスアンプ回路７０によって、検知及び比較され、参照抵抗素子７３を流れる電流とセルストリングＣＳ（抵抗変化素子）を流れる電流との電流差が、増幅される。
【０２５０】
尚、低抵抗状態の抵抗変化素子１を流れる電流は、高抵抗状態の抵抗変化素子１を流れる電流より大きい。参照抵抗素子７３を流れる電流の大きさは、低抵抗状態の抵抗変化素子１を流れる電流より小さく、高抵抗状態の抵抗変化素子１を流れる電流より大きくなるように、参照抵抗素子７３の抵抗値及びバイアス回路７１Ｂの出力が調整されることによって、制御されている。
【０２５１】
センスアンプ回路７０によって増幅された信号が、メモリ回路１１０Ｃの出力信号として、センスアンプ回路７０の出力端子ＯＴからスイッチ回路９に出力される。
【０２５２】
このように、センスアンプ回路７０によって、セルストリングＣＳの出力信号が検知／増幅されることによって、メモリ素子としての抵抗変化素子１のオン・オフ比が小さい（数倍程度）場合であっても、抵抗変化素子１の抵抗状態を判別でき、メモリセル（単位セル）ＭＣのデータを、読み出すことができる。
【０２５３】
尚、本実施形態のＦＰＧＡ内に含まれるメモリ回路１１０Ｃに対するデータの書き込み時、メモリ素子としての抵抗変化素子１の抵抗状態を変化させる動作は、抵抗変化素子の特性に応じて、第１の実施形態と実質的に同様の動作（例えば、図８及び図９で述べた動作）を適用できるため、ここでの説明は、省略する。
【０２５４】
以上のように、第３の実施形態のリコンフィギュラブル論理回路１００Ｃによれば、メモリセルを形成するための単位セルがメモリ回路内において直列に接続されることによって、第１及び第２の実施形態のリコンフィギュラブル論理回路と同様に、消費電力を削減できる。
【０２５５】
（５）  変形例  
図１６を参照して、実施形態のリコンフィギュラブル論理回路（再構築可能な半導体集積回路、例えば、ＦＰＧＡ）の変形例について、説明する。
【０２５６】
図１６は、本変形例のリコンフィギュラブル論理回路の回路構成を説明するための模式図である。  
上述の実施形態において、メモリ回路の出力端子が、ＳＲＡＭセルを介して、スイッチ回路に接続されている例が示されている。
【０２５７】
図１６に示されるように、ＦＰＧＡ内の複数のメモリ回路において、２つのメモリ回路（メモリブロック）が、１つのＳＲＡＭセルに接続されてもよい。
【０２５８】
２つのメモリ回路１１０１，１１０２に対して、転送ゲート５５Ａ，５５Ｂがそれぞれ設けられている。転送ゲート５５Ａ，５５Ｂのゲートは、互いに異なる読み出し制御線５６Ａ，５６Ｂに接続され、互いに異なるタイミングで、オン又はオフされる。
【０２５９】
共通のＳＲＡＭセル５に接続される２つのメモリ回路１１０１，１１０２のうち、一方のメモリ回路１１０１の出力端子ＮＤＲは、転送ゲート５５Ａを介して、ＳＲＡＭセル５内のインバータＩＮＶ２の入力ノードに接続されている。他方のメモリ回路１１０２の出力端子ＮＤＲは、転送ゲート５５Ｂを介して、ＳＲＡＭセル５内のインバータＩＮＶ１の入力ノードに接続されている。
【０２６０】
２つのメモリ回路１１０１，１１０２に対して、スイッチ回路９Ａ，９Ｂがそれぞれ設けられている。メモリ回路１１０１は、インバータＩＮＶ２の出力ノードを介して、スイッチ回路９Ａに接続されている。メモリ回路１１０２は、インバータＩＮＶ１の出力ノードを介して、スイッチ回路９Ｂに接続されている。
【０２６１】
ＳＲＡＭセル５は、メモリ回路１１０１，１１０２を含むＦＰＧＡの動作に応じて、２つのメモリ回路１１０１，１１０２のうちいずれか一方のメモリ回路からのデータを、保持する。
【０２６２】
尚、第２の実施形態のリコンフィギュラブル論理回路内に含まれる複数のメモリ回路１１０Ｂにおいて、その２つのメモリ回路１１０Ｂが、図１６の２つのメモリ回路１１０１，１１０２と１つのＳＲＡＭセルとの接続関係と同様に、１つのＳＲＡＭセルに接続されてもよい。
【０２６３】
本変形例の半導体集積回路（例えば、ＦＰＧＡ）ように、２つのメモリ回路１１０１，１１０２によって１つのＳＲＡＭセルが共有されることによって、メモリ回路ごとに１つのＳＲＡＭセルが設けられる場合に比較して、メモリ回路を含むリコンフィギュラブル論理回路（ＦＰＧＡ）及びＬＳＩのチップサイズを縮小でき、ＬＳＩのチップコストを低減できる。
【０２６４】
［その他］  
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０２６５】
１０００：リコンフィギュラブル論理回路、１１０，１１０Ａ，１１０Ｂ，１１０Ｃ：メモリ回路、ＵＣ：単位セル、ＭＣ：メモリセル、１：メモリ素子、２選択素子、５：ＳＲＡＭセル、５Ｚ：インバータ回路、７０：センスアンプ回路、８：制御回路、８０Ａ，８０Ｂ：駆動回路、８９：選択回路、９：スイッチ回路。
【図１】
2015026901.tif 000003
【図２】
2015026901.tif 000004
【図３】
2015026901.tif 000005
【図４】
2015026901.tif 000006
【図５】
2015026901.tif 000007
【図６】
2015026901.tif 000008
【図７】
2015026901.tif 000009
【図８】
2015026901.tif 000010
【図９】
2015026901.tif 000011
【図１０】
2015026901.tif 000012
【図１１】
2015026901.tif 000013
【図１２】
2015026901.tif 000014
【図１３】
2015026901.tif 000015
【図１４】
2015026901.tif 000016
【図１５】
2015026901.tif 000017
【図１６】
2015026901.tif 000018