(57)【特許請求の範囲】
【請求項１】
順次入力される第１〜第Ｎ（ただし、Ｎは２以上の整数である）のスタート信号に応答してそれぞれ第１〜第Ｎの制御信号を活性化レベルにした後、順次入力される第１〜第Ｎのストップ信号に応答してそれぞれ前記第１〜第Ｎの制御信号を非活性化レベルにする制御信号発生回路であって、
それぞれ前記第１〜第Ｎの制御信号に対応して設けられ、各々が、クロック信号の各パルスに応答して入力信号を取り込み、取り込んだ信号を対応の制御信号として出力し、予めリセットされて前記非活性化レベルの信号を出力する第１〜第Ｎのフリップフロップと、
前記第１のスタート信号に応答して前記第Ｎのフリップフロップの出力信号の反転信号を前記第１のフリップフロップに入力させるとともに前記第１の制御信号を前記第１のフリップフロップに入力させ、前記第１のストップ信号に応答して前記第１のフリップフロップの入力信号を前記非活性化レベルにする第１のゲート回路と、
それぞれ前記第２〜第Ｎのフリップフロップに対応して設けられ、それぞれ第２〜第Ｎのスタート信号に応答して前段のフリップフロップの出力信号を対応のフリップフロップに入力させるとともに対応のフリップフロップの出力信号を対応のフリップフロップに入力させ、それぞれ第２〜第Ｎのストップ信号に応答して対応のフリップフロップの入力信号を前記非活性化レベルにする第２〜第Ｎのゲート回路とを備える、制御信号発生回路。
【請求項２】
請求項１に記載の制御信号発生回路と、
第１〜第Ｎの電源回路と、
前記第１〜第Ｎの制御信号が前記非活性化レベルから前記活性化レベルに変化したことに応じてそれぞれ前記第１〜第Ｎの電源回路をセットアップし、前記第１〜第Ｎの制御信号が前記活性化レベルから前記非活性化レベルに変化したことに応じてそれぞれ前記第１〜第Ｎの電源回路をリセットする電源制御回路とを備える、半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は制御信号発生回路およびそれを用いた半導体装置に関し、特に、制御信号を発生する制御信号発生回路と、その制御信号発生回路を備えた半導体装置とに関する。
【背景技術】
【０００２】
フラッシュメモリを内蔵したマイクロコンピュータにおいては、製品全体の性能を示す書換時間はほぼフラッシュメモリの書換動作時間で決まっている。マイクロコンピュータ内部のマルチタスク処理などによって書換時間の短縮化を図ることは可能であるが、フラッシュメモリ自体のプログラムおよび消去動作の高速化が製品性能アップを目指す上では必須の条件となる。
【０００３】
フラッシュメモリの１種にＭＯＮＯＳ（Metal-Oxide-Nitride-Oxide-Semiconductor）型がある（たとえば特許文献１参照）。ＭＯＮＯＳ型メモリセルでは、チャネルとゲートの間のゲート絶縁膜が酸化シリコン膜、窒化シリコン膜および酸化シリコン膜の積層体で構成される。メモリセルにデータをプログラムする場合は、ホットエレクトロン注入により、窒化シリコン膜に電子を注入してメモリセルのしきい値電圧を高くする。また、メモリセルのデータを消去する場合は、ホットホール注入により、窒化シリコン膜から電子を引き抜いてメモリセルのしきい値電圧を低くする。
【０００４】
具体的には、メモリセルのデータのプログラムは、メモリセルに正の高電圧を印加してメモリセルのしきい値電圧を高めるプログラムパルス印加動作と、メモリセルにプログラムベリファイ電圧を印加してプログラムが終了したか否かを判定するプログラムベリファイ動作とを繰り返すことにより行なわれる。また、メモリセルのデータの消去は、メモリセルに負の高電圧を印加してメモリセルのしきい値電圧を低くする消去パルス印加動作と、メモリセルに消去ベリファイ電圧を印加して消去が終了したか否かを判定する消去ベリファイ動作とを繰り返すことにより行なわれる。このためフラッシュメモリには、正の高電圧や負の高電圧を発生する内部電圧発生回路が設けられている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−３５３１５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、従来のフラッシュメモリでは、プログラムパルス印加動作およびプルグラムベリファイ動作の各々が開始される度に内部電圧発生回路をセットアップし、各動作が終了する度に内部電圧発生回路をリセットしていたので、内部電圧発生回路のセットアップおよびリセットに時間がかかり、プログラム時間が長くなるという問題があった。
【０００７】
また、消去パルス印加動作および消去ベリファイ動作の各々が開始される度に内部電圧発生回路をセットアップし、各動作が終了する度に内部電圧発生回路をリセットしていたので、内部電圧発生回路のセットアップおよびリセットに時間がかかり、消去時間が長くなるという問題があった。
【０００８】
それゆえに、この発明の主たる目的は、半導体装置の制御に好適な制御信号発生回路を提供することである。
【課題を解決するための手段】
【０００９】
この発明の一実施の形態の制御信号発生回路は、順次入力される第１〜第Ｎ（ただし、Ｎは２以上の整数である）のスタート信号に応答してそれぞれ第１〜第Ｎの制御信号を活性化レベルにした後、順次入力される第１〜第Ｎのストップ信号に応答してそれぞれ第１〜第Ｎの制御信号を非活性化レベルにする制御信号発生回路であって、第１〜第Ｎのフリップフロップと、第１〜第Ｎのゲート回路とを備える。第１〜第Ｎのフリップフロップは、それぞれ第１〜第Ｎの制御信号に対応して設けられ、各々が、クロック信号の各パルスに応答して入力信号を取り込み、取り込んだ信号を対応の制御信号として出力し、予めリセットされて非活性化レベルの信号を出力する。第１のゲート回路は、第１のスタート信号に応答して第Ｎのフリップフロップの出力信号の反転信号を第１のフリップフロップに入力させるとともに第１の制御信号を第１のフリップフロップに入力させ、第１のストップ信号に応答して第１のフリップフロップの入力信号を非活性化レベルにする。第２〜第Ｎのゲート回路は、それぞれ第２〜第Ｎのフリップフロップに対応して設けられ、それぞれ第２〜第Ｎのスタート信号に応答して前段のフリップフロップの出力信号を対応のフリップフロップに入力させるとともに対応のフリップフロップの出力信号を対応のフリップフロップに入力させ、それぞれ第２〜第Ｎのストップ信号に応答して対応のフリップフロップの入力信号を非活性化レベルにする。
【発明の効果】
【００１０】
この発明の一実施の形態による制御信号発生回路では、ジョンソンカウンタを使用して第１〜第Ｎの制御信号を発生するので、多数のフリップフロップを用いることなく、所望の時間間隔で第１〜第Ｎの制御信号を順次活性化レベルにし、順次非活性化レベルにすることができる。したがって、レイアウト面積の縮小化と、半導体装置の動作速度の高速化を図ることができ、半導体装置の制御に好適である。
【図面の簡単な説明】
【００１１】
【図１】この発明の一実施の形態によるマイクロコンピュータの要部を示すブロック図である。
【図２】図１に示した制御レジスタの構成を示すブロック図である。
【図３】図１に示したフラッシュメモリの構成を示すブロック図である。
【図４】図３に示したメモリブロックの構成を示す回路図である。
【図５】図４に示したメモリセルの記憶動作を示す図である。
【図６】図３に示した電源制御回路の構成を示すブロック図である。
【図７】図６に示したカウンタ制御回路の構成を示すブロック図である。
【図８】図６に示したジョンソンカウンタの構成を示す回路ブロック図である。
【図９】図９に示したジョンソンカウンタの動作を示すタイムチャートである。
【図１０】図９に示したジョンソンカウンタの効果を説明するためのブロック図である。
【図１１】図３に示した電源回路の構成を示すブロック図である。
【図１２】図１１に示した正昇圧回路の構成を示す回路ブロック図である。
【図１３】図１１に示した降圧回路５１の構成を示す回路ブロック図である。
【図１４】図１１に示した負昇圧回路の構成を示す回路ブロック図である。
【図１５】図１１に示した降圧回路５５の構成を示す回路ブロック図である。
【図１６】図１１に示したディストリビュータの構成を示すブロック図である。
【図１７】図１６に示したスイッチの構成を示す回路図である。
【図１８】図１７に示したスイッチの動作を示すタイムチャートである。
【図１９】図１７に示したスイッチの効果を説明するためのタイムチャートである。
【図２０】図１１に示した電源回路の動作を示す図である。
【図２１】図１〜図２０で示したフラッシュメモリのプログラム動作を示すフローチャートである。
【図２２】図１〜図２０で示したフラッシュメモリの消去動作を示すフローチャートである。
【図２３】図１〜図２０で示したフラッシュメモリの効果を説明するためのタイムチャートである。
【図２４】図１〜図２０で示したフラッシュメモリの効果を説明するための他のタイムチャートである。
【発明を実施するための形態】
【００１２】
図１は、この発明の一実施の形態によるマイクロコンピュータ１の要部を示すブロック図である。図１において、このマイクロコンピュータ１は、ＣＰＵ２、制御レジスタ３、およびフラッシュメモリ４を備える。ＣＰＵ２は、フラッシュメモリ４を制御するための制御信号ＣＮＴを制御レジスタ３に書込む。制御レジスタ３は、その制御信号ＣＮＴを保持するとともに、フラッシュメモリ４に与える。フラッシュメモリ４は、制御レジスタ３から与えられた制御信号ＣＮＴに従って、プログラム、消去、読出などの動作を行なう。
【００１３】
制御レジスタ３は、図２に示すように、８つの副レジスタ３ａ〜３ｈを含み、副レジスタ３ａ〜３ｈには制御信号ＣＮＴに含まれる８つの信号ＰＡＧＥ，ＥＰＡＣＴ，ＤＩＳ，φＥＶ，φＰＶ，ＰＰＡＣＴ，φＥ，φＰがそれぞれ保持される。
【００１４】
ページ選択信号ＰＡＧＥが“０”（「Ｌ」レベル）の場合は１２８バイトのメモリセルのプログラムを行なう１２８プログラム状態の選択が指示され、“１”（「Ｈ」レベル）の場合は８バイト（１ページ）のメモリセルのプログラムを行なうページプログラム状態の選択が指示される。消去電源プリセット信号ＥＰＡＣＴが“０”の場合は電源プリセットモード（チャージポンプ活性）が解除され、“１”の場合は電源プリセットモードへの遷移が指示される。
【００１５】
データイン信号ＤＩＳが“０”の場合はデータ転送禁止状態への遷移が指示され、“１”の場合はデータ転送許可状態への遷移が指示される。消去ベリファイ信号φＥＶが“０”の場合は消去ベリファイモードが解除され、“１”の場合は消去ベリファイモードへの遷移が指示される。プログラムベリファイ信号φＰＶが“０”の場合はプログラムベリファイモードが解除され、“１”の場合はプログラムベリファイモードへの遷移が指示される。
【００１６】
プログラム電源プリセット信号ＰＰＡＣＴが“０”の場合は電源プリセットモード（チャージポンプ活性）が解除され、“１”の場合は電源プリセットモードへの遷移が指示される。消去パルス印加信号φＥが“０”の場合は消去パルス印加モードが解除され、“１”の場合は消去パルス印加モードへの遷移が指示される。プログラムパルス印加信号φＰが“０”の場合はプログラムパルス印加モードが解除され、“１”の場合はプログラムパルス印加モードへの遷移が指示される。
【００１７】
図３は、フラッシュメモリ４の全体構成を示すブロック図である。図３において、フラッシュメモリ４は、メモリアレイＭＡ、ロジック制御回路１０、電源制御回路１１、電源回路１２、アドレスバッファ１３、Ｘデコーダ１４、Ｙデコーダ１５、センスアンプ１６、およびデータ入出力バッファ１７を備える。
【００１８】
メモリアレイＭＡは、複数のメモリブロックＭＢを含む。各メモリブロックＭＢは、図４（ａ）に示すように、複数行複数列に配置された複数のメモリセルＭＣと、各行に対応して設けられたメモリゲート線ＭＧＬおよびコントロールゲート線ＣＧＬと、各隣接する２つの行に対応して設けられたソース線ＳＬと、各列に対応して設けられたビット線ＢＬとを含む。
【００１９】
メモリセルＭＣは、図４（ｂ）に示すように、Ｐ型シリコン基板２０の表面上に絶縁層（図示せず）を介してコントロールゲート２１を形成し、その側壁に酸化シリコン膜（図示せず）、窒化シリコン膜２２、酸化シリコン膜（図示せず）からなるＯＮＯ膜と、サイドウォール構造のメモリゲート２３とを形成し、ゲート２１，２３の両側にＮ型不純物を注入してソース２４およびドレイン２５を形成したものである。
【００２０】
各メモリゲート線ＭＧＬは、対応の行の各メモリセルＭＣのメモリゲート２３に接続される。各コントロールゲート線ＣＧＬは、対応の行の各メモリセルＭＣのコントロールゲートＣＧに接続される。各ソース線ＳＬは、対応の行の各メモリセルＭＣのソース２４に接続される。各ビット線ＢＬは、対応の列の各メモリセルＭＣのドレイン２５に接続される。メモリゲート線ＭＧＬ、コントロールゲート線ＣＧＬ、およびソース線ＳＬはＸデコーダ１４によって駆動され、ビット線ＢＬはＹデコーダ１５およびセンスアンプ１６によって駆動される。
【００２１】
各メモリセルＭＣには固有のアドレスが割り当てられ、各メモリセルＭＣはしきい値電圧のレベル変化によって１ビットのデータを記憶する。図５（ａ）〜（ｃ）は、メモリセルＭＣの記憶動作を示す図である。
【００２２】
プログラムパルス印加動作時は、図５（ａ）に示すように、メモリゲート２３に６．４〜１１Ｖの間の選択された電圧が印加され、コントロールゲート２１には１．０Ｖが印加され、ソース２４には３．２〜７．０Ｖの間の選択された電圧が印加され、ドレイン２５には０．８Ｖが印加される。これにより、ソースサイド注入（ＳＳＩ：Source Side Injection）方式により、ホットエレクトロンが窒化シリコン膜２２に注入されてメモリセルＭＣのしきい値電圧が高くなる。プログラムパルス印加動作は、メモリセルＭＣのしきい値電圧が所定のプログラムベリファイ電圧よりも高くなるまで繰り返し行なわれる。プログラムされたメモリセルＭＣには、データ“０”と“１”のうちのたとえば“０”が記憶される。なお、メモリゲート２３の電圧は、メモリセルＭＣのしきい値電圧が高くなり難い場合に正側に高いレベルに設定される。また、ソース２４の電圧は、絶縁破壊が生じないように、メモリゲート２３の電圧に応じて設定される。
【００２３】
消去パルス印加動作時は、図５（ｂ）に示すように、メモリゲート２３に−３．３〜−８Ｖの間の選択された電圧が印加され、コントロールゲート２１には０Ｖが印加され、ソース２４には３．２〜７．０Ｖが印加され、ドレイン２５はＯＰＥＮ状態にされる。これにより、バンド間トンネル（ＢＴＢＴ：Band To Band Tunneling）方式により、ホットホールが窒化シリコン膜２２に注入されてメモリセルＭＣのしきい値電圧が低くなる。消去パルス印加動作は、メモリセルＭＣのしきい値電圧が所定の消去ベリファイ電圧よりも低くなるまで繰り返し行なわれる。消去されたメモリセルＭＣには、データ“０”と“１”のうちのたとえば“１”が記憶される。なお、メモリゲート２３の電圧は、メモリセルＭＣのしきい値電圧が低くなり難い場合に負側に高いレベルに設定される。また、ソース２４の電圧は、絶縁破壊が生じないように、メモリゲート２３の電圧に応じて設定される。
【００２４】
読出動作時は、図５（ｃ）に示すように、メモリゲート２３およびソース２４に０Ｖが印加され、コントロールゲート２１およびドレイン２５に１．５Ｖが印加され、ドレイン２５とソース２４の間に流れる電流Ｉｄがしきい値電流よりも大きいか否かが判定される。電流Ｉｄがしきい値電流よりも大きい場合は、メモリセルＭＣのしきい値電圧が低いのでメモリセルＭＣの記憶データは“１”であると判定される。逆に、電流Ｉｄがしきい値電流よりも小さい場合は、メモリセルＭＣのしきい値電圧が高いのでメモリセルＭＣの記憶データは“０”であると判定される。
【００２５】
図３に戻って、ロジック制御回路１０は、制御レジスタ３からの制御信号ＣＮＴに従ってフラッシュメモリ４全体を制御する。電源制御回路１１は、ロジック制御回路１０からの内部制御信号に従って電源回路１２を制御する。電源回路１２は、電源制御回路１１によって制御され、図５（ａ）〜（ｃ）で示した種々の内部電圧（６．４〜１１Ｖ，３．２〜７．０Ｖなど）を生成し、それらの内部電圧をＸデコーダ１４、Ｙデコーダ１５、センスアンプ１６などに分配する。
【００２６】
アドレスバッファ１３は、外部から与えられたアドレス信号ＡＤＤに含まれるＸアドレス信号およびＹアドレス信号をそれぞれＸデコーダ１４およびＹデコーダ１５に与える。Ｘデコーダ１４は、アドレスバッファ１３から与えられたＸアドレス信号に従って、各メモリブロックＭＢのメモリゲート線ＭＧＬ、コントロールゲート線ＣＧＬ、ソース線ＳＬなどに、電源回路１２から与えられた内部電圧を与える。Ｙデコーダ１５は、アドレスバッファ１３から与えられたＹアドレス信号に従って、複数のメモリブロックＭＢのうちのいずれかのメモリブロックＭＢと、そのメモリブロックＭＢのうちのいずれかのビット線ＢＬを選択し、選択したビット線ＢＬとセンスアンプ１６とを接続する。
【００２７】
センスアンプ１６は、Ｙデコーダ１５およびビット線ＢＬを介してメモリセルＭＣのデータのプログラムおよび読出を行なう。データ入出力バッファ１７は、外部とセンスアンプ１６との間で、書込データ信号ＤＩおよび読出データ信号ＤＯの授受を行なう。
【００２８】
図６は、電源制御回路１１の構成を示すブロック図である。図６において、電源制御回路１１は、カウンタ制御回路３０、ジョンソンカウンタ３１、電源制御信号生成回路３２、電源チューン用レジスタ３３、および電源設定値生成回路３４を備える。
【００２９】
カウンタ制御回路３０は、図７に示すように、カウンタ３５，３６と、４つのデコーダ３７と、４つのデコーダ３８とを含む。カウンタ３５は、シーケンス活性化信号φＡが活性化レベルの「Ｈ」レベルに立ち上げられたことに応じて活性化され、クロック信号ＣＬＫのパルス数をカウントし、そのカウント値を示す複数ビットのカウント信号φＣＯ１を出力する。カウンタ３６は、シーケンス活性化信号φＡが非活性化レベルの「Ｌ」レベルに立ち下げられたことに応じて活性化され、クロック信号ＣＬＫのパルス数をカウントし、そのカウント値を示す複数ビットのカウント信号φＣＯ２を出力する。
【００３０】
４つのデコーダ３７は、それぞれスタート信号ＳＴ１〜ＳＴ４に対応して設けられている。各デコーダ３７には、予め固有のカウント値が割り当てられている。各デコーダ３７は、カウンタ３５からのカウント信号φＣＯ１が予め割り当てられたカウント値になったことに応じて、対応のスタート信号ＳＴを所定時間だけ「Ｈ」レベルにする。スタート信号ＳＴ１〜ＳＴ４は、所定時間ずつ順次「Ｈ」レベルにされる。
【００３１】
４つのデコーダ３８は、それぞれストップ信号ＳＰ１〜ＳＰ４に対応して設けられている。各デコーダ３８には、予め固有のカウント値が割り当てられている。各デコーダ３８は、カウンタ３６からのカウント信号φＣＯ２が予め割り当てられたカウント値になったことに応じて、対応のストップ信号ＳＰを所定時間だけ「Ｈ」レベルにする。ストップ信号ＳＰ１〜ＳＰ４は、所定時間ずつ順次「Ｈ」レベルにされる。
【００３２】
ジョンソンカウンタ３１は、図８に示すように、４つのフリップフロップＦＦ１〜ＦＦ４と、４つのゲート回路４１〜４４とを含む。フリップフロップＦＦ１〜ＦＦ４は、リセット信号ＲＥＳが「Ｌ」レベルにされたことに応じてリセットされ、それらの出力信号Ｃ１〜Ｃ４は「Ｌ」レベルになる。また、フリップフロップＦＦ１〜ＦＦ４の各々は、クロック信号ＣＬＫが「Ｈ」レベルに立ち上げられたことに応じて入力信号を保持および出力する。ゲート回路４１〜４４の出力信号はそれぞれフリップフロップＦＦ１〜ＦＦ４の入力端子に入力され、フリップフロップＦＦ１〜ＦＦ３の出力信号Ｃ１〜Ｃ３はそれぞれゲート回路４２〜４４に入力され、フリップフロップＦＦ４の出力信号Ｃ４の反転信号はゲート回路４１に入力される。スタート信号ＳＴ１〜ＳＴ４はそれぞれゲート回路４１〜４４に入力され、ストップ信号ＳＰ１〜ＳＰ４はそれぞれゲート回路４１〜４４に入力される。
【００３３】
図９は、カウンタ制御回路３０およびジョンソンカウンタ３１の動作を示すタイムチャートである。初期状態では、図７のカウンタ３５，３６は非活性化されており、スタート信号ＳＴ１〜ＳＴ４およびストップ信号ＳＰ１〜ＳＰ４は全て「Ｌ」レベルにされている。また、図８のフリップフロップＦＦ１〜ＦＦ４はリセットされており、それらの出力信号Ｃ１〜Ｃ４は全て「Ｌ」レベルにされている。
【００３４】
図９において、ある時刻ｔ０にシーケンス活性化信号φＡが活性化レベルの「Ｈ」レベルに立ち上げられると、図７のカウンタ３５が活性化される。所定時間経過後の時刻ｔ１にスタート信号ＳＴ１が所定時間だけ「Ｈ」レベルにされると、信号Ｃ４の反転信号がフリップフロップＦＦ１に取り込まれ、信号Ｃ１は「Ｈ」レベルに立ち上げられる。信号Ｃ１はゲート回路４１を介してフリップフロップＦＦ１の入力端子に帰還されているので、スタート信号ＳＴ１が「Ｌ」レベルにされた後も信号Ｃ１は「Ｈ」レベルに維持される。
【００３５】
以下同様に、時刻ｔ１から所定時間経過後の時刻ｔ２にスタート信号ＳＴ２が所定時間だけ「Ｈ」レベルにされると、信号Ｃ１がフリップフロップＦＦ２に取り込まれ、信号Ｃ２は「Ｈ」レベルに立ち上げられる。時刻ｔ２から所定時間経過後の時刻ｔ３にスタート信号ＳＴ３が所定時間だけ「Ｈ」レベルにされると、信号Ｃ２がフリップフロップＦＦ３に取り込まれ、信号Ｃ３は「Ｈ」レベルに立ち上げられる。時刻ｔ３から所定時間経過後の時刻ｔ４にスタート信号ＳＴ４が所定時間だけ「Ｈ」レベルにされると、信号Ｃ３がフリップフロップＦＦ４に取り込まれ、信号Ｃ４は「Ｈ」レベルに立ち上げられる。
【００３６】
また、時刻ｔ４から所定時間経過後の時刻ｔ１０にシーケンス活性化信号φＡが非活性化レベルの「Ｌ」レベルに立ち下げられると、図７のカウンタ３６が活性化される。所定時間経過後の時刻ｔ１１にストップ信号ＳＰ１が所定時間だけ「Ｈ」レベルにされると、ゲート回路４１の出力信号が「Ｌ」レベルになってフリップフロップＦＦ１に取り込まれ、信号Ｃ１は「Ｌ」レベルに立ち下げられる。信号Ｃ１はゲート回路４１を介してフリップフロップＦＦ１の入力端子に帰還されているので、ストップ信号ＳＰ１が「Ｌ」レベルにされた後も信号Ｃ１は「Ｌ」レベルに維持される。
【００３７】
以下同様に、時刻ｔ１１から所定時間経過後の時刻ｔ１２にストップ信号ＳＰ２が所定時間だけ「Ｈ」レベルにされると、信号Ｃ１がフリップフロップＦＦ２に取り込まれ、信号Ｃ２は「Ｌ」レベルに立ち下げられる。時刻ｔ１２から所定時間経過後の時刻ｔ１３にストップ信号ＳＰ３が所定時間だけ「Ｈ」レベルにされると、信号Ｃ２がフリップフロップＦＦ３に取り込まれ、信号Ｃ３は「Ｌ」レベルに立ち下げられる。時刻ｔ１３から所定時間経過後の時刻ｔ１４にストップ信号ＳＰ４が所定時間だけ「Ｈ」レベルにされると、信号Ｃ３がフリップフロップＦＦ４に取り込まれ、信号Ｃ４は「Ｌ」レベルに立ち下げられる。
【００３８】
図６に戻って、ジョンソンカウンタ３１の出力信号Ｃ１〜Ｃ４は、電源制御信号生成回路３２および電源設定値生成回路３４に与えられる。電源制御信号生成回路３２は、ジョンソンカウンタ３１からの信号Ｃ１〜Ｃ４に基づいて電源制御信号を生成し、その電源制御信号によって電源回路１２内の電源やディストリビュータを制御する。これにより、たとえば以下のシーケンスが実行される。信号φＡとＣ１の立ち上がりエッジの間の期間Ｔ１では、モードがセットされる。信号Ｃ１とＣ２の立ち上がりエッジの間の期間Ｔ２では、ロジックおよびディストリビュータがセットされる。信号Ｃ２とＣ３の立ち上がりエッジの間の期間Ｔ３では、第１電源がセットされる。信号Ｃ３とＣ４の立ち上がりエッジの間の期間Ｔ４では、第２電源がセットされる。
【００３９】
信号Ｃ４の立ち上がりエッジと信号φＡの立下りエッジの間の期間Ｔ１０では、サブシーケンスが実行される。信号φＡと信号Ｃ１の立ち下がりエッジの間の期間Ｔ１１では、第１電源のリセットが行なわれる。信号Ｃ１と信号Ｃ２の立ち下がりエッジの間の期間Ｔ１２では、第２電源のリセットが行なわれる。信号Ｃ２と信号Ｃ３の立ち下がりエッジの間の期間Ｔ１３では、ディストリビュータのリセットが行なわれる。信号Ｃ３と信号Ｃ４の立ち下がりエッジの間の期間Ｔ１４では、モードのリセットが行なわれる。
【００４０】
電源チューン用レジスタ３３には、各モードの各期間で用いられる電源設定値が格納されている。電源設定値生成回路３４は、ジョンソンカウンタ３１の出力信号Ｃ１〜Ｃ４に従って電源設定値を電源チューン用レジスタ３３から読出し、読み出した電源設定値を電源回路１２に与える。電源回路１２内の電源は、電源設定値に応じたレベルの電圧を発生する。
【００４１】
なお、ジョンソンカウンタ３１を使用せずに、図１０に示すように、単に４つのフリップフロップＦＦ１１〜ＦＦ１４を直列接続したカウンタを使用して信号Ｃ１〜Ｃ４を生成する場合、図９で示した期間Ｔ１〜Ｔ４，Ｔ１１〜Ｔ１４はクロック信号ＣＬＫの一周期に等しくなり、一定になる。上述の例では、電源のセットには５μｓ程度の比較的長い期間が必要であるが、ロジックおよびディストリビュータのセットは１００ｎｓ程度の比較的短い期間で終了する。このような場合でも、期間Ｔ１〜Ｔ４，Ｔ１１〜Ｔ１４の各々を電源のセットに必要な比較的長い期間に揃える必要がある。これでは、ロジックおよびディストリビュータのセットを行なう期間においては無駄な待ち時間が長くなり、プログラムなどの動作が遅くなる。
【００４２】
また、クロック信号ＣＬＫの周期をロジックおよびディストリビュータのセットに必要な１００ｎｓとし、５０個のフリップフロップＦＦを直列接続して５０×１００ｎｓ＝５μｓの期間を設定する方法もある。しかし、この方法では、多数のフリップフロップＦＦが必要となり、レイアウト面積が大きくなってしまう。
【００４３】
これに対して本実施の形態では、ジョンソンカウンタ３１を使用するので、多数のフリップフロップＦＦを用いることなく、期間Ｔ１〜Ｔ４，Ｔ１１〜Ｔ１４の各々を必要最小限の時間に設定でき、プログラムなどの動作の迅速化を図ることができる。
【００４４】
図１１は、電源回路１２の構成を示すブロック図である。図１１において、電源回路１２は、正昇圧回路５０，５２〜５４、降圧回路５１，５５、負昇圧回路５６、およびディストリビュータ５７を含む。正昇圧回路５０，５２〜５４は、正の内部電圧Ｖ０，Ｖ２〜Ｖ４を発生する。降圧回路５１は、内部電圧Ｖ０を降圧して内部電圧Ｖ１を発生する。負昇圧回路５６は、負の内部電圧Ｖ６を発生する。降圧回路５５は、内部電圧Ｖ６を降圧して内部電圧Ｖ５を発生する。ディストリビュータ５７は、内部電圧Ｖ０〜Ｖ６、電源電圧ＶＣＣ，ＶＤＤ、および接地電圧ＶＳＳを受け、それらを図３のＸデコーダ１４、Ｙデコーダ１５、センスアンプ１６などを介してメモリセルＭＣに選択的に与える。なお、図１１では、図面の簡単化のため、Ｘデコーダ１４、Ｙデコーダ１５、センスアンプ１６などは省略されている。
【００４５】
正昇圧回路５０は、図１２に示すように、正チャージポンプ回路６０、ディバイダ６１、基準電圧発生回路６２、コンパレータ６３、ドライバ６４、充電回路６５、および放電回路６６を含む。正チャージポンプ回路６０は、ドライバ６４からのクロック信号によって駆動され、クロック信号に同期して所定量の正電荷を電源ノードＮ６０に出力する。ディバイダ６１は、電源設定値φＶＳ０に応じた分圧比で電源ノードＮ６０の電圧Ｖ０を分圧する。基準電圧発生回路６２は、基準電圧ＶＲ０を発生する。
【００４６】
コンパレータ６３は、電源制御信号ＲＡ０によって活性化され、ディバイダ６１の出力電圧ＶＤ０と基準電圧ＶＲ０との高低を比較し、ディバイダ６１の出力電圧ＶＤ０が基準電圧ＶＲ０よりも低い場合は「Ｈ」レベルの信号を出力し、ディバイダ６１の出力電圧ＶＤ０が基準電圧ＶＲ０よりも高い場合は「Ｌ」レベルの信号を出力する。ドライバ６４は、コンパレータ６３から「Ｈ」レベルの信号が出力されている場合はクロック信号を出力して正チャージポンプ回路６０を駆動させ、コンパレータ６３から「Ｌ」レベルの信号が出力されている場合はクロック信号の出力を停止して正チャージポンプ回路６０を停止させる。充電回路６５は、電源制御信号ＣＧ０に応答して、電源電圧ＶＤＤのラインから電源ノードＮ６０に所定の電流を流入させ、電源ノードＮ６０を電源電圧ＶＤＤにリセットする。放電回路６６は、電源制御信号ＤＳ０に応答して、電源ノードＮ６０から接地電圧ＶＳＳのラインに所定の電流を流出させ、電源ノードＮ６０の電圧を低下させる。
【００４７】
したがって、電源制御回路１１で生成した電源制御信号ＰＡ０および電源設定値φＶＳ０を正昇圧回路５０に与えることにより、所望のタイミングで所望のレベルの内部電圧Ｖ０を生成することができる。また、電源制御回路１１で生成した電源制御信号ＣＧ０を正昇圧回路５０に与えることにより、所望のタイミングで内部電圧Ｖ０を電源電圧ＶＤＤにリセットすることができる。また、電源制御回路１１で生成した電源制御信号ＤＳ０を正昇圧回路５０に与えることにより、所望のタイミングで内部電圧Ｖ０を低下させることができる。
【００４８】
正昇圧回路５２，５３は、正昇圧回路５０と同様の構成であり、それぞれ、電源制御信号に応答して電源設定値に応じたレベルの内部電圧Ｖ２，Ｖ３を発生し、電源制御信号に応答して内部電圧Ｖ２，Ｖ３を電源電圧ＶＤＤにリセットし、電源制御信号に応答して内部電圧Ｖ２，Ｖ３を低下させる。正昇圧回路５４は、正昇圧回路５０と同様の構成であり、電源制御信号に応答して電源設定値に応じたレベルの内部電圧Ｖ４を発生し、電源制御信号に応答して内部電圧Ｖ４をＶＣＣ−Ｖｔｈにリセットし、電源制御信号に応答して内部電圧Ｖ４を低下させる。
【００４９】
降圧回路５１は、図１３に示すように、ＰチャネルＭＯＳトランジスタ７０、ＮチャネルＭＯＳトランジスタ７１、基準電圧発生回路７２、コンパレータ７３、充電回路７４、および放電回路７５を含む。ＰチャネルＭＯＳトランジスタ７０は、電源ノードＮ６０と電源ノードＮ７０の間に接続され、そのゲートは電源制御信号ＲＡ１ａを受ける。信号ＲＡ１ａが活性化レベルの「Ｌ」レベルにされるとＰチャネルＭＯＳトランジスタ７０が導通し、電源ノードＮ６０から電源ノードＮ７０に電流が供給される。ＮチャネルＭＯＳトランジスタ７１は、電源ノードＮ７０と接地電圧ＶＳＳのラインとの間に接続され、そのゲートはコンパレータ７３の出力信号を受ける。
【００５０】
基準電圧発生回路７２は、電源設定値φＶＳ１に応じたレベルの基準電圧ＶＲ１を発生する。コンパレータ７３は、電源制御信号ＲＡ１ｂによって活性化され、電源ノードＮ７０の電圧Ｖ１と基準電圧ＶＲ１との高低を比較し、電源ノードＮ７０の電圧Ｖ１が基準電圧ＶＲ１よりも高い場合は「Ｈ」レベルの信号を出力してトランジスタ７１を導通させ、電源ノードＮ７０の電圧Ｖ１が基準電圧ＶＲ１よりも低い場合は「Ｌ」レベルの信号を出力してトランジスタ７１を非導通にする。したがって、Ｖ１＝ＶＲ１となる。充電回路７４は、電源制御信号ＣＧ１に応答して、電源電圧ＶＤＤのラインから電源ノードＮ７０に所定の電流を流入させ、電源ノードＮ７０の電圧を電源電圧ＶＤＤにリセットする。放電回路７５は、電源制御信号ＤＳ１に応答して電源ノードＮ７０から接地電圧ＶＳＳのラインに所定の電流を流出させる。
【００５１】
したがって、電源制御回路１１で生成した電源制御信号ＲＡ１ａ，ＲＡ１ｂおよび電源設定値φＶＳ１を降圧回路５１に与えることにより、所望のタイミングで所望のレベルの内部電圧Ｖ１を生成することができる。また、電源制御回路１１で生成した電源制御信号ＣＧ１を降圧回路５１に与えることにより、所望のタイミングで内部電圧Ｖ１を電源電圧ＶＤＤにリセットすることができる。また、電源制御回路１１で生成した電源制御信号ＤＳ１を降圧回路５１に与えることにより、所望のタイミングで内部電圧Ｖ１を低下させることができる。
【００５２】
負昇圧回路５６は、図１４に示すように、負チャージポンプ回路８０、ディバイダ８１、基準電圧発生回路８２、コンパレータ８３、ドライバ８４、充電回路８５、および放電回路８６を含む。負チャージポンプ回路８０は、ドライバ８４からのクロック信号によって駆動され、クロック信号に同期して所定量の負電荷を電源ノードＮ８０に出力する。ディバイダ８１は、電源設定値φＶＳ６に応じた分圧比で、電源電圧ＶＤＤと電源ノードＮ８０の電圧Ｖ６との差の電圧を分圧する。基準電圧発生回路６２は、基準電圧ＶＲ６を発生する。
【００５３】
コンパレータ８３は、電源制御信号ＲＡ６によって活性化され、ディバイダ８１の出力電圧ＶＤ６と基準電圧ＶＲ６との高低を比較し、ディバイダ８１の出力電圧ＶＤ６が基準電圧ＶＲ６よりも高い場合は「Ｈ」レベルの信号を出力し、ディバイダ８１の出力電圧ＶＤ６が基準電圧ＶＲ６よりも低い場合は「Ｌ」レベルの信号を出力する。ドライバ８４は、コンパレータ８３から「Ｈ」レベルの信号が出力されている場合はクロック信号を出力して負チャージポンプ回路８０を駆動させ、コンパレータ８３から「Ｌ」レベルの信号が出力されている場合はクロック信号の出力を停止して負チャージポンプ回路８０を停止させる。充電回路８５は、電源制御信号ＣＧ６に応答して、電源電圧ＶＤＤのラインから電源ノードＮ８０に所定の電流を流入させ、電源ノードＮ８０の電圧Ｖ６を上昇させる。放電回路８６は、電源制御信号ＤＳ６に応答して電源ノードＮ８０から接地電圧ＶＳＳのラインに所定の電流を流出させ、電源ノードＮ８０の電圧Ｖ６を接地電圧ＶＳＳにリセットする。
【００５４】
したがって、電源制御回路１１で生成した電源制御信号ＰＡ６および電源設定値φＶＳ６を負昇圧回路５６に与えることにより、所望のタイミングで所望のレベルの内部電圧Ｖ６を生成することができる。また、電源制御回路１１で生成した電源制御信号ＣＧ６を負昇圧回路５６に与えることにより、所望のタイミングで内部電圧Ｖ６を上昇させることができる。また、電源制御回路１１で生成した電源制御信号ＤＳ６を負昇圧回路５６に与えることにより、所望のタイミングで内部電圧Ｖ６を接地電圧ＶＳＳにリセットすることができる。
【００５５】
降圧回路５５は、図１５に示すように、ＮチャネルＭＯＳトランジスタ９０、ＰチャネルＭＯＳトランジスタ９１、基準電圧発生回路９２、コンパレータ９３、充電回路９４、および放電回路９５を含む。ＮチャネルＭＯＳトランジスタ９０は、電源ノードＮ９０と電源ノードＮ８０の間に接続され、そのゲートは電源制御信号ＲＡ５ａを受ける。信号ＲＡ５ａが活性化レベルの「Ｈ」レベルにされるとＮチャネルＭＯＳトランジスタ９０が導通し、電源ノードＮ９０から電源ノードＮ８０に電流が流出する。ＰチャネルＭＯＳトランジスタ９１は、電源電圧ＶＤＤのラインと電源ノードＮ９０との間に接続され、そのゲートはコンパレータ９３の出力信号を受ける。
【００５６】
基準電圧発生回路９２は、電源設定値φＶＳ５に応じたレベルの基準電圧ＶＲ５を発生する。コンパレータ９３は、電源制御信号ＲＡ５ｂによって活性化され、電源ノードＮ９０の電圧Ｖ５と基準電圧ＶＲ５との高低を比較し、電源ノードＮ９０の電圧Ｖ５が基準電圧ＶＲ５よりも低い場合は「Ｌ」レベルの信号を出力してトランジスタ９１を導通させ、電源ノードＮ９０の電圧Ｖ５が基準電圧ＶＲ５よりも高い場合は「Ｈ」レベルの信号を出力してトランジスタ９１を非導通にする。したがって、Ｖ５＝ＶＲ５となる。充電回路９４は、電源制御信号ＣＧ５に応答して電源電圧ＶＤＤのラインから電源ノードＮ９０に所定の電流を供給し、電源ノードＮ９０の電圧Ｖ５を上昇させる。放電回路９５は、電源制御信号ＤＳ５に応答して電源ノードＮ９０から接地電圧ＶＳＳのラインに所定の電流を流出させ、電源ノードＮ９０の電圧Ｖ５を接地電圧ＶＳＳにリセットする。
【００５７】
したがって、電源制御回路１１で生成した電源制御信号ＲＡ５ａ，ＲＡ５ｂおよび電源設定値φＶＳ５を降圧回路５５に与えることにより、所望のタイミングで所望のレベルの内部電圧Ｖ５を生成することができる。また、電源制御回路１１で生成した電源制御信号ＣＧ５を降圧回路５５に与えることにより、所望のタイミングで内部電圧Ｖ５を上昇させることができる。また、電源制御回路１１で生成した電源制御信号ＤＳ５を降圧回路５５に与えることにより、所望のタイミングで内部電圧Ｖ５を接地電圧ＶＳＳリセットすることができる。
【００５８】
ディストリビュータ５７は、図１６に示すように、複数のスイッチ１００を含む。各スイッチ１００は、電源電圧ＶＣＣ，ＶＤＤ、内部電圧Ｖ１〜Ｖ５、および接地電圧ＶＳＳのうちの予め割り当てられた複数の電圧を受け、電源制御信号に従って、それらの複数の電圧のうちのいずれかの電圧を出力する。
【００５９】
図１７は、スイッチ１００の構成を例示する回路図である。図１７において、スイッチ１００は、３つのＰチャネルＭＯＳトランジスタ１０１〜１０３を含む。トランジスタ１０１〜１０３のソースはそれぞれ電圧ＶＤＤ，Ｖ１，Ｖ３を受け、それらのゲートはそれぞれ電源制御信号φＳ１〜φＳ３を受け、それらのドレインはともに出力ノードＮ１００に接続される。信号φＳ１〜φＳ３のうちのいずれか１つの信号（たとえばφＳ１）が選択的に活性化レベルの「Ｌ」レベルにされると、その信号φＳ１に対応するトランジスタ１０１が導通し、電源電圧ＶＤＤが出力ノードＮ１００に出力される。
【００６０】
電圧を切り換える場合は、全トランジスタ１０１〜１０３を一旦非導通にする。図１８では、電圧Ｖ２から電圧Ｖ３に切り換える場合が示されている。最初は信号φＳ１〜φＳ３のうちの信号φＳ２のみが「Ｌ」レベルにされている。これにより、トランジスタ１０１〜１０３のうちのトランジスタ１０２のみが導通し、出力ノードＮ１００の電圧ＶＯはＶＯ＝Ｖ１となっている。次に、信号φＳ２が「Ｈ」レベルに立ち上げられ、全トランジスタ１０１〜１０３が非導通にされる。所定時間Ｔｏｆｆ経過後に信号φＳ３が「Ｌ」レベルに立ち下げられ、トランジスタ１０３が導通し、ＶＯ＝Ｖ３となる。
【００６１】
なお、図１９に示すように、信号φＳ２を「Ｈ」レベルに立ち上げると同時に信号φＳ３を「Ｌ」レベルに立ち下げると、２つのトランジスタ１０２，１０３が同時に導通する期間Ｔｏｎができる。この期間Ｔｏｎでは、図１１の降圧回路５１の出力ノードと正昇圧回路５３の出力ノードが短絡され、電圧Ｖ１，Ｖ３が大きく変化してしまう。この場合は、トランジスタ１０２，１０３の切換時間は短くなるが、電圧Ｖ１，Ｖ３を所定値に復帰させて安定化させるために長い時間が必要となり、動作時間の短縮化を図ることはできない。
【００６２】
図２０は、各モードにおける図１１の電圧Ｖ０〜Ｖ６，Ｖｓ，Ｖｍｇ，Ｖｃｇ，Ｖｄを示す図である。プログラムパルス印加モードＰＰでは、Ｖ０〜Ｖ６，Ｖｓ，Ｖｍｇ，Ｖｃｇ，Ｖｄはそれぞれ６．４〜１１，６．４〜１１，３．２〜７．０，３．０〜４．７，５．５，ＶＳＳ，ＶＳＳ，３．２〜７．０，６．４〜１１，１．０，０．８（Ｖ）となる。プログラムベリファイモードＰＶでは、Ｖ０〜Ｖ６，Ｖｓ，Ｖｍｇ，Ｖｃｇ，Ｖｄはそれぞれ８．０，１．２〜５．６，６．５，３．０，５．５，ＶＳＳ，ＶＳＳ，ＶＳＳ，１．２〜５．６，ＶＳＳ，ＶＤＤ（Ｖ）となる。
【００６３】
プログラムパルス印加モードＰＰおよびプログラムベリファイモードＰＶの一方のモードから他方のモードに遷移するとき、プログラムホームポジションモードＰＨＰで待機する。プログラムホームポジションモードＰＨＰでは、ＰＰとＰＶのいずれのモードにも迅速に遷移できるように、Ｖ０〜Ｖ６，Ｖｓ，Ｖｍｇ，Ｖｃｇ，Ｖｄはそれぞれ８．０，５．６，３．２〜７．０，３．０，５．５，ＶＳＳ，ＶＳＳ，ＶＳＳ，５．６，ＶＳＳ，ＶＤＤ（Ｖ）とされる。
【００６４】
なお、従来は、ＰＰおよびＰＶの各々が開始する度に電源回路をセットアップし、ＰＰおよびＰＶの各々が終了する度に電源回路をリセットしていたので、電源回路のセットアップおよびリセットに時間がかかり、プログラム動作が遅かった。これに対して本実施の形態では、ＰＰ，ＰＶが終了してもリセットせずに、ＰＨＰで待機するので、電源のセットアップおよびリセットの時間が削除され、プログラム動作の迅速化が図られる。
【００６５】
また、消去パルス印加モードＥＰでは、Ｖ０〜Ｖ６，Ｖｓ，Ｖｍｇ，Ｖｃｇ，Ｖｄはそれぞれ１１．０，１１．０，３．２〜７．０，２．０〜４．７，５．５，−３．３〜−８．０，−３．３〜−８．０，３．２〜７．０，−３．３〜−８．０，ＶＳＳ，ＯＰＥＮ（Ｖ）となる。消去ベリファイモードＥＶでは、Ｖ０〜Ｖ６，Ｖｓ，Ｖｍｇ，Ｖｃｇ，Ｖｄはそれぞれ８．０，５．６，６．５，２．０，５．５，−４．８〜１．２，−６．０，ＶＳＳ，−４．８〜１．２，ＶＤＤ，ＶＤＤ（Ｖ）となる。
【００６６】
消去パルス印加モードＥＰおよび消去ベリファイモードＥＶの一方のモードから他方のモードに遷移するとき、消去ホームポジションモードＥＨＰで待機する。消去ホームポジションモードＥＨＰでは、ＥＰとＥＶのいずれのモードにも迅速に遷移できるように、Ｖ０〜Ｖ６，Ｖｓ，Ｖｍｇ，Ｖｃｇ，Ｖｄはそれぞれ８．０，５．６，３．２〜７．０，３．０，５．５，−３．３，−３．３，ＶＳＳ，ＶＳＳ，ＶＳＳ，ＶＤＤ（Ｖ）とされる。
【００６７】
なお、従来は、ＥＰおよびＥＶの各々が開始する度に電源回路をセットアップし、ＥＰおよびＥＶの各々が終了する度に電源回路をリセットしていたので、電源回路のセットアップおよびリセットに時間がかかり、消去動作が遅かった。これに対して本実施の形態では、ＥＰおよびＥＶの各々が終了してもリセットせずに、ＥＨＰで待機するので、電源のセットアップおよびリセットの時間が削除され、消去動作の迅速化が図られる。
【００６８】
また、読出モードＲＥＡＤでは、Ｖ０〜Ｖ６，Ｖｓ，Ｖｍｇ，Ｖｃｇ，ＶｄはそれぞれＶＤＤ，ＶＤＤ，ＶＤＤ，ＶＤＤ，５．５，ＶＳＳ，ＶＳＳ，ＶＳＳ，ＶＳＳ，ＶＤＤ，ＶＤＤ（Ｖ）となる。スタンバイモードＳＴＢＹでは、Ｖ０〜Ｖ６，Ｖｓ，Ｖｍｇ，Ｖｃｇ，ＶｄはそれぞれＶＤＤ，ＶＤＤ，ＶＤＤ，ＶＤＤ，ＶＣＣ−Ｖｔｈ，ＶＳＳ，ＶＳＳ，ＶＳＳ，ＶＳＳ，ＶＤＤ，ＶＤＤ（Ｖ）となる。なお、Ｖ０〜Ｖ６のうちでメモリセルＭＣに印加されない電圧（たとえばＶ４）は、ディストリビュータ５７などのスイッチング素子の制御などに用いられる。
【００６９】
図２１は、プログラム動作時のシーケンスを示すフローチャートである。ステップＳ１において書込データの入力が開始され、ステップＳ２において書込データの入力が完了する。これにより、選択されたメモリセルＭＣ群のうちのどのメモリセルＭＣにデータを書き込むかが決定される。
【００７０】
ステップＳ３において、図２で示したプログラム電源プリセット信号ＰＰＡＣＴが活性化レベルの「Ｈ」レベルにセットされると、ステップＳ４において電源回路１２のセットアップが行なわれる。すなわち、図６の電源制御回路１１によって電源設定値および電源制御信号が生成され、図１１の正昇圧回路５０，５２〜５４および降圧回路５１が活性化されるとともにディストリビュータ５７の経路がセットされ、電源回路１２は図２０で示したプログラムホームポジションモードＰＨＰの電圧を発生する。このホームポジションモードＰＨＰに遷移することで初めてプログラムパルス印加モードＰＰおよびプログラムベリファイモードＰＶが実施可能な状態になる。信号ＰＰＡＣＴが活性化レベルにされていないのに、信号φＰ，φＰＶを活性化レベルにすることはマスク論理で不可能にされている。したがって、この論理で必ずモードの順序が守られることとなる。
【００７１】
ステップＳ５においてプログラム信号φＰが活性化レベルの「Ｈ」レベルにされると、ステップＳ６において書込設定が行なわれる。すなわち、図６の電源制御回路１１によって電源設定値および電源制御信号が再度生成され、電源回路１２は図２０で示したプログラムパルス印加モードＰＰの電圧を発生する。このとき、既に電源回路１２はプログラムホームポジションモードＰＨＰの電圧を発生しているので、プログラムパルス印加モードＰＰの電圧を短時間で発生することができる。
【００７２】
ステップＳ７において書込すなわちプログラムパルスの印加が終了すると、ステップＳ８においてプログラム信号φＰが非活性化レベルの「Ｌ」レベルにされる。信号φＰが「Ｌ」レベルにされると、ステップＳ９において放電が実行される。すなわち、電源制御回路１１によって電源設定値および電源制御信号が再度生成され、電源回路１２は図２０で示したプログラムホームポジションモードＰＨＰの電圧を発生する。このとき、従来のように電源回路１２をスタンバイ状態にリセットしないので、放電時間が短くて済む。
【００７３】
ステップＳ１０においてプログラムベリファイ信号φＰＶが活性化レベルの「Ｈ」レベルにされると、ステップＳ１１においてベリファイ設定が行なわれる。すなわち、電源制御回路１１によって電源設定値および電源制御信号が再度生成され、電源回路１２は図２０で示したプログラムベリファイモードＰＶの電圧を発生する。このとき、既に電源回路１２はプログラムホームポジションモードＰＨＰの電圧を発生しているので、プログラムベリファイモードＰＶの電圧を短時間で発生することができる。
【００７４】
ステップＳ１２においてプログラムベリファイが終了すると、ステップＳ１３においてプログラムベリファイ信号φＰＶが非活性化レベルの「Ｌ」レベルにされる。信号φＰＶが「Ｌ」レベルにされると、ステップＳ１４において放電が実行される。すなわち、電源制御回路１１によって電源設定値および電源制御信号が再度生成され、電源回路１２は図２０で示したプログラムホームポジションモードＰＨＰの電圧を発生する。このとき、従来のように電源回路１２をスタンバイモードＳＴＢＹにリセットしないので、放電時間が短くて済む。
【００７５】
ステップＳ１５においてメモリセルＭＣのしきい値電圧が目標値に到達してプログラムが終了したか否かを判定し、プログラムが終了していない場合はステップＳ５に戻り、プログラムが終了している場合はステップＳ１６に進む。
【００７６】
ステップＳ１６においてプログラム電源プリセット信号ＰＰＡＣＴが非活性化レベルの「Ｌ」レベルにされると、ステップＳ１７において電源のリセットが行なわれる。すなわち、電源制御回路１１によって電源設定値および電源制御信号が再度生成され、電源回路１２は図２０で示したスタンバイモードＳＴＢＹの電圧を発生する。このとき、既に電源回路１２はプログラムホームポジションモードＰＨＰの電圧を発生しているので、短時間で放電することができる。
【００７７】
図２２は、消去動作時のシーケンスを示すフローチャートである。ステップＳ２１において、図２で示した消去電源プリセット信号ＥＰＡＣＴが活性化レベルの「Ｈ」レベルにセットされると、ステップＳ２１において電源回路１２のセットアップが行なわれる。すなわち、図６の電源制御回路１１によって電源設定値および電源制御信号が生成され、図１１の正昇圧回路５０，５２〜５４、降圧回路５１，５５、および負昇圧回路５６が活性化されるとともにディストリビュータ５７の経路がセットされ、電源回路１２は図２０で示した消去ホームポジションモードＥＨＰの電圧を発生する。このホームポジションモードＥＨＰに遷移することで初めて消去パルス印加モードＥＰおよび消去ベリファイモードＥＶが実施可能な状態になる。信号ＥＰＡＣＴが活性化レベルにされていないのに、信号φＥ，φＥＶを活性化レベルにすることはマスク論理で不可能にされている。したがって、この論理で必ずモードの順序が守られることとなる。
【００７８】
ステップＳ２３において消去信号φＥが活性化レベルの「Ｈ」レベルにされると、ステップＳ２４において消去設定が行なわれる。すなわち、図６の電源制御回路１１によって電源設定値および電源制御信号が再度生成され、電源回路１２は図２０で示した消去パルス印加モードＥＰの電圧を発生する。このとき、既に電源回路１２は消去ホームポジションモードＥＨＰの電圧を発生しているので、消去パルス印加モードＥＰの電圧を短時間で発生することができる。
【００７９】
ステップＳ２５において消去パルスの印加が終了すると、ステップＳ２６において消去信号φＥが非活性化レベルの「Ｌ」レベルにされる。信号φＥが「Ｌ」レベルにされると、ステップＳ２７において充電が実行される。すなわち、電源制御回路１１によって電源設定値および電源制御信号が再度生成され、電源回路１２は図２０で示した消去ホームポジションモードＥＨＰの電圧を発生する。このとき、従来のように電源回路１２をスタンバイモードＳＴＢＹにリセットしないので、充電時間が短くて済む。
【００８０】
ステップＳ２８において消去ベリファイ信号φＥＶが活性化レベルの「Ｈ」レベルにされると、ステップＳ２９においてベリファイ設定が行なわれる。すなわち、電源制御回路１１によって電源設定値および電源制御信号が再度生成され、電源回路１２は図２０で示した消去ベリファイモードＥＶの電圧を発生する。このとき、既に電源回路１２は消去ホームポジションモードＥＨＰの電圧を発生しているので、消去ベリファイモードＥＶの電圧を短時間で発生することができる。
【００８１】
ステップＳ３０において消去ベリファイが終了すると、ステップＳ３１において消去ベリファイ信号φＥＶが非活性化レベルの「Ｌ」レベルにされる。信号φＥＶが「Ｌ」レベルにされると、ステップＳ３２において充電が実行される。すなわち、電源制御回路１１によって電源設定値および電源制御信号が再度生成され、電源回路１２は図２０で示した消去ホームポジションモードＥＨＰの電圧を発生する。このとき、従来のように電源回路１２をスタンバイモードＳＴＢＹにリセットしないので、充電時間が短くて済む。
【００８２】
ステップＳ３３においてメモリセルＭＣのしきい値電圧が目標値に到達して消去が終了したか否かを判定し、消去が終了していない場合はステップＳ２３に戻り、消去が終了している場合はステップＳ３４に進む。
【００８３】
ステップＳ３４において消去電源プリセット信号ＥＰＡＣＴが非活性化レベルの「Ｌ」レベルにされると、ステップＳ３５において電源のリセットが行なわれる。すなわち、電源制御回路１１によって電源設定値および電源制御信号が再度生成され、電源回路１２は図２０で示したスタンバイモードＳＴＢＹの電圧を発生する。このとき、既に電源回路１２は消去ホームポジションモードＥＨＰの電圧を発生しているので、短時間で充電することができる。
【００８４】
図２３は、図１１に示した降圧回路５１の出力電圧Ｖ１のプログラム動作時における時刻変化を例示するタイムチャートである。ある時刻ｔ０にプログラム電源プリセット信号ＰＰＡＣＴが活性化レベルの「Ｈ」レベルにされると、正昇圧回路５０および降圧回路５１がセットアップされ、Ｖ１がリセット電圧ＶＤＤ＝１．５（Ｖ）から５．６（Ｖ）に上昇する（時刻ｔ０〜ｔ１）。正昇圧回路５０および降圧回路５１はプログラムホームポジションモードＰＨＰとなり、Ｖ１は５．６（Ｖ）に維持される（時刻ｔ１〜ｔ２）。
【００８５】
次に時刻ｔ２においてプログラム信号φＰが活性化レベルの「Ｈ」レベルにされると、Ｖ１が６．４〜１１（Ｖ）の範囲の選択された電圧（たとえば１０Ｖ）に上昇する（時刻ｔ２〜ｔ３）。正昇圧回路５０および降圧回路５１はプログラムパルス印加モードＰＰとなり、Ｖ１はたとえば１０（Ｖ）に維持される（時刻ｔ３〜ｔ４）。
【００８６】
次いで時刻ｔ４においてプログラム信号φＰが非活性化レベルの「Ｌ」レベルにされると、Ｖ１が５．６（Ｖ）に低下する（時刻ｔ４〜ｔ５）。正昇圧回路５０および降圧回路５１はプログラムホームポジションモードＰＨＰとなり、Ｖ１は５．６（Ｖ）に維持される（時刻ｔ５〜ｔ６）。
【００８７】
次に時刻ｔ６においてプログラムベリファイ信号φＰＶが活性化レベルの「Ｈ」レベルにされると、Ｖ１が１．２〜５．６（Ｖ）の範囲の選択された電圧（たとえば３Ｖ）に低下する（時刻ｔ６〜ｔ７）。正昇圧回路５０および降圧回路５１はプログラムベリファイモードＰＶとなり、Ｖ１はたとえば３（Ｖ）に維持される（時刻ｔ７〜ｔ８）。
【００８８】
次いで時刻ｔ８においてプログラムベリファイ信号φＰＶが非活性化レベルの「Ｌ」レベルにされると、Ｖ１が５．６（Ｖ）に上昇する（時刻ｔ８〜ｔ９）。正昇圧回路５０および降圧回路５１はプログラムホームポジションモードＰＨＰとなり、Ｖ１は５．６（Ｖ）に維持される（時刻ｔ９〜ｔ１０）。
【００８９】
ＰＰとＰＨＰとＰＶが繰り返された後、プログラムホームポジションモードＰＨＰのある時刻ｔ１１においてプログラム電源プリセット信号ＰＰＡＣＴが非活性化レベルの「Ｌ」レベルにされると、正昇圧回路５０および降圧回路５１がリセットされ、Ｖ１が５．６（Ｖ）からリセット電圧ＶＤＤ＝１．５（Ｖ）に低下する（時刻ｔ１１〜ｔ１２）。正昇圧回路５０および降圧回路５１はスタンバイモードＳＴＢＹとなり、Ｖ１はリセット電圧ＶＤＤ＝１．５（Ｖ）に維持される（時刻ｔ１２）。
【００９０】
このように各サブシーケンスを実施する前に一度ホームポジションモードＰＨＰに戻ることで、完全なスタンバイモードＳＴＢＹへのリセット動作を必要とせず、最小限のウェイト設定で電圧レベル、経路等の切替えが可能となり、その結果効率よく電荷を使用することができるとともに、シーケンスの高速化が可能となる。また、一度ホームポジションモードＰＨＰにセットしていることで次にどの動作が必要となっても、最小の待ち時間でシーケンスを制御することが可能となる。
【００９１】
図２４は、従来のフラッシュメモリのプログラム用電圧Ｖ１１の時刻変化を示すタイムチャートであって、図２３と対比される図である。図２４において、従来のフラッシュメモリでは、ホームポジションモードＰＨＰは設けられておらず、プログラムパルス印加モードＰＰおよびプログラムベリファイモードＰＶの各モードが行なわれる度に電源のセットアップとリセットを行なっていた。したがって、電源のセットアップとリセットに時間がかかり、プログラム動作が遅かった。消去動作についても同様であるので、その説明は繰り返さない。
【００９２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００９３】
１  マイクロコンピュータ、２  ＣＰＵ、３  制御レジスタ、３ａ〜３ｈ  副レジスタ、４  フラッシュメモリ、ＭＡ  メモリアレイＭＡ、１０  ロジック制御回路、１１  電源制御回路、１２  電源回路、１３  アドレスバッファ、１４  Ｘデコーダ、１５  Ｙデコーダ、１６  センスアンプ、１７  データ入出力バッファ、ＭＢ  メモリブロック、ＭＣ  メモリセル、ＭＧＬ  メモリゲート線、ＣＧＬ  コントロールゲート線、ＳＬ  ソース線、ＢＬ  ビット線、２０  Ｐ型シリコン基板、２１  コントロールゲート、２２  窒化シリコン膜、２３  メモリゲート、２４  ソース、２５  ドレイン、３０  カウンタ制御回路、３１  ジョンソンカウンタ、３２  電源制御信号生成回路、３３  電源チューン用レジスタ、３４  電源設定値生成回路、３５，３６  カウンタ、３７，３８  デコーダ、４１〜４４  ゲート回路、ＦＦ  フリップフロップ、５０，５２〜５４  正昇圧回路、５１，５５  降圧回路、５６  負昇圧回路、５７  ディストリビュータ、６０  正チャージポンプ回路、６１，８１  ディバイダ、６２，７２，８２，９２  基準電圧発生回路、６３，７３，８３，９３  コンパレータ、６４，８４  ドライバ、６５，７４，８５，９４  充電回路、６６，７５，８６，９５  放電回路、７０，９１，１０１〜１０３  ＰチャネルＭＯＳトランジスタ、７１，９０  ＮチャネルＭＯＳトランジスタ、８０  負チャージポンプ回路、１００  スイッチ。
【図１】
0005386026.tif 000002
【図２】
0005386026.tif 000003
【図３】
0005386026.tif 000004
【図４】
0005386026.tif 000005
【図５】
0005386026.tif 000006
【図６】
0005386026.tif 000007
【図７】
0005386026.tif 000008
【図８】
0005386026.tif 000009
【図９】
0005386026.tif 000010
【図１０】
0005386026.tif 000011
【図１１】
0005386026.tif 000012
【図１２】
0005386026.tif 000013
【図１３】
0005386026.tif 000014
【図１４】
0005386026.tif 000015
【図１５】
0005386026.tif 000016
【図１６】
0005386026.tif 000017
【図１７】
0005386026.tif 000018
【図１８】
0005386026.tif 000019
【図１９】
0005386026.tif 000020
【図２０】
0005386026.tif 000021
【図２１】
0005386026.tif 000022
【図２２】
0005386026.tif 000023
【図２３】
0005386026.tif 000024
【図２４】
0005386026.tif 000025