複数の記憶部を有する半導体装置であって、前記各記憶部は、アドレスをデコードしてワード線にワード選択信号を出力するアドレスデコーダと、前記ワード線とデータ線とが交差する位置にそれぞれ配置された複数の不揮発メモリセルを有する不揮発性メモリセルアレイと、書き込み信号の入力に従って高電圧信号を前記不揮発メモリセルアレイに出力する電圧切替部と、前記不揮発メモリセルの出力に接続されたインバータ回路と、前記不揮発メモリセルの出力と前記インバータ回路の入力との間に接続された第1のトランジスタと、前記不揮発メモリセルの出力と前記インバータ回路の入力との間に接続されるとともに、前記第1のトランジスタよりも抵抗が低い第2のトランジスタと、前記インバータ回路の出力に接続されたトランスファーゲートと、を備えることを特徴とする半導体装置。前記不揮発性メモリセルは、NMOSトランジスタと、PMOSトランジスタとを有し、前記NMOSトランジスタと、PMOSトランジスタのゲート端子を接続し、当該接続部をフローティングゲートとして動作する請求項1に記載の半導体装置。前記書き込み信号に従って高電圧を発生し、前記電圧切替部に高電圧を供給する高電圧発生回路をさらに備える請求項1又は2に記載の半導体装置。MLUTに搭載されるメモリセルユニットは、現在SRAMStaticRandomAccessMemoryで構成されている。そのため、MPLDは、起動時に、外付けROMReadOnlyMemoryなどの不揮発性の記憶媒体から、回路構成情報を呼び出した後に動作するので、電源投入後にすぐに動作することができない。また、SRAMの場合は、データの読出しもデータ書き込みも同じ電圧で行うことができるが、フラッシュメモリのような不揮発性メモリは、データ書き込み動作時に高電圧が必要となる。そのため、メモリセルを、SRAMからフラッシュメモリに変えただけでは、フラッシュメモリの書き込み動作を実現できない。本発明の一実施形態に係る半導体装置は、不揮発性メモリセルアレイを備え、データ書き込みと読み出し動作において、異なる電圧で不揮発性メモリセルを動作させることで、外部からの回路構成情報の呼び出し処理を不要にして、電源投入後すぐの動作を可能にすることを目的とする。上記課題を解決する形態は、下記の1~3に記載のようなものである。1複数の記憶部を有する半導体装置であって、前記各記憶部は、アドレスをデコードしてワード線にワード選択信号を出力するアドレスデコーダと、前記ワード線とデータ線とが交差する位置にそれぞれ配置された複数の不揮発メモリセルを有する不揮発性メモリセルアレイと、書き込み信号の入力に従って高電圧信号を前記不揮発メモリセルアレイに出力する電圧切替部と、前記不揮発メモリセルの出力に接続されたインバータ回路と、前記不揮発メモリセルの出力と前記インバータ回路の入力との間に接続された第1のトランジスタと、前記不揮発メモリセルの出力と前記インバータ回路の入力との間に接続されるとともに、前記第1のトランジスタよりも抵抗が低い第2のトランジスタと、前記インバータ回路の出力に接続されたトランスファーゲートと、を備えることを特徴とする半導体装置。2前記不揮発性メモリセルは、NMOSトランジスタと、PMOSトランジスタとを有し、前記NMOSトランジスタと、PMOSトランジスタのゲート端子を接続し、当該接続部をフローティングゲートとして動作する請求項1に記載の半導体装置。3前記書き込み信号に従って高電圧を発生し、前記電圧切替部に高電圧を供給する高電圧発生回路をさらに備える請求項1又は2に記載の半導体装置。本発明の一実施形態に係る半導体装置は、不揮発性メモリセルアレイを備え、データ書き込みと読み出し動作において、異なる電圧で不揮発性メモリセルを動作させることで、外部からの回路構成情報の呼び出し処理を不要にして、電源投入後すぐに動作できる。現状のMPLDは、MLUTが1ポートSRAMで構成されている揮発性PLDであるため、これらの利点を得ることができない。そこで、MPLDがメモリベースのPLDであることに着目し、使用するメモリを揮発性であるSRAMから、不揮発性を実現できるメモリに置き換えることで、MPLDの基本アーキテクチャを大幅に変更することなく不揮発性MPLDが実現できる。不揮発性メモリの実現には、専用プロセスが必要で、それを用いることでコストが高くなることや、将来MPLDをIPIntellectualPropertyとして使うときに標準CMOSプロセスとの親和性が低くなるといった問題点がある。そこで、本実施形態では、使用する不揮発性メモリには、低コストで実現でき、専用プロセスの必要ない、標準CMOSロジックプロセスで実現できるものを創作し、不揮発性メモリの動作に必要な回路を追加したMPLDの構成を創作すると同時に、それらの回路の設計をレイアウトレベルで行い、配線容量などを考慮した上で、シミュレーションを行った。以下、図面を参照して、1.MPLDの基本構成、2.不揮発性メモリ、2.不揮発性MPLDの構成、4.不揮発性MPLDの評価について述べる。1.MPLDの基本構成MPLDは、基本要素であるMLUTのみで構成される。MLUTは、論理回路として動作するためのLUTとしての機能、配線要素として動作するための信号スイッチとしての機能、また、再構成情報を保持するためのメモリとしての機能を備えている。そのため、MPLDでは、このMLUTのみを利用し、任意にコンフィギュレーションを行うことで、論理要素と配線要素の領域を自由に変更可能で柔軟性に優れている。また、各MLUTがメモリとしての機能を備えているため、MPLD全体を通常のメモリとして利用可能である。そのため、MPLDにおけるコンフィギュレーションは通常のメモリにおける書き込み動作と同様に行うことが可能となる。図1は、SRAMを用いたMLUTの構成の一例を示す図である。図1に示すMLUT20は、1ポートSRAMをMUXmultiplexerで、メモリ入力アドレスAdと論理動作用入力アドレスLAdとを、動作切り替え信号OCSに従って切り替えることにより、1ポートを各MLUTへ目的の回路構成情報の書き込むコンフィギュレーション用、もう1ポートをMPLDを目的の回路として使用する際に、MLUT間でのデータのやり取りに用いる論理動作用に割り当てる。デコーダは、N本のアドレスをデコードしてワード線にワード選択信号を出力する。図1に示される書込制御スイッチには、書き込みデータWDと書き込み信号WWLとが入力し、書き込み信号WWL入力時に、SRAMに書き込みWDを出力するように動作する。また、図1に示される読出制御スイッチは、読み出し信号RWLを受け取ると、SRAMから信号を読み取り、deMUXに読み出した信号を出力する。deMUXは、動作切り替え信号OCSに従って、論理動作用出力データLDまたはメモリ理動作用出力データRDの何れかとして出力する。論理動作用のアドレス線とデータ線については、各1bitづつの線を対として定義し、これを疑似的な双方向線とみなす。この双方向線をAD対と呼ぶ。2N×Nbitのメモリで構成されるMLUTはAD対数がNとなる。図2Aは、AD対によってMLUT同士を相互接続するMPLDの一例を示し、図2Bは、MLUT間のAD対の接続の一例を示す。相互接続は位置的に隣接するMLUT同士を接続する近接配線と、離れたMLUT同士を接続する離間配線図2A及び2Bには図示せずの2種類がある。コンフィギュレーションによって目的の回路が実装される。2.不揮発性メモリの構成本実施形態に係る半導体装置としての不揮発性MPLDは、不揮発性メモリセルアレイを搭載して、以下のような利点を有する。1電源を切っても回路構成情報が保持されるため、起動前の回路構成情報の読み込みが不要になり、電源投入後にすぐに動作可能インスタントONである。2万が一の誤作動時に、その時の回路構成情報が残っているため、誤動作の再現性の検証や原因解明が容易である。3不揮発性PLDで用いられるメモリは、SRAMなどのメモリに比べ書き換えに高エネルギーを必要とするため、外部的なノイズによる微弱なパルス電流で値が反転することがなく、ノイズエラーを防止できる。4採用する不揮発性メモリとして標準CMOSロジックプロセスで実現できるものとする。このメモリを適用することで、標準的なフラッシュメモリで必要となる専用プロセスを必要とせず、低コストで不揮発性MPLDを実現できる。また、将来、MPLDをIPIntellectualProperty:半導体の設計データやシミュレーションモデルなどとして使用する時にも、標準CMOSロジックプロセスのみで実現することで、将来、MPLDをIPとして提供する際に、他回路との親和性が高くなる。2.1不揮発性メモリ図3は、一般的なフラッシュメモリの一例を示す図である。図3で示すように、フラッシュメモリ2100は、トランジスタのゲート部分に絶縁膜で囲まれたフローティングゲートfloatinggateを持っている。外部からエネルギーを与えることによりフローティングゲート内の電荷の出し入れを行うことができる。外部からエネルギーを与えない限り、フローティングゲート内の電荷が出入りしないため、電荷の状態を保つことができる。この電荷の有無をデータの1、0に対応させることで、不揮発性メモリを実現する。図3のようなポリシリコンの上に絶縁膜をおき、その上にポリシリコンをのせるには、専用プロセスが必要となり、標準CMOSロジックプロセスでは、この構造のフローティングゲートを作ることができない非特許文献1に示される。図4及び図5を用いて本実施形態に係る不揮発性メモリを説明する。図4は、標準ロジックプロセスで実現する本実施形態に係る不揮発性メモリの一例を示す図である。図4に示す不揮発性メモリ1100は、NMOSNegativechannelMetalOxideSemiconductorトランジスタ1110と、PMOSPositivechannelMetalOxideSemiconductorトランジスタ1120から構成され、NMOS1110とPMOS1120とのゲート部分を共有することにより、フローティングゲートとして機能する。PMOS1120のソース端子及びドレイン端子は、コントロールゲートCNとして機能する。図5は、本実施形態に係る不揮発性メモリセルの断面図である。図5に示す不揮発性メモリセル1100は、2つのトランジスタのゲート部分を接続することにより、当該接続部をフローティングゲートとして機能させることで、絶縁膜で囲まれたフローティングゲートが不要になるので、フラッシュメモリの専用プロセスを用いることなく、標準CMOSロジックプロセスで実現できる。また、トランジスタのカップリング比を変えることで容易に書き込み特性を変化させることができる。以下に、この不揮発性メモリの書き込み動作、削除動作、読み出し動作について述べる。2.2書き込み動作書き込み動作は、フローティングゲートに電子を注入することによって行う。電子の注入方法としてチャネルホットエレクトロン注入、NMOSトランジスタのn拡散層はグラウンドにし、消去電流となる電圧をコントロールノードに印加することで、CGP/CGNの比が1より小さい場合、PMOSのゲート酸化膜における電界がNMOS側の電界より大きくなり、p拡散層とフローティングゲート間でF/Nトンネリングが起こり、電子の除去が行われる。一方で、CGP/CGNが1より大きな場合はNMOSゲートF/Nトンネリングを利用する場合以下NF/Nerase、コントロールノードをグラウンドにしておき、NMOS1110のN拡散層に高電圧を印加することで、N拡散層側へF/Nトンネリングを起こすことで、電子の除去が行われる。2.4読み出し動作読み出し動作は、フローティングゲートに電子が注入されていなければ、NMOS1110が‘ON’になり、電子が注入されている場合は‘OFF’のままである。この‘ON’、‘OFF’を、NMOS1110のソースをVSS、ドレインをVDDにし、電流が流れるか否かを読み取ることでデータの読み出しが行われる。2.5適用するメモリのセルサイズ本実施形態に係る不揮発性メモリを用いる際のメモリサイズについて述べる。フローティングゲートの電位をVfg、コントロールノードの電位をVcnとすると、CGP、CNPは直列キャパシタネットワークであるのでVfgの電位は、以下の式で表すことができる。Vfg=Vcn×CGP/CGNCGP上式から分かるように、CGPを大きくすることでVcnの電位を上げることなくVfgの電位を上げることができることが分かる。よって、CGPを大きくすることで比較的低電圧で不揮発性メモリの書き込みを行うことができるが、CGPを大きくすることは、即ち、PMOSのゲート幅を大きくすることとなるので、メモリの面積が大きくなってしまう。これまで試作したTEGの測定結果より、NMOSのチャネル電位の半分程度がVfgに印加できれば書き込みが可能なことがわかっているので、本実施形態に係る不揮発性メモリは、NMOSとPMOSのカップリング比を1:2として、面積が最小になるサイズを適用した。3.不揮発性MPLDの構成上記のように、不揮発性メモリは、書き込み時に高電圧を必要とする。また、一般に、メモリの読み出しは、読み出し電流が小さいためセンサアンプを用いて読み出しを行うことが一般的である。しかし、従前のMPLDはSRAMを用いているため、高電圧を発生させる回路はなく、読み出し動作も、論理動作時の非同期読み出しに対応するため、センスアンプを用いず、SRAM自身のドライバビリティにて他回路を駆動している。そのため、不揮発性MPLDの実現は、SRAMを不揮発性メモリからなるメモリセルアレイに置き換えるだけでは実現できない。そこで、本実施形態においては、以下に示す不揮発性MPLDに必要な追加回路を設ける。3.1不揮発性MPLDに必要な追加回路不揮発性MPLDは、現状のMPLDのメモリ置き換えで実現する。そのためには、構成要素であるMLUTを不揮発性化する必要がある。それを行う際、以下の事柄が問題となる。不揮発性メモリの書き込みに高電圧が必要読み出し電流が小さいので読み出しの機構が必要書き込みと読み出しで高電圧とVDDの切り替えが必要信頼性確保のため既存のMLUT構成での設計が必要図6は、本実施形態に係る不揮発性MLUTの一例を示す図である。不揮発性MLUT110は、図4及び図5で示した不揮発性メモリセル1100を2×2n個有する不揮発性メモリセルアレイ110と、不揮発性メモリセル1100の書き込みに必要な高電圧を発生する高電圧発生回路160と、書き込み時と読み出し時にデコーダからの信号を、書き込み時には高電圧、読み出し時にはVDDに切り替える必要があるので、電圧を切り替える電圧切替器150とを備える。不揮発性メモリセルアレイ110には、不揮発性メモリセル1100に、後述する読出しバッファ回路1120が接続される。電圧切替器150は、例えば、レベルシフタである。高電圧発生回路160としてはキャパシタを用いたチャージポンプなどが挙げられる。図6に示されるその他の構成要素は、図1を用いて説明したMLUT20と同じである。電圧切替回路150により、データ書き込み時には、高電圧で不揮発性メモリセルを動作させることができる。まず、不揮発性メモリの書き込みに高電圧が必要なことから、高電圧を発生させなければならない。その手法について次に述べる。3.2不揮発性メモリに必要な書き込み回路メモリが不揮発性になることでメモリに情報を書き込む際に、現状のSRAMと同等の書き込み方法では実現できない。上記したように、不揮発性メモリの書き込みにはSRAMにくらべ高電圧が必要である。書き込み回路については、適用するメモリセルの特性に合った高電圧を発生させることができる高電圧発生回路160が必要である。これは、それぞれ各MLUTに載せる方法、MLUTの外に置き、MPLD内部に1つ載せる方法、外部から専用ピンを用いて入力させる方法などがあげられる。それぞれの利点を表1にまとめる。各MLUTの内部に高電圧発生回路を持たせることによって面積の面では不利になるが、高電圧発生回路からメモリまでの配線を短くできる他、MLUTの書き換えを並列に行うことが可能となるため、ダイナミックリコンフィグなどの高速な書き換えが必要なアプリケーションに向いている。しかし、チャージポンプを多く持つ設計になるので消費電力が増える設計となる。MPLD内部に1つ持たせる方法は、面積の面で有効である。しかし、MLUTを同時に書き換えるためには大きな電流が必要となるため、同時にMLUTを書き換えるのに必要な電力を発生する回路を設計しなければならない。よって、MLUTを部分的に書き換える際にも、ほぼ同じ電力を使うことになるので、その場合には消費電力に無駄が生じる。この2つの手法では、内部で高電圧を発生させる方法なので外部から複数電圧を印加する必要がなく、書き換えが容易に行えるといえる。また、外部からの専用ピンを用いる方法は、一番容易に実現できる方法であろう。なぜなら、内部に高電圧発生回路をもたないでよくなるため、その分面積の考慮が必要なくなる。また、内部に高圧源を持つことによる他の回路への影響を考慮する必要もなくなる。しかし、書き換え時に外部からの高電圧が必要でそれが入力できない場合に書き換えができなくなる。本実施形態では、不揮発性メモリの特性に合わせた電圧を印加するため、外部ピンから任意の高電圧を印加できるようにした。次に読み出し回路について述べる。3.3不揮発性メモリに必要な読み出し回路図7は、従前のMPLDに使用されるメモリセルの一例を示す図である。従前のMPLDに適用されるメモリセルは、図7で示すような6トランジスタのSRAM構造をしている。SRAMはWordLineWLを開くと、自らのドライバビリティでBitLineを駆動することができる。MPLDは、ロジック動作時にMLUTの信号を次のMLUTに伝搬することにより、論理を実現しており、非同期読み出しを行っているため、センスアンプを用いない設計を行っている。しかし、不揮発性メモリは読み出し電流が小さく、自らのドライバビリティではBitLineを駆動することができない。よって、読み出し回路の追加が必須となる。センスアンプを用いる方法も考えられるが、現状のMPLDに対して設計の大幅な変更が必要となり、現在の設計資産を活かすことができなくなる。そこで、現状のSRAMと同様、またはそれ以上のドライバビリティを持たせ、同様の動作をさせることが出来ればSRAM部分の置換えを行うことによる設計が可能となる。その設計手法について、以下に述べる。図8は、本実施形態に係るインバータ回路の一例を示す図である。図8に示すインバータ回路1121は、読出しバッファ回路1120の一部になるもので、ドライバビリティを確保するために設けられる回路である。インバータ回路1121には、ドライバビリティの確保と面積増加を抑えるため、図8に示すような回路構成を有する。これを、用いることによりドライバビリティの確保はできるが、SRAMがWordLineWLを開くときのみ出力に値を出す動作をするのに対し、常に、出力に値がでる状態になってしまう。図9は、本実施形態に係るトランスファーゲートの一例を示す図である。上記問題常に出力に値がでるを解決するために、インバータ回路1121の出力に図9に示すCMOSトランスファーゲート1200を接続する。これにより、非選択時には、SRAMと同様に出力OUTがHigh-Zになる。また、ノイズ耐性や、ドライバビリティの低下を防ぐためCMOSトランスファーゲート1200を用いる。これらの回路を、不揮発性メモリの出力に接続することにより、読み出し時にSRAMと同様の動作を実現できる。しかし、これらの回路だけでは、不揮発性メモリの読み出しはできない。なぜなら、不揮発性メモリのフローティングゲートに電子が注入され、NMOSのゲートがONになった場合でも、その抵抗値によってBLに入力された信号が落ちきらず、バッファに1がセンスされてしまう問題点が発生するからである。図10は、本実施形態に係る非揮発性メモリセル、インバータ回路及びトランスファーゲートの構成を示す図である。上記問題を解決するため、読出しバッファ回路1120は、インバータ回路1121に加えてさらに、M0、M1の2つのトランジスタを追加した構造を有する。これらのトランジスタの役割を述べる。まず、M1は、先程述べた問題を解決するために追加したトランジスタである。このトランジスタは、ゲート幅を最小にし、ゲート長を4倍としている。それによって、抵抗値が大きくなり、不揮発性メモリのNMOS部分とM1で抵抗分割が起きることによって、バッファのゲートにつながる部分の電圧を12VDDより落としてやることが可能となる。それにより、バッファの入力が1でなく、0とセンスされ、RBLReadBitLine信号線を介した正常な読み出しが可能となる。しかし、不揮発性メモリは書き込み時に高電圧、高電流を必要とするため、抵抗の高いトランジスタの他に、抵抗の低いトランジスタも必要となる。そこで、ゲート幅を大きくしゲート長を最小にしたM0を挿入した。書き込み時に、WBLWrightBitLine信号線から高電圧をM0に通すことによって、書き込みに必要な大きな電流を確保することができる。この2つのトランジスタを、書き込み及び読み出し信号により切り替えて、電流の通る経路を切り替えることで、不揮発性メモリの書き込み、読み出しを実現することができる。4.実施例上記した回路を実装し、不揮発性MLUTを一例を示した。4.1評価環境まず、評価環境について述べる。レイアウトからネットリストを抽出するLPEを行うために、Mentor社のCalibreを使用し、レイアウトから抽出したネットリストの動作シミュレーションは、Synopsys社のHSPICEやSilvaco社のSmartViewを利用する。各ツールのバージョンを以下に示す。LPEMentor社Calibrev2007.318.11HSPICESynopsys社Star-HSPICEversionY-2006.03-SP1SmartViewSilvaco社SmartViewversion2.22.8.R今回行うシミュレーションでは、トランジスタのチャネルからゲートへの電子の移動が考慮されていないため不揮発性メモリの書き込みが再現できない。そこで、フローティングゲートに任意の初期値を設定し、書き込みが完了した状態でシミュレーションを行った。なお、今回、適用するメモリは、以前にTEGとして設計及び試作し、書き込みが可能なことを確認している。その結果を図11に示す。図11は、データが消去されたセルに対して、書き込みパルスを印加していった場合のセルの閾値電圧VD005V、Vpwell0Vとし、VCNを変化させていってID1nAとなったときのVCNの値の変化を、プログラム時間を横軸にとって表わしたものである。閾値変化を確認できたことで、このメモリが書き込み可能なことがわかる。最適な書き込み条件の検討は、更に今後行っていく。4.2試作結果上記した回路を実装した不揮発性MLUTが、現状のMLUTと同様の動作ができるのか、また、動作速度にどの程度の違いが生じるかを検証するため、不揮発性MLUTの試作を行った。試作した不揮発性MLUTのレイアウト図を図12に示す。この不揮発性MLUTは、AD対数7のため、メモリ容量としては896bitである。面積は、298.5×359.7m2となった。4.3MLUTの動作シミュレーション不揮発性メモリの書き込みは、シミュレーションで再現できないため、メモリのフローティングゲート部分に任意の初期値を設定し、擬似的に書き込みを行った状態とした。その上で、その書き込まれた値が出力されるかをシミュレーションした。その結果を図13に示す。破線で囲まれた部分が入力と出力データである。メモリ動作モードにて読み出しを行った際、書き込んだ値SINと同じ値が出力SOUTに出力されることが確認できた。また、論理動作モードでも、同様に正しい値が出力された。4.4試作評価今回の試作では、不揮発性メモリを適用した単体MLUTを制作しシミュレーションを用いて読み出しが正常に行われることを確認した。書き込みを正常に行えることができれば、この不発性MLUTを、従来のMPLDで用いてきた手法で実装することにより、不揮発性MPLDとして機能することができる。本実施形態では、MPLDの不揮発性化に伴うコスト面や他回路の動作の問題を解決するため、標準CMOSロジックプロセスで実現できる不揮発性メモリを検討し、不揮発性MLUTの試作シミュレーションを行った。そして、今回の実装方法により、不揮発性MLUTが書き込み動作を除き、正常に動作することが確認できた。以上説明した実施形態は典型例として挙げたに過ぎず、その各実施形態の構成要素の組合せ、変形及びバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理及び請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。