(57)【特許請求の範囲】
【請求項１】
記憶回路と、
外部で生成される外部クロック信号の周波数に内部クロック信号の周波数を一致させる制御情報を生成し前記記憶回路に格納する論理回路と、
前記記憶回路に保持された制御情報に基づいて内部クロック信号を生成する発振回路と、
前記制御情報を格納する不揮発性記憶装置と、
端子を介して前記外部クロック信号が供給され、前記外部クロック信号の周波数に前記内部クロック信号の周波数を一致させるための前記制御情報を生成する第１動作モードと、
前記発振回路が前記制御情報に基づいて前記内部クロック信号を生成し、前記論理回路に供給する第２動作モードと、を有する半導体集積回路であって、
前記発振回路は、
前記第１動作モードで生成された前記制御情報に基づいて、前記内部クロック信号の発振周波数を制御可能な電圧制御発振回路と、
前記制御情報を変換基準電圧に対してアナログ変換するＤ／Ａ変換回路と、
前記Ｄ／Ａ変換回路の出力電圧に基づいてバイアス電圧を形成するバイアス回路と、
前記端子を介して供給された外部クロック信号と、前記電圧制御発振回路が生成したクロック信号のいずれかを前記論理回路に供給するための選択回路と、を有し、
前記電圧制御発振回路は、ＣＭＯＳ回路形式のリングオシレータ部を有し、当該リングオシレータ部に対する電流制御用の前記バイアス電圧によって発振周波数が制御され、
前記バイアス回路は、前記電圧制御発振回路にＣＭＯＳ回路の論理閾値電圧変動を抑制する方向の動作電源電圧を印加し、
前記第１動作モードのとき、前記論理回路は、前記端子を介して外部から供給される外部クロック信号の周波数に前記内部クロック信号の周波数を一致させる方向に制御情報を更新することで、前記内部クロック信号の周波数を調整するための前記制御情報を生成し、
前記内部クロック信号を内部回路の同期動作に用い、
前記不揮発性記憶装置に格納された前記制御情報は前記半導体集積回路のリセット後、前記記憶回路にロードされ、
前記外部クロック信号が供給される端子は汎用入出力ポートを介して他の信号に利用可能にされる兼用端子である、ことを特徴とする半導体集積回路。
【請求項２】
前記第１動作モードとは、周波数設定モードであり、
前記第２動作モードとは、通常モードであり、
前記第１動作モードと前記第２動作モードは、半導体集積回路の外部から供給されるモード信号に応じて決定され、
前記発振回路が生成した内部クロック信号は、前記半導体集積回路の外部に出力可能とされ、
前記論理回路は、前記モード信号に応じて前記制御情報を生成することを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記第１動作モードのとき、前記端子から入力される外部クロック信号に同期して制御情報を生成し格納する動作を行うことを特徴とする請求項２記載の半導体集積回路。
【請求項４】
前記第１動作モードのとき、前記論理回路は外部クロック信号に同期して制御情報を生成する動作を行うことを特徴とする請求項２記載の半導体集積回路。
【請求項５】
前記第１動作モードのとき、リセット解除後に前記記憶回路に初期値が設定され、前記外部クロック信号の周波数に前記内部クロック信号の周波数を一致させる方向に前記記憶回路の値を更新することを特徴とする請求項３または４記載の半導体集積回路。
【請求項６】
さらに、前記内部クロック信号及び前記外部クロック信号をサンプリングするサンプリング回路を有し、
前記論理回路は、前記サンプリング回路でサンプリングされた情報を用いて前記内部クロック信号と前記外部クロック信号の周波数比較を行い、前記内部クロック信号の周波数を前記外部クロック信号の周波数に一致させる方向に制御情報を生成し、
前記サンプリング回路は、前記内部クロック信号を入力する第１カウンタと、前記外部クロック信号を入力する第２カウンタとを有し、前記第１カウンタ値と前記第２カウンタ値とを比較することで周波数比較を行うことを特徴とする請求項１乃至４の何れか１項に記載の半導体集積回路。
【請求項７】
前記論理回路はＣＰＵであり、前記記憶回路はＣＰＵによってアクセス可能なレジスタであることを特徴とする請求項５または６記載の半導体集積回路。
【請求項８】
さらに、前記内部クロック信号と前記外部クロック信号の周波数の相異を比較する比較回路を有し、
前記論理回路は前記比較回路による比較結果を用いて前記内部クロック信号周波数を前記外部クロック信号周波数に一致させる制御情報を生成することを特徴とする請求項１記載の半導体集積回路。
【請求項９】
前記記憶回路はカウンタであり、
前記論理回路は前記内部クロック信号と前記外部クロック信号の周波数の相異を比較し、比較結果を用いて前記カウンタをアップカウント又ダウンカウントすることを特徴とする請求項１記載の半導体集積回路。
【請求項１０】
前記論理回路は、前記内部クロック信号と前記外部からの外部クロック信号の周波数比較結果を前記半導体集積回路の外部から入力し、入力した比較結果を参照して内部クロック信号周波数を外部クロック信号周波数に一致させる制御情報を生成することを特徴とする請求項１記載の半導体集積回路。
【請求項１１】
前記電圧制御発振回路は、前記Ｄ／Ａ変換回路の出力電圧に基づいて決定される電圧を動作電源電圧とし、前記バイアス電圧によって発振周波数が制御されることを特徴とする請求項１または５記載の半導体集積回路。
【請求項１２】
前記Ｄ／Ａ変換回路の出力電圧は、ボルテージフォロアアンプを介して前記電圧制御発振回路及び前記バイアス回路の動作電源電圧として供給されることを特徴とする請求項１１記載の半導体集積回路。
【請求項１３】
さらに、電源電圧と温度の変動に対する電圧変動が補償された基準電圧を発生する基準電圧発生回路を有し、
前記Ｄ／Ａ変換回路は前記基準電圧を変換基準電圧として入力することを特徴とする請求項１１記載の半導体集積回路。
【請求項１４】
前記バイアス回路は、前記発振回路にＣＭＯＳ回路の論理閾値電圧変動を抑制する方向の動作電源電圧を印加して温度変化によるリングオシレータ部の発振周波数の変動を補償することを特徴とする請求項１記載の半導体集積回路。
【請求項１５】
前記電圧制御発振回路はリングオシレータ部を構成する奇数段のＣＭＯＳインバータ遅延段を有し、
前記バイアス回路は、前記ＣＭＯＳインバータ遅延段の論理閾値電圧を模擬する論理閾値電圧模擬回路部を有し、前記論理閾値電圧模擬回路の出力を用いて発振回路の動作電源電圧を変化させることを特徴とする請求項１４記載の半導体集積回路。
【請求項１６】
さらに、電源電圧と温度の変動に対する電圧変動が補償された基準電圧を発生する基準電圧発生回路を有し、前記Ｄ／Ａ変換回路は前記基準電圧を変換基準電圧として入力することを特徴とする請求項１４記載の半導体集積回路。
【請求項１７】
前記発振回路から出力されるクロック信号を分周する可変分周回路を有し、
前記可変分周回路は、前記選択回路の出力を入力され、前記第２動作モードのとき、前記内部クロック信号を分周して出力することを特徴とする請求項１または５記載の半導体集積回路。
【請求項１８】
以下の特徴を有する半導体集積回路であって、
中央処理装置と、
記憶回路と、
前記記憶回路に保持された制御情報に基づいて内部クロック信号を生成する発振回路と、
前記制御情報を格納する不揮発性記憶装置と、
前記発振回路で生成される前記内部クロック信号を第１端子を介して外部へ出力し、前記内部クロック信号の周波数を、前記半導体集積回路の外部で生成されて第２端子から供給される外部クロック信号の周波数に一致する方向に制御する制御情報を生成する周波数設定モードと、
前記周波数設定モードのときに生成された前記制御情報に基づいて、前記発振回路が内部クロック信号を生成し、前記内部クロック信号を前記中央処理装置へ供給する通常モードと、を有し、
前記発振回路は、
前記周波数設定モードで生成された前記制御情報に基づいて、前記内部クロック信号の発振周波数を制御可能な電圧制御発振回路と、
前記制御情報を変換基準電圧に対してアナログ変換するＤ／Ａ変換回路と、
前記Ｄ／Ａ変換回路の出力電圧に基づいてバイアス電圧を形成するバイアス回路と、
前記外部クロック信号と、前記電圧制御発振回路により発振周波数が制御された前記内部クロック信号の何れかを選択するための選択回路と、
を有し、
前記電圧制御発振回路は、ＣＭＯＳ回路形式のリングオシレータ部を有し、当該リングオシレータ部に対する電流制御用の前記バイアス電圧によって発振周波数が制御され、
前記バイアス回路は、前記電圧制御発振回路にＣＭＯＳ回路の論理閾値電圧変動を抑制する方向の動作電源電圧を印加し、
前記周波数設定モードのとき、前記中央処理装置は前記外部クロック信号の周波数に前記内部クロック信号の周波数を一致させる方向に制御情報を更新することで、前記内部クロック信号の周波数を調整するための前記制御情報を生成し、
前記通常モードのとき、前記不揮発性記憶装置に格納された前記制御情報が半導体集積回路のリセット後に前記記憶回路にロードされ、前記中央処理装置が前記内部クロック信号に同期して動作可能とされ、
前記第１端子及び前記第２端子は汎用入出力ポートを介して他の信号の入出力に利用可能にされる兼用端子とされ、
前記内部クロック信号は、前記第１端子を介して前記周波数設定モードで前記半導体集積回路の外部に出力可能とされる、ことを特徴とする半導体集積回路。
【請求項１９】
記憶回路と、
外部から端子を介して入力される所定のパルス信号に基づいて内部クロック信号の周波数を調整する制御回路と、
前記記憶回路に保持された制御情報に基づいて内部クロック信号を生成する発振回路と、
前記制御情報を格納する不揮発性記憶装置と、を有し、
前記発振回路は、
内部クロック信号周波数の設定モードで生成された前記制御情報に基づいて前記内部クロック信号を発生し、ＣＭＯＳ回路形式のリングオシレータ部を有し、前記リングオシレータ部に対する電流制御用の前記バイアス電圧によって制御される電圧制御発振回路と、
前記制御情報を変換基準電圧に対してアナログ変換するＤ／Ａ変換回路と、
前記Ｄ／Ａ変換回路の出力電圧に基づいてバイアス電圧を形成し、前記電圧制御発振回路にＣＭＯＳ回路の論理閾値電圧変動を抑制する方向の動作電源電圧を印加するバイアス回路と、
前記端子を介して入力される所定のパルス信号と、前記電圧制御発振回路が生成したクロック信号のいずれかを選択するための選択回路と、
前記選択回路の出力を入力し、通常動作時に、前記内部クロック信号を分周して、任意の周波数に変更可能な可変分周器と、を有し、
前記制御回路は、前記内部クロック信号周波数の設定モードの時、前記内部クロック信号の周波数と前記所定のパルス信号との周波数比較を行い、前記所定のパルス信号の周波数に一致するように制御するための前記制御情報を生成し、
前記生成された制御情報は、制御情報生成の終了時に、前記不揮発性記憶装置に格納され、
前記不揮発性記憶装置に格納された前記制御情報は、前記通常動作時にリセット後に前記記憶回路にロードされ、
前記通常動作時に、前記発振回路は前記内部クロック信号周波数の設定モードで生成された前記制御情報に基づいて内部クロック信号を生成し、内部回路の同期動作に用い、
前記所定のパルス信号が供給される端子は汎用入出力ポートを介して他の信号の入出力に兼用される端子である、ことを特徴とする半導体集積回路。
【請求項２０】
前記制御回路は、動的に内部クロック信号を調整することが可能であることを特徴とする請求項１９記載の半導体集積回路。
【請求項２１】
前記制御回路は、前記内部クロック信号の周波数を調整によって前記制御情報を逐次更新することが可能であることを特徴とする請求項２０記載の半導体集積回路。
【請求項２２】
前記可変分周器は、前記制御回路による命令実行によって、前記内部クロック信号を任意の周波数に調整することが可能であることを特徴とする請求項２１記載の半導体集積回路。
【請求項２３】
中央処理装置と、
中央処理装置を含む内部回路の動作に用いる内部クロック信号を生成可能な内部発振回路モジュールと、を有し、
前記内部発振回路モジュールは、
制御情報を格納するレジスタと、
設定モードで生成された前記制御情報に基づいて前記内部クロック信号の発振周波数が制御される電圧制御発振回路と、
前記制御情報を変換基準電圧に対してアナログ変換するＤ／Ａ変換回路と、
前記Ｄ／Ａ変換回路の出力電圧に基づいて、前記制御情報に応じたバイアス電圧を形成するバイアス回路と、
前記電圧制御発振回路の出力を分周するための分周器と、
端子を介して供給された外部クロック信号と、前記内部発振回路モジュールで生成された内部クロック信号とのいずれかを選択する選択回路と、を有し、
前記電圧制御発振回路は、ＣＭＯＳ回路形式のリングオシレータ部を有し、当該リングオシレータ部に対する電流制御用の前記バイアス電圧によって発振周波数が制御され、
前記バイアス回路は、前記電圧制御発振回路にＣＭＯＳ回路の論理閾値電圧変動を抑制する方向の動作電源電圧を印加し、
設定モードのとき、前記中央処理装置は、前記端子を介して外部から供給される外部クロック信号の周波数に前記内部クロック信号の周波数を一致させる方向に制御情報を更新することで、前記内部クロック信号の周波数を調整するための前記制御情報を生成し、前記レジスタに前記制御情報の初期値を設定し、前記外部から供給される外部クロック信号の周波数と前記電圧制御発振回路の出力の発振周波数との比較結果が不一致のとき、新たな制御情報を前記レジスタに設定し、前記比較結果が一致の時、前記レジスタに格納された制御情報を不揮発性メモリへ格納し、
通常モードの時、リセット後、前記不揮発性メモリから前記レジスタに格納された前記制御情報に応じて、前記電圧制御発振回路は、前記内部クロック信号の発振周波数を制御し、前記外部クロック信号が供給される端子は汎用入出力ポートを介して他の信号の入出力に兼用可能にされる、半導体チップに形成されたマイクロコンピュータ。
【請求項２４】
前記設定モードで比較結果が不一致のとき、前記内部クロック信号と前記端子を介して外部から供給される外部クロック信号の周波数とを一致させるための新たな制御情報が前記レジスタに設定される請求項２３記載のマイクロコンピュータ。
【請求項２５】
前記不揮発性メモリは、前記マイクロコンピュータに内蔵されてなる請求項２４記載のマイクロコンピュータ。
【請求項２６】
前記不揮発性メモリは、前記マイクロコンピュータを形成する半導体チップとは異なる半導体チップに形成されてなる請求項２４記載のマイクロコンピュータ。
【請求項２７】
中央処理装置と、
中央処理装置を含む内部回路に供給するための内部クロック信号を生成可能な発振回路と、
周波数設定モードの時に外部から供給される信号を入力するための端子と、を有し、
前記発振回路は、
制御情報を格納するレジスタと、
前記制御情報を変換基準電圧に対してアナログ変換するＤ／Ａ変換回路と、
前記Ｄ／Ａ変換回路の出力電圧に基づいて、前記制御情報に応じた制御電圧を生成するバイアス回路と、
前記バイアス回路の出力する制御電圧に応じて、発振周波数が制御されてなる電圧制御発振回路と、
前記電圧制御発振回路の出力を分周して内部回路に供給する分周器と、
前記内部クロック信号と前記外部から供給される信号との何れかを選択する選択回路と、を有し、
前記電圧制御発振回路は、ＣＭＯＳ回路形式のリングオシレータ部を有し、当該リングオシレータ部に対する電流制御用の前記バイアス電圧によって発振周波数が制御され、
前記バイアス回路は、前記電圧制御発振回路にＣＭＯＳ回路の論理閾値電圧変動を抑制する方向の動作電源電圧を印加し、
周波数設定モードの時、
前記内部クロック信号の周波数をトリミングするための制御情報を格納するレジスタに初期値が設定され、
前記端子を介して外部から供給される信号の周波数と前記内部クロック信号の周波数とが比較され、
前記内部クロック信号と前記外部から供給される信号の周波数とが異なるとき、前記外部から供給される信号の周波数に近づけるため、前記レジスタに格納された制御情報が変更され、
前記周波数が一致したとき、前記制御情報の変更が終了され、
通常モードの時、前記周波数設定モードの時に変更された前記制御情報に基づいて電圧制御発振回路の周波数制御が行われ、
外部から信号が供給される前記端子は汎用入出力ポートを介して他の信号の入出力に兼用可能にされ、一つの半導体基板に形成されたマイクロコンピュータ。
【請求項２８】
前記変更された制御情報は、前記周波数設定モードの時に不揮発性メモリに格納され、
前記通常モードの時に、前記マイクロコンピュータのリセット後、前記不揮発性メモリから読み出されて前記レジスタに格納され、
前記発振回路は、前記レジスタに格納された制御情報に応じて前記内部クロック信号を生成可能とされる請求項２７記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック同期動作される電子回路、特にクロック同期動作される半導体集積回路に関し、例えばマイクロコンピュータに代表される情報処理装置に適用して有効な技術に関する。
【背景技術】
【０００２】
クロック同期動作されるマイクロコンピュータなどの半導体集積回路において水晶振動子を外付けせずに内部発振だけで同期クロック信号を生成するものがある。特許文献１には水晶振動子を外付けせずに内部発振だけで同期クロック信号を生成するマイクロコンピュータについて記載が有る。特許文献２には、水晶振動子を外付けせずに内部発振する内蔵発振器の発振周波数をトリミングする回路について記載がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表平１１−５１０９３８号公報
【特許文献２】特開平１０−１８７２７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明者は、先ず同期クロックの生成に振動子を用いる場合の問題点について検討した。水晶発振を用いて半導体集積回路を動作させる場合は、容量素子と水晶振動子を付けたりする必要性が生じる。そのための実装面積と部品が必要になる。さらに、水晶振動子の端子は、外来ノイズ（ＥＭＳ：Electro Magnetic Susceptibility）に弱く、顧客のシステム構成時の信頼性で問題となる場合がある。さらに、水晶振動子が取り付けられる半導体集積回路の端子には充放電を生ずるので、輻射ノイズ（ＥＭＩ：Electro Magnetic Interference）の問題が発生する。また、水晶振動子の端子に波形整形用の容量が接続するので消費電流も多くなる。更に、センサやネットワーク家電などには外部端子数が極端に少ない少ピンマイコンと称されるマイクロコンピュータが用いられる。小ピンマイコンの場合には水晶発振用の端子の削減は外部端子数削減に大きく寄与することができる。
【０００５】
更に本発明者は同期クロックの生成に振動子を用いない場合について検討した。同期クロックの生成に振動子を用いない場合に発振周波数はプロセスばらつきの影響を大きく受けて数１０パーセント変動する。更に、プロセスばらつきによる影響ほどではないが、電源電圧変動や温度変化による影響も受けて１０数パーセント変動する。特に通信を確立するには、数パーセントのクロック精度が必要で、プロセスばらつき、半導体集積回路外部電圧変動、温度変動に対して強い構成にすることが必要になる。また、固定周波数の内部発振では、マイクロコンピュータを実装したシステムに対するテストでは高い周波数とか低い周波数でテストすることが必要になるので、出荷後もフレキシブルに周波数を変更できる構成が求められている。
【０００６】
本発明の目的は高精度で内蔵発振を行うことができる半導体集積回路を提供することにある。
【０００７】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【発明の効果】
【０００８】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【０００９】
すなわち、半導体集積回路において高精度で内蔵発振を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一例に係るマイクロコンピュータを例示するブロック図である。
【図２】内部発振回路モジュールの第１の例を示すブロック図である。
【図３】比較回路２４の一例を示す論理回路図である。
【図４】内部発振回路モジュールの第２の例を示すブロック図である。
【図５】内部発振回路モジュールの第３の例を示すブロック図である。
【図６】内部発振回路モジュールの第４の例を示すブロック図である。
【図７】内部発振回路モジュールの第５の例を示すブロック図である。
【図８】図４の内部発振回路モジュールに対応される詳細な回路を例示する回路図である。
【図９】ボルテージフォロアアンプ（ＶＦＡＭＰ）の一例を示す回路図である。
【図１０】ＭＯＳトランジスタのＶｇｓ・Ｉｄｓ特性を例示する説明図である。
【図１１】図６の内部発振回路モジュールに対応される詳細な回路を例示する回路図である。
【図１２】図１１のＵＤＣＵＮＴに代えて採用可能なカウンタ（ＣＵＮＴ）を例示するブロック図である。
【図１３】図１１の変形例を示す回路図である。
【図１４】バイアス回路の別の例を示す回路図である。
【図１５】図２で説明した内部発振周波数設定動作を例示するフローチャートである。
【図１６】外部比較による内部発振周波数設定動作を例示するフローチャートである。
【図１７】ＣＰＵを用いずに周波数比較判定動作を行う図６の例による内部発振周波数設定動作のを例示するフローチャートである。
【図１８】図８の構成におけるＶＣＯの温度依存性に関するシミュレーション結果を例示する説明図である。
【図１９】ＶＬＴに着目して温度補償を行う内部発振回路モジュールの回路例を示す回路図である。
【図２０】図１９に示されるのオペアンプ６２、６４を例示する回路ずである。
【図２１】図１９に示されるのオペアンプ６３を例示する回路ずである。
【図２２】図２２は、図１９の構成におけるＶＣＯの温度依存性に関するシミュレーション結果を例示する説明図である。
【図２３】図２３は、マイクロコンピュータ特に汎用マクロコンピュータの製造工程における周波数設定工程を例示するフローチャートである。
【図２４】図２４は、図２４にはマイクロコンピュータ特にカスタムＬＳＩの製造工程における周波数設定工程を例示するフローチャートである。
【図２５】図２５は、内部発振クロック周波数を逐次動的に調整する内部発振回路モジュールを備えたマイクロコンピュータを例示するブロック図である。
【図２６】図２６は、図２３の内部発振回路モジュールに対応される詳細な回路を例示する回路図である。
【図２７】図２７は、図２６の時定数回路の充放電動作によって生成される一定区間（Ｔｓ）を例示するタイミングチャートである。
【図２８】図２８は、区間発生回路７１の別の例を示す回路図である。
【図２９】図２９は、図２８の時定数回路の充放電動作によって生成される一定区間（Ｔｓ）を例示するタイミングチャートである。
【発明を実施するための形態】
【００１１】
１．実施の形態の概要
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１２】
〔１〕《外部クロック信号周波数を指標とする周波数調整》
本発明に係る半導体集積回路は、記憶回路（２０）と、前記記憶回路に保持された制御情報に基いて内部クロック信号（ＶＣＬＫ）を生成する発振回路（２３）と、外部で生成される外部クロック信号（ＲＣＬＫ）の周波数に内部クロック信号の周波数を一致させる制御情報を生成する論理回路（２、４０）とを有し、前記内部クロック信号を内部回路の同期動作に用いる。プロセスばらつきにより発振回路の発振周特性（発振周波数）に誤差（不所望な変動）を生じても、水晶振動子の外付けや外部クロック信号の入力を必要とせずに、内部クロック信号周波数を目的周波数の外部クロック信号周波数に一致させることができる。要するに、プロセスばらつきによる周波数誤差を補償することができる。
【００１３】
内部クロック信号周波数を目的周波数の外部クロック信号周波数に一致させる制御情報の取得を所定の動作モードの指示に応答して行う。所定の動作モードを指定すればそのような制御情報の取得を任意に行うことができる。目的周波数を変更して制御情報の取得を任意に行うことも可能である。
【００１４】
前記論理回路による制御情報の生成処理をクロック同期で行う場合の形態として、第１は、記憶回路に初期的に与えられる制御情報に基づいて生成されるクロック信号に同期する形態、第２は、外部クロック信号に同期する形態、第３は、所定動作モードの指示に応答して発振動作される別の発振回路で生成されるクロック信号に同期する形態である。
【００１５】
前記論理回路で一度取得した制御情報の利用効率という観点より、前記論理回路で生成された制御情報を格納する不揮発性記憶装置（６）を設け、前記不揮発性記憶装置に格納された制御情報はパワーオンリセットに応答して前記記憶回路にロードされる。
【００１６】
《制御情報の生成形態》
第１の形態はクロックカウンタを用いる。即ち、内部クロック信号及び外部クロック信号の夫々の周波数に応答する情報をサンプリングするサンプリング回路（３１）を有し、前記論理回路（２）はサンプリング回路でサンプリングされた情報を用いて内部クロック信号と外部クロック信号の周波数比較を行って内部クロック信号周波数を外部クロック信号周波数に一致させる制御情報を生成する。このとき前記論理回路は例えばＣＰＵ（中央処理装置）であり、前記記憶回路はＣＰＵによってアクセス可能なレジスタである。
【００１７】
第２の形態は内蔵比較回路を用いる。内部クロック信号と外部クロック信号の周波数の相異を比較する比較回路（２４）を有し、前記論理回路は前記比較回路による比較結果を用いて内部クロック信号周波数を外部クロック信号周波数に一致させる制御情報を生成する。このとき前記論理回路は例えばＣＰＵであり、前記記憶回路はＣＰＵによってアクセス可能なレジスタである。
【００１８】
第３の形態はアップダウンカウンタを用いる。即ち、前記記憶回路はカウンタ（４２）であり、前記論理回路は内部クロック信号と外部クロック信号の周波数の相異を比較し、比較結果を用いて前記カウンタをアップカウント又ダウンカウントする。
【００１９】
第４の形態は周波数の外部比較結果を用いる。前記論理回路は、内部クロック信号と外部クロック信号の周波数比較結果をラッチ回路（３２）など介して外部から入力し、入力した比較結果を参照して内部クロック信号周波数を外部クロック信号周波数に一致させる制御情報を生成する。
【００２０】
《定電流領域利用による温度依存補償》
本発明の具体的な形態として、前記記憶回路が保持する制御データを変換基準電圧に対してアナログ変換するＤ／Ａ変換回路（２１）と、前記Ｄ／Ａ変換回路の出力電圧に基づいて決定される動作電源電圧に応ずるバイアス電圧を形成するバイアス回路（２２）とを更に有し、前記発振回路は、前記Ｄ／Ａ変換回路の出力電圧に基づいて決定される電圧（Ｖｆｄｄ）を動作電源電圧とし、前記バイアス電圧によって発振周波数が制御される電圧制御発振回路とされる。このとき、前記バイアス回路は温度変化に対してドレイン・ソース間電流の変化が小さくされるゲート・ソース間電圧条件を満足するＭＯＳトランジスタを備えた定電流回路（Ｍ７，Ｒｆ，Ｍ８）を有し、前記ＭＯＳトランジスタのドレイン電圧を制御電圧として出力する。前記定電流回路は前記Ｄ／Ａ変換回路の出力電圧に基づいて動作電源電圧が変化されたとき、その変化がゲート・ソース間電圧条件を満足する範囲において、バイアス電圧を変化させることができると共に、温度変化による変動については抑止若しくは緩和することができる。この構成は、ゲート・ソース間電圧条件を満足する範囲において、という点で周波数可変の範囲は大きく制限される。要するに、ほぼ一定周波数での用途に限定される。
【００２１】
具体的な形態として、前記定電流回路は、電源電圧をソースに受けゲート・ドレイン間が短絡されたｐチャンネル型の第１ＭＯＳトランジスタ（Ｍ７）と、回路の接地電圧をソースに受けゲート・ドレイン間が短絡されたｎチャンネル型の第２ＭＯＳトランジスタ（Ｍ８）と、第１ＭＯＳトランジスタのドレインに一端が結合され第２ＭＯＳトランジスタのドレインに他端が結合された抵抗素子（Ｒｆ）とを有し、第１ＭＯＳトランジスタのドレイン電圧と第２ＭＯＳトランジスタのドレイン電圧を制御電圧として出力する。
【００２２】
前記Ｄ／Ａ変換回路の出力が低インピーダンスであることを考慮すると、前記Ｄ／Ａ変換回路の出力電圧はボルテージフォロアアンプ（４７）を介して電圧制御発振回路及びバイアス回路の動作電源電圧として供給されるのが望ましい。スタンバイ時にボルテージフォロアアンプを非活性にすることにより発振回路とバイアス回路の動作電源を遮断することができ、低消費電力に資する事ができる。
【００２３】
電源変動に対する補償を考慮する場合には、電源電圧と温度の変動に対する電圧変動が補償された基準電圧を発生する基準電圧発生回路（４５）を更に有し、前記Ｄ／Ａ変換回路は前記基準電圧を変換基準電圧として入力することが望ましい。
【００２４】
《ＶＬＴに着目した温度依存補償》
温度依存補償に対する別の形態では、前記記憶回路が保持する制御データを変換基準電圧に対してアナログ変換するＤ／Ａ変換回路と、Ｄ／Ａ変換回路の出力電圧に基づいてバイアス電圧（ＶＧＰ，ＶＧＮ）を形成するバイアス回路とを更に有し、前記発振回路はＣＭＯＳ回路形式のリングオシレータ部（５１）を有し当該リングオシレータ部に対する電流制御用の前記バイアス電圧によって発振周波数が制御される電圧制御発振回路とされる。このとき、前記バイアス回路は、発振回路にＣＭＯＳ回路の論理閾値電圧変動を抑制する方向の動作電源電圧を印加して温度変化によるリングオシレータ部の発振周波数変動を補償する。
【００２５】
具体的な形態として、前記電圧制御発振回路はリングオシレータ部を構成する奇数段のＣＭＯＳインバータ遅延段（５０）を有し、前記バイアス回路は、前記ＣＭＯＳインバータ遅延段の論理閾値電圧を模擬する論理閾値電圧模擬回路部（６５）を有し、前記論理閾値電圧模擬回路の出力を用いて発振回路の動作電源電圧を変化させる。電源変動に対する補償を考慮する場合には、電源電圧と温度の変動に対する電圧変動が補償された基準電圧を発生する基準電圧発生回路を更に有し、前記Ｄ／Ａ変換回路は前記基準電圧を変換基準電圧として入力することが望ましい。
【００２６】
〔２〕《クロック信号周波数の動的な自動調整》
本発明の別の観点による半導体集積回路は、記憶回路と、前記記憶回路に保持された制御情報に基いて内部クロック信号を生成する発振回路と、周期的に発生するパルスの一定区間毎に前記内部クロック信号を計数し計数値を期待値に一致させる方向に制御情報を更新する論理回路（７０）とを有し、前記内部クロック信号を内部回路の同期動作に用いる。計数値の期待値が目的周波数と相関される。よって、目的周波数に応ずる期待値にしたがって、周期的に発生するパルスの一定区間を基準に内部クロック信号周波数を動的且つ自動的に調整することができる。発振回路の発振周波数をパルスの周期毎に動的に調整するから、原理的には一定区間に対して温度依存性及び電源電圧依存性が無ければよい。
【００２７】
本発明の具体的な形態として、周期的にパルスの一定区間を発生する区間発生回路（７１）を有し、この区間発生回路は、パルス発生回路（７２）と、パルス発生回路から発生されるパルスの所定位相点から充電動作又は放電動作の何れかを行なうＣＲ時定数回路（７３）と、ＣＲ時定数回路で得られる電圧が規定電圧に到達するのを検出する検出回路（７４）を有し、所定位相点から検出回路による検出タイミングまでを前記一定区間とする。ＣＲ時定数回路における温度依存性は実質的に無視し得る程小さい。
【００２８】
前記規定電圧は基準電圧発生回路で発生される基準電圧に基づいて形成され、前記基準電圧は電源電圧と温度の変動に対する電圧変動が補償された電圧であることが望ましい。一定区間に対して電源電圧依存性も無くなる。発振回路には電源電圧依存性及び温度依存性が有っても実質的な問題はない。
【００２９】
本発明の具体的な形態として前記記憶回路は例えばアップダウンカウンタ（４２）である。前記アップダウンカウンタはパルス発生回路から発生されるパルスに同期してアップカウント又はダウンカウントを行なう。
【００３０】
本発明の具体的な形態として前記記憶回路が保持する制御データを変換基準電圧に対してアナログ変換するＤ／Ａ変換回路と、Ｄ／Ａ変換回路の出力電圧に応じて変化されるバイアス電圧を形成するバイアス回路とを更に有し、前記発振回路は、前記バイアス電圧によって発振周波数が制御される電圧制御発振回路である。Ｄ／Ａ変換回路に対する電源依存補償を考慮するなら、前記Ｄ／Ａ変換回路は、基準電圧発生回路で発生される基準電圧を変換基準電圧として入力すればよい。
【００３１】
本発明の具体的な形態として、不揮発性記憶装置を更に有し、前記不揮発性記憶装置は、パワーオンリセットに応答して前記記憶回路に初期的にロードされる制御情報と、前記論理回路にロードされる前記期待値を保有する。半導体集積回路の出荷時に予め制御情報と期待値とを不揮発性メモリに格納しておけばよい。不揮発性メモリが電気的に書き換え可能であればユーザは少なくとも期待値を書き換えることによって発振周波数を任意に選択することができる。
【００３２】
〔３〕《分周回路》
前記発振回路から出力されるクロック信号を分周する分周回路を有してよい。前記分周回路は可変分周回路であることが望ましい。半導体集積回路の出荷時に最高動作周波数に内部発振周波数を合わせるように制御情報を不揮発性メモリに格納しておく。ユーザは可変分周器で任意周波数を選択すればよい。
【００３３】
２．実施の形態の詳細
《マイクロコンピュータ》
図１には本発明の一例に係るマイクロコンピュータが例示される。同図に示されるマイクロコンピュータ１は、例えばＣＭＯＳ集積回路製造技術により単結晶シリコンのような１個の半導体基板（半導体チップ）に形成される。
【００３４】
マイクロコンピュータ１は、特に制限されないが、制御信号バスＣＢＵＳ、内部アドレスバスｉＡＢ、内部データバスｉＤＢ、周辺アドレスバスＰＡＢ、周辺データバスＰＤＢを有し、それらには所定の回路モジュールが結合される。前記回路モジュールとしてマイクロコンピュータ１は、中央処理装置（ＣＰＵ）２、ＣＰＵ２のワーク領域などに利用されるランダムアクセスメモリ（ＲＡＭ）３、バスステートコントローラ（ＢＳＣ）４、内部発振回路モジュール（ＯＳＣＭＤＬ）５、フラッシュメモリなどの電気的に書換え可能な不揮発性メモリ（不揮発性記憶装置、ＮＶＭＲＹ）６、アナログ・ディジタル変換モジュール（ＡＤＣＭＤＬ）７、ディジタル・アナログ変換モジュール（ＤＡＣＭＤＬ）８、汎用入出力ポート（ＩＯ）９、前記ＡＤＣ７に接続されるアナログ入力回路（ＡＩＮ）１０、前記ＤＡＣ８に接続されるアナログ出力回路（ＡＯＵＴ）１１、モード制御回路（ＭＤＣＴＬ）１３及びその他周辺回路モジュール（ＰＲＰＨＭＤＬ）１２を有する。
【００３５】
ＣＰＵ２は命令をフェッチしフェッチした命令を解読して制御信号を生成する命令制御部と、前記制御信号によりオペランドを用いて演算処理などを行う実行部とを有する。ＮＶＭＲＹ６は制御データやＣＰＵ２の制御プログラムなどを保有する。ＯＳＣＭＤＬ５は振動子の外付けを要することなく内部発振を行ってクロック信号ＣＬＫを発生する。クロック信号ＣＬＫは内蔵回路モジュールがクロック同期動作されるときの動作基準クロック信号などに用いられる。ここでは代表的に一つのクロック信号をＣＬＫを図示するが、動作速度の異なる回路モジュールを含んだり、動作モードに応じて動作速度が可変にされる場合などに対応して、実際には周波数の異なる数種類のクロック信号が発生されて対応する回路モジュールに供給される。ＭＤＣＴＬ１３にはモード信号ＭＤ０〜ＭＤ２及びリセット信号ＲＥＳが供給される。マイクロコンピュータ１はリセット信号ＲＥＳ等によってリセットが指示されるとＣＰＵ２等のオンチップ回路モジュールが初期化される。リセット信号ＲＥＳによるリセット指示が解除されると、ＣＰＵ２は所定のスタートアドレスから命令をリードし、プログラムを実行開始する。スタートアドレスはモード信号ＭＤ０〜ＭＤ２等によって指示される動作モードに応じて決定される。
【００３６】
《プロセスばらつきによる周波数変動の補償》
図２には内部発振回路モジュール５の第１の例が示される。内部発振回路モジュール５は、記憶回路としての制御データレジスタ（ＣＤＲＥＧ）２０、前記ＣＤＲＥＧ２０にロードされた制御情報をディジタル・アナログ変換するディジタル・アナログ変換回路（ＤＡＣ）２１、Ｄ／Ａ変換回路２１の出力を受けて制御電圧を形成するバイアス回路（ＢＩＡＳ）２２、前記制御電圧に応ずる周波数で発振する電圧制御発振回路（ＶＣＯ）２３、電圧制御発振回路２３で生成する内部クロック信号ＶＣＬＫの周波数と外部クロック信号ＲＣＬＫの周波数を比較可能な比較回路（ＣＭＰ）２４、比較回路２４による比較結果を保持するモニタレジスタ（ＭＲＥＧ）２５、Ｄ／Ａ変換の変換基準電圧などに用いるクランプ電源回路（ＣＲＭＰ）２９、内部クロック信号又は外部クロック信号を選択するセレクタ（ＣＳＥＬ）２６、セレクタ２６の出力を分周する分周回路（ＣＤＩＶ）２７を有する。前記制御データレジスタ２０及びモニタレジスタ２５はＣＰＵ２のアドレス空間に配置され、内部バス２８を介してアクセス可能にされる。バス２８は前記制御信号バスＣＢＵＳ、内部アドレスバスｉＡＢ、内部データバスｉＤＢ、周辺アドレスバスＰＡＢ及び周辺データバスＰＤＢを総称する。クロックセレクタ２６のクロック選択はモード制御回路１３によって制御される。分周回路２７の分周比はリセット動作で初期値に設定され、その後、ＣＰＵ２による命令実行を介して可変にされる。前記モニタレジスタ２５は周波数設定モードによる周波数設定動作の終了を外部に通知するクロック取込み信号ＦＮＣＫの出力レジスタにも兼用される。前記外部クロック信号ＲＣＬＫの入力端子、クロック取込み信号ＦＮＣＫの出力端子、及び内部クロック信号ＶＣＬＫの出力端子は専用端子であっても兼用端子であってもよい。
【００３７】
モード制御回路ＭＤＣＴＬはパワーオンリセット時に、不揮発性メモリ６の所定領域６ｃｄから制御情報を制御データレジスタ２０にロードする。モード信号ＭＤ０〜ＭＤ２によって指示される動作モードが周波数設定モードであれば、リセット解除時にセレクタ２６は外部クロック信号ＲＣＬＫを選択し、ＣＰＵ２は外部クロック信号ＲＣＬＫを基にするクロック信号ＣＬＫに同期して周波数設定プログラムを実行する。ＣＤＲＥＧ２０に初期セットされた制御情報に応じてＤＡＣ２１が出力するＤＡ変換出力に基づいて制御電圧が形成され、これによってＶＣＯ２３の発振周波数が決まる。ＣＰＵ２は定期的にモニタレジスタ２５を参照し、周波数比較回路２４による比較結果が一致したか否を判別する。不一致のときＣＰＵ２は制御データレジスタ２０をアクセスして、内部クロック信号周波数を外部クロック信号周波数に一致させる方向に制御情報を更新する。判別結果が一致すると、ＣＰＵ２は制御データレジスタ２０の制御情報を不揮発性メモリ６の所定領域６ｃｄに格納して、周波数設定プログラムの実行を終了する。周波数設定プログラムの実行を終了する時、ＣＰＵ２はＭＲＥＧ２５を介してクロック取込み終了信号ＦＮＣＫを外部に出力する。これを受けて外部ではクロック信号ＲＣＬＫの発生などを停止する。
【００３８】
モード信号ＭＤ０〜ＭＤ２によって指示される動作モードが通常モードであれば、リセット解除時にセレクタ２６は内部クロック信号を選択する。周波数設定モードで取得されて不揮発性メモリ６に保存された制御情報はパワーオンリセット時に既に制御データレジスタ２０にイニシャルロードされるので、リセット解除時には、その周波数設定モードで取得された制御情報に基づいてＶＣＯ２３は発振動作を行うことができ、マイクロコンピュータ１は内部クロック信号ＶＣＬＫで規定されるクロック信号ＣＬＫに同期して、データ処理が可能にされる。このように、不揮発性メモリ６の所定領域６ｃｄに格納された制御情報を制御データレジスタ２０にロードして再利用するので、常に前記外部クロック信号ＲＣＬＫと同じ目的周波数の内部クロック信号ＶＣＬＫを内部発振回路モジュール５だけで生成することができる。即ち、プロセスばらつきによりＶＣＯ２３の発振特性に誤差を生じても水晶振動子の外付けや外部クロック信号の入力を必要とせずにＶＣＯ２３を目的周波数で発振動作させる事ができる。プロセスばらつきによる発振特性の変動（発振周波数の変動）を補償することができる。
【００３９】
リセット解除時にモード信号ＭＤ０〜ＭＤ２によって指示される動作モードが第１テストモードであれば、セレクタ２６は外部クロック信号を選択し、動作モードが第２テストモードであれば、セレクタ２６は内部クロック信号を選択する。
【００４０】
図１５には前述の内部発振周波数設定動作のフローチャートが例示される。電源印加及びモード信号ＭＤ０〜ＭＤ２の入力、並びに外部クロック信号ＲＣＬＫが入力されて、マイクロコンピュータ１はパワーオンリセットされる（Ｓ１）。リセット解除されると、周波数設定モードを指示するモード信号ＭＤ０〜ＭＤ２の状態にしたがって、ＣＰＵ２は周波数設定プログラムを実行開始する（Ｓ２）。ＣＰＵ２は周波数設定プログラムにしたがってＣＤＲＥＧ２０に制御情報の初期値をセットする（Ｓ３）。その後、ＭＲＥＧ２５の値を読み出し（Ｓ４）、内部クロック信号周波数が外部クロック信号周波数に一致したかを判定し（Ｓ５）、不一致であればＣＤＲＥＧ２０に次の制御情報をセットする（Ｓ６）。一致を検出したときはＣＤＲＥＧ２０の制御情報を不揮発性記憶装置６の所定領域６ｃｄに格納して、処理の終了を外部に通知する（Ｓ７）。その後はリセットを経て通常モード（ユーザモード）等で動作可能になる。
【００４１】
図３には前記比較回路２４の一例が示される。ここに示される比較回路２４は位相比較によって周波数の相異を検出しようとする。即ち、内部クロック信号ＶＣＬＫと外部クロック信号ＲＣＬＫの位相差を４個のリセット優先形式のＲＳ型フリップフロップによって検出し、内部クロック信号ＶＣＬＫが外部クロック信号ＲＣＬＫの位相よりも進んでいるとき出力Ｘはハイレベル（論理値“１”）、遅れている時はローレベル（論理値“０”）にされ、それ以外の場合には出力Ｘは高インピーダンスにされる。モニタレジスタ２５は位相比較結果を定期的に所定のタイミングでラッチする。特に図示はしないが、クロックカウンタとマグニチュードコンパレータを用いて比較回路２４を構成してもよい。即ち、内部クロック信号ＶＣＬＫをクロック端子に入力する第１カウンタと、外部クロック信号ＶＣＬＫをクロック端子に入力する第２カウンタを設け、双方のカウンタに対し、並列的にカウンタクリア、カウント開始指示、カウント停止指示、カウント値出力、及び出力カウント値に対するマグニチュードコンパレータによる大小比較を行って、その比較結果をモニタレジスタ２５に保持させれば良い。
【００４２】
図４には内部発振回路モジュール５の第２の例が示される。この例では、図２のＣＭＰ２４及びＭＲＥＧ２５に代えてサンプリング回路３１を有する。サンプリング回路３１は内部クロック信号ＶＣＬＫをクロック端子に入力する第１カウンタ（ＣＵＮＴｉ）３１Ａと、外部クロック信号ＶＣＬＫをクロック端子に入力する第２カウンタ（ＣＵＮＴｏ）３１Ｂとを有する。このときＣＰＵ２は、周波数設定モードに応答して行う定期的な前記モニタレジスタ２５のリード動作に代えて、第１及び第２カウンタ３１Ａ，３１Ｂのクリア、カウント開始指示、カウント停止指示、カウント値リード、及びリード値比較の動作を定期的に行う。比較結果に応ずる動作は図２と同じであるからその詳細な説明は省略する。ＣＰＵ２の処理負担は僅かに増えるが図２同様の効果を得ることができる。サンプリング回路３１は、クロックカウンタを用いる構成に代えて、内部クロック信号と外部クロック信号の位相比較を行ない、その比較結果をラッチ回路に保持し、ＣＰＵ２によりアクセス可能にする構成に置き換えても良い。このとき位相比較には図３の回路等を用いればよい。図４の内部発振回路モジュール５を利用する場合も内部発振周波数設定動作のフローは図１５と同様になる。
【００４３】
図５には内部発振回路モジュール５の第３の例が示される。この例では周波数比較を外部で行い、周波数設定モードで必要なＣＰＵ２の制御プログラムを外部のテストホスト（ＴＨＯＳＴ）３６から入力する構成とした。テストホスト３６等を介して外部からＣＰＵ２の制御プログラムを受取る通信インタフェース（ＣＯＭＩＦ）３９と、外部で行なわれた比較結果を受取るラッチ回路（ＬＡＴ）３２を有する。外部には周波数比較を行うためにパルスジェネレータ（ＥＸＰＧ）３３で生成される外部クロック信号ＲＣＬＫと前記ＶＣＯ２３で生成される内部クロック信号ＶＣＬＫの周波数比較を行う周波数比較回路（ＥＸＣＭＰ）３５が設けられる。マイクロコンピュータ１に周波数設定モードが設定されると、ＣＰＵ２は外部クロック信号ＲＣＬＫを利用してクロック同期動作され、周波数設定用の制御プログラムを通信インタフェース３１を介して外部からダウンロードし、例えばＲＡＭ３の所定領域に格納する。ＣＰＵ２はＲＡＭ３に格納した制御プログラムを実行し、所定インターバルでラッチ回路３２に保持されている比較結果を取り込み、一致するまで、ＴＨＯＳＴ３６から、内部クロック信号周波数を外部クロック信号周波数に一致させる方向に更新された制御データを制御データレジスタ２０に受取って内部クロック信号周波数を更新する処理を行う。その他の周波数設定動作は図２と同じであるからその詳細な説明を省略する。
【００４４】
特に図５では発振周波数精度の低い低精度発振回路（ＬＰＯＳＣ）３７を有し、クロックセレクタ（ＣＳＥＬ）３８は前記発振回路３７の発振出力、外部クロック信号ＲＣＬＫ、又は内部クロック信号ＶＣＬＫを選択可能にされる。例えばクロック周波数設定モードでは外部クロック信号ＲＣＬＫに代えて前記発振回路３７の出力を選択してもよい。発振周波数精度が低いとはプロセスばらつき、電源電圧変動及び温度変化に対する発振周波数の変動を補償することを行っていないという意味である。ＶＣＯに関してはその詳細を後述するように電源電圧変動及び温度変化に対する発振周波数変動を補償できるようになっている。
【００４５】
図１６には外部比較による内部発振周波数設定動作のフローチャートが例示される。電源印加及びモード信号ＭＤ０〜ＭＤ２の入力、並びに外部クロック信号ＲＣＬＫが入力されて、マイクロコンピュータ１はパワーオンリセットされる（Ｓ１１）。リセット解除されると、周波数設定モードを指示するモード信号ＭＤ０〜ＭＤ２の状態にしたがって、ＣＰＵ２は所定のインタフェースプログラムを実行開始する（Ｓ１２）。ＣＰＵ２はＴＨＯＳＴ３６と通信を確立し周波数設定用の制御プログラムをＲＡＭ３に転送し、転送した周波数設定用の制御プログラムを実行開始する（Ｓ１３）。ＣＰＵ２はその制御プログラムにしたがって、外部から供給されてくる制御情報をＣＤＲＥＧ２０にセットする（Ｓ１４）。ＴＨＯＳＴ３６は内部クロック信号周波数と外部クロック信号周波数とを比較する（Ｓ１５）。マイクロコンピュータ１は外部の比較結果を取り込んで内部クロック信号周波数が外部クロック信号周波数に一致したかを判定し（Ｓ１６）、不一致であればＴＨＯＳＴ３６よりＣＤＲＥＧ２０に次の制御情報を受取る（Ｓ１７）。一致を検出したときはＣＤＲＥＧ２０の制御情報を不揮発性記憶装置６の所定領域６ｃｄにストアして、処理の終了をＴＨＯＳＴ３６に通知する（Ｓ１８）。その後はリセットを経て通常モード（ユーザモード）等で動作可能になる。
【００４６】
図６には内部発振回路モジュール５の第４の例が示される。この例では周波数比較結果に対する制御情報の更新をＣＰＵ２を用いず内部発振回路モジュール５内部で行うように構成した。周波数比較を行うために例えば前記サンプリング回路３１、比較制御回路（ＣＭＯＣＴＬ）４０、アップダウンカウンタ（ＵＤＣＵＮＴ）４２、及び不揮発性レジスタ（ＮＶＲＥＧ）４１を有する。モード制御回路ＭＤＣＴＬはパワーオンリセット時に、不揮発性レジスタ４１から制御情報をアップダウンカウンタ４２にプリセットする。これによってＶＣＯ２３はプリセットされた制御情報に基いて形成されるバイアス電圧に従って発振動作可能にされる。リセット解除時にモード信号ＭＤ０〜ＭＤ２によって指示される動作モードが周波数設定モードであれば、比較制御回路（ＣＭＯＣＴＬ）４０が起動され、また、セレクタ２６は外部クロック信号ＲＣＬＫを選択し、マイクロコンピュータ１は外部クロック信号ＲＣＬＫを基にするクロック信号ＣＬＫに同期動作可能にされる。サンプリング回路３１は内部クロック信号ＶＣＬＫと外部クロック信号ＲＣＬＫのカウント値をサンプリングし、比較制御回路４０は前記カウント価を逐次入力して双方の大小比較を行う。大小比較結果が不一致の場合にはＵＤＣＵＮＴ４２に対するアップカウント又はダウンカウントを行って内部クロック信号の周波数を外部クロック信号の周波数に近付けるようにする。大小比較が一致の時は、ＵＤＣＵＮＴ４２が保持する制御情報をＮＶＲＥＧ４１に内部転送して保持させ、外部に信号ＦＮＣＫで周波数設定動作の終了を通知して、処理を終了する。
【００４７】
図１７には前述のＣＰＵ２を用いずに周波数比較判定動作を行う図６の例による内部発振周波数設定動作のフローチャートが例示される。電源印加及びモード信号ＭＤ０〜ＭＤ２の入力、並びに外部クロック信号ＲＣＬＫが入力されて、マイクロコンピュータ１はパワーオンリセットされる（Ｓ２１）。リセット解除されると、周波数設定モードを指示するモード信号ＭＤ０〜ＭＤ２の状態にしたがって、ＣＭＰＣＴＬ４０が動作を開始する（Ｓ２２）。ＣＭＰＣＴＬ４０はＣＤＲＥＧ２０に制御情報の初期値をセットする（Ｓ２３）。その後、ＣＭＰＣＴＬ４０はサンプリング回路３１によるサンプリングデータを読み出し（Ｓ２４）、内部クロック信号周波数が外部クロック信号周波数に一致したかを判定し（Ｓ２５）、不一致であればＣＤＲＥＧ２０に次の制御情報をセットする（Ｓ２６）。一致を検出したときはＣＤＲＥＧ２０の制御情報を不揮発性記憶装置６の所定領域６ｃｄにストアして、処理の終了を外部に通知する（Ｓ２７）。その後はリセットを経て通常モード（ユーザモード）等で動作可能になる。
【００４８】
図７には内部発振回路モジュール５の第５の例が示される。この例では、マイクロコンピュータ１の外付け不揮発性メモリ６Ａに制御情報を格納するようにしたものである。不揮発性メモリ６Ａはパワーオンリセット時における制御情報のイニシャルロード、周波数設定モードで取得された制御情報のストアに利用される。その他の構成は図２と同様である。外付け不揮発性メモリ６Ａの利用は図４乃至図６の構成にも適用可能である。
【００４９】
《発振回路の動作電源電圧補償及び温度補償》
図８には図４の内部発振回路モジュール５に対応される詳細な回路例が示される。前記クランプ回路２９は基準電圧発生回路（ＶＲＦＧ）４５とボルテージフォロアアンプ（ＶＦＡＭＰ）４６によって構成される。前記基準電圧発生回路４５は温度や電源電圧の変動に対して電圧変動が補償された基準電圧Ｖｒｅｆを発生する。基準電圧発生回路４５は例えば一対のＭＯＳトランジスタの閾値電圧の差を用いて基準電圧を発生する。前記ボルテージフォロアアンプ４６は図９に例示されるように差動入力ＭＯＳトランジスタＭ１，Ｍ２を持つ差動アンプを主体に、一方の差動入力ＭＯＳトランジスタＭ１のゲートには基準電圧Ｖｒｅｆが供給され、他方の入力ＭＯＳトランジスタＭ２のゲートには出力ＭＯＳトランジスタＭ３のドレインが帰還されて構成される。スタンバイ信号ＳＴＢＹがハイレベルにされるとボルテージフォロアアンプ４６は電流直流パスが遮断されて非活性にされる。前記クランプ回路２９は温度や電源電圧Ｖｃｃの変動に対して安定した（電圧変動が補償された）クランプ電圧Ｃｖｄｄを出力することができる。
【００５０】
クランプ電圧ＣｖｄｄはＤＡＣ２１の変換基準電圧として利用される。ＤＡＣ２１は例えば、シリーズ抵抗Ｒとシャント抵抗ｒの抵抗網を有し、各シャント抵抗ｒの一端には制御情報によってオン・オフされるＣＭＯＳスイッチＳＷを介してクランプ電圧Ｃｖｄｄが印加される、所謂Ｒ２Ｒ形態回路構成とされる。ＣＭＯＳスイッチＳＷはＣＤＲＥＧ２０の対応ビットによりスイッチ制御される。Ｃ１は安定化容量である。ＲＷはＣＤＲＥＧ２０に対するリード・ライト制御信号である。
【００５１】
したがって、制御情報に従ってＤＡＣ２１から出力される電圧Ｖｂｉａｓも温度や電源電圧Ｖｃｃの変動に対して安定した電圧になる。前記Ｄ／Ａ変換回路２１の出力は低インピーダンスであるから、電圧Ｖｂｉａｓは図９に示される回路構成を有するボルテージフォロアアンプ（ＶＦＡＭＰ）４７を通してＶＣＯ２３とＢＩＡＳ２２の動作電源電圧Ｖｆｄｄとされる。ＶＣＯ２３と共にＢＩＡＳ２２の動作電源電圧Ｖｆｄｄは温度や電源電圧Ｖｃｃの変動に対して安定化される。要するにＶＣＯ２３の動作電源電圧補償が行われる。
【００５２】
ＶＣＯ２３は奇数個のＣＭＯＳインバータ遅延段５０から成るリングオシレータ部５１を有する。ＣＭＯＳインバータ遅延段５０はＣＭＯＳインバータの動作電源側にはｐチャンネル型の電流制限ＭＯＳトランジスタＭ５を有し、回路の接地電圧側にｎチャンネル型の電流制限ＭＯＳトランジスタＭ６を有して構成される。電流制限ＭＯＳトランジスタＭ５のゲートにバイアス電圧ＶＧＰが供給され、電流制限ＭＯＳトランジスタＭ６のゲートにバイアス電圧ＶＧＮが供給されて、ＣＭＯＳインバータ遅延段５０のコンダクタンスが制御される。リングオシレータ部５１はスタンバイ信号ＳＴＢＹがハイレベルのとき発振動作を停止し、スタンバイ信号ＳＴＢＹがローレベルに反転されると発振動作を開始する。ＣＭＯＳインバータ遅延段５０の過渡応答時間はバイアス電圧ＶＧＰ，ＶＧＮによって制御され、これによってＶＣＯ２３の発振周波数が制御可能にされる。Ｃ２は安定化容量である。
【００５３】
バイアス回路２２はバイアス電圧ＶＧＰ，ＶＧＮを形成し、温度変化によるその変動を補償するように構成される。すなわち、前記バイアス回路２２は、動作電源電圧ｖｆｄｄをソースに受けゲート・ドレイン間が短絡されたｐチャンネル型の第１ＭＯＳトランジスタＭ７と、回路の接地電圧ｖｓｓをソースに受けゲート・ドレイン間が短絡されたｎチャンネル型の第２ＭＯＳトランジスタＭ８と、第１ＭＯＳトランジスタＭ７のドレインに一端が結合され第２ＭＯＳトランジスタＭ８のドレインに他端が結合された抵抗素子Ｒｆとから定電流回路を構成する。このバイアス回路２２は、第１ＭＯＳトランジスタＭ７のドレイン電圧をバイアスＶＧＰとして出力し、第２ＭＯＳトランジスタＭ８のドレイン電圧をバイアス電圧ＶＧＮとして出力する。図１０に例示されるＭＯＳトランジスタのＶｇｓ・Ｉｄｓ特性が示すように、ＭＯＳトランジスタには温度に対してＩｄｓが一定とされる領域があり、この領域で第１ＭＯＳトランジスタＭ７及び第２ＭＯＳトランジスタＭ８を動作させるように抵抗Ｒｆの値を決定している。これにより、第１ＭＯＳトランジスタＭ７及び第２ＭＯＳトランジスタＭ８には温度変化に対してドレイン・ソース間電流の変化が小さくされるゲート・ソース間電圧の条件が満足される。要するに、バイアス回路２２は温度変化に対しても定電流を流す。ＶＣＯ２３はそのバイアス電圧ＶＧＰ，ＶＧＮを電流制限ＭＯＳトランジスタＭ５，Ｍ６に受けてコンダクタンス制御されるから、バイアス回路２２同様に温度変化に対しても定電流を流すことができ、これによって、内部クロック信号ＶＣＬＫの周波数に対して温度補償を実現することができる。
【００５４】
バイアス回路２２による温度補償は図１０に例示されるような特性を満足するゲート・ソース間電圧を満足することが条件になるから、動作電源電圧ｖｆｄｄを大きく変化させることは不都合である。この点において、図８の構成は、周波数可変の範囲が大きく制限される。要するに、ほぼ一定周波数での用途に限定される。
【００５５】
図１８には図８の構成におけるＶＣＯの温度依存性に関するシミュレーション結果が例示される。ＶＣＯ電圧すなわち制御電圧が異なる幾つかの例を挙げており、例示された発振周波数は対応する制御電圧に対して温度依存性が緩和されている。前述したように、図８の構成は、ほぼ一定周波数での用途に限定されており、図１８では４種類の回路のシミュレーション結果を示していることになる。
【００５６】
図８の例ではリングオシレータ部５１による発振出力に対してレベルシフタ（ＳＨＦＴ）５２でｖｆｄｄレベルからからＶｃｃレベルへのレベルシフトが行なわれ、レベルシフト出力は分周器（ＤＩＶ）５３で１／２分周されて内部クロック信号ＶＣＬＫとされる。分周器５３はデューティー補正を考慮して設けられており、更にタイミングが厳しければ分周比を大きくし、また、タイミングが厳しくなければ分周器５３を不採用にしてもよい。尚、分周器５３による分周比を大きくするということはリングオシレータ部５１の発振周波数を高くすることを意味する。
【００５７】
尚、図８においてＲＷ１はカウンタ３１Ａに対するリード・ライト制御信号、ＲＷ２はカウンタ３１Ｂに対するリード・ライト制御信号を意味する。スタート信号ＳＴＡＲＴはカウンタ３１Ａ，３１Ｂのクリア端子(clear)に入力され、例えばローレベルでカウント値クリア、ハイレベルでカウント開始を指示する。
【００５８】
図１１には図６の内部発振回路モジュール５に対応される詳細な回路例が示される。アップダウンカウンタ４２は、カウンタ初期化信号ＣＩＮＴにてクリアされ、データバスＩＤＢを介してＣＰＵ２から初期値がプリセット可能にされる。クリア又はプリセットされたアップダウンカウンタ４２は、ＣＭＰＣＴＬ４０からのアップクロックＵＣｃｕｎｔとダウンクロックＤＣｃｕｎｔによってアップカウント又はダウンカウントされる。ＣＭＰＣＴＬ４０はスタート信号ＳＴＡＲＴによって比較動作が指示され、比較動作一致を示すロックモニタ信号ＬＭＮＴは周波数設定動作終了信号ＦＮＣＫと不揮発性レジスタＮＶＲＥＧに対する書き込みパルスとして利用される。
【００５９】
図１２には図１１のＵＤＣＵＮＴ４２に代えて採用可能なカウンタ（ＣＵＮＴ）４２Ａが例示される。カウンタ４２Ａのカウント動作はアップカウントのみとされる。カウンタ４２Ａに初期設定されるプリセット値は期待値より小さくされることが必要になる。ＣＭＰＣＴＬ４０による不一致の比較判定毎にカウントクロックＣｃｕｎｔが変化されることによってカウンタ４２Ａがカウントアップされる。
【００６０】
図１３には図１１の変形例が示される。図１１との相違点はＵＤＣＵＮＴ４２に代えて制御データレジスタ（ＣＤＲＥＧ）２０Ａを採用した事である。ＣＤＲＥＧ２０Ａは内部データバスＩＤＢを介してＣＭＰＣＴＬ４０によりアクセス可能にされる。ＣＭＰＣＴＬ４０に対するアクセス指示はレジスタアクセス信号ＲＡＣＣにより与えられる。この構成において、ＣＭＰＣＴＬ４０は、サンプリング回路３１によるクロックカウント値の比較結果の大小に応じてＣＤＲＥＧ２０Ａに制御情報を書き換える。クロックカウント値の差が大きければ制御情報の更新量の絶対値を大きくする。ＣＤＲＥＧ２０Ａに対するプリセットもＣＭＰＣＴＬ４０が行ってもよい。
【００６１】
図１４にはバイアス回路の別の例が示される。図８等の例では図１０のように温度に対する定電流領域の使用に限定したが、ここではそのような制限を設けない時の例である。バイアス回路２２はバイアス電圧Ｖｂｉａｓによってコンダクタンス制御されるｎチャンネル型のＭＯＳトランジスタＭ１０を３個並列に有し、ＭＯＳトランジスタＭ１０にはゲート・ドレインが接続された負荷ＭＯＳトランジスタＭ１１を介してＶｆｄｄからＶｓｓへの電流経路が形成される。その電流径路の中間ノードＮｃは一方の制御電圧ＶＧＰとされる。また、前記中間ノードＮｃをゲートに受けるｐチャンネル型ＭＯＳトランジスタＭ１２とゲート・ドレインが接続された負荷ＭＯＳトランジスタＭ１３によって別の電流径路が形成され、ＭＯＳトランジスタＭ１３のドレインが他方の制御電圧ＶＧＮとされる。バイアス回路２２の入力電圧Ｖｂｉａｓのレベルが高くなると、ノードＮｃのレベルが下がり、ＭＯＳトランジスタＭ１２のコンダクタンスが大きくなり、これによってＶＧＰのレベルが下がり、ＶＧＮのレベルが上昇する。この結果、図８等で説明したＣＭＯＳ遅延段５０の動作電流が増えて発振周波数が高くされる。バイアス回路２２の入力電圧Ｖｂｉａｓのレベルが低くなると、その逆で、ノードＮｃのレベルが上がり、ＶＧＰのレベル上昇、ＶＧＮのレベル降下を生じ、この結果、図８等で説明したＣＭＯＳ遅延段５０の動作電流が減って発振周波数が低くされる。図１４の例では温度補償という観点より、温度補償回路５５を設け、ノードＮｃに温度補償に必要な電流を供給する。特に図示はしないが、温度補償回路５５は、例えばＶＣＯのＶＬＴ（論理閾値電圧）変動による周波数変動が問題になる場合は、論理閾値電圧発生回路とオペアンプ等を用いて構成することができる。尚、５６はモストランジスタＭ１０のゲート入力を制御する選択スイッチ回路であり、端子ＳＷＯＮからの入力と端子ｉｎからの入力が選択可能である。端子ＳＷＯＮからの入力が選択されると対応するＭＯＳトランジスタＭ１０のコンダクタンスはＶｂｉａｓとは無関係に一定に保持される。Ｍ１４、Ｍ１５は制御電圧ＶＧＰをＶｄｆｆ、ＶＧＮをＶｓｓに固定するＭＯＳトランジスタである。
【００６２】
《ＶＬＴに着目した温度依存補償》
図１９にはＶＬＴに着目して温度補償を行う内部発振回路モジュール５の回路例が示される。主としてここではＢＩＡＳ５の別の回路例について詳細に説明する。ここではＤＡＣ２１にも別の回路構成を採用しており、制御情報ＴＲＭ０〜ＴＲＭ５の値に従ってスイッチ回路ＳＷ０〜ＳＷ６３で直列抵抗回路６０の分圧タップを選択して、ノードＮｄａｃにアナログ電圧を得る。６１で示される回路はノードＮｄａｃのアナログ電圧に対応した電流を生成する回路であり、その電流値を信号ＳＥＬで切り換え可能になっている。
【００６３】
バイアス回路２２は３個のオペアンプ６２〜６４を有する。オペアンプ６２、６４は図２０に例示される回路構成を有する。オペアンプ６３は図２１に例示される回路構成を有する。オペアンプ６２の出力によってコンダクタンスが制御されるｐチャンネル型ＭＯＳトランジスタＭ２０と前記直列抵抗回路６０は電源電圧Ｖｃｃと回路の接地電圧Ｖｓｓとの間に電流経路を形成する。オペアンプ６２は反転入力端子Ｎに前記直列抵抗回路６０による分圧電圧が帰還され、非反転入力端子にクランプ回路２９の出力電圧Ｃｖｄｄが供給され、その差電圧に応ずる出力電圧によってＭＯＳトランジスタＭ２０のコンダクタンスを制御する。要するに、ＤＡＣ２１の変換基準電圧である直列抵抗回路６０の動作電圧がクランプ電圧Ｃｖｄｄにされる。オペアンプ６３はノードＮｄａｃのアナログ変換電圧Ｖｂｉａｓに等しい電圧をＭＯＳトランジスタＭ２１のドレインに形成するように当該ＭＯＳトランジスタＭ２１のコンダクタンスを制御する。よってこのＭＯＳトランジスタＭ２１に流れる電流は上記アナログ変換電圧Ｖｂｉａｓと回路６１内の抵抗によって決まり、電源電圧Ｖｃｃに対して一定な定電流性を有する。またその電流は所定のミラー比でＭＯＳトランジスタＭ２２に伝達される。ＭＯＳトランジスタＭ２２はＶｃｃとＶｓｓの間で直列されたｎチャンネル型ＭＯＳトランジスタＭ２３，Ｍ２４と共に電流経路を構成している。前記ＭＯＳトランジスタＭ２２のドレイン電圧は一方の制御電圧ＶＧＮとしてＶＣＯ２３に供給される。
【００６４】
バイアス回路２２は論理閾値電圧模擬回路６５を有する。論理閾値電圧模擬回路６５はＣＭＯＳインバータの入出力を短絡させた回路構成を有し、短絡入出力端子Ｎｉｏにはその動作電源電圧に対する論理閾値電圧（ＶＬＴ）を形成する。前記論理閾値電圧模擬回路６５はＶｃｃとＶｓｓの間で直列されたｐチャンネル型ＭＯＳトランジスタＭ２６と電流経路を形成する。オペアンプ６４は、その反転入力端子（Ｎ）に論理閾値電圧模擬回路６５のノードＮｉｏが帰還接続され、非反転入力端子（Ｐ）にクランプ回路２９の出力電圧Ｃｖｄｄが供給され、その差電圧に従ってＭＯＳトランジスタＭ２６のコンダクタンスを負帰還制御する。ＭＯＳトランジスタＭ２６のドレインにはＣｖｄｄとＶＬＴによって決まる電圧が形成される。例えば２×Ｃｖｄｄのような電圧が形成される。この電圧はＶＣＯ２３の動作電源電圧とされる。
【００６５】
バイアス回路２２はＣＭＯＳ遅延段５０のダミー回路５０ｄａを有する。ここではＣＭＯＳ遅延段５０は電流制限ＭＯＳトランジスタＭ５，Ｍ６が中央部に配置され、その外側にＣＭＯＳインバータを構成するｐチャンネル型ＭＯＳトランジスタＭ２８とｎチャンネル型ＭＯＳトランジスタＭ２９が配置されている。ダミー回路５０ｄａはＭＯＳトランジスタＭ２８ｄａ，Ｍ５ｄａ，Ｍ６ｄａ，Ｍ２９ｄａによって構成される。ＭＯＳトランジスタＭ２９ｄａのゲートにはＭＯＳトランジスタＭ２６のドレイン電圧が供給され、ＭＯＳトランジスタＭ２８ｄａのゲートにはＶｓｓが供給され、ＭＯＳトランジスタＭ６ｄａのゲートには前記一方の制御電圧ＶＧＮが供給され、これによって前記ＭＯＳトランジスタＭ５ｄａに流れる電流をＶＣＯ２３の各ＣＭＯＳ遅延段５０に鏡映可能にするために、前記ＭＯＳトランジスタＭ５ｄａのコモンゲート・ドレイン端子の電圧を他方の制御電圧ＶＧＰとする。
【００６６】
上記ＭＯＳトランジスタＭ５ｄａ、Ｍ６ｄａに流れる電流は、前記ＭＯＳトランジスタＭ２１に流れる定電流のミラー電流であり、よって制御電圧ＶＧＮ、及びＶＧＰを受けるＶＣＯ２３内の各ＣＭＯＳ遅延段５０における電流制限ＭＯＳトランジスタＭ５，Ｍ６のドレイン電流も定電流性を有することになる。該定電流によって次段のＣＭＯＳ遅延段５０におけるＭＯＳトランジスタＭ２８，Ｍ２９から成るＣＭＯＳインバータのゲート容量が充放電駆動され、その充放電時定数が遅延要素となる。上記定電流は、クランプ電圧Ｃｖｄｄを基準に形成されたＤ／Ａ変換電圧Ｖｂｉａｓと抵抗とから生成され、またＶＣＯ２３の動作電源電圧もＣｖｄｄを基準として形成された電圧であるため、プロセスばらつきに対する補償と電源変動に対する補償を実現できる。また更に論理閾値電圧模擬回路６５によって、その論理閾値電圧ＶＬＴがＣｖｄｄと等しくなるような電圧がＭＯＳトランジスタＭ２６から出力され、これがＶＣＯ２３の動作電源電圧として与えられるため、ＣＭＯＳ遅延段５０におけるＭＯＳトランジスタＭ２８，Ｍ２９から成るＣＭＯＳインバータの論理閾値電圧を常に一定に制御することができ、温度変化に対してもリングオシレータ部の発振周波数変動を補償できる。
【００６７】
例えば、温度上昇に伴って上記ＣＭＯＳインバータの論理閾値電圧が上昇しようとする場合、ＭＯＳトランジスタＭ２６のドレイン電圧、すなわちＶＣＯ２３の動作電源電圧は低下し、上記ＣＭＯＳインバータの論理閾値電圧の変動を抑制する。温度上昇に伴ってＣＭＯＳインバータの論理閾値電圧が上昇するということは、ｎチャンネル型ＭＯＳトランジスタに対するｐチャンネル型ＭＯＳトランジスタの電流駆動能力が相対的に向上したことを意味する。電源電圧を低下させて論理閾値電圧を一定に制御することは、ｐチャンネル型ＭＯＳトランジスタ側が動作開始した時のソース・ゲート間電圧ＶＧＳを狭める方向に制御することとなり、電流駆動能力の向上を抑制することになる。
【００６８】
ＣＭＯＳ遅延段５０の出力遅延は、前記したように電流制限ＭＯＳトランジスタＭ５，Ｍ６の定電流による次段ゲート容量の充放電時間が主要素であるが、各ＣＭＯＳ遅延段５０の出力が反転開始した直後はＣＭＯＳインバータを構成するＭＯＳトランジスタＭ２８，Ｍ２９の特性も介在する。例えばＣＭＯＳ遅延段５０の出力が０Ｖから上昇開始するときは、ＭＯＳトランジスタＭ２８がＯＦＦ状態からＯＮ状態へ移行するが、この移行期間中ＭＯＳトランジスタＭ２８の出力電流特性が出力電圧の上昇に影響を及ぼすことになる。出力が下降する場合におけるＭＯＳトランジスタＭ２９に関しても同様である。よって上記の如くＣＭＯＳインバータの論理閾値電圧を一定に制御することによって、ＣＭＯＳ遅延段５０の遅延特性におけるＭＯＳトランジスタＭ２８，Ｍ２９の影響を一定とすることができる。これにより、制御電圧ＶＧＮ、ＶＧＰ及びＶＣＯ２３の動作電源電圧は、クランプ電圧Ｃｖｄｄを基準に形成されたＤ／Ａ変換電圧Ｖｂｉａｓ、及び前記論理閾値電圧ＶＬＴと相関する電圧にされるから、前述のようにプロセスばらつきに対する補償と電源変動に対する補償を実現する。更に、論理閾値電圧模擬回路６５がリングオシレータ部にＣＭＯＳ回路の論理閾値電圧変動による電流変化を相殺する方向の電流を与えるから、温度変化によるリングオシレータ部の発振周波数変動を補償することもできる。
【００６９】
尚、図１９では分周器の図示を省略している。
【００７０】
図２２には図１９の構成におけるＶＣＯの温度依存性に関するシミュレーション結果が例示される。例示された発振周波数において温度依存性が緩和されている。
【００７１】
《周波数設定工程》
図２３には前記マイクロコンピュータ１の製造工程における周波数設定工程が例示される。ここではマイクロコンピュータ１は汎用マイクロコンピュータを想定する。即ち、図１９に例示されるように設定可能な周波数が限定的でない内部発振回路モジュールを採用するマイクロコンピュータを対象とする。
【００７２】
製造元では、ウェーハプロセス（Ｐ１）、テスト（Ｐ２）を行った後、不揮発性メモリ６の所定領域６ｃｄに、顧客仕様に合わせてデフォルト動作周波数を決定する制御情報が書き込まれる（Ｐ３）。尚、テスト（Ｐ２）では、内部発振を用いないで外部クロック信号を用いてテストを行い、或いは最初テスタで内部発振周波数をあわせ込み、その後、内部発振周波数を変更しながら行っても良い。マイクロコンピュータの出荷後、デフォルト設定周波数に対しテストなどでユーザが使用したい周波数が変わったときは、周波数設定モードによりユーザ任意の周波数を内部発振周波数に設定するように制御情報を取得し、取得した新たな制御情報によって所定領域６ｃｄの制御情報を書き換える（Ｐ４）。その後、通常モード（ユーザモード）では設定された内部発振周波数でシステム動作可能になる。
【００７３】
図２４にはマイクロコンピュータ１の製造工程における周波数設定工程の別の例が示される。ここではカスタムＬＳＩを想定する。即ち、図８に例示されるように設定可能な周波数が限定的な内部発振回路モジュールを採用するマイクロコンピュータであってもよい。
【００７４】
製造元では、ウェーハプロセス（Ｐ１）、テスト（Ｐ２）を行った後、不揮発性メモリ６の所定領域６ｃｄに、顧客が要求する任意動作周波数を決定する制御情報が書き込まれる（Ｐ３Ａ）。出荷後は、通常モード（ユーザモード）において設定された内部発振周波数でシステム動作可能になる。出荷後の周波数変更を想定する必要はない。
【００７５】
《クロック信号周波数の動的調整》
図２５には内部発振クロック周波数を逐次動的に調整する内部発振回路モジュールを備えたマイクロコンピュータ１が示される。ここに示す内部発振回路モジュール５は、周波数設定のために外部クロック信号ＲＣＬＫを必要とせず、周期的にパルスの一定区間を発生する区間発生回路（ＩＴＶＧ）７１を設け、周期的に発生するパルスの一定区間毎に前記内部クロック信号ＶＣＬＫを計数し計数値を期待値に一致させる方向に制御情報を逐次更新する比較制御回路（ＣＭＰＣＴＬ）７０を採用する。ここでは、制御情報を格納する記憶回路として、ＣＰＵ２によりプリセット可能なアップダウンカウンタ（ＵＤＣＵＮＴ）４２を用い、前記比較制御回路７０によってアップダウンカウンタ（ＵＤＣＵＮＴ）４２アップカウントとダウンカウントを制御するようになっている。
【００７６】
図２６には図２３の内部発振回路モジュール５に対応される詳細な回路例が示される。前記区間発生回路（ＩＴＶＧ）７１は、パルス発生回路（ＰＬＳＧ）７２と、パルス発生回路７２から発生されるパルスの所定位相点から充電動作又は放電動作の何れかを行なうＣＲ時定数回路（ＣＲＴＣ）７３と、ＣＲ時定数回路７３で得られる電圧が規定電圧に到達するのを検出する検出回路（ＤＴＣ）７４とを有する。
【００７７】
パルス発生回路７２は低精度の内部発振器（ＬＰＯＳＣ）７６とその出力クロック信号を計数するリングカウンタ（ＲＧＣＵＮＴ）７７から成る。リングカウンタ７７の最上位ビットＤｎはカウントアップパルスＦｓｔｒを出力する。カウントアップパルスＦｓｔｒはカウントアップまでローレベルとされ、カウントアップ毎にハイレベルにされる。
【００７８】
ＣＲ時定数回路７３は抵抗Ｒｔｃと容量Ｃｔｃの並列回路を有し、ｐチャンネル型のＭＯＳスイッチＭ３１を介してクランプ電圧Ｃｖｄｄに接続される。ＭＯＳスイッチＭ３１はカウントアップパルスＦｓｔｒのハイレベルによってオン状態にされ、これによってＣｔｃが充電され、カウントアップパルスＦｓｔｒのローレベルによってオフ状態にされ、容量Ｃｔｃが放電される。時定数回路７３によって得られる充放電電圧はＮｔｍとして図示される。充放電時間を規定する時定数は抵抗Ｔｔｃの値をトリミングすることによって決定される。電圧トリミング手法は特に制限されずアルミマスタスライス又はヒューズプログラムによって行なうようになっている。尚、抵抗Ｒｔｃの抵抗値はＭＯＳスイッチＭ３１のオン抵抗が見えないくらいのサイズにされる。要するに前者は後者を無視し得る程に大きな抵抗値を持つ。
【００７９】
検出回路７４は、前記充放電電圧Ｎｔｍを、基準電圧Ｖｒｅｆを抵抗分圧して得られる判定レベルＶｉｎｔと比較する。Ｃｓｔｐは検出回路７４による比較結果信号である。
【００８０】
ＣＲＴＣ７３による充電電圧はクランプ電圧Ｃｖｄｄによって規定され、温度変動及び電源電圧Ｖｃｃ変動に対して安定化されている。抵抗Ｒｔｃ及び容量Ｃｔｃによて規定される時定数も温度や電源電圧Ｖｃｃ変動に依存しない。また判定レベルＶｉｎｔも温度や電源電圧Ｖｃｃ変動に依存しない。従って、図２７に示されるように、時定数回路の放電開始から電圧Ｎｔｍが判定レベルＶｉｎｔに到達する時間Ｔｓは一定となる。Ｆｓｔｒの立下りから検出回路による一致出力（Ｃｓｔｐの立下り）までが一定区間となる。時間Ｔｓは例えば１００ｍｓのような時間とされる。
【００８１】
ＣＭＰＣＴＬ７０は内部クロック信号ＶＣＬＫのクロックカウンタ８０を有し、このクロックカウンタ８０は、信号Ｆｓｔｒの立下りタイミングでクリアされ、その後、信号Ｃｓｔｐの立下りまで内部クロック信号ＶＣＬＫを計数する。この計数期間は時間Ｔｓに一定期間とされる。しかもこの期間は温度や電源電圧Ｖｃｃ変動に依存しない一定期間とされる。この期間Ｔｓで計数された計数値は、比較回路８２で周波数設定レジスタ８１のプリセット値と比較される。比較回路８２はマグニチュードコンパレータとされ、比較結果の大小に応じてＦｓｔｒを計数クロックとしてＵＤＣＵＮＴ４２をアップカウント又はダウンカウントし、信号Ｆｓｔｒのサイクル毎に、制御情報が、＋１インクリメント、−１デクリメント、又は前値保持される。これにより、パルスの一定区間Ｔｓを基準に、パルスＦｓｔｒの周期毎に発振回路２３の発振周波数を、目的周波数に一致するように、しかも温度や電源電圧Ｖｃｃの変動に影響されないように、動的に調整することができる。
【００８２】
図２８には区間発生回路（ＩＴＶＧ）７１の別の例が示される。ＣＲ時定数回路７３は抵抗Ｒｔｃと容量Ｃｔｃの直列回路を有し、抵抗Ｒｔｃはクランプ電圧Ｃｖｄｄに接続され、前記容量Ｃｔｃにｎチャンネル型のＭＯＳスイッチＭ３２が並列接続されて構成される。ＭＯＳスイッチＭ３２はカウントアップパルスＦｓｔｒのハイレベルによってオン状態にされ、これによってＣｔｃが放電され、カウントアップパルスＦｓｔｒのローレベルによってオフ状態にされ、容量Ｃｔｃが充電される。時定数回路７３によって得られる充放電電圧はＮｔｍとして図示される。充放電時間を規定する時定数は抵抗Ｔｔｃの値をトリミングすることによって決定される。その他の構成は図２６と同じである。
【００８３】
ＣＲＴＣ７３による充電電圧はクランプ電圧Ｃｖｄｄによって規定され、温度変動及び電源電圧Ｖｃｃ変動に対して安定化されている。抵抗Ｒｔｃ及び容量Ｃｔｃによて規定される時定数も温度や電源電圧Ｖｃｃ変動に依存しない。また判定レベルＶｉｎｔも温度や電源電圧Ｖｃｃ変動に依存しない。従って、図２９に示されるように、時定数回路の充電開始から電圧Ｎｔｍが判定レベルＶｉｎｔに到達する時間Ｔｓは一定となる。Ｆｓｔｒの立下りから検出回路による一致出力（Ｃｓｔｐの立下り）までが一定区間となる。時間Ｔｓは例えば１００ｍｓのような時間とされる。従って図２８の構成についても図２６と同様に、パルスの一定区間Ｔｓを基準に、パルスＦｓｔｒの周期毎に発振回路２３の発振周波数を、目的周波数に一致するように、しかも温度や電源電圧Ｖｃｃの変動に影響されないように、動的に調整することができる。
【００８４】
以上説明した内蔵発振回路モジュールを半導体集積回路に適用することにより、以下の効果を得る。ユーザ任意の内蔵クロック信号を生成できるので、外部に水晶振動子や容量等の部品が必要なくなり、ボード設計も容易になる。
【００８５】
製造プロセスのばらつき、温度変化、電源変動に対して安定な周波数を内部発振にて得ることができる。
【００８６】
周波数サンプリング用の端子は、他の端子とマルチプレクスできるので水晶振動子を用いる場合に比べて外部端子を２本減らすことができる。
【００８７】
半導体集積回路の顧客が発振周波数を設定できるので、顧客による応用システムの設計期間に余裕ができ、また、応用システムの設計に対してもフレキシビリティが向上する。
【００８８】
周波数をマイクロコンピュータの設計段階で作り込む必要がなく、汎用的なマイコン設計ができるので設計コスト等が削減ができる。
【００８９】
振動子用の端子が無いので、ＥＭＳ、ＥＭＩ特性を向上することができる。また、振動子を用いないので、低消費電力化が可能になる。
【００９０】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００９１】
例えば、不揮発性メモリは電気ヒューズであってもよい。図２６のＰＬＳＧ７２は半導体集積回路の外付け回路で構成してもよい。半導体集積回路はマイクロコンピュータに限定されず、ＣＰＵを有するシステムオンチップのＬＳＩなど代表されるように同期動作用にクロック信号を必要とする半導体集積回路に広く適用することができる。基準電圧発生回路はバイポーラトランジスタを用いたバンドギャップ型基準電圧発生回路であってもよい。マイクロコンピュータに代表されるデータ処理ＬＳＩの内蔵回路モジュールは図１に限定されず適宜変更可能である。
【符号の説明】
【００９２】
１  マイクロコンピュータ
２  ＣＰＵ
５  内部発振回路モジュール
６  不揮発性メモリ（不揮発性記憶装置）
６Ａ  不揮発性メモリ
６ｃｄ  所定領域
１３  モード制御回路
２０  制御データレジスタ
２１  ディジタル・アナログ変換回路
２２  バイアス回路
２３  電圧制御発振回路
２４  比較回路
２５  モニタレジスタ
２６  セレクタ
２７  分周回路
２９  クランプ回路
ＶＣＬＫ  内部クロック信号
ＲＣＬＫ  外部クロック信号
３１  サンプリング回路
３２  ラッチ回路
３３  パルスジェネレータ
３５  周波数比較回路
３６  テストホスト
３７  低精度発振回路
４０  比較制御回路
４１  不揮発性レジスタ
４２  アップダウンカウンタ
４５  基準電圧発生回路
４６、４７  ボルテージフォロアアンプ
Ｖｒｅｆ  基準電圧
Ｃｖｄｄ  クランプ電圧
Ｖｂｉａｓ  Ｄ／Ａ変換電圧
ＶＧＰ，ＶＧＮ  制御電圧
５０  ＣＭＯＳインバータ遅延段
５１  リングオシレータ部
５２  レベルシフタ
５３  分周器
６５  論理閾値電圧模擬回路
７０  比較制御回路
７１  区間発生回路
７２  パルス発生回路
７３  ＣＲ時定数回路
７４  検出回路
８０  クロックカウンタ
８１  周波数設定レジスタ
８２  比較回路
【図１】
0004641045.tif 000002
【図２】
0004641045.tif 000003
【図３】
0004641045.tif 000004
【図４】
0004641045.tif 000005
【図５】
0004641045.tif 000006
【図６】
0004641045.tif 000007
【図７】
0004641045.tif 000008
【図８】
0004641045.tif 000009
【図９】
0004641045.tif 000010
【図１０】
0004641045.tif 000011
【図１１】
0004641045.tif 000012
【図１２】
0004641045.tif 000013
【図１３】
0004641045.tif 000014
【図１４】
0004641045.tif 000015
【図１５】
0004641045.tif 000016
【図１６】
0004641045.tif 000017
【図１７】
0004641045.tif 000018
【図１８】
0004641045.tif 000019
【図１９】
0004641045.tif 000020
【図２０】
0004641045.tif 000021
【図２１】
0004641045.tif 000022
【図２２】
0004641045.tif 000023
【図２３】
0004641045.tif 000024
【図２４】
0004641045.tif 000025
【図２５】
0004641045.tif 000026
【図２６】
0004641045.tif 000027
【図２７】
0004641045.tif 000028
【図２８】
0004641045.tif 000029
【図２９】
0004641045.tif 000030