(57)【要約】【課題】不揮発的にコンフィギュレーションデータを格納し、かつ高速でコンフィギュレーションを実行することのできるプログラマブル・ロジック装置を実現する。【解決手段】プログラマブル・ロジック装置の内部状態を設定するプログラム素子（ＰＥ）を、可変磁気抵抗素子（ＴＭＲ０，ＴＭＲ１）とインバータラッチ（ＩＶ０，ＩＶ１）とで構成する。可変磁気抵抗素子にコンフィギュレーションデータを格納し、インバータラッチのストレージノード（ＮＭ０，ＮＭ１）へのデータ転送時にインバータを構成するトランジスタ（ＰＴ０，ＰＴ１，ＮＴ０，ＮＴ１）のバックゲートバイアスをフォワードバイアス状態に設定するなどのデータ転送アシストを行う。【選択図】図２０
2009302254.tif 000002
【特許請求の範囲】
【請求項１】
第１および第２のインバータを含み、第１および第２のストレージノードに相補データを保持するインバータラッチ、および
前記第１および第２のインバータ各々の第１の電源ノードと第１の電源線との間に結合され、前記相補データに対応するデータを不揮発的に記憶する第１および第２の可変磁気抵抗素子を備え、各前記可変磁気抵抗素子は、固定層および自由層の磁化方向の平行および反平行に応じて抵抗値が設定され、該抵抗値によりデータを記憶し、
前記第１の電源線とは別に設けられ、電流により磁界を誘起して前記第１および第２の可変磁気抵抗素子に該誘起された磁界を印加する第１の書込電流線、および
前記第１および第２の可変磁気抵抗素子に対応して前記第１の書込電流線と交差するように設けられ、前記第１および第２の可変磁気抵抗素子に対して電流により磁界を誘起して該誘起された磁界を印加する第２および第３の書込電流線を備える、半導体装置。
【請求項２】
第１および第２のインバータを含み、第１および第２のストレージノードに相補データを保持するインバータラッチ、および
導通時、前記第１および第２のストレージノードを第１および第２の信号線にそれぞれ結合する第１および第２のトランジスタを備え、前記第１および第２のインバータを構成するトランジスタと前記第１および第２のトランジスタは、バックゲートバイアスが調整可能であり、
前記第１および第２のインバータ各々の第１の電源ノードに結合され、前記相補データに対応するデータをそれぞれ抵抗値により不揮発的に記憶する第１および第２の可変磁気抵抗素子を備え、各前記可変磁気抵抗素子は、固定層および自由層の磁化方向の平行および反平行に応じて抵抗値が設定され、該抵抗値によりデータを記憶し、
前記第１および第２の可変磁気抵抗素子へのデータの書込モード時、電流により磁界を誘起して前記第１および第２の可変磁気抵抗素子に該誘起した磁界を印加する第１の書込電流線、
前記第１および第２の可変磁気抵抗素子に対応してかつ前記第１の書込電流線と交差するように配置され、前記データ書込モード時、前記第１および第２の可変磁気抵抗素子に対して電流により磁界を誘起して該誘起磁界を印加する第２および第３の書込電流線、および
前記第１および第２の可変磁気抵抗素子の記憶データに従って前記第１および第２のストレージノードの電圧を設定する読出モード時、前記第１および第２のインバータを構成するトランジスタのバックゲートバイアスを第１の順バイアス状態に設定し、前記読出モード完了後の前記第１および第２のストレージノードの電圧を保持する演算モード時、前記トランジスタのバックゲートバイアスを前記第１の順バイアス状態よりも深い第２のバイアス状態に設定するバイアス設定回路を備える、半導体装置。
【請求項３】
第１および第２のインバータを含み、第１および第２のストレージノードに相補データを保持するインバータラッチ、
前記第１および第２のインバータ各々の第１電源ノードに結合され、前記相補データに対応するデータを不揮発的に記憶する第１および第２の可変磁気抵抗素子を備え、各前記可変磁気抵抗素子は、固定層および自由層の磁化方向の平行および反平行に応じて抵抗値が設定され、該抵抗値によりデータを記憶し、
前記第１および第２の可変磁気抵抗素子に対するデータの書込を行なう書込モード時、電流により磁界を誘起して前記第１および第２の可変磁気抵抗素子に該誘起された磁界を印加する第１の書込電流線、
前記第１および第２の可変磁気抵抗素子に対応してかつ前記第１の書込電流線と交差するように配置され、前記書込モード時に、前記第１および第２の可変磁気抵抗素子に対して電流により磁界を誘起し、それぞれ誘起した磁界を印加する第２および第３の書込電流線、および
前記第１および第２の可変磁気抵抗素子の記憶データに従って前記第１および第２のストレージノードの電圧を設定する読出モード時、前記第１および第２のストレージノードを初期電圧レベルに設定するとともに、前記第１および第２のストレージノードに対する電流バイアス経路形成する読出バイアス回路を備える、半導体装置。
【請求項４】
前記読出バイアス回路は、
前記読出モード時、前記第１および第２のストレージノードを第１および第２の信号線に結合する第１および第２のスイッチングトランジスタと、
前記読出モード時、前記第１および第２のスイッチングトランジスタの導通後、前記第１および第２の信号線を所定電圧レベルに所定期間設定する書込ドライバと、
前記読出モード時、第１および第２の信号線と前記第１の電源ノードと異なる第２の電源ノードとを電気的に接続して前記第１および第２のストレージノードと前記第２の電源ノードとの間に電流が流れる経路を形成する第１および第２の負荷素子とを備え、前記負荷素子による電流経路形成時，前記書込ドライバは非活性状態とされる、請求項３記載の半導体装置。
【請求項５】
第１および第２のインバータを含み、第１および第２のストレージノードに相補データを保持するインバータラッチ、
導通時、前記第１および第２のストレージノードを第１および第２の信号線に結合する第１および第２のトランジスタ、
前記第１および第２のトランジスタ各々の制御電極と第１の書込電流線との間に結合され、前記相補データに対応するデータを不揮発的に記憶する第１および第２の可変磁気抵抗素子を備え、各前記可変磁気抵抗素子は、固定層および自由層の磁化方向の平行および反平行に応じて抵抗値が設定されて、該抵抗値によりデータを記憶し、
前記第１および第２の可変磁気抵抗素子に対してかつ前記第１の書込電流線と交差するように配置され、前記第１および第２の可変磁気抵抗素子に対するデータの書込を行なう書込モード時、前記第１および第２の可変磁気抵抗素子を第２の書込電流線に結合する書込選択ゲート、および
前記書込モード時、前記第１および第２の可変磁気抵抗素子に書込まれるデータの論理値に応じた方向に前記第１および第２の書込電流線の間に電流を流す書込回路を備え、前記自由層の磁化方向が、前記第１および第２の書込電流線を流れる電流の方向に応じて設定される、半導体装置。
【請求項６】
前記第１および第２の可変磁気抵抗素子の記憶データに従って前記第１および第２のストレージノードの電圧を設定する読出モード時、前記第１の書込電流線を第１の電圧レベルに設定して前記第１および第２のトランジスタを導通状態として前記第１および第２のストレージノードを、所定電圧レベルに設定される前記第１および第２の信号線に結合し、かつ、前記第２の書込電流線を所定電圧レベルに設定した後、前記第１および第２のトランジスタの制御電極を前記第２の書込電流線に結合する読出制御回路をさらに備える、請求項５記載の半導体装置。
【請求項７】
第１および第２のインバータを含み、第１および第２のストレージノードに相補データを保持するインバータラッチ、
導通時、前記第１および第２のストレージノードを第１および第２の信号線に結合する第１および第２のトランジスタ、および
前記第１および第２のトランジスタ各々の制御電極に結合され、前記相補データに対応するデータを不揮発的に記憶する第１および第２の可変磁気抵抗素子を備え、各前記可変磁気抵抗素子は、固定層および自由層の磁化方向の平行および反平行に応じて抵抗値が設定され、該抵抗値によりデータを記憶し、
前記第１および第２の可変磁気抵抗素子に電磁的に結合され、前記第１および第２の可変磁気抵抗素子に対するデータの書込を行なう書込モード時、電流により磁界を誘起して前記第１および第２の可変磁気抵抗素子に該誘起磁界を印加する第１の書込電流線、および
前記第１および第２の可変磁気抵抗素子に対応してかつ前記第１の書込電流線と交差するように配置され、前記書込モード時、電流により磁界を誘起して前記第１および第２の可変磁気抵抗素子に該誘起磁界をそれぞれ印加する第２および第３の書込電流線を備える、半導体装置。
【請求項８】
前記第１および第２の可変磁気抵抗素子の記憶データに従って前記第１および第２のストレージノードの電圧を設定する読出モード時、前記第１の書込電流線を第１の電圧レベルに設定して前記第１および第２のトランジスタを導通状態として前記第１および第２のストレージノードを前記第１および第２の信号線に結合し、前記第１および第２のトランジスタの制御電極を前記所定電圧に維持される固定電圧線に結合する読出制御回路をさらに備える、請求項７記載の半導体装置。
【請求項９】
前記第１および第２のインバータを構成するトランジスタおよび前記第１および第２のトランジスタは、それぞれ、バックゲートバイアスが制御可能であり、
前記半導体装置は、さらに、
前記第１および第２の可変磁気抵抗素子の記憶データに従って前記第１および第２のストレージノードの電圧を設定する読出モード時、少なくとも前記第１および第２のインバータを構成するトランジスタのバックゲートバイアスを第１の順バイアス状態に設定し、前記読出モード完了後の前記第１および第２のストレージノードの電圧を保持する演算モード時、前記第１および第２のインバータを構成するトランジスタのバックゲートバイアスを前記第１の順バイアス状態よりも深い第２のバイアス状態に設定するバイアス設定回路を備える、請求項５から８のいずれかに記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体装置に関し、特に、製造後に内部回路／接続の構成を変更することのできる半導体装置に関する。より特定的には、この発明は、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）およびコンプレックス・プログラマブル・ロジック・デバイス（ＣＰＬＤ）などのプログラマブル装置において、内部構成を設定するプログラム情報を格納する部分の構成に関する。
【背景技術】
【０００２】
電子機器などの分野においては、製品開発速度が速くなり、短期間で製品を設計および開発する要求が強くなってきている。また、製品開発後においても、機能拡張および／または性能改善を要求されることが多い。このため、各電子機器（ＬＳＩ：大規模集積回路装置）の製品寿命も短くなってきている。さらに、製品の製造段階に入った後、仕様を変更する要望が発生することもある。このような環境下においては、ＬＳＩの設計後の検証に十分な時間を取ることができず、ハードウェアまたはソフトウェアに不具合が存在したまま製造段階に移行する可能性がある。このような不具合が存在した場合には、初期の段階において不具合を変更する必要がある。
【０００３】
このような要求から、設計段階または製造後において内部回路構成を変更することが可能なプログラマブル・ロジック・デバイス（ＰＬＤ）が、一般に用いられる。
【０００４】
このプログラマブル・ロジック・デバイスは、大きく２つに分類することができる。１つは、ＡＮＤ／ＯＲアレイベースのプロダクトターム方式であり、もう１つは、ロジックセルベースのＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）である。初期のプログラマブル・ロジック・デバイスは、プロダクトターム方式が主流であり、小規模回路の実装しか実現できなかった、近年は、大規模な回路も実装することのできるＦＰＧＡが主流となってきている。
【０００５】
回路情報の記憶素子（プログラム素子）としては、プロダクトターム方式では、ヒューズ、ＥＰＲＯＭ（電気的に書換可能なＲＯＭ）／ＥＥＰＲＯＭ（電気的に書込消去可能なＲＯＭ）、フラッシュメモリがよく使用される。ＦＰＧＡにおいては、プログラム素子として、アンチヒューズ、ＳＲＡＭ（スタティック・ランダム・アクセス・メモリ）およびフラッシュメモリがよく使用される。
【０００６】
プログラム素子の特徴としては、ヒューズおよびアンチヒューズは、１回しかプログラムすることができないのに対し、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリおよびＳＲＡＭは、再プログラム可能である。また、ＳＲＡＭは、電源を切るとプログラムデータが消えてしまう揮発性メモリであるの対し、その他の素子は、電源を遮断しても、プログラムデータは消滅しない不揮発性メモリであるという特徴がある。
【０００７】
アーキテクチャおよびプログラム素子の組合せにより種々なタイプのＰＬＤおよびＦＰＧＡが開発されている。しかしながら、標準的なロジックプロセスでプログラム素子を構成することができ、大規模化および低コストという微細化による恩恵を受けやすいため、近年では、ＳＲＡＭタイプのＦＰＧＡが広く普及して主流となってきている。
【０００８】
このＳＲＡＭタイプのＦＰＧＡにおいては、回路接続情報およびルックアップテーブル（ＬＵＴ）内の設定情報すなわちパラメータなどを、ＳＲＡＭに格納する。ＳＲＡＭは、電源が遮断されると、記憶内容が消失する。したがって、このＳＲＡＭタイプのＦＰＧＡにおいては、一般に、ＦＰＧＡとは別にＥＥＰＲＯＭなどの不揮発性メモリを設け、電源が投入されて電力が供給開始されるごとに、回路接続情報およびＬＵＴパラメータなどを不揮発性メモリからダウンロードしてＳＲＡＭに設定している。したがって、ＳＲＡＭタイプのＦＰＧＡにおいては、この回路構成情報を外部の不揮発性メモリからＳＲＡＭへの転送中に読取られるおそれがあり、高いセキュリティを要求するアプリケーションにおいては、プログラム素子としてフラッシュメモリ、アンチヒューズおよび磁気半導体メモリ、および強誘電体メモリなどの不揮発性メモリを用いるＦＰＧＡが用いられる。
【０００９】
このような不揮発性メモリとして、強誘電体メモリを用いる構成が、非特許文献１（S. Masui, et al.,“A Ferroelectric Memory-Based Secure Dynamically Programmable Gate Array”in IEEE Journal of Solid-State Circuits, vol.38, No.5, May 2003, pp. 715-725）に示されている。この非特許文献１に示される構成においては、プログラム素子としてＳＲＡＭセルを用い、強誘電体キャパシタを、ＳＲＡＭセルのストレージノードに接続する。ＦＰＧＡ内部において対称的な位置にミドルアレイを配置する。各ミドルアレイ内にまた、対称な位置にサブアレイを配置する。このサブアレイ内に複数のロジックブロックが配置される。各ロジックブロック内に、ＬＵＴおよび強誘電体メモリおよびコンフィギュレーションデータロード回路が配置される。強誘電体ベースＳＲＡＭセルアレイにデータを格納し、その格納データに従って対応のＬＵＴにパラメータ情報を与える。
【００１０】
この非特許文献１においては、また、複数種類のコンフィギュレーションデータを格納するようにＦＡＲＡＭベースＳＲＡＭセルが行列状に配置されており、演算処理操作中に、１種類のコンフィギュレーションデータを書換えることにより、「ヒドンプログラム」を行なって、ダイナミックに、その演算内容を変更する構成が示される。
【００１１】
また、磁気半導体メモリ（ＭＲＡＭ：マグネティック・ランダム・アクセス・メモリ）を接続情報およびパラメータ情報記憶に用いる構成が、特許文献１（国際公開番号ＷＯ０３／１０５１５６Ａ１）に示されている。この特許文献１に示される構成においては、ＭＲＡＭセルを、ＳＲＡＭセルの負荷トランジスタまたはドライブトランジスタと直列に接続し、これらのＭＲＡＭセルに相補データを格納する。特許文献１は、非特許文献１において記載される強誘電体キャパシタを利用する構成に代えて、このようなＭＲＡＭセルなどの可変抵抗素子を用いることにより、スタンバイ時のリーク電流を低減することを図り、また、プログラム情報のＳＲＡＭセルへの書込および読出時の消費電力を、低減することを図る。
【特許文献１】国際公開番号ＷＯ０３／１０５１５６Ａ１
【非特許文献１】S. Masui, et al.,“A Ferroelectric Memory-Based Secure Dynamically Programmable Gate Array”in IEEE Journal of Solid-State Circuits, vol.38, No.5, May 2003, pp. 715-725
【発明の開示】
【発明が解決しようとする課題】
【００１２】
強誘電体キャパシタを用いるＦＰＧＡでは、電源を遮断しても、その記憶情報は保存されるため、外部から、電源投入ごとにＳＲＡＭセルに情報を転送することは要求されない。しかしながら、特許文献１においては示されるように、この強誘電体キャパシタを利用する場合、スタンバイ時のリーク電流が大きく、またデータの書込および読出時の消費電力が増大するという問題が生じる。
【００１３】
前述の特許文献１は、このような強誘電体キャパシタを利用するプログラム素子の問題点を解消するために、相変化メモリセルおよび磁気半導体メモリセルなどの可変抵抗素子を利用する。この可変抵抗素子により、リーク電流を低減し、また書込および読出の高速化および低消費電力化を図る。
【００１４】
しかしながら、この特許文献１は、このＭＲＡＭセルに対しデータの書込を行なう部分を、どのように配置するかについては何ら考慮していない。また、ＳＲＡＭセルは、データ記憶部が、インバータラッチ、すなわちフリップフロップで構成される。この場合、ＳＲＡＭセルは、初期状態において、その記憶ノードの電位が、いずれかに変化しやすいというオフセット値を有する。電源投入時などにおいて、このＳＲＡＭセルのデータ保持のオフセット特性を保証して正確にデータを書込む必要がある。しかしながら、このようなＳＲＡＭセルのオフセット特性を考慮してＳＲＡＭセルへ、対応のＭＲＡＭセルからデータを書込む構成については特許文献１は何ら考慮していない。
【００１５】
また、前述の非特許文献１においては、内部のＬＵＴを動作させた状態で、別のコンテキスト（コンフィギュレーション）データを別のＳＲＡＭセルに書込むことにより、いわゆる「ヒドンプログラム」を行なってダイナミックにコンフィギュレーションを変更する構成が示されている。この場合、１つのＬＵＴに対して複数のコンフィギュレーションデータをそれぞれ格納する複数アドレスのＳＲＡＭバッファを配置する必要があり、プログラム素子の配置面積が増大する。１つのＳＲＡＭセルバッファの記憶するコンフィギュレーションデータに従ってＬＵＴを動作させているとき、この１つのＳＲＡＭセルバッファに対してＳＲＡＭセルの記憶データに影響を及ぼすことなく対応の強誘電体メモリセル（キャパシタ）のデータを書換える構成については何ら考慮していない。これは、特許文献１においても同様である。
【００１６】
また、フラッシュメモリをプログラム素子として利用するＦＰＧＡも知られている。この場合、フラッシュメモリ専用の、フローティングゲートトランジスタが必要となり、また書込のために高電圧が必要となり、また、この書込のための回路および書込制御を行なう回路の規模が大きくなる。
【００１７】
また、アンチヒューズは、不揮発メモリの一種であるが、プログラムにより絶縁膜破壊が生じる。従って、プログラムは一度しか行なうことできないため、その記憶データの再構成は行なうことができず、ＦＰＧＡの内部構成を再構成することはできない。
【００１８】
また、ＦＰＧＡのようなリコンフィギュラブル（プログラマブル）デバイスでは、予め多くの素子を準備し、製造後にプログラムにより論理および／または接続を切換えて必要な素子を使用する。したがって、デバイスとしては、冗長な素子が多く設けられる。そのため、スタンバイ電流が大きくなり、近年の微細化プロセスでは、その問題が顕著となってきている。
【００１９】
それゆえ、この発明の目的は、高速でかつ確実にＳＲＡＭセルの記憶データに影響を及ぼすことなくプログラムデータを書込むことができかつＳＲＡＭに転送することができる半導体装置を提供することである。
【課題を解決するための手段】
【００２０】
この発明に係る半導体装置は、要約すれば、内部回路の接続および論理を設定する情報を記憶するプログラム素子として、インバータラッチ（フリップフロップ）と可変磁気抵抗素子との組を用いる。
【００２１】
一実施の形態においては、可変磁気抵抗素子は、このインバータラッチの第１の電源ノードに結合され、別の実施の形態においては、可変磁気抵抗素子は、インバータラッチのラッチノード（ストレージノード）を第１および第２の信号線に結合するトランジスタ（ＳＲＡＭセルのアクセストランジスタに相当する）の制御電極に結合する。
【００２２】
好ましい実施の形態においては、可変磁気抵抗素子がインバータラッチの第１電源ノードに結合されるとき、このインバータラッチの電源線と可変磁気抵抗素子に磁界を印加する電流を流す書込電流線とは、別々に設けられる。
【００２３】
また別の実施の形態においては、可変磁気抵抗素子の記憶データに従ってインバータラッチにラッチデータを設定する場合、このインバータラッチを構成するトランジスタのバックゲートバイアスをフォワードバイアス状態に設定する。
【００２４】
また、別の実施の形態においては、この可変磁気抵抗素子の記憶データに従ってインバータラッチのラッチデータを設定する場合、ラッチノード（ストレージノード）に対する電流バイアス経路を形成する。
【発明の効果】
【００２５】
この発明に係る半導体装置においては、基本的に、インバータラッチと可変磁気抵抗素子とによりプログラム素子を構成している。したがって、高速でプログラム情報の書込を行なうことができ、また、スタンバイリーク電流も低減することができる。
【００２６】
また、書込電流線とインバータラッチの電源線とを別々に設けることにより、このインバータラッチの保持データに影響を及ぼすことなく、可変磁気抵抗素子の記憶データを更新することができる。
【００２７】
また、可変磁気抵抗素子のプログラム記憶データのインバータラッチへの転送時、そのインバータラッチのトランジスタの基板バイアスをフォワードバイアス状態に設定することにより、高速で、インバータラッチのオフセット特性の影響を受けることなく正確にプログラムデータ（コンフィギュレーションデータ）をインバータラッチに転送して記憶させることができる。
【００２８】
また、可変磁気抵抗素子からインバータラッチへのデータ転送時、このインバータラッチのラッチノード（ストレージノード）に電流バイアス経路を形成することにより、インバータラッチのラッチ状態の設定を加速することができ、高速でインバータラッチにラッチデータを設定することができる。
【発明を実施するための最良の形態】
【００２９】
［実施の形態１］
図１は、この発明の実施の形態１に従う半導体装置の全体の構成を概略的に示す図である。図１において、半導体装置１は、メモリセル／ゲートアレイ２を含む。このメモリセル／ゲートアレイ２においては、ＦＰＧＡの構成要素の各論理ブロック、接続ブロックおよびスイッチボックスが配置され、また、これらの内部構成を設定するプログラム情報を記憶するメモリセル（プログラム素子）が配置される。このプログラム素子は、可変磁気抵抗素子（ＶＭＲ素子）とＳＲＡＭセル（インバータラッチ）とで構成される。この可変磁気抵抗素子を利用することにより、プログラム素子に不揮発的にコンフィギュレーションデータ（プログラムデータ）を記憶させる。
【００３０】
この半導体装置１は、さらに、メモリセル／ゲートアレイ２におけるプログラム素子へのプログラムデータの書込（ストア）および読出（ロード）を制御する書込／読出制御回路３と、可変磁気抵抗素子（ＶＭＲ素子）へのプログラムデータの書込（ストア）時にＭＲＡＭセルを選択するとともにデータの書込を行うＭＲＡＭセル選択駆動回路４と、ＭＲＡＭセル（ＶＭＲ素子）のストアデータをＳＲＡＭセル（インバータラッチ）へ転送する動作を制御するＳＲＡＭセル選択駆動回路５を含む。
【００３１】
書込／読出制御回路３は、外部からの制御信号（コマンド）およびアドレス信号を含む外部信号ＣＴＬに従って、メモリセル／ゲートアレイ２におけるプログラムデータの書込（ストア）および読出（ロード）動作を制御する。ＭＲＡＭセル選択駆動回路４の構成は、プログラム素子において用いられる可変磁気抵抗素子の構成に応じて異なる。
【００３２】
ここで、以下の説明において、適宜、可変磁気抵抗素子（ＶＭＲ素子すなわちＭＲＡＭセル）にプログラムデータを書込む動作をストア動作と称し、可変磁気抵抗素子（ＭＲＡＭセル）に記憶されたデータをＳＲＡＭセルに転送して、ＳＲＡＭセル（インバータラッチ）の記憶データを、ＭＲＡＭセルが記憶するデータに対応するデータに設定する動作をロード（読出）と称す。
【００３３】
この半導体装置１は、さらに、データロード時に、ＳＲＡＭビット線（第１、第２の信号線）を駆動するロードドライブ回路６と、プログラムデータを入力するデータ入力回路７とを含む。ロードドライブ回路６は、ＳＲＡＭセルへのデータロード時に、ＳＲＡＭビット線を通して、ＳＲＡＭセルのストレージノードを初期設定するまたはストレージノードに対して電流バイアス経路を形成するなどの動作を行って、ＳＲＡＭセルをロードに適した状態に設定する。
【００３４】
データ入力回路７は、外部からのプログラムデータＩＮを格納し、ＭＲＡＭセル選択駆動回路４へ、この格納したデータを転送する。データ入力回路７は、プログラムデータＩＮを並列に受けるラッチ回路であってもよく、また、特定のデータ入力端子からシリアルに転送されるプログラムデータを順次シフトしてラッチするシフトレジスタで構成されてもよい。
【００３５】
図２は、図１に示すメモリセル／ゲートアレイ２に含まれるプログラム素子ＰＥの構成の一例を概略的に示す図である。図２において、プログラム素子ＰＥは、ＭＲＡＭセル１０と、このＭＲＡＭセル１０に結合されるＳＲＡＭセル１２を有する。ＳＲＡＭセル１２の格納データ（ストレージノードのデータ）が対応のロジックまたはスイッチ素子へ与えられる。
【００３６】
ＭＲＡＭセル１０に、不揮発的にプログラムデータ（コンフィギュレーションデータ）が格納され、電源投入時などのロード時において、ＭＲＡＭセル１０の格納するデータが、ＳＲＡＭセルに読出されて、ＳＲＡＭセル１２の記憶データが設定される。ＭＲＡＭセル１０を利用することにより、プログラム素子ＰＥを、不揮発化する。
【００３７】
図３は、図１に示すメモリセル／ゲートアレイ２の構成の一例を概略的に示す図である。図３に示す様に、メモリセル／ゲートアレイ２において、ロジックブロックＬＢが行列状に配列される。ロジックブロックＬＢは、内部のプログラム素子のプログラム情報に従ってその演算内容が設定される。
【００３８】
ロジックブロックＬＢのＸ方向およびＹ方向の間の領域に、配線領域ＩＲＸおよびＩＲＹが設けられる。配線領域ＩＲＸおよびＩＲＹ各々においては、スイッチブロックＳＢおよび接続ブロックＣＢが交互に配置される。接続ブロックＣＢは、各ロジックブロックＬＢに対応して配置され、ロジックブロックＬＢに対するデータの入出力経路を設定する。スイッチブロックＳＢは、接続ブロックＣＢに対するデータの転送経路設定する。このスイッチブロックＳＢおよび接続ブロックＣＢの接続経路も、内部に含まれるプログラム素子の記憶情報（プログラム情報）に従って設定される。
【００３９】
ロジックブロックＬＢ、スイッチブロックＳＢおよび接続ブロックＣＢは、それぞれ配線領域ＩＲＹおよびＩＲＸ内に配置される配線ＩＬに結合される。このプログラマブルロジックアレイには、信号を入出力するための入出力ポートＩＯも配置される。この入出力ポートＩＯは、入出力パッドおよび入出力ゲート回路を含み、この半導体装置外部との間でのフレキシブルなデータの転送を行なう。
【００４０】
スイッチブロックＳＢおよび接続ブロックＣＢの接続経路をプログラム素子のプログラム情報により設定し、また、ロジックブロックＬＢの内部構成を、プログラム素子のプログラム情報に従って設定することにより、所望の機能を実現する。
【００４１】
各接続ブロックＣＢに対応して入出力ポートＩＯが配置される。図１に示すデータ入力回路７に対して、プログラムデータが、これらの入出力ポートＩＯのうち適当な入出力ポートを介してデータプログラム動作時に転送される。
【００４２】
図４は、図３に示すロジックブロックＬＢの構成の一例を示す図である。図４において、ロジックブロックＬＢは、ルックアップテーブルＬＵＴと、フリップフロップＦＦと、マルチプレクサＭＵＸとを含む。ルックアップテーブルＬＵＴ、フリップフロップＦＦおよびマルチプレクサＭＵＸそれぞれに対応して、プログラム素子ＰＥが配置される。
【００４３】
ルックアップテーブルＬＵＴは、入力データＤＩＮに従って、プログラム素子ＰＥの記憶情報を選択して、出力する。フリップフロップＦＦは、対応のプログラム素子の記憶情報に従ってデータ転送態様が設定され、図示しないクロック信号に従ってルックアップテーブルＬＵＴの出力データを転送する。フリップフロップＦＦは、このループアップテーブルＬＵＴの出力タイミングを調整するために設けられる。マルチプレクサＭＵＸは、対応のプログラム素子ＰＥの記憶情報に従って、ルックアップテーブルＬＵＴからの出力データおよびフリップフロップＦＦからの出力データの一方を選択して、出力データＯＵＴを生成する。
【００４４】
図５は、図４に示すルックアップテーブルＬＵＴの具体的構成の一例を示す図である。図５においては、入力データＤＩＮとして、４ビットデータＡ−Ｄが与えられる場合の構成を示す。
【００４５】
図５において、ルックアップテーブルＬＵＴは、１６：１マルチプレクサ１４を含む。この１６：１マルチプレクサ１４に対してプログラム素子ＰＥ０−ＰＥ１５が設けられる。１６：１マルチプレクサ１４は、４ビット入力データＡ−Ｄをデコードし、そのデコード結果に従って、プログラム素子ＰＥ０−ＰＥ１５の記憶データのいずれかを選択してデータＹを生成する。図５に示す構成においては、プログラム素子ＰＥ０−ＰＥ１５は、４ビット入力データＡ−Ｄの“０（１０進数）”から“１５（１０進数）”それぞれに対応して設けられる。
【００４６】
一例として、プログラム素子ＰＥ１５がデータ“１”を記憶し、残りのプログラム素子ＰＥ０−ＰＥ１４がすべてデータ“０”を記憶する場合、入力データＡ−Ｄがすべて“１”のときに、プログラム素子ＰＥ１５の記憶するデータ“１”が出力データＹとして生成され、それ以外の時には、データＹは、“０”となる。したがって、この場合、ルックアップテーブルＬＵＴは、ＡＮＤ回路として動作する。
【００４７】
プログラム素子ＰＥ０−ＰＥ１５の記憶データを調整することにより、ルックアップテーブルＬＵＴを、ＯＲゲート、ＮＡＮＤゲートなどの論理ゲートとして機能させることができる。
【００４８】
マルチプレクサＭＵＸに対して、プログラム素子ＰＥ１６設けられる。プログラム素子ＰＥ１６の記憶データに従って、マルチプレクサＭＵＸは、ルックアップテーブルＬＵＴの出力データＹとフリップフロップＦＦの出力データＹＤの一方を選択して出力データＯＵＴを生成する。フリップフロップＦＦは、クロック信号ＣＬＫに同期して１６：１マルチプレクサ１４の出力データをたとえば１クロックサイクル遅延して出力する。
【００４９】
したがって、この図５に示すルックアップテーブルＬＵＴを用いることにより、通常の論理ゲートをプログラム素子ＰＥ０−ＰＥＩ５の記憶データに応じて実現することができる。また、入力データＡ−Ｄを、プログラム素子ＰＥ０−ＰＥ１５指定用のアドレスとして利用することにより、ルックアップテーブルＬＵＴを、ローカルなデータ記憶ブロックとして利用することができる。
【００５０】
図６は、図３に示す接続ブロックＣＢの構成の一例を概略的に示す図である。図６において、配線ＩＬと対応のロジックの入出力部の交差部に対応してプログラマブルスイッチＰＳが配置される。プログラマブルスイッチＰＳにより、配線ＩＬと対応のロジックとの接続が設定される。
【００５１】
図６における接続ブロックＣＢにおいては、対応のロジックブロックに対する入力および出力配線が示される。これは、図３に示すように、接続ブロックＣＢは、対応のロジックブロックに対するデータの入力および出力のいずれかの経路を設定することを示すためである。
【００５２】
図７は、図６に示すプログラマブルスイッチＰＳの構成の一例を概略的に示す図である。図７において、プログラマブルスイッチＰＳは、配線ＩＬａと対応のロジックの入出力部との間に設けられるパスゲートＰＧと、パスゲートＰＧの導通状態を設定するプログラム素子ＰＥとを含む。このプログラム素子ＰＥの記憶データに従ってパスゲートＰＧが選択的に導通して、配線ＩＬａを対応のロジックブロックに選択的に結合する。
【００５３】
図８は、図６に示すプログラマブルスイッチＰＳの変更例を概略的に示す図である。図８において、プログラマブルスイッチＰＳは、マルチプレクサ（ＭＵＸ）１６と、プログラム素子ＰＥとを含む。プログラム素子ＰＥの記憶データに従ってマルチプレクサ（ＭＵＸ）１６は、入力データＩＮ１およびＩＮ２の一方を選択して出力信号ＯＵＴを生成する。すなわち、この図８に示すプログラマブルスイッチＰＳにおいては、２つの入力経路のうちの１つを選択して対応のロジックブロックに結合する。
【００５４】
図９は、図３に示すスイッチブロックＳＢの構成の一例を概略的に示す図である。図９においては、３行３列に配設される配線ＩＬＸ０−ＩＬＸ２およびＩＬＹ０−ＩＬＹ２に対応して配置されるスイッチブロックＳＢの構成を一例として示す。スイッチボックスＳＢは、それぞれ接続経路を切換えるプログラマブルスイッチゲートＳＷ０−ＳＷ２を含む。プログラマブルスイッチゲートＳＷ０は、配線ＩＬＸ０およびＩＬＹ０の交差部に対応して配置され、プログラマブルスイッチゲートＳＷ１は、配線ＩＬＸ１およびＩＬＹ１の交差部に対応して配置される。プログラマブルスイッチゲートＳＷ２は、配線ＩＬＸ２およびＩＬＹ２の交差部に対応して配置される。これのプログラマブルスイッチゲートＳＷ０−ＳＷ２により、信号／データの転送経路が設定される。
【００５５】
図１０は、図９に示すプログラマブルスイッチゲートＳＷ０−ＳＷ２の構成の一例を概略的に示す図である。図１０においては、配線ＩＬＸｉおよびＩＬＹｉの交差部に対応して配置されるプログラマブルスイッチゲートＳＷｉの構成を代表的に示す。
【００５６】
図１０において、プログラマブルスイッチゲートＳＷｉは、６個のパスゲートＰＧ０−ＰＧ５と、これらのパスゲートＰＧ０−ＰＧ５それぞれに対応して設けられるプログラム素子ＰＥ１０−ＰＥ１５を含む。パスゲートＰＧ０は、プログラム素子ＰＥ１０の記憶データに従って選択的に導通し、導通時、配線ＩＬＸｉ上のノードＮＤ０および配線ＩＬＹｉ上のノードＮＤ１を電気的に接続する。
【００５７】
パスゲートＰＧ１は、プログラム素子ＰＥ１１の記憶データに従って選択的に導通し、導通時、ノードＮＤ０および配線ＩＬＹｉ上のノードＮＤ３を電気的に接続する。パスゲートＰＧ２は、プログラム素子ＰＥ１２の記憶データに従って選択的に導通し、導通時、ノードＮＤ１および配線ＩＬＸｉ上のノードＮＤ２を電気的に接続する。パスゲートＰＧ３は、プログラム素子ＰＥ１３の記憶データに従って選択的に導通し、導通時、ノードＮＤ２およびＮＤ３を電気的に接続する。パスゲートＰＧ４は、プログラム素子ＰＥ１４の記憶データに従って選択的に導通し、導通時ノードＮＤ０およびＮＤ２を電気的に接続する。パスゲートＰＧ５は、プログラム素子ＰＥ１５の記憶データに従って選択的に導通し、導通時ノードＮＤ３およびＮＤ１を電気的に接続する。
【００５８】
これらのパスゲートＰＧ０−ＰＧ５の導通／非導通をプログラム素子ＰＥ１０−ＰＥ１５の記憶データに従って設定することにより、配線ＩＬＸｉおよびＩＬＹｉの間の信号伝搬経路を設定することができ、また、配線ＩＬＸｉおよびＩＬＹｉを分割することができる。
【００５９】
図１に示すメモリセル／ゲートアレイ２においては、ＬＵＴ、スイッチブロックＳＢおよび接続ブロックＣＢ各々においてプログラム素子が配置される。これらのプログラム素子ＰＥは、配線領域がＸ方向およびＹ方向に延在して配置されており、同様、プログラム素子ＰＥも、各配線領域およびロジックブロック領域において、行列状に配列される。
【００６０】
図１１は、この発明の実施の形態１に従うプログラム素子ＰＥの構成を概略的に示す図である。図１１において、プログラム素子ＰＥは、ストレージノードＮＭ０およびＮＭ１に相補データを保持するインバータラッチを構成するインバータＩＶ０およびＩＶ１と、インバータＩＶ０およびＩＶ１のハイ側電源ノード（第１の電源ノード）ＮＭＴＪ０およびＮＭＴＪ１とＭＲＡＭビット線ＭＢＬの間にそれぞれ接続される可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１を含む。
【００６１】
インバータＩＶ０は、ＰチャネルＭＯＳトランジスタ（絶縁ゲート型電界効果トランジスタ）ＰＴ０およびＮチャネルＭＯＳトランジスタＮＴ０を含み、インバータＩＶ１は、ＰチャネルＭＯＳトランジスタＰＴ１およびＮチャネルＭＯＳトランジスタＮＴ１を含む。ストレージノードＮＭ０の保持データが、プログラムデータとして対応の素子へ与えられる。
【００６２】
プログラム素子ＰＥは、さらに、ＳＲＡＭワード線ＷＬ上の信号電位に従って選択的に導通し、導通時、ストレージノードＮＭ０およびＮＭ１をＳＲＡＭビット線ＢＬおよびＢＬＣに電気的に結合するＮチャネルＭＯＳトランジスタＮＴ２およびＮＴ３を含む。
【００６３】
インバータＩＶ０およびＩＶ１およびＭＯＳトランジスタＮＴ２およびＮＴ３により、通常の６トランジスタ型ＳＲＡＭセルと同様の構成が実現される。ＭＯＳトランジスタＮＴ２およびＮＴ３は、インバータラッチ（ＩＶ０、ＩＶ１）に可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の保持データをロードする際に、ストレージノードＮＭ０およびＮＭ１の電位を制御する。
【００６４】
ＳＲＡＭセルの負荷トランジスタＰＴ０およびＰＴ１のハイ側電源ノードに、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１が結合される。これらの可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１は、記憶データに応じて高抵抗状態または低抵抗状態に設定される。可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１それぞれに対応してデジット線ＤＬ０およびＤＬ１が設けられる。ＭＲＡＭビット線ＭＢＬおよびデジット線ＤＬ０およびＤＬ１を流れる電流が誘起する磁界により、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の磁化が設定され応じて、磁気抵抗効果によりその抵抗値が設定される。
【００６５】
図１に示す可変磁気抵抗素子ＶＭＲに対応する可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１は、トンネル磁気抵抗素子（magnet tunnel-resistive element）であっても良く、また、磁気トンネル接合素子（magnetic tunneling junction element）であっても良い。
【００６６】
可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１に、相補なデータを格納する。インバータＩＶ０およびＩＮＶ１により、これらの可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の抵抗値を、電圧信号に変換して保持する。
【００６７】
ＭＲＡＭビット線ＭＢＬは、また、プログラム素子ＰＥすなわちＳＲＡＭセルの電源線としても利用される。以下の説明において、インバータＩＶ０およびＩＶ１とＭＯＳトランジスタＮＴ２およびＮＴ３で構成される部分をＳＲＡＭセルとして参照し、また、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１で構成される部分を、ＭＲＡＭセルとして適宜参照する。
【００６８】
図１２は、図１１に示す可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１ならびに負荷トランジスタＰＴ０およびＰＴ１の断面構造を概略的に示す図である。図１２において、負荷ＰチャネルＭＯＳトランジスタＰＴ０およびＰＴ１は、Ｐ型半導体基板領域２０に形成されるＮウェル２２に形成される。ＭＯＳトランジスタＰＴ０は、Ｎウェル２２表面に間をおいて形成されるＰ型不純物領域２４ａおよび２４ｂと、これらの不純物領域２４ａおよび２４ｂの間の図示しないゲート絶縁膜を介して形成されるゲート電極２６ａとを含む。
【００６９】
ＰチャネルＭＯＳトランジスタＰＴ１は、Ｎウェル２２表面に間をおいて形成されるＰ型不純物領域２４ｃおよび２４ｄと、これらの不純物領域２４ｃおよび２４ｄの間のＮウェル表面に図示しないゲート絶縁膜を介して形成されるゲート電極２６ｂを含む。
【００７０】
不純物領域２４ｂおよび２４ｃの間には、素子分離領域２５が形成される。破線で示すように、ゲート電極２６ａは、図示しない領域において不純物領域２４ｃと電気的に接続され、また、ゲート電極２６ｂは、図示しない領域におい、不純物領域２４ｂと電気的に接続される。
【００７１】
不純物領域２４ａはプラグ（ビア）／配線２８ａを介して可変磁気抵抗素子ＴＭＲ０を載置するローカル配線ＬＩに電気的に接続される。不純物領域２４ｄは、プラグ／配線２８ｂを介して可変磁気抵抗素子ＴＭＲ１を配置するローカル配線ＬＩに電気的に接続される。これらの可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１のローカル配線ＬＩが、また、この可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の下部電極を形成する。
【００７２】
可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１は、同一構成を有するため、図１２においては、対応する部分には同一参照番号を付す。これらの可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の各々は、固定層ＦＸＬ、自由層ＦＲＬ、およびこれらの自由層ＦＲＬおよび固定層ＦＸＬの間のバリア層ＢＲＬと、上部電極ＵＥＬとを含む。
【００７３】
固定層ＦＸＬは、その磁化方向が、記憶データにかかわらず固定される。自由層ＦＲＬは、その磁化方向が、記憶データに応じて設定される。自由層ＦＲＬおよび固定層ＦＸＬの磁化方向が平行な場合、その磁気抵抗効果により、抵抗値が小さくなる。また、自由層ＦＲＬおよび固定層ＦＸＬの磁化方向が反平行の場合、その抵抗値が高くなる。
【００７４】
上部電極ＵＥＬは、ＭＲＡＭビット線を構成する導電層３０に電気的に接続される。このローカル配線ＬＩ下部に、デジット線ＤＬ０およびＤＬ１をそれぞれ形成する導電配線３２ａおよび３２ｂが、それぞれ配置される。
【００７５】
可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の自由層ＦＲＬの磁化方向が、それぞれ、導電線３２ａおよび３２ｂを流れる電流が誘起する磁界とＭＲＡＭビット線ＭＢＬを構成する導電線３０を流れる電流が形成する磁界の合成磁界により設定される。
【００７６】
この図１２に示すように、プログラム素子ＰＥを、「ＭＲＡＭラッチ回路」で構成する。この「ＭＲＡＭラッチ回路」は、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１とＳＲＡＭセルとで構成される。可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１とＳＲＡＭセルを形成するトランジスタとは、平面図的に見て重なるように配置することができる。これにより、面積増加のオーバーヘッドを生じさせることなく、不揮発性プログラム素子（ＭＲＡＭラッチ回路）を配置することができる。
【００７７】
図１３は、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の記憶データをＳＲＡＭセル（インバータラッチ）に転送する読出モード（ロードモード）の動作を示す信号波形図である。以下、図１３を参照して、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の記憶データに従ってストレージノードＮＭ０およびＮＭ１のデータを設定する動作について説明する。
【００７８】
ＭＲＡＭビット線ＭＢＬは、ＳＲＡＭセル（ＭＲＡＭラッチ回路）の電源線として利用される。電源遮断時においては、ＭＲＡＭビット線ＭＢＬの電圧レベルはＬレベルであり、したがって、ストレージノードＮＭ０およびＮＭ１の電圧レベルも接地電圧レベルであり、また、ＳＲＡＭセルハイ側電源ノードＮＭＴＪ０およびＮＭＴＪ１の電圧レベルも、接地電圧レベルである。
【００７９】
電源投入が行なわれると、ＭＲＡＭビット線ＭＢＬの電圧レベルが上昇する。ＳＲＡＭワード線ＷＬは、非選択状態であり、ＭＯＳトランジスタＮＴ２およびＮＴ３は、非導通状態にある。今、可変磁気抵抗素子ＴＭＲ１が低抵抗状態であり、可変磁気抵抗素子ＴＭＲ０が高抵抗状態であるとする。この場合、電源投入後、ハイ側電源ノードＮＭＴＪ０よりも、ハイ側電源ノードＮＭＴＪ１の電圧レベルが早く上昇する。負荷ＰチャネルＭＯＳトランジスタＰＴ０およびＰＴ１のゲート電位は同時に接地電圧レベルであり、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１から供給される電流を、ストレージノードＮＭ０およびＮＭ１へそれぞれ供給する。この場合、可変磁気抵抗素子ＴＭＲ０からの供給電流は、可変磁気抵抗素子ＴＭＲ１からの供給電流よりも少ないため、ストレージノードＮＭ０の電位上昇は、ストレージノードＮＭ１の電位上昇よりも遅くなる。
【００８０】
ストレージノードＮＭ０およびＮＭ１の電位が上昇し、その差が十分に拡大されると、ストレージノードＮＭ１の電位上昇により負荷ＰチャネルＭＯＳトランジスタＰＴ０は、その供給電流量がさらに小さくなり、また、ＮチャネルＭＯＳトランジスタＮＴ０は電流駆動力が増大する。ＭＯＳトランジスタＰＴ１は、ストレージノードＮＭ０の電位上昇が小さく、電流供給量の低減は抑制され、ＮチャネルＭＯＳトランジスタＮＴ１は、弱いオン状態またはオフ状態に維持される。ストレージノードＮＭ１に対する電流供給が増大し、インバータＩＶ０およびＩＶ１により形成されるインバータラッチにより、ストレージノードＮＭ０およびＮＭ１が、高速で、それぞれＬレベルおよびＨレベルに駆動されて、その電位が保持される。
【００８１】
この結果、ストレージノードＮＭ１は、ＭＲＡＭビット線ＭＢＬ上の電源電圧レベルとなり、ストレージノードＮＭ０は、接地電圧レベルとなる。可変磁気抵抗素子ＴＭＲ０が高抵抗状態であっても、電流は流すため、ハイ側電源ノードＮＭＴＪ０は、最終的に、ＮＲＡＭビット線ＭＢＬ上の電圧レベルの電源電圧レベルにまで到達する。
【００８２】
このように、電源投入後、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の記憶データに応じてストレージノードＮＭ０およびＮＭ１のデータを回復することができる。これにより、ＳＲＡＭセルの記憶データを、電源投入後、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の記憶データに応じて回復することができ、ＳＲＡＭセルの不揮発化を実現することができる。したがって、外部から電源投入時、新たに、ＳＲＡＭセルへプログラムデータをロードする必要がなく、消費電流が低減され、また、このデータ転送時にプログラムデータが読取られることがなくセキュリティが確保される。また、外部のプログラムデータ格納用のメモリは不要となり、チップ面積が低減され、また、電源投入後、高速で、内部動作状況（コンフィギュレーション）を設定することができる。
【００８３】
ＳＲＡＭセル部分に対するワード線ＷＬおよびビット線ＢＬ，ＢＬＣは、プログラム素子ＰＥの記憶データを外部へ読出す場合またはＳＲＡＭセルに対して外部データを書込む時に利用され、ＦＰＧＡ動作時においては、ＳＲＡＭワード線ＷＬおよびＳＲＡＭビット線ＢＬ、ＢＬＣは非選択状態に維持される。
【００８４】
図１４は、ＭＲＡＭラッチ回路のＭＲＡＭセルへのデータ書込に関連する部分の構成を概略的に示す図である。図１４においては、ＭＲＡＭビット線ＭＢＬとデジット線ＤＬ０およびＤＬ１に関連する部分の構成を代表的に示す。
【００８５】
図１４において、ＭＲＡＭビット線ＭＢＬに対し、デコード回路４０、選択回路４２、および選択ゲート４４が設けられる。デコード回路４０は、図１に示す書込／読出制御回路３からの書込活性化信号ＷＥＮに従って活性化され、アドレス信号ＡＤＸをデコードし、行選択信号Ｘｉを生成する。選択回路４２は、書込／読出制御回路３からの書込タイミング信号ＷＸＴと行選択信号Ｘｉとを受け、書込タイミング信号ＷＸＴが決定するタイミングで行選択信号Ｘｉに従ってＭＲＡＭビット線選択信号を生成する。
【００８６】
選択ゲート４４は、選択回路４２からのＭＲＡＭビット線選択信号に従ってＭＲＡＭビット線ＭＢＬを接地ノードに結合する。ＭＲＡＭビット線ＭＢＬの他方端は、電源ノードに結合され、電源電圧ＶＣＣを受ける。デコード回路４０、選択回路４２および選択ゲート４４は、図１に示すＭＲＡＭセル選択駆動回路４に含まれる。
【００８７】
デジット線ＤＬ０に対しては、その両端に対向してドライブ回路５０ａおよび５０ｂが設けられ、デジット線ＤＬ１に対しては、その両端に対向してドライブ回路５０ｃおよび５０ｄが設けられる。ドライブ回路５０ａ−５０ｄへは、デコード回路４８からのデジット線選択信号Ｙｉが与えられる。このデコード回路４８は、書込活性化信号ＷＥＮの活性化時、アドレス信号ＡＤＹをデコードして、デジット線選択信号Ｙｉを生成する。
【００８８】
ドライブ回路５０ａおよび５０ｄへは、また、入力ラッチ４６からの内部書込データＤが与えられ、また、ドライブ回路５０ｂおよび５０ｃに対しては、入力ラッチ４６からの補の書込データＤＺが与えられる。これらのドライブ回路５０ａ−５０ｄは、その構成は後に説明するが、書込タイミング信号ＷＹＴの活性化に従って、デジット線ＤＬ０およびＤＬ１に、書込データＤおよびＤＺの論理値に応じて決定される方向に電流を流す。
【００８９】
入力ラッチ４６は、図１に示すデータ入力回路７に含まれ、書込活性化信号ＷＥＮおよびクロック信号ＣＬＫに従って入力データＤＩＮを取込みラッチして、相補内部書込データＤおよびＤＺを生成する。
【００９０】
デコード回路４８、およびドライブ回路５０ａ−５０ｄも、図１に示すＭＲＡＭセル選択駆動回路４に含まれる。
【００９１】
図１５は、図１４に示すドライブ回路５０ａ−５０ｄの構成の一例を概略的に示す図である。図１５において、デジット線ＤＬ０に対して設けられるドライブ回路５０ａおよび５０ｂの構成を代表的に示す。図１５において、ドライブ回路５０ａは、デジット線選択信号Ｗｉと書込データＤと書込タイミング信号ＷＹＴを受ける書込タイミング回路５５ａと、この書込タイミング回路５５ａの出力信号に従って導通し、導通時電源ノードをデジット線ＤＬ０に結合するＰチャネルＭＯＳトランジスタＰＱ０と、書込タイミング回路５５ａからの出力信号に従って選択的に導通し、導通時デジット線ＤＬ０を接地ノードに結合するＮチャネルＭＯＳトランジスタＮＱ０を含む。
【００９２】
ドライブ回路５０ｂは、デジット線選択信号Ｙｉと補の書込データＤＺと書込タイミング信号ＷＹＴとを受ける書込タイミング回路５５ｂと、書込タイミング回路５５ｂの出力信号に従って相補的に導通するＰチャネルＭＯＳトランジスタＰＱ１およびＮチャネルＭＯＳトランジスタＮＱ１を含む。ＰチャネルＭＯＳトランジスタＰＱ１は、導通時、電源ノードをデジット線ＤＬ０に結合し、ＮチャネルＭＯＳトランジスタＮＱ１は、導通時、デジット線ＤＬ０を接地ノードに結合する。
【００９３】
図１４および図１５に示すように、ＭＲＡＭビット線ＭＢＬは、アドレス信号ＡＤＸがこのＭＲＡＭビット線ＭＢＬを指定するとき、選択回路４２および選択ゲート４４により接地ノードに結合され、電源ノードから接地ノードへ一方方向に電流を流す。したがって、ＭＲＡＭビット線ＭＢＬの電流が流れる方向は、書込データＤおよびＤＺの論理値にかかわらず一定であり、このＭＲＡＭビット線駆動タイミングは、タイミング信号ＷＥＮおよびＷＸＰにより設定される。非選択時においては、選択ゲート４４は非導通状態であり、ＭＲＡＭセルビット線ＭＢＬは電源ノードに結合され、電源ノードの電圧ＶＣＣレベルに維持される。
【００９４】
一方、デジット線ＤＬ０おびＤＬ１においては、ドライブ回路５０ａ−５０ｄに対し、書込データＤおよびＤＺが与えられ、デジット線に対向して配置されるドライブ回路（５０ａ，５０ｂ：５０ｃ，５０ｄ）に対しては、相補な書込データＤおよびＤＺが与えられる。したがって、ドライブ回路５０ａおよび５０ｂは、書込データの論理値に応じた方向に電流を流し、また、ドライブ回路５０ｃおよび５０ｄは、デジット線ＤＬ０と逆の方向に、書込データに応じて電流を流す。
【００９５】
たとえば、図１５に示すように、ドライブ回路５０ａにおいてデジット線選択信号Ｙｉが選択状態であり、かつ書込データＤがたとえばＨレベル（“１”）のとき、書込タイミング回路５５ａにより、ＭＯＳトランジスタＰＱ０が導通状態、ＭＯＳトランジスタＮＱ０が非導通状態に設定される。このとき、書込タイミング回路５５ｂは、補の書込データＤＺが与えられており、ＭＯＳトランジスタＰＱ１を非導通状態、ＭＯＳトランジスタＮＱ１を導通状態に設定する。したがって、デジット線ＤＬ０に対しては、ＭＯＳトランジスタＰＱ０から電流が供給され、この電流が、ＭＯＳトランジスタＮＱ１を介して放電される。
【００９６】
一方、デジット線選択信号Ｙｉが選択状態のとき、書込データＤがＬレベル（“０”のときには、逆に、書込タイミング回路５５ａにより、ＭＯＳトランジスタＮＱ０が導通状態、ＭＯＳトランジスタＰＱ０が非導通状態に設定される。一方、書込タイミング回路５５ｂにおいては、ＭＯＳトランジスタＰＱ１が導通状態、ＭＯＳトランジスタＮＱ１が非導通状態に設定される。したがって、電源ノードからＭＯＳトランジスタＰＱ１、デジット線ＤＬ０、ＭＯＳトランジスタＮＱ０を介して接地ノードへ電流が流れる。書込データＤの論理値に従ってデジット線ＤＬ０を流れる電流の方向が異なり、応じて、誘起される磁界の方向が異なる。
【００９７】
ＭＲＡＭビット線ＭＢＬおよびデジット線ＤＬ（ＤＬ０，ＤＬ１）を流れる電流が誘起する磁界の合成磁界により、プログラム素子ＰＥの可変磁気抵抗素子の自由層の磁化方向が設定されて、抵抗値が記憶データに応じて設定される。
【００９８】
なお、図１４および図１５に示す構成においては、デジット線ＤＬ０およびＤＬ１の電流方向を、書込データの論理値に応じて変更している。しかしながら、ＭＲＡＭビット線ＭＢＬを流れる電流の方向を、書込データの論理値に応じて変更する構成が用いられてもよい。この場合、プログラム素子ＰＥにおいては、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１に対しては、順次データの書込が行なわれる。
【００９９】
また、この図１に示すデータ入力回路７に含まれる入力ラッチ４６は、このクロック信号ＣＬＫに従って入力データＤＩＮがシフトインされるようにこのシフトレジスタを構成するように配置されてもよい。
【０１００】
また、アドレス信号ＡＤＸおよびＡＤＹは、逆であってもよく、ＭＲＡＭビット線ＭＢＬに対しアドレス信号ＡＤＹが与えられ、デジット線ＤＬ０およびＤＬ１の選択のためにアドレス信号ＡＤＸが与えられてもよい。このアドレスの割当ては、メモリセル／ゲートアレイ２（図１参照）におけるメモリセル（プログラム素子）およびＦＰＧＡ構成要素（スイッチブロックおよびロジックブロック）の配置に応じて適宜定められればよい。
【０１０１】
また、図１５において、デジット線ドライブトランジスタの電源ノードへは、電源電圧ＶＣＣが与えられている。この電源電圧ＶＣＣは、ＳＲＡＭセルの電源電圧（ＶＤＤ）と異なる電圧レベルであってもよい。デジット線ＤＬ０およびＤＬ１を流れる電流が誘起する磁界の強度を必要な大きさに設定するための電圧レベルであればよい。
【０１０２】
以上のように、この発明の実施の形態１に従えば、ＳＲＡＭハイ側電源ノードに結合される可変磁気抵抗素子に相補データを記憶し、このデータを、電源投入時にＳＲＡＭセルのストレージノードに転送している。したがって、電源投入時、外部のメモリからのデータロードが不要となり、不揮発性メモリとしてプログラム素子ＰＥを利用することができる。また、ＭＲＡＭビット線を、ＳＲＡＭセルの電源線としても用いているため、電源投入時、高速で、このＭＲＡＭセル（可変磁気抵抗素子ＴＭＲ０，ＴＭＲ１）の記憶データに応じてストレージノードの電位を設定することができ、ＭＲＡＭセルからＳＲＡＭセルへのデータ転送を高速に行なうことができる。
【０１０３】
［実施の形態２］
図１６は、この発明の実施の形態２に従うプログラム素子ＰＥの構成を概略的に示す図である。この図１６に示すプログラム素子ＰＥは、図１１に示す実施の形態１に従うプログラム素子ＰＥと以下の点で、その構成が異なる。すなわち、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１は、ＳＲＡＭセル電源線ＶＤＤＬに電気的に結合される。このＳＲＡＭ電源線ＶＤＤＬと別に、ＭＲＡＭビット線ＭＢＬが設けられる。ＳＲＡＭセル電源線ＶＤＤＬには、電源電圧ＶＤＤが伝達される。この図１６に示すプログラム素子ＰＥの他の構成は、図１１に示すプログラム素子ＰＥの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０１０４】
図１７は、図１６に示すプログラム素子ＰＥの断面構造を概略的に示す図である。この図１７に示すプログラム素子ＰＥの断面構造は、図１２に示す実施の形態１に従うプログラム素子ＰＥの断面構造と以下の点で、その構成が異なる。すなわち、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の上部電極ＵＥＬが、電源線ＶＤＤＬを構成する導電線６０ａおよび６０ｂに電気的に結合される。これらの導電線６０ａおよび６０ｂ上に、ＭＲＡＭビット線ＭＢＬを構成する導電線３０が配置される。この電源線ＶＤＤＬを構成する導電線６０ａおよび６０ｂは、単に、ＳＲＡＭセルの記憶データを保持する電流を供給することが要求されるだけであり、その配線幅および厚さはそれほど大きくする必要はなく、また、ＳＲＡＭ電源線ＶＤＤＬを構成する導電線６０ａおよび６０ｂは、メモリセル／ゲートアレイ内において、メッシュ状に配設されてもよい。
【０１０５】
この図１７に示すプログラム素子ＰＥの他の構成は、図１２に示すプログラム素子ＰＥの断面構造と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０１０６】
図１６および図１７に示すプログラム素子の構成の場合、ＳＲＡＭ電源線ＶＤＤＬとＭＲＡＭビット線ＭＢＬが別々に設けられる。したがって、ＳＲＡＭ電源線ＶＤＤＬに電源電圧ＶＤＤが供給されている間に、ＭＲＡＭビット線ＭＢＬおよびデジット線ＤＬ０，ＤＬ１を用いて、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の抵抗値を変更することができる。すなわち、メモリセル／ゲートアレイ２において演算実行時に、ＳＲＡＭセルのラッチデータに影響を及ぼすことなく書換えることができ、いわゆる「ヒドンプログラム」を実行することができる。これにより、ダイナミックに、ＦＰＧＡ（半導体装置）の内部構成を、演算処理内容に応じて変更することができる。
【０１０７】
この実施の形態２の構成の場合、ＭＲＡＭビット線ＭＢＬと可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の自由層ＦＲＬとの距離が大きくなることが考えられる。しかしながら、先の実施の形態１において示したように、ＭＲＡＭビット線ＭＢＬには、書込データの論理値にかかわらず常に同じ方向に電流が流れ、いわゆる補助磁界を生成することが要求されるだけであり、書込データに応じて磁化方向を変更するための磁界は、デジット線ＤＬ０およびＤＬ１を流れる電流により生成される。したがって、ＳＲＡＭ電源線ＶＤＤＬがＭＲＡＭビット線ＭＢＬ下部に配置されても、確実に、この可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１に対しデータの書込を行なうことができる。
【０１０８】
この実施の形態２における周辺回路の構成およびデータの書込および読出（ストアおよびロード）のシーケンスは、実施の形態１と同様である。
【０１０９】
すなわち、図１８に示すように、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の格納データを、ＳＲＡＭセルへの読出を行なうロード時のシーケンスにおいては、一旦、ＳＲＡＭ電源線ＶＤＤＬへの電源電圧ＶＤＤの供給を停止して、再び電源投入を行なうことにより実行する。この図１８に示すデータロード時の動作は、図１３に示すデータロードシーケンスと実質的に同様である。ＭＲＡＭビット線ＭＢＬに代えて、ＳＲＡＭ電源線ＶＤＤＬへ電源電圧を投入する。従って、この実施の形態２のデータロード動作については、図１３に示す波形図の動作と同じであり、その説明は繰り返さない。
【０１１０】
図１９は、この発明の実施の形態２に従う半導体装置のＳＲＡＭ電源線ＶＤＤＬの電圧を制御する部分の構成を概略的に示す図である。図１９において示すように、ＳＲＡＭ電源制御回路６５は、読出モード活性化信号ＲＥＮに従ってＳＲＡＭ電源線ＶＤＤＬへの電源電圧ＶＤＤの供給を制御する。この読出モード活性化信号ＲＥＮは、図１に示す制御信号（コマンド）ＣＴＬに基づいて、書込／読出制御回路３に含まれる図示しないコマンドデコーダにより生成される。ＳＲＡＭ電源制御回路６５は、図１に示す書込／読出制御回路３に含まれ、読出モード活性化信号ＲＥＮの活性化時、所定期間、電源線ＶＤＤＬへの電源電圧ＶＤＤの供給を停止した後に、電源線ＶＤＤＬへ電源電圧ＶＤＤを供給する。
【０１１１】
このＳＲＡＭ電源線ＶＤＤＬは、メモリセル／ゲートアレイのＳＲＡＭセルに共通に設けられても良く、また、ＳＲＡＭセルの各行または各列に対応して配置され、ＳＲＡＭ電源制御回路６５が、ＳＲＡＭセル（プログラム素子ＰＥ）の行または列単位で（アドレス信号に従って）、ＳＲＡＭ電源電圧ＶＤＬの供給を制御して、記憶データの更新を行なうように構成されてもよい。このプログラム素子の行または列単位での電源線ＶＤＤＬの電源電圧の制御は、図１９に示すＳＲＡＭ電源制御回路６５へ、読出モード活性化信号ＲＥＮとアドレス信号ＡＤ（ＡＤＸまたはＡＤＹ）を与えればよい。
【０１１２】
以上のように、この発明の実施の形態２に従えば、ＳＲＡＭ電源線とＭＲＡＭビット線とを別々に設けており、ＳＲＡＭ系回路とＭＲＡＭ系回路とを別々に設けることができる。これにより、ＳＲＡＭセルにデータを保持した状態で、ＭＲＡＭセルへのデータの書込を行なうことができ、実施の形態１の効果に加えて、高速で、ダイナミックに、ＦＰＧＡ（半導体装置）の内部構成を変更することができる。
【０１１３】
［実施の形態３］
図２０は、この発明の実施の形態３に従うプログラム素子ＰＥの構成を概略的に示す図である。この図２０に示すプログラム素子ＰＥの構成は、以下の点で、図１１に示す実施の形態１に従うプログラム素子ＰＥとは異なる。すなわち、ＳＲＡＭセルの負荷ＰチャネルＭＯＳトランジスタＰＴ０およびＰＴ１のバックゲートには、バイアス電圧ＶＢＰが与えられ、またＮチャネルＭＯＳトランジスタＮＴ０−ＮＴ３のバックゲートには、バイアス電圧ＶＢＮが与えられる。これらのバイアス電圧ＶＢＰおよびＶＢＮは、それぞれ、読出モード時（ロードモード時）、すなわち可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の格納データをストレージノードＮＭ０およびＮＭ１に転送するとき、フォワードバイアス状態に設定される。この図２０に示すプログラム素子ＰＥの他の構成は、図１２に示す実施の形態１に従うプログラム素子ＰＥの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０１１４】
このバイアス電圧ＶＢＰおよびＶＢＮは、読出モード時、以下の条件を満たす電圧レベルに設定される：
ＶＳＳ（＝０Ｖ）＜ＶＤＤ−ＶＢＰ＜Ｖｐｎ、
ＶＳＳ＜ＶＢＮ＜Ｖｐｎ、
ここで、Ｖｐｎは、ＰＮ接合の順方向降下電圧、すなわちＰＮ接合のビルトイン電圧を示す。
【０１１５】
図２１は、図２０に示すプログラム素子ＰＥの読出モード時の動作を示す信号波形図である。
【０１１６】
電源投入時点においては、ＭＲＡＭビット線ＭＢＬは接地電圧レベルであり、また電源非投入時においては、バイアス電圧ＶＢＰおよびＶＢＮは接地電圧レベルである。電源投入が行なわれると、ＭＲＡＭビット線ＭＢＬの電圧レベルが、電源電圧ＶＤＤレベルにまで上昇する。また、バイアス電圧ＶＢＰおよびＶＢＮの電圧レベルも上昇する。このとき、バイアス電圧ＶＢＰは、電源電圧ＶＤＤよりも低い電圧レベルにまで設定され、またバイアス電圧ＶＢＮは、正の電圧レベルに設定される。ＳＲＡＭワード線ＷＬは、非選択状態に維持される。
【０１１７】
通常、ＭＯＳトランジスタに対して基板をフォワードバイアス状態に設定する場合、しきい値電圧のチャネル長依存性、すなわちロールオフ特性を低減することができ、ＭＯＳトランジスタのチャネル長が素子ごとに変動しても、その影響を低減してトランジスタ特性のバラつきを低減することができる。
【０１１８】
また、ＭＯＳトランジスタ導通時のチャネル下部の空乏層の電荷（不純物）の分布のばらつきにより、ゲート容量が変動するため、ＭＯＳトランジスタのしきい値電圧のばらつきが生じる。しかしながら、バックゲートをフォワードバイアス状態に設定することにより、空乏層を狭くすることができ、チャネル領域の不純物濃度のばらつきのしきい値電圧に対する影響を低減することができる（"Impact of Body Bias Controlling in partially Depleted SOI Devices with Hybrid Trench Isolation Technology" in Extended Abstract of the 2005 International Conference on Solid State Devices and Materials, Kobe, 2005, pp. 886-887参照）。
【０１１９】
通常、電源投入後のインバータラッチの初期状態は、不定である。しかしながら、ＳＲＡＭセルにおいては、ＭＯＳトランジスタの特性のばらつきにより、インバータＩＶ０およびＩＶ１により形成されるインバータラッチにオフセットが生じる可能性があり、いずれか一方の状態に初期値が設定される傾向がある。このオフセットが生じた場合、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の磁気抵抗比（ＭＲ比）が小さい場合には、その抵抗値の差が小さく、ストレージノードＮＭ０およびＮＭ１に誤ったデータが保持される可能性があり、すなわち、正しく、ＭＲＡＭセルのデータを、ＳＲＡＭセルへ読出さなくなる場合が考えられる。
【０１２０】
このような場合、このバイアス電圧ＶＢＰおよびＶＢＮにより、フォワードバイアスを印加することにより、このＭＯＳトランジスタのしきい値電圧などの特性のばらつきを低減してオフセットの影響を低減することができ、正確にＭＲＡＭセルの記憶データに従ってＳＲＡＭセルに記憶データを読出す（ロードする）ことができる。
【０１２１】
また、基板バイアスが、フォワードバイアスの時には、そのしきい値電圧の絶対値は小さくなり、トランジスタの電流駆動力を大きくして高速でＳＲＡＭセルに対する読出（ロード）を行なうことができる。
【０１２２】
従って、電源投入後に、基板バイアスをフォワードバイアス状態に設定することにより、ＳＲＡＭハイ側電源ノードＮＭＴＪ０およびＮＭＴＪ１の電圧変化に応じて、ストレージノードＮＭ０およびＮＭ１の電圧レベルを、ＳＲＡＭセルのオフセットの影響を受けることなく正確に設定することができる。なお、図２１においても、可変磁気抵抗素子ＴＭＲ０が高抵抗状態、可変磁気抵抗素子ＴＭＲ１が低抵抗状態に設定されている場合の動作が、一例として示される。
【０１２３】
図２２は、この発明の実施の形態３に従うプログラム素子のトランジスタの平面配置を概略的に示す図である。図２２において、プログラム素子ＰＥは、そのＰチャネルＭＯＳトランジスタＰＴ０およびＰＴ１がＮウェル７０に形成され、ＮチャネルＭＯＳトランジスタＮＴ０およびＮＴ２が、Ｐウェル７２ａに形成される。ＮチャネルＭＯＳトランジスタＮＴ１およびＮＴ３が、Ｐウェル７２ｂに形成される。Ｎウェル７０に対しバイアス電圧ＶＢＰが供給され、Ｐウェル７２ａおよび７２ｂに、バイアス電圧ＶＢＮが与えられる。
【０１２４】
ＭＯＳトランジスタＮＴ２およびＮＴ３に対して設けられるＳＲＡＭワード線ＷＬおよびＳＲＡＭビット線ＢＬおよびＢＬＣは、これらのウェル７０、７２ａおよび７２ｂ上層に配置される。
【０１２５】
図２３は、図２２に示す平面配置における１つのＰチャネルＭＯＳトランジスタと１つのＮチャネルＭＯＳトランジスタの断面構造を概略的に示す図である。Ｎウェル７０表面に、Ｐウェル７２が形成される。Ｎウェル７０は、Ｐ型半導体基板８０表面に形成される。Ｎウェル７０の表面に、間をおいてＰ型不純物領域８１ａおよび８１ｂが形成される。これらの不純物領域８１ａおよび８１ｂの間の領域上に、図示しないゲート絶縁膜を介してゲート電極８２が形成される。Ｎウェル７０へは、Ｎ型不純物領域８３を介してバイアス電圧ＶＢＰが供給される。不純物領域８１ａ、８１ｂとゲート電極８２とにより、ＰチャネルＭＯＳトランジスタＰＴ（ＰＴ０またはＰＴ１）が形成される。
【０１２６】
Ｎウェル７２表面に、間をおいてＮ型不純物領域８５ａおよび８５ｂが形成される。これらの不純物領域８５ａおよび８５ｂの間の領域表面上に図示しないゲート絶縁膜を介してゲート電極８６が形成される。このＰウェル７２に対しては、Ｐ型不純物領域８７を介してバイアス電圧ＶＢＮが供給される。不純物領域８５ａ、８５ｂとゲート電極８６とにより、ＮチャネルＭＯＳトランジスタＮＴ（ＮＴ０−ＮＴ３のいずれか）が形成される。
【０１２７】
このＮウェル７０表面に、Ｐウェルを形成することにより、ＰチャネルＭＯＳトランジスタＰＴおよびＮチャネルＭＯＳトランジスタＮＴのバックゲートバイアスを個々に調整することができる。
【０１２８】
［平面配置の変更例］
図２４は、この発明の実施の形態３に従うプログラム素子のトランジスタの平面配置の変更例を概略的に示す図である。図２４においては、Ｎウェル８７に、ＰチャネルＭＯＳトランジスタＰＴ０およびＰＴ１が配置され、Ｐウェル８９に、ＮチャネルＭＯＳトランジスタＮＴ０−ＮＴ３が配置される。Ｎウェル８７にはバイアス電圧ＶＢＰが供給され、Ｐウェル８９には、バイアス電圧ＶＢＮが供給される。
【０１２９】
この図２４に示す配置においても、ＰチャネルＭＯＳトランジスタＰＴ０およびＰＴ１とＮチャネルＭＯＳトランジスタＮＴ０−ＮＴ３それぞれ個々に、そのバイアス電圧を調整することができる。
【０１３０】
図２５は、この発明の実施の形態３におけるバイアス電圧ＶＢＰおよびＶＢＮを発生する部分の構成の一例を概略的に示す図である。この図２５に示す基板バイアス発生部は、図１に示す書込／読出制御回路３に含まれる。
【０１３１】
図２５において、基板バイアス発生部は、Ｐ基板電圧を発生するＰ基板電圧発生回路１００と、Ｎ基板電圧発生回路１０２と、電源電圧ＶＤＤとＰ基板電圧発生回路１００の出力電圧の一方を選択してバイアス電圧ＶＢＰを生成する切換回路１０６と、Ｎ基板電圧発生回路１０２の出力電圧と接地電圧ＶＳＳの一方を選択してバイアス電圧ＶＢＮを生成する切換回路１０８を含む。
【０１３２】
Ｐ基板電圧発生回路１００は、電源電圧ＶＤＤを受け、電源電圧ＶＤＤよりも所定値低い電圧を生成する。Ｎ基板電圧発生回路１０２は、電源電圧ＶＤＤを受け、接地電圧ＶＳＳよりも所定値高い電圧を生成する。
【０１３３】
切換回路１０６および１０８は、バイアス制御回路１０４の出力信号ＢＳＷに従って、それぞれの選択する電圧が設定される。バイアス制御回路１０４は、電源投入検出回路１１０からの電源投入検出信号ＰＯＲと読出モード活性化信号ＲＥＮのいずれか一方の活性化に従って、切換回路１０６および１０８の選択電圧を設定するようにその出力信号ＢＳＷの論理値を設定する。すなわち、バイアス制御回路１０４は、電源投入時、電源投入検出信号ＰＯＲに従って切換回路１０６および１０８を、それぞれＰ基板電圧発生回路１００およびＮ基板電圧発生回路１０２の生成する電圧を選択する状態に設定する。電源投入検出回路１１０からの電源投入検出信号ＰＯＲが、電源電圧ＶＤＤが安定化したことを示すと、所定のタイミングで、バイアス制御回路１０４は、その出力信号ＢＳＷに従って切換回路１０６および１０８に、それぞれ電源電圧ＶＤＤおよび接地電圧ＶＳＳを選択させる。
【０１３４】
図２６は、図２５に示すバイアス電圧発生部の動作を示す信号波形図である。以下、図２６を参照して、図２５に示すバイアス電圧発生部の動作について簡単に説明する。なお、図２６においても、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１が、それぞれ、高抵抗状態および低抵抗状態に設定された場合の読出動作が一例として示される。
【０１３５】
電源電圧ＶＤＤが供給されると、ＭＲＡＭビット線ＭＢＬ上の電圧が上昇する。この電源電圧ＶＤＤの投入に従って、Ｐ基板電圧発生回路１００およびＮ基板電圧発生回路１０２の生成する電圧レベルが、また上昇する。このとき、バイアス制御回路１０４は、電源投入検出信号ＰＯＲがＬレベルであるため、その出力信号のバイアス切換信号ＢＳＷをＬレベルに維持する。応じて、切換回路１０６および１０８は、それぞれ、Ｐ基板電圧発生回路１００およびＮ基板電圧発生回路１０２の出力電圧を、それぞれバイアス電圧ＶＢＰおよびＶＢＮとして選択して出力する。
【０１３６】
電源電圧ＶＤＤが安定化し、所定時間が経過すると、電源投入検出回路１１０は、電源投入検出信号ＰＯＲを活性状態（Ｈレベル）へ駆動する。この電源投入検出信号ＰＯＲの活性化に従って、バイアス制御回路１０４は、所定時間経過後、バイアス切換信号ＢＳＷを、Ｈレベルに駆動する。応じて、切換回路１０６および１０８は、それぞれ電源電圧（ハイ側電源電圧）ＶＤＤおよび接地電圧（ロー側電源電圧）ＶＳＳを選択して、バイアス電圧ＶＢＰおよびＶＢＮとして出力する。
【０１３７】
電源投入後の、可変磁気抵抗素子の記憶データに従ってＳＲＡＭセルのストレージノードの電圧レベル設定時、すなわち読出モード時、ＳＲＡＭセルのトランジスタの基板バイアスを浅くして（フォワードバイアスに設定する）、高速かつ正確に、ＭＲＡＭセルの記憶データを、ＳＲＡＭセルへ転送することができる。
【０１３８】
［変更例］
図２７は、この発明の実施の形態３に従うプログラム素子の読出モード時の動作の変更例を示す信号波形図である。この図２７に示す信号波形図においては、プログラム素子ＰＥとして、実施の形態２に示すプログラム素子（図１６参照）が用いられ、電源線ＶＤＤＬとＭＲＡＭビット線ＭＢＬとは別々に設けられる。
【０１３９】
この図２７に示す動作の場合、電源電圧の供給中に読出指示が与えられると、読出モード活性化信号ＲＥＮが活性化される。この読出モード活性化信号ＲＥＮの活性化に従って、電源線ＶＤＤＬ上の電源電圧ＶＤＤが、一旦、接地電圧レベルに駆動される。応じて、ＳＲＡＭセルハイ側電源ノードＮＭＴＪ０およびＮＭＴＪ１の電圧レベルも、接地電圧レベルに低下し、また、応じてＳＲＡＭセルのストレージノードＮＭ０およびＮＭ１の電圧レベルも接地電圧レベルに低下する。
【０１４０】
読出モード活性化信号ＲＥＮの活性化から所定期間経過すると、電源電圧が投入されて、ＳＲＡＭ電源線ＶＤＤＬ上の電圧レベルが、電源電圧ＶＤＤレベルに上昇する。応じて、先の実施の形態２と同様に、ハイ側電源ノードＮＭＴＪ０およびＮＭＴＪ１上の電圧レベルが上昇し、応じてストレージノードＮＭ０およびＮＭ１の電圧レベルも、可変磁気抵抗素子（ＭＲＡＭセル）の記憶データに応じて変化する。これにより、ＳＲＡＭセルへのＭＲＡＭセルの記憶データの転送（読出）が行なわれる。
【０１４１】
この読出時においては、電源投入検出信号ＰＯＲは、Ｌレベルであり、切換回路１０６および１０８は、バイアス電圧として基板電圧発生回路１００および１０２が生成する電圧を選択する。
【０１４２】
所定時間が経過すると、電源投入検出信号ＰＯＲが活性化され、応じて、切換信号ＢＳＷの論理レベルが切換えられ、切換回路１０６および１０８は、電源電圧ＶＤＤおよび接地電圧ＶＳＳを選択して基板バイアスＶＢＰおよびＶＢＮを生成する。
【０１４３】
この図２７に示すように、読出モード活性化信号ＲＥＮを用いる場合においても、電源投入検出信号ＰＯＲに従って、切換回路１０６および１０８における選択電圧を設定することにより、基板バイアスＶＢＰおよびＶＢＮの電圧レベルを調整して、読出モード時のＳＲＡＭセルのトランジスタのバックゲートバイアスを浅くして、データの読出（転送：ロード）を実行することができる。
【０１４４】
なお、この図２７に示す信号波形図においても、図２５に示す基板バイアス発生部の構成を利用することができる。
【０１４５】
以上のように、この発明の実施の形態３に従えば、ＭＲＡＭセルの記憶データのＳＲＡＭへの読出時、ＳＲＡＭセルの構成要素のトランジスタのバックゲートバイアスを浅くしてフォワードバイアス状態に設定している。したがって、このＳＲＡＭセルのトランジスタの特性のばらつきの影響を受けることなく正確に、ＭＲＡＭセルの記憶データをＳＲＡＭセルへ転送してロードすることができる。
【０１４６】
［実施の形態４］
図２８は、この発明の実施の形態４に従う半導体装置の要部の構成を概略的に示す図である。この図２８に示すプログラム素子ＰＥの構成は、先の実施の形態１（図１参照）の構成と同じである。この図２８に示す構成においては、ＳＲＡＭビット線ＢＬおよびＢＬＣに対し、ＳＲＡＭビット線ライトドライバＳＷＲａおよびＳＷＲｂがそれぞれ設けられる。このＳＲＡＭビット線ライトドライバＳＷＲａおよびＳＷＲｂは、ＭＲＡＭセルからＳＲＡＭセルへのデータ転送を行なう読出モード時、ライトドライバイネーブル信号／ＳＷＲＥＮの活性化に従って活性化され、それぞれ内部書込データＷＤおよびＷＤＣに従ってＳＲＡＭビット線ＢＬおよびＢＬＣを駆動する。
【０１４７】
図２８に示すプログラム素子ＰＥの構成は図１１に示す構成と同じであり、図１１に示す構成と対応する部分には同一参照番号を付し、このプログラム素子の詳細説明は省略する。
【０１４８】
図２９は、図２８に示すプログラム素子ＰＥの読出モード時の動作を示す信号波形図である。以下、図２９を参照して、図２８に示すプログラム素子ＰＥのデータ読出モードの動作について説明する。
【０１４９】
可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１は、それぞれ、高抵抗状態および低抵抗状態に設定されている。ストレージノードＮＭ０およびＮＭ１は、それぞれ、ＨレベルおよびＬレベルである。読出モード（ロードモード）において、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の記憶データをＳＲＡＭセルへ読出して、ストレージノードＮＭ０およびＮＭ１の状態を反転させる。
【０１５０】
読出モード時、ＭＲＡＭビット線ＭＢＬは、電源電圧ＶＤＤレベルに維持される。したがって、この状態においては、プログラム素子ＰＥの記憶データに従って、対応のスイッチ素子またはルックアップテーブルの状態が設定される。
【０１５１】
また、読出モード前においては、内部書込データＷＤおよびＷＤＣおよびＳＲＡＭビット線ＢＬおよびＢＬＣの状態は、任意であるが、読出モード時にはＨレベルに設定される。ＳＲＡＭライトドライバＳＷＲａおよびＳＷＲｂは、それぞれ非活性状態であり、たとえば出力ハイインピーダンス状態に設定される。この場合、ＳＲＡＭビット線ＢＬおよびＢＬＣは、図示しないプリチャージ回路より、例えば電源電圧レベルの所定電圧レベルにプリチャージされていてもよい。
【０１５２】
読出モードが指定されると、時刻ｔａにおいて、ＳＲＡＭライトドライバイネーブル信号／ＳＷＲＥＮが活性化される。続いて、また、内部書込データＷＤおよびＷＤＣも、それぞれＨレベルの状態に設定される（常時、内部書込データはＨレベルに維持されていてもよい）。このＳＲＡＭライトドライバイネーブル信号／ＳＷＲＥＮの活性化に従って、ＳＲＡＭライトドライバＳＷＲａおよびＳＷＲｂが活性化され、内部書込データＷＤおよびＷＤＣに従って、ＳＲＡＭビット線ＢＬおよびＢＬＣが、それぞれＨレベルに駆動される。
【０１５３】
時刻ｔｂにおいて、ＳＲＡＭワード線ＷＬがＨレベルに駆動され、図２８に示すＭＯＳトランジスタＮＴ２およびＮＴ３が導通し、ストレージノードＮＭ０およびＮＭ１が、それぞれＳＲＡＭビット線ＢＬおよびＢＬＣに電気的に結合される。ＳＲＡＭセルのハイ側電源ノードＮＭＴＪ０およびＮＭＴＪ１は、それぞれ電源電圧ＶＤＤレベルである。この状態において、ＭＯＳトランジスタＮＴ２およびＮＴ３のオン抵抗は、ＭＯＳトランジスタＮＴ０およびＮＴ１のオン抵抗に比べて大きく、ストレージノードＮＭ０およびＮＭ１の電圧レベルは、ほとんど変化しない。すなわち、通常のＳＲＡＭセルの記憶データを外部へ読出す通常読出モード時、ビット線がビット線プリチャージ素子によりプリチャージされた状態でデータ読出が行なわれても、ＳＲＡＭセルのストレージノードの電位はほとんど変化しないのと同じである（Ｌレベルのストレージノード電位は少し上昇する）。
【０１５４】
時刻ｔｃにおいて、ＳＲＡＭワード線ＷＬを選択状態に維持した状態で、内部書込データＷＤおよびＷＤＣを、ＨレベルからＬレベルに立下げる。応じて、ＳＲＡＭビット線ＢＬおよびＢＬＣが、ＬレベルにＳＲＡＭライトドライバＳＷＲａおよびＳＷＲｂにより駆動され、ＨレベルのストレージノードＮＭ０が、Ｌレベル方向へ駆動される。ストレージノードＮＭ０およびＮＭ１の電位に従って、ＭＯＳトランジスタＰＴ０およびＰＴ１がともに導通し、ハイ側電源ノードＮＭＴＪ０およびＮＭＴＪ１からＳＲＡＭビット線ＢＬおよびＢＬＣへ電流が流れ、これらのハイ側電源ノードＮＭＴＪ０およびＮＭＴＪ１の電位レベルが、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の抵抗値に応じて低下する。
【０１５５】
このハイ側電源ノードＮＭＴＪ０およびＮＭＴＪ１の電位低下量は、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の抵抗値、ＭＯＳトランジスタＰＴ０およびＰＴ１のオン抵抗およびＭＯＳトランジスタＮＴ２およびＮＴ３のオン抵抗によりほぼ決定される（ドライブ用のＭＯＳトランジスタＮＴ０およびＮＴ１は、ほぼ非導通状態である）。
【０１５６】
いま、可変磁気抵抗素子ＴＭＲ１は低抵抗状態であり、ハイ側電源ノードＮＭＴＪ１の電位低下量は、ハイ側電源ノードＮＭＴＪ０の電位低下量よりも小さい。ハイ側電源ノードＮＭＴＪ０およびＮＭＴＪ１の電位レベルに応じてストレージノードＮＭ０およびＮＭ１の電位レベルが設定される。この場合、ストレージノードＮＭ０の電位よりもストレージノードＮＭ１の電位が高くなる。
【０１５７】
ストレージノードＮＭ０およびＮＭ１の電位差がほぼ確定すると、時刻ｔｄにおいてＳＲＡＭワード線ＷＬを非選択状態へ駆動する（Ｌレベルへ駆動する）。応じて、ＭＯＳトランジスタＮＴ２およびＮＴ３が非導通状態となり、ＳＲＡＭビット線ＢＬおよびＢＬＣがストレージノードＮＴ２およびＮＴ３と分離される。これにより、ハイ側電源ノードＮＴＪ０およびＮＴＪ１から接地ノードへの放電経路がほぼ遮断され、ハイ側電源ノードＮＴＪ０およびＮＴＪ１の電位レベルが、電源電圧ＶＤＤレベルに復帰する。
【０１５８】
ストレージノードＮＭ０の電位がストレージノードＮＭ１の電位よりも低いため、ＰＭＯＳトランジスタＰＴ１の電流駆動力が、ＰＭＯＳトランジスタＰＴ０の電流駆動力よりも大きく、ストレージノードＮＭ１の電位がストレージノードＮＭ０よりも高速で充電され、応じて、インバータＩＶ０およびＩＶ１のラッチ動作により、ストレージノードＮＭ０およびＮＭ１が、それぞれ接地電圧レベルおよび電源電圧ＶＤＤレベルに駆動されて保持される。
【０１５９】
時刻ｔｅにおいて、プログラム素子ＰＥのストレージノードＮＭ０およびＮＭ１の電圧レベルが、それぞれ、ＬレベルおよびＨレベルに確定すると、時刻ｔｆにおいて、ＳＲＡＭライトドライバイネーブル信号／ＳＷＲＥＮが非活性化され、応じて、ＳＲＡＭライトドライバＳＷＲａおよびＳＷＲｂが非活性化される。
【０１６０】
この時刻ｔｆ以降においては、内部書込データＷＤおよびＷＤＣの状態は任意であり、また、ＳＲＡＭビット線ＢＬおよびＢＬＣの電位レベルも任意である（ＳＲＡＭビット線が図示しないプリチャージ回路によりＨレベルまたはＬレベルにプリチャージされていてもよい）。
【０１６１】
上述のように、ＳＲＡＭライトドライバＳＷＲａおよびＳＷＲｂを用いてＳＲＡＭビット線ＢＬおよびＢＬＣを介してストレージノードＮＭ０およびＮＭ１をプルダウンすることにより、電源を投入した状態で、ＭＲＡＭセル（可変磁気抵抗素子ＴＭＲ０，ＴＭＲ１）の記憶データを、ＳＲＡＭセル（インバータＩＶ０およびＩＶ１によりラッチ回路）に転送することができる。
【０１６２】
［読出モードの変更例］
図３０は、この発明の実施の形態４に従うプログラム素子の読出モードの変更例の動作を示す信号波形図である。プログラム素子ＰＥの構成は、図２８に示すプログラム素子ＰＥの構成と同じである。また、ＭＲＡＭセルの記憶データは、図２９において示す記憶データと同じである。以下、図３０を参照して、図２８に示すプログラム素子の読出モード時の動作の変更例について説明する。
【０１６３】
まず、電源が投入されると、ＳＲＡＭの周辺回路に対する電源電圧ＳＶＤＤの電圧レベルが立上がる。この場合、ＭＲＡＭビット線ＭＢＬの電圧レベルは、まだ電源電圧ＶＤＤが投入されていないため、Ｌレベルである。
【０１６４】
時刻ｔ０において、ＳＲＡＭ電源電圧ＳＶＤＤが安定化すると、内部書込データＷＤおよびＷＤＣが、ともにＨレベルに駆動される。このとき、ＳＲＡＭライトドライバイネーブル信号／ＳＷＥＮはＬレベルであり、ＳＲＡＭライトドライバＳＷＲａおよびＳＷＲｂがともに活性化され、内部書込データＷＤおよびＷＤＣに従ってＳＲＡＭビット線ＢＬおよびＢＬＣがＨレベルに駆動される。
【０１６５】
まだ、ＭＲＡＭビット線ＭＢＬ上には電源電圧ＶＤＤは供給されていないため、ＳＲＡＭセルのハイ側電源ノードＮＭＰＪ０およびＮＭＰＪ１ならびにストレージノードＮＭ０およびＮＭ１の電圧レベルは、Ｌレベルである。
【０１６６】
時刻ｔ１において、ＳＲＡＭワード線ＷＬが、Ｈレベルの選択状態へ駆動される。応じて、ＭＯＳトランジスタＮＴ２およびＮＴ３が導通し、ストレージノードＮＭ０およびＮＭ１が、それぞれＳＲＡＭビット線ＢＬおよびＢＬＣに結合される。
【０１６７】
時刻ｔ２において、ＳＲＡＭワード線ＷＬを選択状態に維持した状態で、内部書込データＷＤおよびＷＤＣをＬレベルに駆動して、ＳＲＡＭビット線ＢＬおよびＢＬＣを、接地電圧レベルに駆動する。これにより、ストレージノードＮＭ０およびＮＭ１が、Ｌレベルに駆動される。
【０１６８】
時刻ｔ３において、ＭＲＡＭビット線ＭＢＬへ電源電圧ＶＤＤが供給され、ＳＲＡＭセルのハイ側電源ノードＮＭＴＪ０およびＮＭＴＪ１の電圧レベルが上昇する。可変磁気抵抗素子ＴＭＲ１の抵抗値は、可変磁気抵抗素子ＴＭＲ０の抵抗値よりも小さい状態であり、ハイ側電源ノードＮＭＴＪ１の電圧上昇は、ハイ側電源ノードＮＭＴＪ０の電圧上昇よりも速くなる。ストレージノードＮＭ０およびＮＭ１は、接地電圧レベルのＳＲＡＭビット線ＢＬおよびＢＬＣに結合されており、ハイ側電源ノードＮＭＴＪ０およびＮＭＴＪ１からＳＲＡＭビット線ＢＬおよびＢＬＣへ電流が流れる。可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の抵抗値が異なり、ＭＯＳトランジスタＰＴ０およびＰＴ１からＭＯＳトランジスタＮＴ２およびＮＴ３へ流れる電流量が異なり、これらのストレージノードＮＭ０およびＮＭ１に電位差が生じる。
【０１６９】
時刻ｔ４において、ＳＲＡＭワード線ＷＬを非選択状態のＬレベルに駆動し、ＭＯＳトランジスタＮＴ２およびＮＴ３を非導通状態に設定し、ＳＲＡＭビット線ＢＬおよびＢＬＣとストレージノードＮＭ０およびＮＭ１とを分離する。このとき、ＭＲＡＭビット線ＮＢＬ上の電圧は、電源電圧ＶＤＤレベルで安定化しており、ハイ側電源ノードＮＭＴＪ０およびＮＭＴＪ１の放電経路を遮断することにより、これらのハイ側電源ノードＮＭＴＪ０およびＮＭＴＪ１の電圧レベルが、電源電圧ＶＤＤレベルに上昇する。この電圧上昇に従って、インバータＩＶ０およびＩＶ１のラッチ回路によるラッチ動作により、ストレージノードＮＭ０およびＮＭ１の電位差が拡大され、ストレージノードＮＭ０およびＮＭ１が、それぞれＬレベルおよびＨレベルに駆動される。
【０１７０】
ストレージノードＮＭ０およびＮＭ１の電圧レベルが安定化すると、時刻ｔ５において、ＳＲＡＭライトドライバイネーブル信号／ＳＷＲＥＮが非活性化される。応じて、ＳＲＡＭライトドライバＳＷＲａおよびＳＷＲｂが非活性状態となる。時刻ｔ５以降において、ＳＲＡＭビット線ＢＬおよびＢＬＣの状態は任意であるが、図３０においては、それぞれＬレベルにプリチャージされる状態を一例として示すが、Ｈレベルにプリチャージされてもよい。また、内部書込データＷＤおよびＷＤＣも同様、Ｌレベルに維持される状態を一例として示すが、これらの内部書込データＷＤおよびＷＤＣの状態は、時刻ｔ５以後は、任意である。
【０１７１】
この図３０に示す信号波形図においても、データ読出時、ＳＲＡＭライトドライバＳＷＲａおよびＳＷＲｂを用いて、ＳＲＡＭセルのストレージノードＮＭ０およびＮＭ１に放電経路を形成して、読出動作をアシストしている。したがって、製造プロセスのバラツキにより、ＭＯＳトランジスタＰＴ０およびＰＴ１のしきい値電圧のバラツキが生じ、ストレージノードＮＭ０およびＮＭ１にオフセット電圧が発生して、それによって小さな磁気抵抗比を読み出しにくい場合においても、可変磁気抵抗素子ＴＭＲに定常電流を流して確実にストレージノードＮＭ０およびＮＭ１に電位差を発生させることにより、ＭＲＡＭからＳＲＡＭのデータ転送を安定に実行することができる。
【０１７２】
図３１は、この発明の実施の形態４に従う半導体装置の制御部の読出モードに関連する部分の構成を概略的に示す図である。この図３１に示す読出モード制御部は、図１に示す読出／書込制御回路３に含まれる。
【０１７３】
図３１において、読出モード制御部は、外部からの電源電圧ＶＤＤを受け、ＳＲＡＭ電源電圧ＳＶＤＤを生成するＳＲＡＭ電源回路１２０と、ＳＲＡＭ電源電圧ＳＶＤＤの投入に従ってワンショットパルスの形態で、電源投入検出信号ＺＰＯＲを生成するＳＲＡＭ電源投入検出回路１２１と、電源投入検出信号ＺＰＯＲと外部からのコマンドＣＭＤとに従って読出モード活性化信号ＲＥＮを生成する読出活性制御回路１２２を含む。
【０１７４】
ＳＲＡＭ電源回路１２０は、外部からの電源電圧ＶＤＤＥの電圧レベルの調整またはノイズ低減などの処理を行なってＳＲＡＭ電源電圧ＳＶＤＤを生成する。ＳＲＡＭ電源投入検出回路１２１は、ＳＲＡＭ電源電圧ＳＶＤＤが投入されてからＳＲＡＭ電源電圧ＳＶＤＤが安定化するまで、電源投入検出信号ＺＰＯＲをＬレベルに維持する。
【０１７５】
読出活性制御回路１２２は、ＳＲＡＭ電源電圧ＳＶＤＤを動作電源電圧として受け、電源投入検出信号ＺＰＯＲがＬレベルのときまたは外部からのコマンドＣＭＤが読出モードを指定するときに、読出モード活性化信号ＲＥＮを活性化する。
【０１７６】
読出モード制御部は、さらに、ＳＲＡＭワード線活性化信号ＷＬＥＮを生成するＳＲＡＭワード線活性制御回路１２３と、ＳＲＡＭライトドライバイネーブル信号／ＳＷＲＥＮを生成するＳＲＡＭライトドライバ活性制御回路１２４と、ＭＲＡＭビット線に伝達される電源電圧ＶＤＤを生成するＭＲＡＭ電源制御回路１２５を含む。
【０１７７】
ＳＲＡＭワード線活性制御回路１２３は、ＳＲＡＭ電源電圧ＳＶＤＤを動作電源電圧として受け、読出モード活性化信号ＲＥＮが活性化されると、所定期間ワード線活性化信号ＷＬＥＮを活性状態に駆動する。ＳＲＡＭライトドライバ活性制御回路１２４は、ＳＲＡＭ電源電圧ＳＶＤＤを動作電源電圧として受け、読出モード活性化信号ＲＥＮの活性化に従って、ＳＲＡＭライトドライバイネーブル信号／ＳＷＲＥＮをＬレベルの活性状態に維持し、ワード線活性化信号ＷＬＥＮが非活性化されると、所定のタイミングで、このＳＲＡＭライトドライバイネーブル信号／ＳＷＲＥＮを非活性状態のＨレベルに駆動する。
【０１７８】
ＭＲＡＭ電源制御回路１２５は、電源投入検出信号ＺＰＯＲの活性化時（Ｌレベル）とされると、ワード線活性化信号ＷＬＥＮの活性化（立上がり）に応答して、このＳＲＡＭ電源電圧ＳＶＤＤから電源電圧ＶＤＤを生成し、ＭＲＡＭビット線（ＭＢＬ）に伝達する。
【０１７９】
データ入力回路７においては、また入力データラッチ１３０が設けられる。この入力データラッチ１３０も、ＳＲＡＭ電源電圧ＳＶＤＤを動作電源電圧として受け、読出モード活性化信号ＲＥＮの活性化に従って、内部書込データＷＤおよびＷＤＣをともにＨレベルに駆動し、ワード線活性化信号ＷＬＥＮの非活性化に応答してこれらの内部書込データＷＤおよびＷＤＣをＬレベルに駆動する。
【０１８０】
図３２は、図３１に示す読出モード制御部の電源投入時の動作を示す信号波形図である。以下、図３２を参照して、この図３１に示す読出モード制御部の電源投入時の動作について説明する。
【０１８１】
外部からの電源電圧ＶＤＤＥが投入されると、その電圧レベルが上昇する。この外部電源電圧ＶＤＤＥの投入に従って、ＳＲＡＭ電源回路１２０からのＳＲＡＭ電源電圧ＳＶＤＤの電圧レベルが上昇する。このＳＲＡＭ電源電圧ＳＶＤＤの電圧上昇に従って、ＳＲＡＭ電源投入検出回路１２１は、電源投入検出信号ＺＰＯＲを所定期間Ｌレベルに維持する。ＳＲＡＭ電源電圧ＳＶＤＤの電圧上昇と電源投入検出信号ＺＰＯＲのＬレベルとに従って、読出活性制御回路１２２は、読出モード活性化信号ＲＥＮを所定期間Ｈレベルに駆動する。この読出モード活性化信号ＲＥＮの活性化に従って、ＳＲＡＭライトドライバ活性制御回路１２４は、ＳＲＡＭライトドライバイネーブル信号／ＳＷＲＥＮをＬレベルに維持する。
【０１８２】
一方、この読出モード活性化信号ＲＥＮの活性化に従って、入力データラッチ１３０は、内部書込データＷＤおよびＷＤＣをＨレベルへ駆動する。
【０１８３】
この内部書込データＷＤおよびＷＤＣがともにＨレベルに駆動された後のタイミングで、読出モード活性化信号ＲＥＮの活性化に従って、ＳＲＡＭワード線活性制御回路１２３が、ＳＲＡＭワード線活性化信号ＷＬＥＮを所定期間Ｈレベルの活性状態に維持する。
【０１８４】
次いで、このＳＲＡＭワード線活性化信号ＷＬＥＮの活性化に従って、入力データラッチ１３０は、内部書込データＷＤおよびＷＤＣをＬレベルに駆動する。ＭＲＡＭ電源制御回路１２５は、電源投入検出信号ＺＰＯＲが所定期間Ｌレベルに維持されると、ワード線活性化信号ＷＬＥが活性化された後、内部書込データＷＤおよびＷＤＣがともにＬレベルに駆動された後のタイミングで、ＳＲＡＭ電源電圧ＳＶＤＤから電源電圧ＶＤＤを生成して、ＭＲＡＭビット線（ＭＢＬ）上に伝達する。
【０１８５】
ＳＲＡＭワード線活性化信号ＷＬＥＮがＳＲＡＭワード線活性制御回路１２３によりＬレベルの非活性状態に駆動されると、ＳＲＡＭライトドライバ活性制御回路１２４は、ＳＲＡＭライトドライバイネーブル信号／ＳＷＲＥＮを非活性化する（Ｈレベルへ駆動する）。
【０１８６】
これにより、電源投入時、所定のシーケンスで各制御信号および内部信号を生成して、ＭＲＡＭセルの記憶データのＳＲＡＭセルへの転送（読出）を行なうことができる。
【０１８７】
なお、電源電圧ＶＤＤが投入された状態で、ＭＲＡＭセルからＳＲＡＭセルへのデータ転送を行なう場合には、図３３に示すように、外部からのコマンドＣＭＤに従って読出モード活性化信号ＲＥＮが活性化される。この場合には、電源投入検出信号ＺＰＯＲはＨレベルに固定されているため、ＭＲＡＭ電源制御回路１２５は、常時、対応のＭＲＡＭビット線（ＭＢＬ）へ電源電圧ＶＤＤを伝達した状態であり、したがって、ＭＲＡＭビット線上の電源電圧ＶＤＤは一定電圧レベルに維持される。
【０１８８】
この図３３に示す電源電圧ＶＤＤが投入された状態での読出モードにおいては、単に読出モード活性化信号ＲＥＮが、電源投入検出信号ＺＰＯＲのＬレベルに代えて、コマンドＣＭＤに従って生成されることを除いて、図３２に示す信号波形図での動作と同様の動作が行なわれる。
【０１８９】
図３４は、この発明の実施の形態４に従う半導体装置のＳＲＡＭセルに関連する部分の構成を概略的に示す図である。メモリセル／ゲートアレイ２においては、一例として、ＳＲＡＭビット線ＢＬ０，ＢＬＣ０−ＢＬ５，ＢＬＣ５とＳＲＡＭワード線ＷＬ０−ＷＬ７が配置される。このＳＲＡＭ線ＷＬとＳＲＡＭビット線対ＢＬ，ＢＬＣの交差部に対応してプログラム素子ＰＥが配置される。図３４においては、このプログラム素子ＰＥとして、ＳＲＡＭワード線ＷＬ６とＳＲＡＭビット線ＢＬ１，ＢＬＣ１の交差部に対応して配置されるプログラム素子を代表的に示す。このプログラム素子ＰＥの列（ＳＲＡＭビット線延在方向）に対応してデジット線ＤＬが配置され、また、プログラム素子ＰＥの行（ＳＲＡＭワード線延在方向）に対応してＭＲＡＭビット線ＭＢＬが配置される。
【０１９０】
ＳＲＡＭビット線ＢＬ０，ＢＬＣ０−ＢＬ５，ＢＬＣ５各々に対応してＳＲＡＭライトドライバＳＷＲが配置され、また、ＳＲＡＭワード線ＷＬ０−ＷＬ７それぞれに対応してＳＲＡＭワード線ドライバＸＤＲが設けられる。ＳＲＡＭライトドライバＳＷＲは、読出制御部１４２からのＳＲＡＭライトドライバイネーブル信号ＳＷＲＥＮの活性化に従ってデータ入力回路７に格納される対応のデータに従って対応のＳＲＡＭビット線を駆動する。このデータ入力回路７に対しては、読出制御部１４２から読出モード活性化信号ＲＥＮおよびワード線活性化信号ＷＬＥＮが与えられ、それぞれ内部に含まれるデータ入力ラッチ（図３１参照）が、それぞれ内部書込データを生成する。
【０１９１】
ＳＲＡＭワード線ドライバＸＤＲは、読出制御部１４２からのワード線活性化信号ＷＬＥＮの活性化に従って、デコード回路１４０からのワード線選択信号に従って対応のＳＲＡＭワード線を選択状態へ駆動する。このデコード回路１４０は、読出制御部１４２からのデコードイネーブル信号ＸＤＥＮおよびアドレス信号ＡＸを受け、デコードイネーブル信号ＸＤＥＮの活性化時、アドレス信号ＡＸをデコードして、１つのＳＲＡＭワード線を選択する。
【０１９２】
読出制御部１４２は、図３１に示す制御部の構成を含み、コマンドＣＭＤとして、チップセレクト信号ＣＳおよび書込指示信号ＷＲＴをクロック信号ＣＬＫに同期して受け、またアドレス信号Ａ＜  ＞を受け内部アドレス信号ＡＸ、デコードイネーブル信号ＸＤＥＮ、読出モード活性化信号ＲＥＮおよびワード線イネーブル信号ＷＬＥＮを生成する。
【０１９３】
なお、この図３４に示す構成において、以下のように、ＳＲＡＭセルへの読出が実行される。すなわち、プログラム素子ＰＥにおいてＭＲＡＭセルの格納するデータを対応のＳＲＡＭセルに転送する読出モード時、１つのＳＲＡＭワード線が選択状態へ駆動され（アドレス信号ＡＸに従って）、ＳＲＡＭライトドライバＳＷＲにより、各ビット線ＢＬ０，ＢＬＣ０−ＢＬ５，ＢＬＣ５の電圧レベルを調整して、読出アシストを行なってデータの書込読出（ＳＲＡＭのロード）を実行する。この読出モード時、読出制御部１４２においては、外部からのアドレスＡ＜  ＞に代えて、内部に含まれるカウンタを用いて、アドレス信号ＡＸを順じＳＲＡＭワード線ＷＬ０−ＷＬ７を選択するように生成されればよい。
【０１９４】
なお、これに代えて、ＭＲＡＭセルからＳＲＡＭセルへのデータの転送を行う読出モード時には、読出制御部１４２は、アドレス信号ＡＸを全ワード線指定状態に設定し、各プログラム素子ＰＥにおいて、並行してＳＲＡＭセルに対して対応のＭＲＡＭセルの記憶データの転送が実行されてもよい。
【０１９５】
また、ＳＲＡＭライトドライバＳＷＲへは、ＳＲＡＭライトドライバイネーブル信号ＳＷＲＥＮが与えられているが、これは、補のＳＲＡＭライトドライバイネーブル信号／ＳＷＲＥＮが与えられてもよい。
【０１９６】
［ＳＲＡＭ周辺回路の変更例］
図３５は、この発明の実施の形態４に従う半導体装置のＳＲＡＭ周辺回路の変更例を概略的に示す図である。メモリセル／ゲートアレイ２の構成は、図３４に示す構成と同様であり、対応する部分には同一番号を付し、その詳細説明は省略する。
【０１９７】
この図３５に示す構成においては、ＳＲＡＭライトドライバＳＷＲそれぞれに対応して、２入力ＡＮＤゲートＡＧが設けられる。ＡＮＤゲートＡＧは、第１の入力に、読出制御部１４２Ａからのビット線電位制御信号ＭＲＹを受け、第２の入力にデータ入力回路７Ａからの対応の内部データを受ける。このビット線電位制御信号ＭＲＹは、読出モード活性化信号ＲＥＮとワード線活性化信号ＷＬＥＮに基づいて生成され、図３２および図３３に示すように、内部書込データＷＤおよびＷＤＣを形成するようなタイミングで生成される。
【０１９８】
データ入力回路７Ａは、読出制御部１４２Ａから読出モード活性化信号ＲＥＮの活性化に従って、その内部データをすべてＨレベルに設定する。ＳＲＡＭライトドライバＳＷＲは、読出制御部１４２ＡからのＳＲＡＭライトドライバイネーブル信号ＳＷＲＥＮに従って活性化される。
【０１９９】
ＳＲＡＭワード線ＷＬ０−ＷＬ７それぞれに対応して、ＳＲＡＭワード線ドライバＸＤＲＡが設けられる。このＳＲＡＭワード線ドライバＸＤＲＡは、与えられた信号に従って対応のＳＲＡＭワード線を選択／非選択状態に駆動する。このＳＲＡＭワード線ドライバＸＤＲＡそれぞれに対応して、２入力ＯＲゲートＯＧが設けられる。このＯＲゲートＯＧは、第１の入力にデコード回路１４０からのワード線選択信号を受け、第２の入力に読出制御部１４２ＡからのＳＲＡＭワード線選択タイミング信号ＭＲＸを受ける。このＳＲＡＭワード線選択タイミング信号ＭＲＸは、ワード線活性化信号ＷＬＥＮと等価な信号である。
【０２００】
読出制御部１４２Ａは、図３４に示す構成と同様、クロック信号ＣＬＫに同期してコマンドとしてチップ選択信号ＣＳおよび書込指示信号ＷＲＴとアドレス信号Ａ＜  ＞を受け、かつ読出モード指示信号ＭＲＭＯＤを受ける。この読出モード指示信号ＭＲＭＯＤの活性化時、読出制御部１４２Ａは、ワード線選択タイミング信号ＭＲＸを選択状態へ駆動し、また、ビット線電位制御信号ＭＲＹを所定のタイミングで選択状態へ駆動する。
【０２０１】
この図３５に示す構成の場合、プログラム素子ＰＥにおいてＭＲＡＭセルからＳＲＡＭセルへのデータ転送を行なう読出モード時、読出モード指示信号ＭＲＭＯＤが活性化され、読出制御部１４２Ａは、ワード線選択タイミング信号ＭＲＸおよびビット線電位制御信号ＭＲＹをそれぞれ所定のタイミングで選択状態へ駆動する。この後、ビット線電位制御信号ＭＲＹは、ＳＲＡＭワード線が選択状態に維持された状態で、Ｌレベルに駆動される。
【０２０２】
したがって、ビット線ＢＬ０，ＢＬＣ０−ＢＬ５，ＢＬＣ５が並行して駆動され、また、ＳＲＡＭワード線ＷＬ０−ＷＬ７が、並行して選択状態へ駆動される。したがって、メモリセル／ゲートアレイ２において、プログラム素子ＰＥのＭＲＡＭセルの記憶データのＳＲＡＭセルへの転送が、各プログラム素子ＰＥにおいて並行して実行される。
【０２０３】
なお、図３５に示す構成において、所定数のワード線たとえばワード線ＷＬ０−ＷＬ３の組のプログラム素子においてデータ転送が行なわれ、また、続いてワード線ＷＬ４−ＷＬ７の組のプログラム素子のデータ転送が行なわれてもよい。
【０２０４】
また、通常のテストモード時等においてＳＲＡＭセルへのデータの書込を行なうモード時においては、ビット線電位制御信号ＭＲＹはＨレベルに維持され、また、ワード線選択タイミング信号ＭＲＸはＬレベルに維持される。これにより、アドレス信号Ａ＜  ＞で指定するプログラム素子ＰＥに対し所望の論理値のデータの書込を行なって、ＳＲＡＭセルの良／不良のテストなどを行なうことができる。
【０２０５】
また、上述の構成においては、ＭＲＡＭビット線ＭＢＬが、ＳＲＡＭ電源線としても利用されている。しかしながら、実施の形態２と同様、ＭＲＡＭビット線とＳＲＡＭ電源線とが別々に設けられる構成であってもよく、また実施の形態３と同様、ＳＲＡＭセルのトランジスタのバックゲートバイアスをフォワードバイアス状態に設定する構成が組合せて用いられてもよい。
【０２０６】
以上のように、この発明の実施の形態４に従えば、データ読出アシスト回路を設けており、ＳＲＡＭセルへの電源供給中においても、ＭＲＡＭセルからＳＲＡＭセルに対してデータの読出を行なってその記憶データを更新することができる。また、この読出アシストとしてビット線電位を利用しており、ＭＲＡＭセルからＳＲＡＭセルへの複数ビットについて並列にデータ転送を行なうことができる。また、ＳＲＡＭセルのワード線単位でデータ転送を行なうことにより、データのＭＲＡＭからＳＲＡＭセルへの転送時の消費電流を低減することが可能となる。
【０２０７】
また、読出アシスト回路を設けており、ＳＲＡＭセル電源電圧を遮断状態から立上げてＭＲＡＭセルからＳＲＡＭセルへのデータ転送を行なう構成に比べて、より大きな動作マージンでデータ転送を行なうことができる。
【０２０８】
［実施の形態５］
図３６は、この発明の実施の形態５に従う半導体装置の要部の構成を概略的に示す図である。この図３６に示す構成は、以下の点で、図２８に示す構成と異なる。すなわち、ＳＲＡＭビット線ＢＬおよびＢＬＣに対し、ＳＲＡＭライトドライバＳＷＲｃおよびＳＷＲｄがそれぞれ設けられ、また、これらのＳＲＡＭライトドライバＳＷＲｃおよびＳＷＲｄと並列に、負荷トランジスタＬＤ０およびＬＤ１がそれぞれ設けられる。
【０２０９】
ＳＲＡＭライトドライバＳＷＲｃおよびＳＷＲｄは、ライトドライバ活性化信号ＥＮＳＲの活性化に従って、ＳＲＡＭビット線ＢＬおよびＢＬｃを、それぞれ接地電圧（Ｌレベル）に駆動する。負荷トランジスタＬＤ０およびＬＤ１は、それぞれ読出モード時、バイアス電圧Ｖｂｉａｓを受け、ＳＲＡＭビット線ＢＬおよびＢＬＣから電流Ｉ（ＢＬ）およびＩ（ＢＬＣ）をそれぞれ放電する。
【０２１０】
図３６に示すプログラム素子ＰＥの構成は、図２８に示すプログラム素子ＰＥの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０２１１】
図３７は、図３６に示す配置のデータ読出モード時の動作を示す信号波形図である。以下、図３７を参照して、図３６に示すプログラム素子ＰＥの読出モード時の動作について説明する。
【０２１２】
時刻ｔ１０において、読出モードが指定され、読出モード活性化信号ＲＥＮが活性化される。読出モード活性化信号ＲＥＮの活性化に従って、時刻ｔ１１において、ライトドライバ活性化信号ＥＮＳＲが活性化され、ＳＲＡＭライトドライバＳＷＲｃおよびＳＷＲｄが、それぞれ内部書込データＷＤおよびＷＤＣに従って、ＳＲＡＭビット線ＢＬおよびＢＬＣを接地電圧レベルに駆動する。この状態においては、ＳＲＡＭワード線ＷＬは、非選択状態にあるため、プログラム素子ＰＥのストレージノードＮＭ０およびＮＭ１の電圧レベルおよびハイ側電源ノードＮＭＴＪ０およびＮＭＴＪ１の電圧レベルは変化しない。
【０２１３】
時刻ｔ１２において、ＳＲＡＭワード線ＷＬを選択状態（Ｈレベル）へ駆動する。応じて、ストレージノードＮＭ０およびＮＭ１が、ＳＲＡＭビット線ＢＬおよびＢＬＣに結合され、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１からそれぞれ電流Ｉ（ＢＬ）およびＩ（ＢＬＣ）が、流れる。今、ストレージノードＮＭ１がＬレベル、ストレージノードＮＭ０がＨレベルであるとする。この場合、ハイ側電源ノードＮＭＴＪ０およびＮＭＴＪ１、ならびにストレージノードＮＭ０およびＮＭ１の電圧レベルは、可変磁気抵抗素子ＴＭＲ０、ＴＭＲ１の抵抗値、ＭＯＳトランジスタＰＴ０、ＰＴ１およびＮＴ２、ＮＴ３とＳＲＡＭライトドライバＳＷＲｃ、ＳＷＲｄに含まれる放電用のＭＯＳトランジスタのオン抵抗の比により決定される電圧レベルまで遷移する。
【０２１４】
時刻ｔ１３において、負荷トランジスタＬＤ０およびＬＤ１のゲートに与えられるバイアス電圧Ｖｂｉａｓ所定の電圧Ｖ０の電圧レベルに設定した状態で、レベルのライトドライバ活性化信号ＥＮＳＲを非活性化し、ＳＲＡＭライトドライバＳＷＲｃおよびＳＷＲｄを出力ハイインピーダンス状態に設定する。
【０２１５】
このとき、バイアス電圧Ｖｂｉａｓの電圧レベルＶ０は、負荷トランジスタＬＤ０およびＬＤ１が、電流Ｉ（ＢＬ）および電流Ｉ（ＢＬＣ）に対して十分ゲインが大きくなる電圧レベル、すなわちこれらの負荷トランジスタＬＤ０およびＬＤ１を飽和領域で動作させ、負荷トランジスタＬＤ０およびＬＤ１を増幅装置として動作させる電圧レベルに設定される。
【０２１６】
可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の抵抗値の差により、ビット線ＢＬを流れる電流量Ｉ（ＢＬ）とビット線ＢＬＣを流れる電流Ｉ（ＢＬＣ）に差が生じる。そして、このビット線電流Ｉ（ＢＬ）およびＩ（ＢＬＣ）の差が、負荷トランジスタＬＤ０およびＬＤ１で増幅されて、ビット線電圧Ｖ（ＢＬ）およびＶ（ＢＬＣ）の差として出力される。例えば、可変磁気抵抗素子ＴＭＲ０が、可変磁気抵抗素子ＴＭＲ１よりも高抵抗の場合には、ビット線ＢＬを流れる電流Ｉ（ＢＬ）が、ビット線ＢＬＣを流れる電流Ｉ（ＢＬＣ）よりも小さくなる。この状態においては、ＳＲＡＭビット線ＢＬの電圧Ｖ（ＢＬ）は、ＳＲＡＭビット線ＢＬＣの電圧Ｖ（ＢＬＣ）よりも低い電圧レベルとなる。
【０２１７】
ＳＲＡＭビット線ＢＬおよびＢＬＣに十分な電圧差が拡大され、応じて、ストレージノードＮＭ０およびＮＭ１の電位差が十分に拡大すると、時刻ｔ１４において、ＳＲＡＭワード線ＷＬを非選択状態に駆動する。応じて、ストレージノードＮＭ０およびＮＭ１の電位が、インバータＩＶ０およびＩＶ１のラッチ力で拡大され、ストレージノードＮＭ０およびＮＭ１が、それぞれＬレベルおよびＨレベルに駆動されてラッチされる。
【０２１８】
このデータの読出が完了した後、時刻ｔ１５においてバイアス電圧Ｖｂｉａｓを、接地電圧レベルに駆動し、負荷トランジスタＬＤ０およびＬＤ１を非導通状態に設定する。
【０２１９】
負荷トランジスタＬＤ０およびＬＤ１により、ＳＲＡＭセルへのＭＲＭセルからのデータの読出時にストレージノードＮＭ０およびＮＭ１の電位変化のアシストをする（電流駆動量の差をさらに大きくする）ことにより、ＳＲＡＭセルのトランジスタ特性がばらつき、オフセット電圧が存在する場合においても、正確にデータの読出を行なって、ストレージノードＮＭ０およびＮＭ１を、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の抵抗状態に応じた電圧レベルに設定することができる。
【０２２０】
また、負荷トランジスタＬＤ０およびＬＤ１は、それぞれ、ＳＲＡＭビット線ＢＬおよびＢＬＣの端部に設けられかまたは中央部に設けられる。
【０２２１】
図３８は、この発明の実施の形態５に従う半導体装置の読出／制御回路（３）に含まれる読出モードに関連する部分の構成を概略的に示す図である。図３８において、読出モード制御部は、読出モード活性化信号ＲＥＮを生成する読出活性制御回路１４３と、ＳＲＡＭライトドライバ活性化信号ＥＮＳＲを生成するＳＲＡＭライトドライバ活性制御回路１４４と、ＳＲＡＭワード線活性化信号ＷＬＥＮを生成するＳＲＡＭワード線活性制御回路１４５と、バイアス電圧Ｖｂｉａｓを生成するバイアス生成回路１４６を含む。
【０２２２】
読出活性制御回路１４３は、与えられたコマンドＣＭＤが読出モードを指定するときに、ワンショットパルスの形態で、読出モード活性化信号ＲＥＮを活性化する。ＳＲＡＭライトドライバ活性制御回路１４４は、この読出モード活性化信号ＲＥＮの活性化に従ってＳＲＡＭライトドライバ活性化信号ＥＮＳＲを活性化し、ＳＲＡＭワード線活性化信号ＷＬＥＮの活性化に従って、所定期間経過後に、このＳＲＡＭライトドライバ活性化信号ＥＮＳＲを非活性化する。
【０２２３】
ＳＲＡＭワード線活性制御回路１４５は、ＳＲＡＭライトドライバ活性化信号ＥＮＳＲの活性化に従って所定期間経過後、ＳＲＡＭワード線活性化信号ＷＬＥＮを活性化し、ＳＲＡＭライトドライバ活性化信号ＥＮＳＲの非活性化に従って、所定期間経過後に、ＳＲＡＭワード線活性化信号ＷＬＥＮを非活性化する。
【０２２４】
バイアス電圧生成回路１４６は、所定のレベルの電圧Ｖ０を生成するバイアス電圧発生回路１４７と、所定電圧Ｖ０と接地電圧の一方を選択してバイアス電圧Ｖｂｉａｓを生成する選択回路１４９を含む。バイアス電圧発生回路１４７は、常時、所定レベルの電圧Ｖ０を生成する。このバイアス電圧発生回路１４７は、たとえば、通常の定電圧発生回路を用いて構成される。選択回路１４９は、ＳＲＡＭライトドライバ活性化信号ＥＮＳＲの非活性化に従って所定電圧Ｖ０を選択し、ワード線活性化信号ＷＬＥＮの非活性化に応答して接地電圧を選択する。
【０２２５】
入力データラッチ１３０は、図１に示すデータ入力回路に含まれ、実施の形態４と同様、読出モード活性化信号ＲＥＮの活性化に従って、内部書込データＷＤおよびＷＤＣを接地電圧レベルに駆動し、ＳＲＡＭワード線活性化信号ＷＬＥＮの非活性化に従って、内部書込データＷＤおよびＷＤＣを、所定レベルの初期電圧レベルに設定する。
【０２２６】
この図３８に示す読出制御部の動作は、図３７に示す対応の信号波形により示すことができる。
【０２２７】
なお、この発明の実施の形態５においても、ＭＲＡＭビット線とＳＲＡＭ電源線と別々に設ける実施の形態２の構成、およびＳＲＡＭセルのトランジスタのバックゲートバイアスをフォワードバイアスに設定する実施の形態３の構成と組合せて用いられてもよい。
【０２２８】
以上のように、この発明の実施の形態５に従えば、ＳＲＡＭセルのストレージノードを接地ノードに結合して、可変磁気抵抗素子を介して電流を流した状態で、ライトドライバを出力ハイインピーダンス状態に設定して、負荷トランジスタを介してストレージノードからビット線電流を放電している。したがって、ＳＲＡＭセルへ電源電圧を供給した状態で、ＭＲＡＭセルからＳＲＡＭセルへのデータの読出を行なうことができる。
【０２２９】
また、負荷トランジスタのビット線を介してストレージノードから電流を放電することにより、ＳＲＡＭセルのトランジスタの特性のばらつきが存在する場合においても、正確にＭＲＡＭセルからＳＲＡＭセルにデータを読出すことができる。
【０２３０】
また、負荷トランジスタにより、ビット線に電圧振幅を生じさせており、より大きな読出マージンを得ることができ、確実に、ＳＲＡＭセルへＭＲＡＭセルの記憶データを読出して格納することができる。
【０２３１】
［実施の形態６］
図３９は、この発明の実施の形態６に従うプログラム素子ＰＥの構成を概略的に示す図である。この図３９に示すプログラム素子ＰＥにおいては、可変磁気抵抗素子ＴＭＲ１０およびＴＭＲ１１が、それぞれ、ＭＯＳトランジスタＮＴ２およびＮＴ３のゲートとＳＲＡＭワード線（ＭＲＡＭビット線）ＭＢＬの間に結合される。
【０２３２】
可変磁気抵抗素子ＴＭＲ１０およびＴＭＲ１１は、スピン注入型素子である。したがって、可変磁気抵抗素子ＴＭＲ１０およびＴＭＲ１１に対しては、データ書込時、書込データの論理値に応じた方向に電流を流す必要がある。このため、プログラム素子ＰＥにおいてさらに、ＭＯＳトランジスタＮＴ２およびＮＴ３のゲートと補のＭＲＡＭビット線ＭＢＬＣとの間に、ＮチャネルＭＯＳトランジスタＮＴ１０およびＮＴ１１がそれぞれ接続される。これらのＭＯＳトランジスタＮＴ１０およびＮＴ１１のゲートは、それぞれ、ＭＲＡＭワード線ＭＷＬ０およびＭＷＬ１に結合される。
【０２３３】
ＳＲＡＭビット線ＢＬおよびＢＬＣに対しては、ＳＲＡＭライトドライバＳＷＲｅおよびＳＷＲｆが設けられる。これらのＳＲＡＭビット線ドライバＳＷＲｅおよびＳＷＲｆは、ＳＲＡＭライトドライバ活性化信号／ＳＷＲＡＣＴに従って活性化され、ＭＲＡＭセルデータのＳＲＡＭセルへの読出時のデータ転送をアシストする。
【０２３４】
なお、これらのＳＲＡＭライトドライバＳＷＲｅおよびＳＷＲｆは、スタティックに動作するように構成され、データ読出モード時、内部書込データＷＤおよびＷＤＣが、接地電圧レベルのＬレベルに設定されてもよい。
【０２３５】
図４０は、図３９に示すプログラム素子ＰＥの可変磁気抵抗素子ＴＭＲ１０およびＴＭＲ１１の書込に関連する部分の構成を概略的に示す図である。図４０において、ＭＲＡＭビット線ＭＢＬおよびＭＢＬＣそれぞれに対応して、ドライブ回路１５２ａおよび１５２ｂが設けられる。ドライブ回路１５２ａおよび１５２ｂに共通にデコード回路１５０が設けられる。デコード回路１５０は、書込モード活性化信号ＷＥＮの活性化時アドレス信号ＡＤＸをデコードし、そのデコード結果に応じた信号を生成する。
【０２３６】
ドライブ回路１５２ａは、内部書込データＤとデコード回路１５０の出力信号Ｘｉとを受け、書込タイミング信号ＷＸＴに従って、ＭＲＡＭビット線ＭＢＬを駆動する。ドライブ回路１５２ｂは、補の書込データＤＺとデコード回路１５０の出力信号Ｘｉとを受け、書込タイミング信号ＷＸＴに従ってＭＲＡＭビット線ＭＢＬＣを駆動する。ドライブ回路１５２ａおよび１５２ｂは、デコード回路１５０の出力信号Ｘｉが対応のＭＲＡＭビット線ＭＢＬおよびＭＢＬＣを指定しているとき活性化され、書込タイミング信号ＷＸＴのタイミングで、内部書込データＤおよびＤＺに従って相補的にこれらのＭＲＡＭビット線ＭＢＬおよびＭＢＬＣを駆動する。
【０２３７】
ドライブ回路１５２ａおよび１５２ｂは、各々、その出力段に充電用トランジスタおよび放電用トランジスタを有しており、与えられたデータＤおよびＤＺに応じた電圧レベルに、対応のＭＲＡＭビット線ＭＢＬおよびＭＢＬＣを駆動する。内部書込データＤおよびＤＺは、データ書込毎に、互いに相補な論理値に設定され得る。したがって、ドライブ回路１５２ａおよび１５２ｂの一方が、電流を供給し、他方が、電流を放電する。これにより、可変磁気抵抗素子ＴＭＲ１０およびＴＭＲ１１に対して、双方向に電流を供給することができる。
【０２３８】
ＭＲＡＭワード線ＭＷＬ０に対応して、デコード回路１５５ａおよびドライブ回路１５７ａが設けられ、ＭＲＡＭワード線ＭＷＬ１に対して、デコード回路１５５ｂおよびドライブ回路１５７ｂが設けられる。デコード回路１５５ａおよび１５５ｂは、書込モード活性化信号ＷＥＮの活性化時、与えられたアドレス信号ＡＤＹをデコードし、それぞれ、そのデコード結果を示す信号ＹｉおよびＹｊを生成する。
【０２３９】
ドライブ回路１５７ａおよび１５７ｂは、それぞれデコード回路１５５ａおよび１５５ｂの出力信号ＹｉおよびＹｊに従って、書込タイミング信号ＷＹＴが規定するタイミングで、ＭＲＡＭワード線ＭＷＬ０およびＭＷＬ１を選択状態へ駆動する。アドレス信号ＡＤＹが、ＭＲＡＭワード線ＭＷＬ０を指定している場合には、デコード回路１５５ａの出力する信号Ｙｉが選択状態に駆動され、デコード回路１５５ｂからの信号Ｙｊは、非選択状態に維持される。この場合、書込タイミング信号ＷＹＴが活性化されると、ドライブ回路１５７ａが、ＭＲＡＭワード線ＭＷＬ０を選択状態（Ｈレベル）へ駆動し、ドライブ回路１５７ｂは、ＭＲＡＭワード線ＭＷＬ１を非選択状態に維持する。この状態において、ＭＯＳトランジスタＮＴ１０がオン状態となり、ＭＲＡＭビット線ＭＢＬおよびＭＢＬＣが可変磁気抵抗素子ＴＭＲ１０を介して電気的に結合される。
【０２４０】
データ書込時において、ドライブ回路１５２ａおよび１５２ｂにより、電流の充電および放電が行なわれる。したがって、可変磁気抵抗素子ＴＭＲ１０を介して、書込データＤの論理値に従って、ＭＲＡＭビット線ＭＢＬおよびＭＢＬＣに対して双方向に電流を駆動することができ、可変磁気抵抗素子ＴＭＲ１０の抵抗値を書込データＤの論理値に応じた状態に設定することができる。
【０２４１】
この図４０に示す構成の場合、ＭＲＡＭビット線ＭＢＬおよびＭＢＬＣに対し書込データに応じて双方向に電流を駆動する必要があり、可変磁気抵抗素子ＴＭＲ１０およびＴＭＲ１１に対しシーケンシャルにデータの書込が実行される。
【０２４２】
図４１は、図４０に示すＭＲＡＭセルへのデータ書込に関連する制御信号を発生する部分の構成の一例を概略的に示す図である。このＭＲＡＭセルに対する制御信号を発生する部分は、図１に示す書込／読出制御回路３に含まれる。
【０２４３】
図４１において、ＭＲＡＭ書込制御部は、書込モード活性化信号ＷＥＮを生成する書込活性制御回路１６０と、書込タイミング信号ＷＸＴおよびＷＹＴを生成する書込／読出タイミング制御回路１６２と、内部アドレス信号ＡＤＸおよびＡＤＹを生成するアドレス入力回路１６４を含む。
【０２４４】
書込活性制御回路１６０は、コマンドＣＭＤが、ＭＲＡＭセルへのデータ書込を示すプログラムモードを指示するときには、書込モード活性化信号ＷＥＮを所定のタイミングで活性状態へ駆動する。書込／読出タイミング制御回路１６２は、書込モード活性化信号ＷＥＮの活性化に従って、所定のタイミング関係で、書込タイミング信号ＷＸＴおよびＷＹＴを生成する。アドレス入力回路１６４は、書込モード活性化信号ＷＥＮの活性化に従って、外部からのアドレス信号ＡＤを取込み、内部アドレス信号ＡＤＸおよびＡＤＹを生成する。
【０２４５】
内部書込データＤおよびＤＺは、書込データラッチ１６６により生成される。この書込データラッチ１６６は、入力データＤｉｎを受け、書込モード活性化信号ＷＥＮの活性化に従って、入力データＤｉｎから、相補書込データＤおよびＤＺを生成する。
【０２４６】
なお、ＭＲＡＭセルへのデータ書込時、図４０に示すデコード回路１５０へ与えられるアドレス信号ＡＤＸは、すべて選択状態に設定されてもよい。この場合、書込データラッチ１６６においては、ＭＲＡＭビット線ＭＢＬおよびＭＢＬＣの各対それぞれに対応してラッチ回路が設けられ、たとえばシフトイン動作により、各ＭＲＡＭビット線対毎にデータのラッチが行なわれる。この後、書込データに従って、書込タイミング制御回路１６２からの書込タイミング信号ＷＸＴおよびＷＹＴに従ってＭＲＡＭセルへのデータの書込が行なわれる。この場合、１つのＭＲＡＭワード線ＭＷＬに接続されるプログラム素子に対し並列にデータの書込が実行される。したがって、ＭＲＡＭワード線ＭＷＬを選択するアドレスＡＤＹは、たとえばカウンタにより生成され、各書込サイクル毎に更新され、各書込サイクルにおいて、１つのＭＲＡＭワード線に接続されるプログラム素子ＰＥに対する並列データ書込が実行されてもよい。
【０２４７】
なお、可変磁気抵抗素子ＴＭＲ１０およびＴＭＲ１１へは、これまでの実施の形態１から４と同様、互いに相補なデータが書込まれる。
【０２４８】
図４２は、図３９に示すプログラム素子ＰＥのＭＲＡＭセルの記憶データをＳＲＡＭセルへのデータ転送を行う読出モード時の動作を示す信号波形図である。以下、図４２を参照して、この図３９に示すプログラム素子の読出モード時の動作について説明する。なお、この読出モード時においては、ＳＲＡＭ電源電圧ＶＤＤＳは、常時ＳＲＡＭセルに供給される。
【０２４９】
時刻ｔ２０において、データの読出モードが指定される。応じて、読出モード活性化信号ＲＥＮが活性化される。この読出モード活性化信号ＲＥＮの活性化に従って、図４１に示す書込データラッチ１６６が、すべて、ＭＲＡＭビット線ＭＢＬをＨレベル、補のＭＲＡＭビット線ＭＢＬＣを接地電圧レベルに駆動する状態に設定される。この読出モード活性化信号ＲＥＮの活性化に従って、ＳＲＡＭライトドライバＳＷＲｅおよびＳＷＲｆは、Ｌレベルの信号を出力し、ＳＲＡＭビット線ＢＬおよびＢＬＣを、接地電圧レベルに維持する。
【０２５０】
時刻ｔ２１において、書込タイミング信号ＷＸＴに従って、ＳＲＡＭワード線（ＭＲＡＭビット線）ＭＢＬがＨレベルに駆動される。可変磁気抵抗素子ＴＭＲ１０およびＴＭＲ１１は、一方が高抵抗状態、他方が低抵抗状態である。今、可変磁気抵抗素子ＴＭＲ１１が低抵抗状態であるとする。ＭＲＡＭビット線ＭＢＬの電圧レベルが上昇すると、内部のＭＯＳトランジスタＮＴ２およびＮＴ３のゲートＩＷＬ０およびＩＷＬ１の電圧レベルが、ＳＲＡＭ電源電圧ＶＤＤＳレベルに駆動される。
【０２５１】
内部ノードＩＷＬ０およびＩＷＬ１の電圧レベルがＨレベルに駆動されると、ＭＯＳトランジスタＮＴ２およびＮＴ３が導通し、ストレージノードＮＭ０およびＮＭ１がそれぞれＬレベルのＳＲＡＭビット線ＢＬおよびＢＬＣに電気的に結合される。応じて、ストレージノードＮＭ０およびＮＭ１の電圧レベルが低下する。最終的に、ＭＯＳトランジスタＰＴ０およびＰＴ１のオン抵抗と、ＭＯＳトランジスタＮＴ２およびＮＴ３のオン抵抗およびＳＲＡＭライトドライバＳＷＲｅおよびＳＷＲｆの放電用のトランジスタのオン抵抗に従って決定される電圧レベルにまで、これらのストレージノードＮＭ０およびＮＭ１の電圧レベルが低下する。
【０２５２】
時刻ｔ２２において、ＭＲＡＭワード線ＭＷＬ０およびＭＷＬ１を選択状態へ駆動し、ＭＯＳトランジスタＮＴ１０およびＮＴ１１をオン状態に駆動する。ＭＲＡＭビット線ＭＢＬＣは、Ｌレベル（接地電圧レベル）に維持される。したがって、内部ノードＩＷＬ０およびＩＷＬ１それぞれから、ＭＯＳトランジスタＮＴ１０およびＮＴ１１を介してＭＲＡＭビット線ＭＢＬＣへ電流が流れる。この流れる電流量は、可変磁気抵抗素子ＴＭＲ１０およびＴＭＲ１１の抵抗値に応じて異なる。今、可変磁気抵抗素子ＴＭＲ１１の抵抗値が低いため、内部ノードＩＷＬ１の電位降下量は小さく、内部ノードＩＷＬ０の電位降下量は大きくなる。
【０２５３】
応じて、ＭＯＳトランジスタＮＴ２のコンダクタンスは、ＭＯＳトランジスタＮＴ３のコンタクタンスよりも小さくなる。ＭＯＳトランジスタＮＴ２およびＮＴ３のコンダクタンスに従って、ストレージノードＮＭ０およびＮＭ１の電位レベルに差が生じる。
【０２５４】
時刻ｔ２３において、ＭＲＡＭワード線ＭＷＬ０およびＭＷＬ１を非選択状態へ駆動し、また、ＳＲＡＭワード線（ＭＲＡＭビット線）ＭＢＬを、接地電圧レベルに駆動する。これにより、ＭＯＳトランジスタＮＴ２およびＮＴ３が非導通状態となり、ストレージノードＮＭ０およびＮＭ１の電圧レベルが確定し、インバータＩＶ０およびＩＶ１により、可変磁気抵抗素子ＴＭＲ１０およびＴＭＲ１１の抵抗値に応じた状態に設定されて維持される。
【０２５５】
なお、内部ノードＩＷＬ０およびＩＷＬ１の電圧レベルは、ＭＲＡＭビット線ＭＢＬＣおよびＭＢＬの電圧レベルの調整に応じて変更することができる（図４２において、それぞれ接地電圧レベルおよび電源電圧ＶＤＤＳレベル）。従って、この読出モード時において、ＭＲＡＭビット線ＭＢＬの電圧レベルは、電源電圧レベルであることは、特に要求されない。
【０２５６】
以上のようにして、ＳＲＡＭセルに対する電源電圧ＶＤＤＳを供給した状態で、可変磁気抵抗素子ＴＭＲ１０およびＴＭＲ１１の格納データ（ＭＲＡＭセルの記憶データ）を、ＳＲＡＭセルのストレージノードＮＭ０およびＮＭ１へ転送することができる。
【０２５７】
なお、図４２に示すタイミング制御は、図４１に示す制御部を利用して実行される。
［読出モードの変更例］
図４３は、この発明の実施の形態６の読出モードの変更例の動作を示す信号波形図である。以下、図４３を参照して、この発明の実施の形態６に従う半導体装置の読出モードの変更例の動作について説明する。
【０２５８】
時刻ｔ３０において、読出モードが指定され読出モード活性化信号ＲＥＮが活性化される。このとき、ＳＲＡＭ電源電圧ＶＤＤＳは、非投入状態であり、接地電圧レベルである。応じて、ストレージノードＮＭ０およびＮＭ１も、接地電圧レベルである。
【０２５９】
読出モード活性化信号ＲＥＮの活性化に従って、ＳＲＡＭライトドライバＳＷＲｅおよびＳＷＲｆにより、ビット線ＢＬおよびＢＬＣが接地電圧レベルに駆動される。
【０２６０】
時刻ｔ３１において、読出モード活性化信号ＲＥＮの活性化に従って、ＭＲＡＭビット線ＭＢＬが選択状態へ駆動される。応じて、内部ノードＩＷＬ０およびＩＷＬ１の電圧レベルが、たとえば電源電圧レベルの所定の電圧レベルに上昇する。ＭＲＡＭビット線ＭＢＬＣは、接地電圧レベルに維持される。
【０２６１】
時刻ｔ３２において、ＭＲＡＭワード線ＭＷＬ０およびＭＷＬ１が選択状態へ駆動される。応じて、内部ノードＩＷＬ０およびＩＷＬ１が補のＭＲＡＭビット線ＭＢＬＣに結合され、可変磁気抵抗素子ＴＭＲ１０およびＴＭＲ１１の抵抗値に応じた電流が、内部ノードＩＷＬ０およびＩＷＬ１から補のＭＲＡＭビット線ＭＢＬＣへ流れ、その電圧レベルが低下する。今、可変磁気抵抗素子ＴＭＲ１１が低抵抗状態であるとする。この場合、内部ノードＩＷＬ１の電位降下量は、内部ノードＩＷＬ０の電位降下量よりも小さい。
【０２６２】
これらの抵抗値に応じて、内部ノードＩＷＬ１およびＩＷＬ０の電位差が拡大されて、その差が確定状態となる。この内部ノードＩＷＬ０およびＩＷＬ１の電位は、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の抵抗値とＭＯＳトランジスタＮＴ１０およびＮＴ１１のオン抵抗の比に応じて決定される。
【０２６３】
内部ノードＩＷＬ０およびＩＷＬ１の電位が確定すると、時刻ｔ３３において、ＳＲＡＭ電源電圧ＶＤＤＳが供給される。内部ノードＩＷＬ０およびＩＷＬ１の電圧レベルに応じてＭＯＳトランジスタＮＴ２およびＮＴ３のコンダクタンスが異なり、ストレージノードＮＭ０およびＮＭ１の電圧レベルの上昇が、これらのＭＯＳトランジスタＮＴ２およびＮＴ３のコンダクタンスに応じて異なる。今、可変磁気抵抗素子ＴＭＲ１１の抵抗値が小さく、内部ノードＩＷＬ１の電位が高いため、ＭＯＳトランジスタＮＴ３のコンダクタンスが大きく、ストレージノードＮＭ１の電位上昇よりも、ストレージノードＮＭ０の電位上昇が速くなる。
【０２６４】
時刻ｔ３４において、ＭＲＡＭビット線ＭＢＬを非選択状態へ駆動する。応じて、ＭＯＳトランジスタＮＴ２およびＮＴ３が非導通状態となり、ストレージノードＮＭ０およびＮＭ１の電圧レベルが確定する。これにより、ストレージノードＮＭ０およびＮＭ１の電圧レベルが、それぞれ可変磁気抵抗素子ＴＭＲ１０およびＴＭＲ１１の抵抗値に応じた状態に設定されて保持される。
【０２６５】
したがって、電源投入時においても、このＭＲＡＭワード線ＭＷＬ０およびＭＷＬ１およびＳＲＡＭビット線ＢＬおよびＢＬＣの電位を調整することにより、ＭＲＡＭセル（可変磁気抵抗素子ＴＭＲ１０およびＴＭＲ１１）の記憶データに応じて、ＳＲＡＭセルのストレージノードＮＭ０およびＮＭ１の電圧レベルを設定することができる。
【０２６６】
なお、電源投入時においては、ＳＲＡＭ周辺回路を動作可能状態とした後に、ＳＲＡＭ電源電圧ＶＤＤＳを供給する。この場合、通常の演算動作時に、ＳＲＡＭセルへの読出を行うために、ＳＲＡＭ電源電圧の遮断および投入のシーケンスでＳＲＡＭ電源電圧が調整されても良い。
【０２６７】
図４４は、この発明の実施の形態６に従う半導体装置のデータ読出モードを制御する部分の構成を概略的に示す図である。この図４４に示す読出制御部の構成は、以下の点で、図４１に示す読出制御部の構成と異なる。すなわち、書込／読出活性制御回路１７０に対し、コマンドＣＭＤに加えて、電源投入検出信号ＺＰＯＲが与えられる。書込／読出活性制御回路１７０は、コマンドＣＭＤに従って書込モード活性化信号ＷＥＮまたは読出モード活性化信号ＲＥＮを活性化し、また、電源投入検出信号ＺＰＯＲの活性化に従って、読出モード活性化信号ＲＥＮを活性化する。この電源投入検出信号ＺＰＯＲは、外部からの電源電圧ＶＤＤが安定化すると、Ｈレベルの非活性状態に設定される（図３２参照）。
【０２６８】
また、ＳＲＡＭ電源回路１７２は、書込タイミング制御回路１６２からの書込タイミング信号ＷＹＴが活性化され、ＭＲＡＭワード線ＭＷＬ０およびＭＷＬ１が活性化された後、外部からの電源電圧ＶＤＤに従ってＳＲＡＭ電源ＶＤＤＳを生成する。
【０２６９】
なお、電源投入検出信号ＺＰＯＲは、先の図３２に示す態様で生成されるのではなく、電源投入時、ワンショットパルスの形態で生成されてもよい。電源投入を示す状態に設定されればよい。
【０２７０】
図４４に示す書込／読出制御部の他の構成および動作は、図４１に示す書込／読出制御部の構成および動作と同じであり、その詳細説明は省略する。
【０２７１】
図４５は、ＭＲＡＭ動作をする部分の構成を概略的に示す図である。図４５において、ＭＲＡＭビット線ＭＢＬに対しデコード／ドライブ回路１７０が設けられ、また、ＭＲＡＭビット線ＭＢＬＣに対し、プリチャージトランジスタ１７２が設けられる。ＭＲＡＭビット線ＭＢＬおよびＭＢＬＣに対しては、さらに、データの書込および読出を制御するためのドライブ回路１５２ａおよび１５２ｂが設けられる。
【０２７２】
ドライブ回路１５２ａは、ＳＲＡＭモードＳＭＯＤＥの活性化時出力ハイインピーダンス状態に設定され、ドライブ回路１５２ｂは、このＳＲＡＭモード指示信号ＳＭＯＤＥの活性化時その出力信号が接地電圧レベルに設定される。デコード／ドライブ回路１７０は、ＳＲＡＭモード指示信号ＳＭＯＤＥが活性状態のとき、アドレス信号ＡＤＸをデコード、ＭＲＡＭビット線ＭＢＬを選択状態へ駆動する。プリチャージトランジスタ１７２は、ＳＲＡＭモード指示信号ＳＭＯＤの活性化時ＭＲＡＭビット線ＭＢＬＣを接地電圧レベルに維持する。
【０２７３】
ＳＲＡＭモード指示信号ＳＭＯＤＥは、この半導体装置のプログラム素子が、ＳＲＡＭとして動作するとき、すなわち、ＳＲＡＭセルの記憶データに従って内部状態を設定するときに活性化される。ＭＲＡＭセルに対するデータ書込時においては、このＳＲＡＭモード指示信号ＳＭＯＤＥは、非活性状態に維持される。
【０２７４】
この図４５に示す周辺回路の他の構成は、図４０に示す構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０２７５】
図４５に示す構成の場合、ＳＲＡＭモードの場合、ＭＲＡＭビット線ＭＢＬが、ＳＲＡＭワード線ＷＬとして利用される。ＳＲＡＭモード指示信号ＳＭＯＤＥは、ＳＲＡＭセルに対するデータの書込／読出を行なうときに活性化される。したがって、このＭＲＡＭビット線ＭＢＬを、ＳＲＡＭワード線ＷＬとしても利用することができ、プログラム素子のレイアウト面積を低減することができ、応じて、メモリセル／ゲートアレイのレイアウト面積を低減することができる。
【０２７６】
［プログラム素子の変更例］
図４６は、この発明の実施の形態６に従うプログラム素子の変更例の構成を概略的に示す図である。この図４６に示すプログラム素子ＰＥは、以下の点で、図３９に示すプログラム素子とその構成が異なる。すなわち、ＭＲＡＭビット線ＭＢＬとＭＯＳトランジスタＮＴ２およびＮＴ３の間に設けられる可変磁気抵抗素子ＴＭＲ３０およびＴＭＲ３１は、スピン注入型素子ではなく、電流誘起磁界書込型素子である。したがって、これらの可変磁気抵抗素子ＴＭＲ３０およびＴＭＲ３１それぞれに対応してデジット線ＤＬ０およびＤＬ１が設けられる。この図４６に示すプログラム素子ＰＥの他の構成は、図３９に示すプログラム素子ＰＥの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０２７７】
可変磁気抵抗素子ＴＭＲ３０およびＴＭＲ３１に対するデータの書込は、通常の電流誘起磁界書込型セルと同様、ＭＲＡＭビット線ＭＢＬおよびデジット線ＤＬ０およびＤＬ１に電流を流して、磁界を誘起しデータの書込を行なう（実施の形態１参照）。ＭＲＡＭビット線ＭＢＬおよびデジット線ＤＬ０およびＤＬ１の周辺回路としては、実施の形態１において用いたものと同様の構成が設けられる。デジット線ＤＬ０およびＤＬ１に対し書込データに応じた方向に電流を流す。
【０２７８】
この図４６に示すプログラム素子ＰＥのデータ読出モード時の動作は、図３９に示すプログラム素子ＰＥのデータ読出と同様にして行なわれ、したがって、図４２および図４３に示す信号波形図に示す動作に従ってデータの読出が実行される。この図４６に示すプログラム素子ＰＥの動作制御は、図４４に示す書込／読出制御部の構成を利用して実行される。
【０２７９】
［プログラム素子の変更例２］
図４７は、この発明の実施の形態６のプログラム素子ＰＥのさらに他の変更例の構成を示す図である。この図４７に示すＳＲＡＭセルの構成は、以下の点で、図４６に示すプログラム素子の構成と異なる。すなわち、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１に対して、ＳＲＡＭワード線ＷＬおよびＭＲＡＭビット線ＭＢＬが別々に設けられる。ＳＲＡＭワード線ＷＬは、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１に電気的に結合され、ＭＲＡＭビット線ＭＢＬが、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１に磁気的に結合される。従って、可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１に対するデータの書込は、ＭＲＡＭビット線ＭＢＬおよびデジット線ＤＬ０およびＤＬ１を流れる電流が誘起する磁界の合成磁界により行われる。ＭＲＡＭビット線ＭＢＬＣは、基準電位（接地線圧レベル）に固定される。
【０２８０】
この図４７に示すプログラム素子ＰＥの他の構成は、図４６に示すプログラム素子の構成と同じであり、対応する部分には同一参照符号を付して、その詳細説明は省略する。
【０２８１】
図４７に示すプログラム素子ＰＥの可変磁気抵抗素子ＴＭＲ０およびＴＭＲ１の記憶データのＳＲＡＭセルに対する転送は、図４２および図４３に示すタイミングに従って行われる。すなわち、図４２および図４３に示すタイミング図において、ＭＲＡＭビット線ＭＢＬをＳＲＡＭワード線ＷＬで置き換えることにより、この図４７に示すプログラム素子ＰＥのＭＲＡＭセルからＳＲＡＭセルへのデータ転送動作波形は、得ることができる。
【０２８２】
この図４７に示すプログラム素子ＰＥの構成においては、ＭＲＡＭビット線ＭＢＬとＳＲＡＭワード線ＷＬとが別々に設けられており、ＳＲＡＭセルの記憶データに悪影響を及ぼすことなく対応のＭＲＡＭセルの記憶データの書換えを行うことができる。従って、ＳＲＡＭの記憶データに従って内部構成を設定して処理を実行している状態で、ＭＲＡＭの記憶データを書き換えることができ、ダイナミックリコンフィギュレーションを実現することができる。
【０２８３】
以上のように、この発明の実施の形態６に従えば、ＳＲＡＭセルのアクセストランジスタ（トランジスタＮＴ２およびＮＴ３）のゲートに、可変磁気抵抗素子を結合している。したがって、可変磁気抵抗素子として、スピン注入型素子および電流誘起磁界書込型素子のいずれも用いることができる。また、ＭＲＡＭビット線をＳＲＡＭワード線としても利用することができ、この構成の場合、デコード回路などの一部の回路をＭＲＡＭセルおよびＳＲＡＭセルで共有することが可能となり、メモリセル／ゲートアレイのレイアウト面積のみならず周辺回路のレイアウト面積をも低減することができる。
【０２８４】
また、実施の形態３の構成をこの実施の形態６の構成と組合わせることにより、ＭＲＡＭからＳＲＡＭへのデータ転送を安定化させることができる。
【０２８５】
［実施の形態７］
図４８（Ａ）および（Ｂ）は、この発明の実施の形態７に従う半導体装置のコンフィギュレーションデータのロードシーケンスを概略的に示す図である。この半導体装置１においては、ＭＲＡＭ２００およびＳＲＡＭ２０２がプログラム回路として設けられる。ＭＲＡＭ２００は、プログラム素子のＭＲＡＭセル（可変磁気抵抗素子）のアレイを含み、ＳＲＡＭ２０２は、このプログラム素子のＳＲＡＭセルのアレイを含む。ロジック／スイッチ２０４においては、ＬＵＴおよび接続スイッチが設けられ、ＳＲＡＭ２０２の記憶データ（コンフィギュレーションデータ）に従って、その状態が設定される。
【０２８６】
図４８（Ａ）および（Ｂ）においては、ＭＲＡＭ２００およびＳＲＡＭ２０２が、それぞれ別々に配置されるように示すが、これまでの実施の形態１から６において説明したように、プログラム素子においてＭＲＡＭセルおよびＳＲＡＭセルが対応して一体的に配置される。ここでは、説明を簡単にするために、ＭＲＡＭセルのアレイおよびＳＲＡＭセルのアレイが別々に設けられるように示す。
【０２８７】
ＳＲＡＭ２０２の記憶データに従って、ロジック／スイッチ２０４の状態が設定される。このロジック／スイッチ２０４においては、先に説明したように、ルックアップテーブルＬＵＴ、接続ブロックＣＢ、およびスイッチブロックのプログラム素子以外の構成要素が配置される（図６から図１０参照）。
【０２８８】
まず、図４８（Ａ）に示すように、コンフィギュレーションデータＣＦＧが、ＭＲＡＭ２００にロードされる。この場合、ＳＲＡＭ２０２のプログラムデータは、そのプログラム素子の構成に応じて、破壊される場合とその影響を受けず保持される場合とがある。ＭＲＡＭ２００へのコンフィギュレーションデータＣＦＧのロード時、ＳＲＡＭ２０２のデータが破壊されるのは、実施の形態１（図１１）および実施の形態６のスピン注入型ＭＲＡＭセルおよび電流誘起磁界書込型素子を利用する構成（図３９、図４６）の場合である。
【０２８９】
ＭＲＡＭ２００へのデータロード時ＳＲＡＭ２０２のデータが保持されるのは、ＳＲＡＭ電源線およびＭＲＡＭビット線が別々に設けられる実施の形態２（図１６）とＳＲＡＭワード線とＭＲＡＭビット線が別々に設けられている実施の形態６（図４７）の構成の場合である。
【０２９０】
図４８（Ａ）に示すように、ＭＲＡＭ２００へコンフィギュレーションデータＣＦＧをロードする。次いで、図４８（Ｂ）に示すように、外部からコンフィギュレーションデータＣＦＧを、ＳＲＡＭ２０２へロードする。このＳＲＡＭ２０２へのコンフィギュレーションデータＣＦＧのロードにより、ロジック／スイッチ２０４の状態が設定される。
【０２９１】
この図４８（Ａ）および（Ｂ）に示すデータ転送シーケンスの場合、ＳＲＡＭ２００へのコンフィギュレーションデータＣＦＧのロード時には、ＳＲＡＭビット線およびＳＲＡＭワード線ＷＬ（またはＭＲＡＭビット線）が用いられて、データの書込が行われる。また、これに代えて、従来から用いられているＳＲＡＭＦＰＧＡでのデータロードと同様、コンフィギュレーションデータがシリアルにＳＲＡＭセルを介して転送されてロードされてもよい。
【０２９２】
［データロードシーケンス２］
図４９は、この発明の実施の形態７におけるＳＲＡＭへのデータロードの別のシーケンスを概略的に示す図である。この図４９においては、ＭＲＡＭは使用しないでＳＲＡＭとしてプログラム部を使用する場合を示し、ＳＲＡＭ２０２へ、外部からのコンフィギュレーションデータＣＦＧが直接ロードされてストアされる。ＳＲＡＭ２０２の格納データに従ってロジック／スイッチ２０４の状態が設定される。ＭＲＡＭ２００に対しては、コンフィギュレーションデータＣＦＧはロードされない。
【０２９３】
この図４９に示すデータロードシーケンスの場合、たとえば、テスト段階において、ＳＲＡＭ２０２にテスト用のコンフィギュレーションデータＣＦＧを格納し、ロジック／スイッチ２０４により、その動作を確認する。この動作確認により、たとえばバグなどを修正して、最終のコンフィギュレーションデータＣＦＧを生成する。
【０２９４】
ＳＲＡＭ２０２へのコンフィギュレーションデータＣＦＧへの直接ロード時においては、実施の形態１から６に示すプログラム素子の構成に応じて、ＳＲＡＭワード線ＷＬおよびＳＲＡＭビット線ＢＬおよびＢＬＣを用いてデータの書込が実行される。また、シリアルにコンフィギュレーションデータがＳＲＡＭセルを介して転送されるシリアルパスが別途、配置されても良い。
【０２９５】
［データロードシーケンス３］
図５０（Ａ）および（Ｂ）は、この発明の実施の形態７に従うＳＲＡＭへのデータロードシーケンスの第３の例を示す図である。図５０（Ａ）において、コンフィギュレーションデータＣＦＧが、ＭＲＡＭ２００にロードされてストアされる。このＭＲＡＭ２００へのコンフィギュレーションデータＣＦＧのロード時、ＳＲＡＭ２０２の保持データが破壊されるかそのまま維持されるかが、プログラム素子の構成に応じて異なる。
【０２９６】
次に、図５０（Ｂ）に示すように、これまでに説明した実施の形態１から６の態様に従ってＭＲＡＭ２００の格納データを、ＳＲＡＭ２０２へ並行して転送し、ロジック／スイッチ２０４の状態を設定する。
【０２９７】
このＭＲＡＭ２００からＳＲＡＭ２０２へのデータ転送は、すでに説明したように、プログラム素子において並行して実行される。たとえば、システムリセットまたはシステム立上げ時のような電源投入時、図５０（Ｂ）に示すように、ＭＲＡＭ２００からＳＲＡＭ２０２へデータを転送することにより、高速で、ロジック／スイッチ２０４の状態を設定することができる。
【０２９８】
この図５０（Ｂ）に示すＭＲＡＭ２００からＳＲＡＭ２０２へのデータ転送のシーケンスとしては、実施の形態１および２および６のプログラム素子を利用する場合、電源遮断から電源投入後ＭＲＡＭセルの記憶データを一括してＳＲＡＭへ転送することができる。また、電源投入中の間に、ＭＲＡＭ２００からＳＲＡＭ２０２へ、一括してデータの転送を行なうことができる（実施の形態４および６のプログラム素子の場合）。
【０２９９】
また、実施の形態４および５において、読出アシスト回路を利用する場合、電源回復時または電源投入中に、シーケンシャルに（ＳＲＡＭワード線単位）でデータの転送を行なうことができる。
【０３００】
図４８（Ａ）および（Ｂ）から図５０（Ａ）および（Ｂ）に示すデータ転送シーケンスのいずれが利用されてもよい。ＳＲＡＭへの一括データ転送を利用する場合、停電などが発生した場合、停電復旧後、高速で、システムを復旧させることができる。
【０３０１】
また、この半導体装置１の使用時、不使用回路が存在する場合、不使用回路に対する電源電圧の供給を停止する（パワーゲートする）ことにより、消費電力を低減することができる。この場合、各回路ブロックごとにＳＲＡＭ電源供給回路を設け、回路の使用／不使用を示す信号に従って、各ブロック単位で、ＳＲＡＭへの電源電圧の供給が停止されればよい（ＦＢ（周波数／電圧）制御と同様の制御を実行する）。
【０３０２】
以上のように、この発明の実施の形態７に従えば、ＦＰＧＡを構成する半導体装置内に、ＳＲＡＭとＭＲＡＭとを設けている。したがって、不揮発性ＦＰＧＡを実現することができ、不揮発性ＦＰＧＡの有する以下のような利点を享受することができる。すなわち、ＦＰＧＡ外部に、コンフィギュレーション情報を保存するフラッシュメモリを設ける必要がなくなる。電源投入後即座に、コンフィギュレーションデータを再ロードすることなく回路を動作させることができる。電源遮断に対するディベンダビリティ（dependability：信頼性）が向上する。パワーゲーティングによる低消費電力を実現することができる。外部からのコンフィギュレーションデータを転送するために必要とされるデータ入出力パッドおよびデータ入出力回路を低減することができる。また、外部からコンフィギュレーション情報を転送する必要はなく、コンフィギュレーションデータを外部で読出されることがなく、セキュリティが向上する。
【０３０３】
［実施の形態８］
図５１は、この発明の実施の形態８に従う半導体装置（ＦＰＧＡ）のＳＲＡＭへのデータロードシーケンスの一例を概略的に示す図である。この半導体装置１には、ＭＲＡＭ２００、ＳＲＡＭ２０２およびロジック／スイッチ２０４が設けられる。この構成は、実施の形態７の場合と同じである。以下、図５１（Ａ）−（Ｅ）を参照して、この発明の実施の形態８に従うデータロードシーケンスについて説明する。
【０３０４】
まず、図５１（Ａ）に示すように、外部からコンフィギュレーションデータＣＦＧＡがＳＲＡＭ２０２へロードされる。このＳＲＡＭ２０２のプログラムデータに従ってロジック／スイッチ２０４は、回路Ａとして動作する状態に設定される。このとき、ＭＲＡＭ２００の格納データは任意である。
【０３０５】
次いで、図５１（Ｂ）に示すように、ロジック／スイッチ２０４を、ＳＲＡＭ２０２の格納データに従って回路Ａとして動作させた状態で、ＭＲＡＭ２００にコンフィギュレーションデータＣＦＧＢをロードする。ＳＲＡＭ２０２においては、先の図５１（Ａ）において示したコンフィギュレーションデータＣＦＧＡが保持された状態に維持される。したがって、この場合、実施の形態２（図１６）および実施の形態６（図４７）に示すプログラム素子の構成が用いられる（ＭＲＡＭへのロードがＳＲＡＭの記憶データに影響を及ぼさない）。
【０３０６】
図５１（Ｃ）において、ＭＲＡＭ２００に記憶されるコンフィギュレーションデータＣＦＧＢが、ＳＲＡＭ２０２へ転送される（読出される）。このＳＲＡＭ２０２の格納データ、すなわちコンフィギュレーションデータＣＦＧＢに従って、ロジック／スイッチ２０４が、回路Ｂとして動作する状態に設定される。
【０３０７】
次に図５１（Ｄ）に示すように再び、ロジック／スイッチ２０４を、ＳＲＡＭ２０２の格納データに従って回路Ｂとして動作させた状態で、ＭＲＡＭ２００に対し新たなコンフィギュレーションデータＣＦＧＣを書込む。
【０３０８】
続いて、図５１（Ｅ）に示すように、演算処理完了後、ＳＲＡＭ２０２へ、ＭＲＡＭ２００からデータ転送を行ない（読出を行い）、ロジック／スイッチ２０４を、コンフィギュレーションデータＣＦＧＣに従って、回路Ｃとして動作させる状態に設定する。
【０３０９】
この図５１（Ａ）から図５１（Ｅ）に示すように、ロジック／スイッチ２０４が演算処理を実行する状態で、ＭＲＡＭ２００にコンフィギュレーションデータの書込を行ない、ダイナミックに、ロジック／スイッチ２０４の状態を更新する。したがって、この半導体装置１の規模が小さい場合においても、演算処理の進行状況に応じて回路構成を再構成することにより、複雑な演算処理を実行することができる。
【０３１０】
なお、回路構成情報（コンフィギュレーションデータ）の更新時（ＭＲＡＭからＳＲＡＭへのデータロード時）においては、電源リセットを行なってデータの読出が行なわれてもよく、電源を供給した状態でＭＲＡＭからＳＲＡＭにデータの一括転送が行なわれてもよい。
【０３１１】
［変更例］
図５２（Ａ）−（Ｃ）は、この発明の実施の形態８の変更例のデータ転送シーケンスを概略的に示す図である。図５２（Ａ）−（Ｃ）に示す構成においても、半導体装置１内にＭＲＡＭ２００、ＳＲＡＭ２０２およびロジック／スイッチ２０４が設けられる。
【０３１２】
まず、図５２（Ａ）において、コンフィギュレーションデータＣＦＧＡが、ＳＲＡＭ２０２に格納される（ロードされてストアされる）。このＳＲＡＭ２０２に格納されたコンフィギュレーションデータＣＦＧＡに従って、ロジック／スイッチ２０４は、回路Ａとして動作する状態に設定される。
【０３１３】
次いで、図５２（Ｂ）に示すように、ロジック／スイッチ２０４を回路Ａとして動作させた状態で、ＭＲＡＭ２０２に対し一部の領域にコンフィギュレーションデータＣＦＧＰを書込む。この場合、ＳＲＡＭ２０２に対しては電源電圧が投入されており、ＳＲＡＭ２０２の保持データは、ＭＲＡＭ２００に対するデータ書込の影響を受けない。したがって、ＭＲＡＭへのデータ書込時、ロジック／スイッチ２０４は回路Ａとして動作し続ける。
【０３１４】
次いで、図５２（Ｃ）に示すように、ＭＲＡＭ２００の一部の領域に格納されたコンフィギュレーションデータＣＦＧＰを、ＳＲＡＭ２０２の対応の領域に転送する。これにより、ロジック／スイッチ２０４のコンフィギュレーションデータＣＦＧＰに対する領域の接続状態が更新され、回路ＡＡとしてロジック／スイッチ２０４が動作する。したがってこの場合、回路の一部の構成を変更して、演算処理を実行することができる。
【０３１５】
これらの図５１（Ａ）−（Ｅ）および図５２（Ａ）−（Ｃ）に示すように、ロジック／スイッチ２０４を動作させた状態で、ＭＲＡＭにデータの書込を行なうことにより、コンフィギュレーションデータをロジック／スイッチ２０４の回路動作に隠れてＭＲＡＭに格納することができ、コンフィギュレーションデータ転送に要する時間を、演算処理時間に隠蔽させることができる。また、演算処理進行に悪影響を及ぼすことなく、ダイナミックに、ロジック／スイッチ２０４の状態を更新して処理を実行することができる。
【０３１６】
図５３は、図５１（Ａ）−（Ｃ）に示す部分的リコンフィギュレーションを行なう部分の構成を概略的に示す図である。図５３においては、ＳＲＡＭに関連する部分の構成を概略的に示す。ＭＲＡＭへのデータ書込時においては、外部から、アドレスとコンフィギュレーションデータとを転送して順次書込が行なわれる（実施の形態２と同様）。
【０３１７】
この図５３に示す構成は、以下の点で、図３５に示す周辺回路の構成と異なる。すなわち、ＳＲＡＭワード線ＷＬ０−ＷＬ３に対して設けられるＯＲゲートＯＧ０−ＯＧ３に対し、読出制御部１４２Ｂからのタイミング信号ＭＲＸ０が与えられ、ＳＲＡＭワード線ＷＬ４−ＷＬ７に対して設けられるＯＲゲートＯＧ４−ＯＧ７に対し読出制御部１４２Ｂから書込タイミング信号ＭＲＸ１が与えられる。これらのＯＲゲートＯＧ０−ＯＧ７の第２入力へは、デコード回路１４０からの対応のデコード信号が与えられ、ＯＲゲートＯＧ０−ＯＧ７の出力信号に従って、ＳＲＡＭワード線ドライバＸＤＲＡ０−ＸＤＲＡ７が対応のＳＲＡＭワード線ＷＬ０−ＷＬ７を選択状態へ駆動する。
【０３１８】
一方、ＳＲＡＭビット線ＢＬ０，ＢＬＣ０−ＢＬ５，ＢＬＣ５に対して設けられるＡＮＤゲートＡＧ０−ＡＧ１１において、読出制御部１４２Ｂからの書込タイミング信号ＭＲＹ０が、ＡＮＤゲートＡＧ０−ＡＧ５の第１の入力に与えられ、また、読出制御部１４２Ｂからの書込タイミング信号ＭＲＹ１が、ＡＮＤゲートＡＧ６−ＡＧ１１の第１の入力へ与えられる。これらのＡＮＤゲートＡＧ０−ＡＧ１１の第２の入力へは、データ入力回路７Ａからのデータが与えられる。
【０３１９】
この図５３に示す構成において、メモリセル／ゲートアレイ２は、４つのメモリブロックＭＢＫ０−ＭＢＫ３の領域に分割制御することができる。ＭＲＡＭからＳＲＡＭへのデータ読出動作は、先の図３５に示す実施の形態２の場合と同様にして実行される。データ読出時においては、ＳＲＡＭワード線ＷＬを選択状態へ駆動し、接地電圧レベルに駆動されるビット線ＢＬ，ＢＬＣとストレージノードとを結合する。したがって、データの転送を行なう部分においてのみ、ＳＲＡＭワード線およびＳＲＡＭビット線電位を制御し、非選択ブロックに対しては、ＳＲＡＭワード線またはＳＲＡＭビット線ＢＬ，ＢＬＣを非選択状態に設定する。この場合、非選択状態のＳＲＡＭビット線ＢＬおよびＢＬＣを、Ｈレベルに維持することにより、半選択状態のプログラム素子のＳＲＡＭセルのストレージノードのデータ反転は回避される。これにより、ブロックＭＢＫ０−ＭＢＫ３のうちの必要とされる領域に対してデータの読出を行なうことができる。
【０３２０】
なお、読出制御部１４２Ｂにおいてモード指示信号ＭＲＭＯＤが与えられたとき、部分転送が指定され、そのときのアドレスＡ＜  ＞に従って、転送を行なうメモリブロックが指定されればよい。この指定されたメモリブロックに応じて、書込タイミング信号ＭＲＸ０，ＭＲＸ１、ＭＲＹ０およびＭＲＹ１が、それぞれ所定のシーケンスで活性化される。
【０３２１】
また、通常のＳＲＡＭと同様に、ビット単位でのＭＲＡＭからＳＲＡＭへのデータ転送も可能である。
【０３２２】
この図５３に示す構成のデータ読出時の動作は、先の図３５において実施の形態２を参照して説明した動作と同じである。
【０３２３】
この図５３に示す構成を利用することにより、先の図５２２（Ａ）−図５２（Ｃ）に示す部分的なコンフィギュレーションデータの転送を行ない、回路構成のダイナミックリコンフィギュレーションを実現することができる。
【０３２４】
以上のように、この発明の実施の形態８に従えば、ＭＲＡＭのコンフィギュレーションデータへの書込をロジック／スイッチの回路動作中に実行している。これにより、コンフィギュレーションデータのＦＰＧＡ（半導体装置）へのデータ転送時間を演算時間内に隠蔽することができる。また、ＭＲＡＭからＳＲＡＭへの一括データ転送または一定単位の並列転送を行なうことにより、高速で、システムリコンフィギュレーションを実行することができ、演算実行に応じてシステム構成を変更するダイナミックなリコンフィギュレーションが可能となる。
【産業上の利用可能性】
【０３２５】
この発明は、一般に、プログラマブルロジックデバイスに適用することにより、不揮発性プログラマブル・ロジックデバイスを実現することができ、電源投入時高速で、システムコンフィギュレーションをすることができる。
【図面の簡単な説明】
【０３２６】
【図１】この発明に従う半導体装置の全体の構成を概略的に示す図である。
【図２】この発明に従う半導体装置のプログラム素子の構成を概略的に示す図である。
【図３】図１に示すメモリセル／ゲートアレイの構成の一例を概略的に示す図である。
【図４】図３に示すロジックブロックの構成の一例を概略的に示す図である。
【図５】図４に示すロジックブロックの具体的構成の一例を示す図である。
【図６】図３に示す接続ブロックの構成を概略的に示す図である。
【図７】図６に示すプログラマブルスイッチ素子の構成の一例を概略的に示す図である。
【図８】図６に示すプログラマブルスイッチ素子の他の構成を示す図である。
【図９】図３に示すスイッチブロックの構成の一例を概略的に示す図である。
【図１０】図９に示すスイッチング素子の構成の一例を示す図である。
【図１１】この発明の実施の形態１に従うプログラム素子の構成を概略的に示す図である。
【図１２】図１１に示すプログラム素子の断面構造を概略的に示す図である。
【図１３】図１１に示すプログラム素子のデータ読出モードの動作を示す信号波形図である。
【図１４】この発明の実施の形態１に従う半導体装置のプログラム素子の周辺回路の構成を概略的に示す図である。
【図１５】図１４に示すデジット線ドライブ回路の構成の一例を概略的に示す図である。
【図１６】この発明の実施の形態２に従うプログラム素子の構成を概略的に示す図である。
【図１７】図１６に示すプログラム素子の断面構造を概略的に示す図である。
【図１８】図１６に示すプログラム素子のデータ読出モード時の動作を示す信号波形図である。
【図１９】この発明の実施の形態２に従うＳＲＡＭセル電源制御部の構成を概略的に示す図である。
【図２０】この発明の実施の形態３に従うプログラム素子の構成を概略的に示す図である。
【図２１】図２０に示すプログラム素子のデータ読出モード時の動作を示す信号波形図である。
【図２２】図２０に示すプログラム素子の平面レイアウトを概略的に示す図である。
【図２３】図２２に示すプログラム素子のＳＲＡＭセルの断面構造を概略的に示す図である。
【図２４】この発明の実施の形態３に従うプログラム素子のＳＲＡＭセルの平面レイアウトの変更例を概略的に示す図である。
【図２５】図２０に示すプログラム素子のＳＲＡＭセルの基板バイアス発生部の構成の一例を概略的に示す図である。
【図２６】図２５に示す基板バイアス発生部の動作を示す信号波形図である。
【図２７】図２５に示す基板バイアス発生部のコマンド印加時の動作を示す信号波形図である。
【図２８】この発明の実施の形態４に従うプログラム素子の構成を概略的に示す図である。
【図２９】図２８に示すプログラム素子のデータ読出モード時の動作を示す信号波形図である。
【図３０】図２８に示すプログラム素子の電源投入時の読出動作を示す信号波形図である。
【図３１】図２８に示すプログラム素子の動作制御を行なう部分の構成の一例を示す図である。
【図３２】図３１に示す読出／書込制御部の電源投入時の動作を示す信号波形図である。
【図３３】図３１に示す書込／読出制御部の電源供給時の読出動作を示す信号波形図である。
【図３４】この発明の実施の形態４に従う半導体装置のＳＲＡＭ周辺回路の構成の一例を示す図である。
【図３５】この発明の実施の形態４に従う半導体装置のＳＲＡＭセル周辺回路の変更例の構成を概略的に示す図である。
【図３６】この発明の実施の形態５に従うプログラム素子の構成を概略的に示す図である。
【図３７】図３６に示すプログラム素子のデータ読出モード時の動作を示す信号波形図である。
【図３８】図３６に示すプログラム素子の読出モード制御部の構成を概略的に示す図である。
【図３９】この発明の実施の形態６に従うプログラム素子の構成を概略的に示す図である。
【図４０】図３９に示すプログラム素子の周辺回路の構成を概略的に示す図である。
【図４１】この発明の実施の形態６に従う半導体装置の書込／読出制御部の構成を概略的に示す図である。
【図４２】図４１に示す書込／読出制御部の動作を示す信号波形図である。
【図４３】図４１に示す書込／読出制御部の電源投入時の動作を示す信号波形図である。
【図４４】この発明の実施の形態６に従う書込／読出制御部の変更例の構成を概略的に示す図である。
【図４５】この発明の実施の形態６に従う半導体装置の変更例の構成を概略的に示す図である。
【図４６】この発明の実施の形態６に従うプログラム素子の変更例の構成を概略的に示す図である。
【図４７】この発明の実施の形態６に従うプログラム素子のさらに他の変更例の構成を概略的に示す図である。
【図４８】（Ａ）および（Ｂ）は、この発明の実施の形態７に従うコンフィギュレーションデータ転送シーケンスを概略的に示す図である。
【図４９】この発明の実施の形態７に従うコンフィギュレーションデータの格納シーケンスの変更例を示す図である。
【図５０】（Ａ）および（Ｂ）は、この発明の実施の形態７に従うコンフィギュレーションデータ転送シーケンスのさらに他の変更例を示す図である。
【図５１】（Ａ）−（Ｅ）は、この発明の実施の形態８に従う半導体装置のコンフィギュレーションデータ転送シーケンスを概略的に示す図である。
【図５２】この発明の実施の形態８に従う半導体装置のコンフィギュレーションデータ転送シーケンスの変更例を概略的に示す図である。
【図５３】この発明の実施の形態８に従う半導体装置のＳＲＡＭ周辺回路の構成を概略的に示す図である。
【符号の説明】
【０３２７】
１  半導体装置、２  メモリセル／ゲートアレイ、ＰＥ  プログラム素子、１０  ＭＲＡＭセル、１２  ＳＲＡＭセル、ＴＭＲ０，ＴＭＲ１  可変磁気抵抗素子、ＰＴ０，ＰＴ１  ＰチャネルＭＯＳトランジスタ、ＮＴ０−ＮＴ３  ＮチャネルＭＯＳトランジスタ、ＩＶ０，ＩＶ１  インバータ、ＭＢＬ  ＭＲＡＭビット線、ＢＬ，ＢＬＣ  ＳＲＡＭビット線、ＷＬ  ＳＲＡＭワード線、ＳＷＲａ，ＳＷＲｂ  ＳＲＡＭライトドライバ、ＬＤ０，ＬＤ１  負荷トランジスタ、ＳＷＲｃ，ＳＷＲｄ  ＳＲＡＭライトドライバ、ＴＭＲ１０，ＴＭＲ１１，ＴＭＲ３０，ＴＭＲ３１  可変磁気抵抗素子、ＳＷＲｅ，ＳＷＲｆ  ＳＲＡＭライトドライバ、２００  ＭＲＡＭ、２０２  ＳＲＡＭ、２０４  ロジック／スイッチ。
【図１】
2009302254.tif 000003
【図２】
2009302254.tif 000004
【図３】
2009302254.tif 000005
【図４】
2009302254.tif 000006
【図５】
2009302254.tif 000007
【図６】
2009302254.tif 000008
【図７】
2009302254.tif 000009
【図８】
2009302254.tif 000010
【図９】
2009302254.tif 000011
【図１０】
2009302254.tif 000012
【図１１】
2009302254.tif 000013
【図１２】
2009302254.tif 000014
【図１３】
2009302254.tif 000015
【図１４】
2009302254.tif 000016
【図１５】
2009302254.tif 000017
【図１６】
2009302254.tif 000018
【図１７】
2009302254.tif 000019
【図１８】
2009302254.tif 000020
【図１９】
2009302254.tif 000021
【図２０】
2009302254.tif 000022
【図２１】
2009302254.tif 000023
【図２２】
2009302254.tif 000024
【図２３】
2009302254.tif 000025
【図２４】
2009302254.tif 000026
【図２５】
2009302254.tif 000027
【図２６】
2009302254.tif 000028
【図２７】
2009302254.tif 000029
【図２８】
2009302254.tif 000030
【図２９】
2009302254.tif 000031
【図３０】
2009302254.tif 000032
【図３１】
2009302254.tif 000033
【図３２】
2009302254.tif 000034
【図３３】
2009302254.tif 000035
【図３４】
2009302254.tif 000036
【図３５】
2009302254.tif 000037
【図３６】
2009302254.tif 000038
【図３７】
2009302254.tif 000039
【図３８】
2009302254.tif 000040
【図３９】
2009302254.tif 000041
【図４０】
2009302254.tif 000042
【図４１】
2009302254.tif 000043
【図４２】
2009302254.tif 000044
【図４３】
2009302254.tif 000045
【図４４】
2009302254.tif 000046
【図４５】
2009302254.tif 000047
【図４６】
2009302254.tif 000048
【図４７】
2009302254.tif 000049
【図４８】
2009302254.tif 000050
【図４９】
2009302254.tif 000051
【図５０】
2009302254.tif 000052
【図５１】
2009302254.tif 000053
【図５２】
2009302254.tif 000054
【図５３】
2009302254.tif 000055