(57)【特許請求の範囲】
【請求項１】
少なくとも1つのCMOS回路と、少なくとも2つのクロック信号発生回路と、タイマカウンタを有する半導体集積回路であって、
第1のクロック発生回路が基準クロック信号の入力後に位相の同期した出力クロック信号を発生するまでに必要な安定時間が、第2のクロック発生回路が基準クロック信号の入力後に位相の同期した出力クロック信号を発生するまでに必要な安定時間よりも長く、
上記第１のクロック発生回路は、位相同期ループ回路であり、
上記第２のクロック発生回路が、ディレー・ロックド・ループ回路であり、
上記半導体集積回路装置は、上記ＣＭＯＳ回路が通常動作を行うアクティブ状態、上記ＣＭＯＳ回路及び上記第２のクロック発生回路を停止し、上記第１のクロック発生回路を動作させるスリープ状態、上記ＣＭＯＳ回路及び上記第１と第２のクロック発生回路を停止させるスタンバイ状態からなる動作状態が用意されており、
上記スタンバイ状態から上記アクティブ状態へ復帰する場合、又は、上記スリープ状態から上記アクティブ状態へ復帰する場合において、上記タイマカウンタが所定周期分の上記出力クロック信号をカウントした後に、上記CMOS回路は上記第1のクロック信号発生回路の出力クロック信号または上記第2のクロック信号発生回路の出力クロック信号または上記基準クロック信号のいずれかが供給され、
上記第1のクロック信号発生回路から上記出力クロック信号を供給することが選択されている場合に、上記タイマカウンタがカウントする周期は、上記スリープ状態から上記アクティブ状態への復帰の際より、上記スタンバイ状態から上記アクティブ状態への復帰の際の方が多いことを特徴とする半導体集積回路装置。
【請求項２】
請求項1に記載の半導体集積回路装置において、上記第1のクロック信号発生回路は基準クロック信号入力後にクロック信号10周期以上で基準クロック信号と位相が同期した出力クロック信号を発生し、上記第2のクロック信号発生回路は上記基準クロック信号入力後にクロック信号10周期未満で基準クロック信号と位相が同期した出力クロック信号を発生することを特徴とする半導体集積回路装置。
【請求項３】
請求項1及び2に記載の半導体集積回路において、上記第1のクロック信号発生回路は上記基準クロック信号と位相の同期及び周波数を逓倍または分周した出力クロック信号を生成し、上記第2のクロック信号発生回路は上記基準クロック信号と位相の同期及び周波数の分周をした出力クロック信号を生成することを特徴とする半導体集積回路装置。
【請求項４】
請求項1乃至3に記載の半導体集積回路装置において、上記CMOS回路は上記第1及び第2のクロック信号発生回路へクロック選択信号を出力し、上記CMOS回路へ供給されるクロック信号は上記クロック選択信号により選択されることを特徴とする半導体集積回路装置。
【請求項５】
請求項1乃至3に記載の半導体集積回路装置において、上記CMOS回路の外部にクロック信号選択端子を有し、上記CMOS回路へ供給されるクロック信号は上記クロック信号選択端子に入力される外部信号により選択されることを特徴とする半導体集積回路装置。
【請求項６】
請求項1乃至3に記載の半導体集積回路装置において、上記CMOS回路は上記第1及び第2のクロック信号発生回路へクロック選択信号を出力し、上記CMOS回路の外部にクロック信号選択端子を有し、上記CMOS回路へ供給されるクロック信号は上記クロック選択信号及び上記クロック信号選択端子に入力される外部信号により選択されることを特徴とする半導体集積回路装置。
【請求項７】
少なくとも1つのCMOS回路と、少なくとも3つのクロック信号発生回路と、タイマカウンタを有する半導体集積回路であって、
第1と第2のクロック発生回路が基準クロック信号の入力後に位相の同期した出力クロック信号を発生するまでに必要な安定時間が、第3のクロック発生回路が基準クロック信号の入力後に位相の同期した出力クロック信号を発生するまでに必要な安定時間よりも長く、
上記第1と第2のクロック発生回路は、位相同期ループ回路であり、
上記第3のクロック発生回路が、ディレー・ロックド・ループ回路であり、
上記半導体集積回路装置は、上記ＣＭＯＳ回路が通常動作を行うアクティブ状態、上記ＣＭＯＳ回路及び上記第3のクロック発生回路を停止し、上記第1と第2のクロック発生回路を動作させるスリープ状態、上記ＣＭＯＳ回路及び上記第1から第3のクロック発生回路を停止させるスタンバイ状態からなる動作状態が用意されているものであって、
上記スタンバイ状態から上記アクティブ状態へ復帰する場合、又は、上記スリープ状態から上記アクティブ状態へ復帰する場合において、上記タイマカウンタが上記出力クロック信号を所定周期分カウントした後に、上記CMOS回路は上記第1のクロック信号発生回路の出力クロック信号または上記基準クロック信号のいずれかが供給され、上記第2と第3のクロック信号発生回路は上記CMOS回路へ供給されたクロック信号を基準の入力クロック信号とし、上記第2のクロック信号発生回路の出力クロック信号または上記第3のクロック信号発生回路の出力信号または上記CMOS回路へ供給されたクロック信号のいずれかを上記CMOS回路の外部へ出力し、
上記第1、又は、第2のクロック信号発生回路から上記出力クロック信号を供給することが選択されている場合に、上記タイマカウンタがカウントする周期は、上記スリープ状態から上記アクティブ状態への復帰の際より、上記スタンバイ状態から上記アクティブ状態への復帰の際の方が多いことを特徴とする半導体集積回路装置。
【請求項８】
請求項7に記載の半導体集積回路装置において、上記第1と第2のクロック信号発生回路は基準クロック信号入力後にクロック信号10周期以上で基準クロック信号と位相が同期した出力クロック信号を発生し、上記第3のクロック信号発生回路は上記基準クロック信号入力後にクロック信号10周期未満で基準クロック信号と位相が同期した出力クロック信号を発生することを特徴とする半導体集積回路装置。
【請求項９】
請求項7及び8に記載の半導体集積回路装置において、上記第1のクロック信号発生回路は上記基準クロック信号と位相の同期及び周波数を逓倍または分周した出力クロック信号を生成し、上記第2及び第3のクロック信号発生回路は上記CMOS回路へ供給されたクロック信号と位相の同期及び周波数の分周をした出力クロック信号を生成することを特徴とする半導体集積回路装置。
【請求項１０】
請求項7及び8に記載の半導体集積回路装置において、上記第1のクロック信号発生回路は上記基準クロック信号と位相の同期及び周波数を逓倍または分周した出力クロック信号を生成し、上記第2のクロック信号発生回路は上記CMOS回路へ供給されたクロック信号と位相の同期及び周波数を逓倍または分周した出力クロック信号を生成し、上記第3のクロック信号発生回路は上記CMOS回路へ供給されたクロック信号と位相の同期及び周波数の分周をした出力クロック信号を生成することを特徴とする半導体集積回路装置。
【請求項１１】
請求項7乃至10に記載の半導体集積回路装置において、上記CMOS回路は上記第1乃至第3のクロック信号発生回路へクロック選択信号を出力し、上記CMOS回路へ供給されるクロック信号及び上記CMOS回路外部へ出力されるクロック信号は上記クロック選択信号により選択されることを特徴とする半導体集積回路装置。
【請求項１２】
請求項7乃至10に記載の半導体集積回路装置において、上記CMOS回路の外部にクロック信号選択端子を有し、上記CMOS回路へ供給されるクロック信号及び上記CMOS回路外部へ出力されるクロック信号は上記クロック信号選択端子に入力される外部信号により選択されることを特徴とする半導体集積回路装置。
【請求項１３】
請求項7乃至10に記載の半導体集積回路装置において、上記CMOS回路は上記第1乃至第3のクロック信号発生回路へクロック選択信号を出力し、上記CMOS回路の外部にクロック信号選択端子を有し、上記CMOS回路へ供給されるクロック信号及び上記CMOS回路外部へ出力されるクロック信号は上記クロック選択信号及び上記クロック信号選択端子に入力される外部信号により選択されることを特徴とする半導体集積回路装置。
【請求項１４】
少なくとも1つのCMOS回路と、少なくとも4つのクロック信号発生回路と、タイマカウンタを有する半導体集積回路であって、
第1と第3のクロック発生回路が基準クロック信号の入力後に位相の同期した出力信号を発生するまでに必要な安定時間が、第2と第4のクロック発生回路が基準クロック信号の入力後に位相の同期した出力信号を発生するまでに必要な安定時間よりも長く、
上記第1と第3のクロック発生回路は、位相同期ループ回路であり、
上記第2と第4のクロック発生回路が、ディレー・ロックド・ループ回路であり、
上記半導体集積回路装置は、上記ＣＭＯＳ回路が通常動作を行うアクティブ状態、上記ＣＭＯＳ回路及び上記第2と第4のクロック発生回路を停止し、上記第1と第3のクロック発生回路を動作させるスリープ状態、上記ＣＭＯＳ回路及び上記第1から第4のクロック発生回路を停止させるスタンバイ状態からなる動作状態が用意されており、
上記スタンバイ状態から上記アクティブ状態へ復帰する場合、又は、上記スリープ状態から上記アクティブ状態へ復帰する場合において、上記タイマカウンタが上記出力クロック信号を所定周期分カウントした後に、上記CMOS回路は上記第1のクロック信号発生回路の出力クロック信号または上記第2のクロック信号発生回路の出力信号または上記基準クロック信号のいずれかが供給され、上記第3と第4のクロック信号発生回路は上記CMOS回路へ供給されたクロック信号を基準の入力クロック信号とし、上記第3のクロック信号発生回路の出力クロック信号または上記第4のクロック信号発生回路の出力信号または上記CMOS回路へ供給されたクロック信号のいずれかを上記CMOS回路の外部へ出力し、
上記第1、又は、第3のクロック信号発生回路から上記出力クロック信号を供給することが選択されている場合に、上記タイマカウンタがカウントする周期は、上記スリープ状態から上記アクティブ状態への復帰の際より、上記スタンバイ状態から上記アクティブ状態への復帰の際の方が多いことを特徴とする半導体集積回路装置。
【請求項１５】
請求項14に記載の半導体集積回路装置において、上記第1と第3のクロック信号発生回路は基準クロック信号入力後にクロック信号10周期以上で基準クロック信号と位相が同期した出力クロック信号を発生し、上記第2と第4のクロック信号発生回路は上記基準クロック信号入力後にクロック信号10周期未満で基準クロック信号と位相が同期した出力クロック信号を発生することを特徴とする半導体集積回路装置。
【請求項１６】
請求項14及び15に記載の半導体集積回路装置において、上記第1のクロック信号発生回路は上記基準クロック信号と位相の同期及び周波数を逓倍または分周した出力クロック信号を生成し、上記第2のクロック信号発生回路は上記基準クロック信号と位相の同期及び周波数の分周をした出力クロック信号を生成し、上記第3及び第4のクロック信号発生回路は上記CMOS回路へ供給されたクロック信号と位相の同期及び周波数の分周をした出力クロック信号を生成することを特徴とする半導体集積回路装置。
【請求項１７】
請求項14及び15に記載の半導体集積回路装置において、上記第1のクロック信号発生回路は上記基準クロック信号と位相の同期及び周波数を逓倍または分周した出力クロック信号を生成し、上記第2のクロック信号発生回路は上記基準クロック信号と位相の同期及び周波数の分周をした出力クロック信号を生成し、上記第3のクロック信号発生回路は上記CMOS回路へ供給されたクロック信号と位相の同期及び周波数を逓倍または分周した出力クロック信号を生成し、上記第4のクロック信号発生回路は上記CMOS回路へ供給されたクロック信号と位相の同期及び周波数の分周をした出力クロック信号を生成することを特徴とする半導体集積回路装置。
【請求項１８】
請求項14乃至17に記載の半導体集積回路装置において、上記CMOS回路は上記第1乃至第4のクロック信号発生回路へクロック選択信号を出力し、上記CMOS回路へ供給されるクロック信号及び上記CMOS回路外部へ出力されるクロック信号は上記クロック選択信号により選択されることを特徴とする半導体集積回路装置。
【請求項１９】
請求項14乃至17に記載の半導体集積回路装置において、上記CMOS回路の外部にクロック信号選択端子を有し、上記CMOS回路へ供給されるクロック信号及び上記CMOS回路外部へ出力されるクロック信号は上記クロック信号選択端子に入力される外部信号により選択されることを特徴とする半導体集積回路装置。
【請求項２０】
請求項14乃至17に記載の半導体集積回路装置において、上記CMOS回路は上記第1乃至第4のクロック信号発生回路へクロック選択信号を出力し、上記CMOS回路の外部にクロック信号選択端子を有し、上記CMOS回路へ供給されるクロック信号及び上記CMOS回路外部へ出力されるクロック信号は上記クロック選択信号及び上記クロック信号選択端子に入力される外部信号により選択されることを特徴とする半導体集積装置。
【請求項２１】
請求項1乃至20に記載の半導体集積回路装置がタイマ回路を有し、上記タイマ回路は上記CMOS回路へ供給されるクロック信号及び上記CMOS回路外部へ出力されるクロック信号の周波数が変化する時に、クロック信号の供給、出力を所定の時間停止させ、また上記タイマ回路は上記CMOS回路の動作状態が変化する時に、クロック信号の供給、出力を所定の時間停止させることを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路に係わり、特に同期クロック信号の発生、分配を行う半導体集積回路装置に関する。
【０００２】
【従来の技術】
CMOS回路を用いたマイクロプロセッサ用LSIでは、内部の各CMOS回路にクロック信号を分配し、クロック信号のタイミングに合わせて動作を行う。一般的に、LSI内部にはクロック信号を発生するための回路として位相同期ループ回路（PLL回路）が組込まれており、LSI外部から水晶発振回路等でクロック信号を発生し、これをLSI内部に入力して、PLL回路が周波数の逓倍や位相同期等を行い、LSIの内部回路にクロック信号を分配する。
【０００３】
PLL回路を用いたマイクロプロセッサの構成例として、平成10年4月に発効された「日立SuperH RISC engine  SH-4ハードウェアマニュアル（SH7750）」第10-1頁から第10-15頁に掲載されているシステムが挙げられる。図28にこの従来例のブロック図を示す。水晶発振回路が生成するクロック信号は、発振回路OSCのxtal端子及びextal端子から入力され、分周回路DIV1で分周されてPLL回路PLL1に伝えられる。PLL回路PLL1では、入力クロック信号の周波数を例えば6倍の周波数の信号に逓倍して出力する。この逓倍されたクロック信号が、分周回路DIV2を経て所望の周波数のクロック信号に形成され、複数のクロック信号としてLSI内部へ分配される。内部へ分配されたクロック信号は、さらにPLL回路PLL2に供給され、ここで位相を同期させ、ckio端子からLSI外部へクロック信号を出力している。
【０００４】
図26にはPLL回路の従来例を示す。入力クロック信号clkinと、クロック出力信号clkoutが分周回路DIV00によって分周された信号が、周波数位相比較回路PFDに入り、2入力信号の周波数差及び位相差を検出する。検出された周波数差、位相差はチャージポンプ回路CP及びローパスフィルタ回路LPFにより制御電圧に変換されて、電圧制御発振回路VCOの制御信号となる。電圧制御発振回路VCOは制御電圧に応じた周波数のクロック信号を出力クロック信号clkoutとして出力し、再び分周回路DIV00を経て周波数位相比較回路PFDへ帰還する。この過程を繰り返すことにより、PLL回路は、入力クロック信号clkinと位相が同期しており、周波数が逓倍された出力クロック信号clkoutを生成する。PLL回路の出力クロック信号が所望の位相と周波数を安定して供給するまでの時間をクロック安定時間という。例えば、1999 IEEEインターナショナル ソリッド・ステート サーキッツ コンファレンス ダイジェスト オブ テクニカル ペーパーズ（1999年2月）第346頁から第347頁に掲載されている例では、PLL回路のクロック安定時間はクロック信号40周期となっている。
【０００５】
【発明が解決しようとする課題】
近年の携帯機器向けマイクロプロセッサを形成するCMOS LSIでは、LSI内部回路が動作しない時に内部へのクロック信号供給を停止する等の手段により、消費電力の削減を図っている。このようなLSIは、例えば3種類の状態を持つ。1つは通常動作を行うアクティブ状態。2つめはクロック発生回路だけを動作させ、内部回路へクロックを供給せずに内部回路を停止するスリープ状態。3つめはLSI内部を全て停止するスタンバイ状態。スタンバイ状態ではクロック発生回路も停止しているため、スタンバイ状態からアクティブ状態へ状態が変化する時には、クロック発生回路が生成するクロック信号が安定するまで、つまりクロック安定時間だけ内部回路の動作を開始することができず、アクティブ状態へ高速な復帰ができない。そこで、スリープ状態では内部回路のみを停止させて、クロック発生回路は動作させている。スリープ状態からアクティブ状態への状態変化時には、クロック信号は安定して供給することができるため、アクティブ状態への復帰が高速になる。しかし、クロック発生回路が動作している分だけスタンバイ状態よりも消費電力が大きい。スタンバイ状態からアクティブ状態への復帰を高速にできない原因は、クロック発生回路を構成するPLL回路のクロック安定時間が、1999 IEEEインターナショナル ソリッド・ステート サーキッツ コンファレンス ダイジェスト オブ テクニカル ペーパーズ（1999年2月）第346頁から第347頁で述べられているようにクロック信号40周期必要とするためである。マイクロプロセッサ内のクロック発生回路に、クロック安定時間2〜3周期と短いクロック発生回路を用いることができれば、スリープ状態中にクロック発生回路の動作を停止しても、アクティブ状態への復帰を高速に行うことが可能となる。
【０００６】
従って、本発明は上記の課題を解決する、クロック安定時間の短いクロック発生回路を有する半導体集積回路装置を提供することにある。
【０００７】
すなわち、本発明は複数のクロック発生回路を有する半導体集積回路装置から構成され、クロック発生回路はクロック安定時間が2〜3周期と短いことにより、半導体集積回路装置の内部CMOS回路を停止した際に同時にクロック発生回路も停止して消費電力を削減し、かつ、内部CMOS回路を停止状態から通常の動作状態へ高速で復帰させることを可能にするものである。
【０００８】
【課題を解決するための手段】
上記課題を解決するために本発明で提示した手段の主なものは以下のようになる。
【０００９】
CMOS LSI回路内部に存在する発振回路は、水晶発振回路、セレクタ回路、分周回路、及び位相同期回路（PLL回路）、ディレー・ロックド・ループ回路（DLL回路）から構成される。
【００１０】
発振回路OSCはLSIの外部から信号を受取る端子を具備し、端子へ入力される信号は水晶発振回路へ入力される。水晶発振回路のクロック信号出力と端子から直接与えられる外部クロック信号がセレクタ回路で選択される。セレクタ回路の出力選択はやはり端子で行われる。クロック信号は次に分周回路で分周される。 クロック信号を直接伝達するか、分周回路の分周出力信号を伝達するかをセレクタ回路で選択する。次にクロック信号はPLL回路及びDLL回路の基準信号として供給され、それぞれ同期クロック信号を生成する。クロック信号を直接伝達するか、 PLL回路の出力クロック信号あるいはDLL回路の出力クロック信号を伝達するか、これらのうち1つの出力信号をセレクタ回路が選択する。最後にクロック信号は、分周回路で分周されて、LSI内部にクロック信号として分配される。最後に分周回路で分周された信号は、複数のセレクタ回路により所望の周波数のクロック信号として得られ、複数の異なる周波数を持つクロック信号がLSI内部に供給される。
【００１１】
本発明の別の実施例によると、 CMOS LSI回路内部に存在する発振回路は、水晶発振回路、セレクタ回路、分周回路、及びPLL回路、 DLL回路から構成され、また、CMOS LSI回路内部に存在するクロック制御回路は、周波数制御レジスタとバスインタフェースから構成される。
【００１２】
発振回路は前述の回路と同様の構成をなす。クロック制御回路はLSI回路内部の内部バスからクロック制御命令を受け、周波数制御信号を出力して発振回路内のセレクタ回路の出力選択を決定し、PLL回路やDLL回路の選択、及び分周回路の分周率を選択する。クロック制御回路では、内部バスからのクロック制御命令をバスインタフェースがデコードし、周波数制御レジスタを書き換える。周波数制御信号は周波数制御レジスタの設定に応じた信号を出力し、発振回路のセレクタ回路を選択する。
【００１３】
本発明の別の実施例によると、CMOS LSI回路内部に存在する発振回路は、水晶発振回路、セレクタ回路、分周回路、及びPLL回路、 DLL回路から構成され、また、CMOS LSI回路内部に存在するクロック制御回路は、周波数制御レジスタから構成される。
【００１４】
発振回路は前述の回路と同様の構成をなす。クロック制御回路はLSI回路外部から信号を受け付ける、少なくとも１つのモード端子を有する。周波数制御レジスタはモード端子の入力信号により決定され、周波数制御レジスタの設定に応じて出力信号を発生し、発振回路のセレクタ回路の出力選択を決定する。
【００１５】
本発明の別の実施例によると、CMOS LSI回路内部に存在する発振回路は、水晶発振回路、セレクタ回路、分周回路、及びPLL回路、 DLL回路から構成される。
【００１６】
発振回路OSCはLSIの外部から信号を受取る端子を具備し、端子へ入力される信号は水晶発振回路へ入力される。水晶発振回路のクロック信号出力と端子から直接与えられる外部クロック信号がセレクタ回路で選択される。セレクタ回路の選択は端子への外部信号入力で行われる。次にクロック信号は分周回路で分周される。 クロック信号を直接伝達するか分周回路の分周出力信号を伝達するか、セレクタ回路で選択する。杉にクロック信号はPLL回路及びDLL回路の基準信号として供給され、それぞれ同期クロック信号を生成する。クロック信号を直接伝達するか、 PLL回路の出力クロック信号あるいはDLL回路の出力クロック信号を伝達するか、どれか1つをセレクタ回路が選択する。ここで選択されたクロック信号は、分周回路で分周されて、LSI内部にクロック信号として分配される。分周回路で分周された信号は、複数のセレクタ回路で所望の周波数のクロック信号として得られ、複数の異なる周波数を持つクロック信号がLSI内部に供給される。LSI内部に供給されるクロック信号の1つがさらに、PLL回路及びDLL回路の基準信号として供給され、それぞれ同期クロック信号を生成する。クロック信号を直接伝達するか、PLL回路の出力クロック信号あるいはDLL回路の出力クロック信号のうち1つの出力信号がセレクタ回路によって選択される。ここで選択されたクロック信号は端子からLSI回路外部へ出力される。
【００１７】
本発明の別の実施例によると、CMOS LSI回路内に発振回路、クロック制御回路及びタイマ回路を有する構成からなる。発振回路は外部からの信号を端子を通して入力し、クロック制御回路から周波数制御信号及びクロックスタンバイ信号を入力し、LSI回路外部へ端子を用いてシステムクロック信号を出力し、LSI回路内部へ1つ以上のクロック信号を出力する。クロック制御回路は1つ以上のモード端子を有し外部からのモード制御信号を入力し、LSI回路内部から割込み信号、リセット信号、スタンバイイネーブル信号を入力し、内部バスから制御命令を受け取り、タイマ回路からスタンバイキャンセル信号を入力し、発振回路とタイマ回路へ周波数制御信号及びクロックスタンバイ信号を出力する。タイマ回路は内部バスから制御命令を受け取り、発振回路からクロック信号を入力し、クロック制御回路から周波数制御信号及びクロックスタンバイ信号を入力し、LSI回路内部へとクロック制御回路へスタンバイキャンセル信号を出力する。
【００１８】
【発明の実施の形態】
以下、図を参照して本発明の実施例を説明する。
【００１９】
図1は、本発明の実施例を示す図である。
【００２０】
CMOS LSI回路内部に存在する発振回路OSCは、水晶発振回路CRYSTAL、セレクタ回路SEL1、SEL2、SEL3、SEL4、SEL5、SEL6、分周回路DIV1、DIV2、及び位相同期回路（PLL回路）PLL1、ディレー・ロックド・ループ回路（DLL回路）DLL1から構成される。
【００２１】
LSI外部から信号を受取る端子としてxtal、extal、mod8端子が発振回路OSCに存在し、xtalとextalは水晶発振回路CRYSTALへ入力される。水晶発振回路CRYSTALのクロック信号出力とextal端子からの信号がセレクタ回路SEL1で選択され、クロック信号clk11が出力される。セレクタ回路SEL1の選択はmod8端子で行われる。クロック信号clk11は分周回路DIV1で分周される。 クロック信号clk11と分周回路DIV1の分周出力信号がセレクタ回路SEL2で選択されてクロック信号clk12を出力する。クロック信号clk12はPLL回路PLL1及びDLL回路DLL1の基準信号として供給され、それぞれ同期クロック信号を生成する。クロック信号clk12、 PLL回路PLL1の出力クロック信号、DLL回路DLL1の出力クロック信号のうち1つの出力信号をセレクタ回路SEL3が選択する。ここで選択されたクロック信号が、分周回路DIV2で分周されて、LSI内部にクロック信号として分配される。分周回路DIV2で分周された信号は、複数のセレクタ回路SEL4、SEL5、SEL6で所望の周波数のクロック信号として得られ、クロック信号clk1、clk2、clk3等の複数の周波数を持つクロック信号がLSI内部に供給される。
【００２２】
LSI外部からの基準クロックとして水晶発振子が用いられる場合、水晶発振子からの出力信号はxtal端子及びextal端子に与えられ、水晶発振回路CRYSTALによって波形整形される。また、外部から直接クロック信号を供給する場合は、extal端子から信号を供給する。水晶発振子による信号と、外部クロック信号との選択は、選択回路SEL1で行われる。選択回路SEL1の制御は、モード端子mod8で行われる。例えば、mod8端子がHigh（1）の時、水晶発振子の信号が基準信号として発振回路OSCに取込まれ、またmod8端子がLow（0）の時に外部クロック信号が基準信号として発振回路OSCに取込まれる。2種類の入力信号をモード端子mod8を用いて自由に切り替えることができる。セレクタ回路SEL1で選択されたクロック信号clk11は分周回路DIV1でクロック周波数を分周される。セレクタ回路SEL2は、クロック信号clk11を直接伝えるか、分周して伝えるかを選択する。セレクタ回路SEL2が選択したクロック信号clk12は、PLL回路PLL1及びDLL回路DLL1へ基準信号として供給される。PLL回路は基準クロックの周波数を逓倍したクロック信号を出力することができるが、クロックの周波数及び位相が所望の値に安定するまでにかかるクロック安定時間に、入力クロック信号の40周期以上を必要とする。DLL回路は基準クロックに対して同じ周波数のクロック信号を位相を同期させて出力することができるが、周波数の逓倍はできない。また、DLL回路はクロック安定時間に、入力クロック信号の2〜3周期程度しか必要としない。PLL、DLL回路の実施例を図26、図27に示す。それぞれの動作については、後程説明する。セレクタ回路SEL3は、クロック信号clk12をクロック発生回路を介さずに直接伝えるか、PLL回路PLL1の出力クロック信号またはDLL回路DLL1の出力クロック信号のうち、1つのクロック信号を選択してクロック信号clk13を出力する。位相の誤差が問題とならず、外部のクロック信号入力をそのままLSI内部に供給する場合には、セレクタ回路SEL3は信号を直接伝達する。外部のクロック信号入力を逓倍してLSI内部に供給する場合には、PLL回路PLL1の出力信号を選択する。外部のクロック信号に対して逓倍を行わず分周信号だけをLSI内部に供給する場合には、DLL回路DLL1の出力信号を選択する。クロック信号clk13はさらに分周回路DIV2で周波数を分周され、セレクタ回路SEL4、SEL5、SEL6等により所望の周波数を選択されて複数のクロック信号clk1、clk2、clk3をLSI内部に供給する。分周回路DIV1、DIV2とセレクタ回路SEL2、SEL4、SEL5、SEL6の組合せにより、多種類の周波数を持つクロック信号を生成してLSI内部に分配することが可能となる。
【００２３】
発振回路OSCを含むCMOS LSI回路が、PLL回路PLL1を用いてクロック信号をLSI内部へ供給している場合、LSI内部回路の動作状態を3種類用意して、消費電力を節約する。第1の状態は、通常動作を行うアクティブ状態。第2の状態は、LSI内部回路を停止し、PLL回路は動作させるスリープ状態。第3の状態はLSI内部回路もPLL回路もともに停止させるスタンバイ状態。スリープ状態では内部回路へはクロック信号を供給しないので、消費電力を削減でき、スタンバイ状態ではPLL回路も動作を停止するのでさらに消費電力を低減できる。内部回路がスタンバイ状態からアクティブ状態に復帰する場合、PLL回路は停止状態から動作を開始し、クロック安定時間を経過した後にクロック信号を内部回路に供給する。前述したように、PLLのクロック安定時間にはクロック信号40周期以上と、長時間を必要とする。そこで、アクティブ状態からの復帰を早めるためにPLL回路PLL1だけは動作させ、内部回路を停止するスリープ状態が用意されている。LSIの利用者は、オペレーティングシステム（OS）や、アプリケーションソフトウェアを用いてLSIの動作状態を必要に応じて制御する。
【００２４】
発振回路OSCを含むCMOS LSI回路が、DLL回路DLL1を用いてクロック信号をLSI内部へ供給している場合には、LSI内部回路の動作状態は2種類でよい。DLL回路はクロックの安定時間が2〜3周期と短いため、停止状態から動作を開始しクロック信号を内部回路に供給することを高速に行える。従って、前述のスリープ状態でもDLL回路を停止させることができ、スリープ状態でもスタンバイ状態でもDLL回路及びLSI内部回路を停止することができる。このため、PLL回路を用いた場合よりも消費電力を低減することが可能となる。また、LSI回路の起動時に、安定したクロック信号を早くLSI内に分配できる。
【００２５】
図26は、PLL回路の実施例を示す図である。
【００２６】
PLL回路は周波数位相比較回路PFD、チャージポンプ回路CP、ローパスフィルタ回路LPF、電圧制御発振回路VCO、分周回路DIV00から構成される。周波数位相比較回路PFDは、入力クロック信号clkinを基準信号として、clkinとクロック信号の帰還信号clk261を入力し、両クロック信号の周波数差、位相差に応じて信号を発生する。周波数位相比較回路PFDの出力は、チャージポンプ回路CPとローパスフィルタ回路LPFにより、定電圧出力に変換される。電圧制御発振回路VCOは、ローパスフィルタから出力される定電圧の電圧値に応じた周波数のクロック信号をclkoutとして出力する。クロック信号出力clkoutは分周回路DIV00で周波数を分周され、帰還信号clk261として再び周波数位相比較回路PFDへ入力される。以上のプロセスを繰り返すことで、PLL回路は入力クロック信号clkinと帰還信号clk261の周波数及び位相を同期させる。従って、分周回路DIV00の周波数分周が1/Nの場合、出力クロック信号clkoutの周波数は入力クロック信号clkinのN倍となり、N倍の周波数逓倍ができる。以上説明したように、PLL回路は入力クロック信号の周波数を逓倍して出力クロック信号を生成することが可能であるが、周波数や位相が同期し、安定したクロック信号を供給できるようになるまでのクロック安定時間に、クロック信号40周期以上の時間を必要とする。
【００２７】
図27は、DLL回路の実施例を示す図である。
【００２８】
DLL回路は、遅延制御回路列DCL、制御信号記憶回路REG、タイミング制御回路MCC、フォワード遅延回路列FDA、分周回路DIV01から構成される。クロック信号の周期Tinの入力信号clkinは、遅延制御回路列DCLを経由して遅延時間Tdcl遅れてクロック信号dclkを出力する。クロック信号dclkはさらにクロックドライバ回路DRVを経て遅延時間Tdrv遅れて出力クロック信号clkoutとなる。従って、出力クロック信号clkoutと入力クロック信号clkinの遅延時間はTdcl+Tdrvとなる。出力クロック信号clkoutはフォワード遅延回路列FDAに入力される。フォワード遅延回路列FDAは複数の出力を有し、出力クロック信号clkoutを少しずつ遅延させたクロック信号を出力する。クロック信号dclkとクロック出力信号clkoutの遅延時間はTdrvに等しい。タイミング制御回路MCCは、クロック信号dclkとフォワード遅延回路列の遅延クロック信号出力との遅延時間がTfda=Tin-Tdrvとなる、フォワード遅延回路列の出力位置を検出する。制御信号記憶回路REGはタイミング制御回路MCCの検出位置を記憶し、遅延制御回路列DCLの遅延時間を選択する。遅延制御回路列DCLが選択する遅延時間は、Tdcl=Tfdaとなっている。結局、出力クロック信号clkoutと入力クロック信号clkinとの遅延時間はTdcl+Tdrv=Tfda+Tdrv=(Tin-Tdrv)+Tdrv=Tinとなり、ちょうどクロック信号1周期遅延した信号が出力されることになる。このようにして、DLL回路は入力クロック信号と位相が同期したクロック信号を出力する。DLL回路は、クロック信号を入力した後1周期で遅延位置を決定し、1周期遅れて位相が同期したクロック信号を出力する。従って入力信号が挿入された後2周期目で位相の同期を行い、3周期目から同期信号を出力する。この場合、DLL回路のクロック安定時間は3周期と短くなる。ただし、DLL回路はPLL回路のように周波数を逓倍して出力することはできない。
【００２９】
図2は、本発明の別の実施例を示す図である。
【００３０】
CMOS LSI回路内部に存在する発振回路OSCは、水晶発振回路CRYSTAL、セレクタ回路SEL1、SEL2、SEL3、SEL4、SEL5、SEL6、分周回路DIV1、DIV2、及び位相同期回路（PLL回路）PLL1、ディレー・ロックド・ループ回路（DLL回路）DLL1から構成される。同様にCMOS LSI回路内部に存在するクロック制御回路CPGCNTは、周波数制御レジスタFRQCRとバスインタフェースBUSIFから構成される。
【００３１】
発振回路OSCは図1の発振回路OSCと同様の動作をする。クロック制御回路CPGCNTはLSI回路内部の内部バスINBUSからクロック制御命令を受け、周波数制御信号frqsigを出力して発振回路OSC内のセレクタ回路SEL2、SEL3、SEL4、SEL5及びSEL6の選択を決定し、PLL回路PLL1やDLL回路DLL1の選択、及び分周回路の分周率を選択する。クロック制御回路CPGCNTでは、内部バスINBUSからのクロック制御命令をバスインタフェースBUSIFがデコードし、周波数制御レジスタFRQCRを書き換える。周波数制御信号frqsigは周波数制御レジスタFRQCRの設定に応じた信号を出力し、発振回路OSCのセレクタ回路を選択する。このように構成することで、オペレーティングシステムやアプリケーションソフトを用いてCMOS LSI回路内の内部バスINBUSに命令を送り、発振回路OSC内のクロック発生回路PLL1やDLL1を選択したり、LSI内部に分配するクロック信号の周波数を決定することができる。
【００３２】
図3は、本発明の別の実施例を示す図である。
【００３３】
CMOS LSI回路内部に存在する発振回路OSCは、水晶発振回路CRYSTAL、セレクタ回路SEL1、SEL2、SEL3、SEL4、SEL5、SEL6、分周回路DIV1、DIV2、及び位相同期回路（PLL回路）PLL1、ディレー・ロックド・ループ回路（DLL回路）DLL1から構成される。同様にCMOS LSI回路内部に存在するクロック制御回路CPGCNTは、周波数制御レジスタFRQCから構成される。
【００３４】
発振回路OSCは図1の発振回路OSCと同様の動作をする。クロック制御回路CPGCNTはLSI回路外部から信号を受け付ける、少なくとも１つのモード端子mod0、mod1、mod2等を有する。周波数制御レジスタFRQCRはモード端子の入力信号により決定され、周波数制御レジスタFRQCRの設定に応じて出力信号frqsigを発生し、発振回路OSCのセレクタ回路の出力選択を決定する。この構成では、外部からのモード端子への制御信号によって、発振回路OSC内のクロック発生回路PLL1やDLL1を選択したり、LSI内部に分配するクロック信号の周波数を決定することができる。
【００３５】
図4は、本発明の別の実施例を示す図である。
【００３６】
CMOS LSI回路内部に存在する発振回路OSCは、水晶発振回路CRYSTAL、セレクタ回路SEL1、SEL2、SEL3、SEL4、SEL5、SEL6、分周回路DIV1、DIV2、及び位相同期回路（PLL回路）PLL1、ディレー・ロックド・ループ回路（DLL回路）DLL1から構成される。同様にCMOS LSI回路内部に存在するクロック制御回路CPGCNTは、周波数制御レジスタFRQCRとバスインタフェースBUSIFから構成される。
【００３７】
発振回路OSCは図1の発振回路OSCと同様の動作をする。クロック制御回路CPGCNTはLSI回路内部の内部バスINBUSからクロック制御命令を受けるとともに、モード端子mod0、mod1、mod2等から制御信号を入力し、周波数制御信号frqsigを出力して発振回路OSC内のセレクタ回路SEL2、SEL3、SEL4、SEL5及びSEL6の選択を決定し、PLL回路PLL1やDLL回路DLL1の選択、及び分周回路の分周率を選択する。クロック制御回路CPGCNTでは、内部バスINBUSからのクロック制御命令をバスインタフェースBUSIFがデコードし、周波数制御レジスタFRQCRを書き換える。あるいはモード端子mod0、mod1、mod2等から制御信号を入力し、周波数制御レジスタFRQCRを書き換える。周波数制御信号frqsigは周波数制御レジスタFRQCRの設定に応じた信号を出力し、発振回路OSCのセレクタ回路を選択する。このように構成することで、外部からのモード端子への制御信号と、オペレーティングシステムやアプリケーションソフトを用いてCMOS LSI回路内の内部バスINBUSに命令を送ることで、発振回路OSC内のクロック発生回路PLL1やDLL1を選択したり、LSI内部に分配するクロック信号の周波数を決定することができる。モード端子の制御信号が周波数レジスタFRQCRを書き換えるのは、CMOS LSI回路が起動する時だけ行い、それ以外は内部バスからの制御命令で書き換わるようにしてもよい。
【００３８】
図5は、本発明の別の実施例を示す図である。
【００３９】
CMOS LSI回路内部に存在する発振回路OSCは、水晶発振回路CRYSTAL、セレクタ回路SEL1、SEL2、SEL3、SEL4、SEL5、SEL6、SEL7、分周回路DIV1、DIV2、及び位相同期回路（PLL回路）PLL1、PLL2、ディレー・ロックド・ループ回路（DLL回路）DLL2から構成される。
【００４０】
LSI外部から信号を受取る端子としてxtal、extal、mod8端子が発振回路OSCに存在し、xtalとextalは水晶発振回路CRYSTALへ入力される。水晶発振回路CRYSTALのクロック信号出力とextal端子からの信号がセレクタ回路SEL1で選択され、クロック信号clk11が出力される。セレクタ回路SEL1の選択はmod8端子で行われる。クロック信号clk11は分周回路DIV1で分周される。 クロック信号clk11と分周回路DIV1の分周出力信号がセレクタ回路SEL2で選択されてクロック信号clk12を出力する。クロック信号clk12はPLL回路PLL1の基準信号として供給され、それぞれ同期クロック信号を生成する。クロック信号clk12、 PLL回路PLL1の出力クロック信号のうち1つの出力信号をセレクタ回路SEL3が選択する。ここで選択されたクロック信号が、分周回路DIV2で分周されて、LSI内部にクロック信号として分配される。分周回路DIV2で分周された信号は、複数のセレクタ回路SEL4、SEL5、SEL6で所望の周波数のクロック信号として得られ、クロック信号clk1、clk2、clk3等の複数の周波数を持つクロック信号がLSI内部に供給される。LSI内部に供給されるクロック信号の1つ、例えばclk3がPLL回路PLL2及びDLL回路DLL2の基準信号として供給され、それぞれ同期クロック信号を生成する。クロック信号clk3、PLL回路PLL2の出力クロック信号、DLL回路DLL2の出力クロック信号のうち1つの出力信号をセレクタ回路SEL7が選択する。ここで選択されたクロック信号はckio端子からLSI回路外部へ出力される。
【００４１】
LSI外部からの基準クロックとして水晶発振子が用いられる場合、水晶発振子からの出力信号はxtal端子及びextal端子に与えられ、水晶発振回路CRYSTALによって波形整形される。また、外部から直接クロック信号を供給する場合は、extal端子から信号を供給する。水晶発振子による信号と、外部クロック信号との選択は、選択回路SEL1で行われる。選択回路SEL1の制御は、モード端子mod8で行われる。例えば、mod8端子がHigh（1）の時、水晶発振子の信号が基準信号として発振回路OSCに取込まれ、またmod8端子がLow（0）の時に外部クロック信号が基準信号として発振回路OSCに取込まれる。2種類の入力信号をモード端子mod8を用いて自由に切り替えることができる。セレクタ回路SEL1で選択されたクロック信号clk11は分周回路DIV1でクロック周波数を分周される。セレクタ回路SEL2は、クロック信号clk11を直接伝えるか、分周して伝えるかを選択する。セレクタ回路SEL2が選択したクロック信号clk12は、PLL回路PLL1へ基準信号として供給される。セレクタ回路SEL3は、クロック信号clk12をクロック発生回路を介さずに直接伝えるか、PLL回路PLL1の出力クロック信号か、どちらか1つのクロック信号を選択してクロック信号clk13を出力する。位相の誤差が問題とならず、外部のクロック信号入力をそのままLSI内部に供給する場合には、セレクタ回路SEL3は信号を直接伝達する。外部のクロック信号入力を逓倍してLSI内部に供給する場合には、PLL回路PLL1の出力信号を選択する。クロック信号clk13はさらに分周回路DIV2で周波数を分周され、セレクタ回路SEL4、SEL5、SEL6等により所望の周波数を選択されて複数のクロック信号clk1、clk2、clk3をLSI内部に供給する。分周回路DIV1、DIV2とセレクタ回路SEL2、SEL4、SEL5、SEL6の組合せにより、多種類の周波数を持つクロック信号を生成してLSI内部に分配することが可能となる。LSI内部に分配されるクロック信号のうちの1つ、例えばclk3は、PLL回路PLL2及びDLL回路DLL2へ基準信号として供給される。セレクタ回路SEL7は、クロック信号clk3をクロック発生回路を介さずに直接伝えるか、PLL回路PLL2の出力クロック信号またはDLL回路DLL2の出力クロック信号のうち、1つのクロック信号を選択してクロック信号をckio端子へ出力する。位相の誤差が問題とならず、LSI内部に分配されているクロック信号をそのままLSI外部に供給する場合には、セレクタ回路SEL7は信号を直接伝達する。LSI内部に分配されるクロック信号を逓倍してLSI外部に供給する場合には、PLL回路PLL2の出力信号を選択する。LSI内部に分配されるクロック信号に対して逓倍を行わずLSI外部に供給する場合には、DLL回路DLL2の出力信号を選択する。ckio端子から出力されるクロック信号は、概CMOS LSIで構成されるマイクロプロセッサを中心とするシステムにおいて、システムクロックとして供給される。
【００４２】
発振回路OSCを含むCMOS LSI回路が、PLL回路PLL1あるいはPLL2を用いてクロック信号を生成している場合、LSI内部回路の動作状態を3種類用意して、消費電力を節約する。第1の状態は、通常動作を行うアクティブ状態。第2の状態は、LSI内部回路を停止し、PLL回路は動作させるスリープ状態。第3の状態はLSI内部回路もPLL回路もともに停止させるスタンバイ状態。スリープ状態では内部回路へはクロック信号を供給しないので、消費電力を削減でき、スタンバイ状態ではPLL回路も動作を停止するのでさらに消費電力を低減できる。内部回路がスタンバイ状態からアクティブ状態に復帰する場合、PLL回路は停止状態から動作を開始し、クロック安定時間を経過した後にクロック信号を内部回路に供給する。前述したように、PLLのクロック安定時間にはクロック信号40周期以上と、長時間を必要とする。そこで、アクティブ状態からの復帰を早めるためにPLL回路PLL1やPLL2だけは動作させ、内部回路を停止するスリープ状態が用意されている。LSIの利用者は、オペレーティングシステム（OS）や、アプリケーションソフトウェアを用いてLSIの動作状態を必要に応じて制御する。
【００４３】
発振回路OSCを含むCMOS LSI回路が、DLL回路DLL2を用いてクロック信号を生成している場合には、LSI内部回路の動作状態は2種類でよい。DLL回路はクロックの安定時間が2〜3周期と短いため、停止状態から動作を開始しクロック信号を内部回路に供給することを高速に行える。従って、前述のスリープ状態でもDLL回路を停止させることができ、スリープ状態でもスタンバイ状態でもDLL回路及びLSI内部回路を停止することができる。このため、PLL回路を用いた場合よりも消費電力を低減することが可能となる。また、LSI回路の起動時に、安定したクロック信号を早くLSI内に分配できる。
【００４４】
発振回路OSCを含むCMOS LSI回路が、PLL回路とDLL回路を用いてクロック信号を生成している場合、例えばPLL1とDLL2が用いられるような場合には、LSI内部回路の動作状態は3種類必要となる。スタンバイ時には、内部回路とともにPLL回路もDLL回路も停止するが、アクティブ状態へ復帰する際には、PLL回路が安定動作するまでのクロック安定時間が必要となる。スリープ状態では、PLL回路だけを動作させ、DLL回路と内部回路を停止することができる。この場合は、アクティブ状態への復帰を高速にできる。
【００４５】
図6は、本発明の別の実施例を示す図である。
【００４６】
CMOS LSI回路内部に存在する発振回路OSCは、水晶発振回路CRYSTAL、セレクタ回路SEL1、SEL2、SEL3、SEL4、SEL5、SEL6、SEL7、分周回路DIV1、DIV2、及び位相同期回路（PLL回路）PLL1、PLL2、ディレー・ロックド・ループ回路（DLL回路）DLL2から構成される。同様にCMOS LSI回路内部に存在するクロック制御回路CPGCNTは、周波数制御レジスタFRQCRとバスインタフェースBUSIFから構成される。
【００４７】
発振回路OSCは図5の発振回路OSCと同様の動作をする。クロック制御回路CPGCNTはLSI回路内部の内部バスINBUSからクロック制御命令を受け、周波数制御信号frqsigを出力して発振回路OSC内のセレクタ回路SEL2、SEL3、SEL4、SEL5、SEL6及びSEL7の選択を決定し、PLL回路PLL1、PLL2やDLL回路DLL2の選択、及び分周回路の分周率を選択する。クロック制御回路CPGCNTでは、内部バスINBUSからのクロック制御命令をバスインタフェースBUSIFがデコードし、周波数制御レジスタFRQCRを書き換える。周波数制御信号frqsigは周波数制御レジスタFRQCRの設定に応じた信号を出力し、発振回路OSCのセレクタ回路を選択する。このように構成することで、オペレーティングシステムやアプリケーションソフトを用いてCMOS LSI回路内の内部バスINBUSに命令を送り、発振回路OSC内のクロック発生回路PLL1、PLL2やDLL2を選択したり、LSI内部に分配するクロック信号の周波数を決定することができる。
【００４８】
図7は、本発明の別の実施例を示す図である。
【００４９】
CMOS LSI回路内部に存在する発振回路OSCは、水晶発振回路CRYSTAL、セレクタ回路SEL1、SEL2、SEL3、SEL4、SEL5、SEL6、SEL7、分周回路DIV1、DIV2、及び位相同期回路（PLL回路）PLL1、PLL2、ディレー・ロックド・ループ回路（DLL回路）DLL2から構成される。同様にCMOS LSI回路内部に存在するクロック制御回路CPGCNTは、周波数制御レジスタFRQCから構成される。
【００５０】
発振回路OSCは図5の発振回路OSCと同様の動作をする。クロック制御回路CPGCNTはLSI回路外部から信号を受け付ける、少なくとも１つのモード端子mod0、mod1、mod2等を有する。周波数制御レジスタFRQCRはモード端子の入力信号により決定され、周波数制御レジスタFRQCRの設定に応じて出力信号frqsigを発生し、発振回路OSCのセレクタ回路の出力選択を決定する。この構成では、外部からのモード端子への制御信号によって、発振回路OSC内のクロック発生回路PLL1、PLL2やDLL2を選択したり、LSI内部に分配するクロック信号の周波数を決定することができる。
【００５１】
図8は、本発明の別の実施例を示す図である。
【００５２】
CMOS LSI回路内部に存在する発振回路OSCは、水晶発振回路CRYSTAL、セレクタ回路SEL1、SEL2、SEL3、SEL4、SEL5、SEL6、SEL7、分周回路DIV1、DIV2、及び位相同期回路（PLL回路）PLL1、PLL2、ディレー・ロックド・ループ回路（DLL回路）DLL2から構成される。同様にCMOS LSI回路内部に存在するクロック制御回路CPGCNTは、周波数制御レジスタFRQCRとバスインタフェースBUSIFから構成される。
【００５３】
発振回路OSCは図5の発振回路OSCと同様の動作をする。クロック制御回路CPGCNTはLSI回路内部の内部バスINBUSからクロック制御命令を受けるとともに、モード端子mod0、mod1、mod2等から制御信号を入力し、周波数制御信号frqsigを出力して発振回路OSC内のセレクタ回路SEL2、SEL3、SEL4、SEL5、SEL6及びSEL7の選択を決定し、PLL回路PLL1、PLL2やDLL回路DLL2の選択、及び分周回路の分周率を選択する。クロック制御回路CPGCNTでは、内部バスINBUSからのクロック制御命令をバスインタフェースBUSIFがデコードし、周波数制御レジスタFRQCRを書き換える。あるいはモード端子mod0、mod1、mod2等から制御信号を入力し、周波数制御レジスタFRQCRを書き換える。周波数制御信号frqsigは周波数制御レジスタFRQCRの設定に応じた信号を出力し、発振回路OSCのセレクタ回路を選択する。このように構成することで、外部からのモード端子への制御信号と、オペレーティングシステムやアプリケーションソフトを用いてCMOS LSI回路内の内部バスINBUSに命令を送ることで、発振回路OSC内のクロック発生回路PLL1、PLL2やDLL2を選択したり、LSI内部に分配するクロック信号の周波数を決定することができる。モード端子の制御信号が周波数レジスタFRQCRを書き換えるのは、CMOS LSI回路が起動する時だけ行い、それ以外は内部バスからの制御命令で書き換わるようにしてもよい。
【００５４】
図9は、本発明の別の実施例を示す図である。
【００５５】
CMOS LSI回路内部に存在する発振回路OSCは、水晶発振回路CRYSTAL、セレクタ回路SEL1、SEL2、SEL3、SEL4、SEL5、SEL6、SEL7、分周回路DIV1、DIV2、及び位相同期回路（PLL回路）PLL1、PLL2、ディレー・ロックド・ループ回路（DLL回路）DLL1、DLL2から構成される。
【００５６】
LSI外部から信号を受取る端子としてxtal、extal、mod8端子が発振回路OSCに存在し、xtalとextalは水晶発振回路CRYSTALへ入力される。水晶発振回路CRYSTALのクロック信号出力とextal端子からの信号がセレクタ回路SEL1で選択され、クロック信号clk11が出力される。セレクタ回路SEL1の選択はmod8端子で行われる。クロック信号clk11は分周回路DIV1で分周される。 クロック信号clk11と分周回路DIV1の分周出力信号がセレクタ回路SEL2で選択されてクロック信号clk12を出力する。クロック信号clk12はPLL回路PLL1及びDLL回路DLL1の基準信号として供給され、それぞれ同期クロック信号を生成する。クロック信号clk12、 PLL回路PLL1の出力クロック信号、DLL回路DLL1の出力クロック信号のうち1つの出力信号をセレクタ回路SEL3が選択する。ここで選択されたクロック信号が、分周回路DIV2で分周されて、LSI内部にクロック信号として分配される。分周回路DIV2で分周された信号は、複数のセレクタ回路SEL4、SEL5、SEL6で所望の周波数のクロック信号として得られ、クロック信号clk1、clk2、clk3等の複数の周波数を持つクロック信号がLSI内部に供給される。LSI内部に供給されるクロック信号の1つ、例えばclk3がPLL回路PLL2及びDLL回路DLL2の基準信号として供給され、それぞれ同期クロック信号を生成する。クロック信号clk3、PLL回路PLL2の出力クロック信号、DLL回路DLL2の出力クロック信号のうち1つの出力信号をセレクタ回路SEL7が選択する。ここで選択されたクロック信号はckio端子からLSI回路外部へ出力される。
【００５７】
LSI外部からの基準クロックとして水晶発振子が用いられる場合、水晶発振子からの出力信号はxtal端子及びextal端子に与えられ、水晶発振回路CRYSTALによって波形整形される。また、外部から直接クロック信号を供給する場合は、extal端子から信号を供給する。水晶発振子による信号と、外部クロック信号との選択は、選択回路SEL1で行われる。選択回路SEL1の制御は、モード端子mod8で行われる。例えば、mod8端子がHigh（1）の時、水晶発振子の信号が基準信号として発振回路OSCに取込まれ、またmod8端子がLow（0）の時に外部クロック信号が基準信号として発振回路OSCに取込まれる。2種類の入力信号をモード端子mod8を用いて自由に切り替えることができる。セレクタ回路SEL1で選択されたクロック信号clk11は分周回路DIV1でクロック周波数を分周される。セレクタ回路SEL2は、クロック信号clk11を直接伝えるか、分周して伝えるかを選択する。セレクタ回路SEL2が選択したクロック信号clk12は、PLL回路PLL1及びDLL回路DLL1へ基準信号として供給される。PLL回路は基準クロックの周波数を逓倍したクロック信号を出力することができるが、クロックの周波数及び位相が所望の値に安定するまでにかかるクロック安定時間に、入力クロック信号の40周期以上を必要とする。DLL回路は基準クロックに対して同じ周波数のクロック信号を位相を同期させて出力することができるが、周波数の逓倍はできない。また、DLL回路はクロック安定時間に、入力クロック信号の2〜3周期程度しか必要としない。セレクタ回路SEL3は、クロック信号clk12をクロック発生回路を介さずに直接伝えるか、PLL回路PLL1の出力クロック信号またはDLL回路DLL1の出力クロック信号のうち、1つのクロック信号を選択してクロック信号clk13を出力する。位相の誤差が問題とならず、外部のクロック信号入力をそのままLSI内部に供給する場合には、セレクタ回路SEL3は信号を直接伝達する。外部のクロック信号入力を逓倍してLSI内部に供給する場合には、PLL回路PLL1の出力信号を選択する。外部のクロック信号に対して逓倍を行わず分周信号だけをLSI内部に供給する場合には、DLL回路DLL1の出力信号を選択する。クロック信号clk13はさらに分周回路DIV2で周波数を分周され、セレクタ回路SEL4、SEL5、SEL6等により所望の周波数を選択されて複数のクロック信号clk1、clk2、clk3をLSI内部に供給する。分周回路DIV1、DIV2とセレクタ回路SEL2、SEL4、SEL5、SEL6の組合せにより、多種類の周波数を持つクロック信号を生成してLSI内部に分配することが可能となる。LSI内部に分配されるクロック信号のうちの1つ、例えばclk3は、PLL回路PLL2及びDLL回路DLL2へ基準信号として供給される。セレクタ回路SEL7は、クロック信号clk3をクロック発生回路を介さずに直接伝えるか、PLL回路PLL2の出力クロック信号またはDLL回路DLL2の出力クロック信号のうち、1つのクロック信号を選択してクロック信号をckio端子へ出力する。位相の誤差が問題とならず、LSI内部に分配されているクロック信号をそのままLSI外部に供給する場合には、セレクタ回路SEL7は信号を直接伝達する。LSI内部に分配されるクロック信号を逓倍してLSI外部に供給する場合には、PLL回路PLL2の出力信号を選択する。LSI内部に分配されるクロック信号に対して逓倍を行わずLSI外部に供給する場合には、DLL回路DLL2の出力信号を選択する。ckio端子から出力されるクロック信号は、概CMOS LSIで構成されるマイクロプロセッサを中心とするシステムにおいて、システムクロックとして供給される。
【００５８】
発振回路OSCを含むCMOS LSI回路が、PLL回路PLL1あるいはPLL2を用いてクロック信号を生成している場合、LSI内部回路の動作状態を3種類用意して、消費電力を節約する。第1の状態は、通常動作を行うアクティブ状態。第2の状態は、LSI内部回路を停止し、PLL回路は動作させるスリープ状態。第3の状態はLSI内部回路もPLL回路もともに停止させるスタンバイ状態。スリープ状態では内部回路へはクロック信号を供給しないので、消費電力を削減でき、スタンバイ状態ではPLL回路も動作を停止するのでさらに消費電力を低減できる。内部回路がスタンバイ状態からアクティブ状態に復帰する場合、PLL回路は停止状態から動作を開始し、クロック安定時間を経過した後にクロック信号を内部回路に供給する。前述したように、PLLのクロック安定時間にはクロック信号40周期以上と、長時間を必要とする。そこで、アクティブ状態からの復帰を早めるためにPLL回路PLL1やPLL2だけは動作させ、内部回路を停止するスリープ状態が用意されている。LSIの利用者は、オペレーティングシステム（OS）や、アプリケーションソフトウェアを用いてLSIの動作状態を必要に応じて制御する。
【００５９】
発振回路OSCを含むCMOS LSI回路が、DLL回路DLL1あるいはDLL2を用いてクロック信号を生成している場合には、LSI内部回路の動作状態は2種類でよい。DLL回路はクロックの安定時間が2〜3周期と短いため、停止状態から動作を開始しクロック信号を内部回路に供給することを高速に行える。従って、前述のスリープ状態でもDLL回路を停止させることができ、スリープ状態でもスタンバイ状態でもDLL回路及びLSI内部回路を停止することができる。このため、PLL回路を用いた場合よりも消費電力を低減することが可能となる。また、LSI回路の起動時に、安定したクロック信号を早くLSI内に分配できる。
【００６０】
発振回路OSCを含むCMOS LSI回路が、PLL回路とDLL回路を用いてクロック信号を生成している場合、例えばPLL1とDLL2が用いられたり、PLL2とDLL1が用いられるような場合には、LSI内部回路の動作状態は3種類必要となる。スタンバイ時には、内部回路とともにPLL回路もDLL回路も停止するが、アクティブ状態へ復帰する際には、PLL回路が安定動作するまでのクロック安定時間が必要となる。スリープ状態では、PLL回路だけを動作させ、DLL回路と内部回路を停止することができる。この場合は、アクティブ状態への復帰を高速にできる。
【００６１】
図10は、本発明の別の実施例を示す図である。
【００６２】
CMOS LSI回路内部に存在する発振回路OSCは、水晶発振回路CRYSTAL、セレクタ回路SEL1、SEL2、SEL3、SEL4、SEL5、SEL6、SEL7、分周回路DIV1、DIV2、及び位相同期回路（PLL回路）PLL1、PLL2、ディレー・ロックド・ループ回路（DLL回路）DLL1、DLL2から構成される。同様にCMOS LSI回路内部に存在するクロック制御回路CPGCNTは、周波数制御レジスタFRQCRとバスインタフェースBUSIFから構成される。
【００６３】
発振回路OSCは図9の発振回路OSCと同様の動作をする。クロック制御回路CPGCNTはLSI回路内部の内部バスINBUSからクロック制御命令を受け、周波数制御信号frqsigを出力して発振回路OSC内のセレクタ回路SEL2、SEL3、SEL4、SEL5、SEL6及びSEL7の選択を決定し、PLL回路PLL1、PLL2やDLL回路DLL1、DLL2の選択、及び分周回路の分周率を選択する。クロック制御回路CPGCNTでは、内部バスINBUSからのクロック制御命令をバスインタフェースBUSIFがデコードし、周波数制御レジスタFRQCRを書き換える。周波数制御信号frqsigは周波数制御レジスタFRQCRの設定に応じた信号を出力し、発振回路OSCのセレクタ回路を選択する。このように構成することで、オペレーティングシステムやアプリケーションソフトを用いてCMOS LSI回路内の内部バスINBUSに命令を送り、発振回路OSC内のクロック発生回路PLL1、PLL2やDLL1、DLL2を選択したり、LSI内部に分配するクロック信号の周波数を決定することができる。
【００６４】
図11は、本発明の別の実施例を示す図である。
【００６５】
CMOS LSI回路内部に存在する発振回路OSCは、水晶発振回路CRYSTAL、セレクタ回路SEL1、SEL2、SEL3、SEL4、SEL5、SEL6、SEL7、分周回路DIV1、DIV2、及び位相同期回路（PLL回路）PLL1、PLL2、ディレー・ロックド・ループ回路（DLL回路）DLL1、DLL2から構成される。同様にCMOS LSI回路内部に存在するクロック制御回路CPGCNTは、周波数制御レジスタFRQCから構成される。
【００６６】
発振回路OSCは図9の発振回路OSCと同様の動作をする。クロック制御回路CPGCNTはLSI回路外部から信号を受け付ける、少なくとも１つのモード端子mod0、mod1、mod2等を有する。周波数制御レジスタFRQCRはモード端子の入力信号により決定され、周波数制御レジスタFRQCRの設定に応じて出力信号frqsigを発生し、発振回路OSCのセレクタ回路の出力選択を決定する。この構成では、外部からのモード端子への制御信号によって、発振回路OSC内のクロック発生回路PLL1、PLL2やDLL1、DLL2を選択したり、LSI内部に分配するクロック信号の周波数を決定することができる。
【００６７】
図12は、本発明の別の実施例を示す図である。
【００６８】
CMOS LSI回路内部に存在する発振回路OSCは、水晶発振回路CRYSTAL、セレクタ回路SEL1、SEL2、SEL3、SEL4、SEL5、SEL6、SEL7、分周回路DIV1、DIV2、及び位相同期回路（PLL回路）PLL1、PLL2、ディレー・ロックド・ループ回路（DLL回路）DLL1、DLL2から構成される。同様にCMOS LSI回路内部に存在するクロック制御回路CPGCNTは、周波数制御レジスタFRQCRとバスインタフェースBUSIFから構成される。
【００６９】
発振回路OSCは図9の発振回路OSCと同様の動作をする。クロック制御回路CPGCNTはLSI回路内部の内部バスINBUSからクロック制御命令を受けるとともに、モード端子mod0、mod1、mod2等から制御信号を入力し、周波数制御信号frqsigを出力して発振回路OSC内のセレクタ回路SEL2、SEL3、SEL4、SEL5、SEL6及びSEL7の選択を決定し、PLL回路PLL1、PLL2やDLL回路DLL1、DLL2の選択、及び分周回路の分周率を選択する。クロック制御回路CPGCNTでは、内部バスINBUSからのクロック制御命令をバスインタフェースBUSIFがデコードし、周波数制御レジスタFRQCRを書き換える。あるいはモード端子mod0、mod1、mod2等から制御信号を入力し、周波数制御レジスタFRQCRを書き換える。周波数制御信号frqsigは周波数制御レジスタFRQCRの設定に応じた信号を出力し、発振回路OSCのセレクタ回路を選択する。このように構成することで、外部からのモード端子への制御信号と、オペレーティングシステムやアプリケーションソフトを用いてCMOS LSI回路内の内部バスINBUSに命令を送ることで、発振回路OSC内のクロック発生回路PLL1、PLL2やDLL1、DLL2を選択したり、LSI内部に分配するクロック信号の周波数を決定することができる。モード端子の制御信号が周波数レジスタFRQCRを書き換えるのは、CMOS LSI回路が起動する時だけ行い、それ以外は内部バスからの制御命令で書き換わるようにしてもよい。
【００７０】
図13は、本発明の別の実施例を示す図である。
【００７１】
CMOS LSI回路内に発振回路OSC、クロック制御回路CPGCNT及びタイマ回路TIMERを有する構成からなる。発振回路OSCは外部からの信号をxtal端子、extal端子、mod8端子を通して入力し、クロック制御回路CPGCNTから周波数制御信号frqsig及びクロックスタンバイ信号clkstbを入力し、LSI回路外部へckio端子を用いてシステムクロック信号を出力し、LSI回路内部へ1つ以上のクロック信号clk1、clk2、clk3等を出力する。クロック制御回路CPGCNTは1つ以上のモード端子mod0、mod1、mod2等を有し外部からのモード制御信号を入力し、LSI回路内部から割込み信号intrf、リセット信号reset、スタンバイイネーブル信号stbenbを入力し、内部バスINBUSから制御命令を受け取り、タイマ回路からスタンバイキャンセル信号stbcnclを入力し、発振回路OSCとタイマ回路TIMERへ周波数制御信号frqsig及びクロックスタンバイ信号clkstbを出力する。タイマ回路は内部バスINBUSから制御命令を受け取り、発振回路OSCからクロック信号clk0を入力し、クロック制御回路CPGCNTから周波数制御信号frqsig及びクロックスタンバイ信号clkstbを入力し、LSI回路内部へとクロック制御回路CPGCNTへスタンバイキャンセル信号stbcnclを出力する。
【００７２】
発振回路OSCは、基準クロック信号として水晶発信子のクロック信号をxtal端子及びextal端子から入力する。あるいは、外部クロック信号を基準クロック信号としてextal端子から入力する。入力の切替は、mod8端子で行う。この基準クロック信号をもとに、周波数制御信号frqsigに応じて所望のクロック信号を1つ以上、clk1、clk2、clk3等として、LSI内部へ分配する。また、LSI外部へもckio端子を通してクロック信号を
システムクロック信号として供給する。また、クロックスタンバイ信号clkstbに応じて、発振回路OSC内のクロック発生回路を停止したり、クロック信号clk0、clk1、clk2、clk3、ckio等を出力あるいは停止するという制御を行う。クロック制御回路CPGCNTは1つ以上のモード端子mod0、mod1、mod2等を通してLSI外部から入力される制御信号と、LSI内部の内部バスINBUSからの制御命令により、発振回路OSCの出力クロック信号を制御する周波数制御信号frqsigを出力する。また、割込み信号intrf、リセット信号reset、スタンバイイネーブル信号stbenb、あるいはタイマ回路TIMERが発生するスタンバイキャンセル信号stbcnclを入力し、発振回路OSCのクロック発生回路を動作、停止したりクロック信号を出力、停止したりするためのクロックスタンバイ信号clkstbを出力する。タイマ回路TIMERは、クロック制御回路CPGCNTの周波数制御信号frqsigやクロックスタンバイ信号clkstbを入力し、クロックの制御状態やスタンバイ、動作状態が変化すると、スタンバイキャンセル信号をネゲートする。すると、発振回路OSC内の一部の回路が停止する。スタンバイキャンセル信号は、発振回路OSCが生成するクロック信号clk0をクロックとして時間をカウントし、所定の時間経過するとアサートされ、発振回路OSC内がスタンバイ状態を解除される。
【００７３】
オペレーティングシステムやアプリケーションソフトは、内部バスINBUSを通して命令を与えることで、タイマ回路TIMERを制御し、LSI内部回路がアクティブ、スリープ、スタンバイというそれぞれの状態にある時に、状態に応じてクロック回路の動作、停止を制御したり、クロック信号の出力を停止するなどの制御を行い、LSIの消費電力を削減できる。
【００７４】
図14は図13の実施例における発振回路OSCとクロック制御回路CPGCNTの実施例を示す図である。
【００７５】
発振回路OSCは、水晶発振回路CRYSTAL、セレクタ回路SEL1、SEL2、SEL3、SEL4、SEL5、SEL6、SEL7、分周回路DIV1、DIV2、及び位相同期回路（PLL回路）PLL1、PLL2、ディレー・ロックド・ループ回路（DLL回路）DLL1、DLL2から構成される。クロック制御回路CPGCNTは、周波数制御レジスタFRQCRとバスインタフェースBUSIF、スタンバイ制御レジスタSTBCR、スタンバイ制御回路STBCNTから構成される。
【００７６】
LSI外部から信号を受取る端子としてxtal、extal、mod8端子が発振回路OSCに存在し、xtalとextalは水晶発振回路CRYSTALへ入力される。水晶発振回路CRYSTALのクロック信号出力とextal端子からの信号がセレクタ回路SEL1で選択され、クロック信号clk11が出力される。セレクタ回路SEL1の選択はmod8端子で行われる。クロック信号clk11は分周回路DIV1で分周される。 クロック信号clk11と分周回路DIV1の分周出力信号がセレクタ回路SEL2で選択されてクロック信号clk12を出力する。クロック信号clk12はPLL回路PLL1及びDLL回路DLL1の基準信号として供給され、それぞれ同期クロック信号を生成する。クロック信号clk12、 PLL回路PLL1の出力クロック信号、DLL回路DLL1の出力クロック信号のうち1つの出力信号をセレクタ回路SEL3が選択する。ここで選択されたクロック信号が、分周回路DIV2で分周されて、LSI内部にクロック信号として分配される。分周回路DIV2で分周された信号は、複数のセレクタ回路SEL4、SEL5、SEL6で所望の周波数のクロック信号として得られ、クロック信号clk1、clk2、clk3等の複数の周波数を持つクロック信号がLSI内部に供給される。分周回路DIV2の出力信号のうち、分周率が1（すなわち分周を行わない）の信号が出力クロック信号clk0として出力される。LSI内部に供給されるクロック信号の1つ、例えばclk3がPLL回路PLL2及びDLL回路DLL2の基準信号として供給され、それぞれ同期クロック信号を生成する。クロック信号clk3、PLL回路PLL2の出力クロック信号、DLL回路DLL2の出力クロック信号のうち1つの出力信号をセレクタ回路SEL7が選択する。ここで選択されたクロック信号はckio端子からLSI回路外部へ出力される。
【００７７】
LSI外部からの基準クロックとして水晶発振子が用いられる場合、水晶発振子からの出力信号はxtal端子及びextal端子に与えられ、水晶発振回路CRYSTALによって波形整形される。また、外部から直接クロック信号を供給する場合は、extal端子から信号を供給する。水晶発振子による信号と、外部クロック信号との選択は、選択回路SEL1で行われる。選択回路SEL1の制御は、モード端子mod8で行われる。例えば、mod8端子がHigh（1）の時、水晶発振子の信号が基準信号として発振回路OSCに取込まれ、またmod8端子がLow（0）の時に外部クロック信号が基準信号として発振回路OSCに取込まれる。2種類の入力信号をモード端子mod8を用いて自由に切り替えることができる。セレクタ回路SEL1で選択されたクロック信号clk11は分周回路DIV1でクロック周波数を分周される。セレクタ回路SEL2は、クロック信号clk11を直接伝えるか、分周して伝えるかを選択する。セレクタ回路SEL2が選択したクロック信号clk12は、PLL回路PLL1及びDLL回路DLL1へ基準信号として供給される。PLL回路は基準クロックの周波数を逓倍したクロック信号を出力することができるが、クロックの周波数及び位相が所望の値に安定するまでにかかるクロック安定時間に、入力クロック信号の40周期以上を必要とする。DLL回路は基準クロックに対して同じ周波数のクロック信号を位相を同期させて出力することができるが、周波数の逓倍はできない。また、DLL回路はクロック安定時間に、入力クロック信号の2〜3周期程度しか必要としない。セレクタ回路SEL3は、クロック信号clk12をクロック発生回路を介さずに直接伝えるか、PLL回路PLL1の出力クロック信号またはDLL回路DLL1の出力クロック信号のうち、1つのクロック信号を選択してクロック信号clk13を出力する。位相の誤差が問題とならず、外部のクロック信号入力をそのままLSI内部に供給する場合には、セレクタ回路SEL3は信号を直接伝達する。外部のクロック信号入力を逓倍してLSI内部に供給する場合には、PLL回路PLL1の出力信号を選択する。外部のクロック信号に対して逓倍を行わず分周信号だけをLSI内部に供給する場合には、DLL回路DLL1の出力信号を選択する。クロック信号clk13はさらに分周回路DIV2で周波数を分周され、セレクタ回路SEL4、SEL5、SEL6等により所望の周波数を選択されて複数のクロック信号clk1、clk2、clk3をLSI内部に供給する。分周回路DIV1、DIV2とセレクタ回路SEL2、SEL4、SEL5、SEL6の組合せにより、多種類の周波数を持つクロック信号を生成してLSI内部に分配することが可能となる。LSI内部に分配されるクロック信号のうちの1つ、例えばclk3は、PLL回路PLL2及びDLL回路DLL2へ基準信号として供給される。セレクタ回路SEL7は、クロック信号clk3をクロック発生回路を介さずに直接伝えるか、PLL回路PLL2の出力クロック信号またはDLL回路DLL2の出力クロック信号のうち、1つのクロック信号を選択してクロック信号をckio端子へ出力する。位相の誤差が問題とならず、LSI内部に分配されているクロック信号をそのままLSI外部に供給する場合には、セレクタ回路SEL7は信号を直接伝達する。LSI内部に分配されるクロック信号を逓倍してLSI外部に供給する場合には、PLL回路PLL2の出力信号を選択する。LSI内部に分配されるクロック信号に対して逓倍を行わずLSI外部に供給する場合には、DLL回路DLL2の出力信号を選択する。ckio端子から出力されるクロック信号は、概CMOS LSIで構成されるマイクロプロセッサを中心とするシステムにおいて、システムクロックとして供給される。
【００７８】
発振回路OSCを含むCMOS LSI回路が、PLL回路PLL1あるいはPLL2を用いてクロック信号を生成している場合、LSI内部回路の動作状態を3種類用意して、消費電力を節約する。第1の状態は、通常動作を行うアクティブ状態。第2の状態は、LSI内部回路を停止し、PLL回路は動作させるスリープ状態。第3の状態はLSI内部回路もPLL回路もともに停止させるスタンバイ状態。スリープ状態では内部回路へはクロック信号を供給しないので、消費電力を削減でき、スタンバイ状態ではPLL回路も動作を停止するのでさらに消費電力を低減できる。内部回路がスタンバイ状態からアクティブ状態に復帰する場合、PLL回路は停止状態から動作を開始し、クロック安定時間を経過した後にクロック信号を内部回路に供給する。前述したように、PLLのクロック安定時間にはクロック信号40周期以上と、長時間を必要とする。そこで、アクティブ状態からの復帰を早めるためにPLL回路PLL1やPLL2だけは動作させ、内部回路を停止するスリープ状態が用意されている。LSIの利用者は、オペレーティングシステム（OS）や、アプリケーションソフトウェアを用いてLSIの動作状態を必要に応じて制御する。
【００７９】
発振回路OSCを含むCMOS LSI回路が、DLL回路DLL1あるいはDLL2を用いてクロック信号を生成している場合には、LSI内部回路の動作状態は2種類でよい。DLL回路はクロックの安定時間が2〜3周期と短いため、停止状態から動作を開始しクロック信号を内部回路に供給することを高速に行える。従って、前述のスリープ状態でもDLL回路を停止させることができ、スリープ状態でもスタンバイ状態でもDLL回路及びLSI内部回路を停止することができる。このため、PLL回路を用いた場合よりも消費電力を低減することが可能となる。また、LSI回路の起動時に、安定したクロック信号を早くLSI内に分配できる。
【００８０】
発振回路OSCを含むCMOS LSI回路が、PLL回路とDLL回路を用いてクロック信号を生成している場合、例えばPLL1とDLL2が用いられたり、PLL2とDLL1が用いられるような場合には、LSI内部回路の動作状態は3種類必要となる。スタンバイ時には、内部回路とともにPLL回路もDLL回路も停止するが、アクティブ状態へ復帰する際には、PLL回路が安定動作するまでのクロック安定時間が必要となる。スリープ状態では、PLL回路だけを動作させ、DLL回路と内部回路を停止することができる。この場合は、アクティブ状態への復帰を高速にできる。
【００８１】
クロック制御回路CPGCNTはLSI回路内部の内部バスINBUSからクロック制御命令を受けるとともに、モード端子mod0、mod1、mod2等から制御信号を入力し、周波数制御信号frqsigを出力して発振回路OSC内のセレクタ回路SEL2、SEL3、SEL4、SEL5、SEL6及びSEL7の選択を決定し、PLL回路PLL1、PLL2やDLL回路DLL1、DLL2の選択、及び分周回路の分周率を選択する。クロック制御回路CPGCNTでは、内部バスINBUSからのクロック制御命令をバスインタフェースBUSIFがデコードし、周波数制御レジスタFRQCRを書き換える。あるいはモード端子mod0、mod1、mod2等から制御信号を入力し、周波数制御レジスタFRQCRを書き換える。周波数制御信号frqsigは周波数制御レジスタFRQCRの設定に応じた信号を出力し、発振回路OSCのセレクタ回路を選択する。このように構成することで、外部からのモード端子への制御信号と、オペレーティングシステムやアプリケーションソフトを用いてCMOS LSI回路内の内部バスINBUSに命令を送ることで、発振回路OSC内のクロック発生回路PLL1、PLL2やDLL1、DLL2を選択したり、LSI内部に分配するクロック信号の周波数を決定することができる。モード端子の制御信号が周波数レジスタFRQCRを書き換えるのは、CMOS LSI回路が起動する時だけ行い、それ以外は内部バスからの制御命令で書き換わるようにしてもよい。
【００８２】
また、クロック制御回路CPGCNTはLSI回路内部の内部バスINBUSからバスインタフェースBUSIFを介してスタンバイ制御命令を受け取り、スタンバイ制御レジスタSTBCRを書きかえる。スタンバイ制御回路STBCNTはスタンバイ制御レジスタSTBCRの出力と内部回路からの割り込み信号intrf、リセット信号reset、スタンバイイネーブル信号stbenb、スタンバイキャンセル信号stbcnclを入力し、発振回路OSC内のクロック信号発生回路PLL1、PLL2、DLL1、DLL2の動作を制御し、またLSI内部に分配されるクロック信号の出力を制御する。LSI内部回路がスタンバイ状態に入る時には、クロックスタンバイ信号clkstbにより、クロック発生回路PLL1、PLL2、DLL1、DLL2のすべてが停止し、クロック出力信号もすべて停止して、消費電力を削減する。LSI内部回路がスリープ状態に入る時、クロック発生回路のうちPLL1あるいはPLL2が使用されている場合は動作を続け、DLL1あるいはDLL2が使用されている場合には動作を停止し、またクロック信号の発振回路からの出力をすべて停止する。LSI内部回路がスタンバイ状態あるいはスリープ状態からアクティブ状態に復帰する時、クロック発生回路PLL1、PLL2、DLL1、DLL2は動作をはじめ、それぞれのクロック発生回路が必要とするクロック安定時間が経過した後にスタンバイキャンセル信号stbcnclがアサートされ、発振回路OSCからクロック信号が出力される。このようにして、LSI内部回路がスタンバイあるいはスリープ状態にある時には消費電力を削減し、アクティブ状態に復帰する時にはクロック発生回路が安定してからクロック信号を供給することで、LSI内部回路等が誤動作することを防止する。DLL回路が使われる場合には、アクティブ状態への高速な復帰が可能となる。
【００８３】
図15は図13の実施例におけるタイマ回路TIMERの実施例を示す図である。
【００８４】
タイマ回路は、タイマ制御回路TMC、タイマ制御レジスタTMCR、タイマカウンタTMCNT、分周回路DIV3、セレクタ回路SEL8、バスインタフェースBUSIFから構成される。タイマ制御TMCには周波数制御信号frqsig及びクロックスタンバイ信号clkstbが入力され、周波数制御信号frqsigが制御するクロック発生回路の周波数が変化した時や、LSI内部回路の動作状態が変化してクロックスタンバイ信号clkstbも変化した時に、変化をタイマ制御レジスタTMCRに伝える。これを受けて、タイマ制御レジスタTMCRはタイマカウンタTMCNTのカウントを開始させる。内部バスINBUSからの制御命令はバスインタフェースBUSIFでデコードされ、タイマ制御レジスタTMCRを書き換えてセレクタ回路SEL8を選択する。また、バスインタフェースBUSIFの出力はタイマカウンタTMCNTの初期値を変える。前記2つの設定により、タイマカウンタTMCNTがカウントする時間が決定される。発振回路OSCから与えられるクロック信号clk0は、分周回路DIV3で周波数を分周され、セレクタ回路SER8で選ばれた信号がクロック信号clk4となりタイマカウンタTMCNTをカウントするクロック信号となる。タイマカウンタTMCNTのカウントが終了すると、オーバフロー信号が出力され、タイマ制御回路TMCはスタンバイキャンセル信号stbcnclをアサートする。以上の過程により、タイマ回路はクロック発生回路が周波数を変化させる時や、スタンバイあるいはスリープ状態からアクティブ状態に復帰する時に、クロック信号を安定に供給し、システムの誤動作を防止できる。
【００８５】
図13、14、15を用いて、スタンバイ状態からアクティブ状態に復帰する時の過程を詳細に説明する。復帰は、割り込み信号intrfあるいはリセット信号resetによりなされる。どちらかの信号がスタンバイ制御回路STBCNTに入力されると、クロックスタンバイ信号は、発振回路OSC内のクロック発生回路PLL1、PLL2、DLL1、DLL2のうち、周波数制御信号frqsigで選ばれている回路の動作を開始させる。この時発振回路OSCはクロック信号clk0を出力し始める。クロックスタンバイ信号clkstbはタイマ回路TIMER内のタイマ制御回路TMCにも入力され、タイマ制御レジスタTMCRを書き換えてタイマカウンタTMCNTのカウントを開始する。タイマカウンタTMCNTはクロック信号clk0に応じてカウントを行う。カウントの初期値は内部バスINBUSを通して与えられる。例えば、PLL回路が用いられている時は40周期以上カウントするように設定され、DLL回路だけが用いられている時には3周期カウントするように設定される。また、スリープ状態からアクティブ状態への復帰でPLL回路が用いられているような場合には、PLL回路は動作し続けているのでカウント数0に設定される。タイマカウンタTMCNTはカウントを終えるとオーバフロー信号ovflwを出力し、タイマ制御回路TMCはこれを受けてスタンバイキャンセル信号stbcnclをアサートする。スタンバイキャンセル信号stbcnclのアサートにより、クロック制御回路CPGCNT内のスタンバイ制御回路STBCNTはクロックスタンバイ信号を用いて発振回路OSCからクロック信号clk1、clk2、clk3等とclkioを出力させる。このようにして、発振回路OSCからのクロック信号出力は、各クロック発生回路がクロック安定時間を経過して周波数や位相が所望の値に合致した安定した信号を供給できるようになってから供給され、LSI内部回路やシステムが誤動作することを防止できる。
【００８６】
図16は、周波数制御レジスタの設定の実施例を示す図である。
【００８７】
周波数制御レジスタFRQCRが例えば16ビットだとする。LSI内部へ分配するクロック信号の種類が3種類で、各クロック信号の周波数を3ビットで決定するとすれば、使用されるのは14ビットになる。ビット13はクロック信号を出力、停止を決めるクロック出力イネーブルビットCKOENである。ビット12、11、10、9はそれぞれクロック発生回路PLL1、PLL2、DLL1、DLL2の動作、停止を決めるイネーブルビットで、例えばPLL1とDLL1、あるいはPLL2とDLL2は同時に動作しない。ビット8からビット0までは、出力クロック信号の分周率を決めるビットになっている。それぞれの分周率は、図19、図20、図21に示す実施例のように設定することができる。図16のレジスタ設定の場合、クロック動作の初期設定はあらかじめ用意されており、レジスタを書き換えることによって動作を変更できる。
【００８８】
図17は、周波数制御レジスタの設定の別の実施例を示す図である。
【００８９】
周波数制御レジスタFRQCRの内容は、図16のレジスタと同じである。図17のレジスタ設定の場合は、クロック動作の初期設定はあらかじめ用意されているものとされていないものがあり、用意されていない設定、図の例では出力クロック信号の分周率は、モード端子mod0、mod1、mod2などにより外部から制御信号を得て設定される。リセット事にはモード端子からの設定を用い、動作中には内部バスからの制御命令でレジスタを書き換えてもよい。図22には、モード端子の設定の実施例を示す。
【００９０】
図18は、周波数制御レジスタの設定の別の実施例を示す図である。
【００９１】
PLL回路とDLL回路では、クロック安定時間が異なる。そのため、1つの周波数制御レジスタFRQCRでそれぞれのクロック安定時間を設定するためには2回レジスタを書き換える必要がある場合もある。そのような時、周波数制御レジスタをFRQCR1とFRQCR2のように複数用意し、PLL回路の動作設定とDLL回路の動作設定を異なるレジスタで行うと、レジスタの書き換えは1回ですむ。
【００９２】
図23は、タイマ制御レジスタの設定の実施例を示す図である。
【００９３】
タイマ制御レジスタが例えば8ビットだとすると、図のように設定できる。ビット7はタイマイネーブルビットで、タイマカウンタTMCNTの開始を指示する。ビット3はタイマオーバフロービットで、タイマカウンタTMCNTのカウントが終了したことを告げる。ビット2から0は、タイマカウンタTMCNTに入力されるクロック信号の周波数分周率を選択する。
【００９４】
図24は、タイマカウンタの設定の実施例を示す図である。
【００９５】
タイマカウンタTMCNTが8ビットであるとすると、28周期までカウントできる。カウント時間は、タイマカウンタTMCNTの初期値とタイマカウンタTMCNTへ入力されるクロック信号の周波数で決まる。
【００９６】
図25はスタンバイ制御レジスタの設定の実施例を示す図である。
【００９７】
LSI内部の動作状態がアクティブ、スリープ、スタンバイの3種類ある場合、2ビットのレジスタを用いる。ビット1はスリープ状態を選ぶビット、ビット0はスタンバイ状態を選ぶビットになっている。どちらのビットも選ばれない時は、アクティブ状態を示している。
【００９８】
【発明の効果】
以上説明したように、本発明によると次の効果がある。すなわち、クロック発生回路を含む半導体集積回路において、クロック安定時間の短いクロック発生回路を有し、消費電力を削減するために半導体集積回路装置の内部回路の動作を停止させる場合にクロック発生回路も停止することが可能で、内部回路の動作が通常動作状態に復帰する時にはクロック発生回路も高速にクロック信号を生成できるようになる。従って、内部回路が動作停止状態にある時に消費電力を削減することができ、内部回路の動作復帰を高速で行うことのできる半導体集積回路装置を提供できる。
【図面の簡単な説明】
【図１】本発明の半導体集積回路の構成図である。
【図２】本発明の半導体集積回路の別の構成図である。
【図３】本発明の半導体集積回路の別の構成図である。
【図４】本発明の半導体集積回路の別の構成図である。
【図５】本発明の半導体集積回路の別の構成図である。
【図６】本発明の半導体集積回路の別の構成図である。
【図７】本発明の半導体集積回路の別の構成図である。
【図８】本発明の半導体集積回路の別の構成図である。
【図９】本発明の半導体集積回路の別の構成図である。
【図１０】本発明の半導体集積回路の別の構成図である。
【図１１】本発明の半導体集積回路の別の構成図である。
【図１２】本発明の半導体集積回路の別の構成図である。
【図１３】本発明の半導体集積回路の別の構成図である。
【図１４】図13の実施例の詳細な構成図である。
【図１５】図13の実施例の詳細な構成図である。
【図１６】周波数制御レジスタの設定実施例を示す図である。
【図１７】周波数制御レジスタの別の設定実施例を示す図である。
【図１８】周波数制御レジスタの別の設定実施例を示す図である。
【図１９】周波数制御レジスタ内のビット設定図である。
【図２０】周波数制御レジスタ内の別のビット設定図である。
【図２１】周波数制御レジスタ内の別のビット設定図である。
【図２２】モード端子の設定図である。
【図２３】タイマ制御レジスタの設定実施例を示す図である。
【図２４】タイマカウンタの設定実施例を示す図である。
【図２５】スタンバイ制御レジスタの設定実施例を示す図である。
【図２６】  PLL回路の従来例の構成図である。
【図２７】  DLL回路の実施例の構成図である。
【図２８】従来例の半導体集積回路の構成図である。
【符号の説明】
OSC：発振回路
CRYSTAL：水晶発振回路
DIV 、DIV1、DIV2、DIV3、DIV00、DIV01：分周回路
PLL1、PLL2、PLL：位相同期ループ回路（PLL回路）
DLL1、DLL2、DLL：ディレー・ロックド・ループ回路（DLL回路）
SEL1、SEL2、SEL3、SEL4、SEL5、SEL6、SEL7、SEL8：セレクタ回路
CPGCNT：クロック制御回路
FRQCR：周波数制御レジスタ
BUSIF：バスインタフェース
INBUS：内部バス
STBCNT：スタンバイ制御回路
STBCR：スタンバイ制御レジスタ
TIMER：タイマ回路
TMC：タイマ制御回路
TMCR：タイマ制御レジスタ
TMCNT：タイマカウンタ
PFD：周波数位相比較回路
CP：チャージポンプ回路
LPF：ローパスフィルタ回路
VCO：電圧制御発振回路
DCL：遅延制御回路列
REG：制御信号記憶回路
MCC：タイミング制御回路
FDA：フォワード遅延回路列
DRV：クロックドライバ回路
DFF：D型フリップフロップ回路
RSFF：RS型フリップフロップ回路
clk0、clk1、clk2、clk3、clk4、clk11、clk12、clk13、clk261、clkin、clkout、dclk：クロック信号
ckio：クロック信号出力端子
xtal、extal：水晶発振子の発振信号入力端子あるいは外部クロック信号入力端子
mod0、mod1、mod2、mod8：モード入力端子
frqsig：周波数制御信号
clkstb：クロックスタンバイ信号
ckio：クロック信号出力端子
intrf：割込み信号
reset：リセット信号
stbcncl：スタンバイキャンセル信号
stbenb：スタンバイイネーブル信号
ovrflw：オーバフロー信号。
【図１】
0004077979.tif 000002
【図２】
0004077979.tif 000003
【図３】
0004077979.tif 000004
【図４】
0004077979.tif 000005
【図５】
0004077979.tif 000006
【図６】
0004077979.tif 000007
【図７】
0004077979.tif 000008
【図８】
0004077979.tif 000009
【図９】
0004077979.tif 000010
【図１０】
0004077979.tif 000011
【図１１】
0004077979.tif 000012
【図１２】
0004077979.tif 000013
【図１３】
0004077979.tif 000014
【図１４】
0004077979.tif 000015
【図１５】
0004077979.tif 000016
【図１６】
0004077979.tif 000017
【図１７】
0004077979.tif 000018
【図１８】
0004077979.tif 000019
【図１９】
0004077979.tif 000020
【図２０】
0004077979.tif 000021
【図２１】
0004077979.tif 000022
【図２２】
0004077979.tif 000023
【図２３】
0004077979.tif 000024
【図２４】
0004077979.tif 000025
【図２５】
0004077979.tif 000026
【図２６】
0004077979.tif 000027
【図２７】
0004077979.tif 000028
【図２８】
0004077979.tif 000029