(57)【特許請求の範囲】
【請求項１】
半導体集積回路であって：
基準クロックが入力されて，中央演算処理装置をクロック制御するための制御基本クロックを生成するクロック制御回路と；
前記中央演算処理装置と，該中央演算処理装置からの命令に応じて前記クロック制御回路による前記制御基本クロックの生成を制御するクロック生成制御回路とを有するマイクロコントローラと；
を備え，
前記クロック制御回路は，
前記クロック生成制御回路から送信されるクロック分周設定信号に応じて，信号レベルの状態を遷移させることにより，分周クロックを生成する状態遷移回路と；
前記基準クロックと前記分周クロックとの切替タイミングを計る切替タイミング生成回路と；
前記基準クロックと前記分周クロックとを切替えて前記制御基本クロックを生成する選択切替回路と；
を備え，
前記切替タイミング生成回路は，前記クロック切替信号の受信のタイミングにより，切替有効信号を前記状態遷移回路へ送信し，
前記状態遷移回路は，前記切替有効信号の受信のタイミングにより，前記分周クロックのハイレベル状態を保持することを特徴とする半導体集積回路。
【請求項２】
前記クロック生成制御回路は，データの書込み，読み出しが可能なレジスタを備え，前記レジスタに書込み動作が生じたことを示すクロック切替信号を前記クロック制御回路へ送信することを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記クロック生成制御回路は，前記クロック制御回路に対して，前記クロック分周設定信号を送信後，さらに前記クロック切替信号を送信することを特徴とする請求項１または２に記載の半導体集積回路。
【請求項４】
前記選択切替回路は，基準クロックおよび分周クロックがハイレベル状態時に，基準クロックと分周クロックとを切替えることを特徴とする請求項１，２または３のうちいずれか１項に記載の半導体集積回路。
【請求項５】
前記クロック制御回路は，切替えるための分周クロックを選択する分周選択信号を，受信することを特徴とする請求項１，２，３または４のうちいずれか１項に記載の半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体集積回路にかかり，特に複数の分周クロックの中から特定の分周クロックに選択／切替えるクロック分周制御回路に関する。
【０００２】
【従来の技術】
従来の半導体集積回路の構成図例を，図１５に示す。図１５は，従来の半導体集積回路を示すブロック図である。
【０００３】
図１５に示すように，半導体集積回路１００１は，マイクロコントローラ１００６とクロック制御回路１００２から構成される。
【０００４】
マイクロコントローラ１００６は，ＣＰＵ（中央演算処理装置）１０１０と，クロック制御をするクロック生成制御回路１００８と，タイマ回路等を有する周辺Ｉ０であるＩ／Ｏ１０１２とから構成される。ＣＰＵ１０１０，Ｉ／Ｏ１０１２またはクロック生成制御回路１００８との間は内部バス（ＢＵＳ）１０１４により接続されている。
【０００５】
マイクロコントローラ１００６は，分周クロック制御回路１００４から伝送される制御基本クロックＢＣＬＫをもとにアプリケーションで実行される高速計算などの処理動作をする。
【０００６】
クロック生成制御回路１００８は，レジスタ１００７を内蔵しており，このレジスタ１００７の設定により１分周クロック，４分周クロックまたは８分周クロックなどのようにマスタクロックＭＣＬＫの分周クロックが決定する。
【０００７】
クロック制御回路１００２は，分周クロックの選択／切替などを制御する分周クロック制御回路１００４などから構成される。クロック制御回路１００２は，半導体集積回路１００１の外部から伝送されるマスタクロックＭＣＬＫを用いてクロックを生成して，マイクロコントローラへ伝送する制御基本クロックＢＣＬＫを出力する。
【０００８】
また，クロック制御回路１００２は，マイクロコントローラ１００６内に構成されるレジスタ１００７に設定される値に従って，クロック周波数の切替えがダイナミックに行われる。
【０００９】
次にクロック制御回路１００２の分周クロック制御回路１００４について，図１６を参照しながら説明する。図１６は，従来の分周クロック制御回路を示すブロック図である。
【００１０】
図１６に示すように，分周クロック制御回路１００４は，分周クロックを生成する分周回路１２３６と，分周クロックを切替えるセレクタ１２４０と，８分周クロックを用いてサンプリングするフリップフロップＤ８ＦＦとから構成される。
【００１１】
分周回路１２３６は，入力されてくるマスタクロックＭＣＬＫを用いて，１分周クロック１２４２と，２分周クロック１２４４と，４分周クロック１２４６と，８分周クロック１２４８のそれぞれの分周クロックを生成している。
【００１２】
フリップフロップＤ８ＦＦは，クロック生成制御回路１００８から伝送されるクロック分周設定信号ＤＳＥＬの設定を，８分周クロックを用いてサンプルする。このサンプルした結果の値がセレクタ１２４０に伝送される。
【００１３】
セレクタ１２４０は，フリップフロップＤ８ＦＦでサンプルされた値に従って，図１６に示すように，“０”のときは，１分周クロック１２４２に切替えて，“１”のときは，２分周クロック１２４４に切替えて，“２”のときは４分周クロック１２４６に切替えて，“３”のときは８分周クロックに切替えるよう，分周回路１２３６から生成される各分周クロックに切替えて制御基本クロックＢＣＬＫとして出力する。
【００１４】
【発明が解決しようとする課題】
しかしながら，従来の半導体集積回路１００１では，最も遅い８分周クロックを用いることによりクロックを切替えていたため，最大で１５クロックの切替時間がかかる問題があった。
【００１５】
これは，８分周クロックは，４分周クロック，２分周クロックに比べ，クロックにおけるハイレベルの状態が長く続くため，切替えるクロックとのフェーズが一致しやすく切替えることが容易であるが，次のクロックになるまでの時間がかかっていた。１６分周クロックなどの８分周以上の分周クロックについても同様に言える。
【００１６】
また，従来の半導体集積回路１００１は，４分周クロックまたは２分周クロックを用いてクロックを切替える際にも，最大で１５クロックの切替時間がかかる問題があった。
【００１７】
これは，クロックにおけるハイレベルの状態が短いうえに，ハイレベルの状態とローレベルの状態とが混在しているため，クロックを切替えるのが非常に不安定であることから最大で１５クロックの切替時間がかかっていた。
【００１８】
したがって，コンピュータに対して，アプリケーション・ソフトなどが，計算等の高速動作を必要とする以外は，極力周波数を省エネなどのために抑えたいが，周波数を抑えた状態で，高速動作の要求が発生した場合，すぐに高い周波数に切替わり，処理動作に移ることができないため，クロックを低く抑えることができない場合があった。
【００１９】
本発明は，従来の半導体集積回路が有する上記問題点に鑑みてなされたものであり，本発明の目的は，クロック切替時間の短縮が可能な，新規かつ改良された半導体集積回路を提供することである。
【００２０】
【課題を解決するための手段】
上記課題を解決するため，本発明の第１の観点によれば，半導体集積回路が提供される。この半導体集積回路は，基準クロックが入力されて，中央演算処理装置をクロック制御するための制御基本クロックを生成するクロック制御回路と，中央演算処理装置と，中央演算処理装置からの命令に応じてクロック制御回路による制御基本クロックの生成を制御するクロック生成制御回路とを有するマイクロコントローラを備えて，またクロック制御回路は，クロック生成制御回路から送信されるクロック分周設定信号に応じて，信号レベルの状態を遷移させることにより，分周クロックを生成する状態遷移回路と，基準クロックと分周クロックとの切替タイミングを計る切替タイミング生成回路と，基準クロックと分周クロックとを切替えて制御基本クロックを生成する選択切替回路とを備えている。
【００２１】
本発明によれば，分周クロックを選択して切替える半導体集積回路に構成されるクロック制御回路は，クロックの分周／切替を制御する状態遷移回路，クロックの切替タイミングを計る切替タイミング生成回路，基準クロックと分周クロックとを切替える選択切替回路からなる。かかる構成により，レジスタに設定される信号により基準クロックを用いて，切替えをするタイミングを計りながら，クロックの信号レベルを遷移させることにより，状態遷移回路にて分周クロック制御をすることから，切替時間の短縮をすることが可能となる。
【００２２】
クロック生成制御回路は，レジスタに書込み動作が生じたことを示すクロック切替信号をクロック制御回路へ送信することができる。かかる構成により，状態遷移回路にてクロックを意図する安定した状態で切替えをすることができる。
【００２３】
クロック生成制御回路は，クロック制御回路に対して，クロック分周設定信号を送信後，さらにクロック切替信号を送信してもよい。
【００２４】
切替タイミング生成回路は，クロック切替信号を受信したタイミングにより，切替有効信号を，状態遷移回路へ送信することができる。かかる構成により，状態遷移回路は，切替有効信号によって，所定時間クロックの状態を保持することができる。
【００２５】
状態遷移回路は，前記切替有効信号を受信したタイミングにより，前記分周クロックのハイレベル状態を保持することができる。かかる構成により，分周クロックと基準クロックをより安定した状態で切替えることができる。
【００２６】
選択切替回路は，基準クロックおよび分周クロックがハイレベル状態時に，基準クロックと分周クロックとを切替えることができる。かかる構成により，分周クロックと基準クロックをより安定した状態で切替えることができる。
【００２７】
クロック制御回路は，切替える分周クロックの分周を選択する分周選択信号を，さらに受信してもよい。かかる構成によれば，クロックのデューティーを保持した状態でクロックを切替えることができる。
【００２８】
【発明の実施の形態】
以下，本発明の好適な実施の形態について，添付図面を参照しながら詳細に説明する。なお，以下の説明及び添付図面において，略同一の機能及び構成を有する構成要素については，同一符号を付することにより，重複説明を省略する。
【００２９】
（第１の実施の形態）
まず，図１を参照しながら，第１の実施の形態にかかる半導体集積回路について説明する。図１は，第１の実施形態にかかる半導体集積回路の構成を示すブロック図である。
【００３０】
まず図１に示すように，第１の実施の形態にかかる半導体集積回路は，マイクロコントローラ６と，クロック制御回路２から構成される。マイクロコントローラ６は，クロック制御回路２より伝送される制御基本クロックＢＣＬＫに応じて，アプリケーションなどから要求されるタスク処理などを実行している。
【００３１】
マイクロコントローラ６は，命令などの処理を実行するＣＰＵ（中央演算処理装置）１０と，クロック制御をするクロック生成制御回路８と，タイマ回路等を有する周辺Ｉ／ＯであるＩ／Ｏ１２とから構成される。ＣＰＵ１０，Ｉ／Ｏ１２またはクロック生成制御回路８との間は内部バス（ＢＵＳ）１４により接続されている。
【００３２】
クロック生成制御回路８は，レジスタ７を内蔵しており，このレジスタ７の設定により１分周クロック，４分周クロックまたは８分周クロックなどのようにマスタクロックＭＣＬＫの分周クロックが決定する。
【００３３】
さらに，クロック生成制御回路８は，レジスタ７に設定された次のサイクルで，レジスタ７に書込み動作が生じたことを示すクロック切替ストローブであるクロック切替信号ＣＨＧＳＴＢをクロック制御回路２へ伝送する。
【００３４】
クロック制御回路２は，分周クロック制御回路などから構成される。クロック制御回路２は，入力されるマスタクロックＭＣＬＫを用いて１分周クロック，２分周クロック，４分周クロック，８分周クロックのそれぞれの分周クロックを生成して制御する分周クロック制御回路４を構成する。
【００３５】
次に，図２を参照しながら，第１の実施の形態にかかる分周クロック制御回路４について説明する。図２は，第１の実施の形態にかかる分周クロック制御回路４の構成を示すブロック図である。
【００３６】
図２に示されるように，分周クロック制御回路４は，クロックの分周またはクロックの切替を制御する状態遷移回路２０６と，ラッチ回路またはフリップフロップなどから構成されたクロックを切替えるタイミングを生成する切替タイミング生成回路と，クロックの切替のタイミングを判定しクロックの切替処理を行う選択切替回路と，マスタクロックＭＣＬＫおよび切替有効信号ＣＨＧ＿ＧＯを入力とするＯＲ回路２０２とから構成される。
【００３７】
次に，図３を参照しながら，第１の実施の形態にかかる切替タイミング生成回路について説明する。図３は，第１の実施の形態にかかる切替タイミング生成回路について示した分周クロック制御回路４のブロック図の部分図である。
【００３８】
図３に示すように，切替タイミング生成回路は，クロック分周設定信号ＤＳＥＬとクロック切替信号ＣＨＧＳＴＢのクロック分周設定をサンプルするラッチ回路（ＬＴ回路）２１０と，クロック分周設定信号ＤＳＥＬをサンプルする設定信号フリップフロップＤＳＦＦ１，設定信号フリップフロップＤＳＦＦ２，設定信号フリップフロップＤＳＦＦ３および設定信号フリップフロップＤＳＦＦ４と，クロック切替ストローブであるクロック切替信号ＣＨＧＳＴＢをサンプルする回路である切替信号フリップフロップＣＨＦＦ１，切替信号フリップフロップＣＨＦＦ２，切替信号フリップフロップＣＨＦＦ３および切替信号フリップフロップＣＨＦＦ４と，切替信号フリップフロップＣＨＦＦ１から切替信号フリップフロップ４でサンプルした値を微分して状態遷移回路２０６にパルスを発生する微分回路２３２と，判定回路２２０と，１分周クロックでないとき切替有効信号ＣＨＧ＿ＧＯを出力するＡＮＤ回路２３４とから構成される。
【００３９】
判定回路２２０は，クロック切替信号がサンプルされた値を微分した微分回路２３２の出力値と設定信号フリップフロップＤＳＦＦ３の値が２進数の“０”（２’ｂ００）でないことを判定する。ここで本明細書中，「２’ｂ００」，は２進数００を意味する。
【００４０】
次に，図４を参照しながら，第１の実施の形態にかかる選択切替回路について説明する。図４は，第１の実施の形態にかかる選択切替回路について示した分周クロック制御回路４のブロック図の部分図である。
【００４１】
図４に示すように，選択切替回路は，判定回路２０８と，オリジナルクロックＯＲＧＣＬＫまたは分周クロックＤＩＶＣＬＫのどちらか２を選択して制御基本クロックＢＣＬＫを出力するセレクタ２０４とから構成される。
【００４２】
判定回路２０８は，設定信号フリップフロップＤＳＦＦ４からの出力をデコードした値が２進数の“０”（２’ｂ００）でないことを判定する。
【００４３】
また，セレクタ２０４は，１分周クロック設定でない時，分周クロックＤＩＶＣＬＫを選択し，１分周クロック設定のとき，オリジナルクロックＯＲＧＣＬＫを選択する。オリジナルクロックＯＲＧＣＬＫは，マスタクロックＭＣＬＫと切替有効信号ＣＨＧ＿ＧＯのＯＲ回路２０２からのクロックである，
【００４４】
次に，図５を参照しながら，第１の実施の形態にかかる状態遷移回路２０６について説明する。図５は，第１の実施の形態にかかる状態遷移回路２０６について示した分周クロック制御回路４のブロック図の部分図である。
【００４５】
図５に示すように，状態遷移回路２０６は，現在のクロックの出力状態を保持する４ビットのカウンタであるＤカウンタ２４０と，切替有効信号ＣＨＧ＿Ｇ０および設定信号フリップフロップＤＳＦＦ３の値を用いて分周クロックであるクロックの次の信号レベル状態を決定する状態決定回路２３６と，インバータ２３８とから構成される。信号レベルは，“０”がローレベル状態であり，“１”がハイレベル状態である。このローレベルとハイレベルが繰り返し状態遷移されることにより，クロックが生成される。
【００４６】
インバータ２３８は，Ｄカウンタ２４０のカウント値のうち，ビット０を表すＤＣＮＴ０の値を経由させて分周クロックＤＩＶＣＬＫとして出力する。ここで本明細書中，ビット０は，長さｎビットのうち，もっとも下位にあたるビットを示して，またビット０から順に上位に，ビット１，ビット２，ビット３・・・とする。例えば，「０１１１」とした場合，ビット０は“１”であり，ビット１は“１”であり，ビット２は“１”であり，ビット３は“０”である。
【００４７】
次に，図２，図５および図６を参照しながら，クロックが２分周設定から１分周クロックへの遷移について説明する。図６は，状態決定回路２３６における２分周クロック設定時からのクロック切替の遷移を示す遷移図である。
【００４８】
図６に示すように，クロックが２分周クロック設定時には，状態決定回路２３６において，２分周クロックの次のクロック状態を決定するために４ビットから構成されるカウンタであるＤカウンタ２４０のうち２ビットを用いて制御する。
【００４９】
図６に示すように，次のクロックの状態が決定して刻々と状態が遷移するのを例として示すと，例えば，００→０１→１０→１１→００・・・のように刻々と状態が変化するのが分かる。この２ビットのうちビット０が分周クロックＤＩＶＣＬＫとなる。
【００５０】
さらに，図６に示すように，例として，００の状態で，切替有効信号ＣＨＧ＿ＧＯが有効となって，切替有効信号ＣＨＧ＿ＧＯがＡＮＤ回路２３４から状態決定回路２３６へ入力されると，次の状態においても，０１ではなく，００であり，また次の状態においても，００となり，切替有効信号ＣＨＧ＿ＧＯが有効の間は，常に００の状態であることがわかる。
【００５１】
つまり，切替有効信号ＣＨＧ＿ＧＯが有効となり状態決定回路２３６へ入力されると，Ｄカウンタ２４０において，１１→００→００・・・のように，切替有効信号ＣＨＧ＿ＧＯが無効となり，状態決定回路２３６へ入力されなくなるまで，００を保持する。
【００５２】
したがって，図５に示すように，Ｄカウンタ２４０のカウント値のうちビット０であるＤＣＮＴ０の値は，切替有効信号ＣＨＧ＿ＧＯが有効の間は，常に値が“０”となることから，分周クロックＤＩＶＣＬＫは，ＤＣＮＴ０の値の反転値として常に“１”の状態である。
【００５３】
また，切替有効信号ＣＨＧ＿ＧＯが有効で分周クロックＤＩＶＣＬＫが“１”である間は，同時にＯＲ回路２０２から出力されるオリジナルクロックＯＲＧＣＬＫについても，“１”で固定される。
【００５４】
切替有効信号ＣＨＧ＿ＧＯが無効となったときには，すでに判定回路２０８にて分周クロックから切替えるタイミングが有効と判定されて，セレクタ２０４によって，制御基本クロックＢＣＬＫは，分周クロックＤＩＶＣＬＫからオリジナルクロックＯＲＧＣＬＫにクロック周波数が切替わる。
【００５５】
次に，図７を参照しながら，分周クロック設定が２分周クロックから１分周クロックに切替わるタイミングについて説明する。図７は，２分周クロックから１分周クロックに切替わる動作を示すタイミング図である。
【００５６】
図７に示すように，２進数４ビットのうち２ビットを用いたカウンタであるＤカウンタ２４０でカウントされるカウント値を１６進数で表したＤカウント番号が，１（２’ｂ０１）→２（２’ｂ１０）→３（２’ｂ１１）→０（２’ｂ００）→１（２’ｂ０１）→２（２’ｂ１０）となっており，最後のＤカウント番号である２までが２分周クロック設定として，状態決定回路２３６において，図６に示すように，クロックが遷移している。制御基本クロックＢＣＬＫについても同様に２分周クロックである。
【００５７】
また，図７に示すように，クロック分周設定信号が“１”から“０”（２分周クロックから１分周クロック）へと設定されると，次のサイクルのタイミングで，図２に示すように，クロック切替信号ＣＨＧＳＴＢがクロック生成制御回路６より分周クロック制御回路４へ伝送される。
【００５８】
さらにまた，クロック切替信号が分周クロック制御回路４へ伝送されると，次の瞬間に，図７に示すように，Ｄカウンタ番号が２（２’ｂ１０）にて，切替有効信号ＣＨＧ＿ＧＯが有効となり，切替有効信号ＣＨＧ＿ＧＯは，ＡＮＤ回路２３４から送信され，状態遷移回路２０６およびＯＲ回路２０２へ伝送される。
【００５９】
切替有効信号ＣＨＧ＿ＧＯが状態遷移回路２０６へ入力されると上記にて説明したように，Ｄカウンタ２４０のカウント値のうちビット０であるＤＣＮＴ０の値は，切替有効信号ＣＨＧ＿ＧＯが有効の間は，常に値が“０”となることから，分周クロックＤＩＶＣＬＫは，ＤＣＮＴ０の値の反転値として常に“１”の状態（ハイレベルの状態）となる。
【００６０】
また，切替有効信号ＣＨＧ＿ＧＯが有効で分周クロックＤＩＶＣＬＫが“１”である間は，同時にＯＲ回路２０２から出力されるオリジナルクロックＯＲＧＣＬＫについても，“１”（ハイレベルの状態）で固定される。
【００６１】
また，切替有効信号ＣＨＧ＿ＧＯが有効となった以降のＤカウンタ番号は，２固定となるのがわかる。これは，図６に示されるように，０１（Ｄカウンタ番号：１）→１０（Ｄカウンタ番号：２）となる。
【００６２】
Ｄカウンタ番号が２（２’ｂ１０）固定となることから，Ｄカウンタ２４０のカウント値のうちビット０であるＤＣＮＴ０の値は，“０”である。つまり分周クロックＤＩＶＣＬＫが“１”のハイレベルの状態で，オリジナルクロックＯＲＧＣＬＫについても“１”のハイレベルの状態で，分周クロックＤＩＶＣＬＫからオリジナルクロックＯＲＧＣＬＫにセレクタ２０４によって切替わり，図７に示すように，制御基本クロックＢＣＬＫとして出力されることがわかる。
【００６３】
図７に示すように，クロック分周設定信号ＤＳＥＬが“０”から“１”（２分周から１分周）に設定されて，分周クロックＤＩＶＣＬＫからオリジナルクロックＯＲＧＣＬＫに切替わる切替時間は，マスタクロックＭＣＬＫを基準に換算すると，２＋２＋２＋２＝８・・・（１）
（１）式より，切替時間は８クロック必要であることがわかる。
【００６４】
次に，図２，図５および図８を参照しながら，クロックが４分周設定から１分周クロックへの遷移について説明する。図８は，状態決定回路２３６における４分周クロック設定時からのクロック切替の遷移を示す遷移図である。
【００６５】
図８に示すように，クロックが４分周クロック設定時には，状態決定回路２３６において，４分周クロックの次のクロック状態を決定するために４ビットから構成されるカウンタであるＤカウンタ２４０のうち３ビットを用いて制御する。
【００６６】
図８に示すように，次のクロックの状態が決定して刻々と状態が遷移するのを例として示すと，例えば，１００→００１→１０１→０１０→１１０→０１１・・・のように刻々と状態が変化するのが分かる。この３ビットのうちのビット０が４分周クロックとしての分周クロックＤＩＶＣＬＫとなる。
【００６７】
さらに，図８に示すように，例として，０００の状態で，切替有効信号ＣＨＧ＿ＧＯが有効となって，切替有効信号ＣＨＧ＿ＧＯがＡＮＤ回路２３４から状態決定回路２３６へ入力されると，次のクロックの状態も，切替有効信号ＣＨＧ＿ＧＯが有効であることから，１００ではなく，０００のままであり，また次の状態においても，０００となり，常に切替有効信号ＣＨＧ＿ＧＯが有効の間は，０００の状態であることがわかる。
【００６８】
つまり，切替有効信号ＣＨＧ＿ＧＯが有効となり，切替有効信号ＣＨＧ＿ＧＯが状態決定回路２３６へ伝送されると，Ｄカウンタ２４０において，１１１→０００→０００・・・のように，切替有効信号ＣＨＧ＿ＧＯが無効となるまで，０００を保持する。
【００６９】
したがって，図５に示すように，Ｄカウンタ２４０のカウント値のうちビット０であるＤＣＮＴ０の値は，切替有効信号ＣＨＧ＿ＧＯが有効の間は，常に値が“０”となることから，分周クロックＤＩＶＣＬＫは，ＤＣＮＴ０の値の反転値として常に“１”の状態である。
【００７０】
また，切替有効信号ＣＨＧ＿ＧＯが有効で分周クロックＤＩＶＣＬＫが“１”である間は，同時にＯＲ回路２０２から出力されるオリジナルクロックＯＲＧＣＬＫについても，“１”で固定される。
【００７１】
切替有効信号ＣＨＧ＿ＧＯが無効となったときには，すでに判定回路２０８にて分周クロックから切替えるタイミングが有効と判定されて，セレクタ２０４によって，制御基本クロックＢＣＬＫは，分周クロックＤＩＶＣＬＫからオリジナルクロックＯＲＧＣＬＫにクロック周波数が切替わる。
【００７２】
次に，図９を参照しながら，分周クロック設定が４分周クロックから１分周クロックに切替わるタイミングについて説明する。図９は，４分周クロックから１分周クロックに切替わる動作を示すタイミング図である。
【００７３】
図９に示すように，２進数４ビットのうち３ビットを用いたカウンタであるＤカウンタ２４０でカウントされるカウント値を１６進数で表したＤカウント番号が，７（２’ｂ１１１）→０（２’ｂ０００）→４（２’ｂ１００）→１（２’ｂ００１）→５（２’ｂ１０１）→２（２’ｂ０１０）・・・となっており，状態決定回路２３６において，最後のＤカウント番号である０までが４分周クロック設定として，図８に示すように，クロックが遷移している。制御基本クロックＢＣＬＫについても同様に４分周クロックである。
【００７４】
また，図９に示すように，クロック分周設定信号が１から０へと４分周クロックから１分周クロックへと設定されると，次サイクルのタイミングで，図２に示すように，クロック切替信号ＣＨＧＳＴＢがクロック生成制御回路６より分周クロック制御回路４へ伝送される。
【００７５】
さらにまた，クロック切替信号が分周クロック制御回路４へ伝送されると，次の瞬間に，図１１に示すように，Ｄカウンタ番号が３（２’ｂ０１１）で，切替有効信号ＣＨＧ＿ＧＯが有効となり，切替有効信号ＣＨＧ＿ＧＯは，ＡＮＤ回路２３４から送信され，状態遷移回路２０６およびＯＲ回路２０２へ伝送される。
【００７６】
切替有効信号ＣＨＧ＿ＧＯが状態遷移回路２０６へ伝送されると上記にて説明したように，Ｄカウンタ２４０のカウント値のうちビット０であるＤＣＮＴ０の値は，切替有効信号ＣＨＧ＿ＧＯが有効の間は，常に値が“０”となることから，分周クロックＤＩＶＣＬＫは，ＤＣＮＴ０の値の反転値として常に“１”の状態（ハイレベルの状態）となる。
【００７７】
また，切替有効信号ＣＨＧ＿ＧＯが有効で分周クロックＤＩＶＣＬＫが“１”である間は，同時にＯＲ回路２０２から出力されるオリジナルクロックＯＲＧＣＬＫについても，“１”（ハイレベルの状態）で固定される。
【００７８】
また，切替有効信号ＣＨＧ＿ＧＯが有効となった以降のＤカウンタ番号は，０固定となるのがわかる。
【００７９】
Ｄカウンタ番号が０（２’ｂ０００）固定となることから，Ｄカウンタ２４０のカウント値のうちビット０であるＤＣＮＴ０の値は，“０”である。つまり分周クロックＤＩＶＣＬＫが“１”のハイレベルの状態で，オリジナルクロックＯＲＧＣＬＫについても“１”のハイレベルの状態で，分周クロックＤＩＶＣＬＫからオリジナルクロックＯＲＧＣＬＫにセレクタ２０４によって切替わり，図９に示すように，制御基本クロックＢＣＬＫとして出力されることがわかる。
【００８０】
図９に示すように，クロック分周設定信号ＤＳＥＬが０から１に設定されて（４分周から１分周に設定），分周クロックＤＩＶＣＬＫからオリジナルクロックＯＲＧＣＬＫに切替わる切替時間は，マスタクロックＭＣＬＫを基準に換算すると，４＋２＋５＝１１・・・（２）
（２）式より，切替時間は１１クロック必要であることがわかる。
【００８１】
次に，図２，図５および図１０を参照しながら，クロックが８分周設定から１分周クロックへの遷移について説明する。図１０は，状態決定回路２３６における８分周クロック設定時からのクロック切替の遷移を示す遷移図である。
【００８２】
図１０に示すように，クロックが８分周クロック設定時には，状態決定回路２３６において，８分周クロックの次のクロック状態を決定するために４ビットから構成されるカウンタであるＤカウンタ２４０を用いて制御する。
【００８３】
図１０に示すように，次のクロックの状態が決定して刻々と状態が遷移するのを例として示すと，例えば，００００→１０００→０１００→１１００→０００１→１００１→０１０１→１１０１・・・のように刻々と状態が変化するのが分かる。この４ビットのうちビット０が８分周クロックとしての分周クロックＤＩＶＣＬＫとなる。
【００８４】
さらに，図１０に示すように，例として，０００１→１００１→０１０１と遷移していると，最後の０１０１の状態で，切替有効信号ＣＨＧ＿ＧＯが有効となって，切替有効信号ＣＨＧ＿ＧＯがＡＮＤ回路２３４から状態決定回路２３６へ入力されると，次のクロックの状態は，切替有効信号ＣＨＧ＿ＧＯが有効であることから，１１０１ではなく，０００１に戻り，また次の状態においても，０００１となる。
【００８５】
また，切替有効信号ＣＨＧ＿ＧＯを有効の間は，分周クロックＤＩＶＣＬＫおよびオリジナルクロックＯＲＧＣＬＫがハイレベルまたはローレベルの意図する状態でクロック切替えを行えるように，分周クロックのクロックの状態を一定時間保持しておく必要がある。したがって，上記の例から，ビット０の“１”レベルを一定にすることにより分周クロックＤＩＶＣＬＫの状態を一定に保持することができる。
【００８６】
したがって図１０に示すように，切替有効信号ＣＨＧ＿ＧＯが有効時に，分周クロックＤＩＶＣＬＫのクロックの状態を一定時間保持するため，８分周クロックは，ビット０の“１”レベル（ハイレベル状態）が４クロック以上，“０”レベル（ローレベル状態）が４クロック以上確保できるように状態遷移が行われている。
【００８７】
上記各レベルを４クロック以上確保する理由は，設定された８分周クロックのクロック幅より長くするためである。少なくとも，例えば，“１”レベルが１サイクル増えることにより，設定された８分周クロックのクロック規定幅を保つことができる。
【００８８】
したがって，図５に示すように，上記の例では，Ｄカウンタ２４０のカウント値のうちビット０であるＤＣＮＴ０の値は，切替有効信号ＣＨＧ＿ＧＯが有効の間は，常に値が“１”となることから，分周クロックＤＩＶＣＬＫは，ＤＣＮＴ０の値の反転値として常に“０”の状態である。
【００８９】
また，切替有効信号ＣＨＧ＿ＧＯが有効で分周クロックＤＩＶＣＬＫが“０”である間は，同時にＯＲ回路２０２から出力されるオリジナルクロックＯＲＧＣＬＫについても，“０”で固定される。
【００９０】
切替有効信号ＣＨＧ＿ＧＯが無効となったときには，すでに判定回路２０８にて分周クロックから切替えるタイミングが有効と判定されて，セレクタ２０４によって，制御基本クロックＢＣＬＫは，分周クロックＤＩＶＣＬＫからオリジナルクロックＯＲＧＣＬＫにクロック周波数が切替わる。
【００９１】
次に，図１１を参照しながら，分周クロック設定が８分周クロックから１分周クロックに切替わるタイミングについて説明する。図１１は，８分周クロックから１分周クロックに変更される動作を示すタイミング図である。
【００９２】
図１１に示すように，２進数４ビットを用いたカウンタであるＤカウンタ２４０でカウントされるカウント値を１６進数に変換されたＤカウント番号が，Ｆ（２’ｂ１１１１）→０（２’ｂ００００）→８（２’ｂ１０００）→４（２’ｂ０１００）→Ｃ（２’ｂ１１００）→１（２’ｂ０００１）・・・となっており，最後のＤカウント番号である２までが８分周クロック設定として，状態決定回路２３６において，図１０に示すように，クロックが遷移している。制御基本クロックＢＣＬＫについても同様に８分周クロックである。
【００９３】
また，図１１に示すように，クロック分周設定信号が“１”から“０”（８分周クロックから１分周クロック）へと設定されると，次サイクルのタイミングで，図２に示すように，クロック切替信号ＣＨＧＳＴＢがクロック生成制御回路６より分周クロック制御回路４へ伝送される。
【００９４】
さらにまた，クロック切替信号が分周クロック制御回路４へ伝送されると，次の瞬間に，図１１に示すように，Ｄカウンタ番号が６（２’ｂ０１１０）で，切替有効信号ＣＨＧ＿ＧＯが有効となり，切替有効信号ＣＨＧ＿ＧＯが，ＡＮＤ回路２３４から送信されて，状態遷移回路２０６およびＯＲ回路２０２へ伝送される。
【００９５】
切替有効信号ＣＨＧ＿ＧＯが状態遷移回路２０６へ入力されると上記にて説明したように，Ｄカウンタ２４０のカウント値のうちビット０であるＤＣＮＴ０の値は，切替有効信号ＣＨＧ＿ＧＯが有効の間は，常に値が“０”となることから，分周クロックＤＩＶＣＬＫは，ＤＣＮＴ０の値の反転値として常に“１”の状態（ハイレベルの状態）となる。
【００９６】
また，切替有効信号ＣＨＧ＿ＧＯが有効で分周クロックＤＩＶＣＬＫが“１”である間は，同時にＯＲ回路２０２から出力されるオリジナルクロックＯＲＧＣＬＫについても，“１”（ハイレベルの状態）で固定される。
【００９７】
また，切替有効信号ＣＨＧ＿ＧＯが有効となった以降のＤカウンタ番号は，２固定となる。これは，図１０に示されるように，０１１０（Ｄカウンタ番号：６）→００１０（Ｄカウンタ番号：２）となる。
【００９８】
Ｄカウンタ番号が２（２’ｂ００１０）固定となることから，Ｄカウンタ２４０のカウント値のうちビット０であるＤＣＮＴ０の値は，“０”である。つまり分周クロックＤＩＶＣＬＫが“１”のハイレベルの状態で，オリジナルクロックＯＲＧＣＬＫについても“１”のハイレベルの状態で，分周クロックＤＩＶＣＬＫからオリジナルクロックＯＲＧＣＬＫにセレクタ２０４によって切替わり，図１１に示すように，制御基本クロックＢＣＬＫとして出力されることがわかる。
【００９９】
図１１に示すように，クロック分周設定信号ＤＳＥＬが“０”から“１”（８分周から１分周）に設定されて，分周クロックＤＩＶＣＬＫからオリジナルクロックＯＲＧＣＬＫに切替わる切替時間は，マスタクロックＭＣＬＫを基準に換算すると，
８＋２＋５＝１５・・・（３）
（３）式より，切替時間は１５クロック必要であることがわかる。
【０１００】
２分周クロック，４分周クロックおよび８分周クロックから１分周クロックへの遷移について説明してきたが，切替時間については，従来では，２，４，８分周クロックの各分周クロックから１分周クロックへの切替時間はいずれの分周クロックであっても最大１５クロックかかっていた。
【０１０１】
第１の実施の形態では，２分周クロックから１分周クロックへの切替時間は，８クロックであり，４分周クロックから１分周クロックへの切替時間は，１１クロックであり，８分周クロックから１分周クロックへの切替時間は，１５クロックである。
【０１０２】
したがって，従来では最大１５クロックかかっていた切替時間が，短縮されることから，アプリケーション・プログラムなどの高速処理が要求される場合であっても，低速クロックから，より早く高速クロックへ切替えることが可能となる。
【０１０３】
また従来，図１６に示すセレクタ１２４０については４つの異なる分周クロックを切替えていたが，図２に示すように，第１の実施の形態にかかるセレクタ２０４は，分周クロックＤＩＶＣＬＫまたはオリジナルクロックＯＲＧＣＬＫの２つの異なる分周クロックを切替えるだけで実施できるため，オリジナルクロックＯＲＧＣＬＫと分周クロックＤＩＶＣＬＫの間で生じるクロック遅延を合わせる処理が減少して，ハザードが発生する確率も低くなる。
【０１０４】
（第２の実施の形態）
次に，第１の実施の形態をさらに改良した，第２の実施の形態を，図１２を参照しながら説明する。図１２は，第２の実施の形態にかかる半導体集積回路３１を示すブロック図である。
【０１０５】
図１２に示すように，半導体集積回路３１は，第１の実施の形態にかかる半導体集積回路１をさらに改良したものである。したがって，第１の実施の形態にかかる半導体集積回路１と第２の実施の形態にかかる半導体集積回路３１の相違点について説明する。
【０１０６】
半導体集積回路３１は，マイクロコントローラ３６と，クロック制御回路３２とから構成されが，第２の実施の形態では，半導体集積回路３１の外部からの入力端子信号として分周選択信号ＣＴＳＥＬが入力される。
【０１０７】
分周選択信号ＣＴＳＥＬは，最も遅いクロック，本実施の形態では，８分周クロックで切替えるモードか，第１の実施例で示した２分周または４分周クロックで切替える高速モードかを選択する信号である。ここでは，分周選択信号ＣＴＳＥＬが“１”の時，最も遅いクロック（８分周クロック）で切替えるモードになる。
【０１０８】
クロック制御回路３２に構成される分周クロック制御回路３４は，分周選択信号ＣＴＳＥＬの値をみて，高速または最も遅いモードでの動作を制御する回路である。
【０１０９】
次に，図１３を参照しながら，第２の実施の形態にかかる分周クロック制御回路３４について説明する。図１３は，第２の実施の形態にかかる分周クロック制御回路を示すブロック図である。
【０１１０】
分周選択信号ＣＴＳＥＬは，状態遷移回路３０６へ入力されて，状態遷移回路３０６によって，２分周クロック，４分周クロックまたは８分周クロックの各分周クロックが生成される。
【０１１１】
本実施形態では，最も遅いクロックである８分周クロックＤＩＶ８ＣＬＫは，フリップフロップＤＶＦＦの入力クロックとなり，クロック分周設定信号ＤＳＥＬの値を保持する。
【０１１２】
判定回路３２５は，フリップフロップＤＶＦＦの値が，２ビットとも００（２’ｂ００）でないときは，“１”と判定して，２ビットとも００（２’ｂ００）の時は，“０”と判定する。
【０１１３】
分周判定信号ＤＩＶＳＥＬは，第１の実施の形態で説明したＤＳＦＦ４の判定回路３０８または判定回路３２５のどちらかを分周選択信号ＣＴＳＥＬに従って，セレクタ３０５の値を選択した結果が，分周判定信号ＤＩＶＳＥＬとなる。
【０１１４】
セレクタ３０４は，分周判定信号ＤＩＶＳＥＬの値に従って，オリジナルクロックＯＲＧＣＬＫまたは分周クロックＤＩＶＣＬＫのどちらかを選択して制御基本クロックＢＣＬＫを出力する。
【０１１５】
次に，図１４を参照しながら，第２の実施の形態にかかる状態遷移回路３０６について説明をする。図１４は，第２の実施の形態にかかる状態遷移回路３０６を示すブロック図である。
【０１１６】
図１４に示すように，状態遷移回路３０６は，状態決定回路３３６と，インバータ３３８と，Ｄカウンタ３４０と，判定回路３４１と，分周クロックＤＩＶＣＬＫを出力するセレクタ３４２と，インバータ３４４と，状態遷移回路３０６へ出力するセレクタ３６０とから構成される。
【０１１７】
セレクタ３６０は，分周選択信号ＣＴＳＥＬの値が“１”（最も遅いモード）のとき，“１１”（２’ｂ１１）を選択して，“０”（高速モード）のとき設定信号フリップフロップＤＳＦＦ３を選択する。
【０１１８】
セレクタ３４２は，Ｄカウンタ３４０の４ビットのカウント値は，８分周クロックを生成するＤＣＮＴ０（ビット０）の値と，４分周クロックを生成するＤＣＮＴ２（ビット２）の値と，最後に，２分周クロックを生成するＤＣＮＴ３（ビット３）とから構成されて，セレクタ３４２は，判定回路３４１で判定された結果に応じて，分周選択信号ＣＴＳＥＬが１のときフリップフロップＤＶＦＦの値を選択して，分周選択信号ＣＴＳＥＬが０のときＤＣＮＴ０を選択する。
【０１１９】
次に，図１２を参照しながら，第２の実施の形態にかかる状態遷移回路３０６の動作概略を説明する。
【０１２０】
分周選択信号ＣＴＳＥＬが“０”（高速モード）のときは，第１の実施の形態で説明したが，分周選択信号ＣＴＳＥＬが“１”（最も遅いモード）の時，セレクタ３６０は，入力値“１１”（２’ｂ１１）を選択する。したがって，常に８分周クロックが選択されている状態となり，状態決定回路３３６は８分周遷移する。
【０１２１】
また，切替有効信号ＣＨＧ＿ＧＯについても，分周選択信号ＣＴＳＥＬが“１”の時はネゲートされて切替有効信号ＣＨＧ＿ＧＯは有効とならない。したがって，クロックがハイレベルまたはローレベルの状態を保持されず，常に８分周クロックで動作する。
【０１２２】
図１０で示すように，Ｄカウンタの，ビット３であるＤＣＮＴ３は，常に２分周クロックで動作して，ビット２であるＤＣＮＴ２は，４分周クロックで動作して，ビット０であるＤＣＮＴ０は８分周クロックで動作する。
【０１２３】
各分周クロックは，分周選択信号ＣＴＳＥＬの値に従って，セレクタ３４２によって選択されて分周クロックＤＩＶＣＬＫとして出力される。また，Ｄカウンタのビット３であるＤＣＮＴ０は，８分周クロックＤＩＶ８ＣＬＫとしてフリップフロップＤＶＦＦのサンプルクロックとしても使用される。
【０１２４】
また，Ｄカウンタのビット１であるＤＣＮＴ１は，１６分周クロックであり，半導体集積回路３１に所定の必要な回路を付加すれば，１６分周クロックを用いて実施することも可能である。
【０１２５】
第１の実施の形態では，クロックデューティがクロック切替え時に大きくくずれる可能性があり，そのデューティが回路を使用する使用者として問題となる場合，第１の実施の形態で用いた半導体集積回路１に，フリップフロップＤＶＦＦ，セレクタ３０５，セレクタ３６０，セレクタ３４２と，外部端子である分周選択信号ＣＴＳＥＬを付加して，８分周クロックを分周選択信号ＣＴＳＥＬにより選択することにより，半導体集積回路１での使用が可能となる。
【０１２６】
以上，添付図面を参照しながら本発明の好適な実施形態について説明したが，本発明はかかる例に限定されない。当業者であれば，特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例を想定し得ることは明らかであり，それらについても当然に本発明の技術的範囲に属するものと了解される。
【０１２７】
上記実施形態においては，分周クロックを１，２，４または８分周クロックの場合を例にあげて説明したが，分周クロックであれば，本発明はかかる例に限定されない。例えば，３２分周クロックなどの分周クロックでも実施することができる。
【０１２８】
また上記実施形態においては，クロック切替信号ＣＨＧＳＴＢはクロック分周設定信号ＤＳＥＬが設定後の次サイクルで発信される場合を例にあげて説明したが，本発明はかかる例に限定されず，クロック分周設定信号ＤＳＥＬが設定後の次サイクル以内であってもクロック切替信号ＣＨＧＳＴＢを発信しても実施することができる。
【０１２９】
また上記実施形態においては，クロック切替ストローブとして，クロック切替信号ＣＨＧＳＴＢを設ける場合を例にあげて説明したが，半導体集積回路１の回路設計上でマスタクロックＭＣＬＫの１サイクル以内で，クロック制御回路内のセットアップ／ホールドを全て満たすことが可能であれば，本発明はかかる例に限定されず，クロック切替信号ＣＨＧＳＴＢを設ける必要がなくなり，より早い高速切替えを実施することができる。
【０１３０】
【発明の効果】
以上説明したように，本発明によれば，半導体集積回路において，低い周波数から高速動作要求が発生した場合に，すぐ高い周波数に切替り処理動作を実行することができるため，高速動作要求が発生しない通常時においては，低い周波数に極力抑えることができる。
【図面の簡単な説明】
【図１】第１の実施形態にかかる半導体集積回路の構成を示すブロック図である。
【図２】第１の実施の形態にかかる分周クロック制御回路の構成を示すブロック図である。
【図３】第１の実施の形態にかかる切替タイミング生成回路の構成について示す分周クロック制御回路のブロック図の部分図である。
【図４】第１の実施の形態にかかる選択切替回路の構成について示す分周クロック制御回路のブロック図の部分図である。
【図５】第１の実施の形態にかかる状態遷移回路の構成について示す分周クロック制御回路のブロック図の部分図である。
【図６】状態決定回路における２分周クロック設定時からのクロック切替の遷移を示す遷移図である。
【図７】２分周クロックから１分周クロックに切替わる動作を示すタイミング図である。
【図８】状態決定回路における４分周クロック設定時からのクロック切替の遷移を示す遷移図である。
【図９】４分周クロックから１分周クロックに切替わる動作を示すタイミング図である。
【図１０】状態決定回路における８分周クロック設定時からのクロック切替の遷移を示す遷移図である。
【図１１】８分周クロックから１分周クロックに切替わる動作を示すタイミング図である。
【図１２】第２の実施の形態にかかる半導体集積回路の構成を示すブロック図である。
【図１３】第２の実施の形態にかかる分周クロック制御回路の構成を示すブロック図である。
【図１４】第２の実施の形態にかかる状態遷移回路の構成を示すブロック図である。
【図１５】従来における半導体集積回路の構成について示すブロック図である。
【図１６】従来における状態遷移回路の構成について示すブロック図である。
【符号の説明】
１            ：半導体集積回路
２            ：クロック制御回路
４            ：分周クロック制御回路
６            ：マイクロコントローラ
７            ：レジスタ
８            ：クロック生成制御回路
１０          ：ＣＰＵ
１２          ：Ｉ／Ｏ
１４          ：内部バス
３１          ：半導体集積回路
３２          ：クロック制御回路
３４          ：分周クロック制御回路
３６          ：マイクロコントローラ
３７          ：レジスタ
３８          ：クロック生成制御回路
４０          ：ＣＰＵ
４２          ：Ｉ／Ｏ
４４          ：内部バス
２０２        ：ＯＲ回路
２０４        ：セレクタ
２０６        ：状態遷移回路
２０８        ：判定回路
２１０        ：ラッチ回路
２１２        ：設定信号
２２０        ：判定回路
２３２        ：微分回路
２３４        ：ＡＮＤ回路
２３６        ：状態決定回路
２３８        ：インバータ
２４０        ：Ｄカウンタ
３０４        ：セレクタ
３０５        ：セレクタ
３０６        ：状態遷移回路
３０８        ：判定回路
３１０        ：ラッチ回路
３１１        ：ＯＲ回路
３２０        ：判定回路
３２５        ：判定回路
３３２        ：微分回路
３３４        ：ＡＮＤ回路
３３６        ：状態決定回路
３３８        ：インバータ
３４０        ：Ｄカウンタ
３４１        ：判定回路
３４２        ：セレクタ
３４４        ：インバータ
３６０        ：セレクタ
ＭＣＬＫ      ：マスタクロック
ＢＣＬＫ      ：制御基本クロック
ＤＳＥＬ      ：クロック分周設定信号
ＣＨＧＳＴＢ  ：クロック切替信号
ＣＨＧ＿ＧＯ  ：切替有効信号
ＤＩＶＣＬＫ  ：分周クロック
ＯＲＧＣＬＫ  ：オリジナルクロック
ＤＩＶＳＥＬ  ：分周判定信号
ＤＩＶ８ＣＬＫ：８分周クロック
ＤＶＦＦ      ：フリップフロップ
ＤＳＦＦ      ：設定信号フリップフロップ
ＣＨＦＦ      ：切替信号フリップフロップ
ＣＴＳＥＬ    ：分周選択信号
【図１】
0003995142.tif 000002
【図２】
0003995142.tif 000003
【図３】
0003995142.tif 000004
【図４】
0003995142.tif 000005
【図５】
0003995142.tif 000006
【図６】
0003995142.tif 000007
【図７】
0003995142.tif 000008
【図８】
0003995142.tif 000009
【図９】
0003995142.tif 000010
【図１０】
0003995142.tif 000011
【図１１】
0003995142.tif 000012
【図１２】
0003995142.tif 000013
【図１３】
0003995142.tif 000014
【図１４】
0003995142.tif 000015
【図１５】
0003995142.tif 000016
【図１６】
0003995142.tif 000017