(57)【要約】【課題】複数のコンフィギュラブル回路に実行させたい回路を構築するのに必要な回路情報を不揮発的に保持することが可能な半導体装置を提供する。【解決手段】リコンフィギュラブルアナログモジュール１００は、複数のコンフィギュラブル回路が行列状に配置されたＦＰＡＡブロック１００と、ＦＧＴブロック２００とを備える。ＦＧＴブロック２００は、各コンフィギュラブル回路内のプログラマブル抵抗に対応させて設けられた複数の不揮発性プログラマブル抵抗を含む。各不揮発性プログラマブル抵抗は、自己の抵抗値を不揮発的に記憶するプログラム素子としてＦＧＴ５０を含む。ＦＧＴブロック２００は、アナログ動作時におけるＦＧＴ５０への電圧印加条件に応じて、ＦＧＴ５０にプログラムするしきい値電圧をチューニングするためのプログラム回路をさらに含む。【選択図】図２
2014017650.tif 000002
【特許請求の範囲】
【請求項１】
再構成可能なアナログ回路を備えた半導体装置であって、
前記再構成可能なアナログ回路は、
それぞれの処理回路の再設定が可能な複数のコンフィギュラブル回路と、
前記複数のコンフィギュラブル回路に実行させたい回路を構築するのに必要な回路情報を記憶するための記憶装置とを含み、
前記複数のコンフィギュラブル回路の各々は、抵抗値を調整可能なプログラマブル抵抗を含み、
前記プログラマブル抵抗は、自己のしきい値電圧を不揮発的に記憶するプログラム素子を構成要素として含み、
前記プログラマブル抵抗の抵抗値が前記実行させたい回路に応じた目標抵抗値となるように、前記再構成可能なアナログ回路の動作時における前記プログラム素子への電圧印加条件に応じて、前記プログラム素子にプログラムするしきい値電圧をチューニングするための第１のプログラム回路をさらに備える、半導体装置。
【請求項２】
前記第１のプログラム回路は、前記目標抵抗値に対応させて前記プログラム素子に流れる電流の目標値を設定するとともに、前記再構成可能なアナログ回路の動作時における前記プログラム素子への電圧印加条件の下で前記プログラム素子に流れる電流が前記目標値となるように、前記プログラム素子にプログラムするしきい値をチューニングする、請求項１に記載の半導体装置。
【請求項３】
前記第１のプログラム回路は、前記再構成可能なアナログ回路の動作時における前記プログラム素子への電圧印加条件の下で、前記プログラム素子を線形領域で動作させる、請求項２に記載の半導体装置。
【請求項４】
前記再構成可能なアナログ回路は、前記実行させたい回路の回路情報に応じたスイッチング動作によって、前記複数のコンフィギュラブル回路間の接続を制御可能な複数のプログラマブルスイッチをさらに含み、
前記複数のプログラマブルスイッチの各々は、前記プログラム素子を構成要素として含み、
各前記プログラマブルスイッチが前記実行させたい回路に応じてオン／オフされるように、対応する前記プログラム素子にプログラムするしきい値電圧をチューニングするための第２のプログラム回路をさらに備える、請求項１から３のいずれか１項に記載の半導体装置。
【請求項５】
前記第２のプログラム回路は、
前記実行させたい回路においてオフされる前記プログラマブルスイッチに対して、前記再構成可能なアナログ回路の動作時において前記プログラム素子がオフされるように、チューニング時における前記プログラム素子への電圧印加条件を設定する一方で、前記実行させたい回路においてオンさせる前記プログラマブルスイッチに対して、前記再構成可能なアナログ回路の動作時において前記プログラム素子のオン抵抗が所定値より小さくなるように、チューニング時における前記プログラム素子への電圧印加条件を設定する、請求項４に記載の半導体装置。
【請求項６】
前記第２のプログラム回路は、前記第１のプログラム回路と共通のハードウェアを用いて構成され、前記第１のプログラム回路と前記チューニング時における前記プログラム素子への電圧印加条件を異ならせる、請求項５に記載の半導体装置。
【請求項７】
前記プログラマブル抵抗は、複数の前記実行させたい回路の回路情報にそれぞれ対応して設けられ、かつ、対応する前記コンフィギュラブル回路に対して互いに並列に接続される複数の前記プログラム素子を含み、
各前記プログラム素子に対応して配置され、各々に対応の前記プログラム素子が接続される複数のワード線をさらに備え、
前記第１のプログラム回路は、前記複数のワード線のうちの１つのワード線を順次選択状態に駆動することにより、各前記プログラム素子の抵抗値が、対応する前記実行させたい回路の回路情報に応じた目標抵抗値となるように、各前記プログラム素子にプログラムするしきい値電圧をチューニングする、請求項１に記載の半導体装置。
【請求項８】
各前記プログラム素子と対応する前記コンフィギュラブル回路との間に設けられた複数の選択ゲート線と、
前記実行させたい回路の回路情報に応じて、前記複数の選択ゲート線のうちの１つの選択ゲート線を選択状態に駆動することにより、前記選択状態の選択ゲート線に接続される前記プログラム素子を前記コンフィギュラブル回路に適用させるゲート線ドライバとをさらに備える、請求項７に記載の半導体装置。
【請求項９】
前記プログラマブル抵抗は、複数の前記実行させたい回路の回路情報にそれぞれ対応して設けられ、かつ、対応する前記コンフィギュラブル回路に対して互いに並列に接続される複数の前記プログラム素子を含み、
各前記プログラム素子に対応して配置され、各々に対応の前記プログラム素子が接続される複数のワード線をさらに備え、
前記第２のプログラム回路は、前記複数のワード線のうちの１つのワード線を順次選択状態に駆動することにより、各前記プログラム素子が、対応する前記実行させたい回路の回路情報に応じてオン／オフされるように、各前記プログラム素子にプログラムするしきい値電圧をチューニングする、請求項４に記載の半導体装置。
【請求項１０】
各前記プログラム素子と対応する前記コンフィギュラブル回路との間に設けられた複数の選択ゲート線と、
前記実行させたい回路の回路情報に応じて、前記複数の選択ゲート線のうちの１つの選択ゲート線を選択状態に駆動することにより、前記選択状態の選択ゲート線に接続される前記プログラム素子を前記コンフィギュラブル回路に適用させるゲート線ドライバとをさらに備える、請求項９に記載の半導体装置。
【請求項１１】
行列状に配列される複数の不揮発性メモリセルをさらに備え、
前記第１のプログラム回路は、前記プログラム素子のしきい値電圧のチューニング時に前記プログラム素子に印加する電圧を発生する一方で、前記複数の不揮発性メモリセルの動作時に前記複数の複数の不揮発性メモリセルに印加する電圧を発生可能に構成された電圧発生回路を含む、請求項１に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体装置に関し、たとえば再構成可能なアナログモジュールを搭載した半導体装置に好適に利用できるものである。
【背景技術】
【０００２】
再構成可能なアナログモジュール（以下、「リコンフィギュラブルアナログモジュール」とも称す）とは、ＦＰＡＡ（Field  Programmable  Analog  Array）のようなリコンフィギュラブル回路と、そのリコンフィギュラブル回路に実行させたい回路（以下、「実行回路」とも称す）を構築するのに必要な記憶装置とを備えており、ソフトウェアなどにより予め決められた規則に従って、動作時に必要な回路情報を読み出すことにより、実行回路を構築できる装置である。
【０００３】
このような半導体装置によれば、実行回路を動的に構築することによって小面積の半導体装置上に多様な機能を実現できるため、専用ハードウェアの製造・開発費を低減することが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第５１９６７４０号明細書
【特許文献２】特表２００５−５２２０７１号公報
【非特許文献】
【０００５】
【非特許文献１】Ｅ・サンチェズ‐シネンシオ他、「アナログ・ディジタル混載システムＬＳＩ  低電圧・低消費電力回路技術」、培風館、p.113-p.146
【非特許文献２】Willy M. C. Sansen, "ANALOG  DESIGN ESSENTIALS", Springer, p.485-p.518.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のリコンフィギュラブルアナログモジュールにおいては、記憶装置として、ＲＡＭ（Random  Access  Memory）やフリップフロップなどの揮発性メモリを用いているため、半導体装置の電源が遮断されると、記憶装置に格納されていた回路情報が失われてしまう。そのため、電源遮断状態からの復帰時には、記憶装置への回路情報の再書込みが必要となる。したがって、電源遮断状態からの復帰後直ちにリコンフィギュラブル回路を動作させることができない。
【０００７】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
一実施の形態によれば、半導体装置は、再構成可能なアナログ回路を備える。再構成可能なアナログ回路は、それぞれの処理回路の再設定が可能な複数のコンフィギュラブル回路と、複数のコンフィギュラブル回路に実行させたい回路を構築するのに必要な回路情報を記憶するための記憶装置とを含む。複数のコンフィギュラブル回路の各々は、抵抗値を調整可能なプログラマブル抵抗を含む。プログラマブル抵抗は、自己のしきい値電圧を不揮発的に記憶するプログラム素子を構成要素として含む。半導体装置は、プログラマブル抵抗の抵抗値が実行させたい回路に応じた目標抵抗値となるように、再構成可能なアナログ回路の動作時におけるプログラム素子への電圧印加条件に応じて、プログラム素子にプログラムするしきい値電圧をチューニングするための第１のプログラム回路をさらに備える。
【発明の効果】
【０００９】
一実施の形態によれば、再構成可能なアナログモジュールを搭載した半導体装置において、複数のコンフィギュラブル回路に実行させたい回路を構築するのに必要な回路情報を不揮発的に保持することができる。これにより、電源遮断状態からの復帰時における記憶装置の再書込みが不要となるため、電源遮断状態からの復帰後直ちに半導体装置を動作させることができる。
【図面の簡単な説明】
【００１０】
【図１】一実施の形態による半導体装置の代表例として示されるリコンフィギュラブルアナログモジュールの概略構成図である。
【図２】図１におけるＦＧＴブロックの構成の一例を説明する図である。
【図３】図２における不揮発性プログラマブル抵抗の構成の一例を説明する図である。
【図４】ＦＧＴの動作状態を説明する図である。
【図５】ＦＧＴブロックの動作モードを説明する図である。
【図６】ＦＧＴにおける動作電圧の一例を示す図である。
【図７】図２におけるセンス・書込回路の構成を示す図である。
【図８】センスアンプにおけるセンスアンプ動作を説明する図である。
【図９】図８におけるＰチャネルＭＯＳトランジスタの詳細な構成を示す図である。
【図１０】センス感度設定情報０が２ビットの信号である場合のＰチャネルＭＯＳトランジスタの構成を示す図である。
【図１１】図１０におけるセンス感度設定情報０［１：０］と電流Ｉｏとの関係を示す図である。
【図１２】ＦＧＴのデータの消去動作を説明するフローチャートである。
【図１３】ＦＧＴへのデータの書込動作を説明するフローチャートである。
【図１４】書込ベリファイ時におけるソース線への印加電圧の設定を説明する図である。
【図１５】ＦＧＴの電圧電流特性を示す図である。
【図１６】ＦＧＴの等価回路を示す図である。
【図１７】ローパスフィルタの回路構成を示す図である。
【図１８】一実施の形態によるＦＰＡＡの構成例を示す図である。
【図１９】実施の形態２による半導体装置の代表例として示されるリコンフィギュラブルアナログモジュールの概略構成図である。
【図２０】図１９における不揮発性グローバルスイッチＦＧＳＷ１の構成を説明する図である。
【図２１】図２０における不揮発性スイッチＦＳＷの構成の一例を説明する図である。
【図２２】図１９における不揮発性グローバルスイッチＦＧＳＷ０の構成を説明する図である。
【図２３】図２３における不揮発性スイッチＦＳＷの構成の一例を説明する図である。
【図２４】実施の形態２によるＦＰＡＡの構成例を示す図である。
【図２５】実施の形態３による半導体装置の代表例として示されるリコンフィギュラブルアナログモジュールの概略構成図である。
【図２６】書込ベリファイ時の電圧印加条件を説明する図である。
【図２７】実施の形態３によるＦＰＡＡの構成例を示す図である。
【図２８】実施の形態４による半導体装置の代表例として示されるリコンフィギュラブルアナログモジュールにおけるＦＧＴブロックの構成の一例を説明する図である。
【図２９】ＦＧＴブロックの動作時およびＦＰＡＡブロックの動作時におけるＦＧＴの動作電圧の一例を示す図である。
【図３０】ＦＧＴ５０ａのデータの消去動作を説明するフローチャートである。
【図３１】ＦＧＴ５０ｂのデータの消去動作を説明するフローチャートである。
【図３２】ＦＧＴ５０ａへのデータの書込動作を説明するフローチャートである。
【図３３】ＦＧＴ５０ｂへのデータの書込動作を説明するフローチャートである。
【図３４】実施の形態１〜４によるＦＰＡＡを搭載したフラッシュ内蔵マイコンの回路構成を示す図である。
【図３５】従来のリコンフィギュラブルアナログモジュールの概略構成を示す図である。
【図３６】図３５のＣＡＢに配されるプログラマブル抵抗ＰＲの回路構成を示す図である。
【図３７】図３５のＣＡＢに配されるスイッチＳＷの回路構成を示す図である。
【図３８】図３５におけるグローバルスイッチＧＳＷ０の構成を示す図である。
【図３９】図３５におけるグローバルスイッチＧＳＷ１の構成を示す図である。
【発明を実施するための形態】
【００１１】
以下、一実施の形態について図に基づいて説明する。
（従来のリコンフィギュラブルアナログモジュール）
まず、上記の特許文献１に開示される、従来のリコンフィギュラブルアナログモジュールの概略構成について、図３５を用いて説明する。
【００１２】
図３５を参照して、ＦＰＡＡ３００は、演算を行なう基本要素であるコンフィギュラブルアナログブロック（Configurable  Analog  Block：ＣＡＢ）が行列状（図３５では２行２列）に配置されたＣＡＢアレイを備える。ＦＰＡＡ３００は、このＣＡＢアレイの周辺に配置されたコンフィギュレーションメモリ３１０およびＦＰＡＡ制御回路３２０をさらに備える。
【００１３】
ＣＡＢアレイは、互いに直交する方向に配置された複数のグローバル配線Ｙ０〜Ｙ３および複数のグローバル配線Ｘ０，Ｘ１と、複数のグローバル配線Ｙ０〜Ｙ３と複数のグローバル配線Ｘ０，Ｘ１との交点に対応して配置された複数のグローバルスイッチＧＳＷ０，ＧＳＷ１とを含む。
【００１４】
各ＣＡＢは、演算増幅器ＯＰ１と、複数のプログラマブル抵抗ＰＲと、複数のスイッチＳＷと、バイアス回路ＢＣと、コンデンサＣ１，Ｃ２とを含む。複数のプログラマブル抵抗ＰＲは、実行回路の適用用途に合わせてその抵抗値が設定される。複数のプログラマブル抵抗素子ＰＲは、演算増幅器ＯＰ１の反転入力ノード、非反転入力ノード、および反転入力ノードと非反転入力ノードとの間にそれぞれ接続される。複数のスイッチＳＷは、プログラマブル抵抗ＰＲ、バイアス回路ＢＣおよびコンデンサＣ１，Ｃ２の各々と演算増幅器ＯＰ１との電気的接続および遮断を制御する。
【００１５】
ＣＡＢ００〜ＣＡＢ１１は、演算に必要な実行回路を特定するための回路情報に従って実行回路を構築し、データ処理を実現する。回路情報としては、複数のプログラマブル抵抗ＰＲの抵抗値、複数のスイッチＳＷを導通／遮断させるためのオン／オフ情報、および複数のグローバルスイッチＧＳＷ０，ＧＳＷ１のオン／オフ情報などが用いられる。回路情報は、コンフィギュレーションメモリ３１０に格納されている。ＦＰＡＡ制御回路３２０は、ＦＰＡＡ３００の動作時にコンフィギュレーションメモリ３１０から回路情報を読み出して実行回路を構築する。
【００１６】
特許文献１においては、コンフィギュレーションメモリ３１０として、ＲＡＭ（Random  Access  Memory）やフリップフロップなどの揮発性メモリを用いている。そのため、半導体装置の電源が遮断されると、コンフィギュレーションメモリ３１０に格納されていた回路情報が失われてしまう。したがって、電源遮断状態からの復帰時には、コンフィギュレーションメモリ３１０への回路情報の再書込みが必要となる。
【００１７】
なお、コンフィギュレーションメモリ３１０を構成するＲＡＭまたはフリップフロップに対してバックアップ電源により電力を供給する構成とすれば、回路情報を不揮発的に保持することが可能となる。しかしながら、動作していないスタンバイ状態において半導体装置にスタンバイ電流が流れるため、消費電力が増大するという問題がある。また、バックアップ電源となるバッテリが消耗することによって回路情報が失われる可能性がある。
【００１８】
さらに特許文献１では、図３６および図３７に示すように、プログラマブル抵抗ＰＲおよびスイッチＳＷについても、ＲＡＭなどの揮発性メモリを用いて構成しているため、上述した問題と同様の問題、すなわち、電源遮断によって保持している情報が失われてしまうという問題が生じ得る。
【００１９】
図３６は、図３５のＣＡＢに配されるプログラマブル抵抗ＰＲの回路構成を示す図である。
【００２０】
図３６を参照して、プログラマブル抵抗ＰＲは、抵抗素子として動作するＮチャネルＭＯＳトランジスタＭ３と、ＮチャネルＭＯＳトランジスタＭ３とゲートが共通に接続されたＮチャネルＭＯＳトランジスタＭ４と、２つの基準電圧ノードＲＥＦ７およびＲＥＦ５の間にＮチャネルＭＯＳトランジスタＭ４と直列に接続されるＰチャネルＭＯＳトランジスタＭ５とを含む。
【００２１】
ＮチャネルＭＯＳトランジスタＭ３の抵抗値はゲート電圧Ｖｂｉａｓに応じて変化する。特許文献１では、ゲート電圧ＶＧｂｉａｓを受けるＮチャネルＭＯＳトランジスタＭ４に所望の抵抗値に応じた定電流を流す。定電流をＩｒｅｆとし、基準電圧ノードＲＥＦ７およびＲＥＦ５間の電圧を１．０Ｖとし、ＮチャネルＭＯＳトランジスタＭ３で実現したい所望の抵抗値をＲｅｘｐとすると、定電流Ｉｒｅｆ＝１．０Ｖ／Ｒｅｘｐという関係が成り立つ。したがって、定電流Ｉｒｅｆを適切な値となるようにゲート電圧ＶＧｂｉａｓを調整することによって、ＮチャネルＭＯＳトランジスタＭ３を所望の抵抗値Ｒｅｘｐに設定することができる。なお、調整後のゲート電圧ＶＧｂｉａｓは、ストレージ回路４１０によってホールドされる。これにより、ＮチャネルＭＯＳトランジスタＭ３を所望の抵抗値Ｒｅｘｐに保持することができる。
【００２２】
しかしながら、特許文献１では、１つのプログラマ抵抗ＰＲを構成するためにＲＡＭ４００、ストレージ回路４１０および差動増幅器ＯＰ２を配置する必要があるため、構造が複雑化するとともに、部品点数が多くなりＦＰＡＡ３００の小型化が困難となる。
【００２３】
また、ゲート電圧ＶＧｂｉａｓを保持するためのストレージ回路４１０は、揮発性の記憶装置であるため、時間の経過とともにリーク電流が増加し、ゲート電圧Ｖｂｉａｓを保持することが難しくなる。そのため、ゲート電圧Ｖｂｉａｓを一定電圧に保持するために、定期的なリフレッシュ動作（再キャリブレーション動作）が必要となる。
【００２４】
図３７は、図３５のＣＡＢに配されるスイッチＳＷの回路構成を示す図である。図３８および図３９は、図３５におけるグローバルスイッチＧＳＷ０，ＧＳＷ１の構成を示す図である。グローバルスイッチＧＳＷ０，ＧＳＷ１の各々は、図３７に示すスイッチＳＷと同様の構成を有するスイッチＳＷを複数個含む。
【００２５】
図３７を参照して、スイッチＳＷは、ＮチャネルＭＯＳトランジスタおよびＰチャネルＭＯＳトランジスタを並列に接続して構成されたパストランジスタＴＲと、パストランジスタＰＲのオン／オフを制御するためのＳＲＡＭ（Static  Random  Access  Memory）４３０とを含む。
【００２６】
ＳＲＡＭ４３０には、実行回路に応じたパストランジスタＴＲのオン／オフ情報が格納される。しかしながら、ＳＲＡＭ４３０は揮発性メモリであるため、電源が遮断されると、ＳＲＡＭ４３０に格納されていたオン／オフ情報が失われてしまう。そのため、電源遮断状態からの復帰時には、ＳＲＡＭ４３０への回路情報の再書込みが必要となる。したがって、電源遮断状態からの復帰後直ちにＦＰＡＡを動作させることができない。
【００２７】
（実施の形態１）
次に、一実施の形態による半導体装置の代表例として示されるリコンフィギュラブルアナログモジュールの概略構成について、図１を用いて説明する。
【００２８】
図１を参照して、一実施の形態によるリコンフィギュラブルアナログモジュールは、一般的なＦＰＡＡの構成を有するブロック（以下、「ＦＰＡＡブロック」とも称す。）１００と、複数個のフローティングゲートトランジスタ（ＦＧＴ：Floating  Gate  Transistor）を含むブロック（以下、「ＦＧＴブロック」とも称す。）２００とから構成される。
【００２９】
ＦＰＡＡブロック１００は、図３４に示した従来のＦＰＡＡ３００と基本的に同様の構成を有しており、演算を行なう基本要素であるＣＡＢが行列状に配置されたＣＡＢアレイと、このＣＡＢアレイの周辺に配置されたコンフィギュレーションメモリ１０およびＦＰＡＡ制御回路２０とを備える。
【００３０】
ＦＧＴブロック２００は、各ＣＡＢ内のプログラマブル抵抗ＰＲに対応して設けられる複数の不揮発性プログラマブル抵抗ＦＲを含む。図１では、ＣＡＢ００内の３つのプログラマブル抵抗ＰＲに対応して設けられた３つの不揮発性プログラマブル抵抗ＦＲ０，ＦＲ１，ＦＲ２が示されている。
【００３１】
具体的には、不揮発性プログラマブル抵抗ＦＲ０は、引き出し線ＦＤ０００，ＦＳ０００を介してプログラマブル抵抗ＰＲに並列に接続される。この不揮発性プログラマブル抵抗ＦＲ０の接続によって、プログラマブル抵抗ＰＲはＣＡＢ００から削除される。図１では、削除されたプログラマブル抵抗ＰＲを破線で示す。すなわち、プログラマブル抵抗ＰＲが不揮発性プログラマブル抵抗ＦＲ０に置き換えられる。同様にして、ＣＡＢ００内の残りの２つのプログラマブル抵抗ＰＲも、不揮発性プログラマブル抵抗ＦＲ１，ＦＲ２にそれぞれ置き換えられる。
【００３２】
不揮発性プログラマブル抵抗ＦＲは、後に説明するように、自己の抵抗値を不揮発的に記憶する「プログラム素子」として、ＦＧＴを含む。すなわち、本実施の形態１によるリコンフィギュラブルアナログモジュールにおいて、各ＣＡＢは、プログラマプル抵抗ＰＲ（図３５参照）に代えて、ＦＧＴを含む不揮発性プログラマブル抵抗ＦＲを含む。
【００３３】
図２は、図１におけるＦＧＴブロック２００の構成の一例を説明する図である。
図２を参照して、ＦＧＴブロック２００は、複数の不揮発性プログラマブル抵抗ＦＲと、複数の不揮発性プログラマブル抵抗ＦＲの各々に対して抵抗値をプログラミングするためのプログラム回路とを含む。なお、各不揮発性プログラマブル抵抗ＦＲは構成が同じであるため、ＣＡＢ００内に配置される不揮発性プログラマブル抵抗ＦＲ０を代表的に説明する。
【００３４】
図３は、図２における不揮発性プログラマブル抵抗ＦＲ０の構成の一例を説明する図である。
【００３５】
図３を参照して、不揮発性プログラマブル抵抗ＦＲ０は、ＦＧＴ５０と、選択用のＮチャネルＭＯＳトランジスタ５１〜５６とを含む。ＮチャネルＭＯＳトランジスタ５１〜５６には、例えば高耐圧ＭＯＳトランジスタが適用される。
【００３６】
不揮発性プログラマブル抵抗ＦＲ０に対しては、ビット線ＦＢＬ０、ワード線ＦＷＬ０，ＦＷＬ０Ｐ、ソース線ＦＳＬ０，ＦＳＬＰ０、および選択ゲート線ＦＳＧ，ＡＳＧが設けられる。
【００３７】
ＦＧＴ５０のドレインＦＤ０は、ＮチャネルＭＯＳトランジスタ５４を介して引き出し線ＦＤ０００に接続されるとともに、ＮチャネルＭＯＳトランジスタ５１を介してビット線ＦＢＬ０に接続される。
【００３８】
ＦＧＴ５０のソースＦＳ０は、ソース線ＦＳＬ０に接続されるとともに、ＮチャネルＭＯＳトランジスタ５２を介してソース線ＦＳＬＰ０に接続される。ソース線ＦＳＬ０と引き出し線ＦＳ０００との間には、ＮチャネルＭＯＳトランジスタ５６が接続される。
【００３９】
ＦＧＴ５０のゲートは、ワード線ＦＷＬ０に接続される。ワード線ＦＷＬ０は、ＮチャネルＭＯＳトランジスタ５３を介してワード線ＦＷＬ０Ｐに接続される。また、ワード線ＦＷＬ０は、ＮチャネルＭＯＳトランジスタ５５を介してＶｆｇｂｉａｓ発生回路１２に接続される。
【００４０】
ＮチャネルＭＯＳトランジスタ５４，５５，５６のゲートは、選択ゲート線ＡＳＧに接続される。選択ゲート線ＡＳＧは、ＦＰＡＡブロック１００の動作（アナログ動作）時に選択レベルの「Ｈ」レベルに駆動される。これにより、ＦＰＡＡブロック１００の動作時には、ＦＧＴ５０がＣＡＢ００内に配置される。
【００４１】
ＮチャネルＭＯＳトランジスタ５０，５１，５３のゲートは、選択ゲート線ＦＳＧに接続される。選択ゲート線ＦＳＧは、ＦＧＴブロック２００の動作時に選択レベルの「Ｈ」レベルに駆動される。これにより、ＦＧＴブロック２００の動作時には、ＦＧＴ５０がビット線ＦＢＬ０、ワード線ＦＷＬ０Ｐおよびソース線ＦＳＬＰ０に接続され、ＦＧＴ５０に対するデータの書込および消去が可能となる。
【００４２】
図３には、ＦＧＴ５０の構成をさらに示す。ＦＧＴ５０は、Ｐ型ウェルの表面上に絶縁層（図示せず）を介してフローティングゲートＦＧを形成し、さらにその上に絶縁層（図示せず）を介してコントロールゲートＣＧを形成し、ゲートＦＧおよびＣＧの両側にＮ型の不純物を注入してソースＦＳおよびドレインＦＤを形成したものである。コントロールゲートＣＧはワード線ＦＷＬに接続され、ドレインＦＤはビット線ＦＢＬに接続される。
【００４３】
ＦＧＴ５０は、フローティングゲートＦＧに電子が蓄積されているか否かによって、データ“０”または“１”を記憶する。ここでは、図３に示すように、フローティングゲートＦＧに電子が蓄積された状態を「消去状態（あるいは、高しきい値状態）」と呼び、フローティングゲートＦＧに電子が蓄積されていない状態を「書込状態（あるいは、低しきい値状態）」と呼ぶものとする。また、以下の説明においては、図４に示すように、ＦＧＴ５０に対してデータ“１”を書込むことは、ＦＧＴ５０を消去状態に設定することに対応し、データ“０”を書込むことは、ＦＧＴ５０を書込状態に設定することに対応する。なお、図４において、横軸Ｖｃｇｓはコントロールゲートおよびソース間の電位差であり、縦軸はＦＧＴ５０のソース・ドレイン間に流れる電流Ｉｆｇｔである。
【００４４】
一実施の形態によるリコンフィギュラブルアナログモジュールにおいて、ＦＧＴブロック２００の動作モードは、ＦＧＴブロック２００内のＦＧＴ５０に対するデータ消去および消去ベリファイと、ＦＧＴ５０に対するデータ書込および書込ベリファイとに分類される。図５は、ＦＧＴブロック２００の動作モードを説明する図である。
【００４５】
図５を参照して、データ消去時には、ＦＧＴブロック２００のすべてのＦＧＴ５０に一括して消去パルスを印加する。これにより、しきい値電圧が大きくなるほうにしきい値電圧の分布が移動する。ＦＧＴブロック２００内のすべてのＦＧＴ５０のしきい値電圧が３．０Ｖ程度以上に変化するまで消去パルスの印加を一括して行なう。
【００４６】
また、消去状態でＦＧＴブロック２００内のすべてのＦＧＴ５０に一括して書込を行なうと、しきい値電圧が小さくなるほうにＦＧＴ５０のしきい値電圧の分布が移動する。ＦＧＴブロック２００内のすべてのＦＧＴ５０のしきい値電圧が、しきい値電圧の目標値（以下、「目標しきい値電圧」とも称す）Ｖｆｇｔ＊程度にしきい値電圧が変化するまで書込を一括して行なう。
【００４７】
このように、ＦＧＴ５０は、しきい値電圧のプログラム機能を有している。本実施の形態１では、このＦＧＴ５０のしきい値電圧を、ＦＰＡＡブロック１００の動作（アナログ動作）時にＦＧＴ５０が所望の抵抗値を実現するのに適正な値にプログラミングする。このような構成とすることにより、図４の曲線ｋ２に示すように、ＦＧＴ５０に所定のコントロールゲート電圧Ｖｆｇｂｉａｓを印加したときの電流Ｉｆｇｔが目標値（以下、「目標電流値」とも称す）Ｉｆｇｔ＊に一致する。
【００４８】
なお、所定のコントロールゲート電圧Ｖｆｇｂｉａｓは、アナログ動作時においてＦＧＴ５０のコントロールゲートＣＧに印加される電圧を表す。したがって、アナログ動作時において、ＦＧＴ５０は、所望の抵抗値を有する抵抗素子として動作する。すなわち、ＦＧＴ５０のしきい値電圧を目標しきい値電圧Ｖｆｔｇ＊にプログラムすることによって、アナログ動作時におけるＦＧＴ５０に所望の抵抗値をプログラムすることができる。
【００４９】
一方、しきい値電圧のプログラムが完了していない状態では、図４の曲線ｋ１に示すように、所定のコントロールゲート電圧Ｖｆｇｂｉａｓを印加したときの電流Ｉｆｇｔは目標電流値Ｉｆｇｔ＊に一致していない。よって、ＦＧＴ５０は、アナログ動作時において所望の抵抗値を実現することができない。
【００５０】
以下に、ＦＧＴブロック２００の各動作およびＦＧＴ５０のしきい値電圧のプログラミング方法について、図面を参照して説明する。
【００５１】
図２に戻って、ＦＧＴブロック２００は、プログラム回路として、ＦＳＧドライバ２１と、ＦＷＬドライバ２２と、電圧ディスタリビュータ２３と、ＦＧＴ用Ｙゲートドライバ２４と、高電圧発生回路２５と、基準電圧発生回路２６と、ＦＧＴ制御回路２７と、ソース電位制御回路２８＿０と、ウェル電位制御回路２９と、ＦＧＴ用Ｙゲート３０と、センス・書込回路３１とをさらに含む。
【００５２】
ＦＰＡＡブロック１００は、ＦＰＡＡ制御回路２０からの指令に従って、所定のコントロールゲート電圧Ｖｆｇｂｉａｓを生成するＶｆｇｂｉａｓ発生回路１２をさらに含む。なお、上述のように、所定のコントロールゲート電圧Ｖｆｇｂｉａｓは、アナログ動作時にＦＧＴ５０のコントロールゲートＣＧに印加される電圧である。Ｖｆｇｂｉａｓ発生回路１２は、生成したコントロールゲート電圧Ｖｆｇｂｉａｓを、ＮチャネルＭＯＳトランジスタ５５を介してワード線ＦＷＬ０に出力する。
【００５３】
基準電圧発生回路２６は、ＦＧＴ制御回路２７からの指令を受けて基準電圧を発生し、その発生した基準電圧を高電圧発生回路２５へ供給する。高電圧発生回路２５は、基準電圧発生回路２６から供給された基準電圧を所定の高電圧に変換し、変換後の高電圧を電圧ディスタリビュータ２３へ出力する。
【００５４】
電圧ディスタリビュータ２３は、高電圧発生回路２５から入力された高電圧を、ＦＳＧドライバ２１、ＦＷＬドライバ２２、ＦＧＴ用Ｙゲートドライバ２４、ソース電位制御回路２８、ウェル電位制御回路２９およびセンス・書込回路３１へ分配する。これにより、ＦＧＴ５０には、各動作を行なうための動作電圧が印加される。図６に、各動作モードにおいてＦＧＴ５０に印加される動作電圧をまとめて示す。
【００５５】
ＦＳＧドライバ２１は、電圧ディスタリビュータ２３から電圧を受けて、選択ゲート線ＡＳＧへ与える選択ゲート電圧ＶＡＳＧ、および選択ゲート線ＦＳＧへ与える選択ゲート電圧ＶＦＳＧを生成する。
【００５６】
具体的には、ＦＳＧドライバ２１は、図６に示すように、アナログ動作時には、選択ゲート電圧ＶＡＳＧを３Ｖ程度とし、選択ゲート電圧ＶＦＳＧを０Ｖとする。これにより、ＮチャネルＭＯＳトランジスタ５４，５５，５６が導通され、ＮチャネルＭＯＳトランジスタ５１，５２，５３が非導通にされる。その結果、ＦＧＴ５０が引き出し線ＦＤ０００，ＦＳ０００に接続される。
【００５７】
一方、ＦＧＴブロック２００の動作時には、ＦＳＧドライバ２１は、選択ゲート電圧ＶＡＳＧを０Ｖとし、選択ゲート電圧ＶＦＳＧを動作モードに応じた電圧とする。これにより、ＮチャネルＭＯＳトランジスタ５４，５５，５６が非導通にされ、ＮチャネルＭＯＳトランジスタ５１，５２，５３が導通される。その結果、ＦＧＴ５０は、引き出し線ＦＤ０００，ＦＳ０００から電気的に切り離されるとともに、ビット線ＦＢＬ０、ワード線ＦＷＬ０Ｐおよびソース線ＦＳＬＰ０に接続され、データの書込および消去が可能となる。
【００５８】
ＦＷＬドライバ２２は、電圧ディスタリビュータ２３から電圧を受けて、ワード線ＦＷＬ０Ｐへ与えるワード線電圧ＶＦＷＬ０Ｐを生成する。生成されたワード線電圧ＶＦＷL０Ｐは、ＮチャネルＭＯＳトランジスタ５３を介してワード線ＦＷＬ０に印加される。
【００５９】
ＦＧＴ用Ｙゲートドライバ２４は、電圧ディスタリビュータ２３から電圧を受け、ＦＧＴ制御回路２７からＹゲート選択信号を受ける。ＦＧＴ用Ｙゲートドライバ２４は、これらの入力信号に基づいて、書込ゲート選択信号およびセンスゲート選択信号を生成し、その生成した信号をＦＧＴ用Ｙゲート３０へ出力する。
【００６０】
ＦＧＴ用Ｙゲート３０は、書込ゲート選択信号およびセンスゲート選択信号に基づき、複数のビット線ＦＢＬ０〜ＦＢＬｍのうち対応するビット線を選択してセンス・書込回路３１に電気的に接続する。
【００６１】
ソース電位制御回路２８＿０は、電圧ディスタリビュータ２３から電圧を受けて、ソース線ＦＳＰ０に与えるソース線電圧ＶＳＬＰ０を生成する。なお、図示は省略するが、複数のソース線ＦＳＰ０〜ＦＳＰｍのそれぞれに対応して複数のソース電位制御回路２８＿０〜２８＿ｍが配設される。
【００６２】
ウェル電位制御回路２９は、電圧ディスタリビュータ２３から電圧を受けて、ＦＧＴ５０のＰウェル領域に形成されるバックゲートに与えるバックゲート電圧ＶＦＢＧを生成する。
【００６３】
センス・書込回路３１は、書込動作時、すなわち、書込ゲート選択信号が活性化レベルの「Ｈ」レベルのときに、ビット線ＦＢＬ０〜ＦＢＬｍに所定の電圧を与える。また、センス・書込回路３１は、消去／書込ベリファイ動作時、すなわち、センスゲート選択信号が活性化レベルの「Ｈ」レベルのときに、ビット線ＦＢＬ０〜ＦＢＬｍに現れるデータを検知・増幅するセンスアンプ動作を実行し、取得したデータを内部のデータレジスタに格納する。
【００６４】
図７は、図２におけるセンス・書込回路３１の構成を示す図である。
図７を参照して、センス・書込回路３１は、レベル変換回路３４＿０〜３４＿ｍと、センスアンプＳＡ０〜ＳＡｍと、データレジスタ３５＿０〜３５＿ｍと、データレジスタ判定回路３６とを含む。
【００６５】
ＦＧＴ用Ｙゲート３０は、ビット線ＦＢＬ０〜ＦＢＬｍとレベル変換回路３４＿０〜３４＿ｍとの間にそれぞれ接続されるＮチャネルＭＯＳトランジスタ３１＿０〜３１＿ｍと、ビット線ＦＢＬ０〜ＦＢＬｍとセンスアンプＳＡ０〜ＳＡｍとの間にそれぞれ接続されるＮチャネルＭＯＳトランジスタ３２＿０〜３２＿ｍとを含む。ＮチャネルＭＯＳトランジスタ３１＿０〜３１＿ｍおよび３２＿１〜３２＿ｍには、例えば高耐圧トランジスタが適用される。
【００６６】
データレジスタ３５＿０〜３５＿ｍは、ビット線ＦＢＬ０〜ＦＢＬｍに対応して設けられる。データレジスタ３５＿０〜３５＿ｍは、対応するビット線ＦＢＬ０〜ＦＢＬｍへの書込データを保持するとともに、対応するセンスアンプＳＡ０〜ＳＡｍの出力データを保持する。なお、初期状態において、データレジスタ３５＿０〜３５＿ｍのすべてに「Ｈ」レベルのデータが保持されている。
【００６７】
レベル変換回路３４＿０〜３４＿ｍは、書込動作時、データレジスタ３５＿０〜３５＿ｍに保持されたデータをそれぞれレベル変換する。レベル変換回路３４＿０〜３４＿ｍの出力信号は、書込ゲート選択信号が「Ｈ」レベルのときに、ＮチャネルＭＯＳトランジスタ３１＿０〜３１＿ｍを介してビット線ＦＢＬ０〜ＦＢＬｍへ与えられる。
【００６８】
センスアンプＳＡ０〜ＳＡｍは、ビット線ＦＢＬ０〜ＦＢＬｍに対応して設けられる。センスアンプＳＡ０〜ＳＡｍは、消去／書込ベリファイ動作時、センスゲート選択信号が「Ｈ」レベルにされると、ＮチャネルＭＯＳトランジスタ３２＿０〜３２＿ｍを介してビット線ＦＢＬ０〜ＦＢＬｍに接続される。
【００６９】
ＦＧＴ制御回路２７は、センスアンプＳＡ０〜ＳＡｍを活性化させるようにセンスアンプ活性信号を生成してセンスアンプＳＡ０〜ＳＡｍに出力する。また、ＦＧＴ制御回路２７は、ビット線ＦＢＬ０〜ＦＢＬｍに印加する電圧を設定し、その設定情報をセンスアンプＳＡ０〜ＳＡｍに出力する。ＦＧＴ制御回路２７はさらに、センスアンプＳＡ０〜ＳＡｍのセンス感度を設定し、その設定情報をセンスアンプＳＡ０〜ＳＡｍに出力する。なお、「センス感度」とは、ＦＧＴ５０に流れる電流Ｉｆｇｔの目標値（目標電流値Ｉｆｇｔ＊）に対応する。
【００７０】
上述のように、各ビット線ＦＢＬに印加された電圧は、対応するＦＧＴ５０のドレインＦＤの電圧となるため、ビット線ＦＢＬ０〜ＦＢＬｍのそれぞれに対応して設定された印加電圧の情報について、以下では、「ドレイン動作点設定情報０〜ｍ」とも称する。また、センスアンプＳＡ０〜ＳＡｍのそれぞれに対応して設定されたセンス感度の情報を「センス感度設定情報０〜ｍ」とも称する。
【００７１】
ＦＧＴ制御回路２７はまた、ソース線ＦＳＬＰ０〜ＦＳＬＰｍに印加する電圧を設定し、その設定情報をソース電位制御回路２８＿０〜２８＿ｍに出力する。ＦＧＴ制御回路２７はさらに、ワード線ＦＷＬ０Ｐに印加する電圧を設定し、その設定情報をＦＷＬドライバ２２に出力する。
【００７２】
なお、上述のように、各ソース線ＦＳＬＰに印加された電圧は、対応するＦＧＴ５０のソースＦＳの電圧となるため、ソース線ＦＳＬＰ０〜ＦＳＬＰｍのそれぞれに対応して設定された印加電圧の情報について、以下では、「ソース動作点設定情報０〜ｍ」とも称する。また、ワード線ＦＷＬ０Ｐに印加された電圧は、ＮチャネルＭＯＳトランジスタ５３およびワード線ＦＷＬ０を介して対応するＦＧＴ５０のコントロールゲートＣＧの電圧となるため、ワード線ＦＷＬ０Ｐに対応して設定された印加電圧の情報について、以下では、「ゲート動作点設定情報」とも称する。
【００７３】
センスアンプＳＡ０〜ＳＡｍは、ＦＧＴ制御回路２７から与えられるドレイン動作点設定情報０〜ｍおよびセンス感度設定情報０〜ｍに基づいて、対応するビット線ＦＢＬ０〜ＦＢＬｍに現れるデータを検知・増幅するセンスアンプ動作を実行する。センスアンプＳＡ０〜ＳＡｍは、センスアンプ動作によって取得したデータを読出データとして、対応するデータレジスタ３５＿０〜３５＿ｍに格納する。
【００７４】
データレジスタ判定回路３６は、データレジスタ３５＿０〜３５＿ｍに格納された読出データに基づいて、すべてのＦＧＴ５０が、図４に示す消去状態または書込状態に設定されたか否かを判定する。データレジスタ判定回路３６は、その判定結果を示す信号をＦＧＴ制御回路２７へ出力する。ＦＧＴ制御回路２７は、データレジスタ判定回路３６からの判定結果信号に従って、さらに書込または消去を実行するための制御信号を生成する。
【００７５】
図８を参照して、センスアンプＳＡ０〜ＳＡｍにおけるセンスアンプ動作についてさらに説明する。なお、各センスアンプＳＡは構成が同じであるため、ビット線ＦＢＬ０に対応して配設されるセンスアンプＳＡ０を代表的に説明する。
【００７６】
センスアンプＳＡ０は、電流センス部４０と、電圧増幅部４６とから構成される。電流センス部４０は、ＦＧＴ制御回路２７からドレイン動作点設定情報０およびセンス感度設定情報０を受けると、これらの情報に基づいて、対応するビット線ＦＢＬ０に接続されるＦＧＴ５０に流れる電流Ｉｆｇｔを検知する。
【００７７】
具体的には、電流センス部４０は、電源電圧Ｖｄｄと接地電圧との間に直列に接続されたＰチャネルＭＯＳトランジスタ４１，４２と、差動増幅器４３と、基準電圧発生回路４５とを含む。
【００７８】
ＰチャネルＭＯＳトランジスタ４１のゲートは接地電圧に接続される。ＰチャネルＭＯＳトランジスタ４２のゲートは、差動増幅器４３の出力ノードに接続されるとともに、電圧増幅部４６の入力ノードに接続される。ＰチャネルＭＯＳトランジスタ４１，４２の接続ノード（以下、センスノードとも称す）ＳＮは、ビット線ＦＢＬ０に接続されるとともに、差動増幅器４３の反転入力ノードに接続される。なお、差動増幅器４３の非反転入力ノードは、基準電圧発生回路４５の出力ノードに接続される。
【００７９】
基準電圧発生回路４５は、ＦＧＴ制御回路２７からのドレイン動作点設定情報に基づいて基準電圧Ｖｒｅｆ＿ＳＡを生成する。具体的には、基準電圧発生回路４５は、基準電圧Ｖｒｅｆ＿ＳＡを、そのドレイン動作点設定情報が示すビット線ＦＢＬ０の電圧に設定する。差動増幅器４３において反転入力ノードと非反転入力ノードとは仮想的に短絡されているため、センスノードＳＮは、基準電圧Ｖｒｅｆ＿ＳＡに等しい電圧を保持する。このセンスノードＳＮの電圧（＝基準電圧Ｖｒｅｆ＿ＳＡ）は、ビット線ＦＢＬ０を介してＦＧＴ５０のドレインＦＤの電圧となる。
【００８０】
電流センス部４０は、ＰチャネルＭＯＳトランジスタ４１に流れる電流Ｉｏを、ＦＧＴ制御回路２７からのセンス感度設定情報０に応じて調整可能に構成される。図９には、ＰチャネルＭＯＳトランジスタ４１のさらに詳細な構成が示される。
【００８１】
図９を参照して、ＰチャネルＭＯＳトランジスタ４１は、電源電圧ＶｄｄとセンスノードＳＮとの間に並列に接続された２ｎ個（ｎは自然数）のＰチャネルＭＯＳトランジスタＷ０〜Ｗ２ｎ−１を含む。
【００８２】
ＰチャネルＭＯＳトランジスタＷ０〜Ｗ２ｎ−１は、センス感度設定情報０に基づいて生成されたスイッチング指令Ｃｇ０〜Ｃｇ２ｎ−１に応答して、オンオフされる。より具体的には、センス感度設定情報０はｎビットの信号であり、その信号値に基づいて２ｎ個のスイッチング指令Ｃｇ０〜Ｃｇ２ｎ−１が生成される。そして、このスイッチング指令Ｃｇ０〜Ｃｇ２ｎ−１に応じて、ＰチャネルＭＯＳトランジスタＷ０〜Ｗ２ｎ−１がオンオフされることにより、ＰチャネルＭＯＳトランジスタ４１全体の電流Ｉｏの大きさが決まる。
【００８３】
図１０には、センス感度設定情報０が２ビットの信号である場合のＰチャネルＭＯＳトランジスタ４１の構成が例示される。
【００８４】
図１０を参照して、ＰチャネルＭＯＳトランジスタ４１は、電源電圧ＶｄｄとセンスノードＳＮとの間に並列に接続された４（＝２２）個のＰチャネルＭＯＳトランジスタＷ０〜Ｗ３を含む。ＰチャネルＭＯＳトランジスタＷ０〜Ｗ３は、２ビットの信号からなるセンス感度設定情報０［１：０］に基づいて生成されたスイッチング指令Ｃｇ０〜Ｃｇ３に応答して、オンオフされる。
【００８５】
なお、ＰチャネルＭＯＳトランジスタＷ０〜Ｗ３は、対応するスイッチング指令Ｃｇ０〜Ｃｇ３が「０」のときにオンされる一方で、対応するスイッチング指令Ｃｇ０〜Ｃｇ３が「１」のときにオフされるものとする。また、ＰチャネルＭＯＳトランジスタＷ０〜Ｗ３は互いに同じサイズ（すなわち電流駆動能力）を有している。一例として、各ＰチャネルＭＯＳトランジスタは、オンされたときに１０μＡの電流を駆動するようにサイズが設定されているものとする。
【００８６】
図１１は、図１０におけるセンス感度設定情報０［１：０］と電流Ｉｏとの関係を示す図である。
【００８７】
図１１を参照して、スイッチング指令Ｃｇ０〜Ｃｇ３の組合せとしては、２ビットのセンス感度設定情報０［１：０］に応じて４通りの組合せが存在する。例えば、センス感度設定情報０［１：０］＝（０，０）の場合、スイッチング指令（Ｃｇ０，Ｃｇ１，Ｃｇ２，Ｃｇ３)＝（１，１，１，０）となる。この場合、スイッチング指令Ｃｇ０＝「０」に応答してＰチャネルＭＯＳトランジスタＷ０のみがオンされる。したがって、ＰチャネルＭＯＳトランジスタ４１全体の電流Ｉｏは１０μＡとなる。
【００８８】
ＰチャネルＭＯＳトランジスタ４１全体の電流Ｉｏは、スイッチング指令に従ってオンされるＰチャネルＭＯＳトランジスタＷ０〜Ｗ３の個数に比例する。図１０の例では、１個のＰチャネルＭＯＳトランジスタがオンされたときに駆動する電流１０μＡに、オンされたＰチャネルＭＯＳトランジスタの個数を掛けたものが、電流Ｉｏとなる。
【００８９】
このような構成とすることにより、センス感度設定情報０［１：０］に応じて、電流Ｉｏを４段階で調整することができる。実際には、センス感度設定情報０を２ビット以上の信号とすることにより、より高い分解能での電流Ｉｏの調整が可能となる。
【００９０】
図８に戻って、ＰチャネルＭＯＳトランジスタ４１に流れる電流Ｉｏは、ＰチャネルＭＯＳトランジスタ４２に流れる電流Ｉｏｕｔと、ビット線ＦＢＬ０を通じてＦＧＴ５０に流れる電流Ｉｆｇｔとに分岐される。したがって、ＦＧＴ５０の電流Ｉｆｇｔが大きくなるほど、ＰチャネルＭＯＳトランジスタ４２の電流Ｉｏｕｔが小さくなる。
【００９１】
そして、電流Ｉｆｇｔの変化に応じて電流Ｉｏｕｔが変化すると、電流センス部４０においては、ＰチャネルＭＯＳトランジスタ４２のゲート電圧Ｖｆが変化する。すなわち、ＰチャネルＭＯＳトランジスタ４２のゲート電圧Ｖｆは、ＦＧＴ１０の電流Ｉｆｇｔの変化を受けて変化する。電圧増幅部４６を構成するインバータＩＮＶは、このゲート電圧Ｖｆを増幅し、「Ｈ」または「Ｌ」レベルを示す出力データをデータレジスタ３５＿０に出力する。データレジスタ３５＿０は、このセンスアンプＳＡ０の出力データを保持する。
【００９２】
より詳細には、電流センス部４０において、センスノードＳＮの電圧は、上述したように、基準電圧発生回路４５からの基準電圧Ｖｒｅｆ＿ＳＡに等しくなる。この基準電圧Ｖｒｅｆをソースに受けて飽和領域で動作することにより、ＰチャネルＭＯＳトランジスタ４２には電流Ｉｏｕｔ（＝Ｉｏ−Ｉｆｇｔ）が流れる。この状態において、ＰチャネルＭＯＳトランジスタ４２のゲート電圧Ｖｆは、次式（１）で表される。
【００９３】
【数１】
2014017650.tif 000003
【００９４】
ただし、ＶｔｈｐはＰチャネルＭＯＳトランジスタ４２のしきい値電圧であり、βｏｕｔはＰチャネルＭＯＳトランジスタ４２のβであり、次式（２）で表される。
【００９５】
【数２】
2014017650.tif 000004
【００９６】
ここで、μｐは正孔の移動度であり、ＷｏｕｔはＰチャネルＭＯＳトランジスタ４２のゲート幅であり、ＬｏｕｔはＰチャネルＭＯＳトランジスタ４２のゲート長である。
【００９７】
図８において、ＦＧＴ５０が高しきい値状態（消去状態）であって、電流が流れていない場合（すなわち、電流Ｉｆｇｔ＝０μＡ）には、電流ＩｏがすべてＰチャネルＭＯＳトランジスタ４２に流れるため、電流Ｉｏｕｔ＝Ｉｏとなる。この状態でのＰチャネルＭＯＳトランジスタ４２のゲート電圧ＶｆをＶｆ＿ｍｉｎと定義すると、電圧Ｖｆ＿ｍｉｎは、次式（３）で表される。
【００９８】
【数３】
2014017650.tif 000005
【００９９】
したがって、上記式（３）で与えられるゲート電圧Ｖｆ＿ｍｉｎを、インバータＩＮＶの論理しきい値Ｖｔｈ＿ｌｏｇｉｃより低い値に予め設定しておくことにより、ＦＧＴ５０が消去状態のときのセンスアンプＳＡ０の出力データは「Ｈ」レベルとなる。
【０１００】
一方、消去状態でＦＧＴ５０に書込みを行なうと、しきい値電圧が低下するため、電流Ｉｆｇｔが増加する。これにより、上記式（１）に従って、ＰチャネルＭＯＳトランジスタ４２のゲート電圧Ｖｆも増加する。
【０１０１】
ここで、ＦＧＴ５０の電流Ｉｆｇｔの目標値（目標電流値）Ｉｆｇｔ＊が実現するときの電流ＩｏをＩｏ＊と定義すると、電流Ｉｆｇｔが目標電流値Ｉｆｇｔ＊と一致するときのゲート電圧Ｖｆは、次式（４）で表される。
【０１０２】
【数４】
2014017650.tif 000006
【０１０３】
そして、上記式（４）のゲート電圧Ｖｆを、インバータＩＮＶの論理しきい値Ｖｔｈ＿ｌｏｇｉｃに設定することにより、次式（５）が得られる。ゲート電圧Ｖｆが論理しきい値電圧Ｖｔｈ_ｌｏｇｉｃより大きくなったとき、センスアンプＳＡ０の出力データは「Ｌ」レベルとなる。
【０１０４】
【数５】
2014017650.tif 000007
【０１０５】
さらに上記式（５）を電流Ｉｏ＊について解くと、次式（６）が得られる。
【０１０６】
【数６】
2014017650.tif 000008
【０１０７】
したがって、電流Ｉｏが上記式（６）で定義される電流Ｉｏ＊となるように、ＰチャネルＭＯＳトランジスタ４１に与えるセンス感度設定情報０を設定することにより、センスアンプＳＡ０の出力データに基づいて電流Ｉｆｇｔが目標電流値Ｉｆｇｔ＊に達したか否かを判定することが可能となる。
【０１０８】
次に、図１２および図１３を参照して、図２に示すＦＧＴ５０のデータの消去動作および消去ベリファイ動作、およびＦＧＴ５０へのデータの書込動作および書込ベリファイ動作について説明する。以下の説明では、ＦＧＴ５０に対してデータ“１”を書込むことはＦＧＴ５０を消去状態に設定することに対応し、データ“０”を書込むことはＦＧＴ５０を書込状態に設定することに対応する。また、データ“１”または“０”の書込みを行なうとき、しきい値電圧を高くする動作を消去動作と称し、しきい値電圧を低くする動作を書込動作と称する。
【０１０９】
（消去動作）
図１２は、ＦＧＴ５０のデータの消去動作を説明するフローチャートである。
【０１１０】
図１２を参照して、消去動作が開始されると、最初に、すべてのデータレジスタ３５＿０〜３５＿ｍに「Ｌ」レベルのデータがセットされる（ステップＳ０１）。
【０１１１】
すべてのデータレジスタ３５＿０〜３５＿ｍの初期化が完了すると、ＦＧＴ５０に消去パルスが印加される。この消去パルスの印加時においては、電圧ディスタリビュータ２３は、高電圧発生回路２５から入力される所定の高電圧のうち、ＦＳＧドライバ２１に例えば１２Ｖを分配し、ＦＷＬドライバ２２に例えば１０Ｖを分配し、ＦＧＴ用Ｙゲートドライバ２４に例えば０Ｖを分配し、ソース電位制御回路２８（２８＿０〜２８＿ｍを総称的に示す）に例えば−８Ｖを分配し、ウェル電位制御回路２９に例えば−８Ｖを分配する。
【０１１２】
ＦＧＴ用Ｙゲートドライバ２４は、書込ゲート選択信号およびセンスゲート選択信号をともに非選択レベルの「Ｌ」レベル（０Ｖ）に設定する。これにより、ビット線ＦＢＬ（ＦＢＬ０〜ＦＢＬｍを総称的に示す）はハイインピーダンス状態（Ｈｉｚ）となる（ステップＳ０１）。
【０１１３】
ＦＷＬドライバ２２は、電圧ディスタリビュータ２３からの電圧に基づきワード線電圧ＶＦＷＬ０Ｐ（１０Ｖ）を生成してワード線ＦＷＬ０Ｐに印加する。ＦＳＧドライバ２１は、電圧ディスタリビュータ２３からの電圧に基づき選択ゲート電圧ＶＡＳＧ（０Ｖ）および選択ゲート電圧ＶＦＳＧ（１２Ｖ）を生成する。生成された選択ゲート電圧ＶＡＳＧおよびＶＦＳＧは、選択ゲート線ＡＳＧおよびＦＳＧにそれぞれ印加される（ステップＳ３）。このとき、選択ゲート線電圧ＶＦＳＧ（１２Ｖ）は、ワード線電圧ＶＦＷＬ０Ｐ（１０Ｖ）よりも十分に大きいため、しきい値落ちすることなく、ワード線ＦＷＬ０に１０Ｖがそのまま伝達される。
【０１１４】
ソース電位制御回路２８は、電圧ディスタリビュータ２３からの電圧に基づきソース線電圧ＶＦＳＬＰ（ＶＦＳＬＰ０〜ＶＦＳＬＰｍを総称的に示す）を生成してソース線ＦＳＬＰ（ＦＳＬＰ０〜ＦＳＬＰｍを総称的に示す）に印加する。ソース線電圧ＶＦＳＬＰは、ＮチャネルＭＯＳトランジスタ５０を介してソース線ＦＳＬ（ＦＳＬ０〜ＦＳＬｍを総称的に示す）に印加される。ウェル電位制御回路２９は、電圧ディスタリビュータ２３からの電圧に基づきバックゲート電圧ＶＦＢＧ（−８Ｖ）を生成してバックゲートに印加する（ステップＳ０４）。
【０１１５】
ステップＳ０２〜Ｓ０４により電圧を印加した状態が所定の時間維持される（ステップＳ０５）。当該所定の時間において、Fauler−Nordheimトンネリングによってチャネル全面からフローティングゲートＦＧに電子が注入されて、ＦＧＴ５０が消去状態に設定される。この消去状態は、しきい値電圧が高い状態であり、上述のように、データ“１”が書込まれた状態に対応する。
【０１１６】
消去パルスの印加後、ソース電位制御回路２８によりソース線電圧ＶＦＳＬＰが０Ｖにリセットされ、ウェル電位制御回路２９によりバックゲート電圧ＶＦＢＧが０Ｖにリセットされる（ステップＳ０６）。また、ＦＷＬドライバ２２によりワード線電圧ＶＦＷＬ０Ｐが０Ｖにリセットされ、ＦＳＧドライバ２１により選択ゲート電圧ＶＦＳＧが０Ｖにリセットされる（ステップＳ０７）。これにより、消去パルスがリセットされる。
【０１１７】
次いで、消去ベリファイが実行される。この消去ベリファイ動作時には、ＦＧＴ５０が消去状態にあるかを判定するための消去ベリファイ電圧が生成される。具体的には、電圧ディスタリビュータ２３は、高電圧発生回路２５から入力される所定の高電圧のうち、ＦＳＧドライバ２１に例えば５Ｖを分配し、ＦＷＬドライバ２２に例えば３Ｖを分配し、ソース電位制御回路２８に例えば０Ｖを分配し、センス・書込回路３１に例えば２Ｖを分配する。
【０１１８】
ＦＧＴ制御回路２７は、ドレイン動作点設定情報０〜ｍおよびセンス感度設定情報０〜ｍを、センスアンプＳＡ０〜ＳＡｍにそれぞれ出力する。また、ＦＧＴ制御回路２７は、ゲート動作点設定情報をＦＷＬドライバ２２へ出力するとともに、ソース動作点設定情報０〜ｍをソース電位制御回路２８＿０〜２８＿ｍにそれぞれ出力する。
【０１１９】
具体的には、消去ベリファイ動作時において、ＦＧＴ制御回路２７は、ドレイン動作点設定情報０〜ｍとして、各ビット線ＦＢＬへの印加電圧を２Ｖに設定する。またＦＧＴ制御回路２７は、センス感度設定情報０〜ｍとして、各センスアンプＳＡにおけるセンス感度（すなわち目標電流値Ｉｆｇｔ＊）を１μＡに設定する。
【０１２０】
ＦＧＴ制御回路２７はさらに、ソース動作点設定情報０〜ｍとして各ソース線ＦＳＬＰへの印加電圧を０Ｖに設定するとともに、ゲート動作点設定情報としてワード線ＦＷＬ０Ｐへの印加電圧を３Ｖに設定する。
【０１２１】
ＦＧＴ用Ｙゲートドライバ２１は、書込ゲート選択信号および選択ゲート信号をともに選択レベルの「Ｈ」レベル（５Ｖ）に設定する。これにより、ビット線ＦＢＬ０〜ＦＢＬｍとセンスアンプＳＡ０〜ＳＡｍとが接続される。
【０１２２】
ＦＳＧドライバ２１は、電圧ディスタリビュータ２３からの電圧に基づき選択ゲート電圧ＶＡＳＧ（０Ｖ）および選択ゲート電圧ＶＦＳＧ（５Ｖ）を生成する。生成された選択ゲート電圧ＶＡＳＧおよびＶＦＳＧは選択ゲート線ＡＳＧおよびＦＳＧにそれぞれ印加される（ステップＳ０８）。
【０１２３】
ソース電位制御回路２８は、ＦＧＴ制御回路２７からのソース動作点設定情報（０Ｖ）に基づきソース線電圧ＶＦＳＬＰ（０Ｖ）を生成してソース線ＦＳＬＰに印加する。ソース線電圧ＶＦＳＬＰは、ＮチャネルＭＯＳトランジスタ５０を介してソース線ＦＳＬに印加される。ウェル電位制御回路２９は、電圧ディスタリビュータ２３からの電圧に基づきバックゲート電圧ＶＦＢＧ（０Ｖ）を生成してバックゲートに印加する。
【０１２４】
センス・書込回路３１において、電流センス部４０の基準電圧発生回路４５は、ＦＧＴ制御回路２７からのドレイン動作点設定情報０〜ｍ（２Ｖ）に基づいて、基準電圧Ｖｒｅｆ＿ＳＡ（２Ｖ）を生成する。図８で示したように、この基準電圧Ｖｒｅｆ＿ＳＡ（２Ｖ）は、センスノードＳＮの電圧となるとともに、ビット線ＦＢＬを介してＦＧＴ５０のドレインＦＤの電圧となる（ステップＳ０９）。
【０１２５】
電流センス部４０はさらに、ＦＧＴ制御回路２７からのセンス感度設定情報０〜ｍ（Ｉｆｇｔ＊＝１０μＡ）に基づいて、ＰチャネルＭＯＳトランジスタ４１の電流Ｉｏを調整する。なお、電流センス部４０は、上記の式（５）に目標電流値Ｉｆｇｔ＊＝１μＡおよび基準電圧Ｖｒｅｆ＿ＳＡ＝２Ｖを代入して得られる電流Ｉｏ＊となるように、電流Ｉｏを調整する。
【０１２６】
ＦＷＬドライバ２２は、ＦＧＴ制御回路２７からのゲート動作点設定情報（２Ｖ）に基づいて、消去ベリファイ電圧としてワード線電圧ＶＦＷＬ０Ｐ（３Ｖ）を生成して、ワード線ＦＷＬ０Ｐに印加する。ワード線電圧ＶＦＷＬ０Ｐは、ＮチャネルＭＯＳトランジスタ５３を介してワード線ＦＷＬ０に伝達されると、ＦＧＴ５０のコントロールゲートＣＧの電圧となる。
【０１２７】
以上により、消去ベリファイ時において、ＦＧＴ５０は、ドレインＦＤにビット線電圧ＶＦＢＬ（＝基準電圧Ｖｒｅｆ＿ＳＡ）＝２Ｖが印加され、ソースＦＳにソース線電圧ＶＦＳＬＰ＝０Ｖが印加され、コントロールゲートＣＧにワード線電圧ＶＦＷＬ０Ｐ＝３Ｖが印加される。この状態において、ＦＧＴ５０には電流Ｉｆｇｔが流れる。センスアンプＳＡ０〜ＳＡｍは、センス感度設定情報０〜ｍ（Ｉｆｇｔ＊＝１μＡ）に従って、対応するＦＧＴ５０の電流Ｉｆｇｔを検知する（ステップＳ１１）。
【０１２８】
より具体的には、図８で示したように、ＦＧＴ５０が消去状態（高しきい値状態）でないときには、電流Ｉｆｇｔが目標電流値Ｉｆｇｔ＊（１μＡ）を上回るため、上記式（１）に従ってゲート電圧Ｖｆが増加し、インバータＩＮＶの論理しきい値Ｖｔｈ＿ｌｏｇｉｃより大きくなる。よって、センスアンプＳＡ（ＳＡ０〜ＳＡｍを総称的に示す）は、「Ｌ」レベルのデータを出力する。
【０１２９】
一方、ＦＧＴ５０が消去状態になると、電流Ｉｆｇｔが目標電流値Ｉｆｇｔ＊（１μＡ）に達するため、ゲート電圧Ｖｆが低下し、インバータＩＮＶの論理しきい値Ｖｔｈ＿ｌｏｇｉｃを下回る。よって、センスアンプＳＡは、「Ｈ」レベルのデータを出力する。センスアンプＳＡ０〜ＳＡｍが出力するデータは、データレジスタ３５＿０〜３５＿ｍにそれぞれ保持される（ステップＳ１２）。
【０１３０】
データレジスタ判定回路３６は、データレジスタ３５＿０〜３５＿ｍに保持されたデータに基づいて、ＦＧＴブロック２００に含まれるすべてのＦＧＴ５０が消去状態であるか否かを判定する。具体的には、データレジスタ判定回路３６は、データレジスタ３５＿０〜３５＿ｍに保持されるデータがすべて「Ｈ」レベルであるか否かを判定する（ステップＳ１３）。
【０１３１】
データレジスタ３５＿０〜３５＿ｍに保持されるデータがすべて「Ｈ」レベルでないとき（ステップＳ１３のＮＯ判定時）には、再びステップＳ０２に戻り、消去パルス印加、消去パルスリセット、および消去ベリファイが実行される。
【０１３２】
一方、データレジスタ３５＿０〜３５＿ｍに保持されるデータがすべて「Ｈ」レベルであるとき（ステップＳ１３のＹＥＳ判定時）には、消去動作を終了する。
【０１３３】
（書込動作）
図１３は、ＦＧＴ５０へのデータの書込動作を説明するフローチャートである。なお、本実施の形態１において、書込動作とは、ＦＧＴ５０が図４の曲線ｋ２に示す特性を実現するように、ＦＧＴ５０のしきい値電圧を、消去状態（高しきい値状態）のしきい値電圧から低下させる動作をいう。なお、図４の曲線ｋ２に示す特性とは、ＦＧＴ５０に所定のコントロールゲート電圧Ｖｆｇｂｉａｓを印加したときに、ＦＧＴ５０の電流Ｉｆｇｔが目標電流値Ｉｆｇｔ＊に一致することを指す。
【０１３４】
図１３を参照して、書込動作が開始されると、最初に、データレジスタ３５＿０〜３５＿ｍのうち、書込対象となるＦＧＴ５０に対応するデータレジスタ３５＿ｐ（０≦ｐ≦ｍ）に「Ｈ」レベルのデータがセットされる（ステップＳ２０）。
【０１３５】
書込対象となるＦＧＴ５０に対応するデータレジスタ３５＿ｐの初期化が完了すると、ＦＧＴ５０に書込パルスが印加される。この書込パルスの印加時において、電圧ディスタリビュータ２３は、高電圧発生回路２５から入力される所定の高電圧のうち、ＦＳＧドライバ２１に例えば８Ｖを分配し、ＦＷＬドライバ２２に例えば−８Ｖを分配し、ＦＧＴ用Ｙゲートドライバ２４に例えば８Ｖを分配し、ウェル電位制御回路２９に例えば０Ｖを分配し、センス・書込回路３１に例えば６Ｖを分配する。
【０１３６】
ソース電位制御回路２８＿０〜２８＿ｍは、ソース線ＦＳＬＰ０〜ＦＳＬＰｍ、およびソース線ＦＳＬ０〜ＦＳＬｍをハイインピーダンス状態（Ｈｉｚ）とする。ウェル電位制御回路２９は、電圧ディスタリビュータ２３からの電圧に基づきバックゲート電圧ＶＦＢＧ（０Ｖ）を生成してバックゲートに印加する（ステップＳ２１）。
【０１３７】
ＦＧＴ用Ｙゲートドライバ２４は、電圧ディスタリビュータ２３からの電圧に基づき、書込ゲート選択信号を選択レベルの「Ｈ」レベル（８Ｖ）に設定し、センスゲート選択信号を非選択レベルの「Ｌ」レベル（０Ｖ）に設定する。
【０１３８】
ＦＷＬドライバ２２は、電圧ディスタリビュータ２３からの電圧に基づきワード線電圧ＶＦＷ０Ｐ（−８Ｖ）を生成してワード線ＦＷＬ０Ｐに印加する。ＦＳＧドライバ２１は、電圧ディスタリビュータ２３からの電圧に基づき選択ゲート電圧ＶＡＳＧ（０Ｖ）および選択ゲート電圧ＶＦＳＧ（８Ｖ）を生成する。生成された選択ゲート電圧ＶＡＳＧおよびＶＦＳＧは選択ゲート線ＡＳＧおよびＦＳＧにそれぞれ印加される（ステップＳ２２）。
【０１３９】
書込・センス回路３１においては、電圧ディスタリビュータ２３からの電圧（６Ｖ）がレベル変換回路３４＿０〜３４＿ｍに与えられる。レベル変換回路３４＿０〜３４＿ｍは、データレジスタ３５＿０〜３５＿ｍに保持されているデータをそれぞれレベル変換する。このとき、対応するデータレジスタ３５（３５＿０〜３５＿ｍを総称的に示す）に保持されているデータが「Ｈ」レベルであるときには、レベル変換回路３４（３４＿０〜３４＿ｍを総称的に示す）は当該データを６Ｖに変換する。このとき、書込ゲート選択信号の電圧（８Ｖ）は６Ｖよりも十分に大きいので、しきい値落ちすることなく、対応するビット線ＦＢＬには６Ｖが印加される。同様に、選択ゲート電圧ＶＦＳＧ（８Ｖ）は６Ｖよりも十分に大きいので、しきい値落ちすることなく、ＦＧＴ５０のドレインＦＤに６Ｖがそのまま伝達される。
【０１４０】
一方、対応するデータレジスタ３５に保持されているデータが「Ｌ」レベルであるときには、レベル変換回路３４は０Ｖを出力する。これにより対応するビット線ＦＢＬに０Ｖが印加される（ステップＳ２３）。なお、ステップＳ２０により書込対象のＦＧＴ５０に対応するデータレジスタ３５には「Ｈ」レベルのデータがセットされているため、当該データレジスタ３５に対応するビット線ＦＢＬが６Ｖに設定される。すなわち、書込対象のＦＧＴ５０のドレインＦＤには６Ｖが印加される。
【０１４１】
ステップＳ２１〜Ｓ２３により電圧を印加した状態が所定の時間維持される（ステップＳ２４）。当該所定の時間において、Fauler−NordheimトンネリングによってフローティングゲートＦＧの電子がドレインＦＤに引抜かれ、ＦＧＴ５０が書込状態に設定される。この書込状態は、しきい値電圧が低い状態であり、上述のように、データ“０”が書込まれた状態に対応する。
【０１４２】
書込パルスの印加後、ビット線ＦＢＬが０Ｖにリセットされる（ステップＳ２５）。また、ＦＷＬドライバ２２によりワード線電圧ＶＦＷＬ０Ｐが０Ｖにリセットされ、ＦＳＧドライバ２１により選択ゲート電圧ＶＦＳＧが０Ｖにリセットされる（ステップＳ２６）。これにより、書込パルスがリセットされる。
【０１４３】
次いで、この書込パルスのリセットの終了後、書込ベリファイが実行される。書込ベリファイ時には、電圧ディスタリビュータ２３は、高電圧発生回路２５から入力される所定の高電圧のうち、ＦＳＧドライバ２１に例えば３Ｖを分配し、ソース電位制御回路２８＿０〜２８＿ｍに例えば０Ｖを分配し、ウェル電位制御回路２９に例えば０Ｖを分配する。
【０１４４】
ＦＳＧドライバ２１は、電圧ディスタリビュータ２３からの電圧に基づき選択ゲート電圧ＶＡＳＧ（０Ｖ）および選択ゲート電圧ＶＦＳＧ（３Ｖ）を生成する。生成された選択ゲート電圧ＶＡＳＧおよびＶＦＳＧは選択ゲート線ＡＳＧおよびＦＳＧにそれぞれ印加される（ステップＳ２８）。
【０１４５】
ＦＧＴ制御回路２７は、センスアンプＳＡ０〜ＳＡｍのうち、書込対象のＦＧＴ５０に対応するセンスアンプＳＡｐに対して、ドレイン動作点設定情報ｐおよびセンス感度設定情報ｐを出力する。また、ＦＧＴ制御回路２７は、書込対象のＦＧＴ５０に対応するソース電位制御回路２８＿ｐに対して、ソース動作点設定情報ｐを出力する。
【０１４６】
ここで、書込ベリファイ時におけるソース動作点設定情報ｐについては、アナログ動作時にＣＡＢ内の抵抗素子として動作するＦＧＴ５０のソースＦＳに実際に印加される電圧を考慮して、ソース線ＦＳＬｐへの印加電圧が設定される。図１４を用いて、書込ベリファイ時におけるソース線ＦＳＬｐへの印加電圧の設定を説明する。
【０１４７】
例えば、ＦＰＡＡブロック１００において、１個のＣＡＢ００を用いて図１４に示すような演算増幅器ＯＰ１を構成する場合を想定する。図１９を参照して、演算増幅器ＯＰ１の反転入力ノードには、抵抗Ｒ１を介して電圧Ｖｉｎが入力される。また、非反転入力ノードには基準電圧（例えば１Ｖとする）が入力される。演算増幅器ＯＰ１の反転入力ノードと出力ノードとの間には、抵抗Ｒ２が接続される。
【０１４８】
不揮発性プログラマブル抵抗ＦＲを抵抗Ｒ１，Ｒ２に適用する場合、抵抗Ｒ１および抵抗Ｒ２の接続ノードＳ（すなわち、演算増幅器の反転入力ノードに対応）は、引き出し線ＦＳ０００およびソース線ＦＳＬ０を介してＦＧＴ５０のソースＦＳと電気的に接続される。すなわち、接続ノードＳの電圧は、ＦＧＴ５０のソースＦＳの電圧となる。
【０１４９】
ここで、演算増幅器ＯＰ１では反転入力ノードと非反転入力ノードとが仮想的に短絡されているため、反転入力ノードの電圧は基準電圧に等しい電圧（１Ｖ）となる。よって、ＦＧＴ５０のソースＦＳの電圧は基準電圧（１Ｖ）と等しくなる。
【０１５０】
このように、ＦＰＡＡブロック１００においてＣＡＢを用いてどのような演算増幅器を構成するかによって、ＦＧＴ５０のソースＦＳに印加される電圧が自ずと決まってくる。ＦＧＴ制御回路２７は、書込ベリファイ時において、実現したい演算増幅器の回路構成に応じてソース線ＦＳＬｐへの印加電圧を設定し、その設定情報（ソース動作点設定情報）をソース電位制御回路２８＿ｐへ出力する。
【０１５１】
また、書込ベリファイ時におけるドレイン動作点設定情報ｐについては、アナログ動作時に抵抗素子となるＦＧＴ５０が線形領域で動作するように、上述したソース動作点設定情報に応じて設定される。図１５には、ＦＧＴ５０の電圧電流特性を示す。すなわち、図１５の横軸はソース・ドレイン間電圧Ｖｄｓを示し、縦軸はドレイン電流Ｉｆｇｔを示す。
【０１５２】
図１５から明らかなように、ＦＧＴ５０が線形領域で動作しているときには、ＦＧＴ５０の抵抗値（＝Ｖｄｓ／Ｉｆｇｔ）は、図中のラインｋ３に示すように一定となる。よって、ソース・ドレイン電圧Ｖｄｓの大きさによらず、ＦＧＴ５０は一定の抵抗値を示す。
【０１５３】
一方、ＦＧＴ５０が飽和領域で動作しているときには、ソース・ドレイン電圧Ｖｄｓが変化すると、ＦＧＴ５０の抵抗値も変化する。したがって、ＦＧＴ５０を一定抵抗素子として用いるには不向きである。
【０１５４】
本実施の形態１では、ＦＧＴ５０を一定抵抗素子として動作させるため、アナログ動作時にＦＧＴ５０が線形領域で動作するように、ＦＧＴ５０のドレインＦＤの電圧を設定する。例えば、ＦＧＴ５０のドレインＦＤの電圧を、上述したソースＦＳへの印加電圧に対して０．１Ｖ高い電圧に設定する。すなわち、ソース・ドレイン電圧Ｖｄｓ＝０．１Ｖに設定する。
【０１５５】
ここで、ＦＧＴ５０が線形領域で動作しているときの電流Ｉｆｇｔは、図１６に示すＦＧＴ５０の等価回路を用いて、次式（７）のように表される。図１６に示すように、フローティングゲートは、コントロールゲート、ソースＳ、基板ＰｓｕｂおよびドレインＤと容量結合している、これらのキャパシタンスをそれぞれＣｇ，Ｃｇｓ，Ｃｇｂ，Ｃｇｄと記す。
【０１５６】
【数７】
2014017650.tif 000009
【０１５７】
ただし、Ｃｏｘは単位面積のゲート酸化膜容量であり、μは電子移動度であり、ＷはＦＧＴのチャネル幅であり、ＬはＦＧＴのチャネル長であり、ＣＴはフローティングゲートの全キャパシタンスである（ＣＴ＝Ｃｇｓ＋Ｃｇｂ＋Ｃｇｄ）。
【０１５８】
そして、上記式（７）により、ＦＧＴ５０の抵抗値Ｒｆｇｔは次式（８）で表される。
【０１５９】
【数８】
2014017650.tif 000010
【０１６０】
上記式（７）に示すように、電流Ｉｆｇｔの大きさは、コントロールゲート電圧Ｖｆｇｂｉａｓ、ソース電圧Ｖｆｇｓ、およびＦＧＴ５０のしきい値電圧Ｖｔｆｇに応じて変化する。これらの電圧値のうち、コントロールゲート電圧Ｖｆｇｂｉａｓおよびソース電圧Ｖｆｇｓは、アナログ動作時のＣＡＢへの電圧印加条件によって決まる。したがって、ＦＧＴ５０のしきい値電圧Ｖｔｆｇを調整することで、電流Ｉｆｇｔを任意の大きさに設定することができる。すなわち、しきい値電圧Ｖｔｆｇの調整によって、ＦＧＴ５０の抵抗値Ｒｆｇｔを可変に設定することができる。
【０１６１】
一実施の形態では、図１３に示すＦＧＴ５０への書込動作を行なうことによって、アナログ動作時にＦＧＴ５０が所望の抵抗値を示すように、ＦＧＴ５０のしきい値電圧Ｖｔｆｇをプログラミングする。そして、書込ベリファイにおいて、ＦＧＴ５０のしきい値電圧Ｖｔｆｇが、所望の抵抗値を実現するのに適正な値にプログラミングされたかを確認する。
【０１６２】
図１３に戻って、ソース電位制御回路２８＿ｐは、ＦＧＴ制御回路２７からソース動作点設定情報ｐを受けると、当該情報で指定される所定のソース線電圧ＶＦＳＬＰｐを生成してソース線ＦＳＬＰｐに印加する。ソース線電圧ＶＦＳＬＰｐは、ＮチャネルＭＯＳトランジスタ５０を介してソース線ＦＳＬｐに印加される。ウェル電位制御回路２９は、電圧ディスタリビュータ２３からの電圧に基づきバックゲート電圧ＶＦＢＧ（０Ｖ）を生成してバックゲートに印加する（ステップＳ２９）。
【０１６３】
センス・書込回路３１において、電流センス部４０の基準電圧発生回路４５は、ＦＧＴ制御回路２７からのドレイン動作点設定情報ｐに基づいて、基準電圧Ｖｒｅｆ＿ＳＡを生成する。この基準電圧Ｖｒｅｆ＿ＳＡは、ビット線ＦＢＬを介してＦＧＴ５０のドレインＦＤの電圧となる。基準電圧Ｖｒｅｆ＿ＳＡは、ソース線電圧ＶＦＳＬｐより０．１Ｖ程度高い電圧に設定される（ステップＳ０９）。
【０１６４】
ＦＰＰＡブロック１００において、Ｖｆｇｉａｓ発生回路１２（図２）は、ＦＧＴ制御回路２７からの指令に従って、所定のコントロールゲート電圧Ｖｆｇｂｉａｓを生成する。このコントロールゲート電圧Ｖｆｇｂｉａｓは、アナログ動作時にコントロールゲートＣＧに印加される電圧であり、例えば１．５Ｖに設定される。Ｖｆｇｂｉａｓ発生回路１２は、生成したコントロールゲート電圧Ｖｆｇｂｉａｓを、ワード線電圧ＶＦＷＬ０Ｐとしてワード線ＦＷＬ０Ｐに印加する（ステップＳ３０）。
【０１６５】
以上により、書込ベリファイ時には、ＦＧＴ５０は、ドレインＦＤに所定のビット線電圧ＶＦＢＬ（＝基準電圧Ｖｒｅｆ＿ＳＡ）が印加され、ソースＦＳに所定のソース線電圧ＶＦＳＬＰが印加され、コントロールゲートＣＧにコントロールゲート電圧Ｖｆｇｂｉａｓが印加される。この状態において、ＦＧＴ５０には電流Ｉｆｇｔが流れる。センスアンプＳＡｐは、ＦＧＴ制御回路２７からのセンス感度設定情報ｐに従って、対応するＦＧＴ５０の電流Ｉｆｇｔを検知する（ステップＳ３１）。
【０１６６】
ここで、書込ベリファイ時におけるセンス感度情報ｐについては、上記式（７）で示される抵抗値Ｒｆｇｔが所望の抵抗値となるように、ソース・ドレイン電圧Ｖｄｓ（０．１Ｖ）に応じて目標電流値Ｉｆｇｔ＊を設定する。詳細には、所望の抵抗値をＲｅｘｐとすると、目標電流値Ｉｆｇｔ＊と所望の抵抗値Ｒｅｘｐとの間には、Ｉｆｇｔ＊＝Ｖｄｓ／Ｒｅｘｐの関係が成立する。よって、Ｒｅｘｐ＝１００ｋΩの場合、Ｉｆｇｔ＊＝１μＡ（＝０．１Ｖ／１００ｋΩ）となる。また、Ｒｅｘｐ＝１０ｋΩの場合、Ｉｆｇｔ＊＝１０μＡ（＝０．１Ｖ／１０ｋΩ）となる。したがって、所望の抵抗値Ｒｅｘｐに応じて決まる目標電流値Ｉｆｇｔ＊に従ってセンス感度を設定すれば、書込対象のＦＧＴ５０の抵抗値Ｒｆｇｔが所望の抵抗値Ｒｅｘｐに一致したか否かを判定することができる。
【０１６７】
例えば、所望の抵抗値Ｒｅｘｐを１０ｋΩとした場合を想定する。この場合、センス感度（＝目標電流値Ｉｆｇｔ＊）は、上記の関係に基づき１０μＡに設定される。
【０１６８】
センスアンプＳＡｐにおいて、電流センス部４０は、ＦＧＴ制御回路２７からセンス感度設定情報ｐ（Ｉｆｇｔ＊＝１０μＡ）を受けると、このセンス感度設定情報ｐに基づいて、ＰチャネルＭＯＳトランジスタ４１の電流Ｉｏを調整する。具体的には、電流センス部４０は、上記の式（５）に目標電流値Ｉｆｇｔ＊＝１０μＡおよび所定の基準電圧Ｖｒｅｆ＿ＳＡを代入して得られる電流Ｉｏ＊となるように、電流Ｉｏを調整する。
【０１６９】
また、電流センス部４０は、上記式（３）を用いて電流Ｉｆｇｔが目標電流値Ｉｆｇｔ＊と一致するときのゲート電圧Ｖｆを算出し、その算出したゲート電圧ＶｆをインバータＩＮＶの論理しきい値Ｖｔｈ＿ｌｏｇｉｃに設定する。
【０１７０】
そして、この状態でセンスアンプＳＡｐはデータの読出を実行する。ＦＧＴ５０が書込状態でないときには、電流Ｉｆｇｔが目標電流値Ｉｆｇｔ＊（１０μＡ）より小さいため、上記式（１）に従ってゲート電圧Ｖｆが小さくなり、インバータＩＮＶの論理しきい値Ｖｔｈ＿ｌｏｇｉｃより小さくなる。よって、センスアンプＳＡｐは、「Ｈ」レベルのデータを出力する。
【０１７１】
一方、ＦＧＴ５０が書込状態になると、電流Ｉｆｇｔが目標電流値Ｉｆｇｔ＊（１０μＡ）に達するため、ゲート電圧Ｖｆが増加し、インバータＩＮＶの論理しきい値Ｖｔｈ＿ｌｏｇｉｃを上回る。よって、センスアンプＳＡｐは、「Ｌ」レベルのデータを出力する。
【０１７２】
センスアンプＳＡｐが出力するデータは、対応するデータレジスタ３５＿ｐに保持される（ステップＳ３２）。なお、書込対象でないＦＧＴ５０に対応するデータレジスタ３５については、上記のステップＳ２０によって「Ｌ」レベルのデータが保持されている。
【０１７３】
データレジスタ判定回路３６は、データレジスタ３５＿０〜３５＿ｍに保持されたデータに基づいて、書込対象のＦＧＴ５０が書込状態であるか否かを判定する。具体的には、データレジスタ判定回路３６は、データレジスタ３５＿０〜３５＿ｍに保持されるデータがすべて「Ｌ」レベルであるか否かを判定する（ステップＳ３３）。
【０１７４】
データレジスタ３５＿０〜３５＿ｍに保持されるデータがすべて「Ｌ」レベルであるとき（ステップＳ３３のＹＥＳ判定時）には、書込動作を終了する。
【０１７５】
一方、データレジスタ３５＿０〜３５＿ｍに保持されるデータがすべて「Ｌ」レベルでないとき（ステップＳ３３のＮＯ判定時）には、書込対象のＦＧＴ５０への書込が完了していないと判断される。したがって、再びステップＳ２１に戻り、書込パルス印加、書込パルスリセット、および書込ベリファイが実行される。
【０１７６】
なお、すでにデータが「Ｌ」レベルになっているデータレジスタ３５に対応するレベル変換回路３４からは０Ｖが出力されるため、対応するビット線ＦＢＬには書込電圧（６Ｖ）が印加されない、すなわち、データが「Ｈ」レベルになっているデータレジスタ３５に対応するビット線ＦＢＬに対してのみ書込電圧（６Ｖ）が印加される。そのため、書込が完了しておらず、書込パルスを印加する必要のあるビット線ＦＢＬに対してのみ書込電圧が印加されることとなる。このようにして、書込対象のＦＧＴ５０のすべてが所望の抵抗値ｅｘｐにプログラミングされる。
【０１７７】
なお、本実施の形態においては、図８に示すように、ソース動作点設定情報をＦＧＴ５０ごとに独立に設定することができる。したがって、書込ベリファイ時におけるソース線ＦＳＬへの印加電圧を、対応するＣＡＢで実現される回路構成に応じて、各ＦＧＴ５０に対して個別に設定することができる。
【０１７８】
同様にセンス感度設定情報についても、ＦＧＴ５０ごとに独立に設定することができる。よって、対応するＣＡＢで実現される回路構成により決まる所望の抵抗値Ｒｅｘｐに応じて、各ＦＧＴ５０に対して個別にセンス感度（目標電流値Ｉｆｇｔ＊）を設定することができる。これにより、図１３に示す書込動作時においては、書込対象となる複数のＦＧＴ５０に対して、ＦＧＴ５０ごとに独立に設定された情報に基づいて、書込ベリファイが実行されることとなる。
【０１７９】
ここで、書込対象となる２個のＦＧＴ５０の間で所望の抵抗値Ｒｅｘｐが異なる場合として、例えば、一方のＦＧＴ５０についてのＲｅｘｐ＝１０ｋΩであって、他方のＦＧＴ５０についてのＲｅｘｐ＝２０ｋΩである場合を想定する。このような場合、各ＦＧＴ５０に対応するセンスアンプＳＡのセンス感度（目標電流値Ｉｆｇｔ＊）については、上記一方のＦＧＴ５０についてＩｆｇｔ＊＝１０μＡが設定され、上記他方のＦＧＴ５０についてＩｆｇｔ＊＝５μＡが設定される。これにより、書込ベリファイ時には、上記一方のＦＧＴ５０に対応するデータレジスタ３５に目標電流値Ｉｆｇ＊＝１０μＡに基づいて生成された「Ｈ」または「Ｌ」レベルのデータが保持され、上記他方のＦＧＴ５０に対応するデータレジスタ３５に目標電流値Ｉｆｇｔ＊＝５μＡに基づいて生成された「Ｈ」または「Ｌ」レベルのデータが保持される。したがって、２つのＦＧＴ５０の間で所望の抵抗値Ｒｅｘｐが異なる場合であっても、各ＦＧＴ５０に対応するデータレジスタ３５に保持されたデータが「Ｌ」レベルであるか否かを判定することにより、ＦＧＴ５０ごとに所望の抵抗値Ｒｅｘｐがプログラミングされたかを確認することができる。
【０１８０】
（ＦＰＡＡブロックの動作）
上述した方法によって、ＦＧＴブロック２００のＦＧＴ５０に抵抗値をプログラミングした後に、ＦＰＡＡブロック１００をアナログ動作させる。このアナログ動作は、図６に示す動作電圧を印加することにより実行される。具体的には、選択ゲート電圧ＶＦＳＧを０Ｖとするとともに、ワード線電圧ＶＦＷ０Ｐを０Ｖとする。これにより、ＦＧＴ５０がプログラミング回路から切り離されるため、当該回路とＦＰＡＡブロック１００との干渉が避けられる。また、ＦＧＴ５０の消去および書込動作の一連のシーケンスで使用された回路はすべて非活性化される。
【０１８１】
この状態で選択ゲート電圧ＶＡＳＧを３．０Ｖとすることにより、ＮチャネルＭＯＳトランジスタ５４，５５，５６がオンされる。これにより、所望の抵抗値ＲｅｘｐにプログラムされたＦＧＴ５０は、引き出し線ＦＤ０００およびＦＳ０００を介してＣＡＢ００内に配置される。なお、ＦＧＴ５０は自己の抵抗値を不揮発的に記憶しているため、電源遮断の発生によっても記憶している抵抗値が失われることがない。
【０１８２】
（一実施の形態によるＦＰＡＡの構成例）
以下に、２個のＣＡＢを用いて図１７に示すローパスフィルタを構成する場合の回路構成を例示する。
【０１８３】
図１８を参照して、ＣＡＢ００において、抵抗Ｒ１，Ｒ２はそれぞれ不揮発性プログラマブル抵抗ＦＲ０，ＦＲ１により構成される。また、ＣＡＢ１０において、抵抗Ｒ１，Ｒ２は、不揮発性プログラマブル抵抗ＦＲ２，ＦＲ３により構成される。ＣＡＢ００，ＣＡＢ１０およびグローバルスイッチＧＳＷ０〜ＧＳＷ３において、オフ状態に設定されるスイッチＳＷには斜線が付されている。各ＣＡＢにおいて、バイアス回路ＢＣは接地電圧（０Ｖ）を発生する。
【０１８４】
ＣＡＢ００については、上述したＦＧＴの抵抗値のプログラミングを実行することにより、不揮発性プログラマブル抵抗ＦＲ０に抵抗値Ｒ１をプログラミングするとともに、不揮発性プログラム抵抗ＦＲ１に抵抗値Ｒ２をプログラミングする。なお、図１７のローパスフィルタにおいて、演算増幅器ＯＰ１の反転入力ノードと非反転入力ノードとは仮想的に短絡されているため、反転入力ノード（図中のノードＳ０）は接地電圧となっている。したがって、書込ベリファイ時において、不揮発性プログラマブル抵抗ＦＲ０，ＦＲ１の各々に含まれるＦＧＴ５０のソース線ＦＳＬへの印加電圧（ソース動作点設定情報）は接地電圧に設定される。
【０１８５】
ＣＡＢ１０においても同様に、演算増幅器ＯＰ１の反転入力ノードは仮想的に接地電圧となることから、書込ベリファイ時において、不揮発性プログラマブル抵抗ＦＲ２，ＦＲ３の各々に含まれるＦＧＴ５０のソース線ＦＳＬへの印加電圧は接地電圧に設定される。
【０１８６】
なお、ＣＡＢ００，ＣＡＢ１０にそれぞれ含まれるＦＳＷ１，ＦＳＷ２は、上記の不揮発性プログラマブル抵抗ＦＲ０〜ＦＲ３と比較して非常に小さい抵抗値にプログラミングされた不揮発性プログラマブル抵抗であって、オン状態に固定されたスイッチ素子として動作する。
【０１８７】
ＣＡＢ００の出力線ＯＵＴ００は、グローバルスイッチＧＳＷ１を介してグローバル配線Ｙ１に接続される。グローバル配線Ｙ１はグローバルスイッチＧＳＷ３を介してＣＡＢ１０の入力線ＩＮ１０に接続される。このようにして、図１７に示すローパスフィルタが実現される。
【０１８８】
このように、一実施の形態による半導体装置によれば、しきい値電圧のプログラム機能を有するＦＧＴを用いて不揮発性プログラマブル抵抗を実現できるため、半導体装置の電源が遮断された場合においても、各プログラマブル抵抗に記憶された抵抗値が失われることがない。したがって、図３６で示したような、抵抗値を保持するためのストレージ回路、ＲＡＭおよび差動増幅器等の設置が不要となり、回路の複雑化および大型化を回避できる。また、電源遮断状態からの復帰時にプログラマブル抵抗に対する抵抗値の再キャリブレーション動作が不要となるため、常時、ＦＰＡＡを動作させることができるとともに、再キャリブレーション動作のための電力消費が発生しない。
【０１８９】
さらに、電源遮断状態からの復帰時においても、プログラマブル抵抗の再キャリブレーション動作が不要となるため、電源遮断状態からの復帰後直ちに、実行回路を動作させることが可能となる。
【０１９０】
なお、図３６に示したように、従来のＦＰＡＡでは、プログラマブル抵抗ＰＲに、ＮチャネルＭＯＳトランジスタおよびＰチャネルＭＯＳトランジスタを使用している。これは、ＮチャネルＭＯＳトランジスタのみ、またはＰチャネルＭＯＳトランジスタのみでプログラマブル抵抗を構成すると、ソース電圧としきい値電圧との関係に応じて抵抗値の大きさが変動してしまうことによる。詳細には、ＮチャネルＭＯＳトランジスタのみでプログラマブル抵抗を構成した場合、ソース電圧がゲート電圧Ｖｄｄおよびしきい値電圧Ｖｔｈｎの電圧差（＝Ｖｄｄ−Ｖｔｈｎ）以上のときには、ＮチャネルＭＯＳトランジスタがオンしないため、プログラマブル抵抗の抵抗値は所望の抵抗値より非常に大きな値となる。
【０１９１】
同様に、ＰチャネルＭＯＳトランジスタのみでプログラマブル抵抗を構成した場合においても、ソース電圧がしきい値電圧Ｖｔｈｐの絶対値（＝｜Ｖｔｈｐ｜）以下のときには、ＰチャネルＭＯＳトランジスタがオンしないため、プログラマブル抵抗の抵抗値は非常に大きな値となる。
【０１９２】
そのため、従来のＦＰＡＡでは、ＮチャネルＭＯＳトランジスタおよびＰチャネルＭＯＳトランジスタを並列接続することによって、ソース電圧が（Ｖｄｄ−Ｖｔｈｎ）以上のときであっても｜Ｖｔｈｐ｜以下のときであっても、いずれか一方のトランジスタがオンすることによって、プログラマブル抵抗を所望の抵抗値にすることができる。
【０１９３】
しかしながら、従来のＦＰＡＡでは、実際のアナログ動作時に印加されるソース電圧を考慮して抵抗値を測定しているわけではない。なお、特許文献１には、ソース電圧ＲＥＦ５を所定の電圧（１．５Ｖ）に設定して抵抗値を測定することが記載されている。ＭＯＳトランジスタの抵抗値Ｒは、ゲート電圧Ｖｇ、ソース電圧Ｖｓおよびしきい値電圧Ｖｔｈを用いて、式（９）のように表わされる。
【０１９４】
【数９】
2014017650.tif 000011
【０１９５】
ここで、Ｃｏｘは単位面積あたりのゲート酸化膜容量であり、μは電子移動度であり、ＷはＭＯＳトランジスタのゲート幅であり、ＬはＭＯＳトランジスタのチャネル長である。
【０１９６】
上記式（９）から明らかなように、ＭＯＳトランジスタの抵抗値Ｒは、ソース電圧Ｖｓに依存する。そのため、実際のアナログ動作時に印加されるソース電圧が所定の電圧（１．５Ｖ）とは異なる場合、抵抗値Ｒは所望の抵抗値からずれてしまう。このように、従来のＦＰＡＡでは、プログラマブル抵抗の抵抗値の精度に問題があった。
【０１９７】
これに対して、一実施の形態においては、ＦＧＴに抵抗値をプログラミングする際に、実際のアナログ動作時に印加されるソース電圧を考慮してソース電圧を設定するため、上述したような問題が生じることなく、Ｎ型のＦＧＴのみでプログラマブル抵抗を構成することができる。その結果、素子数を減らすことができる。
【０１９８】
その一方で、一実施の形態においては、ＦＧＴブロック２００に、ＦＧＴ５０に抵抗値をプログラミングするためのプログラム回路（高電圧発生回路、電圧ディスタリビュータ、センスアンプ等）を設ける必要があるため、回路面積のオーバーヘッドが大きくなってしまう。しかしながら、同一半導体チップ上にＣＰＵと不揮発性メモリ（フラッシュメモリ）とが搭載されて構成されたマイコン（以下、「フラッシュ内蔵マイコン」とも称す）においては、一般的に、フラッシュメモリに対するデータの消去および書込を行なうための回路として、高電圧発生回路、電圧ディスタリビュータおよびセンスアンプ等を搭載している。したがって、フラッシュメモリとＦＧＴとの間でこれらの回路を共用する構成とすることにより、回路面積のオーバーヘッドを回避できる。
【０１９９】
（実施の形態２）
実施の形態１では、ＣＡＢ内のプログラマブル抵抗ＰＲを不揮発性プログラマブル抵抗に置き換える構成について説明した。実施の形態２では、ＦＰＡＡブロック１００内のスイッチＳＷを不揮発性スイッチに置き換える構成について説明する。
【０２００】
図１９は、実施の形態２による半導体装置の代表例として示されるリコンフィギュラブルアナログモジュールの概略構成図である。
【０２０１】
図１９を参照して、実施の形態２によるリコンフィギュラブルアナログモジュールは、ＦＰＡＡブロック１１０と、ＦＧＴブロック２１０とから構成される。ＦＰＡＡブロック１１０の回路構成は、図１に示した実施の形態１によるＦＰＡＡブロック１００と同様であるので、詳細な説明は繰り返さない。
【０２０２】
ＦＧＴブロック２１０は、ＦＰＡＡブロック１１０内の各グローバルスイッチＧＳＷに対応して設けられる複数の不揮発性グローバルスイッチＦＧＳＷを含む。図１９では、ＦＰＡＡブロック１１０内の２つのグローバルスイッチＧＳＷ０，ＧＳＷ１に対応して設けられた２つの不揮発性グローバルスイッチＦＧＳＷ０，ＦＧＳＷ１が示されている。
【０２０３】
具体的には、不揮発性グローバルスイッチＦＧＳＷ０は、引き出し線ＦＤ００ｊ〜ＦＤ００（ｊ＋３）を介してグローバルスイッチＧＳＷ０に接続される（０≦ｊ≦ｍ）。この不揮発性グローバルスイッチＦＧＳＷ０の接続によって、グローバルスイッチＧＳＷ０はＦＰＡＡブロック１１０から削除される。図１９では、削除されたグローバルスイッチＧＳＷを破線で示す。すなわち、グローバルスイッチＧＳＷ０は、不揮発性グローバルスイッチＦＧＳＷ０に置き換えられる。
【０２０４】
同様にして不揮発性グローバルスイッチＦＧＳＷ１は、引き出し線ＦＤ００ｋ〜ＦＤ００（ｋ＋２）を介してグローバルスイッチＧＳＷ１に接続される（０≦ｋ≦ｍ）。グローバルスイッチＧＳＷ１は、不揮発性グローバルスイッチＦＧＳＷ１に置き換えられる。
【０２０５】
不揮発性グローバルスイッチＦＧＳＷ０，ＦＧＳＷ１の各々は、後に説明するように、自己のオン／オフ状態を不揮発的に記憶する不揮発性スイッチＦＳＷを複数個組み合わせて構成される。
【０２０６】
ＦＧＴブロック２１０は、各ＣＡＢ内のスイッチＳＷに対応して設けられる複数の不揮発性スイッチＦＳＷをさらに含む。不揮発性スイッチＦＳＷは、引き出し線ＦＤ００ｈ，ＦＳ００ｈを介して対応するスイッチＳＷに接続される。この不揮発性スイッチＦＳＷの接続によって、スイッチＳＷはＦＰＡＡブロック１１０から削除される。図１９では、削除されたスイッチＳＷを破線で示す。すなわち、スイッチＳＷは、不揮発性スイッチＦＳＷに置き換えられる。
【０２０７】
不揮発性スイッチＦＳＷは、自己のオン／オフ状態を不揮発的に記憶する「プログラム素子」として、ＦＧＴを含む。すなわち、実施の形態２によるリコンフィギュラブルアナログモジュールにおいて、ＦＰＡＡブロック１１０は、スイッチＳＷ（図３６参照）に代えて、ＦＧＴを含む不揮発性スイッチＦＳＷを含む。
【０２０８】
図２０は、図１９における不揮発性グローバルスイッチＦＧＳＷ１の構成を説明する図である。
【０２０９】
図２０を参照して、ノードＳｈに共通に接続される３個の不揮発性スイッチＦＳＷ１〜ＦＳＷ３を含む。不揮発性スイッチＦＳＷ１は、オンされたときに、グローバル配線Ｘ０およびノードＳｈを電気的に接続する一方で、オフされたときに、グローバル配線Ｘ０およびノードＳｈの電気的接続を遮断する。同様に、不揮発性スイッチＦＳＷ２は、オンまたはオフされることにより、グローバル配線Ｙ０およびノードＳｈの電気的接続および遮断を切替える。不揮発性スイッチＦＳＷ３は、オンまたはオフされることにより、出力ノードＯＵＴ００およびノードＳｈの電気的接続および遮断を切替える。
【０２１０】
図２１は、図２０における不揮発性スイッチＦＳＷの構成の一例を説明する図である。なお、不揮発性スイッチＦＳＷ１〜ＦＳＷ３は構成が同じであるため、不揮発性スイッチＦＳＷ１を代表的に説明する。
【０２１１】
図２１を参照して、不揮発性スイッチＦＳＷ１は、図３に示した不揮発性プログラマブル抵抗ＦＲの構成と略同じであり、ＦＧＴ５０と、選択用のＮチャネルＭＯＳトランジスタ５１，５４〜５６とを含む。ＮチャネルＭＯＳトランジスタ５１，５４〜５６には、例えば高耐圧ＭＯＳトランジスタが適用される。
【０２１２】
不揮発性スイッチＦＳＷ１に対しては、ビット線ＦＢＬｋ、ワード線ＦＷＬ０、ソース線ＦＳＬｋ、および選択ゲート線ＡＳＧが設けられる。
【０２１３】
ＦＧＴ５０のドレインＦＤｋは、ＮチャネルＭＯＳトランジスタ５４を介して引き出し線ＦＤ００ｋに接続されるとともに、ＮチャネルＭＯＳトランジスタ５１を介してビット線ＦＢＬｋに接続される。
【０２１４】
ＦＧＴ５０のソースＦＳｋは、ソース線ＦＳＬｋ接続される。ソース線ＦＳＬｋと引き出し線ＦＳ００ｋとの間には、ＮチャネルＭＯＳトランジスタ５６が接続される。なお、引き出し線ＦＳ００ｋ、不揮発性スイッチＦＳＷ２の引き出し線ＦＳ００（ｋ＋１）、および不揮発性スイッチＦＳＷ３の引き出し線ＦＳ００（ｋ＋２）はノードＳｈに共通に接続される。
【０２１５】
ＦＧＴ５０のゲートは、ワード線ＦＷＬ０に接続される。ワード線ＦＷＬ０は、ＮチャネルＭＯＳトランジスタ５５を介してＶｆｇｂｉａｓ発生回路１２に接続される。
【０２１６】
ＮチャネルＭＯＳトランジスタ５４，５５，５６のゲートは、選択ゲート線ＡＳＧに接続される。選択ゲート線ＡＳＧは、ＦＰＡＡブロック１００の動作（アナログ動作）時に選択レベルの「Ｈ」レベルに駆動される。これにより、ＦＰＡＡブロック１００の動作時には、ＦＧＴ５０がＦＰＡＡブロック１１０内に配置される。
【０２１７】
ＮチャネルＭＯＳトランジスタ５１のゲートは、選択ゲート線ＦＳＧに接続される。選択ゲート線ＦＳＧは、ＦＧＴブロック２１０の動作時に選択レベルの「Ｈ」レベルに駆動される。これにより、ＦＧＴブロック２１０の動作時には、ＦＧＴ５０がビット線ＦＢＬ０に接続され、ＦＧＴ５０に対するデータの書込および消去が可能となる。
【０２１８】
図２２は、図１９における不揮発性グローバルスイッチＦＧＳＷ０の構成を説明する図である。
【０２１９】
図２２を参照して、ノードＳｈに共通に接続される４個の不揮発性スイッチＦＳＷ１〜ＦＳＷ４を含む。不揮発性スイッチＦＳＷ１は、オンされたときに、グローバル配線Ｘ０およびノードＳｈを電気的に接続する一方で、オフされたときに、グローバル配線Ｘ０およびノードＳｈの電気的接続を遮断する。同様に、不揮発性スイッチＦＳＷ２は、オンまたはオフされることにより、グローバル配線Ｙ０およびノードＳｈの電気的接続および遮断を切替える。不揮発性スイッチＦＳＷ３は、オンまたはオフされることにより、出力ノードＯＵＴ００およびノードＳｈの電気的接続および遮断を切替える。不揮発性スイッチＦＳＷ４は、オンまたはオフされることにより、入力ノードＩＮ００およびノードＳｈの電気的接続および遮断を切替える。
【０２２０】
図２３は、図２２における不揮発性スイッチＦＳＷの構成の一例を説明する図である。図２３を参照して、不揮発性スイッチＦＳＷ１〜ＦＳＷ４の構成は図２１と同様であるので詳細な説明は繰り返さない。
【０２２１】
次に、図２１および図２３に示すＦＧＴ５０のデータの消去動作および消去ベリファイ動作、およびＦＧＴ５０へのデータの書込動作および書込ベリファイ動作について説明する。なお、本実施の形態２では、以下に説明する書込動作を行なうことによってＦＧＴ５０をオン状態またはオフ状態にプログラミングする。
【０２２２】
（消去動作）
ＦＧＴ５０のデータの消去動作は、図１２に示した処理手順に従って実行される。図１２のステップＳ０８〜Ｓ１０により、消去ベリファイ時において、ＦＧＴ５０は、ドレインＦＤにビット線電圧ＶＦＢＬ＝２Ｖが印加され、ソースＦＳにソース線電圧ＶＦＳＬＰ＝０Ｖが印加され、コントロールゲートＣＧにワード線電圧ＶＦＷＬ０Ｐ＝３Ｖが印加される。この状態において、センスアンプＳＡ０〜ＳＡｍは、センス感度設定情報０〜ｍ（Ｉｆｇｔ＊＝１μＡ）に従って、対応するＦＧＴ５０の電流Ｉｆｇｔを検知する。
【０２２３】
なお、アナログ動作時にＦＧＴ５０に印加されるコントロールゲート電圧Ｖｆｇｂｉａｓは最大でも１．５Ｖ程度であり、消去ベリファイ時のワード線電圧ＶＦＷＬ０Ｐ（３Ｖ）より低い。したがって、アナログ動作時、ＦＧＴ５０にはセンス感度Ｉｆｇｔ＊＝１μＡより非常に小さい電流しが流れず、ＦＧＴ５０は実質的にオフ状態となる。すなわち、消去動作の完了後において、ＦＧＴブロック２１０内のすべてのＦＧＴ５０はオフ状態にプログラミングされる。
【０２２４】
（書込動作）
ＦＧＴ５０へのデータの書込動作は、オン状態にプログラミングしたいＦＧＴ５０を書込対象として実行される。なお、オフ状態にプログラミングしたいＦＧＴ５０については、上記の消去動作の完了後にオフ状態にプログラミングされているため、書込動作を行なわない。
【０２２５】
書込対象となるＦＧＴ５０への書込動作は、図１３に示す処理手順に従って実行される。図１３のステップＳ２０において、書込動作が開始されると、データレジスタ３５＿０〜３５＿ｍのうち、書込対象となるＦＧＴ５０、すなわちオン状態にプログラミングしたいＦＧＴ５０に対応するデータレジスタ３５＿ｐ（０≦ｐ≦ｍ）には「Ｈ」レベルのデータがセットされる。一方、オフ状態にプログラミングしたいＦＧＴ５０に対応するデータレジスタ３５には「Ｌ」レベルのデータが保持される。
【０２２６】
本実施の形態２では、書込ベリファイ時には、ＦＧＴ５０は、ソースＦＳにソース線電圧ＶＦＳＬＰ＝０Ｖが印加され、ドレインＦＤにソース線電圧ＶＦＳＬＰ（０Ｖ）より０．１Ｖ高い電圧（０．１Ｖ）が印加される。アナログ動作時にＦＧＴ５０を線形領域で動作させるためである。またＦＧＴ５０は、コントロールゲートＣＧにワード線電圧ＶＦＷＬ０Ｐ＝−３．０Ｖが印加される。この状態でＦＧＴ５０に電流Ｉｆｇｔが流れると、センスアンプＳＡｐは、センス感度設定情報ｐ（Ｉｆｇｔ＊＝１００μＡ）に従って、対応するＦＧＴ５０の電流Ｉｆｇｔを検知する。
【０２２７】
ソース・ドレイン電圧Ｖｄｓ＝０．１Ｖにおいてセンス感度Ｉｆｇｔ＊＝１００μＡに設定した場合、書込状態になったときのＦＧＴ５０の抵抗値は、上記式（８）により、Ｒｆｇｔ＝１ｋΩとなる。本実施の形態２では、不揮発性スイッチＦＳＷをＦＰＡＡブロック１１０内に配置してアナログ動作を行なうときには、コントロールゲート電圧Ｖｆｇｂｉａｓを書込ベリファイ時のコントロールゲート電圧（−３Ｖ）より大きい電圧（例えば０Ｖ以上）に設定してＦＧＴ５０を動作させる。そのため、アナログ動作時におけるＦＧＴ５０の抵抗値は、書込状態でのＦＧＴ５０の抵抗値Ｒｆｇｔ（１ｋΩ）と比較してかなり小さい値となる。これにより、アナログ動作時において、ＦＧＴ５０はオン状態のスイッチＳＷとして動作する。
【０２２８】
なお、アナログ動作時におけるＦＧＴ５０の抵抗値をさらに小さい値に設定したい場合には、センス感度（目標電流値Ｉｆｇｔ＊）を１００μＡより大きい電流値に設定すればよい。あるいは、書込ベリファイ時のコントロールゲート電圧Ｖｆｇｂｉａｓを−３．０Ｖより低い電圧に設定すればよい。もしくは、アナログ動作時のコントロールゲート電圧Ｖｆｇｂｉａｓをより高い電圧に設定すればよい。
【０２２９】
センスアンプＳＡｐにおいて、電流センス部４０は、ＦＧＴ制御回路２７からセンス感度設定情報ｐ（Ｉｆｇｔ＊＝１００μＡ）を受けると、このセンス感度設定情報ｐに基づいて、ＰチャネルＭＯＳトランジスタ４１の電流Ｉｏを調整する。また、電流センス部４０は、上記式（４）を用いて電流Ｉｆｇｔが目標電流値Ｉｆｇｔ＊と一致するときのゲート電圧Ｖｆを算出し、その算出したゲート電圧ＶｆをインバータＩＮＶの論理しきい値Ｖｔｈ＿ｌｏｇｉｃに設定する。
【０２３０】
そして、この状態でセンスアンプＳＡｐはデータの読出を実行する。ＦＧＴ５０が書込状態でないときには、電流Ｉｆｇｔが目標電流値Ｉｆｇｔ＊（１００μＡ）より小さいため、上記式（１）に従ってゲート電圧Ｖｆが小さくなり、インバータＩＮＶの論理しきい値Ｖｔｈ＿ｌｏｇｉｃより小さくなる。よって、センスアンプＳＡｐは、「Ｈ」レベルのデータを出力する。
【０２３１】
一方、ＦＧＴ５０が書込状態になると、電流Ｉｆｇｔが目標電流値Ｉｆｇｔ＊（１００μＡ）に達するため、ゲート電圧Ｖｆが増加し、インバータＩＮＶの論理しきい値Ｖｔｈ＿ｌｏｇｉｃを上回る。よって、センスアンプＳＡｐは、「Ｌ」レベルのデータを出力する。
【０２３２】
センスアンプＳＡｐが出力するデータは、対応するデータレジスタ３５＿ｐに保持される。データレジスタ判定回路３６は、データレジスタ３５＿０〜３５＿ｍに保持されるデータがすべて「Ｌ」レベルであるとき、書込動作を終了する。
【０２３３】
一方、データレジスタ３５＿０〜３５＿ｍに保持されるデータがすべて「Ｌ」レベルでないときには、書込対象のＦＧＴ５０への書込が完了していないと判断されて、再度書込パルス印加、書込パルスリセット、および書込ベリファイが実行される。このようにして、書込対象のＦＧＴ５０のすべてがオン状態にプログラミングされる。
【０２３４】
（実施の形態２によるＦＰＡＡの構成例）
以下に、２個のＣＡＢを用いて図１７に示すローパスフィルタを構成する場合の回路構成を例示する。
【０２３５】
図２４を参照して、ＣＡＢ００において、不揮発性スイッチＦＳＷ０〜ＦＳＷ５のうち、不揮発性スイッチＦＳＷ０，ＦＳＷ１，ＦＳＷ２，ＦＳＷ５はオン状態にプログラミングされている。一方、不揮発性スイッチＦＳＷ３，ＦＳＷ４はオフ状態にプログラミングされている。また、ＣＡＢ１０において、不揮発性スイッチＦＳＷ６〜ＦＳＷ１１のうち、不揮発性スイッチＦＳＷ６，ＦＳＷ７，ＦＳＷ８，ＦＳＷ１１はオン状態にプログラミングされている。一方、不揮発性スイッチＦＳＷ９，ＦＳＷ１０はオフ状態にプログラミングされている。
【０２３６】
不揮発性グローバルスイッチＦＧＳＷ０，ＦＧＳＷ２では、３個の不揮発性スイッチＦＳＷがすべてオフ状態にプログラミングされている。また、不揮発性グローバルスイッチＦＧＳＷ１，ＦＧＳＷ３では、グローバル配線Ｘ０，Ｘ１に接続される不揮発性スイッチＦＳＷのみがオフ状態にプログラミングされている。なお、ＣＡＢ００，ＣＡＢ１０および不揮発性グローバルスイッチＦＧＳＷ０〜ＦＧＳＷ３において、オフ状態にプログラムされた不揮発性スイッチＦＳＷには斜線が付されている。各ＣＡＢにおいて、バイアス回路ＢＣは接地電圧（０Ｖ）を発生する。
【０２３７】
このような構成としたことにより、ＣＡＢ００の出力線ＯＵＴ００は、不揮発性グローバルスイッチＦＧＳＷ１を介してグローバル配線Ｙ１に接続される。グローバル配線Ｙ１は不揮発性グローバルスイッチＦＧＳＷ３を介してＣＡＢ１０の入力線ＩＮ１０に接続される。このようにして、図１７に示すローパスフィルタが実現される。
【０２３８】
このように、実施の形態２による半導体装置によれば、しきい値電圧のプログラム機能を有するＦＧＴを用いて不揮発性スイッチを実現できるため、コンフィギュレーションメモリにおいて各スイッチのオン／オフ情報を記憶するために割り当てられていたメモリ領域が不要となる。これにより、コンフィグレーションメモリの容量を低減できるため、メモリの占有面積を縮小できるとともに、スタンバイ電流を小さくすることができる。また、電源遮断からの復帰時において、コンフィグレーションメモリからスイッチへのオン／オフ情報の転送も不要となる。
【０２３９】
（実施の形態３）
実施の形態３では、上述した実施の形態１および２を用いて、ＦＰＡＡブロック内のプログラマブル抵抗ＰＲおよびスイッチＳＷを、それぞれ不揮発性プログラマブル抵抗ＦＰＲおよび不揮発性スイッチＦＳＷに置き換える構成について説明する。
【０２４０】
図２５は、実施の形態３による半導体装置の代表例として示されるリコンフィギュラブルアナログモジュールの概略構成図である。
【０２４１】
図２５を参照して、実施の形態３によるリコンフィギュラブルアナログモジュールは、ＦＰＡＡブロック１２０と、ＦＧＴブロック２２０とから構成される。ＦＰＡＡブロック１２０の基本的な回路構成は、図１に示した実施の形態１によるＦＰＡＡブロック１００と同様であるので、詳細な説明は繰り返さない。
【０２４２】
ＦＧＴブロック２２０は、ＦＰＡＡブロック１２０内の各グローバルスイッチＧＳＷに対応して設けられる複数の不揮発性グローバルスイッチＦＧＳＷと、各ＣＡＢ内のスイッチＳＷに対応して設けられる複数の不揮発性スイッチＦＳＷとを含む。不揮発性グローバルスイッチＦＧＳＷおよび不揮発性スイッチＦＳＷの構成は、実施の形態２で示した構成と同様であるので、詳細な説明は繰り返さない。
【０２４３】
実施の形態３においては、スイッチＳＷおよびプログラマブル抵抗ＰＲの直列回路を、１個の不揮発性プログラマブル抵抗ＦＲに置き換える。図２５を参照して、演算増幅器ＯＰ１の反転入力ノードおよび出力ノードの間に直列接続されるスイッチＳＷ１およびプログラマブル抵抗ＰＲ０を、１個の不揮発性プログラマブル抵抗ＦＲ０に置き換える。また、入力線ＩＮ００および演算増幅器ＯＰ１の反転入力ノードの間に直列接続されるスイッチＳＷ２およびプログラマブル抵抗ＰＲ１を、１個の不揮発性プログラマブル抵抗ＦＲ１に置き換える。これにより、図１７中の抵抗Ｒ１，Ｒ２は、不揮発性プログラマブル抵抗ＦＲ０，ＦＲ１によってそれぞれ構成される。なお、これらの不揮発性プログラマブル抵抗ＦＲの構成は、実施の形態１で示した不揮発性プログラマブル抵抗ＦＲの構成と同様であるので、詳細な説明は繰り返さない。
【０２４４】
なお、ＦＧＴブロック２２０に含まれるＦＳＷ１は、上記の不揮発性プログラマブル抵抗ＦＲ０，ＦＲ１と比較して非常に小さい抵抗値にプログラミングされた不揮発性プログラマブル抵抗であって、オン状態に固定されたスイッチ素子として動作する。
【０２４５】
実施の形態３においても、実施の形態１および２と同様に、ＦＧＴ５０へのデータの書込動作を行なうことによってＦＧＴ５０をプログラミングする。ただし、実施の形態３では、この書込動作において、不揮発性スイッチＦＳＷのＦＧＴ５０をオン状態またはオフ状態にプログラミングする動作と、不揮発性プログラマブル抵抗ＦＲのＦＧＴ５０を所望の抵抗値Ｒｅｘｐにプログラミングする動作とを行なう。
【０２４６】
具体的には、不揮発性スイッチＦＳＷのＦＧＴ５０をオン状態またはオフ状態にプログラミングする動作については、実施の形態２で示した処理手順に従って、ＦＧＴ５０へのデータの消去動作およびデータの書込動作を行なう。すなわち、オフ状態にプログラミングしたいＦＧＴ５０については、図１２の処理手順に従ってＦＧＴ５０のデータの消去動作を完了した後、データの書込動作を行なわない。一方、オン状態にプログラミングしたいＦＧＴ５０については、ＦＧＴ５０のデータの消去動作が完了すると、実施の形態２で示した書込ベリファイ時の電圧印加条件に従ってＦＧＴ５０へのデータの書込動作を行なう。
【０２４７】
これに対して、スイッチＳＷおよびプログラマブル抵抗ＰＲの直列回路を１個の不揮発性プログラマブル抵抗ＦＲに置き換えるためには、置換対象となるスイッチＳＷのアナログ動作時のオン／オフ状態に応じて、不揮発性プログラマブル抵抗ＦＲのＦＧＴ５０をオフ状態にプログラミングする動作と、当該ＦＧＴ５０を所望の抵抗値Ｒｅｘｐにプログラミングする動作とを切替えて行なう。
【０２４８】
より具体的には、アナログ動作時に対応するスイッチＳＷがオフ状態に設定される不揮発性プログラマブル抵抗ＦＲについては、実施の形態２で示した処理手順に従い、ＦＧＴ５０のデータの消去動作を完了した後、当該ＦＧＴ５０へのデータの書込動作を行なわない。消去動作の完了後にはＦＧＴ５０はオフ状態にプログラミングされているため、不揮発性プログラマブル抵抗ＦＲは、アナログ動作時にはオフ状態のスイッチＳＷとして動作する。
【０２４９】
一方、アナログ動作時に対応するスイッチＳＷがオン状態に設定される不揮発性プログラマブル抵抗ＦＲについては、実施の形態１および２で示した処理手順に従ってＦＧＴ５０のデータの消去動作を完了した後、ＦＧＴ５０へのデータの書込動作を実行する。この書込動作では、実施の形態１で示した処理手順に従って、ＦＧＴ５０が所望の抵抗値ＲｅｘｐとなるようにＦＧＴ５０のしきい値電圧Ｖｔｆｇを調整する。
【０２５０】
ここで、不揮発性スイッチＦＳＷのＦＧＴ５０への書込動作と、不揮発性プログラマブル抵抗ＦＲのＦＧＴ５０への書込動作とを対比すると、書込ベリファイ時の電圧印加条件が異なっている。詳細には、不揮発性スイッチＳＷのＦＧＴ５０へのデータの書込動作時には、実施の形態２で示したように、書込ベリファイ時のワード線電圧ＶＦＷＬ０Ｐ＝−３Ｖに設定される。一方、不揮発性プログラマブル抵抗ＦＲのＦＧＴ５０へのデータの書込動作時には、実施の形態１で示したように、書込ベリファイ時のワード線電圧ＶＦＷＬ０Ｐ＝Ｖｆｇｂｉａｓ（１．５Ｖ）に設定される。このように不揮発性スイッチＦＳＷと不揮発性プログラマブル抵抗ＦＲとの間で、書込ベリファイ時のコントロールゲート電圧が異なるため、これら２つのＦＧＴ５０に対して同時に書込動作を行なうことができない。そのため、実施の形態３では、ＦＧＴ５０へのデータの書込動作を２段階に分けて行なう。
【０２５１】
具体的には、第１段階として、不揮発性スイッチＦＳＷのＦＧＴ５０へのデータの書込動作を行なう。そして、この書込動作の完了後に、第２段階として、不揮発性プログラマブル抵抗ＦＲのＦＧＴ５０へのデータの書込動作を行なう。
【０２５２】
なお、上記の２段階の書込動作に先立って、ＦＧＴブロック１２０内のすべてのＦＧＴ５０のデータの消去動作を実行する。これによりＦＧＴブロック１２０内のすべてのＦＧＴ５０は消去状態に設定される。そして、すべてのＦＧＴ５０が消去状態に設定された状態において、第１段階の書込動作を行なう。
【０２５３】
この第１段階の書込動作では、複数の不揮発性スイッチＦＳＷのうち、ＦＧＴ５０をオフ状態にプログラミングしたいものについては、初期状態として、対応するデータレジスタ３５に「Ｌ」レベルのデータをセットする。これにより、これらの不揮発性スイッチＦＳＷのＦＧＴ５０へのデータの書込が行なわれない。
【０２５４】
一方、複数の不揮発性スイッチＦＳＷのうち、対応するＦＧＴ５０をオン状態にプログラミングしたいものについては、初期状態として、対応するデータレジスタ３５に「Ｈ」レベルのデータをセットする。そして、実施の形態２で示した書込ベリファイ時の電圧印加条件に従ってＦＧＴ５０へのデータの書込動作を実行する。
【０２５５】
次に、第２段階の書込動作として、スイッチＳＷがオン状態に設定される不揮発性プログラマブル抵抗ＦＲのＦＧＴ５０へのデータの書込動作を行なう。この第２段階の書込動作では、最初に、上述した第１段階の書込動作において書込が行なわれた不揮発性スイッチＦＳＷについて、対応するデータレジスタ３５に「Ｌ」レベルのデータをセットする。これにより、これらの不揮発性スイッチＦＳＷのＦＧＴ５０へのデータの書込が行なわれない。
【０２５６】
さらに、スイッチＳＷがオフ状態に設定される不揮発性プログラマブル抵抗ＦＲについても、対応するデータレジスタ３５に「Ｌ」レベルのデータをセットする。これにより、これらの不揮発性プログラマブル抵抗ＦＲのＦＧＴ５０へのデータの書込が行なわれない。
【０２５７】
一方、スイッチＳＷがオン状態に設定される不揮発性プログラマブル抵抗ＦＲについては、初期状態として、対応するデータレジスタ３５に「Ｈ」レベルのデータをセットする。そして、実施の形態１で示した書込ベリファイ時の電圧印加条件に従ってＦＧＴ５０へのデータの書込動作を実行する。
【０２５８】
図２６には、プログラマブル抵抗ＰＲを不揮発性プログラマブル抵抗ＦＲに置き換える構成（実施の形態１に対応）、スイッチＳＷを不揮発性スイッチＦＳＷに置き換える構成（実施の形態２に対応）、および、スイッチＳＷおよびプログラマブル抵抗ＰＲの直列回路を不揮発性プログラマブル抵抗ＦＲに置き換える構成（実施の形態３に対応）のそれぞれについての、書込ベリファイ時の電圧印加条件およびセンス感度（目標電流値Ｉｆｇｔ＊）をまとめて示す。
【０２５９】
図２６を参照して、置換対象にプログラマブル抵抗ＰＲを含むものについては、書込ベリファイ時のワード線電圧ＶＦＷＬ０Ｐ（すなわち、コントロールゲート電圧）は、アナログ動作時にコントロールゲートＣＧに印加される所定のコントロールゲート電圧Ｖｆｇｂｉａｓに設定される。また、ソース電圧は、実現したい演算増幅器の回路構成においてソース線ＦＳＬｐに印加される電圧に設定される。さらに、ドレイン電圧は、ＦＧＴ５０が線形領域で動作するように、ソース電圧より０．１Ｖ高い電圧に設定される。センス感度（目標電流値Ｉｆｇｔ＊）は、電圧印加条件で決まるソース・ドレイン電圧Ｖｄｓ（＝０．１Ｖ）と、所望の抵抗値Ｒｅｘｐとに基づいて設定される。
【０２６０】
これに対して、置換対象をオン状態のスイッチＳＷとするものは、アナログ動作時の電圧印加条件でのＦＧＴ５０の抵抗値が、書込ベリファイ時の電圧印加条件でのＦＧＴ５０の抵抗値よりも十分に小さくなることを想定して設定される。また、置換対象をオフ状態のスイッチＳＷとするものは、アナログ動作時の電圧印加条件においてＦＧＴ５０がオフ状態となることを想定して設定される。
【０２６１】
（実施の形態３によるＦＰＡＡの構成例）
以下に、２個のＣＡＢを用いて図１７に示すローパスフィルタを構成する場合の回路構成を例示する。
【０２６２】
図２７を参照して、本実施の形態３によるＦＰＡＡは、図２４に示す実施の形態２によるＦＰＡＡにおいて、不揮発性スイッチＦＳＷ１およびプログラマブル抵抗ＰＲ０の直列回路を不揮発性プログラマブル抵抗ＦＲ０に置き換えるとともに、不揮発性スイッチＦＳＷ２およびプログラマブル抵抗ＰＲ１の直列回路を不揮発性プログラマブル抵抗ＦＲ１に置き換えたものである。
【０２６３】
ＣＡＢ００において、抵抗Ｒ１，Ｒ２はそれぞれ不揮発性プログラマブル抵抗ＦＲ０，ＦＲ１により構成される。また、ＣＡＢ１０において、抵抗Ｒ１，Ｒ２は、不揮発性プログラマブル抵抗ＦＲ２，ＦＲ３により構成される。ＣＡＢ００，ＣＡＢ１０およびグローバルスイッチＧＳＷ０〜ＧＳＷ３において、オフ状態にプログラムされる不揮発性スイッチＦＳＷには斜線が付されている。各ＣＡＢにおいて、バイアス回路ＢＣは接地電圧（０Ｖ）を発生する。
【０２６４】
ＣＡＢ００については、不揮発性プログラマブル抵抗ＦＲ０に抵抗値Ｒ１をプログラミングするとともに、不揮発性プログラム抵抗ＦＲ１に抵抗値Ｒ２をプログラミングする。なお、図１７のローパスフィルタにおいて、演算増幅器ＯＰ１の反転入力ノードと非反転入力ノードとは仮想的に短絡されているため、反転入力ノードは接地電圧となっている。したがって、書込ベリファイ時において、不揮発性プログラマブル抵抗ＦＲ０，ＦＲ１の各々に含まれるＦＧＴ５０のソース線ＦＳＬへの印加電圧（ソース動作点設定情報）は接地電圧に設定される。
【０２６５】
ＣＡＢ１０においても同様に、演算増幅器ＯＰ１の反転入力ノードは仮想的に接地電圧となることから、書込ベリファイ時において、不揮発性プログラマブル抵抗ＦＲ２，ＦＲ３の各々に含まれるＦＧＴ５０のソース線ＦＳＬへの印加電圧は接地電圧に設定される。
【０２６６】
また、ＣＡＢ００，ＣＡＢ１０および不揮発性グローバルスイッチＦＧＳＷ０〜ＦＧＳＷ３に配された複数の不揮発性スイッチＦＳＷは、オン状態またはオフ状態にプログラミングされている。オフ状態にプログラムされた不揮発性スイッチＦＳＷには斜線が付されている。
【０２６７】
ＣＡＢ００の出力線ＯＵＴ００は、グローバルスイッチＧＳＷ１を介してグローバル配線Ｙ１に接続される。グローバル配線Ｙ１はグローバルスイッチＧＳＷ３を介してＣＡＢ１０の入力線ＩＮ１０に接続される。このようにして、図１７に示すローパスフィルタが実現される。
【０２６８】
このように、実施の形態３による半導体装置によれば、しきい値電圧のプログラム機能を有するＦＧＴを用いて不揮発性プログラマブル抵抗および不揮発性スイッチを実現できるため、プログラマブル抵抗の抵抗値およびスイッチのオン／オフ情報を格納するためのコンフィギュレーションメモリが不要となる。これにより、半導体装置の回路面積が削減される。また、コンフィギュレーションメモリに格納された回路情報を不揮発的に保持するためのスタンバイ電流が低減する。
【０２６９】
また、特許文献１に記載されるようなプログラム抵抗に対する再キャリブレーション動作が不要となるため、常時、ＦＰＡＡを動作させることができる。また、再キャリブレーション動作のための電力消費が発生しない。
【０２７０】
さらに、電源遮断状態からの復帰時においても、コンフィギュレーションメモリから各スイッチＳＷへのオン／オフ情報の転送、および、所望の抵抗値とするためのプログラマブル抵抗ＰＲの再キャリブレーション動作が不要となるため、ＰＲに対する再キャリブレーション動作が不要となるため、電源遮断状態からの復帰後直ちに、実行回路を動作させることが可能となる。
【０２７１】
（実施の形態４）
実施の形態１〜３では、ＦＧＴブロックの構成として、複数のＦＧＴのコントロールゲートＣＧが単一のワード線ＦＷＬ０に共通に接続される構成について説明した。しかしながら、このような構成では、ＦＧＴのデータの消去動作およびＦＧＴへのデータの書込動作に時間がかかってしまうという問題がある。そのため、ＦＰＡＡブロックにおいて、アナログ動作時に実行回路を切替えたい場合に、動的に実行回路を変更することができない。
【０２７２】
そこで、実施の形態４では、図２８に示すように、複数（例えば２本とする）のワード線ＦＷＬが配されたＦＧＴブロックをＦＰＡＡブロックと接続する。
【０２７３】
図２８は、実施の形態４による半導体装置の代表例として示されるリコンフィギュラブルアナログモジュールにおけるＦＧＴブロックの構成の一例を説明する図である。
【０２７４】
図２８を参照して、実施の形態４によるリコンフィギュラブルアナログモジュールは、ＦＰＡＡブロック１３０と、ＦＧＴブロック２３０とから構成される。ＦＰＡＡブロック１３０の基本的な回路構成は、図１に示した実施の形態１によるＦＰＡＡブロック１００と同様であるので、詳細な説明は繰り返さない。本実施の形態４では、実施の形態１と同様に、各ＣＡＢ内のプログラマブル抵抗ＰＲ（図示せず）を不揮発性プログラマブル抵抗ＦＲに置き換える構成とする。
【０２７５】
ＦＧＴブロック２３０は、複数の不揮発性プログラマブル抵抗ＦＲと、複数の不揮発性プログラマブル抵抗ＦＲの各々に対して抵抗値をプログラミングするためのプログラム回路とを含む。なお、各不揮発性プログラマブル抵抗ＦＲは構成が同じであるため、ＣＡＢ００内に配置される不揮発性プログラマブル抵抗ＦＲ０を代表的に説明する。
【０２７６】
また、プログラム回路の構成は、図２８に示すワード線ＦＷＬ、選択ゲート線ＡＳＧ，ＦＳＧおよびソース線ＦＳＬを除いて、図２と同様であるので、詳細な説明は繰り返さない。
【０２７７】
実施の形態４による不揮発性プログラマブル抵抗ＦＲ０は、引き出し線ＦＤ０００，ＦＳ０００に対して並列に接続される２個の不揮発性プログラマブル抵抗ユニット（以下、単に「抵抗ユニット」とも称す）を含む。
【０２７８】
第１の抵抗ユニットは、ＦＧＴ５０ａと、選択用のＮチャネルＭＯＳトランジスタ５１ａ〜５６ａとを含む。第１の抵抗ユニットに対しては、ビット線ＦＢＬ０、ワード線ＦＷＬ０，ＦＷＬ０Ｐ、ソース線ＦＳＬ００，ＦＳＬＰ０、および選択ゲート線ＦＳＧ０，ＡＳＧ０が設けられる。
【０２７９】
ＦＧＴ５０ａのドレインＦＤ００は、ＮチャネルＭＯＳトランジスタ５４ａを介して引き出し線ＦＤ０００に接続されるとともに、ＮチャネルＭＯＳトランジスタ５１ａを介してビット線ＦＢＬ０に接続される。
【０２８０】
ＦＧＴ５０ａのソースＦＳ００は、ソース線ＦＳＬ００に接続されるとともに、ＮチャネルＭＯＳトランジスタ５２ａを介してソース線ＦＳＬＰ０に接続される。ソース線ＦＳＬ００と引き出し線ＦＳ０００との間には、ＮチャネルＭＯＳトランジスタ５６ａが接続される。
【０２８１】
ＦＧＴ５０ａのゲートは、ワード線ＦＷＬ０に接続される。ワード線ＦＷＬ０は、ＮチャネルＭＯＳトランジスタ５３ａを介してワード線ＦＷＬ０Ｐに接続される。また、ワード線ＦＷＬ０は、ＮチャネルＭＯＳトランジスタ５５ａを介してＶｆｇｂｉａｓ発生回路１２に接続される。
【０２８２】
ＮチャネルＭＯＳトランジスタ５４ａ，５５ａ，５６ａのゲートは、選択ゲート線ＡＳＧ０に接続される。選択ゲート線ＡＳＧ０は、ＦＰＡＡブロック１３０の動作（アナログ動作）時に、第１の抵抗ユニットを不揮発性プログラマブル抵抗ＦＲ０に使用する場合に、選択レベルの「Ｈ」レベルに駆動される。これにより、第１の抵抗ユニットの使用時には、ＦＧＴ５０ａがＣＡＢ００内に配置される。
【０２８３】
ＮチャネルＭＯＳトランジスタ５０ａ，５１ａ，５３ａのゲートは、選択ゲート線ＦＳＧ０に接続される。選択ゲート線ＦＳＧ０は、ＦＧＴブロック２３０の動作時に、第１の抵抗ユニットのＦＧＴ５０ａの抵抗値をプログラミングする場合に、選択レベルの「Ｈ」レベルに駆動される。これにより、第１の抵抗ユニットのプログラミング時には、ＦＧＴ５０ａがビット線ＦＢＬ０、ワード線ＦＷＬ０Ｐおよびソース線ＦＳＬＰ０に接続され、ＦＧＴ５０ａに対するデータの書込および消去が可能となる。
【０２８４】
第２の抵抗ユニットは、ＦＧＴ５０ｂと、選択用のＮチャネルＭＯＳトランジスタ５１ｂ〜５６ｂとを含む。第２の抵抗ユニットに対しては、ビット線ＦＢＬ０、ワード線ＦＷＬ１，ＦＷＬ１Ｐ、ソース線ＦＳＬ０１，ＦＳＬＰ０、および選択ゲート線ＦＳＧ１，ＡＳＧ１が設けられる。
【０２８５】
ＦＧＴ５０ｂのドレインＦＤ０１は、ＮチャネルＭＯＳトランジスタ５４ｂを介して引き出し線ＦＤ０００に接続されるとともに、ＮチャネルＭＯＳトランジスタ５１ｂを介してビット線ＦＢＬ０に接続される。
【０２８６】
ＦＧＴ５０ｂのソースＦＳ０１は、ソース線ＦＳＬ０１に接続されるとともに、ＮチャネルＭＯＳトランジスタ５２ｂを介してソース線ＦＳＬＰ０に接続される。ソース線ＦＳＬ０１と引き出し線ＦＳ０００との間には、ＮチャネルＭＯＳトランジスタ５６ｂが接続される。
【０２８７】
ＦＧＴ５０ｂのゲートは、ワード線ＦＷＬ１に接続される。ワード線ＦＷＬ１は、ＮチャネルＭＯＳトランジスタ５３ｂを介してワード線ＦＷＬ１Ｐに接続される。また、ワード線ＦＷＬ１は、ＮチャネルＭＯＳトランジスタ５５ｂを介してＶｆｇｂｉａｓ発生回路１２に接続される。
【０２８８】
ＮチャネルＭＯＳトランジスタ５４ｂ，５５ｂ，５６ｂのゲートは、選択ゲート線ＡＳＧ１に接続される。選択ゲート線ＡＳＧ１は、ＦＰＡＡブロック１３０の動作（アナログ動作）時に、第２の抵抗ユニットを不揮発性プログラマブル抵抗ＦＲ０に使用する場合に、選択レベルの「Ｈ」レベルに駆動される。これにより、第２の抵抗ユニットの使用時には、ＦＧＴ５０ｂがＣＡＢ００内に配置される。
【０２８９】
ＮチャネルＭＯＳトランジスタ５０ｂ，５１ｂ，５３ｂのゲートは、選択ゲート線ＦＳＧ１に接続される。選択ゲート線ＦＳＧ１は、ＦＧＴブロック２３０の動作時に、第２の抵抗ユニットのＦＧＴ５０ｂの抵抗値をプログラミングする場合に、選択レベルの「Ｈ」レベルに駆動される。これにより、第２の抵抗ユニットのプログラミング時には、ＦＧＴ５０ｂがビット線ＦＢＬ０、ワード線ＦＷＬ１Ｐおよびソース線ＦＳＬＰ０に接続され、ＦＧＴ５０ｂに対するデータの書込および消去が可能となる。
【０２９０】
実施の形態４においては、ＦＧＴブロック２３０の動作時には、第１の抵抗ユニットのＦＧＴ５０ａに対するプログラミングと、第２の抵抗ユニットのＦＧＴ５０ｂに対するプログラミングとを切替えて実行することができる。具体的には、第１の回路情報に基づいて、第１の抵抗ユニットのＦＧＴ５０ａを所望の抵抗値Ｒｅｘｐ１にプログラミングする。また、第１の回路情報とは異なる第２の回路情報に基づいて、第１の抵抗ユニットのＦＧＴ５０ｂを所望の抵抗値Ｒｅｘｐ２にプログラミングする。
【０２９１】
そして、ＦＰＡＡブロック１３０のアナログ動作時には、実行回路の回路情報に応じて、不揮発性プログラマブル抵抗ＦＲに、第１の抵抗ユニットおよび第２の抵抗ユニットを選択的に適用することができる。具体的には、第１の回路情報に基づいた実行回路を構築する場合には、第１の抵抗ユニットを選択する一方で、第２の回路情報に基づいた実行回路を構築する場合には、第２の抵抗ユニットを選択する。
【０２９２】
図２９に、ＦＧＴブロック２３０の動作時およびＦＰＡＡブロック１３０の動作時におけるＦＧＴ５０ａ，５０ｂの動作電圧をまとめて示す。なお、図２９では、ＦＧＴブロック２３０の動作として、第１の抵抗ユニットの選択時（ワード線ＦＷＬ０の選択時に相当）におけるＦＧＴ５０ａ，５０ｂの動作電圧、および第２の抵抗ユニットの選択時（ワード線ＦＷＬ１の選択時に相当）におけるＦＧＴ５０ａ，５０ｂの動作電圧が示される。また、ＦＰＡＡブロック１３０の動作として、第１の抵抗ユニットの選択時（選択ゲート線ＡＳＧ０の選択時に相当）におけるＦＧＴ５０ａ，５０ｂの動作電圧、および第２の抵抗ユニットの選択時（選択ゲート線ＡＳＧ１の選択時に相当）におけるＦＧＴ５０ａ，５０ｂの動作電圧が示される。
【０２９３】
図２９に示すように、ＦＧＴブロック２３０の動作時には、２本のワード線ＦＷＬ０，ＦＷＬ１の一方を選択状態に駆動するとともに、２本の選択ゲート線ＦＳＧ０，ＦＳＧ１の一方を選択状態に駆動することによって、ＦＧＴ５０ａのプログラミングとＦＧＴ５０ｂのプログラミングとを切替えることができる。
【０２９４】
また、ＦＰＡＡブロック１３０の動作時には、２本の選択ゲート線ＡＳＧ０，ＡＳＧ１の一方を選択状態に駆動することによって、ＦＧＴ５０ａとＦＧＴ５０ｂとを切替えて使用することができる。これにより、アナログ動作時において、動的に実行回路を変更することができる。
【０２９５】
図３０および図３１は、ＦＧＴ５０ａ，５０ｂのデータの消去動作を説明するフローチャートである。図３０および図３１を参照して、最初にＦＧＴ５０ａのデータの消去動作が実行され（図３０のステップＳ０１〜Ｓ１１３）、ＦＧＴ５０ａの消去動作の完了後に、ＦＧＴ５０ｂのデータの消去動作が実行される（図３１のステップＳ０１〜Ｓ１３）。ＦＧＴ５０ａ，ＦＧＴ５０ｂの各々のデータの消去動作は、図１２に示したデータの消去動作と基本的に同じである。なお、ＦＧＴ５０ａのデータの消去動作時には、ワード線ＦＷＬ０Ｐおよび選択ゲート線ＦＳＧ０が選択状態に駆動される一方で、ワード線ＦＷＬ１Ｐおよび選択ゲート線ＦＳＧ１が非選択状態に駆動される（図３０のステップＳ０３，Ｓ０８〜Ｓ１０）。一方、ＦＧＴ５０ｂのデータの消去動作時には、ワード線ＦＷＬ１Ｐおよび選択ゲート線ＦＳＧ１が選択状態に駆動される一方で、ワード線ＦＷＬ０Ｐおよび選択ゲート線ＦＳＧ０が非選択状態に駆動される（図３１のステップＳ０３１，Ｓ０８１〜Ｓ１０１）。
【０２９６】
図３２および図３３は、ＦＧＴ５０ａ，５０ｂへのデータの書込動作を説明するフローチャートである。図３２および図３３を参照して、最初にＦＧＴ５０ａへのデータの書込動作が実行され（図３２のステップＳ２０〜Ｓ３３）、ＦＧＴ５０ａへの書込動作の完了後に、ＦＧＴ５０ｂへのデータの書込動作が実行される（図３３のステップＳ２０〜Ｓ３３）。ＦＧＴ５０ａ，ＦＧＴ５０ｂの各々へのデータの書込動作は、図１３に示したデータの書込動作と基本的に同じである。なお、ＦＧＴ５０ａへのデータの書込動作時には、ワード線ＦＷＬ０Ｐおよび選択ゲート線ＦＳＧ０が選択状態に駆動される一方で、ワード線ＦＷＬ１Ｐおよび選択ゲート線ＦＳＧ１が非選択状態に駆動される（図３２のステップＳ２２，Ｓ２６，Ｓ２８，Ｓ３０）。一方、ＦＧＴ５０ｂへのデータの書込動作時には、ワード線ＦＷＬ１Ｐおよび選択ゲート線ＦＳＧ１が選択状態に駆動される一方で、ワード線ＦＷＬ０Ｐおよび選択ゲート線ＦＳＧ０が非選択状態に駆動される（図３３のステップＳ２２１，Ｓ２６１，Ｓ２８１，Ｓ３０１）。
【０２９７】
このように、実施の形態４による半導体装置によれば、アナログ動作時にＦＰＡＡブロックの実行回路を切替えたい場合に、動的に実行回路を変更することができる。
【０２９８】
なお、上記の実施の形態４では、２本のワード線および選択ゲート線を設けた構成について説明したが、実行回路のバリエーションに応じて、より多くのワード線および選択ゲート線を設けることも可能である。
【０２９９】
また、実施の形態４では、１つの不揮発性プログラマブル抵抗ＦＲで抵抗値を動的に切替えるための構成について説明したが、１つの不揮発性スイッチＳＷでオン／オフを動的に切替える構成についても実現することが可能である。具体的には、消去および書込動作時にＦＧＴ５０ａ，５００ｂの一方をオン状態にプログラミングするとともに、他方をオフ状態にプログラミングしておくことによって、アナログ動作時に選択ゲート線ＡＳＧ０，ＡＳＧ１を切替えて駆動することによって、動的に実行回路を変更することができる。
【０３００】
（フラッシュ内蔵マイコンの構成例）
最後に、実施の形態１〜４によるＦＰＡＡを搭載したフラッシュ内蔵マイコンの回路構成を、図３４を用いて説明する。
【０３０１】
図３４を参照して、マイコン１０００は、フラッシュメモリ１４００と、ＣＰＵ１５００と、ＳＲＡＭ１６００と、各種コントローラ１８００と、バス１７００とを備える。マイコン１０００は、外部のセンサ１９００から出力されるアナログ信号をデジタル信号に変換するためのアナログ・フロント・エンド（ＡＦＥ：Analog  Front  End）１１００と、Ａ／Ｄ（Analog  Digital）コンバータ１２００と、Ｄ／Ａコンバータ１３００とをさらに備える。
【０３０２】
ＡＦＥ１１００には、実施の形態１によるコンフィギュラブルアナログモジュールが適用される。すなわち、ＡＦＥ１１００は、ＦＰＡＡブロック１００と、ＦＧＴブロック２００とから構成される。ＦＧＴブロック２００は、図示は省略するが、複数の不揮発性プログラマブル抵抗ＦＲと、複数の不揮発性プログラマブル抵抗ＦＲの各々を実行回路に応じた所望の抵抗値にプログラミングするためのプログラム回路を含む。
【０３０３】
プログラム回路は、図２で示したように、各ＦＧＴ５０にデータの消去および書込に必要な電圧を印加するための電圧発生回路（高電圧発生回路、電圧ディスタリビュータ、センスアンプ等）を含んでいる。実施の形態１〜４では、これらの回路をフラッシュメモリ１４００との間で共用する。これにより、回路面積のオーバーヘッドを回避できる。
【０３０４】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０３０５】
１０  コンフィギュレーションメモリ、１２  Ｖｆｇｂｉａｓ発生回路、２０  ＦＰＡＡ制御回路、２１  ＦＳＧドライバ、２２  ＦＷＬドライバ、２３  電圧ディスタリビュータ、２４  ＦＧＴ用Ｙゲートドライバ、２５  高電圧発生回路、２６  基準電圧発生回路、２７  ＦＧＴ制御回路、２８  ソース電位制御回路、２９  ウェル電位制御回路、３０  ＦＧＴ用Ｙゲート、３１  センス・書込回路、３４＿０〜３４＿ｍ  レベル変換回路、３５  データレジスタ、３６  データレジスタ判定回路、５０  ＦＧＴ、３１＿０〜３１＿ｍ，３２＿０〜３２＿ｍ，５１〜５６  ＮチャネルＭＯＳトランジスタ、１００，１１０，１２０，１３０  ＦＰＡＡブロック、２００，２１０，２２０，２３０  ＦＧＴブロック、ＳＡ０〜ＳＡｍ  センスアンプ。
【図１】
2014017650.tif 000012
【図２】
2014017650.tif 000013
【図３】
2014017650.tif 000014
【図４】
2014017650.tif 000015
【図５】
2014017650.tif 000016
【図６】
2014017650.tif 000017
【図７】
2014017650.tif 000018
【図８】
2014017650.tif 000019
【図９】
2014017650.tif 000020
【図１０】
2014017650.tif 000021
【図１１】
2014017650.tif 000022
【図１２】
2014017650.tif 000023
【図１３】
2014017650.tif 000024
【図１４】
2014017650.tif 000025
【図１５】
2014017650.tif 000026
【図１６】
2014017650.tif 000027
【図１７】
2014017650.tif 000028
【図１８】
2014017650.tif 000029
【図１９】
2014017650.tif 000030
【図２０】
2014017650.tif 000031
【図２１】
2014017650.tif 000032
【図２２】
2014017650.tif 000033
【図２３】
2014017650.tif 000034
【図２４】
2014017650.tif 000035
【図２５】
2014017650.tif 000036
【図２６】
2014017650.tif 000037
【図２７】
2014017650.tif 000038
【図２８】
2014017650.tif 000039
【図２９】
2014017650.tif 000040
【図３０】
2014017650.tif 000041
【図３１】
2014017650.tif 000042
【図３２】
2014017650.tif 000043
【図３３】
2014017650.tif 000044
【図３４】
2014017650.tif 000045
【図３５】
2014017650.tif 000046
【図３６】
2014017650.tif 000047
【図３７】
2014017650.tif 000048
【図３８】
2014017650.tif 000049
【図３９】
2014017650.tif 000050