(57)【要約】      （修正有）【課題】より短い時間で、動作の最適化を完了するマイクロコンピュータを提供する。【解決手段】マイクロコンピュータの動作の最適化に用いられる最適化データを格納する不揮発性メモリと、第１クロックに同期して前記不揮発性メモリから、前記不揮発性メモリの動作の最適化に用いられる最適化データであるメモリ最適化データを読み出し、前記メモリ最適化データに基づいて前記不揮発性メモリの動作の最適化を実行する最適化回路とを具備するマイクロコンピュータを構成する。前記最適化回路は、第２クロックに同期して、前記不揮発性メモリから他の最適化データを読み出す。さらに、その場合において、前記最適化回路は、前記第１クロックと前記第２クロックとを選択的に出力するクロック切替え回路を有する構成であることが好ましい。前記クロック切替え回路は、前記不揮発性メモリの最適化の完了に応答して前記第２クロックを出力する。【選択図】図１
2006209451.tif 000002
【特許請求の範囲】
【請求項１】
マイクロコンピュータの動作の最適化に用いられる最適化データを格納する不揮発性メモリと、
第１クロックに同期して前記不揮発性メモリから、前記不揮発性メモリの動作の最適化に用いられる最適化データであるメモリ最適化データを読み出し、前記メモリ最適化データに基づいて前記不揮発性メモリの動作の最適化を実行する最適化回路と
を具備し、
前記最適化回路は、第２クロックに同期して、前記不揮発性メモリから他の最適化データを読み出す
マイクロコンピュータ。
【請求項２】
請求項１に記載のマイクロコンピュータにおいて、
前記最適化回路は、前記第１クロックと前記第２クロックとを選択的に出力するクロック切替え回路を有し、
前記クロック切替え回路は、前記不揮発性メモリの最適化の完了に応答して前記第２クロックを出力する
マイクロコンピュータ。
【請求項３】
請求項２に記載のマイクロコンピュータにおいて、
前記クロック切替え回路は、
基準クロックを分周して前記第２クロックを生成する第１カウンタと、
前記第２クロックをさらに分周して前記第１クロックを生成する第２カウンタと、
前記第１クロックと前記第２クロックとを選択的に出力するセレクタと、
前記不揮発性メモリの最適化の完了に応答して選択信号を生成するシフトレジスタと
を含み、
前記セレクタは、前記選択信号に応答して前記第１クロックを前記第２クロックに切り替えて出力する
マイクロコンピュータ。
【請求項４】
請求項３に記載のマクロコンピュータにおいて、さらに、
前記基準クロックを生成する第１発振器と、
前記クロック切替え回路に、前記基準クロックより精度の高い他の基準クロックを供給する第２発振器と、
ＣＰＵと
を備え、
前記クロック切替え回路は、
前記他の最適化データに基づいて実行される最適化が完了することに応答して、前記第２クロックの出力を停止して前記他の基準クロックを出力し、
前記ＣＰＵは、前記クロック切替え回路から出力される前記第２基準クロックに同期して動作する
マイクロコンピュータ。
【請求項５】
請求項６記載のマクロコンピュータにおいて、
前記第１発振器は、電源投入時から第１発振安定時間で前記基準クロックを安定させ、
前記第２発振器は、電源投入時から第２発振安定時間で前記他の基準クロックを安定させ、
前記第１発振安定時間は、前記第２発振安定時間より短い時間である
マイクロコンピュータ。
【請求項６】
請求項５に記載のマイクロコンピュータにおいて、
前記シフトレジスタは、前記セレクタから出力されるパルスが所定の数に達したときに前記選択信号を出力し、
前記セレクタは、前記選択信号に応答して、出力クロックを前記第１クロックから前記第２クロックに切り替える
マイクロコンピュータ。
【請求項７】
第１のクロックに応答してメモリから前記メモリの最適化データを読み出して設定し、前記メモリの最適化データの設定が終了した後、前記第１のクロックよりも高速な第２のクロックで前記メモリ以外の回路ブロックに対する最適化データを、前記メモリから読み出して設定する制御回路を備えることを特徴とするマイクロコンピュータ。
【請求項８】
前記制御回路は、前記回路ブロックに対する最適化データを前記メモリから読み出して設定した後に、前記第２のクロックよりも高速な第３のクロックをＣＰＵに供給し、
前記ＣＰＵは、前記第３のクロックに同期して動作を開始することを特徴とする請求項７に記載のマイクロコンピュータ。
【請求項９】
前記第１のクロック及び前記第２のクロックは、前記第３のクロックよりも電源投入時から安定化までの時間が短い発振器によって生成されていることを特徴とする請求項８または１０に記載のマイクロコンピュータ。
【請求項１０】
前記メモリは、不揮発性メモリによって構成されていることを特徴とする請求項７乃至９に記載のマイクロコンピュータ。
【請求項１１】
基準クロックを分周して第１クロックを生成するステップと、
前記第１クロックをさらに分周して第２分周クロックを生成するステップと、
前記第１クロックに同期して不揮発性メモリから、前記不揮発性メモリの動作の最適化に用いられる最適化データであるメモリ最適化データを読み出すステップと、
前記メモリ最適化データに基づいて前記不揮発性メモリの動作の最適化を実行するステップと、
前記不揮発性メモリの動作の最適化の完了に応答して、前記第２クロックに同期して、前記不揮発性メモリから前記不揮発性メモリ以外の装置の最適化データを読み出すステップ
を具備するマイクロコンピュータの最適化方法。
【請求項１２】
請求項１１に記載のマクロコンピュータの最適化方法において、さらに、
基準クロックを生成するステップと、
前記基準クロックより精度の高い他の基準クロックを生成するステップと、
前記前記不揮発性メモリ以外の装置の最適化が完了することに応答して、前記第２クロックの出力を停止して前記他の基準クロックを出力するステップと、
前記第２基準クロックに同期してＣＰＵを動作するステップ
を具備するマイクロコンピュータの最適化方法であって、
前記基準クロックは、電源投入時から第１発振安定時間で発振が安定するクロックであり、
前記他の基準クロックは、電源投入時から第２発振安定時間で発振が安定するクロックであり、
前記第１発振安定時間は、前記第２発振安定時間より短い時間である
マイクロコンピュータの最適化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータおよびマイクロコンピュータの最適化方法に関し、特に、不揮発性メモリを内部に搭載するマイクロコンピュータおよびマイクロコンピュータの最適化方法に関する。
【背景技術】
【０００２】
半導体技術の進歩に伴って、単一のチップ内部に複数の回路機能ブロック、特に、ＣＰＵ（Central  Processing  Unit：中央演算処理装置）とメモリ（RAMまたはROM）とを有するマイクロコンピュータが普及している。近年の半導体技術の進歩により、不揮発性メモリ（例えば、フラッシュメモリなど）を搭載したマイクロコンピュータも供給されてきている。
【０００３】
マイクロコンピュータ内部に搭載される不揮発性メモリは、チャージポンプなどのアナログ回路を備えている。アナログ回路は、製造ばらつきにより、その特性もばらついてしまう。したがって、マイクロコンピュータの性能や品質を一定にするのは、内部のＣＰＵが動作する前に不揮発性メモリのデータの読出し／書き込み動作の最適化を行う必要がある。この不揮発性メモリの最適化を行う技術として、特許文献１（特開２００３−１７８５８９号公報）に記載されている技術が知られている。
【０００４】
その特許文献１に記載の不揮発性メモリは、通常のメモリセルアレイに初期設定データ領域に書き込むための初期設定データ領域を設けるとともに、この初期設定データを、電源投入後自動的に、通常のデータ読み出しと同じデコード回路とセンスアンプ回路により読み出して初期設定データラッチ回路に取り込むように構成されている。このような不揮発性メモリでは、初期設定データの量が多い場合や検証動作を行う場合には、電源投入後この初期設定データの読み込みが終了するまでの間の待ち時間が長くなる。
【０００５】
この待ち時間を短縮するため、従来の半導体メモリは、メモリ動作条件を規定する初期設定データを記憶するメモリセルアレイと、そのメモリセルアレイのデータの読出し／書き込み及び消去の動作を制御する制御回路と、アドレス信号によりそのメモリセルアレイのメモリセル選択を行うデコード回路と、そのメモリセルアレイのデータを検知増幅するセンスアンプ回路と、そのメモリセルアレイの初期設定データが読み出されて転送保持される初期設定データラッチ回路と、その制御回路の動作タイミングを規定するクロックを発生するクロック発生回路とを備えて構成されている。そして、制御回路は、電源投入後に初期設定データ中に含まれるクロック周期調整データを読み出してクロック発生回路から発生するクロックの周期を調整している。そして制御回路は、その調整されたクロックに基づいて残余の初期設定データを読み出している。
【０００６】
【特許文献１】特開２００３−１７８５８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載の技術における初期設定データの読み出し動作は、不揮発性メモリの最適な読出しタイミングが設定される前に実行される。読出しタイミングの最適化（調整）が行われていない不揮発性メモリからデータを読み出すには、リードクロックに周波数の低いクロックを用いる必要がある。
【０００８】
ここで、特許文献１に記載の技術をマイクロコンピュータに適用しようとする場合、初期設定データの設定は、電源投入後（または、リセット解除後）からＣＰＵの動作開始までの時間において実行される。マイクロコンピュータは、この時間においては、上述のリードクロック（周波数の低いクロック）に同期して動作している。そのため、マイクロコンピュータの電源投入後（または、リセット解除後）からＣＰＵの動作開始までに長い時間が費やされてしまうことがある。
【０００９】
本発明の課題は、より短い時間で、動作の最適化を完了することが可能なマイクロコンピュータを提供することにある。
【課題を解決するための手段】
【００１０】
以下に、［発明を実施するための最良の形態］で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１１】
上記課題を解決するために、マイクロコンピュータ（１）の動作の最適化に用いられる最適化データ（１４）を格納する不揮発性メモリ（３）と、第１クロックに同期して前記不揮発性メモリ（３）から、前記不揮発性メモリの動作の最適化に用いられる最適化データであるメモリ最適化データ（図３の（ｉ））を読み出し、前記メモリ最適化データ（図３（ｉ））に基づいて前記不揮発性メモリ（３）の動作の最適化を実行する最適化回路（６）とを具備するマイクロコンピュータ（１）を構成する。そして、前記最適化回路（６）は、第２クロックに同期して、前記不揮発性メモリ（３）から他の最適化データ（不揮発性メモリ以外の装置の最適化データ。例えば、図３の（ｊ））を読み出す。さらに、その場合において、前記最適化回路（６）は、前記第１クロックと前記第２クロックとを選択的に出力するクロック切替え回路（１３）を有する構成であることが好ましい。そして、前記クロック切替え回路（１３）は、前記不揮発性メモリの最適化の完了に応答して前記第２クロックを出力する。
【００１２】
ここで、第１クロックを、最適化が行われる前の不揮発性メモリ（３）からのデータの読出しが確実に実行できるクロックとし、第２クロックを、最適化が完了した不揮発性メモリ（３）からデータの読出しを高速に行えるクロックとする。これによって、マイクロコンピュータの起動時間を短縮させることが可能になる。
【発明の効果】
【００１３】
本発明によると、より短い時間で動作の最適化を完了することが可能なマイクロコンピュータを構成することが可能になる。
【発明を実施するための最良の形態】
【００１４】
［実施の形態の構成］
以下の、図面を参照して、本発明を実施するための形態について説明を行う。図１は、本発明のマイクロコンピュータの構成を例示する回路図である。以下の実施の形態において、マイクロコンピュータ１は単一のチップで構成されているものとして説明を行う。なお、これは、本発明が適用される半導体装置が、単一のチップに制限されることを意味するものではない。
【００１５】
図１を参照すると、本実施の形態におけるマイクロコンピュータ１は、ＣＰＵ２と、フラッシュマクロ３と、制御ブロック４とを含んで構成されている。また、図１に示されているように、マイクロコンピュータ１は、周辺装置１５とテスター１６とに接続可能に構成されている。マイクロコンピュータ１は、外部との接続に用いられるシリアルインターフェース１１を備え、そのシリアルインターフェース１１を介して周辺装置１５に接続される。また、マイクロコンピュータ１は、テスト時に使用されるポート１０を備えている。ポート１０はテスター１６に接続可能に構成されている。さらに、マイクロコンピュータ１は、タイマ１２を含んで構成されていることが好ましい。
【００１６】
周辺装置１５は、マイクロコンピュータ１へのコマンドの出力や、マイクロコンピュータ１からのデータの受信を行う回路ブロックである。図１には、一の周辺装置１５が示されているが、これは、周辺装置１５の数を限定するものではない。テスター１６は、マイクロコンピュータ１のテストを実行する外部装置である。
【００１７】
図１を参照すると、制御ブロック４は、さらに、フラッシュコントロールブロック５と、ＣＰＵインターフェースブロック６と、第１バス７と、第２バス８と、メモリテスタインターフェース９とを含んで構成されている。そのＣＰＵインターフェースブロック６は、クロック切替え回路１３を含んで構成されている。また、フラッシュマクロ３は、最適化用データ１４を有している。
【００１８】
ＣＰＵ２は、マイクロコンピュータ１の内部（または、外部）の装置の制御を行う演算処理装置である。また、ＣＰＵ２は、シリアルインターフェース１１を介して受信するデータの処理を実行している。
【００１９】
フラッシュマクロ３は、書き込み可能な読出し専用メモリである。以下の説明において、フラッシュマクロ３がフラッシュメモリ（一括消去型電気的消去及び書き込み可能な読出し専用メモリ）である場合を例示して説明を行う。なおこの例示は、本発明におけるフラッシュマクロ３が、フラッシュメモリに限定されることを意味するものではない。
【００２０】
図１に示されているように、フラッシュマクロ３は、最適化用データ１４を備えて構成されている。その最適化用データ１４は、マイクロコンピュータ１の動作の最適化を実行するために用いられるデータである。図１を参照すると、最適化用データ１４は、フラッシュマクロ３の所定の記憶領域に格納されている。本実施の形態における最適化用データ１４は、例えば、フラッシュマクロ３の昇圧回路の設定を行う為に用いられるデータである。
【００２１】
制御ブロック４は、ＣＰＵ２とフラッシュマクロ３との間に設けられた制御ブロックである。図１に示されているように、制御ブロック４は、フラッシュマクロ３に格納されるデータの書き込みおよび消去を行う制御回路であるフラッシュコントロールブロック５と、ＣＰＵインターフェースブロック６とを含んで構成されている。また、制御ブロック４は、第１バス７と、第２バス８と、メモリテスタインターフェース９とを含んで構成されている。
【００２２】
ＣＰＵインターフェースブロック６は、ＣＰＵ２とフラッシュマクロ３とのインターフェースを行う制御回路である。ＣＰＵインターフェースブロック６は、フラッシュマクロ３の読出し制御やＣＰＵ２の動作開始前に行われる最適化を実行している。ここで、ＣＰＵインターフェースブロック６は、事前に設定すべきレジスタやフラグを含んで構成されている。このレジスタやフラグは、ＣＰＵ２から直接アクセスされないように構成されていることが好ましい。ＣＰＵインターフェースブロック６のクロック切替え回路１３は、ＣＰＵインターフェースブロック６のクロック生成を行う回路である。ここで、クロック切替え回路１３の詳細な構成に関しては後述する。
【００２３】
第１バス７は、ＣＰＵインターフェースブロック６と所定のレジスタとの間に設けられているバスである。第２バス８は、フラッシュコントロールブロック５とＣＰＵ２との間に設けられているバスである。メモリテスタインターフェース９は、テスト時に使用されるインターフェースである。ポート１０は、テスター１６との接続に使用される接続端子である。
【００２４】
図１を参照すると、ＣＰＵ２は、制御ブロック４に接続され、制御ブロック４はフラッシュマクロ３に接続されている。ＣＰＵ２は、制御ブロック４を介してフラッシュマクロ３のデータの読出し／書き込み、消去を実行している。さらに詳細には、ＣＰＵ２は、第２バス８を介してフラッシュコントロールブロック５に接続されている。また、ＣＰＵ２はＣＰＵインターフェースブロック６に接続されている。さらに、そのフラッシュコントロールブロック５とＣＰＵインターフェースブロック６とは互いに接続されている。ＣＰＵインターフェースブロック６は、第１バス７を介して所定のレジスタ（図示されず）に接続されている。
【００２５】
マイクロコンピュータ１のポート１０は、テスト時にテスター１６に接続され、テスター１６から供給される信号を受信する。図１に示されているように、ポート１０は、メモリテスタインターフェース９に接続されている。ポート１０は、テスト時にテスター１６から出力される信号をメモリテスタインターフェース９を介してフラッシュコントロールブロック５に供給している。また、タイマ１２はＣＰＵ２に接続されている。さらにＣＰＵ２はシリアルインターフェース１１を介して周辺装置１５に接続されている。
【００２６】
ＣＰＵインターフェースブロック６はＣＰＵ動作開始前に、フラッシュマクロ３にアクセスして、最適化用データを読出し、フラッシュマクロ３の最適化を実行する。ここで実行されるフラッシュマクロ３の最適化とは、例えば、フラッシュマクロ３が有しているチャージポンプ回路の出力電圧の微調整である。また、フラッシュマクロ３が、そのチャージポンプ回路のスイッチング用クロックを供給する内蔵発振器を備えている場合、その周波数の微調整が実行される。さらに、フラッシュマクロ３からの読み出し用リファレンス電流の調整や、フラッシュマクロ３への書き込み基準電流の調整が行われる。この電流値の調整に対応して、読出し時間、書き込み時間の調整が行われることとなる。ＣＰＵインターフェースブロック６は、フラッシュマクロ３の最適化を行った後に、他の回路ブロックの最適化を実行する。フラッシュマクロ３の最適化が完了した後に他の回路ブロックの最適化を実行するため、フラッシュマクロ３からのデータの読出しを高速に行うことができる。そのため、電源投入時（または、リセット解除時）からＣＰＵ２の動作開始時までの時間を短縮させることが可能である。
【００２７】
図２は、前述したクロック切替え回路１３の詳細な構成を例示する回路図である。図２を参照すると、クロック切替え回路１３は、第１カウンタ２０と、第２カウンタ２１と、第１セレクタ２２と、３ビットシフトレジスタ２３と、第２セレクタ２４とを含んで構成されている。図２に示されている第1基準クロック２６は、図示されていない発振器（例えば、リングオシレータ）から供給されるクロックである。第１基準クロック２６を供給する発振器（以下、第１発振器と呼ぶ）は、短時間で発振を安定させる発振器であることが好ましい。また、第２基準クロック２９は、上述の発振器とは異なる図示されていない他の発振器（例えば、他のリングオシレータや水晶発振器）から供給されるクロックである。第２基準クロック２９は、第１基準クロック２６と比較して精度の良いクロックであることが好ましい。また、第２基準クロック２９を供給する発振器（以下、第２発振器と呼ぶ）は、第１発振器に比較して、発振安定までに時間を要する発振器であってもよい。ここで、第１発振器及び第２発振器を備える位置に制限は無い。例えば、それぞれの発振器がマイクロコンピュータ１の内部の所定の場所に備えられ、第１基準クロック２６および第２基準クロック２９のみクロック切替え回路１３に供給される構成であってもよい。また、第１発振器及び第２発振器がマイクロコンピュータ１の外部に備えられていてもよい。
【００２８】
以下、図２に示されている各機能ブロックについて説明をする。第１カウンタ２０は、入力される第１基準クロック２６を２分周して第１分周クロックを生成する分周器である。第２カウンタ２１は、入力されるクロックを８分周して第２分周クロックを生成する分周期である。第１セレクタ２２は、入力される二つの信号の一方を選択して動作クロック２７として出力する選択回路である。第１セレクタ２２は、選択信号２８に基づいて入力される二つの信号を切り替えている。３ビットシフトレジスタ２３は、第１セレクタ２２の出力に基づいて選択信号２８を生成するシフトレジスタである。図２に示されている３ビットシフトレジスタ２３は、第１セレクタ２２から出力されるクロックパルスを３ビットカウントしたときに、選択信号２８を生成する。３ビットシフトレジスタ２３は、その選択信号２８を第１セレクタ２２に供給する。第１セレクタ２２は、その選択信号２８に応答して出力するクロックを切り替えている。第２セレクタ２４は、第１セレクタ２２と同様に、入力される二つの信号を選択的に出力する選択回路である。
【００２９】
図２を参照すると、第１カウンタ２０は、第１発振器（図示されず）に接続されている。第１カウンタ２０の出力端は第２カウンタ２１に接続され、第１カウンタ２０の出力（第１分周クロック）は第２カウンタ２１に供給されている。また、第１カウンタ２０の出力端は第１セレクタ２２に接続され、第１カウンタ２０の出力（第１分周クロック）は第１セレクタ２２の第１入力端に供給されている。第２カウンタ２１の出力端は、第１セレクタ２２に接続され、第１セレクタ２２の出力（第２分周クロック）は第１セレクタ２２の第２入力端に供給されている。第１セレクタ２２の出力端は、第２セレクタ２４の第１入力端と３ビットシフトレジスタ２３の入力端ＣＬＫとに接続されている。また、３ビットシフトレジスタ２３の入力端Ｄは電源線ＶＤＤに接続されている。３ビットシフトレジスタ２３の出力端は、第１セレクタ２２に接続されている。前述したように３ビットシフトレジスタ２３は、第１セレクタ２２から出力されるクロックパルスを３ビットカウントしたときに、選択信号２８を生成して第１セレクタ２２に供給している。ここで、本実施の形態の第１セレクタ２２は、３ビットシフトレジスタ２３から供給される選択信号２８が、Ｈｉｇｉレベルの場合、動作クロック２７として第１分周クロックを出力し、選択信号２８がＬｏｗレベルの場合、動作クロック２７として第２分周クロックを出力するものとする。
【００３０】
第２セレクタ２４は、第２発振器（図示されず）に接続され、第２基準クロック２９が供給されている。第２セレクタ２４は、最適化用データ１４に基づく最適化が完了したときに、出力信号を動作クロック２７から第２基準クロック２９に切り替えている。また、第１カウンタ２０と、第２カウンタ２１と、３ビットシフトレジスタ２３は、それぞれリセット信号入力端子を備えている。そのリセット信号入力端子にはリセット信号２５が供給されている。
【００３１】
図２に示されているように、第１分周クロックは、第１基準クロック２６を２分周したクロックであり、第２分周クロックは、その第１分周クロックを８分周したクロック、つまり、第１基準クロック２６を１６分周したクロックである。リセット信号２５は、第１カウンタ２０、第２カウンタ２１および３ビットシフトレジスタ２３はリセット状態を維持するためにＬｏｗレベルを供給する。つまり、リセット信号２５がＨｉｇｈレベルになると、リセット状態が解除され、第１カウンタ２０、第２カウンタ２１および３ビットシフトレジスタ２３はその動作を開始する。
【００３２】
リセット解除に応答して、第２分周クロックが動作クロック２７として出力される。リセット解除直後は、この第２分周クロックが動作クロックとなる。動作クロック２７のクロックパルスが３つ３ビットシフトレジスタ２３に入力されると、選択信号２８がＨｉｇｉレベルになる。第１セレクタ２２は、そのＨｉｇｈレベルの選択信号２８に応答して、第１分周クロックを選択して動作クロック２７として出力する。この後は、ＣＰＵ動作開始まで第１分周クロックが動作クロックとして供給される。
【００３３】
［実施の形態の動作］
図３は、リセット解除後からＣＰＵが動作を開始するまでのクロック切替え回路１３の動作を例示するタイミングチャートである。図３の（ａ）は、リセット信号２５の時間変化を示す波形図である。図３の（ｂ）は、マイクロコンピュータ１に備えられる周辺装置のリセットを行う周辺リセット信号の時間変化を示す波形図である。図３の（ｃ）は、動作クロック２７の時間変化を示す波形図である。図３の（ｄ）は、選択信号２８の時間変化を示す波形図である。図３の（ｅ）は、フラッシュマクロ３のアドレスを示す波形図である。図３の（ｆ）は、フラッシュマクロ３の最適化用データ（フラッシュマクロ３の初期設定用データ）が格納されている領域を指定する制御信号ＥＸの時間変化を示す波形図である。図３の（ｇ）は、フラッシュマクロ３の読み出しクロックＲＤＣＫの時間変化を示す波形図である。図３の（ｈ）は、フラッシュマクロ３のデータを示す波形図である。図３の（ｉ）は、フラッシュマクロ３の最適化を行うための最適化用データを示す波形図である。図３の（ｊ）は、フラッシュマクロ３以外の最適化を行うための最適化用データを示す波形図である。図３の（ｋ）は、ユーザが個々に設定するオプションデータを示す波形図である。
【００３４】
時刻ｔ０１において、リセット信号２５がＬｏｗレベルからＨｉｇｈレベルになると、リセットが解除される。このとき、３ビットシフトレジスタ２３の出力（選択信号２８：図３の（ｄ））はＬｏｗレベルである。従って、第２分周クロックが動作クロック２７として出力される。ＣＰＵインターフェースブロック６は、このクロックに同期してフラッシュマクロ３のアドレスおよび制御信号ＥＸを生成する（図３の（ｅ）、（ｆ））。ＣＰＵインターフェースブロック６が最初に読み出すアドレスは、フラッシュマクロ３の性能を最適に設定する最適化用データ１４が格納されているアドレスである。このアドレスのデータが、読み出しクロックＲＤＣＫの立ち下がり（時刻ｔ０６）で読み出され、その次の動作クロック２７の立ち下がり（時刻ｔ０７）で所定のレジスタにセットされる（図３の（ｇ）、（ｃ）、（ｉ））。
【００３５】
また、このとき３ビットシフトレジスタ２３は第２分周クロックをクロックとしてＨｉｇｈレベルを取りこんでいく。３ビットシフトレジスタ２３は、時刻ｔ０７におけるクロックの立ち下がりで、Ｈｉｇｈレベルの選択信号２８を生成して第１セレクタ２２に供給する。第１セレクタ２２は、このＨｉｇｈレベルの選択信号２８に応答して第１分周クロックを動作クロックとして出力する。このときには、フラッシュマクロ３の最適化が完了しているので、時刻ｔ０８以降、第１分周クロック（第１基準クロック２６を２分周したクロック）を読出しクロックとしてフラッシュマクロ３からのデータの読出しが可能になる。
【００３６】
以降、フラッシュマクロ３以外の装置の最適化データが読み出され、設定される（図３の（ｊ）、（ｋ））。各装置の最適化が完了すると、周辺リセットが解除され（時刻ｔ１７）、ＣＰＵやその他の周辺装置が、最適化された値に基づいて動作を開始する。このとき、第２セレクタ２４は周辺リセット信号に応答して第２基準クロック２９を出力する。
【００３７】
このように、本実施の形態のＣＰＵインターフェースブロック６は、電源投入時（または、リセット解除時）において、まず最初にフラッシュマクロ３からのデータの読出しが確実に実行できるクロックに同期して、フラッシュマクロ３の最適化を実行する。そしてＣＰＵインターフェースブロック６は、フラッシュマクロ３の最適化完了に応答して、読出しクロックを周波数の高いクロックに切り替えて、フラッシュマクロ３以外の装置の最適化を実行する。マイクロコンピュータ１は、最適化の完了に応答してＣＰＵ２の動作を開始する。これにより、電源投入時（または、リセット解除時）からＣＰＵの動作開始までの時間を短縮させることが可能になる。
【図面の簡単な説明】
【００３８】
【図１】図１は、本発明のマイクロコンピュータの構成を例示する回路図である。
【図２】図２は、クロック切替え回路１３の詳細な構成を例示する回路図である。
【図３】図３は、本実施の形態のマイクロコンピュータ１の動作を例示するタイミングチャートである。
【符号の説明】
【００３９】
１…マイクロコンピュータ
２…ＣＰＵ
３…フラッシュマクロ（フラッシュメモリ）
４…制御ブロック
５…フラッシュコントロールブロック
６…ＣＰＵインターフェースブロック
７…第１バス
８…第２バス
９…メモリインターフェース
１０…ポート
１１…シリアルインターフェース
１２…タイマ
１３…クロック切替え回路
１４…最適化用データ
１５…周辺装置
１６…テスター
２０…第１カウンタ
２１…第２カウンタ
２２…第１セレクタ
２３…３ビットシフトレジスタ
２４…第２カウンタ
２５…リセット信号
２６…第１基準クロック
２７…動作クロック
２８…選択信号
２９…第２基準クロック
【図１】
2006209451.tif 000003
【図２】
2006209451.tif 000004
【図３】
2006209451.tif 000005